@qualcomm-ui/angular-core 1.6.0 → 2.0.1
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.
- package/fesm2022/qualcomm-ui-angular-core-accordion.mjs +44 -50
- package/fesm2022/qualcomm-ui-angular-core-accordion.mjs.map +1 -1
- package/fesm2022/qualcomm-ui-angular-core-avatar.mjs +24 -24
- package/fesm2022/qualcomm-ui-angular-core-avatar.mjs.map +1 -1
- package/fesm2022/qualcomm-ui-angular-core-checkbox.mjs +56 -66
- package/fesm2022/qualcomm-ui-angular-core-checkbox.mjs.map +1 -1
- package/fesm2022/qualcomm-ui-angular-core-collapsible.mjs +22 -24
- package/fesm2022/qualcomm-ui-angular-core-collapsible.mjs.map +1 -1
- package/fesm2022/qualcomm-ui-angular-core-collection.mjs +3 -3
- package/fesm2022/qualcomm-ui-angular-core-collection.mjs.map +1 -1
- package/fesm2022/qualcomm-ui-angular-core-combobox.mjs +116 -152
- package/fesm2022/qualcomm-ui-angular-core-combobox.mjs.map +1 -1
- package/fesm2022/qualcomm-ui-angular-core-dialog.mjs +64 -78
- package/fesm2022/qualcomm-ui-angular-core-dialog.mjs.map +1 -1
- package/fesm2022/qualcomm-ui-angular-core-dom.mjs +15 -15
- package/fesm2022/qualcomm-ui-angular-core-dom.mjs.map +1 -1
- package/fesm2022/qualcomm-ui-angular-core-events.mjs +4 -4
- package/fesm2022/qualcomm-ui-angular-core-events.mjs.map +1 -1
- package/fesm2022/qualcomm-ui-angular-core-highlight.mjs +9 -15
- package/fesm2022/qualcomm-ui-angular-core-highlight.mjs.map +1 -1
- package/fesm2022/qualcomm-ui-angular-core-inline-notification.mjs +32 -32
- package/fesm2022/qualcomm-ui-angular-core-inline-notification.mjs.map +1 -1
- package/fesm2022/qualcomm-ui-angular-core-input.mjs +35 -51
- package/fesm2022/qualcomm-ui-angular-core-input.mjs.map +1 -1
- package/fesm2022/qualcomm-ui-angular-core-locale.mjs +3 -3
- package/fesm2022/qualcomm-ui-angular-core-locale.mjs.map +1 -1
- package/fesm2022/qualcomm-ui-angular-core-lorem-ipsum.mjs +11 -23
- package/fesm2022/qualcomm-ui-angular-core-lorem-ipsum.mjs.map +1 -1
- package/fesm2022/qualcomm-ui-angular-core-machine.mjs +20 -20
- package/fesm2022/qualcomm-ui-angular-core-machine.mjs.map +1 -1
- package/fesm2022/qualcomm-ui-angular-core-menu.mjs +111 -127
- package/fesm2022/qualcomm-ui-angular-core-menu.mjs.map +1 -1
- package/fesm2022/qualcomm-ui-angular-core-number-input.mjs +80 -106
- package/fesm2022/qualcomm-ui-angular-core-number-input.mjs.map +1 -1
- package/fesm2022/qualcomm-ui-angular-core-observers.mjs +3 -3
- package/fesm2022/qualcomm-ui-angular-core-observers.mjs.map +1 -1
- package/fesm2022/qualcomm-ui-angular-core-pagination.mjs +46 -60
- package/fesm2022/qualcomm-ui-angular-core-pagination.mjs.map +1 -1
- package/fesm2022/qualcomm-ui-angular-core-password-input.mjs +46 -50
- package/fesm2022/qualcomm-ui-angular-core-password-input.mjs.map +1 -1
- package/fesm2022/qualcomm-ui-angular-core-popover.mjs +62 -66
- package/fesm2022/qualcomm-ui-angular-core-popover.mjs.map +1 -1
- package/fesm2022/qualcomm-ui-angular-core-portal.mjs +18 -22
- package/fesm2022/qualcomm-ui-angular-core-portal.mjs.map +1 -1
- package/fesm2022/qualcomm-ui-angular-core-presence.mjs +18 -24
- package/fesm2022/qualcomm-ui-angular-core-presence.mjs.map +1 -1
- package/fesm2022/qualcomm-ui-angular-core-progress-ring.mjs +30 -30
- package/fesm2022/qualcomm-ui-angular-core-progress-ring.mjs.map +1 -1
- package/fesm2022/qualcomm-ui-angular-core-progress.mjs +42 -54
- package/fesm2022/qualcomm-ui-angular-core-progress.mjs.map +1 -1
- package/fesm2022/qualcomm-ui-angular-core-radio.mjs +72 -80
- package/fesm2022/qualcomm-ui-angular-core-radio.mjs.map +1 -1
- package/fesm2022/qualcomm-ui-angular-core-segmented-control.mjs +32 -38
- package/fesm2022/qualcomm-ui-angular-core-segmented-control.mjs.map +1 -1
- package/fesm2022/qualcomm-ui-angular-core-select.mjs +88 -102
- package/fesm2022/qualcomm-ui-angular-core-select.mjs.map +1 -1
- package/fesm2022/qualcomm-ui-angular-core-side-nav.mjs +44 -58
- package/fesm2022/qualcomm-ui-angular-core-side-nav.mjs.map +1 -1
- package/fesm2022/qualcomm-ui-angular-core-signals.mjs +2 -2
- package/fesm2022/qualcomm-ui-angular-core-signals.mjs.map +1 -1
- package/fesm2022/qualcomm-ui-angular-core-slider.mjs +98 -102
- package/fesm2022/qualcomm-ui-angular-core-slider.mjs.map +1 -1
- package/fesm2022/qualcomm-ui-angular-core-state.mjs +5 -5
- package/fesm2022/qualcomm-ui-angular-core-state.mjs.map +1 -1
- package/fesm2022/qualcomm-ui-angular-core-switch.mjs +38 -40
- package/fesm2022/qualcomm-ui-angular-core-switch.mjs.map +1 -1
- package/fesm2022/qualcomm-ui-angular-core-tabs.mjs +51 -65
- package/fesm2022/qualcomm-ui-angular-core-tabs.mjs.map +1 -1
- package/fesm2022/qualcomm-ui-angular-core-text-area.mjs +34 -34
- package/fesm2022/qualcomm-ui-angular-core-text-area.mjs.map +1 -1
- package/fesm2022/qualcomm-ui-angular-core-text-input.mjs +37 -37
- package/fesm2022/qualcomm-ui-angular-core-text-input.mjs.map +1 -1
- package/fesm2022/qualcomm-ui-angular-core-toast.mjs +30 -30
- package/fesm2022/qualcomm-ui-angular-core-toast.mjs.map +1 -1
- package/fesm2022/qualcomm-ui-angular-core-tooltip.mjs +37 -45
- package/fesm2022/qualcomm-ui-angular-core-tooltip.mjs.map +1 -1
- package/fesm2022/qualcomm-ui-angular-core-tree.mjs +70 -78
- package/fesm2022/qualcomm-ui-angular-core-tree.mjs.map +1 -1
- package/fesm2022/qualcomm-ui-angular-core-virtual.mjs +5 -5
- package/fesm2022/qualcomm-ui-angular-core-virtual.mjs.map +1 -1
- package/package.json +59 -59
- package/{accordion/index.d.ts → types/qualcomm-ui-angular-core-accordion.d.ts} +1 -1
- package/types/qualcomm-ui-angular-core-accordion.d.ts.map +1 -0
- package/{attributes/index.d.ts → types/qualcomm-ui-angular-core-attributes.d.ts} +1 -1
- package/types/qualcomm-ui-angular-core-attributes.d.ts.map +1 -0
- package/{avatar/index.d.ts → types/qualcomm-ui-angular-core-avatar.d.ts} +1 -1
- package/types/qualcomm-ui-angular-core-avatar.d.ts.map +1 -0
- package/{checkbox/index.d.ts → types/qualcomm-ui-angular-core-checkbox.d.ts} +1 -1
- package/types/qualcomm-ui-angular-core-checkbox.d.ts.map +1 -0
- package/{collapsible/index.d.ts → types/qualcomm-ui-angular-core-collapsible.d.ts} +1 -1
- package/types/qualcomm-ui-angular-core-collapsible.d.ts.map +1 -0
- package/{collection/index.d.ts → types/qualcomm-ui-angular-core-collection.d.ts} +1 -1
- package/types/qualcomm-ui-angular-core-collection.d.ts.map +1 -0
- package/{combobox/index.d.ts → types/qualcomm-ui-angular-core-combobox.d.ts} +2 -2
- package/types/qualcomm-ui-angular-core-combobox.d.ts.map +1 -0
- package/{common/index.d.ts → types/qualcomm-ui-angular-core-common.d.ts} +1 -1
- package/types/qualcomm-ui-angular-core-common.d.ts.map +1 -0
- package/{dialog/index.d.ts → types/qualcomm-ui-angular-core-dialog.d.ts} +1 -1
- package/types/qualcomm-ui-angular-core-dialog.d.ts.map +1 -0
- package/{dom/index.d.ts → types/qualcomm-ui-angular-core-dom.d.ts} +1 -1
- package/types/qualcomm-ui-angular-core-dom.d.ts.map +1 -0
- package/{events/index.d.ts → types/qualcomm-ui-angular-core-events.d.ts} +1 -1
- package/types/qualcomm-ui-angular-core-events.d.ts.map +1 -0
- package/{forms/index.d.ts → types/qualcomm-ui-angular-core-forms.d.ts} +1 -1
- package/types/qualcomm-ui-angular-core-forms.d.ts.map +1 -0
- package/{highlight/index.d.ts → types/qualcomm-ui-angular-core-highlight.d.ts} +1 -1
- package/types/qualcomm-ui-angular-core-highlight.d.ts.map +1 -0
- package/{inline-notification/index.d.ts → types/qualcomm-ui-angular-core-inline-notification.d.ts} +1 -1
- package/types/qualcomm-ui-angular-core-inline-notification.d.ts.map +1 -0
- package/{input/index.d.ts → types/qualcomm-ui-angular-core-input.d.ts} +2 -2
- package/types/qualcomm-ui-angular-core-input.d.ts.map +1 -0
- package/{locale/index.d.ts → types/qualcomm-ui-angular-core-locale.d.ts} +1 -1
- package/types/qualcomm-ui-angular-core-locale.d.ts.map +1 -0
- package/{lorem-ipsum/index.d.ts → types/qualcomm-ui-angular-core-lorem-ipsum.d.ts} +1 -1
- package/types/qualcomm-ui-angular-core-lorem-ipsum.d.ts.map +1 -0
- package/{lucide/index.d.ts → types/qualcomm-ui-angular-core-lucide.d.ts} +1 -1
- package/types/qualcomm-ui-angular-core-lucide.d.ts.map +1 -0
- package/{machine/index.d.ts → types/qualcomm-ui-angular-core-machine.d.ts} +2 -2
- package/types/qualcomm-ui-angular-core-machine.d.ts.map +1 -0
- package/{menu/index.d.ts → types/qualcomm-ui-angular-core-menu.d.ts} +1 -1
- package/types/qualcomm-ui-angular-core-menu.d.ts.map +1 -0
- package/{number-input/index.d.ts → types/qualcomm-ui-angular-core-number-input.d.ts} +1 -1
- package/types/qualcomm-ui-angular-core-number-input.d.ts.map +1 -0
- package/{observers/index.d.ts → types/qualcomm-ui-angular-core-observers.d.ts} +1 -1
- package/types/qualcomm-ui-angular-core-observers.d.ts.map +1 -0
- package/{pagination/index.d.ts → types/qualcomm-ui-angular-core-pagination.d.ts} +1 -1
- package/types/qualcomm-ui-angular-core-pagination.d.ts.map +1 -0
- package/{password-input/index.d.ts → types/qualcomm-ui-angular-core-password-input.d.ts} +1 -1
- package/types/qualcomm-ui-angular-core-password-input.d.ts.map +1 -0
- package/{popover/index.d.ts → types/qualcomm-ui-angular-core-popover.d.ts} +1 -1
- package/types/qualcomm-ui-angular-core-popover.d.ts.map +1 -0
- package/{portal/index.d.ts → types/qualcomm-ui-angular-core-portal.d.ts} +1 -1
- package/types/qualcomm-ui-angular-core-portal.d.ts.map +1 -0
- package/{presence/index.d.ts → types/qualcomm-ui-angular-core-presence.d.ts} +1 -1
- package/types/qualcomm-ui-angular-core-presence.d.ts.map +1 -0
- package/{progress-ring/index.d.ts → types/qualcomm-ui-angular-core-progress-ring.d.ts} +1 -1
- package/types/qualcomm-ui-angular-core-progress-ring.d.ts.map +1 -0
- package/{progress/index.d.ts → types/qualcomm-ui-angular-core-progress.d.ts} +1 -1
- package/types/qualcomm-ui-angular-core-progress.d.ts.map +1 -0
- package/{radio/index.d.ts → types/qualcomm-ui-angular-core-radio.d.ts} +1 -1
- package/types/qualcomm-ui-angular-core-radio.d.ts.map +1 -0
- package/{segmented-control/index.d.ts → types/qualcomm-ui-angular-core-segmented-control.d.ts} +1 -1
- package/types/qualcomm-ui-angular-core-segmented-control.d.ts.map +1 -0
- package/{select/index.d.ts → types/qualcomm-ui-angular-core-select.d.ts} +1 -1
- package/types/qualcomm-ui-angular-core-select.d.ts.map +1 -0
- package/{side-nav/index.d.ts → types/qualcomm-ui-angular-core-side-nav.d.ts} +1 -1
- package/types/qualcomm-ui-angular-core-side-nav.d.ts.map +1 -0
- package/{signals/index.d.ts → types/qualcomm-ui-angular-core-signals.d.ts} +1 -1
- package/types/qualcomm-ui-angular-core-signals.d.ts.map +1 -0
- package/{slider/index.d.ts → types/qualcomm-ui-angular-core-slider.d.ts} +1 -1
- package/types/qualcomm-ui-angular-core-slider.d.ts.map +1 -0
- package/{state/index.d.ts → types/qualcomm-ui-angular-core-state.d.ts} +1 -1
- package/types/qualcomm-ui-angular-core-state.d.ts.map +1 -0
- package/{switch/index.d.ts → types/qualcomm-ui-angular-core-switch.d.ts} +1 -1
- package/types/qualcomm-ui-angular-core-switch.d.ts.map +1 -0
- package/{tabs/index.d.ts → types/qualcomm-ui-angular-core-tabs.d.ts} +1 -1
- package/types/qualcomm-ui-angular-core-tabs.d.ts.map +1 -0
- package/{text-area/index.d.ts → types/qualcomm-ui-angular-core-text-area.d.ts} +1 -1
- package/types/qualcomm-ui-angular-core-text-area.d.ts.map +1 -0
- package/{text-input/index.d.ts → types/qualcomm-ui-angular-core-text-input.d.ts} +1 -1
- package/types/qualcomm-ui-angular-core-text-input.d.ts.map +1 -0
- package/{toast/index.d.ts → types/qualcomm-ui-angular-core-toast.d.ts} +1 -1
- package/types/qualcomm-ui-angular-core-toast.d.ts.map +1 -0
- package/{tooltip/index.d.ts → types/qualcomm-ui-angular-core-tooltip.d.ts} +1 -1
- package/types/qualcomm-ui-angular-core-tooltip.d.ts.map +1 -0
- package/{tree/index.d.ts → types/qualcomm-ui-angular-core-tree.d.ts} +1 -1
- package/types/qualcomm-ui-angular-core-tree.d.ts.map +1 -0
- package/{virtual/index.d.ts → types/qualcomm-ui-angular-core-virtual.d.ts} +1 -1
- package/types/qualcomm-ui-angular-core-virtual.d.ts.map +1 -0
- package/types/qualcomm-ui-angular-core.d.ts +3 -0
- package/types/qualcomm-ui-angular-core.d.ts.map +1 -0
- package/accordion/index.d.ts.map +0 -1
- package/attributes/index.d.ts.map +0 -1
- package/avatar/index.d.ts.map +0 -1
- package/checkbox/index.d.ts.map +0 -1
- package/collapsible/index.d.ts.map +0 -1
- package/collection/index.d.ts.map +0 -1
- package/combobox/index.d.ts.map +0 -1
- package/common/index.d.ts.map +0 -1
- package/dialog/index.d.ts.map +0 -1
- package/dom/index.d.ts.map +0 -1
- package/events/index.d.ts.map +0 -1
- package/forms/index.d.ts.map +0 -1
- package/highlight/index.d.ts.map +0 -1
- package/index.d.ts +0 -3
- package/index.d.ts.map +0 -1
- package/inline-notification/index.d.ts.map +0 -1
- package/input/index.d.ts.map +0 -1
- package/locale/index.d.ts.map +0 -1
- package/lorem-ipsum/index.d.ts.map +0 -1
- package/lucide/index.d.ts.map +0 -1
- package/machine/index.d.ts.map +0 -1
- package/menu/index.d.ts.map +0 -1
- package/number-input/index.d.ts.map +0 -1
- package/observers/index.d.ts.map +0 -1
- package/pagination/index.d.ts.map +0 -1
- package/password-input/index.d.ts.map +0 -1
- package/popover/index.d.ts.map +0 -1
- package/portal/index.d.ts.map +0 -1
- package/presence/index.d.ts.map +0 -1
- package/progress/index.d.ts.map +0 -1
- package/progress-ring/index.d.ts.map +0 -1
- package/radio/index.d.ts.map +0 -1
- package/segmented-control/index.d.ts.map +0 -1
- package/select/index.d.ts.map +0 -1
- package/side-nav/index.d.ts.map +0 -1
- package/signals/index.d.ts.map +0 -1
- package/slider/index.d.ts.map +0 -1
- package/state/index.d.ts.map +0 -1
- package/switch/index.d.ts.map +0 -1
- package/tabs/index.d.ts.map +0 -1
- package/text-area/index.d.ts.map +0 -1
- package/text-input/index.d.ts.map +0 -1
- package/toast/index.d.ts.map +0 -1
- package/tooltip/index.d.ts.map +0 -1
- package/tree/index.d.ts.map +0 -1
- package/virtual/index.d.ts.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"qualcomm-ui-angular-core-side-nav.mjs","sources":["../../src/side-nav/side-nav-context.service.ts","../../src/side-nav/core-side-nav-header-action.directive.ts","../../src/side-nav/core-side-nav-header-logo.directive.ts","../../src/side-nav/core-side-nav-header-title.directive.ts","../../src/side-nav/core-side-nav-header.directive.ts","../../src/side-nav/core-side-nav-root.directive.ts","../../src/side-nav/core-side-nav-trigger.directive.ts","../../src/side-nav/qualcomm-ui-angular-core-side-nav.ts"],"sourcesContent":["// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {Injectable} from \"@angular/core\"\n\nimport {\n type ApiContext,\n BaseApiContextService,\n createApiContext,\n} from \"@qualcomm-ui/angular-core/machine\"\nimport type {SideNavApi} from \"@qualcomm-ui/core/side-nav\"\n\n@Injectable()\nexport class SideNavContextService extends BaseApiContextService<SideNavApi> {}\n\nexport const [\n SIDE_NAV_CONTEXT,\n useSideNavContext,\n provideSideNavContext,\n]: ApiContext<SideNavApi> = createApiContext<SideNavApi>(\n \"SideNavContext\",\n SideNavContextService,\n)\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {Directive, type OnInit} from \"@angular/core\"\n\nimport {useTrackBindings} from \"@qualcomm-ui/angular-core/machine\"\n\nimport {useSideNavContext} from \"./side-nav-context.service\"\n\n@Directive()\nexport class CoreSideNavHeaderActionDirective implements OnInit {\n protected readonly sideNavContext = useSideNavContext()\n\n protected readonly trackBindings = useTrackBindings(() =>\n this.sideNavContext().getHeaderActionBindings(),\n )\n\n ngOnInit() {\n this.trackBindings()\n }\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {Directive, type OnInit} from \"@angular/core\"\n\nimport {useTrackBindings} from \"@qualcomm-ui/angular-core/machine\"\n\nimport {useSideNavContext} from \"./side-nav-context.service\"\n\n@Directive()\nexport class CoreSideNavHeaderLogoDirective implements OnInit {\n protected readonly sideNavContext = useSideNavContext()\n\n protected readonly trackBindings = useTrackBindings(() =>\n this.sideNavContext().getHeaderLogoBindings(),\n )\n\n ngOnInit() {\n this.trackBindings()\n }\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {Directive, type OnInit} from \"@angular/core\"\n\nimport {useTrackBindings} from \"@qualcomm-ui/angular-core/machine\"\n\nimport {useSideNavContext} from \"./side-nav-context.service\"\n\n@Directive()\nexport class CoreSideNavHeaderTitleDirective implements OnInit {\n protected readonly sideNavContext = useSideNavContext()\n\n protected readonly trackBindings = useTrackBindings(() =>\n this.sideNavContext().getHeaderTitleBindings(),\n )\n\n ngOnInit() {\n this.trackBindings()\n }\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {Directive, type OnInit} from \"@angular/core\"\n\nimport {useTrackBindings} from \"@qualcomm-ui/angular-core/machine\"\n\nimport {useSideNavContext} from \"./side-nav-context.service\"\n\n@Directive()\nexport class CoreSideNavHeaderDirective implements OnInit {\n protected readonly sideNavContext = useSideNavContext()\n\n protected readonly trackBindings = useTrackBindings(() =>\n this.sideNavContext().getHeaderBindings(),\n )\n\n ngOnInit() {\n this.trackBindings()\n }\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {DOCUMENT} from \"@angular/common\"\nimport {\n booleanAttribute,\n computed,\n Directive,\n inject,\n Injector,\n input,\n type OnInit,\n output,\n} from \"@angular/core\"\n\nimport {useId, useIsMounted} from \"@qualcomm-ui/angular-core/common\"\nimport {\n normalizeProps,\n useMachine,\n useTrackBindings,\n} from \"@qualcomm-ui/angular-core/machine\"\nimport {RenderStrategyContextService} from \"@qualcomm-ui/angular-core/presence\"\nimport type {SignalifyInput} from \"@qualcomm-ui/angular-core/signals\"\nimport {TreeContextService} from \"@qualcomm-ui/angular-core/tree\"\nimport type {RenderStrategyApiProps} from \"@qualcomm-ui/core/presence\"\nimport {\n createSideNavApi,\n type SideNavApiProps,\n sideNavMachine,\n} from \"@qualcomm-ui/core/side-nav\"\nimport {\n createTreeApi,\n type ExpandedChangeDetails,\n type FocusChangeDetails,\n type LoadChildrenCompleteDetails,\n type LoadChildrenDetails,\n type LoadChildrenErrorDetails,\n type NodeState,\n type SelectionChangeDetails,\n type TreeApiProps,\n treeMachine,\n} from \"@qualcomm-ui/core/tree\"\nimport type {Booleanish} from \"@qualcomm-ui/utils/coercion\"\nimport {TreeCollection, type TreeNode} from \"@qualcomm-ui/utils/collection\"\nimport type {Direction} from \"@qualcomm-ui/utils/direction\"\nimport type {Explicit} from \"@qualcomm-ui/utils/guard\"\n\nimport {SideNavContextService} from \"./side-nav-context.service\"\n\n@Directive()\nexport class CoreSideNavRootDirective<T extends TreeNode = TreeNode>\n implements\n SignalifyInput<Omit<SideNavApiProps, \"dir\">>,\n SignalifyInput<\n Omit<\n TreeApiProps<T>,\n \"checkedValue\" | \"defaultCheckedValue\" | \"onCheckedValueChange\"\n >\n >,\n SignalifyInput<RenderStrategyApiProps>,\n OnInit\n{\n /**\n * The tree collection data\n * @inheritDoc\n */\n readonly collection = input<TreeCollection<T>>()\n\n /**\n * The initial open state of the side navigation when rendered.\n * Use when you don't need to control the open state of the collapsible.\n *\n * @default true\n */\n readonly defaultOpen = input<boolean | undefined, Booleanish>(undefined, {\n transform: booleanAttribute,\n })\n\n /**\n * The initial expanded node ids when rendered.\n * Use when you don't need to control the expanded node value.\n */\n readonly defaultExpandedValue = input<string[] | undefined>()\n\n /**\n * The initial focused node value when rendered.\n * Use when you don't need to control the focused node value.\n */\n readonly defaultFocusedValue = input<string | null | undefined>()\n\n /**\n * The initial selected node value when rendered.\n * Use when you don't need to control the selected node value.\n */\n readonly defaultSelectedValue = input<string[] | undefined>()\n\n /**\n * The document's text/writing direction.\n */\n readonly dir = input<Direction | undefined>()\n\n /**\n * Whether the side navigation collapse behavior is disabled.\n */\n readonly disabled = input<boolean | undefined, Booleanish>(undefined, {\n transform: booleanAttribute,\n })\n\n /**\n * The controlled expanded node ids\n */\n readonly expandedValue = input<string[] | undefined>()\n\n /**\n * Whether clicking on a branch should open it or not\n * @default true\n */\n readonly expandOnClick = input<boolean | undefined, Booleanish>(undefined, {\n transform: booleanAttribute,\n })\n\n /**\n * The value of the focused node\n */\n readonly focusedValue = input<string | null | undefined>()\n\n /**\n * A root node to correctly resolve the Document in custom environments. i.e.,\n * Iframes, Electron.\n */\n readonly getRootNode = input<\n (() => ShadowRoot | Document | Node) | undefined\n >()\n\n /**\n * HTML id attribute. If omitted, a unique identifier will be generated for\n * accessibility.\n */\n readonly id = input<string>()\n\n /**\n * When true, the component will not be rendered in the DOM until it becomes\n * visible or active.\n *\n * @default false\n */\n readonly lazyMount = input<boolean | undefined, Booleanish>(undefined, {\n transform: booleanAttribute,\n })\n\n /**\n * Function to load children for a node asynchronously.\n * When provided, branches will wait for this promise to resolve before expanding.\n */\n readonly loadChildren = input<\n ((details: LoadChildrenDetails<T>) => Promise<T[]>) | undefined\n >()\n\n /**\n * The controlled open state of the side navigation\n */\n readonly open = input<boolean | undefined, Booleanish>(undefined, {\n transform: booleanAttribute,\n })\n\n /**\n * The controlled selected node value\n */\n readonly selectedValue = input<string[] | undefined>()\n\n /**\n * Whether the tree supports multiple selection\n * @option `'single'`: only one node can be selected\n * @option `'multiple'`: multiple nodes can be selected\n *\n * @default 'single'\n */\n readonly selectionMode = input<\"single\" | \"multiple\" | undefined>()\n\n /**\n * Callback function that determines whether a node should be hidden.\n */\n readonly shouldHideNode =\n input<(state: NodeState<T>) => boolean | undefined>()\n\n /**\n * Whether the tree supports typeahead search\n * @default true\n */\n readonly typeahead = input<boolean | undefined, Booleanish>(undefined, {\n transform: booleanAttribute,\n })\n\n /**\n * When true, the component will be completely removed from the DOM when it\n * becomes inactive or hidden, rather than just being hidden with CSS.\n *\n * @default false\n */\n readonly unmountOnExit = input<boolean | undefined, Booleanish>(undefined, {\n transform: booleanAttribute,\n })\n\n /**\n * Called when the tree is opened or closed\n */\n readonly expandedValueChanged = output<ExpandedChangeDetails<T>>()\n\n /**\n * Called when the focused node changes\n */\n readonly focusChanged = output<FocusChangeDetails<T>>()\n\n /**\n * Called when a node finishes loading children\n */\n readonly loadChildrenComplete = output<LoadChildrenCompleteDetails<T>>()\n\n /**\n * Called when loading children fails for one or more nodes\n */\n readonly loadChildrenError = output<LoadChildrenErrorDetails<T>>()\n\n /**\n * Called when the selection changes\n */\n readonly selectedValueChanged = output<SelectionChangeDetails<T>>()\n\n /**\n * Called when the side navigation opens or closes\n */\n readonly openChanged = output<boolean>()\n\n protected readonly document = inject(DOCUMENT)\n protected readonly hostId = computed(() => useId(this, this.id()))\n readonly injector = inject(Injector)\n protected readonly isMounted = useIsMounted()\n protected readonly renderStrategyContextService = inject(\n RenderStrategyContextService,\n )\n protected readonly sideNavContextService = inject(SideNavContextService)\n protected readonly treeContextService = inject(TreeContextService)\n\n protected readonly trackBindings = useTrackBindings(() =>\n this.sideNavContextService.context().getRootBindings({\n id: this.hostId(),\n }),\n )\n\n ngOnInit() {\n const sideNavMachineInstance = useMachine(\n sideNavMachine,\n computed<Explicit<SideNavApiProps>>(() => ({\n defaultOpen: this.defaultOpen(),\n dir: this.dir(),\n disabled: this.disabled(),\n getRootNode: this.getRootNode() || (() => this.document),\n onOpenChange: (open) => {\n if (this.isMounted()) {\n this.openChanged.emit(open)\n }\n },\n open: this.open(),\n })),\n this.injector,\n )\n\n const sideNavApi = computed(() =>\n createSideNavApi(sideNavMachineInstance, normalizeProps),\n )\n\n this.sideNavContextService.init(sideNavApi)\n\n const treeMachineInstance = useMachine(\n treeMachine,\n computed<Explicit<TreeApiProps<T>>>(() => {\n const sideNavOpen = sideNavApi().open\n const userShouldHideNode = this.shouldHideNode()\n\n return {\n checkedValue: undefined,\n collection: this.collection(),\n defaultCheckedValue: undefined,\n defaultExpandedValue: this.defaultExpandedValue(),\n defaultFocusedValue: this.defaultFocusedValue(),\n defaultSelectedValue: this.defaultSelectedValue(),\n dir: this.dir(),\n expandedValue: sideNavOpen ? this.expandedValue() : [],\n expandOnClick: this.expandOnClick(),\n focusedValue: this.focusedValue(),\n getRootNode: this.getRootNode() || (() => this.document),\n loadChildren: this.loadChildren(),\n onCheckedValueChange: undefined,\n onExpandedValueChange: (details) => {\n if (this.isMounted()) {\n this.expandedValueChanged.emit(details)\n }\n },\n onFocusChange: (details) => {\n if (this.isMounted()) {\n this.focusChanged.emit(details)\n }\n },\n onLoadChildrenComplete: (details) => {\n if (this.isMounted()) {\n this.loadChildrenComplete.emit(details)\n }\n },\n onLoadChildrenError: (details) => {\n if (this.isMounted()) {\n this.loadChildrenError.emit(details)\n }\n },\n onSelectedValueChange: (details) => {\n if (this.isMounted()) {\n this.selectedValueChanged.emit(details)\n }\n },\n selectedValue: this.selectedValue(),\n selectionMode: this.selectionMode(),\n shouldHideNode: (node) => {\n if (!sideNavOpen && node.depth > 1) {\n return true\n }\n return userShouldHideNode?.(node)\n },\n typeahead: this.typeahead(),\n }\n }),\n this.injector,\n )\n\n this.treeContextService.init(\n computed(() => createTreeApi(treeMachineInstance, normalizeProps)),\n )\n\n this.renderStrategyContextService.init(\n computed<Explicit<RenderStrategyApiProps>>(() => ({\n lazyMount: this.lazyMount(),\n unmountOnExit: this.unmountOnExit(),\n })),\n )\n\n this.trackBindings()\n }\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {Directive, input, type OnInit} from \"@angular/core\"\n\nimport {useId} from \"@qualcomm-ui/angular-core/common\"\nimport {useTrackBindings} from \"@qualcomm-ui/angular-core/machine\"\n\nimport {useSideNavContext} from \"./side-nav-context.service\"\n\n@Directive()\nexport class CoreSideNavTriggerDirective implements OnInit {\n /**\n * HTML id attribute. If omitted, a unique identifier will be generated for\n * accessibility.\n */\n readonly id = input<string>()\n\n protected readonly sideNavContext = useSideNavContext()\n\n protected readonly trackBindings = useTrackBindings(() =>\n this.sideNavContext().getTriggerBindings({\n id: useId(this, this.id()),\n }),\n )\n\n ngOnInit() {\n this.trackBindings()\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"qualcomm-ui-angular-core-side-nav.mjs","sources":["../../src/side-nav/side-nav-context.service.ts","../../src/side-nav/core-side-nav-header-action.directive.ts","../../src/side-nav/core-side-nav-header-logo.directive.ts","../../src/side-nav/core-side-nav-header-title.directive.ts","../../src/side-nav/core-side-nav-header.directive.ts","../../src/side-nav/core-side-nav-root.directive.ts","../../src/side-nav/core-side-nav-trigger.directive.ts","../../src/side-nav/qualcomm-ui-angular-core-side-nav.ts"],"sourcesContent":["// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {Injectable} from \"@angular/core\"\n\nimport {\n type ApiContext,\n BaseApiContextService,\n createApiContext,\n} from \"@qualcomm-ui/angular-core/machine\"\nimport type {SideNavApi} from \"@qualcomm-ui/core/side-nav\"\n\n@Injectable()\nexport class SideNavContextService extends BaseApiContextService<SideNavApi> {}\n\nexport const [\n SIDE_NAV_CONTEXT,\n useSideNavContext,\n provideSideNavContext,\n]: ApiContext<SideNavApi> = createApiContext<SideNavApi>(\n \"SideNavContext\",\n SideNavContextService,\n)\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {Directive, type OnInit} from \"@angular/core\"\n\nimport {useTrackBindings} from \"@qualcomm-ui/angular-core/machine\"\n\nimport {useSideNavContext} from \"./side-nav-context.service\"\n\n@Directive()\nexport class CoreSideNavHeaderActionDirective implements OnInit {\n protected readonly sideNavContext = useSideNavContext()\n\n protected readonly trackBindings = useTrackBindings(() =>\n this.sideNavContext().getHeaderActionBindings(),\n )\n\n ngOnInit() {\n this.trackBindings()\n }\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {Directive, type OnInit} from \"@angular/core\"\n\nimport {useTrackBindings} from \"@qualcomm-ui/angular-core/machine\"\n\nimport {useSideNavContext} from \"./side-nav-context.service\"\n\n@Directive()\nexport class CoreSideNavHeaderLogoDirective implements OnInit {\n protected readonly sideNavContext = useSideNavContext()\n\n protected readonly trackBindings = useTrackBindings(() =>\n this.sideNavContext().getHeaderLogoBindings(),\n )\n\n ngOnInit() {\n this.trackBindings()\n }\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {Directive, type OnInit} from \"@angular/core\"\n\nimport {useTrackBindings} from \"@qualcomm-ui/angular-core/machine\"\n\nimport {useSideNavContext} from \"./side-nav-context.service\"\n\n@Directive()\nexport class CoreSideNavHeaderTitleDirective implements OnInit {\n protected readonly sideNavContext = useSideNavContext()\n\n protected readonly trackBindings = useTrackBindings(() =>\n this.sideNavContext().getHeaderTitleBindings(),\n )\n\n ngOnInit() {\n this.trackBindings()\n }\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {Directive, type OnInit} from \"@angular/core\"\n\nimport {useTrackBindings} from \"@qualcomm-ui/angular-core/machine\"\n\nimport {useSideNavContext} from \"./side-nav-context.service\"\n\n@Directive()\nexport class CoreSideNavHeaderDirective implements OnInit {\n protected readonly sideNavContext = useSideNavContext()\n\n protected readonly trackBindings = useTrackBindings(() =>\n this.sideNavContext().getHeaderBindings(),\n )\n\n ngOnInit() {\n this.trackBindings()\n }\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {DOCUMENT} from \"@angular/common\"\nimport {\n booleanAttribute,\n computed,\n Directive,\n inject,\n Injector,\n input,\n type OnInit,\n output,\n} from \"@angular/core\"\n\nimport {useId, useIsMounted} from \"@qualcomm-ui/angular-core/common\"\nimport {\n normalizeProps,\n useMachine,\n useTrackBindings,\n} from \"@qualcomm-ui/angular-core/machine\"\nimport {RenderStrategyContextService} from \"@qualcomm-ui/angular-core/presence\"\nimport type {SignalifyInput} from \"@qualcomm-ui/angular-core/signals\"\nimport {TreeContextService} from \"@qualcomm-ui/angular-core/tree\"\nimport type {RenderStrategyApiProps} from \"@qualcomm-ui/core/presence\"\nimport {\n createSideNavApi,\n type SideNavApiProps,\n sideNavMachine,\n} from \"@qualcomm-ui/core/side-nav\"\nimport {\n createTreeApi,\n type ExpandedChangeDetails,\n type FocusChangeDetails,\n type LoadChildrenCompleteDetails,\n type LoadChildrenDetails,\n type LoadChildrenErrorDetails,\n type NodeState,\n type SelectionChangeDetails,\n type TreeApiProps,\n treeMachine,\n} from \"@qualcomm-ui/core/tree\"\nimport type {Booleanish} from \"@qualcomm-ui/utils/coercion\"\nimport {TreeCollection, type TreeNode} from \"@qualcomm-ui/utils/collection\"\nimport type {Direction} from \"@qualcomm-ui/utils/direction\"\nimport type {Explicit} from \"@qualcomm-ui/utils/guard\"\n\nimport {SideNavContextService} from \"./side-nav-context.service\"\n\n@Directive()\nexport class CoreSideNavRootDirective<T extends TreeNode = TreeNode>\n implements\n SignalifyInput<Omit<SideNavApiProps, \"dir\">>,\n SignalifyInput<\n Omit<\n TreeApiProps<T>,\n \"checkedValue\" | \"defaultCheckedValue\" | \"onCheckedValueChange\"\n >\n >,\n SignalifyInput<RenderStrategyApiProps>,\n OnInit\n{\n /**\n * The tree collection data\n * @inheritDoc\n */\n readonly collection = input<TreeCollection<T>>()\n\n /**\n * The initial open state of the side navigation when rendered.\n * Use when you don't need to control the open state of the collapsible.\n *\n * @default true\n */\n readonly defaultOpen = input<boolean | undefined, Booleanish>(undefined, {\n transform: booleanAttribute,\n })\n\n /**\n * The initial expanded node ids when rendered.\n * Use when you don't need to control the expanded node value.\n */\n readonly defaultExpandedValue = input<string[] | undefined>()\n\n /**\n * The initial focused node value when rendered.\n * Use when you don't need to control the focused node value.\n */\n readonly defaultFocusedValue = input<string | null | undefined>()\n\n /**\n * The initial selected node value when rendered.\n * Use when you don't need to control the selected node value.\n */\n readonly defaultSelectedValue = input<string[] | undefined>()\n\n /**\n * The document's text/writing direction.\n */\n readonly dir = input<Direction | undefined>()\n\n /**\n * Whether the side navigation collapse behavior is disabled.\n */\n readonly disabled = input<boolean | undefined, Booleanish>(undefined, {\n transform: booleanAttribute,\n })\n\n /**\n * The controlled expanded node ids\n */\n readonly expandedValue = input<string[] | undefined>()\n\n /**\n * Whether clicking on a branch should open it or not\n * @default true\n */\n readonly expandOnClick = input<boolean | undefined, Booleanish>(undefined, {\n transform: booleanAttribute,\n })\n\n /**\n * The value of the focused node\n */\n readonly focusedValue = input<string | null | undefined>()\n\n /**\n * A root node to correctly resolve the Document in custom environments. i.e.,\n * Iframes, Electron.\n */\n readonly getRootNode = input<\n (() => ShadowRoot | Document | Node) | undefined\n >()\n\n /**\n * HTML id attribute. If omitted, a unique identifier will be generated for\n * accessibility.\n */\n readonly id = input<string>()\n\n /**\n * When true, the component will not be rendered in the DOM until it becomes\n * visible or active.\n *\n * @default false\n */\n readonly lazyMount = input<boolean | undefined, Booleanish>(undefined, {\n transform: booleanAttribute,\n })\n\n /**\n * Function to load children for a node asynchronously.\n * When provided, branches will wait for this promise to resolve before expanding.\n */\n readonly loadChildren = input<\n ((details: LoadChildrenDetails<T>) => Promise<T[]>) | undefined\n >()\n\n /**\n * The controlled open state of the side navigation\n */\n readonly open = input<boolean | undefined, Booleanish>(undefined, {\n transform: booleanAttribute,\n })\n\n /**\n * The controlled selected node value\n */\n readonly selectedValue = input<string[] | undefined>()\n\n /**\n * Whether the tree supports multiple selection\n * @option `'single'`: only one node can be selected\n * @option `'multiple'`: multiple nodes can be selected\n *\n * @default 'single'\n */\n readonly selectionMode = input<\"single\" | \"multiple\" | undefined>()\n\n /**\n * Callback function that determines whether a node should be hidden.\n */\n readonly shouldHideNode =\n input<(state: NodeState<T>) => boolean | undefined>()\n\n /**\n * Whether the tree supports typeahead search\n * @default true\n */\n readonly typeahead = input<boolean | undefined, Booleanish>(undefined, {\n transform: booleanAttribute,\n })\n\n /**\n * When true, the component will be completely removed from the DOM when it\n * becomes inactive or hidden, rather than just being hidden with CSS.\n *\n * @default false\n */\n readonly unmountOnExit = input<boolean | undefined, Booleanish>(undefined, {\n transform: booleanAttribute,\n })\n\n /**\n * Called when the tree is opened or closed\n */\n readonly expandedValueChanged = output<ExpandedChangeDetails<T>>()\n\n /**\n * Called when the focused node changes\n */\n readonly focusChanged = output<FocusChangeDetails<T>>()\n\n /**\n * Called when a node finishes loading children\n */\n readonly loadChildrenComplete = output<LoadChildrenCompleteDetails<T>>()\n\n /**\n * Called when loading children fails for one or more nodes\n */\n readonly loadChildrenError = output<LoadChildrenErrorDetails<T>>()\n\n /**\n * Called when the selection changes\n */\n readonly selectedValueChanged = output<SelectionChangeDetails<T>>()\n\n /**\n * Called when the side navigation opens or closes\n */\n readonly openChanged = output<boolean>()\n\n protected readonly document = inject(DOCUMENT)\n protected readonly hostId = computed(() => useId(this, this.id()))\n readonly injector = inject(Injector)\n protected readonly isMounted = useIsMounted()\n protected readonly renderStrategyContextService = inject(\n RenderStrategyContextService,\n )\n protected readonly sideNavContextService = inject(SideNavContextService)\n protected readonly treeContextService = inject(TreeContextService)\n\n protected readonly trackBindings = useTrackBindings(() =>\n this.sideNavContextService.context().getRootBindings({\n id: this.hostId(),\n }),\n )\n\n ngOnInit() {\n const sideNavMachineInstance = useMachine(\n sideNavMachine,\n computed<Explicit<SideNavApiProps>>(() => ({\n defaultOpen: this.defaultOpen(),\n dir: this.dir(),\n disabled: this.disabled(),\n getRootNode: this.getRootNode() || (() => this.document),\n onOpenChange: (open) => {\n if (this.isMounted()) {\n this.openChanged.emit(open)\n }\n },\n open: this.open(),\n })),\n this.injector,\n )\n\n const sideNavApi = computed(() =>\n createSideNavApi(sideNavMachineInstance, normalizeProps),\n )\n\n this.sideNavContextService.init(sideNavApi)\n\n const treeMachineInstance = useMachine(\n treeMachine,\n computed<Explicit<TreeApiProps<T>>>(() => {\n const sideNavOpen = sideNavApi().open\n const userShouldHideNode = this.shouldHideNode()\n\n return {\n checkedValue: undefined,\n collection: this.collection(),\n defaultCheckedValue: undefined,\n defaultExpandedValue: this.defaultExpandedValue(),\n defaultFocusedValue: this.defaultFocusedValue(),\n defaultSelectedValue: this.defaultSelectedValue(),\n dir: this.dir(),\n expandedValue: sideNavOpen ? this.expandedValue() : [],\n expandOnClick: this.expandOnClick(),\n focusedValue: this.focusedValue(),\n getRootNode: this.getRootNode() || (() => this.document),\n loadChildren: this.loadChildren(),\n onCheckedValueChange: undefined,\n onExpandedValueChange: (details) => {\n if (this.isMounted()) {\n this.expandedValueChanged.emit(details)\n }\n },\n onFocusChange: (details) => {\n if (this.isMounted()) {\n this.focusChanged.emit(details)\n }\n },\n onLoadChildrenComplete: (details) => {\n if (this.isMounted()) {\n this.loadChildrenComplete.emit(details)\n }\n },\n onLoadChildrenError: (details) => {\n if (this.isMounted()) {\n this.loadChildrenError.emit(details)\n }\n },\n onSelectedValueChange: (details) => {\n if (this.isMounted()) {\n this.selectedValueChanged.emit(details)\n }\n },\n selectedValue: this.selectedValue(),\n selectionMode: this.selectionMode(),\n shouldHideNode: (node) => {\n if (!sideNavOpen && node.depth > 1) {\n return true\n }\n return userShouldHideNode?.(node)\n },\n typeahead: this.typeahead(),\n }\n }),\n this.injector,\n )\n\n this.treeContextService.init(\n computed(() => createTreeApi(treeMachineInstance, normalizeProps)),\n )\n\n this.renderStrategyContextService.init(\n computed<Explicit<RenderStrategyApiProps>>(() => ({\n lazyMount: this.lazyMount(),\n unmountOnExit: this.unmountOnExit(),\n })),\n )\n\n this.trackBindings()\n }\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {Directive, input, type OnInit} from \"@angular/core\"\n\nimport {useId} from \"@qualcomm-ui/angular-core/common\"\nimport {useTrackBindings} from \"@qualcomm-ui/angular-core/machine\"\n\nimport {useSideNavContext} from \"./side-nav-context.service\"\n\n@Directive()\nexport class CoreSideNavTriggerDirective implements OnInit {\n /**\n * HTML id attribute. If omitted, a unique identifier will be generated for\n * accessibility.\n */\n readonly id = input<string>()\n\n protected readonly sideNavContext = useSideNavContext()\n\n protected readonly trackBindings = useTrackBindings(() =>\n this.sideNavContext().getTriggerBindings({\n id: useId(this, this.id()),\n }),\n )\n\n ngOnInit() {\n this.trackBindings()\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -105,7 +105,7 @@ function hostBinding(hostPropertyName, signal, injector) {
|
|
|
105
105
|
* Converts an object's function properties to computed signals.
|
|
106
106
|
*/
|
|
107
107
|
function signalifyObject(someObject) {
|
|
108
|
-
const objectSignal = signal(someObject, ...(ngDevMode ? [{ debugName: "objectSignal" }] : []));
|
|
108
|
+
const objectSignal = signal(someObject, ...(ngDevMode ? [{ debugName: "objectSignal" }] : /* istanbul ignore next */ []));
|
|
109
109
|
return new Proxy(objectSignal, {
|
|
110
110
|
apply() {
|
|
111
111
|
return objectSignal();
|
|
@@ -162,7 +162,7 @@ function toComputed(signal, fn) {
|
|
|
162
162
|
const computedSignal = computed(() => {
|
|
163
163
|
void signal();
|
|
164
164
|
return fn(...argsArray);
|
|
165
|
-
}, ...(ngDevMode ? [{ debugName: "computedSignal" }] : []));
|
|
165
|
+
}, ...(ngDevMode ? [{ debugName: "computedSignal" }] : /* istanbul ignore next */ []));
|
|
166
166
|
computedCache[serializedArgs] = computedSignal;
|
|
167
167
|
return computedSignal();
|
|
168
168
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"qualcomm-ui-angular-core-signals.mjs","sources":["../../src/signals/access-signal.ts","../../src/signals/host-binding.ts","../../src/signals/signalify-object.ts","../../src/signals/qualcomm-ui-angular-core-signals.ts"],"sourcesContent":["// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {isSignal} from \"@angular/core\"\n\nimport type {MaybeSignal} from \"./signals.types\"\n\n/**\n * Accesses the value of a signal if the provided input is a signal; otherwise,\n * returns the input directly.\n *\n * @param {T | Signal<T>} maybeSignal - The input which can either be a signal or a direct value of type T.\n * @return {T} The resolved value of the signal if the input is a signal, or the input value itself if it is not a signal.\n */\nexport function accessSignal<T>(maybeSignal: MaybeSignal<T>): T {\n if (!maybeSignal) {\n return maybeSignal as unknown as T\n }\n return isSignal(maybeSignal) ? maybeSignal() : maybeSignal\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {\n assertInInjectionContext,\n effect,\n ElementRef,\n type HostBinding,\n inject,\n Injector,\n Renderer2,\n RendererStyleFlags2,\n runInInjectionContext,\n type Signal,\n type WritableSignal,\n} from \"@angular/core\"\n\n/**\n * `assertInjector` extends `assertInInjectionContext` with an optional `Injector`\n * After assertion, `assertInjector` runs the `runner` function with the guaranteed\n * `Injector` whether it is the default `Injector` within the current **Injection\n * Context** or the custom `Injector` that was passed in.\n *\n * @template {() => any} Runner - Runner is a function that can return anything\n * @param {Function} fn - the Function to pass in `assertInInjectionContext`\n * @param {Injector | undefined | null} injector - the optional \"custom\" Injector\n * @param {Runner} runner - the runner fn\n * @returns {ReturnType<Runner>} result - returns the result of the Runner\n *\n * @example\n * ```ts\n * function injectValue(injector?: Injector) {\n * return assertInjector(injectValue, injector, () => 'value');\n * }\n *\n * injectValue(); // string\n * ```\n */\nexport function assertInjector<Runner extends () => any>(\n fn: (...args: unknown[]) => any,\n injector: Injector | undefined | null,\n runner: Runner,\n): ReturnType<Runner>\n\n/**\n * `assertInjector` extends `assertInInjectionContext` with an optional `Injector`\n * After assertion, `assertInjector` returns a guaranteed `Injector` whether it is\n * the default `Injector` within the current **Injection Context** or the custom\n * `Injector` that was passed in.\n *\n * @param {Function} fn - the Function to pass in `assertInInjectionContext`\n * @param {Injector | undefined | null} injector - the optional \"custom\" Injector\n * @returns Injector\n */\nexport function assertInjector(\n fn: (...args: any[]) => unknown,\n injector: Injector | undefined | null,\n): Injector\nexport function assertInjector(\n fn: (...args: unknown[]) => unknown,\n injector: Injector | undefined | null,\n runner?: () => any,\n) {\n if (!injector) {\n assertInInjectionContext(fn)\n }\n const assertedInjector = injector ?? inject(Injector)\n\n if (!runner) {\n return assertedInjector\n }\n return runInInjectionContext(assertedInjector, runner)\n}\n\n/**\n * `hostBinding` takes a `hostPropertyName` to attach a data property, a class, a\n * style or an attribute (as `@HostBinding` would) to the host. The update is\n * applied based on the update of the provided signal.\n *\n * @param hostPropertyName - the same property that is bound to a data property, a class, a style or an attribute as `@HostBinding`.\n * @param signal - the signal on which to react to changes to update the host, and the one that will be returned as it is\n * @returns {Signal | WritableSignal}\n *\n * @example\n * ```ts\n * export class MyComponent {\n * readonly background = hostBinding('style.background', signal('blue'));\n *\n * constructor() {\n * setTimeout(() => this.background.set('red'), 3000);\n * }\n * }\n * ```\n *\n * TODO: verify with SSR\n */\nexport function hostBinding<T, S extends Signal<T> | WritableSignal<T>>(\n hostPropertyName: Required<HostBinding>[\"hostPropertyName\"],\n signal: S,\n injector?: Injector,\n): S {\n injector = assertInjector(hostBinding, injector)\n\n runInInjectionContext(injector, () => {\n const renderer = inject(Renderer2)\n const element: HTMLElement = inject(ElementRef).nativeElement\n\n effect(() => {\n let prevClasses: string[] = []\n const value = signal()\n const [binding, property, unit] = hostPropertyName.split(\".\")\n\n switch (binding) {\n case \"style\":\n renderer.setStyle(\n element,\n property,\n `${value as string}${unit ?? \"\"}`,\n property.startsWith(\"--\")\n ? RendererStyleFlags2.DashCase\n : undefined,\n )\n break\n case \"attr\":\n if (value == null) {\n renderer.removeAttribute(element, property)\n } else {\n renderer.setAttribute(element, property, String(value))\n }\n break\n case \"class\":\n if (!property) {\n if (prevClasses.length) {\n prevClasses.forEach((k) => renderer.removeClass(element, k))\n }\n prevClasses =\n typeof value === \"string\" ? value.split(\" \").filter(Boolean) : []\n prevClasses.forEach((k) => renderer.addClass(element, k))\n } else {\n if (value) {\n renderer.addClass(element, property)\n } else {\n renderer.removeClass(element, property)\n }\n }\n break\n default:\n renderer.setProperty(element, binding, value)\n }\n })\n })\n\n return signal\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {computed, signal, type Signal, untracked} from \"@angular/core\"\n\n/**\n * Converts an object's function properties to computed signals.\n */\nexport function signalifyObject<T extends Record<string, any>>(\n someObject: T,\n): T {\n const objectSignal = signal<T>(someObject)\n\n return new Proxy(objectSignal, {\n apply() {\n return objectSignal()\n },\n get(target: any, property: any): any {\n if (target[property]) {\n return target[property]\n }\n const untrackedObject: any = untracked(objectSignal)\n const maybeFn = untrackedObject[property]\n if (typeof maybeFn === \"function\") {\n Object.defineProperty(target, property, {\n configurable: true,\n enumerable: true,\n value: toComputed(objectSignal, maybeFn),\n })\n return target[property]\n }\n return (target[property] = untrackedObject[property])\n },\n getOwnPropertyDescriptor() {\n return {\n configurable: true,\n enumerable: true,\n }\n },\n has(_, prop: string) {\n return !!untracked(objectSignal)[prop]\n },\n ownKeys() {\n return Reflect.ownKeys(untracked(objectSignal))\n },\n })\n}\n\n/**\n * Since we cannot automatically detect the parameters of accessors, we will wrap\n * all accessors in a cached function. This function will wrap a computed value that\n * returns its result based on the given parameters.\n */\nfunction toComputed(signal: Signal<any>, fn: (...args: unknown[]) => unknown) {\n const hasArgs = fn.length > 0\n if (!hasArgs) {\n return computed(() => {\n void signal()\n return fn()\n })\n }\n\n const computedCache: Record<string, Signal<unknown>> = {}\n\n return (...argsArray: any[]) => {\n const serializedArgs = serializeArgs(...argsArray)\n if (computedCache.hasOwnProperty(serializedArgs)) {\n return computedCache[serializedArgs]?.()\n }\n const computedSignal = computed(() => {\n void signal()\n return fn(...argsArray)\n })\n\n computedCache[serializedArgs] = computedSignal\n\n return computedSignal()\n }\n}\n\nfunction serializeArgs(...args: any[]) {\n return JSON.stringify(args)\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"qualcomm-ui-angular-core-signals.mjs","sources":["../../src/signals/access-signal.ts","../../src/signals/host-binding.ts","../../src/signals/signalify-object.ts","../../src/signals/qualcomm-ui-angular-core-signals.ts"],"sourcesContent":["// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {isSignal} from \"@angular/core\"\n\nimport type {MaybeSignal} from \"./signals.types\"\n\n/**\n * Accesses the value of a signal if the provided input is a signal; otherwise,\n * returns the input directly.\n *\n * @param {T | Signal<T>} maybeSignal - The input which can either be a signal or a direct value of type T.\n * @return {T} The resolved value of the signal if the input is a signal, or the input value itself if it is not a signal.\n */\nexport function accessSignal<T>(maybeSignal: MaybeSignal<T>): T {\n if (!maybeSignal) {\n return maybeSignal as unknown as T\n }\n return isSignal(maybeSignal) ? maybeSignal() : maybeSignal\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {\n assertInInjectionContext,\n effect,\n ElementRef,\n type HostBinding,\n inject,\n Injector,\n Renderer2,\n RendererStyleFlags2,\n runInInjectionContext,\n type Signal,\n type WritableSignal,\n} from \"@angular/core\"\n\n/**\n * `assertInjector` extends `assertInInjectionContext` with an optional `Injector`\n * After assertion, `assertInjector` runs the `runner` function with the guaranteed\n * `Injector` whether it is the default `Injector` within the current **Injection\n * Context** or the custom `Injector` that was passed in.\n *\n * @template {() => any} Runner - Runner is a function that can return anything\n * @param {Function} fn - the Function to pass in `assertInInjectionContext`\n * @param {Injector | undefined | null} injector - the optional \"custom\" Injector\n * @param {Runner} runner - the runner fn\n * @returns {ReturnType<Runner>} result - returns the result of the Runner\n *\n * @example\n * ```ts\n * function injectValue(injector?: Injector) {\n * return assertInjector(injectValue, injector, () => 'value');\n * }\n *\n * injectValue(); // string\n * ```\n */\nexport function assertInjector<Runner extends () => any>(\n fn: (...args: unknown[]) => any,\n injector: Injector | undefined | null,\n runner: Runner,\n): ReturnType<Runner>\n\n/**\n * `assertInjector` extends `assertInInjectionContext` with an optional `Injector`\n * After assertion, `assertInjector` returns a guaranteed `Injector` whether it is\n * the default `Injector` within the current **Injection Context** or the custom\n * `Injector` that was passed in.\n *\n * @param {Function} fn - the Function to pass in `assertInInjectionContext`\n * @param {Injector | undefined | null} injector - the optional \"custom\" Injector\n * @returns Injector\n */\nexport function assertInjector(\n fn: (...args: any[]) => unknown,\n injector: Injector | undefined | null,\n): Injector\nexport function assertInjector(\n fn: (...args: unknown[]) => unknown,\n injector: Injector | undefined | null,\n runner?: () => any,\n) {\n if (!injector) {\n assertInInjectionContext(fn)\n }\n const assertedInjector = injector ?? inject(Injector)\n\n if (!runner) {\n return assertedInjector\n }\n return runInInjectionContext(assertedInjector, runner)\n}\n\n/**\n * `hostBinding` takes a `hostPropertyName` to attach a data property, a class, a\n * style or an attribute (as `@HostBinding` would) to the host. The update is\n * applied based on the update of the provided signal.\n *\n * @param hostPropertyName - the same property that is bound to a data property, a class, a style or an attribute as `@HostBinding`.\n * @param signal - the signal on which to react to changes to update the host, and the one that will be returned as it is\n * @returns {Signal | WritableSignal}\n *\n * @example\n * ```ts\n * export class MyComponent {\n * readonly background = hostBinding('style.background', signal('blue'));\n *\n * constructor() {\n * setTimeout(() => this.background.set('red'), 3000);\n * }\n * }\n * ```\n *\n * TODO: verify with SSR\n */\nexport function hostBinding<T, S extends Signal<T> | WritableSignal<T>>(\n hostPropertyName: Required<HostBinding>[\"hostPropertyName\"],\n signal: S,\n injector?: Injector,\n): S {\n injector = assertInjector(hostBinding, injector)\n\n runInInjectionContext(injector, () => {\n const renderer = inject(Renderer2)\n const element: HTMLElement = inject(ElementRef).nativeElement\n\n effect(() => {\n let prevClasses: string[] = []\n const value = signal()\n const [binding, property, unit] = hostPropertyName.split(\".\")\n\n switch (binding) {\n case \"style\":\n renderer.setStyle(\n element,\n property,\n `${value as string}${unit ?? \"\"}`,\n property.startsWith(\"--\")\n ? RendererStyleFlags2.DashCase\n : undefined,\n )\n break\n case \"attr\":\n if (value == null) {\n renderer.removeAttribute(element, property)\n } else {\n renderer.setAttribute(element, property, String(value))\n }\n break\n case \"class\":\n if (!property) {\n if (prevClasses.length) {\n prevClasses.forEach((k) => renderer.removeClass(element, k))\n }\n prevClasses =\n typeof value === \"string\" ? value.split(\" \").filter(Boolean) : []\n prevClasses.forEach((k) => renderer.addClass(element, k))\n } else {\n if (value) {\n renderer.addClass(element, property)\n } else {\n renderer.removeClass(element, property)\n }\n }\n break\n default:\n renderer.setProperty(element, binding, value)\n }\n })\n })\n\n return signal\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {computed, signal, type Signal, untracked} from \"@angular/core\"\n\n/**\n * Converts an object's function properties to computed signals.\n */\nexport function signalifyObject<T extends Record<string, any>>(\n someObject: T,\n): T {\n const objectSignal = signal<T>(someObject)\n\n return new Proxy(objectSignal, {\n apply() {\n return objectSignal()\n },\n get(target: any, property: any): any {\n if (target[property]) {\n return target[property]\n }\n const untrackedObject: any = untracked(objectSignal)\n const maybeFn = untrackedObject[property]\n if (typeof maybeFn === \"function\") {\n Object.defineProperty(target, property, {\n configurable: true,\n enumerable: true,\n value: toComputed(objectSignal, maybeFn),\n })\n return target[property]\n }\n return (target[property] = untrackedObject[property])\n },\n getOwnPropertyDescriptor() {\n return {\n configurable: true,\n enumerable: true,\n }\n },\n has(_, prop: string) {\n return !!untracked(objectSignal)[prop]\n },\n ownKeys() {\n return Reflect.ownKeys(untracked(objectSignal))\n },\n })\n}\n\n/**\n * Since we cannot automatically detect the parameters of accessors, we will wrap\n * all accessors in a cached function. This function will wrap a computed value that\n * returns its result based on the given parameters.\n */\nfunction toComputed(signal: Signal<any>, fn: (...args: unknown[]) => unknown) {\n const hasArgs = fn.length > 0\n if (!hasArgs) {\n return computed(() => {\n void signal()\n return fn()\n })\n }\n\n const computedCache: Record<string, Signal<unknown>> = {}\n\n return (...argsArray: any[]) => {\n const serializedArgs = serializeArgs(...argsArray)\n if (computedCache.hasOwnProperty(serializedArgs)) {\n return computedCache[serializedArgs]?.()\n }\n const computedSignal = computed(() => {\n void signal()\n return fn(...argsArray)\n })\n\n computedCache[serializedArgs] = computedSignal\n\n return computedSignal()\n }\n}\n\nfunction serializeArgs(...args: any[]) {\n return JSON.stringify(args)\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|