{"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\"\nimport {mergeProps} from \"@qualcomm-ui/utils/merge-props\"\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    mergeProps(\n      this.treeContextService.context().getRootBindings({\n        id: this.hostId(),\n      }),\n      this.sideNavContextService.context().getRootBindings({\n        id: this.hostId(),\n      }),\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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"}