@theseam/ui-common 0.4.8 → 0.4.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/datatable/datatable-action-menu/datatable-action-menu.component.d.ts +7 -2
  2. package/datatable/datatable-action-menu-item/datatable-action-menu-item.component.d.ts +3 -1
  3. package/esm2020/datatable/datatable-action-menu/datatable-action-menu.component.mjs +17 -5
  4. package/esm2020/datatable/datatable-action-menu-item/datatable-action-menu-item.component.mjs +4 -2
  5. package/esm2020/datatable/datatable-column-preferences-button/datatable-column-preferences-button.component.mjs +1 -1
  6. package/esm2020/datatable/datatable-export-button/datatable-export-button.component.mjs +1 -1
  7. package/esm2020/datatable-dynamic/datatable-dynamic-action-menu/datatable-dynamic-action-menu.component.mjs +1 -1
  8. package/esm2020/framework/dashboard/dashboard-widgets/dashboard-widgets.component.mjs +2 -1
  9. package/esm2020/framework/dashboard/dashboard-widgets/dashboard-widgets.service.mjs +9 -6
  10. package/esm2020/framework/schema-form-controls/schema-form-submit-split/schema-form-submit-split.component.mjs +1 -1
  11. package/esm2020/framework/top-bar/top-bar.component.mjs +1 -1
  12. package/esm2020/menu/menu-toggle.directive.mjs +16 -4
  13. package/esm2020/services/preferences/preferences-record.mjs +5 -7
  14. package/esm2020/story-helpers/story-preferences-accessor.service.mjs +2 -2
  15. package/fesm2015/theseam-ui-common-datatable-dynamic.mjs +1 -1
  16. package/fesm2015/theseam-ui-common-datatable-dynamic.mjs.map +1 -1
  17. package/fesm2015/theseam-ui-common-datatable.mjs +21 -10
  18. package/fesm2015/theseam-ui-common-datatable.mjs.map +1 -1
  19. package/fesm2015/theseam-ui-common-framework.mjs +11 -7
  20. package/fesm2015/theseam-ui-common-framework.mjs.map +1 -1
  21. package/fesm2015/theseam-ui-common-menu.mjs +15 -4
  22. package/fesm2015/theseam-ui-common-menu.mjs.map +1 -1
  23. package/fesm2015/theseam-ui-common-services.mjs +4 -6
  24. package/fesm2015/theseam-ui-common-services.mjs.map +1 -1
  25. package/fesm2015/theseam-ui-common-story-helpers.mjs +1 -1
  26. package/fesm2015/theseam-ui-common-story-helpers.mjs.map +1 -1
  27. package/fesm2020/theseam-ui-common-datatable-dynamic.mjs +1 -1
  28. package/fesm2020/theseam-ui-common-datatable-dynamic.mjs.map +1 -1
  29. package/fesm2020/theseam-ui-common-datatable.mjs +20 -9
  30. package/fesm2020/theseam-ui-common-datatable.mjs.map +1 -1
  31. package/fesm2020/theseam-ui-common-framework.mjs +11 -7
  32. package/fesm2020/theseam-ui-common-framework.mjs.map +1 -1
  33. package/fesm2020/theseam-ui-common-menu.mjs +15 -4
  34. package/fesm2020/theseam-ui-common-menu.mjs.map +1 -1
  35. package/fesm2020/theseam-ui-common-services.mjs +4 -6
  36. package/fesm2020/theseam-ui-common-services.mjs.map +1 -1
  37. package/fesm2020/theseam-ui-common-story-helpers.mjs +1 -1
  38. package/fesm2020/theseam-ui-common-story-helpers.mjs.map +1 -1
  39. package/menu/menu-toggle.directive.d.ts +4 -1
  40. package/package.json +1 -1
  41. package/story-helpers/story-preferences-accessor.service.d.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"theseam-ui-common-story-helpers.mjs","sources":["../../../projects/ui-common/story-helpers/arg-type-helpers.ts","../../../projects/ui-common/story-helpers/story-empty.component.ts","../../../projects/ui-common/story-helpers/initial-route-factory.ts","../../../projects/ui-common/story-helpers/initial-route.service.ts","../../../projects/ui-common/story-helpers/story-initial-route.ts","../../../projects/ui-common/story-helpers/route-button.ts","../../../projects/ui-common/story-helpers/routes-arg-type.ts","../../../projects/ui-common/story-helpers/story-empty-with-route.component.ts","../../../projects/ui-common/story-helpers/story-modal-container.component.ts","../../../projects/ui-common/story-helpers/story-helper-components.module.ts","../../../projects/ui-common/story-helpers/story-toastr.service.ts","../../../projects/ui-common/story-helpers/on-story-bootstrapped-exec.ts","../../../projects/ui-common/story-helpers/on-story-bootstrapped-trigger.ts","../../../projects/ui-common/story-helpers/story-preferences-accessor.service.ts","../../../projects/ui-common/story-helpers/theseam-ui-common-story-helpers.ts"],"sourcesContent":["// import { ArgType } from '@storybook/addons'\n\nimport { OutlineThemeNames, ThemeNames } from '@theseam/ui-common/models'\n\ndeclare type ArgType = any\n\nexport const themeArgType: ArgType = {\n defaultValue: 'primary',\n control: {\n type: 'select',\n options: ThemeNames\n },\n description: `Theme style.`\n}\n\nexport const themeWithOutlineArgType: ArgType = {\n defaultValue: 'primary',\n control: {\n type: 'select',\n options: [ ...ThemeNames, ...OutlineThemeNames ]\n },\n description: `Theme style.`\n}\n\nexport const sizeArgType: ArgType = {\n defaultValue: undefined,\n control: {\n type: 'select',\n options: [ undefined, 'sm', 'lg' ]\n },\n description: `Size.`\n}\n\nexport const buttonTypeArgType: ArgType = {\n defaultValue: 'button',\n control: {\n type: 'select',\n options: [ 'button', 'submit' ]\n },\n description: `Button type.`\n}\n","import { Component } from '@angular/core'\n\n@Component({ template: `` })\nexport class StoryEmptyComponent { }\n","import { StoryInitialRouteService } from './initial-route.service'\n\nexport function storyInitialRouteFactory(_storyInitialRouteService: StoryInitialRouteService) {\n return () => _storyInitialRouteService.setInitialRoute()\n}\n","import { Injectable, InjectionToken, Injector } from '@angular/core'\nimport { NavigationEnd, Router } from '@angular/router'\nimport { filter, take } from 'rxjs/operators'\n\nexport const STORY_INITIAL_ROUTE_URL = new InjectionToken<any>('STORY_INITIAL_ROUTE_URL')\n\n@Injectable()\nexport class StoryInitialRouteService {\n\n constructor(\n private _injector: Injector\n ) { }\n\n public setInitialRoute() {\n const _router = this._injector.get(Router)\n const url = this._injector.get(STORY_INITIAL_ROUTE_URL)\n if (_router.navigated) {\n _router.navigateByUrl(url)\n } else {\n _router.events.pipe(\n filter(e => e instanceof NavigationEnd),\n take(1)\n )\n .subscribe(() => { _router.navigateByUrl(url) })\n }\n }\n\n}\n","import { APP_INITIALIZER, ModuleWithProviders, NgModule } from '@angular/core'\n\nimport { storyInitialRouteFactory } from './initial-route-factory'\nimport { StoryInitialRouteService, STORY_INITIAL_ROUTE_URL } from './initial-route.service'\n\n@NgModule()\nexport class StoryInitialRouteModule {\n static forRoot(url: string): ModuleWithProviders<StoryInitialRouteModule> {\n return {\n ngModule: StoryInitialRouteModule,\n providers: [\n StoryInitialRouteService,\n {\n provide: APP_INITIALIZER,\n useFactory: storyInitialRouteFactory,\n deps: [ StoryInitialRouteService ],\n multi: true\n },\n { provide: STORY_INITIAL_ROUTE_URL, useValue: url }\n ]\n }\n }\n\n}\n","// import { button } from '@storybook/addon-knobs'\n\n/**\n * Until I find a way to avoid '@storybook/addon-knobs' from interfering with\n * NgZone I can't import it in the knob when built by ng-packagr.\n */\nexport function routeButton(buttonKnob: any, url: string) {\n return buttonKnob(url, () => {\n location.hash = `#${url}`\n return false\n })\n}\n","// import { ArgType } from '@storybook/addons'\n\ndeclare const __STORYBOOK_ADDONS: any\n\nfunction goToHashUrl(url: string): void { location.hash = `#${url}` }\n\n// __STORYBOOK_ADDONS.getChannel().on('custom/go-to-hash', (data: { hash: string }) => {\n\n// goToHashUrl(data.hash)\n// })\n\n// __STORYBOOK_ADDONS.getChannel().on('storyArgsUpdated', (data: { hash: string }) => {\n// console.log('storyArgsUpdated')\n// })\n\nexport function routesArgType(routes: string[])/*: ArgType*/ {\n return {\n options: routes,\n control: {\n type: 'select',\n // Runs in the 'manager', so I am emitting to a channel in the 'preview'.\n onChange: (e: any, a: any) => { __STORYBOOK_ADDONS.getChannel().emit('custom/go-to-hash', { hash: e }); return e }\n }\n }\n}\n","import { Component } from '@angular/core'\n\n@Component({ template: `<router-outlet></router-outlet>` })\nexport class StoryEmptyWithRouteComponent { }\n","import { Component, Injector, Input, OnDestroy } from '@angular/core'\nimport { combineLatest, Observable, of, ReplaySubject, Subject } from 'rxjs'\nimport { auditTime, map, startWith, takeUntil } from 'rxjs/operators'\n\nimport { ModalConfig, ModalRef, MODAL_DATA } from '@theseam/ui-common/modal'\nimport type { ComponentType } from '@theseam/ui-common/models'\n\nclass FakeModalRef<T, R = any> implements Partial<ModalRef<T, R>> {\n\n afterOpened() { return of(undefined) }\n\n close(dialogResult?: R): void { }\n\n}\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'story-modal-container-component',\n template: `\n <div class=\"cdk-overlay-container\">\n <div class=\"cdk-overlay-backdrop cdk-overlay-dark-backdrop cdk-overlay-backdrop-showing\"></div>\n <div class=\"cdk-global-overlay-wrapper\"\n dir=\"ltr\"\n style=\"justify-content: flex-start; align-items: center; pointer-events: auto\"\n seamOverlayScrollbar>\n <div class=\"seam-modal-container modal-dialog modal-dialog-centered {{ modalConfig ? modalConfig.modalSize : 'modal-lg' }}\"\n tabindex=\"-1\"\n [class.modal-lg]=\"!modalConfig\">\n <div class=\"modal-content\">\n <ng-container *ngIf=\"_outletData$ | async as outletData\">\n <ng-container *ngComponentOutlet=\"outletData.component; injector: outletData.injector;\"></ng-container>\n </ng-container>\n </div>\n </div>\n </div>\n </div>\n `,\n styles: [`\n .seam-modal-container[tabindex=\"-1\"]:focus {\n outline: 0 !important;\n }\n `]\n})\nexport class StoryModalContainerComponent<T, D = any> implements OnDestroy {\n\n private readonly _ngUnsubscribe = new Subject<void>()\n\n @Input() set component(c: ComponentType<T>) { this._component.next(c) }\n @Input() set data(d: D) { this._data.next(d) }\n\n @Input() modalConfig?: ModalConfig<D>\n\n _component = new ReplaySubject<ComponentType<T>>(1)\n _data = new ReplaySubject<D>(1)\n\n _outletData$: Observable<{ component: ComponentType<T>, injector: Injector } | null>\n\n constructor(\n private _injector: Injector\n ) {\n this._outletData$ = combineLatest([\n this._component.asObservable(),\n this._data.asObservable().pipe(startWith(undefined))\n ]).pipe(\n auditTime(0),\n map(([ component, data ]) => ({\n component,\n injector: this._createInjector(data)\n })),\n takeUntil(this._ngUnsubscribe)\n )\n }\n\n ngOnDestroy() {\n this._ngUnsubscribe.next(undefined)\n this._ngUnsubscribe.complete()\n }\n\n private _createInjector(data?: D): Injector {\n return Injector.create({\n providers: [\n { provide: ModalRef, useClass: FakeModalRef, deps: [] },\n { provide: MODAL_DATA, useValue: data }\n ],\n parent: this._injector\n })\n }\n\n}\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\nimport { RouterModule } from '@angular/router'\n\nimport { TheSeamScrollbarModule } from '@theseam/ui-common/scrollbar'\n\nimport { StoryEmptyWithRouteComponent } from './story-empty-with-route.component'\nimport { StoryEmptyComponent } from './story-empty.component'\nimport { StoryModalContainerComponent } from './story-modal-container.component'\n\n@NgModule({\n declarations: [\n StoryEmptyComponent,\n StoryEmptyWithRouteComponent,\n StoryModalContainerComponent\n ],\n imports: [\n CommonModule,\n RouterModule,\n TheSeamScrollbarModule\n ],\n exports: [\n StoryEmptyComponent,\n StoryEmptyWithRouteComponent,\n StoryModalContainerComponent\n ]\n})\nexport class StoryHelperComponentsModule { }\n","import { Injectable } from '@angular/core'\n\nimport { ActiveToast, GlobalConfig, IndividualConfig, ToastContainerDirective } from 'ngx-toastr'\n\n@Injectable()\nexport class StoryToastrService {\n toastrConfig?: GlobalConfig\n currentlyActive = 0\n toasts: ActiveToast<any>[] = []\n overlayContainer?: ToastContainerDirective\n previousToastMessage: string | undefined\n\n /** show toast */\n show(\n message?: string,\n title?: string,\n override: Partial<IndividualConfig> = {},\n type = ''\n ) { }\n\n /** show successful toast */\n success(\n message?: string,\n title?: string,\n override: Partial<IndividualConfig> = {}\n ) { }\n\n /** show error toast */\n error(\n message?: string,\n title?: string,\n override: Partial<IndividualConfig> = {}\n ) { }\n\n /** show info toast */\n info(\n message?: string,\n title?: string,\n override: Partial<IndividualConfig> = {}\n ) { }\n\n /** show warning toast */\n warning(\n message?: string,\n title?: string,\n override: Partial<IndividualConfig> = {}\n ) { }\n\n /**\n * Remove all or a single toast by id\n */\n clear(toastId?: number) { }\n\n /**\n * Remove and destroy a single toast by id\n */\n remove(toastId: number) { }\n\n /**\n * Determines if toast message is already shown\n */\n findDuplicate(message: string, resetOnDuplicate: boolean, countDuplicates: boolean) { }\n\n}\n","import { APP_BOOTSTRAP_LISTENER, ComponentRef } from '@angular/core'\n// import { STORY } from '@storybook/angular/dist/ts3.9/client/preview/angular/app.token'\n// import { StoryFnAngularReturnType } from '@storybook/angular/dist/ts3.9/client/preview/types'\nimport { Observable } from 'rxjs'\nimport { first } from 'rxjs/operators'\n\n/**\n * Can be used to access a stories component after the story has been bootstrapped.\n *\n * Example:\n * ```ts\n * @Component({\n * selector: 'story-example',\n * template: `Touched: {{ exControl.touched }}`\n * })\n * class StoryExampleComponent {\n * exControl = new FormControl('')\n * }\n *\n * export const TouchExample2 = () => ({\n * moduleMetadata: {\n * declarations: [ StoryExampleComponent ],\n * providers: [ onStoryBootstrappedExec((c: StoryExampleComponent) => c.exControl.markAsTouched()) ]\n * },\n * props: { },\n * component: StoryExampleComponent\n * })\n * ```\n */\n// export function onStoryBootstrappedExec<T = any>(callback: (component: T) => void) {\n// function bootstrapped(componentRef: ComponentRef<any>) {\n// const data = componentRef.instance.target.injector.get(STORY, null) as Observable<StoryFnAngularReturnType> | null\n// if (!data) {\n// console.warn(`STORY provider not found.`)\n// return\n// }\n// data?.pipe(first()).subscribe(story => {\n// if (!story.component) {\n// console.warn(`'onStoryBootstrappedExec' only supported on stories that provide 'component' property.`)\n// return\n// }\n\n// let c = null\n// for (let i = 0; i < componentRef.instance.target.length; i++) {\n// const tmp = componentRef.instance.target._embeddedViews[i].nodes?.find((f: any) => f?.instance instanceof story.component)\n// const comp = tmp?.instance\n// if (comp) {\n// c = comp\n// break\n// }\n// }\n\n// if (!c) {\n// console.warn(`Story component instance not found.`)\n// return\n// }\n\n// if (c) {\n// callback(c)\n// }\n// })\n// }\n\n// return {\n// provide: APP_BOOTSTRAP_LISTENER,\n// useValue: bootstrapped,\n// multi: true\n// }\n// }\n","import { APP_BOOTSTRAP_LISTENER, ComponentRef, ElementRef } from '@angular/core'\n\n// TODO: Consider supporting a target selection function, so that complex\n// selections that can't be expressed by a simple selector can be used.\n\n/**\n * Can be used to trigger an event on a target element when the story component has been bootstrapped.\n *\n * Example:\n * ```\n * export const TouchExample1 = () => ({\n * moduleMetadata: {\n * providers: [ onStoryBootstrappedTrigger('input', 'blur') ]\n * },\n * props: { control: new FormControl('') },\n * template: `\n * <input type=\"text\" [formControl]=\"control\">\n * Touched: {{ control.touched }}\n * `\n * })\n * ```\n */\nexport function onStoryBootstrappedTrigger(targetSelector: string, eventName: string) {\n function bootstrapped(componentRef: ComponentRef<any>) {\n const elementRef = componentRef.injector.get(ElementRef, null)\n const target = elementRef?.nativeElement.querySelector(targetSelector)\n if (!target) {\n // eslint-disable-next-line no-console\n console.warn(`Unable to trigger event '${eventName}'. Target '${targetSelector}' not found.`)\n }\n\n const e = document.createEvent('HTMLEvents')\n e.initEvent('blur', false, true)\n target.dispatchEvent(e)\n }\n\n return {\n provide: APP_BOOTSTRAP_LISTENER,\n useValue: bootstrapped,\n multi: true\n }\n}\n","import { Injectable } from '@angular/core'\r\nimport { TheSeamPreferencesAccessor } from '@theseam/ui-common/services'\r\nimport { Observable, of } from 'rxjs'\r\n\r\nconst ACCESSOR_PREFIX = 'story-pref'\r\n\r\n@Injectable()\r\nexport class StoryPreferencesAccessorService implements TheSeamPreferencesAccessor {\r\n\r\n /**\r\n * Gets a preference.\r\n */\r\n public get(name: string): Observable<string> {\r\n // console.log('get', name)\r\n return of(localStorage.getItem(`${ACCESSOR_PREFIX}-${name}`) || '{}')\r\n }\r\n\r\n /**\r\n * Update a preference.\r\n */\r\n public update(name: string, value: string): Observable<string> {\r\n // console.log('update', name)\r\n localStorage.setItem(`${ACCESSOR_PREFIX}-${name}`, value)\r\n return this.get(name)\r\n }\r\n\r\n /**\r\n * Delete a preference.\r\n */\r\n public delete(name: string): Observable<boolean> {\r\n localStorage.removeItem(`${ACCESSOR_PREFIX}-${name}`)\r\n return of(true)\r\n }\r\n\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":"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"}
1
+ {"version":3,"file":"theseam-ui-common-story-helpers.mjs","sources":["../../../projects/ui-common/story-helpers/arg-type-helpers.ts","../../../projects/ui-common/story-helpers/story-empty.component.ts","../../../projects/ui-common/story-helpers/initial-route-factory.ts","../../../projects/ui-common/story-helpers/initial-route.service.ts","../../../projects/ui-common/story-helpers/story-initial-route.ts","../../../projects/ui-common/story-helpers/route-button.ts","../../../projects/ui-common/story-helpers/routes-arg-type.ts","../../../projects/ui-common/story-helpers/story-empty-with-route.component.ts","../../../projects/ui-common/story-helpers/story-modal-container.component.ts","../../../projects/ui-common/story-helpers/story-helper-components.module.ts","../../../projects/ui-common/story-helpers/story-toastr.service.ts","../../../projects/ui-common/story-helpers/on-story-bootstrapped-exec.ts","../../../projects/ui-common/story-helpers/on-story-bootstrapped-trigger.ts","../../../projects/ui-common/story-helpers/story-preferences-accessor.service.ts","../../../projects/ui-common/story-helpers/theseam-ui-common-story-helpers.ts"],"sourcesContent":["// import { ArgType } from '@storybook/addons'\n\nimport { OutlineThemeNames, ThemeNames } from '@theseam/ui-common/models'\n\ndeclare type ArgType = any\n\nexport const themeArgType: ArgType = {\n defaultValue: 'primary',\n control: {\n type: 'select',\n options: ThemeNames\n },\n description: `Theme style.`\n}\n\nexport const themeWithOutlineArgType: ArgType = {\n defaultValue: 'primary',\n control: {\n type: 'select',\n options: [ ...ThemeNames, ...OutlineThemeNames ]\n },\n description: `Theme style.`\n}\n\nexport const sizeArgType: ArgType = {\n defaultValue: undefined,\n control: {\n type: 'select',\n options: [ undefined, 'sm', 'lg' ]\n },\n description: `Size.`\n}\n\nexport const buttonTypeArgType: ArgType = {\n defaultValue: 'button',\n control: {\n type: 'select',\n options: [ 'button', 'submit' ]\n },\n description: `Button type.`\n}\n","import { Component } from '@angular/core'\n\n@Component({ template: `` })\nexport class StoryEmptyComponent { }\n","import { StoryInitialRouteService } from './initial-route.service'\n\nexport function storyInitialRouteFactory(_storyInitialRouteService: StoryInitialRouteService) {\n return () => _storyInitialRouteService.setInitialRoute()\n}\n","import { Injectable, InjectionToken, Injector } from '@angular/core'\nimport { NavigationEnd, Router } from '@angular/router'\nimport { filter, take } from 'rxjs/operators'\n\nexport const STORY_INITIAL_ROUTE_URL = new InjectionToken<any>('STORY_INITIAL_ROUTE_URL')\n\n@Injectable()\nexport class StoryInitialRouteService {\n\n constructor(\n private _injector: Injector\n ) { }\n\n public setInitialRoute() {\n const _router = this._injector.get(Router)\n const url = this._injector.get(STORY_INITIAL_ROUTE_URL)\n if (_router.navigated) {\n _router.navigateByUrl(url)\n } else {\n _router.events.pipe(\n filter(e => e instanceof NavigationEnd),\n take(1)\n )\n .subscribe(() => { _router.navigateByUrl(url) })\n }\n }\n\n}\n","import { APP_INITIALIZER, ModuleWithProviders, NgModule } from '@angular/core'\n\nimport { storyInitialRouteFactory } from './initial-route-factory'\nimport { StoryInitialRouteService, STORY_INITIAL_ROUTE_URL } from './initial-route.service'\n\n@NgModule()\nexport class StoryInitialRouteModule {\n static forRoot(url: string): ModuleWithProviders<StoryInitialRouteModule> {\n return {\n ngModule: StoryInitialRouteModule,\n providers: [\n StoryInitialRouteService,\n {\n provide: APP_INITIALIZER,\n useFactory: storyInitialRouteFactory,\n deps: [ StoryInitialRouteService ],\n multi: true\n },\n { provide: STORY_INITIAL_ROUTE_URL, useValue: url }\n ]\n }\n }\n\n}\n","// import { button } from '@storybook/addon-knobs'\n\n/**\n * Until I find a way to avoid '@storybook/addon-knobs' from interfering with\n * NgZone I can't import it in the knob when built by ng-packagr.\n */\nexport function routeButton(buttonKnob: any, url: string) {\n return buttonKnob(url, () => {\n location.hash = `#${url}`\n return false\n })\n}\n","// import { ArgType } from '@storybook/addons'\n\ndeclare const __STORYBOOK_ADDONS: any\n\nfunction goToHashUrl(url: string): void { location.hash = `#${url}` }\n\n// __STORYBOOK_ADDONS.getChannel().on('custom/go-to-hash', (data: { hash: string }) => {\n\n// goToHashUrl(data.hash)\n// })\n\n// __STORYBOOK_ADDONS.getChannel().on('storyArgsUpdated', (data: { hash: string }) => {\n// console.log('storyArgsUpdated')\n// })\n\nexport function routesArgType(routes: string[])/*: ArgType*/ {\n return {\n options: routes,\n control: {\n type: 'select',\n // Runs in the 'manager', so I am emitting to a channel in the 'preview'.\n onChange: (e: any, a: any) => { __STORYBOOK_ADDONS.getChannel().emit('custom/go-to-hash', { hash: e }); return e }\n }\n }\n}\n","import { Component } from '@angular/core'\n\n@Component({ template: `<router-outlet></router-outlet>` })\nexport class StoryEmptyWithRouteComponent { }\n","import { Component, Injector, Input, OnDestroy } from '@angular/core'\nimport { combineLatest, Observable, of, ReplaySubject, Subject } from 'rxjs'\nimport { auditTime, map, startWith, takeUntil } from 'rxjs/operators'\n\nimport { ModalConfig, ModalRef, MODAL_DATA } from '@theseam/ui-common/modal'\nimport type { ComponentType } from '@theseam/ui-common/models'\n\nclass FakeModalRef<T, R = any> implements Partial<ModalRef<T, R>> {\n\n afterOpened() { return of(undefined) }\n\n close(dialogResult?: R): void { }\n\n}\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'story-modal-container-component',\n template: `\n <div class=\"cdk-overlay-container\">\n <div class=\"cdk-overlay-backdrop cdk-overlay-dark-backdrop cdk-overlay-backdrop-showing\"></div>\n <div class=\"cdk-global-overlay-wrapper\"\n dir=\"ltr\"\n style=\"justify-content: flex-start; align-items: center; pointer-events: auto\"\n seamOverlayScrollbar>\n <div class=\"seam-modal-container modal-dialog modal-dialog-centered {{ modalConfig ? modalConfig.modalSize : 'modal-lg' }}\"\n tabindex=\"-1\"\n [class.modal-lg]=\"!modalConfig\">\n <div class=\"modal-content\">\n <ng-container *ngIf=\"_outletData$ | async as outletData\">\n <ng-container *ngComponentOutlet=\"outletData.component; injector: outletData.injector;\"></ng-container>\n </ng-container>\n </div>\n </div>\n </div>\n </div>\n `,\n styles: [`\n .seam-modal-container[tabindex=\"-1\"]:focus {\n outline: 0 !important;\n }\n `]\n})\nexport class StoryModalContainerComponent<T, D = any> implements OnDestroy {\n\n private readonly _ngUnsubscribe = new Subject<void>()\n\n @Input() set component(c: ComponentType<T>) { this._component.next(c) }\n @Input() set data(d: D) { this._data.next(d) }\n\n @Input() modalConfig?: ModalConfig<D>\n\n _component = new ReplaySubject<ComponentType<T>>(1)\n _data = new ReplaySubject<D>(1)\n\n _outletData$: Observable<{ component: ComponentType<T>, injector: Injector } | null>\n\n constructor(\n private _injector: Injector\n ) {\n this._outletData$ = combineLatest([\n this._component.asObservable(),\n this._data.asObservable().pipe(startWith(undefined))\n ]).pipe(\n auditTime(0),\n map(([ component, data ]) => ({\n component,\n injector: this._createInjector(data)\n })),\n takeUntil(this._ngUnsubscribe)\n )\n }\n\n ngOnDestroy() {\n this._ngUnsubscribe.next(undefined)\n this._ngUnsubscribe.complete()\n }\n\n private _createInjector(data?: D): Injector {\n return Injector.create({\n providers: [\n { provide: ModalRef, useClass: FakeModalRef, deps: [] },\n { provide: MODAL_DATA, useValue: data }\n ],\n parent: this._injector\n })\n }\n\n}\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\nimport { RouterModule } from '@angular/router'\n\nimport { TheSeamScrollbarModule } from '@theseam/ui-common/scrollbar'\n\nimport { StoryEmptyWithRouteComponent } from './story-empty-with-route.component'\nimport { StoryEmptyComponent } from './story-empty.component'\nimport { StoryModalContainerComponent } from './story-modal-container.component'\n\n@NgModule({\n declarations: [\n StoryEmptyComponent,\n StoryEmptyWithRouteComponent,\n StoryModalContainerComponent\n ],\n imports: [\n CommonModule,\n RouterModule,\n TheSeamScrollbarModule\n ],\n exports: [\n StoryEmptyComponent,\n StoryEmptyWithRouteComponent,\n StoryModalContainerComponent\n ]\n})\nexport class StoryHelperComponentsModule { }\n","import { Injectable } from '@angular/core'\n\nimport { ActiveToast, GlobalConfig, IndividualConfig, ToastContainerDirective } from 'ngx-toastr'\n\n@Injectable()\nexport class StoryToastrService {\n toastrConfig?: GlobalConfig\n currentlyActive = 0\n toasts: ActiveToast<any>[] = []\n overlayContainer?: ToastContainerDirective\n previousToastMessage: string | undefined\n\n /** show toast */\n show(\n message?: string,\n title?: string,\n override: Partial<IndividualConfig> = {},\n type = ''\n ) { }\n\n /** show successful toast */\n success(\n message?: string,\n title?: string,\n override: Partial<IndividualConfig> = {}\n ) { }\n\n /** show error toast */\n error(\n message?: string,\n title?: string,\n override: Partial<IndividualConfig> = {}\n ) { }\n\n /** show info toast */\n info(\n message?: string,\n title?: string,\n override: Partial<IndividualConfig> = {}\n ) { }\n\n /** show warning toast */\n warning(\n message?: string,\n title?: string,\n override: Partial<IndividualConfig> = {}\n ) { }\n\n /**\n * Remove all or a single toast by id\n */\n clear(toastId?: number) { }\n\n /**\n * Remove and destroy a single toast by id\n */\n remove(toastId: number) { }\n\n /**\n * Determines if toast message is already shown\n */\n findDuplicate(message: string, resetOnDuplicate: boolean, countDuplicates: boolean) { }\n\n}\n","import { APP_BOOTSTRAP_LISTENER, ComponentRef } from '@angular/core'\n// import { STORY } from '@storybook/angular/dist/ts3.9/client/preview/angular/app.token'\n// import { StoryFnAngularReturnType } from '@storybook/angular/dist/ts3.9/client/preview/types'\nimport { Observable } from 'rxjs'\nimport { first } from 'rxjs/operators'\n\n/**\n * Can be used to access a stories component after the story has been bootstrapped.\n *\n * Example:\n * ```ts\n * @Component({\n * selector: 'story-example',\n * template: `Touched: {{ exControl.touched }}`\n * })\n * class StoryExampleComponent {\n * exControl = new FormControl('')\n * }\n *\n * export const TouchExample2 = () => ({\n * moduleMetadata: {\n * declarations: [ StoryExampleComponent ],\n * providers: [ onStoryBootstrappedExec((c: StoryExampleComponent) => c.exControl.markAsTouched()) ]\n * },\n * props: { },\n * component: StoryExampleComponent\n * })\n * ```\n */\n// export function onStoryBootstrappedExec<T = any>(callback: (component: T) => void) {\n// function bootstrapped(componentRef: ComponentRef<any>) {\n// const data = componentRef.instance.target.injector.get(STORY, null) as Observable<StoryFnAngularReturnType> | null\n// if (!data) {\n// console.warn(`STORY provider not found.`)\n// return\n// }\n// data?.pipe(first()).subscribe(story => {\n// if (!story.component) {\n// console.warn(`'onStoryBootstrappedExec' only supported on stories that provide 'component' property.`)\n// return\n// }\n\n// let c = null\n// for (let i = 0; i < componentRef.instance.target.length; i++) {\n// const tmp = componentRef.instance.target._embeddedViews[i].nodes?.find((f: any) => f?.instance instanceof story.component)\n// const comp = tmp?.instance\n// if (comp) {\n// c = comp\n// break\n// }\n// }\n\n// if (!c) {\n// console.warn(`Story component instance not found.`)\n// return\n// }\n\n// if (c) {\n// callback(c)\n// }\n// })\n// }\n\n// return {\n// provide: APP_BOOTSTRAP_LISTENER,\n// useValue: bootstrapped,\n// multi: true\n// }\n// }\n","import { APP_BOOTSTRAP_LISTENER, ComponentRef, ElementRef } from '@angular/core'\n\n// TODO: Consider supporting a target selection function, so that complex\n// selections that can't be expressed by a simple selector can be used.\n\n/**\n * Can be used to trigger an event on a target element when the story component has been bootstrapped.\n *\n * Example:\n * ```\n * export const TouchExample1 = () => ({\n * moduleMetadata: {\n * providers: [ onStoryBootstrappedTrigger('input', 'blur') ]\n * },\n * props: { control: new FormControl('') },\n * template: `\n * <input type=\"text\" [formControl]=\"control\">\n * Touched: {{ control.touched }}\n * `\n * })\n * ```\n */\nexport function onStoryBootstrappedTrigger(targetSelector: string, eventName: string) {\n function bootstrapped(componentRef: ComponentRef<any>) {\n const elementRef = componentRef.injector.get(ElementRef, null)\n const target = elementRef?.nativeElement.querySelector(targetSelector)\n if (!target) {\n // eslint-disable-next-line no-console\n console.warn(`Unable to trigger event '${eventName}'. Target '${targetSelector}' not found.`)\n }\n\n const e = document.createEvent('HTMLEvents')\n e.initEvent('blur', false, true)\n target.dispatchEvent(e)\n }\n\n return {\n provide: APP_BOOTSTRAP_LISTENER,\n useValue: bootstrapped,\n multi: true\n }\n}\n","import { Injectable } from '@angular/core'\r\nimport { Observable, of } from 'rxjs'\r\n\r\nimport { TheSeamPreferencesAccessor } from '@theseam/ui-common/services'\r\n\r\nconst ACCESSOR_PREFIX = 'story-pref'\r\n\r\n@Injectable()\r\nexport class StoryPreferencesAccessorService implements TheSeamPreferencesAccessor {\r\n\r\n /**\r\n * Gets a preference.\r\n */\r\n public get(name: string): Observable<string> {\r\n console.log('get', name)\r\n return of(localStorage.getItem(`${ACCESSOR_PREFIX}-${name}`) || '{}')\r\n }\r\n\r\n /**\r\n * Update a preference.\r\n */\r\n public update(name: string, value: string): Observable<string> {\r\n // console.log('update', name)\r\n localStorage.setItem(`${ACCESSOR_PREFIX}-${name}`, value)\r\n return this.get(name)\r\n }\r\n\r\n /**\r\n * Delete a preference.\r\n */\r\n public delete(name: string): Observable<boolean> {\r\n localStorage.removeItem(`${ACCESSOR_PREFIX}-${name}`)\r\n return of(true)\r\n }\r\n\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { FocusMonitor, FocusOrigin } from '@angular/cdk/a11y';
2
2
  import { Direction, Directionality } from '@angular/cdk/bidi';
3
+ import { NumberInput } from '@angular/cdk/coercion';
3
4
  import { ConnectionPositionPair, Overlay } from '@angular/cdk/overlay';
4
5
  import { AfterContentInit, ElementRef, EventEmitter, OnDestroy, ViewContainerRef } from '@angular/core';
5
6
  import { MenuItemComponent } from './menu-item.component';
@@ -14,6 +15,7 @@ export declare class MenuToggleDirective implements OnDestroy, AfterContentInit
14
15
  private readonly _parentMenu?;
15
16
  private readonly _menuItemInstance?;
16
17
  private readonly _dir?;
18
+ static ngAcceptInputType_seamMenuTogglePositionsOffsetY: NumberInput;
17
19
  private _active;
18
20
  private _overlayRef?;
19
21
  private _menuClosedSubscription;
@@ -28,6 +30,7 @@ export declare class MenuToggleDirective implements OnDestroy, AfterContentInit
28
30
  set positions(val: ConnectionPositionPair[]);
29
31
  get positions(): ConnectionPositionPair[];
30
32
  private _positions;
33
+ seamMenuTogglePositionsOffsetY: number;
31
34
  /** Event emitted when the associated menu is opened. */
32
35
  readonly menuOpened: EventEmitter<void>;
33
36
  /** Event emitted when the associated menu is opened. */
@@ -75,5 +78,5 @@ export declare class MenuToggleDirective implements OnDestroy, AfterContentInit
75
78
  /** Handles the cases where the user hovers over the trigger. */
76
79
  private _handleHover;
77
80
  static ɵfac: i0.ɵɵFactoryDeclaration<MenuToggleDirective, [null, null, null, null, { optional: true; }, { optional: true; self: true; }, { optional: true; }]>;
78
- static ɵdir: i0.ɵɵDirectiveDeclaration<MenuToggleDirective, "[seamMenuToggle]", ["seamMenuToggle"], { "menu": "seamMenuToggle"; "positions": "positions"; }, { "menuOpened": "menuOpened"; "menuClosed": "menuClosed"; }, never, never, false, never>;
81
+ static ɵdir: i0.ɵɵDirectiveDeclaration<MenuToggleDirective, "[seamMenuToggle]", ["seamMenuToggle"], { "menu": "seamMenuToggle"; "positions": "positions"; "seamMenuTogglePositionsOffsetY": "seamMenuTogglePositionsOffsetY"; }, { "menuOpened": "menuOpened"; "menuClosed": "menuClosed"; }, never, never, false, never>;
79
82
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@theseam/ui-common",
3
- "version": "0.4.8",
3
+ "version": "0.4.10",
4
4
  "peerDependencies": {
5
5
  "@angular/cdk": "^15.0.0",
6
6
  "@angular/common": "^15.0.0",
@@ -1,5 +1,5 @@
1
- import { TheSeamPreferencesAccessor } from '@theseam/ui-common/services';
2
1
  import { Observable } from 'rxjs';
2
+ import { TheSeamPreferencesAccessor } from '@theseam/ui-common/services';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class StoryPreferencesAccessorService implements TheSeamPreferencesAccessor {
5
5
  /**