npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@advocu/cdk

v20.1.0

Published

Components development kit for advocu organization

Readme

@advocu/cdk

Components development kit for advocu organization

Documentation

Running unit tests

Run nx test cdk to execute the unit tests.

Advocu CDK Changelog

20.1.0

  • pipes

    • AdvSafeNullPipe changed to be generic
    • AdvOrderByPipe sort keys are now optional
  • types

    • added permissions: EDIT_BADGE_PATH, VIEW_OWN_BADGE, VIEW_OWN_BADGE_PATH
  • components

    • AdvApplicationsList now accepts --advocu-applications-list-element-height as variable for element height

BREAKING CHANGES

  • components

    • AdvApplicationsList no longer has wrapping div with class additional-info around userMetaAdditionalData input template

20.0.0

  • testing

    • added routerLink chai assertion

BREAKING CHANGES

  • Upgrade Angular to 20.x version, ref https://update.angular.io/.

  • Upgrade ng-zorro to 20.x version, ref https://ng.ant.design/docs/changelog/en#20-0-0

  • directives

    • renamed AdvQueryParamsTabsetDirective to AdvQueryParamsTabsDirective, selector [advocuQueryParamsTabset] to [advocuQueryParamsTabs]

19.1.0

  • components

    • added hideCommentator and submitLoading to AdvInputCommentComponent
    • added AdvCommentsTreeCommentComponent and AdvCommentsTreeReplyComponent
    • allow to scroll into comment on reply in AdvCommentsTreeComponent
    • added disabeld input to AdvSelectWithLoadingComponent
    • added disabled input to AdvTreeSelectWithLoadingComponent
    • added AdvInfoCardComponent
    • added AdvInputActionCardComponent
    • added AdvListMenuComponent
    • added AdvEngagementCarouselComponent
    • removed margin from AdvTagsListComponent
    • added AdvTimeSeriesLineChartComponent
    • added AdvFilterSwitchComponent
    • added AdvEngagementTilesComponent
    • added descriptionTmpl and --adv-summary-tile-header-margin-bottom to AdvSummaryTileComponent
    • added --adv-title-header-icon-color to AdvTitleHeaderComponent
    • added AdvMessagingStatsTable component
  • pipes

    • added AdvFindBySlugPipe
    • added AdvListToTagsPipe
  • skeletons

    • changed default value of numberOfComments for AdvCommentsSkeletonComponent to 2
  • store

    • added appendPermission to AdvMockAuthProfile
    • added support for notAllowedPermissions within advAuthGuardCanActivateFn
  • styles

    • gradients use start/end variables which can be used independently:
      • --adv-blue-gradient-start: #5462fb
      • --adv-blue-gradient-end: #549ffb
      • --adv-green-gradient-start: #00d693
      • --adv-green-gradient-end: #56abcb
      • --adv-pink-gradient-start: #ff949d
      • --adv-pink-gradient-end: #fe448c
      • --adv-violet-gradient-start: #9743d6
      • --adv-violet-gradient-end: #51509c
      • --adv-orange-gradient-start: #ffca71
      • --adv-orange-gradient-end: #ff655e
    • adjusted adv-cyan color palette
  • testing

    • added advActivatedRouteMock
  • tools

    • changed mention icon for AdvQuillEmojiMartModule
  • types

    • added AdvActivityCommentWithReplies
    • added AdvCadence and ADV_CADENCE_OPTIONS
    • added ADV_INACTIVE_ACCOUNT_EMAIL
    • added permissions: GENERATE_AI_ACTIVITY_SUMMARY, EDIT_BADGE
  • utils

    • added advIconMock for mocking custom svg icons in providers
    • added support for boolean query param filter. Use AdvFilterSwitch

BREAKING CHANGES

  • Keycloak has been rewritten to function based approach. Please update your keycloak config to provideKeycloak approach, check docs/auth.md for details

  • animations

    • removed advSlideOutManuallyAnimation. Use advSlideOutAnimation instead
  • components

    • AdvInputCommentComponent field mentionableUsers accepts AdvMentionUser[] instead of AdvCommentator[]
    • AdvCommentsComponent field mentionableUsers accepts AdvMentionUser[] instead of AdvCommentator[] and renamed submittingEnabled to canSubmitComment
    • Redesigned AdvCommentsTreeComponent. Now it supports loading and pages.
    • AdvFiltersComponent no longer shows "Filter by" button if there are no custom filters provided
  • styles

    • AdvJsonFormsSummaryComponent style variables now are prefixed with adv-jsonforms-summary- so instead of --icon-font-size use --adv-jsonforms-summary-icon-font-size
  • types

    • removed activityId from AdvCommentWithReplies. Use AdvActivityCommentWithReplies instead
    • updated slug and slugTitle to be mandatory in AdvActivityMeta. Removed slug and slugTitle fields for AdvActivity
  • utils

    • Rewritten Injectable interceptor AdvTimezoneInterceptor into advTimezoneInterceptorFn function
    • removed AdvKeycloakServiceMock, now use AdvKeycloakMock const
    • removed importProvidersFrom(KeycloakAngularModule) from advAuthStoreProviders
    • removed advResponseHandlerProviders, now use AdvResponseHandlerService directly

19.0.0

Bugfixes

  • components

    • style adjustments for AdvInputCommentComponent
    • removed unneccesary line in AdvCommentsTreeComponent for comment element

BREAKING CHANGES

  • Upgrade Angular to 19.x version, ref https://update.angular.io/.

  • Upgrade NGRX to 19.x version, ref https://next.ngrx.io/guide/migration/v19

  • Upgrade ng-zorro to 19.x version, ref https://ng.ant.design/docs/changelog/en#19-0-0

  • components

    • AdvFilterDropdownComponent is based on the nz-checkbox-group component for now. The options property expects NzCheckboxOption[], and the selectionChange event has been replaced with the selection model signal
  • types

    • added mandatory field alreadyCommented to AdvActivity

18.1.0

  • utils

    • added advToInputSignalWithTransform and advToModelSignal helper methods for component testing
  • types

    • added UPVOTE_ACTIVITY and VIEW_ACTIVITY_UPVOTES permission

18.0.0

BREAKING CHANGES

  • Upgrade Angular to 18.x version, ref https://update.angular.io/.

  • Upgrade NGRX to 18.x version, ref https://next.ngrx.io/guide/migration/v18

  • Upgrade ng-zorro to 18.x version, ref https://ng.ant.design/docs/changelog/en#18-0-0

  • components

    • comments requires to add advQuillConfigProviders into application config to load mentions
    • AdvChipComponent now emits closed event instead of onClose
  • types

    • renamed MANAGE_OWN_API_TOKEN to MANAGE_PERSONAL_API_TOKEN
    • updated slug and slugTitle to be optional in AdvActivityMeta. Added slug and slugTitle as mandatory fields for AdvActivity

Features

  • components

    • added AdvCommentsTreeComponent
    • added AdvInputCommentComponent
    • added support for flatData to AdvFilterTreeSelectComponent
  • skeletons

    • added AdvCommentsTreeSkeletonComponent
  • types

    • added AdvTreeSelectFilterDataSourceControlConfig with flatData field for AdvFilterTreeSelect
    • added permissions: ADD_ACTIVITY_COMMENT, VIEW_ACTIVITY_COMMENTS, DELETE_OWN_ACTIVITY_COMMENT, EDIT_OWN_ACTIVITY_COMMENT
    • added AdvMentionUser type
    • added AdvActivityComment, AdvActivityCommentReply types
    • added commentsCount to AdvActivity
    • added AdvRGB, AdvRGBA, AdvHEX, AdvLengthUnit types
    • added hasAnyPermissionFrom to AdvAuthProfile
  • utils

    • added AdvQuillEmojiMartModule for setup quill emoji mart
    • added advQuillConfigProviders
    • added viewer profile to AdvMockAuthProfile

17.4.0

Features

  • components

    • added --adv-chip-background, --adv-chip-border-color, --adv-chip-padding and --adv-chip-color to AdvChipComponent
    • added parentScroll to AdvActivitiesListComponent
  • pipes

    • added AdvAppendSubmittedMetricPipe
  • skeletons

    • added AdvLineChartSkeletonComponent
    • added --adv-cards-list-skeleton-background, --adv-cards-list-skeleton-card-background and --adv-cards-list-skeleton-card-border to AdvCardsListSkeletonComponent
    • added numberOfActivities to AdvActivitiesListSkeletonComponent
  • types

    • added permissions: VIEW_DISCORD_USER_STATISTICS, VIEW_USER_REPOSITORY_CONTRIBUTIONS, MANAGE_OWN_API_TOKEN, VIEW_GITHUB_ACTIVITIES
    • added AdvSignalKeys, AdvSignalOnly for selecting signal keys from object
    • added optional field private to AdvActivityFormData
  • utils

    • added advPatchState to use in tests instead of patchState to prevent unprotected state
    • submitChanges and submitChangesHandlerPipe from AdvPageFormHelper accepts any instead of void
    • added unshiftItemToEntities to AdvTransformHelper

BREAKING CHANGES

  • components

    • refactored AdvAvatarGroupComponent. Currently, it renders avatars in a row. Added avatars input, removed initials and url. Added --adv-avatar-group-size and --adv-avatar-group-offset.
    • AdvSummaryTile now displays COMPACT_NUMBER by default, with full value in tooltip
    • AdvSearchBoxComponent now emits value after debounce time and does not require to press enter key to execute search query emit
  • directives

    • removed AdvVirtualScrollerMultipleColumnsDirective
  • types

    • permission VIEW_ACTIVITES splitted into VIEW_ALL_ACTIVITIES and VIEW_OWN_OR_PUBLIC_ACTIVITIES
    • AdvStateLoadingStatus.NOT_LOADED and AdvStateLoadingStatus.EXPIRED merged into AdvStateLoadingStatus.PENDING
    • removed AdvDeepSignal<T>, use directly DeepSignal<T>
    • removed permissions: UPDATE_AVATAR
  • utils

    • removed AdvStateLoadingStatusHelper
    • Sentry again changed packages, so you have to install @sentry/angular package, @sentry/angular-ivy package has been removed

17.3.0

Features

  • components

    • added advocu-error component
    • advocu-tags-list tooltip for displaying all tags now using nz-popover directive
    • advocu-tag-with-color-select allows to preview all tags in popover
    • advocu-title-header, [advocu-title] now allows to add icon into title element and additional content into header (like dropdown or link)
    • added AdvConfirmUnsavedChangesDialogComponent along with advConfirmUnsavedChangesCanDeactivateFn
    • added maxTagCount to AdvTreeSelectWithLoadingComponent. Changed max height for dropdown to 30vh
    • added maxTagCount to AdvSelectWithLoadingComponent. Changed nzShowArrow to true
  • pipes

    • added AdvIsIncludedInPipe pipe
    • adjusted colors for AdvProcessStatusColorPipe
    • added AdvPresetDateFormatterPipe pipe
  • store

    • new global event listener marked with ADV_LOGIN_FAIL_EVENT_KEY key to allow extends loginFail errors
    • signal based AuthStore, see BREAKING CHANGES section for details
    • added urlAfterNavigationEnd and pathAfterNavigationEnd to router store
  • testing

    • added afterClose to create method for AdvModalMock
    • added close to advModalRefMock
    • added withoutPermission to AdvMockAuthProfile
  • utils

    • added reduceListToEntitiesByField method to AdvTransformHelper
    • added replaceEmptyArraysInObject method to AdvTransformHelper
    • added moveByDays method to AdvDateHelper
    • added getDateRangeFromPresetRangeOrSingle method to AdvDateHelper
    • added isToday method to AdvDateHelper
    • added AdvPageFormHelper
  • types

    • added permissions: VIEW_DISCORD_CHANNELS, MANAGE_OWN_EXTERNAL_INTEGRATIONS, MANAGE_SPEAKERS_MATCHING_NOTIFICATION_SETTINGS
    • added AdvPresetRangeOptions type
  • testing

    • added AdvMockQuillEditorComponent

BREAKING CHANGES

  • components

    • AdvApplicationsListComponent supports lazy loading. It requires page input now. Also added pageSize input and nextPage output.
    • FilterDropdownComponent renamed to AdvFilterDropdownComponent
    • UploadComponent renamed to AdvUploadComponent
    • RetentionFunnelComponent renamed to AdvRetentionFunnelComponent
    • added required currentUser and logoutClicked for UserPanelComponent
  • pipes

    • AdvHasAnyPermissionFromPipe is no longer accepts null | undefined
    • AdvHasPermissionPipe is no longer accepts null | undefined
    • EntitiesToArrayPipe renamed to AdvEntitiesToArrayPipe
    • HumanSecondsPipe renamed to AdvHumanSecondsPipe
  • misc

    • @ngrx/effects and @ngrx/store dependencies are no longer needed
    • added @ngrx/operators to handle signal store operations after remove @ngrx/store package
  • testing

    • ModalMock renamed to AdvModalMock
  • tracking

    • breadcrumbHandler renamed to advBreadcrumbHandler
    • SentryErrorHandler renamed to AdvSentryErrorHandler
    • createErrorHandler renamed to advCreateErrorHandler
  • types

    • removed AdvOrderValues
    • KeycloakRealmProfile renamed to AdvKeycloakRealmProfile
    • Document renamed to AdvDocument
    • Collection renamed to AdvCollection
    • UserCollection renamed to AdvUserCollection
    • Commentator renamed to AdvCommentator
    • CommentData renamed to AdvCommentData
    • CommentDto renamed to AdvCommentDto
    • OptionalDateRange renamed to AdvOptionalDateRange
    • RequiredDateRange renamed to AdvRequiredDateRange
    • UTCDateString renamed to AdvUTCDateString
    • LocalDateString renamed to AdvLocalDateString
    • ISODate renamed to AdvISODate
    • RequiredIsoDateRange renamed to AdvRequiredIsoDateRange
    • Many renamed to AdvMany
    • HTMLString renamed to AdvHTMLString
    • NonFunctionProperties renamed to AdvNonFunctionProperties
    • WritablePart renamed to AdvWritablePart
    • WritableNonFunctionPart renamed to AdvWritableNonFunctionPart
    • TableState renamed to AdvTableState
    • SortState renamed to AdvSortState
    • Pagination renamed to AdvPagination
    • PageResponse renamed to AdvPageResponse
    • SortDirection renamed to AdvSortDirection
    • PersonalData renamed to AdvPersonalData
    • UserData renamed to AdvUserData
    • StepRetention renamed to AdvStepRetention
    • Metric renamed to AdvMetric
    • RequiredFields renamed to AdvRequiredFields
    • ResponseHandlerErrorConfig renamed to AdvResponseHandlerErrorConfig
    • RxMethodInput renamed to AdvRxMethodInput
    • RxMethod renamed to AdvRxMethod
    • Tag renamed to AdvTag
    • AdvTagWithColor renamed to AdvTagWithColor
    • BarChartItem renamed to AdvBarChartItem
    • changed MANAGE_NOTIFICATION_SETTINGS permission to MANAGE_COMMUNITY_UPDATES_NOTIFICATION_SETTINGS
  • store

    • AuthStore has been replaced to signal based. All actions & Effects are no longer supported, Migration guide:
    • KeycloakServiceMock renamed to AdvKeycloakServiceMock
  • utils

    • responseHandlerTestProvider renamed to advResponseHandlerTestProvider
  • visualization

    • barChartMock is not in public API anymore
1. Remove ngrx store and effects declaration and imports
2. Instead of dispatching action use with methods `login()`, `logout()`, `updateProfile(profile: AdvAuthProfile)`, `reloadProfile()`
3. Repleca Auth config key with enum based `ADV_AUTH_CONFIG`

17.2.0

Bugfixes

  • components

    • fix displaying selected order option for AdvFiltersComponent
    • fix setting order value for AdvFiltersComponent

Features

  • animations

    • added advSlideInAnimation animation for entering element
    • added advSlideOutManuallyAnimation animation for handling hiding welcome screen like element
  • directives

    • added AdvVirtualScrollerMultipleColumnsDirective with fix for virtual scroller with multiple columns and unequal children
    • added AdvQueryParamsTabsetDirective for synchronisation nzTabset with query params
    • added AdvRestoreSortOrderDirective for restoring the sort order for nz-zorro th column
  • styles

    • added --adv-font-weight-bold: 500; and --adv-font-weight-normal: 400; css variables
    • added $padding and $borderRadius optional params to display.container-white-padding mixin
  • types

    • added permissions: DELETE_ANY_EVENT, DELETE_MY_EVENT, EDIT_ACTIVITY_CONFIGURATION, EDIT_APPLICATION_TAGS, EDIT_ANY_EVENT, EDIT_ANY_EVENT_CALL_FOR_PAPERS, EDIT_MY_EVENT, MANAGE_INTERVIEWERS, VIEW_APPLICATIONS_FOR_INTERVIEW, MANAGE_NOTIFICATION_SETTINGS, VIEW_SETTINGS, SUBMIT_APPLICATION_FORM_BY_EXISTING_USER, CANNOT_SUBMIT_APPLICATION_FORM, MANAGE_EXTERNAL_INTEGRATIONS
    • added generic activity types: AdvActivityMeta, AdvActivityFormData, AdvActivity, AdvActivityDraft
    • added signal related types: RxMethodInput<T>, RxMethod<T>
    • added deep signal import from ngrx AdvDeepSignal<T> from ngrx DeepSignal
    • changed TagWithColor to extend Tag
    • added CommentDto
    • added AdvSelectOptionDisplayMode
    • added optional fields icon, color, displayMode to AdvSelectOption
    • added AdvFilterBaseControlConfig, AdvFilterDataSourceControlConfig, AdvCustomFilters, AdvFilterSortOption
  • components

    • added --adv-badge-font-family, --adv-badge-font-size and --adv-badge-icon-font-size to AdvBadgeComponent
    • added optional additionalHeaderRightTmpl to AdvSummaryTileComponent
    • added optional additionalHeaderRightTmpl to AdvJsonFormsSummaryComponent
    • added <ng-content> to AdvBadgeComponent
    • added AdvTitleHeaderComponent component
    • added sort input to AdvTableDirective
    • added AdvTabTitleWithCounterComponent component
    • added AdvSelectTagsWithLoadingComponent component
    • added AdvTagsListComponent component
    • allow to pass mentions as mentionableUsers in AdvCommentsComponent
    • removed expandedElement from AdvApplicationsListComponent
    • added highlightedCommentIndex from AdvCommentsComponent
    • added totalResults and totalResultsLoading to AdvFiltersComponent
    • added AdvChipComponent
    • added AdvFilterControlLabelComponent, AdvFilterDateRangeComponent, AdvFilterSelectComponent and AdvFilterTreeSelectComponent
  • pipes

    • added AdvTimeAgo pipe
  • skeletons

    • added AdvAppsListSkeletonComponent
    • added optional skeletonContent to AdvActivitiesListComponent
  • utils

    • added extractRouteParams, mapArrayToParam and getIntegerFromParams methods to AdvRouterHelper
    • added advToInputSignal and advToModelSignal helper methods for component testing
    • added removeObjectFromList method to AdvTransformHelper
    • added AdvFiltersHelper with synchronizations methods and change detection
    • added advRxMethodMock for mocking rxMethod from signal store
    • added advCreateSignalStoreMock helper
    • added advToDeepSignal helper that converts Object to deep signal
    • added TimezoneInterceptor for adding X-TIMEZONE header
  • misc

    • added ngx-quill to peer dependency
    • added quill-mention to peer dependency

BREAKING CHANGES

  • components

    • AdvActivitiesListComponent input activities is AdvActivity type
    • removed AdvStickyButtonComponent component
    • changed AdvFiltersComponent default behaviour, currently the logic is based on new AdvFilters which are synchronized with query params.
    • redesigned AdvFiltersComponent. Now uses drawer to display filters.
    • removed filtersOpened mechanism for AdvFiltersComponent
    • removed AdvRoutingSearchBoxComponent, use AdvFiltersComponent instead
    • AdvTableDirective requires signals inputs
    • AdvCommentsComponent emits comment: string, mentionedUsers: Commentator[] instead of comment: string after submit
    • AdvApplicationsListComponent event name changed elementExpandClick to expandedElementId and return type to string | null
    • expandedElementId is now model in AdvApplicationsListComponent use expandedElementIdChange for event handling
    • AdvTagsWithColorSelect allows to select multiple tags without closing. Added addNewTagsButtonClicked, showAddNewTagsLink and maxTagsVisibleCount inputs.
  • types

    • removed permissions: EDIT_MANAGER, INITIALIZE_MEMBER
    • removed AdvComponentStoreProperties type
    • removed types from AdvUrlParamName which were not used within cdk or are not generic
    • removed filtersOpened from AdvUrlParamName
    • changed order to sort for AdvUrlParamName
    • renamed AdvFilterOrder to AdvFilterSort
    • Commentator type now requires first and last name
    • changed communityRoles.roleAttributes type for UserCollection
    • changed type for field label to string for AdvSelectOption
    • changed control fields for AdvFilterSelect, AdvFilterTreeSelect and AdvFilterDateRange. Now they are wrapped with controlConfig
  • store

    • @ngrx/router-store has been replaced with ADV_ROUTER_STORE
    • AdvTitleStore has been replaced with ADV_TITLE_STORE. Removed unused prefix, subpageTitle and subpageDescription. Use AdvTitleHeaderComponent instead.
    • store/sentry has been removed. Use tracking/sentry instead
    • removed removeParamsFromUrl method from AdvTranformUtils
    • removed initializeMember action and related effects
    • removed AuthRepository that contains initializeMemberRole
  • testing

    • removed advCdrMock

17.1.0

  • auth

    • added updateProfile action to AuthStore
  • types

    • added permissions: MANAGE_EVENT_ORGANIZER_USERS, UPDATE_AVATAR, VIEW_BEVY_EVENTS, VIEW_MY_EVENTS, VIEW_OWN_REPOSITORY_STATISTICS, VIEW_ALL_SPEAKER_INVITATIONS, VIEW_MY_EVENT_SPEAKER_INVITATIONS, VIEW_OWN_SPEAKER_INVITATIONS, REVIEW_OWN_SPEAKER_INVITATION
    • added featureRolesNames method to AdvAuthProfile
    • added communityRoles.featureRoles to UserCollection
    • added featureRoles to AdvCommunityAuthData
    • added LocalDateString alias type
    • added cfpStatus, sessionTypes, audienceLevel to AdvUrlParamName
    • added FLAT_LIST, HTML to AdvPreviewSchemaDisplayType
  • components

    • added featureRoleColors required field to AdvUserPanelComponent
    • added AdvBadgeComponent
    • added No tags to assign information to AdvTagWithColorSelectComponent
    • added filtersApplied event emitter to AdvFiltersComponent
    • added headerTmpl and uppercaseFirstMetricLetter optional fields to AdvSummaryTileComponent
    • added loading optional field to AdvSummaryTileComponent
    • added html optional field to AdvSneakPeekComponent
    • added maxSizeMb and uploadTextTmpl optional fields to UploadComponent
  • mocks

    • added AdvMockAuthProfile for mocking auth profile in unit tests with withFeatureRole method
    • changed AdvAuthProfileMock to return objects with type AdvMockAuthProfile
    • split AdvPermissionSetsMock into AdvRolePermissionSetsMock and AdvFeatureRolePermissionSetsMock
  • testing

    • added pipe to advAppStoreMock
  • pipes

    • added optional parameter ignoreSpaces to AdvSubstringDotsPipe which allows to break words
    • added advSanitizeHtml pipe for formatting html content
    • AdvArrayToFilterValuePipe now returns labels with first letter uppercase and rest of them lowercase. Underscore characters are replaced with space.
    • advNzTableFilter now accept filtering object with number, boolean and string[] value types
    • added advGoogleAvatarSize pipe that allows to change google avatar size

BREAKING CHANGES

  • types

    • permission VIEW_MEMBER_TAGS renamed to VIEW_USER_TAGS
    • AdvUrlParamName memberTags renamed to userTags
    • AdvUrlParamName type renamed to eventType
    • removed countries from AdvUrlParamName
    • removed pageSizeOptions from TableDirective

17.0.0

BREAKING CHANGES

  • Upgrade Angular to 17.x version, ref https://update.angular.io/.
  • Upgrade NGRX to 17.x version, ref https://next.ngrx.io/guide/migration/v17

16.4.0

IMPORTANT! Requires ng-zorro 17+

  • auth

    • auth.guard.fn now accepts optional parameter onErrorNavigateUrl. If provided, on access denied user will be navigated to this url
  • components

    • added advocu-filters component
    • fixed advocu-search-box clean button that was not working on initial values
    • fixed advocu-retention-funnel to correctly calculate onboarding bar width
    • updated advocu-sneak-peak – removed skeleton text and added "Read less" button
    • added tag-with-color-select component
    • added advocu-select-with-loading component that allows to pass loading status
    • added advocu-tree-select-with-loading component that allows to pass loading status
    • added new url param filtersOpened to AdvFiltersComponent. It can be passed as queryParam, to open filters on a page
    • added new optional contentAlign param AdvNgxMasonryGridComponent
    • use advocu-activities-list selector as scrolling element for virtual scroller
  • pipes

    • added advHasAnyPermissionFromPipe used for checking if user has at least one permission from given array
    • added advCamelCaseToReadable pipe for transforming camel case strings to human-readable format
  • types

    • added permissions: CREATE_SESSION_DRAFT, DELETE_SESSION_DRAFT, EDIT_SESSION_DRAFT, INVITE_SPEAKER, SUBMIT_FEEDBACK_FOR_EVENT, SUBMIT_FEEDBACK_FOR_SPEAKER, VIEW_ALL_FEEDBACKS_FOR_EVENT, VIEW_ALL_FEEDBACKS_FOR_SPEAKER, VIEW_ALL_SESSION_DRAFTS, VIEW_EVENT_DETAILS, VIEW_MY_EVENT_SESSION_PROPOSALS, VIEW_OWN_FEEDBACK_FOR_EVENT, VIEW_OWN_FEEDBACK_FOR_SPEAKER, VIEW_OWN_SESSION_DRAFTS
    • added AdvUrlParamName type
    • added AdvOrderValues type
    • added AdvFilterType type
    • added AdvFilterBase type
    • added AdvFilterSelect type
    • added AdvFilterTreeSelect type
    • added AdvFilterDateRange type
    • added AdvFilters type
    • added AdvJsonFormsSummary type
    • added EXPIRED status to AdvStateLoadingStatus
    • added Document type
    • added Collection type
    • added Collection type
    • added UserCollection type
  • skeletons

    • added AdvFormSkeletonComponent
    • added optional field primary to AdvRowsSkeletonComponent
  • utils

    • added AdvStateLoadingStatusHelper with requiresReload that indicates if we should reload state or not
    • added isBefore and isAfter methods to date-helper
    • added getBooleanFromParams method to router-helper
    • added sentry breadcrumbHandler function from saas core
    • added SentryErrorHandler class from saas core
    • added logErrorToSentry function from saas core
  • mocks

    • added select function to advStoreMock
    • added getCurrentNavigation function to advRouterMock

BREAKING CHANGES

  • components

    • replaced AdvTableSkeletonComponent with AdvRowsSkeletonComponent

    • removed AdvSchemaPreviewComponent

    • removed old AdvSchemaPreviewItemComponent

    • added schemaLoadingStatus required field to AdvActivitiesListComponent

    • added new AdvSchemaPreviewItemComponent, imported from import { AdvSchemaPreviewItemComponent } from '@advocu/cdk/display/schema-preview-item'; which is designed to be used with AdvDisplaySchemaItemsPipe. Example below:

      <advocu-schema-preview-item
          *ngFor="let item of elements | advDisplaySchemaItems : data"
          [element]="item.element"
          [fieldValue]="item.value"
      ></advocu-schema-preview-item>
  • pipes

    • changed import for enum-titlecase.pipe from '@advocu/cdk/pipes/human-underscore-string'; to import { AdvEnumTitleCasePipe } from '@advocu/cdk/pipes/enum-titlecase';
    • added AdvDisplaySchemaItemsPipe. It is designed to be used with new AdvocuSchemaPreviewItemComponent for rendering schema items.
  • mocks

    • all mocks start now with adv prefix, for ex. modalRefMockProvider -> advModalRefMockProvider
    • renamed changeDetectorRefMock to advCdrMock
  • helpers

    • submitLoading is now signal in AdvDialogFormHelper

16.3.0

  • pipes

    • added advNzTableFilter pipe for filtering tables by given nz-table queryParams
    • added advNzTableOrder pipe for ordering tables by given nz-table queryParams
    • added advArrayToFilterValue pipe for transforming arrays into type safe text, value pairs
    • added advProcessStatusColor pipe for receiving status color based on given status
    • added advDisplaySchemaItem which is meant to be used with adv-schema-preview-item to hide empty containers
    • added advHasAnyPermissionFromPipe used for checking if user has at least one permission from given array
    • added advHideRemainingItems which is used to reduce amount of items in array and display how many of them are left
  • types

    • added permissions: REVIEW_SESSION_PROPOSAL, VIEW_ALL_SESSION_PROPOSALS, VIEW_WONSESSION_PROPOSALS
    • added AdvProcessStatus type
  • utils

    • added generic advAppStoreMock for mocking given app state in unit tests
    • Fix AdvResponseHandlerService handleError method that was ignoring the message field from config when the error had the message value

BREAKING CHANGES

  • pipes

    • removed gde from advCommunityUrl pipe

16.2.0

  • components

    • added advocu-upload component
    • added advocu-thumbnail component
    • added advocu-routing-search-box component that will perform routing change event during search
    • added activities-list component
    • added jsonforms-summary component
    • added need-help-button component
  • skeletons

    • added activities-list-skeleton
  • pipes

    • added advDifferenceBy pipe for excluding entries from list
  • display

    • added AdvTableDirection
    • added advocu-anchor-icon
  • types

    • added RequiredFields type
    • updated permission.ts

BREAKING CHANGES

  • components

    • advocu-user-panel now accepts parameter userCommunitySpaces of type AdvCommunitySpaceInfo and does not use AdvCommunityName pipe
  • pipes

    • removed AdvCommunityName pipe
    • removed AdvCase pipe -> introduced AdvEnumTitleCasePipe pipe

16.1.0

  • utils

    • added dialogHelper class: submitFormHandlerPipe handles submitLoading after finalize, close the dialog on success and cdr on error, handleCancel for closing the dialog
  • pipes

    • added advDisplayUserName pipe
    • added advFilterUsers pipe
    • added advOrderBy pipe
  • types

    • Added AdvComponentStoreProperties generic interface for type-check mocking component store
    • Added HTMLString generic interface
    • Added MANAGE_ALL_USERS permission
    • Added TRACK_GITHUB_REPOSITORY permission
    • Added VIEW_TRACKED_GITHUB_REPOSITORIES permission
    • Added Many generic pipe that returns single or read-only list of given type objects
    • Added UserData interface, which extends PersonalData with userId property
  • display

    • Added cards-list-skeleton component
    • Added summary-tiles-skeleton component
  • testing

    • Added modalRefMock which can be imported into unit test without being a provider
    • Added changeDetectionRefMock
    • Added routerMock
    • Added advTitleStoreMock
  • skeletons

    • Added application-form-skeleton component

BREAKING CHANGES

  • utils

    • removed preloader service
    • removed TitleStore
  • components

    • adv-search-box now supports two-way data binding using field searchQuery. This field is also marked as { required: true }
    • renamed link-button directory to anchor-button for AdvAnchorButtonComponent
    • renamed ApplicationsListSkeletonComponent to AdvApplicationsListSkeletonComponent
    • renamed SummaryTilesSkeletonComponent to AdvSummaryTilesSkeletonComponent
  • pipes

    • updated substring-dots pipe, so it no longer breaks words
  • testing

    • all testing mocks can be imported with the following way: import { X } from '@advocu/cdk/testing'
  • sentry

    • narrowed type of logErrorToSentry error – now its HttpErrorResponse | undefined
  • display

    • moved all skeletons from /display to /skeletons directory

16.0.0

  • store

    • add title store using signals

BREAKING CHANGES

  • requires angular version 16 or above, dropped support for angular 15 due to multiple angular breaking changes

  • types

    • OFFBOARD_MEMBER permission removed
    • introduced MANAGE_MEMBER permission

15.1.0

  • auth

    • reverted adding AdvAuthProfileDto, now WritableNonFunctionalPart<AdvAuthProfile> is used as a return type from repository, as parameter for getCommunityAuthDataFromProfile and as a parameter for AdvAuthProfile constructor
    • updated error messages for register and login flow
  • components

    • new adv-bar-chart component in @advocu/cdk/visualization package
    • added clear icon to adv-search-box. It appears when query is written in input. After click it sets query to null and emits null to clear search results
    • new grid layout component with masonry grid layout - demo
    • added anchor-button, which looks like button but its anchor
  • pipes

    • advSaveNull now comes with default value - for replaceStr
  • misc

    • drop support for NG 14
  • types

    • introduced new Tag interface
  • utils

    • added removeItemFromEntities method to transform-helper

15.0.1

  • pipes

    • changed Google Developers Dev Library to Google Dev Library in AdvCommunityNamePipe

15.0.0

  • auth

    • getAuthProfile will send communitySlug as query parameter if exists
    • redirect to 401 if user registers via SSO without /join link
    • extend loginFail action with HttpErrorResponse
    • introduced new interface AdvAuthProfileDto, which is now props parameter for class AdvAuthProfile constructor
    • introduced new action initializeMember
  • pipes

    • 'AdvCommunityUrlPipe' is now required saasSlugUrl property from AdvAuthConfig interface
  • misc

    • add support for NG 16
    • sentry has moved to ivy version

BREAKING CHANGES

  • Change in loginFail action from {error: string} to { customErrorMessage: string; error?: HttpErrorResponse}
  • To use sentry you have to install @sentry/angular-ivy package, @sentry/angular package can be removed
  • Change sentry imports from @sentry/angular to @sentry/angular-ivy
  • getAuthProfile method no longer returns AdvAuthProfile. New interface was introduced – AdvAuthProfileDto
  • getCommunityAuthDataFromProfile now takes AdvAuthProfileDto as a second parameter, instead of instance of AdvAuthProfile class
  • updated fetchProfileAndUpdateLS method. If logged user has permission INITIALIZE_MEMBER it dispatches initializeMember action
  • add saasSlugUrl property to advAuthConfig provider
  • Minimum version of NG and NGRX is 15.0.0, please update. NG 14 support will be dropped in 15.1.0

14.6.2

  • pipes

    • changed Woman Techmakers to Google Women Techmakers and Android Enterprise to Android Enterprise Advocacy

14.16.1

  • pipes

    • reverted change in 14.16.0 from Google Mentoring to Google Mentors

14.16.0

  • components

    • added target="_blank" to social icon in schema-preview-item component
  • pipes

    • added advNzColorToHex" which is used to map colors from NzPresetColor to hardcoded string values
    • updated Woman Tech Makers to Woman Techmakers and Google Mentors to Google Mentoring

14.15.1

  • core

    • fix breaking router selector

14.15.0

Features

  • components

    • Urls per environment in advocu-user-panel.
    • Added email to advocu-user-panel
    • Display all roles in expanded panel
    • Increase size of panel
    • added applications-list-skeleton component

BREAKING CHANGES

  • Add classicSlugUrl to advAuthConfig - needed for advocu-user-panel

14.14.0

Features

  • components

    • added table-skeleton component
    • removed community logo from current workspace in advocu-user-panel

14.13.1

Bugfixes

  • components

    • fix communities type in advocu-user-panel component

14.13.0

Features

  • components

    • added optional property submittingEnabled to comments.component. If set to false, input and button for comment submit won't be visible
    • added new component advocu-user-panel with community switcher
  • pipes

    • added advCommunityName pipe for transforming community slug into full name
    • added advCommunityUrl pipe for transforming community slug into production url
  • types

    • removed unused permission PREVIEW_APPLICATION
    • added permission VIEW_APPLICATION
    • added role VIEWER
    • added readonly currentCommunity property to AdvAuthProfile class
  • auth

    • added advAuthGuardCanActivateFn which can be used instead of deprecated class-based AdvAuthGuard, however compatibility still remains.
  • utils

    • added replaceObjectInList method
  • misc

    • added support for NG 15

14.12.0

BREAKING CHANGES

  • types

    • removed avatar property from AdvApplicationMetadata - moved to PersonalData
  • components

    • removed avatarUrl from user-badge.component - avatar is now part of PersonalData interface

Features

  • types

    • added optional property avatar?: string to interface Commentator and PersonalData
  • components

    • updated comments.component to display commentator avatar if provided
    • added error handling in avatar.component if server responds with 4XX status instead of image

14.11.0

Features

  • components

    • added advocu-divider – simple and lightweight divider, can be used in vertical or horizontal mode
    • added sticky-button – button that can be placed at any given position by defining values such as top, right, bottom, left
  • pipes

    • added safe-null – allows to replace null, undefined or empty string in template with given replace string, for ex: {{field | advSafeNull:"-"}}, field is null, will result in - displayed in template. No more need to {{ field || '-'}} in template, which was evaluated every change detection cycle
    • added substring-dots – extracts substring of given length and adds ... at the end. If string length is shorter than given substring length, initial string is returned without ...
    • added has-permission – checks if user has given permission. Should be used in templates, instead of user.hasPermission()
  • types

    • changed AdvAuthProfile – instead of finding community index on each call to hasPermission, know community index is calculated once in a constructor and assigned to currentCommunityIndex
  • store

    • added sentry module, with custom effects for handling error action. Module contains custom action logErrorToSentry, which takes action name and error as arguments. Effect calls captureMessage method from @sentry/angular

14.10.1

Bug Fixes

  • router: use optional in selectRouterState

14.10.0

Features

  • auth: Add reloadProfile action

  • types:

    • added COMPACT_NUMER_I18N to AdvPreviewSchemaDisplayType for displaying compact numbers with i18n plural. It requires different dictionary than TEXT_I18N – it must not have # in definition. Details below:

      TEXT_I18N:
      { '=0': 'No attendees', '=1': '1 atteendee', other: '# attendees' }
      
      COMPACT_NUMBER_I18N:
      { '=1': 'attendee', other: 'attendees' }
  • components:

    • added handling COMPACT_NUMBER_I18N in schema-preview-item.component
  • pipes:

    • added advCompactNumber pipe for transforming large numbers into human-friendly format, for ex:

      852 -> 852
      1200 -> 1.2k
      450300 -> 450.3k
      1200400 -> 1.2m

Bug Fixes

  • auth: Fix breaking register with SSO when user is already registered in another program

14.9.0

Features

  • auth: allow use open registration using SSO login via advAuthConfig.keycloak.openSSORegistration

BREAKING CHANGES

  • auth:

    • changed token from environment to advAuthConfig

14.8.0

BREAKING CHANGES

  • components:

    • changed name of elementExpanded event emitter in applications-list.component, so know it indicates, when row is collapsed or expanded.
      Now emitting true if row is being expanded, false if being collapsed.
    <advocu-applications-list
    - (elementExpanded)="onElementExpandClick()"
    + (elementExpandClick)="onElementExpandClick($event)"
    ></advocu-applications-list>

14.7.4

Features

  • store: allow to extend store effects and repositories

14.7.2

Bug Fixes

  • Core: Fix missing backwards compatibility imports

14.7.1

Features

  • Changelog: include changelog in library assets

14.7.0

Bug Fixes

  • packages: add missing keycloak packages

Features

  • ngrx: upgraded to standalone api

Added *.providers.ts files using standalone ngrx API in legacy modules. For ex.:

+ import { provideEffects } from '@ngrx/effects';
+ import { provideState } from '@ngrx/store';
+
+ import { TitleEffects } from '@advocu/cdk/store/title/title.effects';
+ import { titleReducer } from '@advocu/cdk/store/title/title.reducer';
+
+ export const advTitleStoreProviders = [provideState('title', titleReducer), provideEffects([TitleEffects])];

Backward compatibility remains. It is possible to import provider or @NgModule depending on need.

14.6.0

BREAKING CHANGES

  • Error Handler: change config #2zj37nn
- handleError('Could not fetch applications statistics overview');
+ handleError({ message: 'Could not fetch applications statistics overview' });