@tailng-ui/components 0.12.0 → 0.14.0

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 (169) hide show
  1. package/package.json +2 -2
  2. package/src/lib/feedback/empty/tng-empty.component.d.ts.map +1 -1
  3. package/src/lib/feedback/empty/tng-empty.component.js +0 -5
  4. package/src/lib/feedback/empty/tng-empty.component.js.map +1 -1
  5. package/src/lib/feedback/progress-bar/tng-progress-bar.component.d.ts.map +1 -1
  6. package/src/lib/feedback/progress-bar/tng-progress-bar.component.js +0 -1
  7. package/src/lib/feedback/progress-bar/tng-progress-bar.component.js.map +1 -1
  8. package/src/lib/feedback/progress-spinner/tng-progress-spinner.component.d.ts.map +1 -1
  9. package/src/lib/feedback/progress-spinner/tng-progress-spinner.component.js +0 -1
  10. package/src/lib/feedback/progress-spinner/tng-progress-spinner.component.js.map +1 -1
  11. package/src/lib/feedback/skeleton/tng-skeleton.component.d.ts.map +1 -1
  12. package/src/lib/feedback/skeleton/tng-skeleton.component.js +0 -1
  13. package/src/lib/feedback/skeleton/tng-skeleton.component.js.map +1 -1
  14. package/src/lib/feedback/toast/tng-toast.component.d.ts.map +1 -1
  15. package/src/lib/feedback/toast/tng-toast.component.js +0 -1
  16. package/src/lib/feedback/toast/tng-toast.component.js.map +1 -1
  17. package/src/lib/form/autocomplete/tng-autocomplete.component.d.ts.map +1 -1
  18. package/src/lib/form/autocomplete/tng-autocomplete.component.js +0 -1
  19. package/src/lib/form/autocomplete/tng-autocomplete.component.js.map +1 -1
  20. package/src/lib/form/button-toggle/tng-button-toggle-group.component.d.ts.map +1 -1
  21. package/src/lib/form/button-toggle/tng-button-toggle-group.component.js +0 -1
  22. package/src/lib/form/button-toggle/tng-button-toggle-group.component.js.map +1 -1
  23. package/src/lib/form/button-toggle/tng-button-toggle.component.d.ts.map +1 -1
  24. package/src/lib/form/button-toggle/tng-button-toggle.component.js +0 -1
  25. package/src/lib/form/button-toggle/tng-button-toggle.component.js.map +1 -1
  26. package/src/lib/form/checkbox/tng-checkbox.component.d.ts.map +1 -1
  27. package/src/lib/form/checkbox/tng-checkbox.component.js +0 -1
  28. package/src/lib/form/checkbox/tng-checkbox.component.js.map +1 -1
  29. package/src/lib/form/chips/tng-chips.component.d.ts.map +1 -1
  30. package/src/lib/form/chips/tng-chips.component.js +0 -1
  31. package/src/lib/form/chips/tng-chips.component.js.map +1 -1
  32. package/src/lib/form/combobox/tng-combobox.component.d.ts.map +1 -1
  33. package/src/lib/form/combobox/tng-combobox.component.js +0 -1
  34. package/src/lib/form/combobox/tng-combobox.component.js.map +1 -1
  35. package/src/lib/form/input/tng-input.component.d.ts.map +1 -1
  36. package/src/lib/form/input/tng-input.component.js +0 -1
  37. package/src/lib/form/input/tng-input.component.js.map +1 -1
  38. package/src/lib/form/input-otp/tng-input-otp.component.d.ts.map +1 -1
  39. package/src/lib/form/input-otp/tng-input-otp.component.js +0 -1
  40. package/src/lib/form/input-otp/tng-input-otp.component.js.map +1 -1
  41. package/src/lib/form/label/tng-label.component.d.ts.map +1 -1
  42. package/src/lib/form/label/tng-label.component.js +0 -1
  43. package/src/lib/form/label/tng-label.component.js.map +1 -1
  44. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.component.d.ts.map +1 -1
  45. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.component.js +0 -1
  46. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.component.js.map +1 -1
  47. package/src/lib/form/multiselect/tng-multiselect.component.d.ts.map +1 -1
  48. package/src/lib/form/multiselect/tng-multiselect.component.js +0 -1
  49. package/src/lib/form/multiselect/tng-multiselect.component.js.map +1 -1
  50. package/src/lib/form/radio/tng-radio.component.d.ts.map +1 -1
  51. package/src/lib/form/radio/tng-radio.component.js +0 -1
  52. package/src/lib/form/radio/tng-radio.component.js.map +1 -1
  53. package/src/lib/form/select/tng-select.component.d.ts.map +1 -1
  54. package/src/lib/form/select/tng-select.component.js +0 -1
  55. package/src/lib/form/select/tng-select.component.js.map +1 -1
  56. package/src/lib/form/select/tng-select.slots.d.ts.map +1 -1
  57. package/src/lib/form/select/tng-select.slots.js +0 -2
  58. package/src/lib/form/select/tng-select.slots.js.map +1 -1
  59. package/src/lib/form/slider/tng-slider.component.d.ts.map +1 -1
  60. package/src/lib/form/slider/tng-slider.component.js +0 -1
  61. package/src/lib/form/slider/tng-slider.component.js.map +1 -1
  62. package/src/lib/form/switch/tng-switch.component.d.ts.map +1 -1
  63. package/src/lib/form/switch/tng-switch.component.js +0 -1
  64. package/src/lib/form/switch/tng-switch.component.js.map +1 -1
  65. package/src/lib/form/textarea/tng-textarea.component.d.ts.map +1 -1
  66. package/src/lib/form/textarea/tng-textarea.component.js +0 -1
  67. package/src/lib/form/textarea/tng-textarea.component.js.map +1 -1
  68. package/src/lib/form/toggle/tng-toggle.component.d.ts.map +1 -1
  69. package/src/lib/form/toggle/tng-toggle.component.js +0 -1
  70. package/src/lib/form/toggle/tng-toggle.component.js.map +1 -1
  71. package/src/lib/form/toggle-group/tng-toggle-group.component.d.ts.map +1 -1
  72. package/src/lib/form/toggle-group/tng-toggle-group.component.js +0 -1
  73. package/src/lib/form/toggle-group/tng-toggle-group.component.js.map +1 -1
  74. package/src/lib/layout/accordion/tng-accordion.component.d.ts.map +1 -1
  75. package/src/lib/layout/accordion/tng-accordion.component.js +0 -4
  76. package/src/lib/layout/accordion/tng-accordion.component.js.map +1 -1
  77. package/src/lib/layout/bottom-sheet/tng-bottom-sheet.component.d.ts.map +1 -1
  78. package/src/lib/layout/bottom-sheet/tng-bottom-sheet.component.js +0 -1
  79. package/src/lib/layout/bottom-sheet/tng-bottom-sheet.component.js.map +1 -1
  80. package/src/lib/layout/card/tng-card.component.d.ts.map +1 -1
  81. package/src/lib/layout/card/tng-card.component.js +0 -10
  82. package/src/lib/layout/card/tng-card.component.js.map +1 -1
  83. package/src/lib/layout/collapsible/tng-collapsible.component.d.ts.map +1 -1
  84. package/src/lib/layout/collapsible/tng-collapsible.component.js +0 -1
  85. package/src/lib/layout/collapsible/tng-collapsible.component.js.map +1 -1
  86. package/src/lib/layout/drawer/tng-drawer.component.d.ts.map +1 -1
  87. package/src/lib/layout/drawer/tng-drawer.component.js +0 -1
  88. package/src/lib/layout/drawer/tng-drawer.component.js.map +1 -1
  89. package/src/lib/layout/grid/tng-grid.component.d.ts.map +1 -1
  90. package/src/lib/layout/grid/tng-grid.component.js +0 -1
  91. package/src/lib/layout/grid/tng-grid.component.js.map +1 -1
  92. package/src/lib/layout/separator/tng-separator.component.d.ts.map +1 -1
  93. package/src/lib/layout/separator/tng-separator.component.js +0 -1
  94. package/src/lib/layout/separator/tng-separator.component.js.map +1 -1
  95. package/src/lib/layout/stepper/tng-stepper.component.d.ts.map +1 -1
  96. package/src/lib/layout/stepper/tng-stepper.component.js +0 -1
  97. package/src/lib/layout/stepper/tng-stepper.component.js.map +1 -1
  98. package/src/lib/navigation/breadcrumb/tng-breadcrumb-item.component.d.ts.map +1 -1
  99. package/src/lib/navigation/breadcrumb/tng-breadcrumb-item.component.js +0 -1
  100. package/src/lib/navigation/breadcrumb/tng-breadcrumb-item.component.js.map +1 -1
  101. package/src/lib/navigation/breadcrumb/tng-breadcrumb-link.component.d.ts.map +1 -1
  102. package/src/lib/navigation/breadcrumb/tng-breadcrumb-link.component.js +0 -1
  103. package/src/lib/navigation/breadcrumb/tng-breadcrumb-link.component.js.map +1 -1
  104. package/src/lib/navigation/breadcrumb/tng-breadcrumb-list.component.d.ts.map +1 -1
  105. package/src/lib/navigation/breadcrumb/tng-breadcrumb-list.component.js +0 -1
  106. package/src/lib/navigation/breadcrumb/tng-breadcrumb-list.component.js.map +1 -1
  107. package/src/lib/navigation/breadcrumb/tng-breadcrumb-separator-template.directive.d.ts.map +1 -1
  108. package/src/lib/navigation/breadcrumb/tng-breadcrumb-separator-template.directive.js +0 -1
  109. package/src/lib/navigation/breadcrumb/tng-breadcrumb-separator-template.directive.js.map +1 -1
  110. package/src/lib/navigation/breadcrumb/tng-breadcrumb-separator.component.d.ts.map +1 -1
  111. package/src/lib/navigation/breadcrumb/tng-breadcrumb-separator.component.js +0 -1
  112. package/src/lib/navigation/breadcrumb/tng-breadcrumb-separator.component.js.map +1 -1
  113. package/src/lib/navigation/breadcrumb/tng-breadcrumb.component.d.ts.map +1 -1
  114. package/src/lib/navigation/breadcrumb/tng-breadcrumb.component.js +0 -1
  115. package/src/lib/navigation/breadcrumb/tng-breadcrumb.component.js.map +1 -1
  116. package/src/lib/navigation/context-menu/tng-context-menu.component.d.ts.map +1 -1
  117. package/src/lib/navigation/context-menu/tng-context-menu.component.js +0 -1
  118. package/src/lib/navigation/context-menu/tng-context-menu.component.js.map +1 -1
  119. package/src/lib/navigation/dropdown-menu/tng-dropdown-menu.component.d.ts.map +1 -1
  120. package/src/lib/navigation/dropdown-menu/tng-dropdown-menu.component.js +0 -1
  121. package/src/lib/navigation/dropdown-menu/tng-dropdown-menu.component.js.map +1 -1
  122. package/src/lib/navigation/menu/tng-menu-trigger-for.directive.d.ts.map +1 -1
  123. package/src/lib/navigation/menu/tng-menu-trigger-for.directive.js +0 -1
  124. package/src/lib/navigation/menu/tng-menu-trigger-for.directive.js.map +1 -1
  125. package/src/lib/navigation/menu/tng-menu.component.d.ts.map +1 -1
  126. package/src/lib/navigation/menu/tng-menu.component.js +0 -1
  127. package/src/lib/navigation/menu/tng-menu.component.js.map +1 -1
  128. package/src/lib/navigation/menubar/tng-menubar.component.d.ts.map +1 -1
  129. package/src/lib/navigation/menubar/tng-menubar.component.js +0 -1
  130. package/src/lib/navigation/menubar/tng-menubar.component.js.map +1 -1
  131. package/src/lib/navigation/navigation-menu/tng-navigation-menu.component.d.ts.map +1 -1
  132. package/src/lib/navigation/navigation-menu/tng-navigation-menu.component.js +0 -1
  133. package/src/lib/navigation/navigation-menu/tng-navigation-menu.component.js.map +1 -1
  134. package/src/lib/navigation/tabs/tng-tabs.component.d.ts.map +1 -1
  135. package/src/lib/navigation/tabs/tng-tabs.component.js +0 -1
  136. package/src/lib/navigation/tabs/tng-tabs.component.js.map +1 -1
  137. package/src/lib/navigation/toolbar/tng-toolbar.component.d.ts.map +1 -1
  138. package/src/lib/navigation/toolbar/tng-toolbar.component.js +0 -1
  139. package/src/lib/navigation/toolbar/tng-toolbar.component.js.map +1 -1
  140. package/src/lib/overlay/dialog/tng-dialog.component.d.ts.map +1 -1
  141. package/src/lib/overlay/dialog/tng-dialog.component.js +0 -1
  142. package/src/lib/overlay/dialog/tng-dialog.component.js.map +1 -1
  143. package/src/lib/overlay/popover/tng-popover.component.d.ts.map +1 -1
  144. package/src/lib/overlay/popover/tng-popover.component.js +0 -1
  145. package/src/lib/overlay/popover/tng-popover.component.js.map +1 -1
  146. package/src/lib/overlay/tooltip/tng-tooltip.component.d.ts.map +1 -1
  147. package/src/lib/overlay/tooltip/tng-tooltip.component.js +0 -1
  148. package/src/lib/overlay/tooltip/tng-tooltip.component.js.map +1 -1
  149. package/src/lib/utility/avatar/tng-avatar.component.d.ts.map +1 -1
  150. package/src/lib/utility/avatar/tng-avatar.component.js +0 -1
  151. package/src/lib/utility/avatar/tng-avatar.component.js.map +1 -1
  152. package/src/lib/utility/badge/tng-badge.component.d.ts.map +1 -1
  153. package/src/lib/utility/badge/tng-badge.component.js +0 -1
  154. package/src/lib/utility/badge/tng-badge.component.js.map +1 -1
  155. package/src/lib/utility/button/tng-button.component.d.ts.map +1 -1
  156. package/src/lib/utility/button/tng-button.component.js +0 -1
  157. package/src/lib/utility/button/tng-button.component.js.map +1 -1
  158. package/src/lib/utility/code-block/tng-code-block.component.d.ts.map +1 -1
  159. package/src/lib/utility/code-block/tng-code-block.component.js +0 -1
  160. package/src/lib/utility/code-block/tng-code-block.component.js.map +1 -1
  161. package/src/lib/utility/copy-button/tng-copy-button.component.d.ts.map +1 -1
  162. package/src/lib/utility/copy-button/tng-copy-button.component.js +0 -1
  163. package/src/lib/utility/copy-button/tng-copy-button.component.js.map +1 -1
  164. package/src/lib/utility/tag/tng-tag.component.d.ts.map +1 -1
  165. package/src/lib/utility/tag/tng-tag.component.js +0 -1
  166. package/src/lib/utility/tag/tng-tag.component.js.map +1 -1
  167. package/src/lib/utility/tree/tng-tree.component.d.ts.map +1 -1
  168. package/src/lib/utility/tree/tng-tree.component.js +0 -1
  169. package/src/lib/utility/tree/tng-tree.component.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"tng-select.component.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/form/select/tng-select.component.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n ContentChild,\n TemplateRef,\n computed,\n inject,\n input,\n} from '@angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\n\nimport {\n TngSelect,\n TngSelectTrigger,\n TngSelectValue,\n TngSelectIcon,\n TngSelectContent,\n TngSelectOverlay,\n TngSelectListbox,\n TngSelectOption,\n} from '@tailng-ui/primitives';\n\nexport type TngSelectGetValue<O, V> = (opt: O) => V;\nexport type TngSelectGetLabel<O> = (opt: O) => string;\nexport type TngSelectIsDisabled<O> = (opt: O) => boolean;\nexport type TngSelectTrackBy<O> = (index: number, opt: O) => unknown;\n\n// Slot templates (optional)\nexport type TngSelectValueContext<O, V> = {\n $implicit: { value: V | readonly V[] | null; option: O | null; label: string };\n};\nexport type TngSelectOptionContext<O, V> = {\n $implicit: { option: O; value: V; label: string; disabled: boolean; selected: boolean; active: boolean };\n};\n\n@Component({\n selector: 'tng-select',\n standalone: true,\n imports: [\n NgTemplateOutlet,\n // primitives used in template\n TngSelectTrigger,\n TngSelectValue,\n TngSelectIcon,\n TngSelectContent,\n TngSelectOverlay,\n TngSelectListbox,\n TngSelectOption,\n ],\n // Attach primitive directive to host + re-expose its controlled API.\n hostDirectives: [\n {\n directive: TngSelect,\n inputs: [\n 'open',\n 'value',\n 'disabled',\n 'loading',\n 'invalid',\n 'labelId',\n 'descriptionId',\n 'errorId',\n ],\n outputs: ['openChange', 'valueChange'],\n },\n ],\n templateUrl: './tng-select.component.html',\n})\nexport class TngSelectComponent<O = unknown, V = unknown> {\n // Access primitive instance for reading value/open state inside template.\n // (This works because the primitive is attached via hostDirectives.)\n protected readonly primitive = inject<TngSelect<V>>(TngSelect);\n\n // ----- data / accessors (recommended API) -----\n readonly options = input<readonly O[]>([]);\n readonly placeholder = input<string>('Select…');\n\n readonly getOptionValue = input<TngSelectGetValue<O, V>>(\n ((opt: any) => opt?.value) as TngSelectGetValue<O, V>,\n );\n readonly getOptionLabel = input<TngSelectGetLabel<O>>(\n ((opt: any) => String(opt?.label ?? opt?.value ?? opt)) as TngSelectGetLabel<O>,\n );\n readonly isOptionDisabled = input<TngSelectIsDisabled<O>>(\n ((opt: any) => !!opt?.disabled) as TngSelectIsDisabled<O>,\n );\n readonly trackBy = input<TngSelectTrackBy<O>>((_, opt) => opt as unknown);\n\n // ----- optional: icon text/slot (still headless) -----\n readonly iconText = input<string>('▾');\n\n // ----- slots (optional) -----\n @ContentChild('tngSelectValueTpl', { read: TemplateRef }) valueTpl?: TemplateRef<TngSelectValueContext<O, V>>;\n @ContentChild('tngSelectOptionTpl', { read: TemplateRef }) optionTpl?: TemplateRef<TngSelectOptionContext<O, V>>;\n\n // ----- derived state for default rendering -----\n protected readonly selectedOption = computed<O | null>(() => {\n const v = this.primitive.value();\n if (v === null) return null;\n\n const getV = this.getOptionValue();\n for (const opt of this.options()) {\n if (Object.is(getV(opt), v)) return opt;\n }\n return null;\n });\n\n protected readonly selectedLabel = computed<string>(() => {\n const opt = this.selectedOption();\n return opt ? this.getOptionLabel()(opt) : this.placeholder();\n });\n\n // Context helpers for templates\n protected valueContext(): TngSelectValueContext<O, V> {\n const v = this.primitive.value();\n const opt = this.selectedOption();\n const label = opt ? this.getOptionLabel()(opt) : this.placeholder();\n return { $implicit: { value: v, option: opt, label } };\n }\n\n protected optionContext(opt: O): TngSelectOptionContext<O, V> {\n const v = this.getOptionValue()(opt);\n const label = this.getOptionLabel()(opt);\n const disabled = this.isOptionDisabled()(opt);\n const selected = Object.is(this.primitive.value(), v);\n\n // “active” styling is handled by listbox primitive via data-active on the element,\n // but we include it in case the consumer’s template wants it.\n // (We can’t reliably compute active here without reading listbox controller state.)\n const active = false;\n\n return { $implicit: { option: opt, value: v, label, disabled, selected, active } };\n }\n}"]}
1
+ {"version":3,"file":"tng-select.component.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/form/select/tng-select.component.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n ContentChild,\n TemplateRef,\n computed,\n inject,\n input,\n} from '@angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\n\nimport {\n TngSelect,\n TngSelectTrigger,\n TngSelectValue,\n TngSelectIcon,\n TngSelectContent,\n TngSelectOverlay,\n TngSelectListbox,\n TngSelectOption,\n} from '@tailng-ui/primitives';\n\nexport type TngSelectGetValue<O, V> = (opt: O) => V;\nexport type TngSelectGetLabel<O> = (opt: O) => string;\nexport type TngSelectIsDisabled<O> = (opt: O) => boolean;\nexport type TngSelectTrackBy<O> = (index: number, opt: O) => unknown;\n\n// Slot templates (optional)\nexport type TngSelectValueContext<O, V> = {\n $implicit: { value: V | readonly V[] | null; option: O | null; label: string };\n};\nexport type TngSelectOptionContext<O, V> = {\n $implicit: { option: O; value: V; label: string; disabled: boolean; selected: boolean; active: boolean };\n};\n\n@Component({\n selector: 'tng-select',\n imports: [\n NgTemplateOutlet,\n // primitives used in template\n TngSelectTrigger,\n TngSelectValue,\n TngSelectIcon,\n TngSelectContent,\n TngSelectOverlay,\n TngSelectListbox,\n TngSelectOption,\n ],\n // Attach primitive directive to host + re-expose its controlled API.\n hostDirectives: [\n {\n directive: TngSelect,\n inputs: [\n 'open',\n 'value',\n 'disabled',\n 'loading',\n 'invalid',\n 'labelId',\n 'descriptionId',\n 'errorId',\n ],\n outputs: ['openChange', 'valueChange'],\n },\n ],\n templateUrl: './tng-select.component.html',\n})\nexport class TngSelectComponent<O = unknown, V = unknown> {\n // Access primitive instance for reading value/open state inside template.\n // (This works because the primitive is attached via hostDirectives.)\n protected readonly primitive = inject<TngSelect<V>>(TngSelect);\n\n // ----- data / accessors (recommended API) -----\n readonly options = input<readonly O[]>([]);\n readonly placeholder = input<string>('Select…');\n\n readonly getOptionValue = input<TngSelectGetValue<O, V>>(\n ((opt: any) => opt?.value) as TngSelectGetValue<O, V>,\n );\n readonly getOptionLabel = input<TngSelectGetLabel<O>>(\n ((opt: any) => String(opt?.label ?? opt?.value ?? opt)) as TngSelectGetLabel<O>,\n );\n readonly isOptionDisabled = input<TngSelectIsDisabled<O>>(\n ((opt: any) => !!opt?.disabled) as TngSelectIsDisabled<O>,\n );\n readonly trackBy = input<TngSelectTrackBy<O>>((_, opt) => opt as unknown);\n\n // ----- optional: icon text/slot (still headless) -----\n readonly iconText = input<string>('▾');\n\n // ----- slots (optional) -----\n @ContentChild('tngSelectValueTpl', { read: TemplateRef }) valueTpl?: TemplateRef<TngSelectValueContext<O, V>>;\n @ContentChild('tngSelectOptionTpl', { read: TemplateRef }) optionTpl?: TemplateRef<TngSelectOptionContext<O, V>>;\n\n // ----- derived state for default rendering -----\n protected readonly selectedOption = computed<O | null>(() => {\n const v = this.primitive.value();\n if (v === null) return null;\n\n const getV = this.getOptionValue();\n for (const opt of this.options()) {\n if (Object.is(getV(opt), v)) return opt;\n }\n return null;\n });\n\n protected readonly selectedLabel = computed<string>(() => {\n const opt = this.selectedOption();\n return opt ? this.getOptionLabel()(opt) : this.placeholder();\n });\n\n // Context helpers for templates\n protected valueContext(): TngSelectValueContext<O, V> {\n const v = this.primitive.value();\n const opt = this.selectedOption();\n const label = opt ? this.getOptionLabel()(opt) : this.placeholder();\n return { $implicit: { value: v, option: opt, label } };\n }\n\n protected optionContext(opt: O): TngSelectOptionContext<O, V> {\n const v = this.getOptionValue()(opt);\n const label = this.getOptionLabel()(opt);\n const disabled = this.isOptionDisabled()(opt);\n const selected = Object.is(this.primitive.value(), v);\n\n // “active” styling is handled by listbox primitive via data-active on the element,\n // but we include it in case the consumer’s template wants it.\n // (We can’t reliably compute active here without reading listbox controller state.)\n const active = false;\n\n return { $implicit: { option: opt, value: v, label, disabled, selected, active } };\n }\n}"]}
@@ -1 +1 @@
1
- {"version":3,"file":"tng-select.slots.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/form/select/tng-select.slots.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,WAAW,EAAU,MAAM,eAAe,CAAC;AAE/D,MAAM,MAAM,0BAA0B,CAAC,CAAC,EAAE,CAAC,IAAI,QAAQ,CAAC;IACtD,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;IAChB,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC,CAAC;AAEH,qBAIa,mBAAmB,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,OAAO;IACvD,QAAQ,CAAC,GAAG,mBAAyD;CACtE;AAED,MAAM,MAAM,yBAAyB,CAAC,CAAC,EAAE,CAAC,IAAI,QAAQ,CAAC;IACrD,SAAS,EAAE,CAAC,CAAC;IACb,MAAM,EAAE,CAAC,CAAC;IACV,KAAK,EAAE,CAAC,CAAC;IACT,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC,CAAC;AAEH,qBAIa,kBAAkB,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,OAAO;IACtD,QAAQ,CAAC,GAAG,mBAAwD;CACrE"}
1
+ {"version":3,"file":"tng-select.slots.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/form/select/tng-select.slots.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,WAAW,EAAU,MAAM,eAAe,CAAC;AAE/D,MAAM,MAAM,0BAA0B,CAAC,CAAC,EAAE,CAAC,IAAI,QAAQ,CAAC;IACtD,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;IAChB,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC,CAAC;AAEH,qBAGa,mBAAmB,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,OAAO;IACvD,QAAQ,CAAC,GAAG,mBAAyD;CACtE;AAED,MAAM,MAAM,yBAAyB,CAAC,CAAC,EAAE,CAAC,IAAI,QAAQ,CAAC;IACrD,SAAS,EAAE,CAAC,CAAC;IACb,MAAM,EAAE,CAAC,CAAC;IACV,KAAK,EAAE,CAAC,CAAC;IACT,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC,CAAC;AAEH,qBAGa,kBAAkB,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,OAAO;IACtD,QAAQ,CAAC,GAAG,mBAAwD;CACrE"}
@@ -6,7 +6,6 @@ let TngSelectTriggerTpl = class TngSelectTriggerTpl {
6
6
  TngSelectTriggerTpl = __decorate([
7
7
  Directive({
8
8
  selector: 'ng-template[tngSelectTriggerTpl]',
9
- standalone: true,
10
9
  })
11
10
  ], TngSelectTriggerTpl);
12
11
  export { TngSelectTriggerTpl };
@@ -16,7 +15,6 @@ let TngSelectOptionTpl = class TngSelectOptionTpl {
16
15
  TngSelectOptionTpl = __decorate([
17
16
  Directive({
18
17
  selector: 'ng-template[tngSelectOptionTpl]',
19
- standalone: true,
20
18
  })
21
19
  ], TngSelectOptionTpl);
22
20
  export { TngSelectOptionTpl };
@@ -1 +1 @@
1
- {"version":3,"file":"tng-select.slots.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/form/select/tng-select.slots.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAexD,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IACrB,GAAG,GAAG,MAAM,CAAC,CAAA,WAA6C,CAAA,CAAC,CAAC;CACtE,CAAA;AAFY,mBAAmB;IAJ/B,SAAS,CAAC;QACT,QAAQ,EAAE,kCAAkC;QAC5C,UAAU,EAAE,IAAI;KACjB,CAAC;GACW,mBAAmB,CAE/B;;AAgBM,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IACpB,GAAG,GAAG,MAAM,CAAC,CAAA,WAA4C,CAAA,CAAC,CAAC;CACrE,CAAA;AAFY,kBAAkB;IAJ9B,SAAS,CAAC;QACT,QAAQ,EAAE,iCAAiC;QAC3C,UAAU,EAAE,IAAI;KACjB,CAAC;GACW,kBAAkB,CAE9B","sourcesContent":["import { Directive, TemplateRef, inject } from '@angular/core';\n\nexport type TngSelectTriggerTplContext<O, V> = Readonly<{\n value: V | null;\n option: O | null;\n label: string;\n placeholder: string;\n open: boolean;\n disabled: boolean;\n}>;\n\n@Directive({\n selector: 'ng-template[tngSelectTriggerTpl]',\n standalone: true,\n})\nexport class TngSelectTriggerTpl<O = unknown, V = unknown> {\n readonly tpl = inject(TemplateRef<TngSelectTriggerTplContext<O, V>>);\n}\n\nexport type TngSelectOptionTplContext<O, V> = Readonly<{\n $implicit: O;\n option: O;\n value: V;\n label: string;\n selected: boolean;\n active: boolean;\n disabled: boolean;\n}>;\n\n@Directive({\n selector: 'ng-template[tngSelectOptionTpl]',\n standalone: true,\n})\nexport class TngSelectOptionTpl<O = unknown, V = unknown> {\n readonly tpl = inject(TemplateRef<TngSelectOptionTplContext<O, V>>);\n}"]}
1
+ {"version":3,"file":"tng-select.slots.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/form/select/tng-select.slots.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAcxD,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IACrB,GAAG,GAAG,MAAM,CAAC,CAAA,WAA6C,CAAA,CAAC,CAAC;CACtE,CAAA;AAFY,mBAAmB;IAH/B,SAAS,CAAC;QACT,QAAQ,EAAE,kCAAkC;KAC7C,CAAC;GACW,mBAAmB,CAE/B;;AAeM,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IACpB,GAAG,GAAG,MAAM,CAAC,CAAA,WAA4C,CAAA,CAAC,CAAC;CACrE,CAAA;AAFY,kBAAkB;IAH9B,SAAS,CAAC;QACT,QAAQ,EAAE,iCAAiC;KAC5C,CAAC;GACW,kBAAkB,CAE9B","sourcesContent":["import { Directive, TemplateRef, inject } from '@angular/core';\n\nexport type TngSelectTriggerTplContext<O, V> = Readonly<{\n value: V | null;\n option: O | null;\n label: string;\n placeholder: string;\n open: boolean;\n disabled: boolean;\n}>;\n\n@Directive({\n selector: 'ng-template[tngSelectTriggerTpl]',\n})\nexport class TngSelectTriggerTpl<O = unknown, V = unknown> {\n readonly tpl = inject(TemplateRef<TngSelectTriggerTplContext<O, V>>);\n}\n\nexport type TngSelectOptionTplContext<O, V> = Readonly<{\n $implicit: O;\n option: O;\n value: V;\n label: string;\n selected: boolean;\n active: boolean;\n disabled: boolean;\n}>;\n\n@Directive({\n selector: 'ng-template[tngSelectOptionTpl]',\n})\nexport class TngSelectOptionTpl<O = unknown, V = unknown> {\n readonly tpl = inject(TemplateRef<TngSelectOptionTplContext<O, V>>);\n}"]}
@@ -1 +1 @@
1
- {"version":3,"file":"tng-slider.component.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/form/slider/tng-slider.component.ts"],"names":[],"mappings":"AAQA,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAWrE;AAED,qBAOa,kBAAkB;IAC7B,SAAgB,QAAQ,8EAErB;IACH,SAAgB,GAAG,4EAGhB;IACH,SAAgB,GAAG,4EAGhB;IACH,SAAgB,IAAI,4EAGjB;IACH,SAAgB,KAAK,4EAGlB;IAEH,SAAgB,WAAW,mDAAoB;IAExC,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;CAQrC"}
1
+ {"version":3,"file":"tng-slider.component.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/form/slider/tng-slider.component.ts"],"names":[],"mappings":"AAQA,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAWrE;AAED,qBAMa,kBAAkB;IAC7B,SAAgB,QAAQ,8EAErB;IACH,SAAgB,GAAG,4EAGhB;IACH,SAAgB,GAAG,4EAGhB;IACH,SAAgB,IAAI,4EAGjB;IACH,SAAgB,KAAK,4EAGlB;IAEH,SAAgB,WAAW,mDAAoB;IAExC,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;CAQrC"}
@@ -38,7 +38,6 @@ let TngSliderComponent = class TngSliderComponent {
38
38
  };
39
39
  TngSliderComponent = __decorate([
40
40
  Component({
41
- standalone: true,
42
41
  selector: 'tng-slider',
43
42
  imports: [TngSliderPrimitive],
44
43
  templateUrl: './tng-slider.component.html',
@@ -1 +1 @@
1
- {"version":3,"file":"tng-slider.component.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/form/slider/tng-slider.component.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC3E,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,SAAS,IAAI,kBAAkB,GAChC,MAAM,uBAAuB,CAAC;AAE/B,MAAM,UAAU,uBAAuB,CAAC,KAAc;IACpD,IAAI,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAC5B,IAAI,CAAC,CAAC,MAAM,YAAY,gBAAgB,CAAC,EAAE,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC;AASM,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IACb,QAAQ,GAAG,KAAK,CAA4B,KAAK,EAAE;QACjE,SAAS,EAAE,gBAAgB;KAC5B,CAAC,CAAC;IACa,GAAG,GAAG,KAAK,CAA0B,GAAG,EAAE;QACxD,SAAS,EAAE,CAAC,KAAsB,EAAU,EAAE,CAC5C,qBAAqB,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;KAC3E,CAAC,CAAC;IACa,GAAG,GAAG,KAAK,CAA0B,CAAC,EAAE;QACtD,SAAS,EAAE,CAAC,KAAsB,EAAU,EAAE,CAC5C,qBAAqB,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;KAC3E,CAAC,CAAC;IACa,IAAI,GAAG,KAAK,CAA0B,CAAC,EAAE;QACvD,SAAS,EAAE,CAAC,KAAsB,EAAU,EAAE,CAC5C,sBAAsB,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;KAC5E,CAAC,CAAC;IACa,KAAK,GAAG,KAAK,CAA0B,CAAC,EAAE;QACxD,SAAS,EAAE,CAAC,KAAsB,EAAU,EAAE,CAC5C,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;KACpD,CAAC,CAAC;IAEa,WAAW,GAAG,MAAM,EAAU,CAAC;IAExC,OAAO,CAAC,KAAc;QAC3B,MAAM,SAAS,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;QACjD,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACvB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACnC,CAAC;CACF,CAAA;AA/BY,kBAAkB;IAP9B,SAAS,CAAC;QACT,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,YAAY;QACtB,OAAO,EAAE,CAAC,kBAAkB,CAAC;QAC7B,WAAW,EAAE,6BAA6B;QAC1C,QAAQ,EAAE,4BAA4B;KACvC,CAAC;GACW,kBAAkB,CA+B9B","sourcesContent":["import { booleanAttribute, Component, input, output } from '@angular/core';\nimport {\n normalizeTngSliderMax,\n normalizeTngSliderMin,\n normalizeTngSliderStep,\n TngSlider as TngSliderPrimitive,\n} from '@tailng-ui/primitives';\n\nexport function readTngSliderEventValue(event: unknown): number | null {\n if (!(event instanceof Event)) {\n return null;\n }\n\n const target = event.target;\n if (!(target instanceof HTMLInputElement)) {\n return null;\n }\n\n return Number(target.value);\n}\n\n@Component({\n standalone: true,\n selector: 'tng-slider',\n imports: [TngSliderPrimitive],\n templateUrl: './tng-slider.component.html',\n styleUrl: './tng-slider.component.css',\n})\nexport class TngSliderComponent {\n public readonly disabled = input<boolean, boolean | string>(false, {\n transform: booleanAttribute,\n });\n public readonly max = input<number, number | string>(100, {\n transform: (value: number | string): number =>\n normalizeTngSliderMax(typeof value === 'number' ? value : Number(value)),\n });\n public readonly min = input<number, number | string>(0, {\n transform: (value: number | string): number =>\n normalizeTngSliderMin(typeof value === 'number' ? value : Number(value)),\n });\n public readonly step = input<number, number | string>(1, {\n transform: (value: number | string): number =>\n normalizeTngSliderStep(typeof value === 'number' ? value : Number(value)),\n });\n public readonly value = input<number, number | string>(0, {\n transform: (value: number | string): number =>\n typeof value === 'number' ? value : Number(value),\n });\n\n public readonly valueChange = output<number>();\n\n public onInput(event: unknown): void {\n const nextValue = readTngSliderEventValue(event);\n if (nextValue === null) {\n return;\n }\n\n this.valueChange.emit(nextValue);\n }\n}\n"]}
1
+ {"version":3,"file":"tng-slider.component.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/form/slider/tng-slider.component.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC3E,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,SAAS,IAAI,kBAAkB,GAChC,MAAM,uBAAuB,CAAC;AAE/B,MAAM,UAAU,uBAAuB,CAAC,KAAc;IACpD,IAAI,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAC5B,IAAI,CAAC,CAAC,MAAM,YAAY,gBAAgB,CAAC,EAAE,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC;AAQM,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IACb,QAAQ,GAAG,KAAK,CAA4B,KAAK,EAAE;QACjE,SAAS,EAAE,gBAAgB;KAC5B,CAAC,CAAC;IACa,GAAG,GAAG,KAAK,CAA0B,GAAG,EAAE;QACxD,SAAS,EAAE,CAAC,KAAsB,EAAU,EAAE,CAC5C,qBAAqB,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;KAC3E,CAAC,CAAC;IACa,GAAG,GAAG,KAAK,CAA0B,CAAC,EAAE;QACtD,SAAS,EAAE,CAAC,KAAsB,EAAU,EAAE,CAC5C,qBAAqB,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;KAC3E,CAAC,CAAC;IACa,IAAI,GAAG,KAAK,CAA0B,CAAC,EAAE;QACvD,SAAS,EAAE,CAAC,KAAsB,EAAU,EAAE,CAC5C,sBAAsB,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;KAC5E,CAAC,CAAC;IACa,KAAK,GAAG,KAAK,CAA0B,CAAC,EAAE;QACxD,SAAS,EAAE,CAAC,KAAsB,EAAU,EAAE,CAC5C,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;KACpD,CAAC,CAAC;IAEa,WAAW,GAAG,MAAM,EAAU,CAAC;IAExC,OAAO,CAAC,KAAc;QAC3B,MAAM,SAAS,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;QACjD,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACvB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACnC,CAAC;CACF,CAAA;AA/BY,kBAAkB;IAN9B,SAAS,CAAC;QACT,QAAQ,EAAE,YAAY;QACtB,OAAO,EAAE,CAAC,kBAAkB,CAAC;QAC7B,WAAW,EAAE,6BAA6B;QAC1C,QAAQ,EAAE,4BAA4B;KACvC,CAAC;GACW,kBAAkB,CA+B9B","sourcesContent":["import { booleanAttribute, Component, input, output } from '@angular/core';\nimport {\n normalizeTngSliderMax,\n normalizeTngSliderMin,\n normalizeTngSliderStep,\n TngSlider as TngSliderPrimitive,\n} from '@tailng-ui/primitives';\n\nexport function readTngSliderEventValue(event: unknown): number | null {\n if (!(event instanceof Event)) {\n return null;\n }\n\n const target = event.target;\n if (!(target instanceof HTMLInputElement)) {\n return null;\n }\n\n return Number(target.value);\n}\n\n@Component({\n selector: 'tng-slider',\n imports: [TngSliderPrimitive],\n templateUrl: './tng-slider.component.html',\n styleUrl: './tng-slider.component.css',\n})\nexport class TngSliderComponent {\n public readonly disabled = input<boolean, boolean | string>(false, {\n transform: booleanAttribute,\n });\n public readonly max = input<number, number | string>(100, {\n transform: (value: number | string): number =>\n normalizeTngSliderMax(typeof value === 'number' ? value : Number(value)),\n });\n public readonly min = input<number, number | string>(0, {\n transform: (value: number | string): number =>\n normalizeTngSliderMin(typeof value === 'number' ? value : Number(value)),\n });\n public readonly step = input<number, number | string>(1, {\n transform: (value: number | string): number =>\n normalizeTngSliderStep(typeof value === 'number' ? value : Number(value)),\n });\n public readonly value = input<number, number | string>(0, {\n transform: (value: number | string): number =>\n typeof value === 'number' ? value : Number(value),\n });\n\n public readonly valueChange = output<number>();\n\n public onInput(event: unknown): void {\n const nextValue = readTngSliderEventValue(event);\n if (nextValue === null) {\n return;\n }\n\n this.valueChange.emit(nextValue);\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"tng-switch.component.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/form/switch/tng-switch.component.ts"],"names":[],"mappings":"AAGA,KAAK,sBAAsB,GAAG,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC,GAChE,QAAQ,CAAC;IAAE,cAAc,EAAE,MAAM,IAAI,CAAA;CAAE,CAAC,CAAC;AAE3C,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAE9D;AAED,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAUpE;AAED,qBAOa,kBAAkB;IAC7B,SAAgB,SAAS,qDAA8B;IACvD,SAAgB,OAAO,8EAEpB;IACH,SAAgB,QAAQ,8EAErB;IACH,SAAgB,IAAI,qDAA8B;IAClD,SAAgB,QAAQ,8EAErB;IACH,SAAgB,KAAK,8CAAuB;IAE5C,SAAgB,aAAa,oDAAqB;IAE3C,SAAS,CAAC,KAAK,EAAE,sBAAsB,GAAG,IAAI;IAc9C,QAAQ,IAAI,IAAI;CAOxB"}
1
+ {"version":3,"file":"tng-switch.component.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/form/switch/tng-switch.component.ts"],"names":[],"mappings":"AAGA,KAAK,sBAAsB,GAAG,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC,GAChE,QAAQ,CAAC;IAAE,cAAc,EAAE,MAAM,IAAI,CAAA;CAAE,CAAC,CAAC;AAE3C,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAE9D;AAED,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAUpE;AAED,qBAMa,kBAAkB;IAC7B,SAAgB,SAAS,qDAA8B;IACvD,SAAgB,OAAO,8EAEpB;IACH,SAAgB,QAAQ,8EAErB;IACH,SAAgB,IAAI,qDAA8B;IAClD,SAAgB,QAAQ,8EAErB;IACH,SAAgB,KAAK,8CAAuB;IAE5C,SAAgB,aAAa,oDAAqB;IAE3C,SAAS,CAAC,KAAK,EAAE,sBAAsB,GAAG,IAAI;IAc9C,QAAQ,IAAI,IAAI;CAOxB"}
@@ -47,7 +47,6 @@ let TngSwitchComponent = class TngSwitchComponent {
47
47
  };
48
48
  TngSwitchComponent = __decorate([
49
49
  Component({
50
- standalone: true,
51
50
  selector: 'tng-switch',
52
51
  imports: [TngSwitchPrimitive],
53
52
  templateUrl: './tng-switch.component.html',
@@ -1 +1 @@
1
- {"version":3,"file":"tng-switch.component.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/form/switch/tng-switch.component.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC3E,OAAO,EAAE,SAAS,IAAI,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAKxE,MAAM,UAAU,oBAAoB,CAAC,OAAgB;IACnD,OAAO,CAAC,OAAO,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,GAAW;IAClD,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;QACxB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,GAAG,KAAK,YAAY,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AASM,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IACb,SAAS,GAAG,KAAK,CAAgB,IAAI,CAAC,CAAC;IACvC,OAAO,GAAG,KAAK,CAA4B,KAAK,EAAE;QAChE,SAAS,EAAE,gBAAgB;KAC5B,CAAC,CAAC;IACa,QAAQ,GAAG,KAAK,CAA4B,KAAK,EAAE;QACjE,SAAS,EAAE,gBAAgB;KAC5B,CAAC,CAAC;IACa,IAAI,GAAG,KAAK,CAAgB,IAAI,CAAC,CAAC;IAClC,QAAQ,GAAG,KAAK,CAA4B,KAAK,EAAE;QACjE,SAAS,EAAE,gBAAgB;KAC5B,CAAC,CAAC;IACa,KAAK,GAAG,KAAK,CAAS,IAAI,CAAC,CAAC;IAE5B,aAAa,GAAG,MAAM,EAAW,CAAC;IAE3C,SAAS,CAAC,KAA6B;QAC5C,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QAED,MAAM,SAAS,GAAG,wBAAwB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACtD,IAAI,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;YACvD,OAAO;QACT,CAAC;QAED,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACrC,CAAC;IAEM,QAAQ;QACb,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAChE,CAAC;CACF,CAAA;AArCY,kBAAkB;IAP9B,SAAS,CAAC;QACT,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,YAAY;QACtB,OAAO,EAAE,CAAC,kBAAkB,CAAC;QAC7B,WAAW,EAAE,6BAA6B;QAC1C,QAAQ,EAAE,4BAA4B;KACvC,CAAC;GACW,kBAAkB,CAqC9B","sourcesContent":["import { booleanAttribute, Component, input, output } from '@angular/core';\nimport { TngSwitch as TngSwitchPrimitive } from '@tailng-ui/primitives';\n\ntype TngSwitchKeyboardEvent = Readonly<Pick<KeyboardEvent, 'key'>> &\n Readonly<{ preventDefault: () => void }>;\n\nexport function toggleTngSwitchState(checked: boolean): boolean {\n return !checked;\n}\n\nexport function resolveTngSwitchArrowKey(key: string): boolean | null {\n if (key === 'ArrowLeft') {\n return false;\n }\n\n if (key === 'ArrowRight') {\n return true;\n }\n\n return null;\n}\n\n@Component({\n standalone: true,\n selector: 'tng-switch',\n imports: [TngSwitchPrimitive],\n templateUrl: './tng-switch.component.html',\n styleUrl: './tng-switch.component.css',\n})\nexport class TngSwitchComponent {\n public readonly ariaLabel = input<string | null>(null);\n public readonly checked = input<boolean, boolean | string>(false, {\n transform: booleanAttribute,\n });\n public readonly disabled = input<boolean, boolean | string>(false, {\n transform: booleanAttribute,\n });\n public readonly name = input<string | null>(null);\n public readonly required = input<boolean, boolean | string>(false, {\n transform: booleanAttribute,\n });\n public readonly value = input<string>('on');\n\n public readonly checkedChange = output<boolean>();\n\n public onKeydown(event: TngSwitchKeyboardEvent): void {\n if (this.disabled()) {\n return;\n }\n\n const nextValue = resolveTngSwitchArrowKey(event.key);\n if (nextValue === null || nextValue === this.checked()) {\n return;\n }\n\n event.preventDefault();\n this.checkedChange.emit(nextValue);\n }\n\n public onToggle(): void {\n if (this.disabled()) {\n return;\n }\n\n this.checkedChange.emit(toggleTngSwitchState(this.checked()));\n }\n}\n"]}
1
+ {"version":3,"file":"tng-switch.component.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/form/switch/tng-switch.component.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC3E,OAAO,EAAE,SAAS,IAAI,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAKxE,MAAM,UAAU,oBAAoB,CAAC,OAAgB;IACnD,OAAO,CAAC,OAAO,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,GAAW;IAClD,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;QACxB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,GAAG,KAAK,YAAY,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAQM,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IACb,SAAS,GAAG,KAAK,CAAgB,IAAI,CAAC,CAAC;IACvC,OAAO,GAAG,KAAK,CAA4B,KAAK,EAAE;QAChE,SAAS,EAAE,gBAAgB;KAC5B,CAAC,CAAC;IACa,QAAQ,GAAG,KAAK,CAA4B,KAAK,EAAE;QACjE,SAAS,EAAE,gBAAgB;KAC5B,CAAC,CAAC;IACa,IAAI,GAAG,KAAK,CAAgB,IAAI,CAAC,CAAC;IAClC,QAAQ,GAAG,KAAK,CAA4B,KAAK,EAAE;QACjE,SAAS,EAAE,gBAAgB;KAC5B,CAAC,CAAC;IACa,KAAK,GAAG,KAAK,CAAS,IAAI,CAAC,CAAC;IAE5B,aAAa,GAAG,MAAM,EAAW,CAAC;IAE3C,SAAS,CAAC,KAA6B;QAC5C,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QAED,MAAM,SAAS,GAAG,wBAAwB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACtD,IAAI,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;YACvD,OAAO;QACT,CAAC;QAED,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACrC,CAAC;IAEM,QAAQ;QACb,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAChE,CAAC;CACF,CAAA;AArCY,kBAAkB;IAN9B,SAAS,CAAC;QACT,QAAQ,EAAE,YAAY;QACtB,OAAO,EAAE,CAAC,kBAAkB,CAAC;QAC7B,WAAW,EAAE,6BAA6B;QAC1C,QAAQ,EAAE,4BAA4B;KACvC,CAAC;GACW,kBAAkB,CAqC9B","sourcesContent":["import { booleanAttribute, Component, input, output } from '@angular/core';\nimport { TngSwitch as TngSwitchPrimitive } from '@tailng-ui/primitives';\n\ntype TngSwitchKeyboardEvent = Readonly<Pick<KeyboardEvent, 'key'>> &\n Readonly<{ preventDefault: () => void }>;\n\nexport function toggleTngSwitchState(checked: boolean): boolean {\n return !checked;\n}\n\nexport function resolveTngSwitchArrowKey(key: string): boolean | null {\n if (key === 'ArrowLeft') {\n return false;\n }\n\n if (key === 'ArrowRight') {\n return true;\n }\n\n return null;\n}\n\n@Component({\n selector: 'tng-switch',\n imports: [TngSwitchPrimitive],\n templateUrl: './tng-switch.component.html',\n styleUrl: './tng-switch.component.css',\n})\nexport class TngSwitchComponent {\n public readonly ariaLabel = input<string | null>(null);\n public readonly checked = input<boolean, boolean | string>(false, {\n transform: booleanAttribute,\n });\n public readonly disabled = input<boolean, boolean | string>(false, {\n transform: booleanAttribute,\n });\n public readonly name = input<string | null>(null);\n public readonly required = input<boolean, boolean | string>(false, {\n transform: booleanAttribute,\n });\n public readonly value = input<string>('on');\n\n public readonly checkedChange = output<boolean>();\n\n public onKeydown(event: TngSwitchKeyboardEvent): void {\n if (this.disabled()) {\n return;\n }\n\n const nextValue = resolveTngSwitchArrowKey(event.key);\n if (nextValue === null || nextValue === this.checked()) {\n return;\n }\n\n event.preventDefault();\n this.checkedChange.emit(nextValue);\n }\n\n public onToggle(): void {\n if (this.disabled()) {\n return;\n }\n\n this.checkedChange.emit(toggleTngSwitchState(this.checked()));\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"tng-textarea.component.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/form/textarea/tng-textarea.component.ts"],"names":[],"mappings":"AACA,OAAO,EAKL,KAAK,iBAAiB,EACvB,MAAM,uBAAuB,CAAC;AAE/B,KAAK,oBAAoB,GAAG,OAAO,GAAG,IAAI,GAAG,MAAM,GAAG,SAAS,CAAC;AAEhE,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAWvE;AAED,qBAOa,oBAAoB;IAC/B,SAAgB,eAAe,qDAA8B;IAC7D,SAAgB,WAAW,yFAExB;IACH,SAAgB,YAAY,yFAEzB;IACH,SAAgB,QAAQ,8EAErB;IACH,SAAgB,WAAW,qDAA8B;IACzD,SAAgB,QAAQ,8EAErB;IACH,SAAgB,QAAQ,8EAErB;IACH,SAAgB,IAAI,4EAGjB;IACH,SAAgB,MAAM,8EAEnB;IACH,SAAgB,KAAK,qDAA8B;IAEnD,SAAgB,WAAW,mDAAoB;IAExC,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;CAQrC"}
1
+ {"version":3,"file":"tng-textarea.component.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/form/textarea/tng-textarea.component.ts"],"names":[],"mappings":"AACA,OAAO,EAKL,KAAK,iBAAiB,EACvB,MAAM,uBAAuB,CAAC;AAE/B,KAAK,oBAAoB,GAAG,OAAO,GAAG,IAAI,GAAG,MAAM,GAAG,SAAS,CAAC;AAEhE,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAWvE;AAED,qBAMa,oBAAoB;IAC/B,SAAgB,eAAe,qDAA8B;IAC7D,SAAgB,WAAW,yFAExB;IACH,SAAgB,YAAY,yFAEzB;IACH,SAAgB,QAAQ,8EAErB;IACH,SAAgB,WAAW,qDAA8B;IACzD,SAAgB,QAAQ,8EAErB;IACH,SAAgB,QAAQ,8EAErB;IACH,SAAgB,IAAI,4EAGjB;IACH,SAAgB,MAAM,8EAEnB;IACH,SAAgB,KAAK,qDAA8B;IAEnD,SAAgB,WAAW,mDAAoB;IAExC,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;CAQrC"}
@@ -47,7 +47,6 @@ let TngTextareaComponent = class TngTextareaComponent {
47
47
  };
48
48
  TngTextareaComponent = __decorate([
49
49
  Component({
50
- standalone: true,
51
50
  selector: 'tng-textarea',
52
51
  imports: [TngInput],
53
52
  templateUrl: './tng-textarea.component.html',
@@ -1 +1 @@
1
- {"version":3,"file":"tng-textarea.component.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/form/textarea/tng-textarea.component.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC3E,OAAO,EACL,6BAA6B,EAC7B,0BAA0B,EAC1B,wBAAwB,EACxB,QAAQ,GAET,MAAM,uBAAuB,CAAC;AAI/B,MAAM,UAAU,yBAAyB,CAAC,KAAc;IACtD,IAAI,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAC5B,IAAI,CAAC,CAAC,MAAM,YAAY,mBAAmB,CAAC,EAAE,CAAC;QAC7C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,MAAM,CAAC,KAAK,CAAC;AACtB,CAAC;AASM,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IACf,eAAe,GAAG,KAAK,CAAgB,IAAI,CAAC,CAAC;IAC7C,WAAW,GAAG,KAAK,CAAuC,IAAI,EAAE;QAC9E,SAAS,EAAE,6BAA6B;KACzC,CAAC,CAAC;IACa,YAAY,GAAG,KAAK,CAAuC,IAAI,EAAE;QAC/E,SAAS,EAAE,6BAA6B;KACzC,CAAC,CAAC;IACa,QAAQ,GAAG,KAAK,CAA4B,KAAK,EAAE;QACjE,SAAS,EAAE,gBAAgB;KAC5B,CAAC,CAAC;IACa,WAAW,GAAG,KAAK,CAAgB,IAAI,CAAC,CAAC;IACzC,QAAQ,GAAG,KAAK,CAA4B,KAAK,EAAE;QACjE,SAAS,EAAE,gBAAgB;KAC5B,CAAC,CAAC;IACa,QAAQ,GAAG,KAAK,CAA4B,KAAK,EAAE;QACjE,SAAS,EAAE,gBAAgB;KAC5B,CAAC,CAAC;IACa,IAAI,GAAG,KAAK,CAA0B,CAAC,EAAE;QACvD,SAAS,EAAE,CAAC,KAAsB,EAAU,EAAE,CAC5C,wBAAwB,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;KAC9E,CAAC,CAAC;IACa,MAAM,GAAG,KAAK,CAAgD,UAAU,EAAE;QACxF,SAAS,EAAE,0BAA0B;KACtC,CAAC,CAAC;IACa,KAAK,GAAG,KAAK,CAAgB,IAAI,CAAC,CAAC;IAEnC,WAAW,GAAG,MAAM,EAAU,CAAC;IAExC,OAAO,CAAC,KAAc;QAC3B,MAAM,KAAK,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;QAC/C,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;CACF,CAAA;AArCY,oBAAoB;IAPhC,SAAS,CAAC;QACT,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,cAAc;QACxB,OAAO,EAAE,CAAC,QAAQ,CAAC;QACnB,WAAW,EAAE,+BAA+B;QAC5C,QAAQ,EAAE,8BAA8B;KACzC,CAAC;GACW,oBAAoB,CAqChC","sourcesContent":["import { booleanAttribute, Component, input, output } from '@angular/core';\nimport {\n coerceTngInputNullableBoolean,\n normalizeTngTextareaResize,\n normalizeTngTextareaRows,\n TngInput,\n type TngTextareaResize,\n} from '@tailng-ui/primitives';\n\ntype NullableBooleanInput = boolean | null | string | undefined;\n\nexport function readTngTextareaEventValue(event: unknown): string | null {\n if (!(event instanceof Event)) {\n return null;\n }\n\n const target = event.target;\n if (!(target instanceof HTMLTextAreaElement)) {\n return null;\n }\n\n return target.value;\n}\n\n@Component({\n standalone: true,\n selector: 'tng-textarea',\n imports: [TngInput],\n templateUrl: './tng-textarea.component.html',\n styleUrl: './tng-textarea.component.css',\n})\nexport class TngTextareaComponent {\n public readonly ariaDescribedBy = input<string | null>(null);\n public readonly ariaInvalid = input<boolean | null, NullableBooleanInput>(null, {\n transform: coerceTngInputNullableBoolean,\n });\n public readonly ariaRequired = input<boolean | null, NullableBooleanInput>(null, {\n transform: coerceTngInputNullableBoolean,\n });\n public readonly disabled = input<boolean, boolean | string>(false, {\n transform: booleanAttribute,\n });\n public readonly placeholder = input<string | null>(null);\n public readonly readonly = input<boolean, boolean | string>(false, {\n transform: booleanAttribute,\n });\n public readonly required = input<boolean, boolean | string>(false, {\n transform: booleanAttribute,\n });\n public readonly rows = input<number, number | string>(3, {\n transform: (value: number | string): number =>\n normalizeTngTextareaRows(typeof value === 'number' ? value : Number(value)),\n });\n public readonly resize = input<TngTextareaResize, TngTextareaResize | string>('vertical', {\n transform: normalizeTngTextareaResize,\n });\n public readonly value = input<string | null>(null);\n\n public readonly valueChange = output<string>();\n\n public onInput(event: unknown): void {\n const value = readTngTextareaEventValue(event);\n if (value === null) {\n return;\n }\n\n this.valueChange.emit(value);\n }\n}\n"]}
1
+ {"version":3,"file":"tng-textarea.component.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/form/textarea/tng-textarea.component.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC3E,OAAO,EACL,6BAA6B,EAC7B,0BAA0B,EAC1B,wBAAwB,EACxB,QAAQ,GAET,MAAM,uBAAuB,CAAC;AAI/B,MAAM,UAAU,yBAAyB,CAAC,KAAc;IACtD,IAAI,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAC5B,IAAI,CAAC,CAAC,MAAM,YAAY,mBAAmB,CAAC,EAAE,CAAC;QAC7C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,MAAM,CAAC,KAAK,CAAC;AACtB,CAAC;AAQM,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IACf,eAAe,GAAG,KAAK,CAAgB,IAAI,CAAC,CAAC;IAC7C,WAAW,GAAG,KAAK,CAAuC,IAAI,EAAE;QAC9E,SAAS,EAAE,6BAA6B;KACzC,CAAC,CAAC;IACa,YAAY,GAAG,KAAK,CAAuC,IAAI,EAAE;QAC/E,SAAS,EAAE,6BAA6B;KACzC,CAAC,CAAC;IACa,QAAQ,GAAG,KAAK,CAA4B,KAAK,EAAE;QACjE,SAAS,EAAE,gBAAgB;KAC5B,CAAC,CAAC;IACa,WAAW,GAAG,KAAK,CAAgB,IAAI,CAAC,CAAC;IACzC,QAAQ,GAAG,KAAK,CAA4B,KAAK,EAAE;QACjE,SAAS,EAAE,gBAAgB;KAC5B,CAAC,CAAC;IACa,QAAQ,GAAG,KAAK,CAA4B,KAAK,EAAE;QACjE,SAAS,EAAE,gBAAgB;KAC5B,CAAC,CAAC;IACa,IAAI,GAAG,KAAK,CAA0B,CAAC,EAAE;QACvD,SAAS,EAAE,CAAC,KAAsB,EAAU,EAAE,CAC5C,wBAAwB,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;KAC9E,CAAC,CAAC;IACa,MAAM,GAAG,KAAK,CAAgD,UAAU,EAAE;QACxF,SAAS,EAAE,0BAA0B;KACtC,CAAC,CAAC;IACa,KAAK,GAAG,KAAK,CAAgB,IAAI,CAAC,CAAC;IAEnC,WAAW,GAAG,MAAM,EAAU,CAAC;IAExC,OAAO,CAAC,KAAc;QAC3B,MAAM,KAAK,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;QAC/C,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;CACF,CAAA;AArCY,oBAAoB;IANhC,SAAS,CAAC;QACT,QAAQ,EAAE,cAAc;QACxB,OAAO,EAAE,CAAC,QAAQ,CAAC;QACnB,WAAW,EAAE,+BAA+B;QAC5C,QAAQ,EAAE,8BAA8B;KACzC,CAAC;GACW,oBAAoB,CAqChC","sourcesContent":["import { booleanAttribute, Component, input, output } from '@angular/core';\nimport {\n coerceTngInputNullableBoolean,\n normalizeTngTextareaResize,\n normalizeTngTextareaRows,\n TngInput,\n type TngTextareaResize,\n} from '@tailng-ui/primitives';\n\ntype NullableBooleanInput = boolean | null | string | undefined;\n\nexport function readTngTextareaEventValue(event: unknown): string | null {\n if (!(event instanceof Event)) {\n return null;\n }\n\n const target = event.target;\n if (!(target instanceof HTMLTextAreaElement)) {\n return null;\n }\n\n return target.value;\n}\n\n@Component({\n selector: 'tng-textarea',\n imports: [TngInput],\n templateUrl: './tng-textarea.component.html',\n styleUrl: './tng-textarea.component.css',\n})\nexport class TngTextareaComponent {\n public readonly ariaDescribedBy = input<string | null>(null);\n public readonly ariaInvalid = input<boolean | null, NullableBooleanInput>(null, {\n transform: coerceTngInputNullableBoolean,\n });\n public readonly ariaRequired = input<boolean | null, NullableBooleanInput>(null, {\n transform: coerceTngInputNullableBoolean,\n });\n public readonly disabled = input<boolean, boolean | string>(false, {\n transform: booleanAttribute,\n });\n public readonly placeholder = input<string | null>(null);\n public readonly readonly = input<boolean, boolean | string>(false, {\n transform: booleanAttribute,\n });\n public readonly required = input<boolean, boolean | string>(false, {\n transform: booleanAttribute,\n });\n public readonly rows = input<number, number | string>(3, {\n transform: (value: number | string): number =>\n normalizeTngTextareaRows(typeof value === 'number' ? value : Number(value)),\n });\n public readonly resize = input<TngTextareaResize, TngTextareaResize | string>('vertical', {\n transform: normalizeTngTextareaResize,\n });\n public readonly value = input<string | null>(null);\n\n public readonly valueChange = output<string>();\n\n public onInput(event: unknown): void {\n const value = readTngTextareaEventValue(event);\n if (value === null) {\n return;\n }\n\n this.valueChange.emit(value);\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"tng-toggle.component.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/form/toggle/tng-toggle.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,MAAM,EAOP,MAAM,eAAe,CAAC;AACvB,OAAO,EAAqB,KAAK,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAO9E,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAE9D;AAED,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,MAAM,EACpB,cAAc,EAAE,MAAM,GACrB,MAAM,CAER;AAED,KAAK,oBAAoB,GAAG,EAAE,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;AAqB/E,qBAoBa,kBAAmB,YAAW,oBAAoB,EAAE,MAAM;IACrE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAGnB;IACH,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAiB;IACjD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAChD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAiB;IAC5C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAiB;IAE7C,OAAO,CAAC,eAAe,CAA6C;IACpE,OAAO,CAAC,gBAAgB,CAA8B;IAEtD,SAAgB,SAAS,qDAA8B;IACvD,SAAgB,cAAc,qDAA8B;IAC5D,SAAgB,eAAe,qDAA8B;IAC7D,SAAgB,KAAK,qDAA8B;IAEnD,SAAgB,OAAO,yFAEpB;IACH,SAAgB,cAAc,8EAE3B;IACH,SAAgB,QAAQ,8EAErB;IACH,SAAgB,YAAY,8CAA4B;IACxD,SAAgB,cAAc,8CAA6B;IAE3D,SAAgB,aAAa,oDAAqB;IAElD,SAAS,CAAC,QAAQ,CAAC,gBAAgB,0CAOhC;IAEH,SAAS,CAAC,QAAQ,CAAC,eAAe,0CAgB/B;;IAMI,QAAQ,IAAI,IAAI;IAIhB,MAAM,IAAI,IAAI;IAId,wBAAwB,CAAC,WAAW,EAAE,OAAO,GAAG,IAAI;IAepD,YAAY,IAAI,MAAM,GAAG,IAAI;IAkB7B,gBAAgB,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,GAAG,IAAI;IAKpD,iBAAiB,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI;IAKvC,gBAAgB,CAAC,UAAU,EAAE,OAAO,GAAG,IAAI;IAK3C,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAKvC,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,iBAAiB;CAG1B"}
1
+ {"version":3,"file":"tng-toggle.component.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/form/toggle/tng-toggle.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,MAAM,EAOP,MAAM,eAAe,CAAC;AACvB,OAAO,EAAqB,KAAK,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAO9E,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAE9D;AAED,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,MAAM,EACpB,cAAc,EAAE,MAAM,GACrB,MAAM,CAER;AAED,KAAK,oBAAoB,GAAG,EAAE,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;AAqB/E,qBAmBa,kBAAmB,YAAW,oBAAoB,EAAE,MAAM;IACrE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAGnB;IACH,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAiB;IACjD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAChD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAiB;IAC5C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAiB;IAE7C,OAAO,CAAC,eAAe,CAA6C;IACpE,OAAO,CAAC,gBAAgB,CAA8B;IAEtD,SAAgB,SAAS,qDAA8B;IACvD,SAAgB,cAAc,qDAA8B;IAC5D,SAAgB,eAAe,qDAA8B;IAC7D,SAAgB,KAAK,qDAA8B;IAEnD,SAAgB,OAAO,yFAEpB;IACH,SAAgB,cAAc,8EAE3B;IACH,SAAgB,QAAQ,8EAErB;IACH,SAAgB,YAAY,8CAA4B;IACxD,SAAgB,cAAc,8CAA6B;IAE3D,SAAgB,aAAa,oDAAqB;IAElD,SAAS,CAAC,QAAQ,CAAC,gBAAgB,0CAOhC;IAEH,SAAS,CAAC,QAAQ,CAAC,eAAe,0CAgB/B;;IAMI,QAAQ,IAAI,IAAI;IAIhB,MAAM,IAAI,IAAI;IAId,wBAAwB,CAAC,WAAW,EAAE,OAAO,GAAG,IAAI;IAepD,YAAY,IAAI,MAAM,GAAG,IAAI;IAkB7B,gBAAgB,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,GAAG,IAAI;IAKpD,iBAAiB,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI;IAKvC,gBAAgB,CAAC,UAAU,EAAE,OAAO,GAAG,IAAI;IAK3C,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAKvC,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,iBAAiB;CAG1B"}
@@ -129,7 +129,6 @@ let TngToggleComponent = class TngToggleComponent {
129
129
  };
130
130
  TngToggleComponent = __decorate([
131
131
  Component({
132
- standalone: true,
133
132
  selector: 'tng-toggle',
134
133
  imports: [TngTogglePrimitive],
135
134
  templateUrl: './tng-toggle.component.html',
@@ -1 +1 @@
1
- {"version":3,"file":"tng-toggle.component.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/form/toggle/tng-toggle.component.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n booleanAttribute,\n Component,\n OnInit,\n computed,\n forwardRef,\n inject,\n input,\n output,\n signal,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR, type ControlValueAccessor } from '@angular/forms';\nimport {\n coerceTngToggleNullableBoolean,\n TngToggle as TngTogglePrimitive,\n TngToggleGroup as TngToggleGroupPrimitive,\n} from '@tailng-ui/primitives';\n\nexport function toggleTngToggleState(pressed: boolean): boolean {\n return !pressed;\n}\n\nexport function resolveTngToggleAriaLabel(\n pressed: boolean,\n pressedLabel: string,\n unpressedLabel: string,\n): string {\n return pressed ? pressedLabel : unpressedLabel;\n}\n\ntype NullableBooleanInput = '' | 'false' | 'true' | boolean | null | undefined;\n\nfunction normalizeStringValue(value: string | null | undefined): string | null {\n if (value === undefined || value === null) {\n return null;\n }\n\n const normalized = value.trim();\n return normalized.length > 0 ? normalized : null;\n}\n\nconst noControlChange = (_value: boolean): void => undefined;\nconst noControlTouch = (): void => undefined;\n\nfunction injectParentToggleGroup(): TngToggleGroupPrimitive | null {\n return inject(TngToggleGroupPrimitive, {\n optional: true,\n skipSelf: true,\n });\n}\n\n@Component({\n standalone: true,\n selector: 'tng-toggle',\n imports: [TngTogglePrimitive],\n templateUrl: './tng-toggle.component.html',\n styleUrl: './tng-toggle.component.css',\n viewProviders: [\n {\n provide: TngToggleGroupPrimitive,\n useFactory: injectParentToggleGroup,\n },\n ],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TngToggleComponent),\n multi: true,\n },\n ],\n})\nexport class TngToggleComponent implements ControlValueAccessor, OnInit {\n private readonly group = inject(TngToggleGroupPrimitive, {\n optional: true,\n skipSelf: true,\n });\n private readonly internalPressed = signal(false);\n private readonly cvaModeEnabled = signal(false);\n private readonly cvaPressed = signal(false);\n private readonly cvaDisabled = signal(false);\n\n private onControlChange: (value: boolean) => void = noControlChange;\n private onControlTouched: () => void = noControlTouch;\n\n public readonly ariaLabel = input<string | null>(null);\n public readonly ariaLabelledby = input<string | null>(null);\n public readonly ariaDescribedBy = input<string | null>(null);\n public readonly value = input<string | null>(null);\n\n public readonly pressed = input<boolean | null, NullableBooleanInput>(null, {\n transform: coerceTngToggleNullableBoolean,\n });\n public readonly defaultPressed = input<boolean, boolean | string>(false, {\n transform: booleanAttribute,\n });\n public readonly disabled = input<boolean, boolean | string>(false, {\n transform: booleanAttribute,\n });\n public readonly pressedLabel = input<string>('Enabled');\n public readonly unpressedLabel = input<string>('Disabled');\n\n public readonly pressedChange = output<boolean>();\n\n protected readonly resolvedDisabled = computed<boolean>(() => {\n const groupDisabled = this.group?.isGroupDisabled() === true && this.groupManagesState();\n if (this.cvaModeEnabled()) {\n return this.cvaDisabled() || groupDisabled;\n }\n\n return this.disabled() || groupDisabled;\n });\n\n protected readonly resolvedPressed = computed<boolean>(() => {\n const groupItemValue = this.groupItemValue();\n if (groupItemValue !== null && this.group !== null) {\n return this.group.isItemSelected(groupItemValue);\n }\n\n if (this.cvaModeEnabled()) {\n return this.cvaPressed();\n }\n\n const controlledPressed = this.pressed();\n if (controlledPressed !== null) {\n return controlledPressed;\n }\n\n return this.internalPressed();\n });\n\n public constructor() {\n this.internalPressed.set(false);\n }\n\n public ngOnInit(): void {\n this.internalPressed.set(this.defaultPressed());\n }\n\n public onBlur(): void {\n this.onControlTouched();\n }\n\n public onPrimitivePressedChange(nextPressed: boolean): void {\n if (this.resolvedDisabled()) {\n return;\n }\n\n if (this.cvaModeEnabled()) {\n this.cvaPressed.set(nextPressed);\n this.onControlChange(nextPressed);\n } else if (this.pressed() === null && !this.groupManagesState()) {\n this.internalPressed.set(nextPressed);\n }\n\n this.pressedChange.emit(nextPressed);\n }\n\n public getAriaLabel(): string | null {\n const explicitAriaLabel = normalizeStringValue(this.ariaLabel());\n if (explicitAriaLabel !== null) {\n return explicitAriaLabel;\n }\n\n const labelledby = normalizeStringValue(this.ariaLabelledby());\n if (labelledby !== null) {\n return null;\n }\n\n return resolveTngToggleAriaLabel(\n this.resolvedPressed(),\n this.pressedLabel(),\n this.unpressedLabel(),\n );\n }\n\n public registerOnChange(fn: (value: boolean) => void): void {\n this.cvaModeEnabled.set(true);\n this.onControlChange = fn;\n }\n\n public registerOnTouched(fn: () => void): void {\n this.cvaModeEnabled.set(true);\n this.onControlTouched = fn;\n }\n\n public setDisabledState(isDisabled: boolean): void {\n this.cvaModeEnabled.set(true);\n this.cvaDisabled.set(isDisabled);\n }\n\n public writeValue(value: unknown): void {\n this.cvaModeEnabled.set(true);\n this.cvaPressed.set(value === true);\n }\n\n private groupItemValue(): string | null {\n return normalizeStringValue(this.value());\n }\n\n private groupManagesState(): boolean {\n return this.group !== null && this.groupItemValue() !== null;\n }\n}\n"]}
1
+ {"version":3,"file":"tng-toggle.component.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/form/toggle/tng-toggle.component.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n booleanAttribute,\n Component,\n OnInit,\n computed,\n forwardRef,\n inject,\n input,\n output,\n signal,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR, type ControlValueAccessor } from '@angular/forms';\nimport {\n coerceTngToggleNullableBoolean,\n TngToggle as TngTogglePrimitive,\n TngToggleGroup as TngToggleGroupPrimitive,\n} from '@tailng-ui/primitives';\n\nexport function toggleTngToggleState(pressed: boolean): boolean {\n return !pressed;\n}\n\nexport function resolveTngToggleAriaLabel(\n pressed: boolean,\n pressedLabel: string,\n unpressedLabel: string,\n): string {\n return pressed ? pressedLabel : unpressedLabel;\n}\n\ntype NullableBooleanInput = '' | 'false' | 'true' | boolean | null | undefined;\n\nfunction normalizeStringValue(value: string | null | undefined): string | null {\n if (value === undefined || value === null) {\n return null;\n }\n\n const normalized = value.trim();\n return normalized.length > 0 ? normalized : null;\n}\n\nconst noControlChange = (_value: boolean): void => undefined;\nconst noControlTouch = (): void => undefined;\n\nfunction injectParentToggleGroup(): TngToggleGroupPrimitive | null {\n return inject(TngToggleGroupPrimitive, {\n optional: true,\n skipSelf: true,\n });\n}\n\n@Component({\n selector: 'tng-toggle',\n imports: [TngTogglePrimitive],\n templateUrl: './tng-toggle.component.html',\n styleUrl: './tng-toggle.component.css',\n viewProviders: [\n {\n provide: TngToggleGroupPrimitive,\n useFactory: injectParentToggleGroup,\n },\n ],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TngToggleComponent),\n multi: true,\n },\n ],\n})\nexport class TngToggleComponent implements ControlValueAccessor, OnInit {\n private readonly group = inject(TngToggleGroupPrimitive, {\n optional: true,\n skipSelf: true,\n });\n private readonly internalPressed = signal(false);\n private readonly cvaModeEnabled = signal(false);\n private readonly cvaPressed = signal(false);\n private readonly cvaDisabled = signal(false);\n\n private onControlChange: (value: boolean) => void = noControlChange;\n private onControlTouched: () => void = noControlTouch;\n\n public readonly ariaLabel = input<string | null>(null);\n public readonly ariaLabelledby = input<string | null>(null);\n public readonly ariaDescribedBy = input<string | null>(null);\n public readonly value = input<string | null>(null);\n\n public readonly pressed = input<boolean | null, NullableBooleanInput>(null, {\n transform: coerceTngToggleNullableBoolean,\n });\n public readonly defaultPressed = input<boolean, boolean | string>(false, {\n transform: booleanAttribute,\n });\n public readonly disabled = input<boolean, boolean | string>(false, {\n transform: booleanAttribute,\n });\n public readonly pressedLabel = input<string>('Enabled');\n public readonly unpressedLabel = input<string>('Disabled');\n\n public readonly pressedChange = output<boolean>();\n\n protected readonly resolvedDisabled = computed<boolean>(() => {\n const groupDisabled = this.group?.isGroupDisabled() === true && this.groupManagesState();\n if (this.cvaModeEnabled()) {\n return this.cvaDisabled() || groupDisabled;\n }\n\n return this.disabled() || groupDisabled;\n });\n\n protected readonly resolvedPressed = computed<boolean>(() => {\n const groupItemValue = this.groupItemValue();\n if (groupItemValue !== null && this.group !== null) {\n return this.group.isItemSelected(groupItemValue);\n }\n\n if (this.cvaModeEnabled()) {\n return this.cvaPressed();\n }\n\n const controlledPressed = this.pressed();\n if (controlledPressed !== null) {\n return controlledPressed;\n }\n\n return this.internalPressed();\n });\n\n public constructor() {\n this.internalPressed.set(false);\n }\n\n public ngOnInit(): void {\n this.internalPressed.set(this.defaultPressed());\n }\n\n public onBlur(): void {\n this.onControlTouched();\n }\n\n public onPrimitivePressedChange(nextPressed: boolean): void {\n if (this.resolvedDisabled()) {\n return;\n }\n\n if (this.cvaModeEnabled()) {\n this.cvaPressed.set(nextPressed);\n this.onControlChange(nextPressed);\n } else if (this.pressed() === null && !this.groupManagesState()) {\n this.internalPressed.set(nextPressed);\n }\n\n this.pressedChange.emit(nextPressed);\n }\n\n public getAriaLabel(): string | null {\n const explicitAriaLabel = normalizeStringValue(this.ariaLabel());\n if (explicitAriaLabel !== null) {\n return explicitAriaLabel;\n }\n\n const labelledby = normalizeStringValue(this.ariaLabelledby());\n if (labelledby !== null) {\n return null;\n }\n\n return resolveTngToggleAriaLabel(\n this.resolvedPressed(),\n this.pressedLabel(),\n this.unpressedLabel(),\n );\n }\n\n public registerOnChange(fn: (value: boolean) => void): void {\n this.cvaModeEnabled.set(true);\n this.onControlChange = fn;\n }\n\n public registerOnTouched(fn: () => void): void {\n this.cvaModeEnabled.set(true);\n this.onControlTouched = fn;\n }\n\n public setDisabledState(isDisabled: boolean): void {\n this.cvaModeEnabled.set(true);\n this.cvaDisabled.set(isDisabled);\n }\n\n public writeValue(value: unknown): void {\n this.cvaModeEnabled.set(true);\n this.cvaPressed.set(value === true);\n }\n\n private groupItemValue(): string | null {\n return normalizeStringValue(this.value());\n }\n\n private groupManagesState(): boolean {\n return this.group !== null && this.groupItemValue() !== null;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"tng-toggle-group.component.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/form/toggle-group/tng-toggle-group.component.ts"],"names":[],"mappings":"AAGA,qBA0Ba,uBAAuB;CAAG"}
1
+ {"version":3,"file":"tng-toggle-group.component.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/form/toggle-group/tng-toggle-group.component.ts"],"names":[],"mappings":"AAGA,qBAyBa,uBAAuB;CAAG"}
@@ -5,7 +5,6 @@ let TngToggleGroupComponent = class TngToggleGroupComponent {
5
5
  };
6
6
  TngToggleGroupComponent = __decorate([
7
7
  Component({
8
- standalone: true,
9
8
  selector: 'tng-toggle-group',
10
9
  templateUrl: './tng-toggle-group.component.html',
11
10
  styleUrl: './tng-toggle-group.component.css',
@@ -1 +1 @@
1
- {"version":3,"file":"tng-toggle-group.component.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/form/toggle-group/tng-toggle-group.component.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,cAAc,IAAI,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AA4B3E,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;CAAG,CAAA;AAA1B,uBAAuB;IA1BnC,SAAS,CAAC;QACT,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,kBAAkB;QAC5B,WAAW,EAAE,mCAAmC;QAChD,QAAQ,EAAE,kCAAkC;QAC5C,IAAI,EAAE;YACJ,KAAK,EAAE,kBAAkB;SAC1B;QACD,cAAc,EAAE;YACd;gBACE,SAAS,EAAE,uBAAuB;gBAClC,MAAM,EAAE;oBACN,WAAW;oBACX,gBAAgB;oBAChB,aAAa;oBACb,eAAe;oBACf,UAAU;oBACV,OAAO;oBACP,QAAQ;oBACR,cAAc;oBACd,eAAe;iBAChB;gBACD,OAAO,EAAE,CAAC,aAAa,EAAE,cAAc,CAAC;aACzC;SACF;KACF,CAAC;GACW,uBAAuB,CAAG","sourcesContent":["import { Component } from '@angular/core';\nimport { TngToggleGroup as TngToggleGroupPrimitive } from '@tailng-ui/primitives';\n\n@Component({\n standalone: true,\n selector: 'tng-toggle-group',\n templateUrl: './tng-toggle-group.component.html',\n styleUrl: './tng-toggle-group.component.css',\n host: {\n class: 'tng-toggle-group',\n },\n hostDirectives: [\n {\n directive: TngToggleGroupPrimitive,\n inputs: [\n 'ariaLabel',\n 'ariaLabelledby',\n 'orientation',\n 'selectionMode',\n 'disabled',\n 'value',\n 'values',\n 'defaultValue',\n 'defaultValues',\n ],\n outputs: ['valueChange', 'valuesChange'],\n },\n ],\n})\nexport class TngToggleGroupComponent {}\n"]}
1
+ {"version":3,"file":"tng-toggle-group.component.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/form/toggle-group/tng-toggle-group.component.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,cAAc,IAAI,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AA2B3E,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;CAAG,CAAA;AAA1B,uBAAuB;IAzBnC,SAAS,CAAC;QACT,QAAQ,EAAE,kBAAkB;QAC5B,WAAW,EAAE,mCAAmC;QAChD,QAAQ,EAAE,kCAAkC;QAC5C,IAAI,EAAE;YACJ,KAAK,EAAE,kBAAkB;SAC1B;QACD,cAAc,EAAE;YACd;gBACE,SAAS,EAAE,uBAAuB;gBAClC,MAAM,EAAE;oBACN,WAAW;oBACX,gBAAgB;oBAChB,aAAa;oBACb,eAAe;oBACf,UAAU;oBACV,OAAO;oBACP,QAAQ;oBACR,cAAc;oBACd,eAAe;iBAChB;gBACD,OAAO,EAAE,CAAC,aAAa,EAAE,cAAc,CAAC;aACzC;SACF;KACF,CAAC;GACW,uBAAuB,CAAG","sourcesContent":["import { Component } from '@angular/core';\nimport { TngToggleGroup as TngToggleGroupPrimitive } from '@tailng-ui/primitives';\n\n@Component({\n selector: 'tng-toggle-group',\n templateUrl: './tng-toggle-group.component.html',\n styleUrl: './tng-toggle-group.component.css',\n host: {\n class: 'tng-toggle-group',\n },\n hostDirectives: [\n {\n directive: TngToggleGroupPrimitive,\n inputs: [\n 'ariaLabel',\n 'ariaLabelledby',\n 'orientation',\n 'selectionMode',\n 'disabled',\n 'value',\n 'values',\n 'defaultValue',\n 'defaultValues',\n ],\n outputs: ['valueChange', 'valuesChange'],\n },\n ],\n})\nexport class TngToggleGroupComponent {}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"tng-accordion.component.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/layout/accordion/tng-accordion.component.ts"],"names":[],"mappings":"AAQA,qBAca,qBAAqB;IAChC,QAAQ,CAAC,SAAS,8CAA8B;IAGhD,SAAS,KAAK,aAAa,IAAI,MAAM,CAEpC;CACF;AAED,qBA0Ba,yBAAyB;CAAG;AAEzC,qBA0Ca,4BAA4B;CAAG;AAE5C,qBA6Ca,0BAA0B;CAAG"}
1
+ {"version":3,"file":"tng-accordion.component.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/layout/accordion/tng-accordion.component.ts"],"names":[],"mappings":"AAQA,qBAaa,qBAAqB;IAChC,QAAQ,CAAC,SAAS,8CAA8B;IAGhD,SAAS,KAAK,aAAa,IAAI,MAAM,CAEpC;CACF;AAED,qBAyBa,yBAAyB;CAAG;AAEzC,qBAyCa,4BAA4B;CAAG;AAE5C,qBA4Ca,0BAA0B;CAAG"}
@@ -13,7 +13,6 @@ __decorate([
13
13
  TngAccordionComponent = __decorate([
14
14
  Component({
15
15
  selector: 'tng-accordion',
16
- standalone: true,
17
16
  hostDirectives: [
18
17
  {
19
18
  directive: TngAccordionPrimitive,
@@ -32,7 +31,6 @@ let TngAccordionItemComponent = class TngAccordionItemComponent {
32
31
  TngAccordionItemComponent = __decorate([
33
32
  Component({
34
33
  selector: 'tng-accordion-item',
35
- standalone: true,
36
34
  hostDirectives: [
37
35
  {
38
36
  directive: TngAccordionItemPrimitive,
@@ -63,7 +61,6 @@ let TngAccordionTriggerComponent = class TngAccordionTriggerComponent {
63
61
  TngAccordionTriggerComponent = __decorate([
64
62
  Component({
65
63
  selector: 'tng-accordion-trigger',
66
- standalone: true,
67
64
  hostDirectives: [TngAccordionTriggerPrimitive],
68
65
  template: '<span class="tng-accordion__trigger-content"><ng-content /></span>',
69
66
  styles: `
@@ -110,7 +107,6 @@ let TngAccordionPanelComponent = class TngAccordionPanelComponent {
110
107
  TngAccordionPanelComponent = __decorate([
111
108
  Component({
112
109
  selector: 'tng-accordion-panel',
113
- standalone: true,
114
110
  hostDirectives: [TngAccordionPanelPrimitive],
115
111
  template: '<section class="tng-accordion__panel"><ng-content /></section>',
116
112
  styles: `
@@ -1 +1 @@
1
- {"version":3,"file":"tng-accordion.component.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/layout/accordion/tng-accordion.component.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,EACL,YAAY,IAAI,qBAAqB,EACrC,gBAAgB,IAAI,yBAAyB,EAC7C,iBAAiB,IAAI,0BAA0B,EAC/C,mBAAmB,IAAI,4BAA4B,GACpD,MAAM,uBAAuB,CAAC;AAgBxB,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;IACvB,SAAS,GAAG,KAAK,CAAS,WAAW,CAAC,CAAC;IAGhD,IAAc,aAAa;QACzB,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;IAC1B,CAAC;CACF,CAAA;AAHC;IADC,WAAW,CAAC,iBAAiB,CAAC;0DAG9B;AANU,qBAAqB;IAdjC,SAAS,CAAC;QACT,QAAQ,EAAE,eAAe;QACzB,UAAU,EAAE,IAAI;QAChB,cAAc,EAAE;YACd;gBACE,SAAS,EAAE,qBAAqB;gBAChC,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC;gBACjG,OAAO,EAAE,CAAC,aAAa,EAAE,cAAc,EAAE,gBAAgB,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,CAAC;aAC1G;SACF;QACD,WAAW,EAAE,gCAAgC;QAC7C,QAAQ,EAAE,+BAA+B;QACzC,QAAQ,EAAE,uBAAuB;KAClC,CAAC;GACW,qBAAqB,CAOjC;;AA4BM,IAAM,yBAAyB,GAA/B,MAAM,yBAAyB;CAAG,CAAA;AAA5B,yBAAyB;IA1BrC,SAAS,CAAC;QACT,QAAQ,EAAE,oBAAoB;QAC9B,UAAU,EAAE,IAAI;QAChB,cAAc,EAAE;YACd;gBACE,SAAS,EAAE,yBAAyB;gBACpC,MAAM,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC;aAC9B;SACF;QACD,QAAQ,EAAE,+DAA+D;QACzE,MAAM,EAAE;;;;;;;;;;;;;GAaP;QACD,QAAQ,EAAE,2BAA2B;KACtC,CAAC;GACW,yBAAyB,CAAG;;AA4ClC,IAAM,4BAA4B,GAAlC,MAAM,4BAA4B;CAAG,CAAA;AAA/B,4BAA4B;IA1CxC,SAAS,CAAC;QACT,QAAQ,EAAE,uBAAuB;QACjC,UAAU,EAAE,IAAI;QAChB,cAAc,EAAE,CAAC,4BAA4B,CAAC;QAC9C,QAAQ,EAAE,oEAAoE;QAC9E,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCP;QACD,QAAQ,EAAE,8BAA8B;KACzC,CAAC;GACW,4BAA4B,CAAG;;AA+CrC,IAAM,0BAA0B,GAAhC,MAAM,0BAA0B;CAAG,CAAA;AAA7B,0BAA0B;IA7CtC,SAAS,CAAC;QACT,QAAQ,EAAE,qBAAqB;QAC/B,UAAU,EAAE,IAAI;QAChB,cAAc,EAAE,CAAC,0BAA0B,CAAC;QAC5C,QAAQ,EAAE,gEAAgE;QAC1E,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCP;QACD,QAAQ,EAAE,4BAA4B;KACvC,CAAC;GACW,0BAA0B,CAAG","sourcesContent":["import { Component, HostBinding, input } from '@angular/core';\nimport {\n TngAccordion as TngAccordionPrimitive,\n TngAccordionItem as TngAccordionItemPrimitive,\n TngAccordionPanel as TngAccordionPanelPrimitive,\n TngAccordionTrigger as TngAccordionTriggerPrimitive,\n} from '@tailng-ui/primitives';\n\n@Component({\n selector: 'tng-accordion',\n standalone: true,\n hostDirectives: [\n {\n directive: TngAccordionPrimitive,\n inputs: ['type', 'value', 'defaultValue', 'collapsible', 'disabled', 'loop', 'lazy', 'keepAlive'],\n outputs: ['valueChange', 'valuesChange', 'expandedChange', 'openStart', 'opened', 'closeStart', 'closed'],\n },\n ],\n templateUrl: './tng-accordion.component.html',\n styleUrl: './tng-accordion.component.css',\n exportAs: 'tngAccordionComponent',\n})\nexport class TngAccordionComponent {\n readonly ariaLabel = input<string>('Accordion');\n\n @HostBinding('attr.aria-label')\n protected get hostAriaLabel(): string {\n return this.ariaLabel();\n }\n}\n\n@Component({\n selector: 'tng-accordion-item',\n standalone: true,\n hostDirectives: [\n {\n directive: TngAccordionItemPrimitive,\n inputs: ['value', 'disabled'],\n },\n ],\n template: '<section class=\"tng-accordion__item\"><ng-content /></section>',\n styles: `\n :host {\n display: block;\n border-top: 1px solid var(--tng-semantic-border-subtle);\n }\n\n :host(:first-child) {\n border-top: 0;\n }\n\n .tng-accordion__item {\n display: block;\n }\n `,\n exportAs: 'tngAccordionItemComponent',\n})\nexport class TngAccordionItemComponent {}\n\n@Component({\n selector: 'tng-accordion-trigger',\n standalone: true,\n hostDirectives: [TngAccordionTriggerPrimitive],\n template: '<span class=\"tng-accordion__trigger-content\"><ng-content /></span>',\n styles: `\n :host {\n align-items: center;\n background: var(--tng-semantic-background-surface);\n border: 0;\n color: var(--tng-semantic-foreground-primary);\n cursor: pointer;\n display: flex;\n font: inherit;\n gap: 0.5rem;\n justify-content: space-between;\n min-height: 2.75rem;\n padding: 0.8rem 1rem;\n user-select: none;\n width: 100%;\n }\n\n :host([data-disabled='true']) {\n cursor: not-allowed;\n opacity: 0.55;\n }\n\n :host(:focus-visible) {\n outline: 2px solid var(--tng-semantic-focus-ring);\n outline-offset: -2px;\n }\n\n .tng-accordion__trigger-content {\n align-items: center;\n display: inline-flex;\n flex: 1 1 auto;\n justify-content: space-between;\n width: 100%;\n }\n `,\n exportAs: 'tngAccordionTriggerComponent',\n})\nexport class TngAccordionTriggerComponent {}\n\n@Component({\n selector: 'tng-accordion-panel',\n standalone: true,\n hostDirectives: [TngAccordionPanelPrimitive],\n template: '<section class=\"tng-accordion__panel\"><ng-content /></section>',\n styles: `\n :host {\n display: grid;\n grid-template-rows: 1fr;\n opacity: 1;\n transition:\n grid-template-rows 180ms ease,\n opacity 180ms ease;\n }\n\n :host([hidden]) {\n display: grid !important;\n grid-template-rows: 0fr;\n opacity: 0;\n pointer-events: none;\n }\n\n .tng-accordion__panel {\n background: var(--tng-semantic-background-base);\n border-top: 1px solid var(--tng-semantic-border-subtle);\n color: var(--tng-semantic-foreground-primary);\n display: block;\n min-height: 0;\n overflow: hidden;\n padding: 0.9rem 1rem;\n transform: translateY(0);\n transition:\n border-color 180ms ease,\n padding-block 180ms ease,\n transform 180ms ease;\n }\n\n :host([hidden]) .tng-accordion__panel {\n border-top-color: transparent;\n padding-block: 0;\n transform: translateY(-4px);\n }\n `,\n exportAs: 'tngAccordionPanelComponent',\n})\nexport class TngAccordionPanelComponent {}\n"]}
1
+ {"version":3,"file":"tng-accordion.component.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/layout/accordion/tng-accordion.component.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,EACL,YAAY,IAAI,qBAAqB,EACrC,gBAAgB,IAAI,yBAAyB,EAC7C,iBAAiB,IAAI,0BAA0B,EAC/C,mBAAmB,IAAI,4BAA4B,GACpD,MAAM,uBAAuB,CAAC;AAexB,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;IACvB,SAAS,GAAG,KAAK,CAAS,WAAW,CAAC,CAAC;IAGhD,IAAc,aAAa;QACzB,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;IAC1B,CAAC;CACF,CAAA;AAHC;IADC,WAAW,CAAC,iBAAiB,CAAC;0DAG9B;AANU,qBAAqB;IAbjC,SAAS,CAAC;QACT,QAAQ,EAAE,eAAe;QACzB,cAAc,EAAE;YACd;gBACE,SAAS,EAAE,qBAAqB;gBAChC,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC;gBACjG,OAAO,EAAE,CAAC,aAAa,EAAE,cAAc,EAAE,gBAAgB,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,CAAC;aAC1G;SACF;QACD,WAAW,EAAE,gCAAgC;QAC7C,QAAQ,EAAE,+BAA+B;QACzC,QAAQ,EAAE,uBAAuB;KAClC,CAAC;GACW,qBAAqB,CAOjC;;AA2BM,IAAM,yBAAyB,GAA/B,MAAM,yBAAyB;CAAG,CAAA;AAA5B,yBAAyB;IAzBrC,SAAS,CAAC;QACT,QAAQ,EAAE,oBAAoB;QAC9B,cAAc,EAAE;YACd;gBACE,SAAS,EAAE,yBAAyB;gBACpC,MAAM,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC;aAC9B;SACF;QACD,QAAQ,EAAE,+DAA+D;QACzE,MAAM,EAAE;;;;;;;;;;;;;GAaP;QACD,QAAQ,EAAE,2BAA2B;KACtC,CAAC;GACW,yBAAyB,CAAG;;AA2ClC,IAAM,4BAA4B,GAAlC,MAAM,4BAA4B;CAAG,CAAA;AAA/B,4BAA4B;IAzCxC,SAAS,CAAC;QACT,QAAQ,EAAE,uBAAuB;QACjC,cAAc,EAAE,CAAC,4BAA4B,CAAC;QAC9C,QAAQ,EAAE,oEAAoE;QAC9E,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCP;QACD,QAAQ,EAAE,8BAA8B;KACzC,CAAC;GACW,4BAA4B,CAAG;;AA8CrC,IAAM,0BAA0B,GAAhC,MAAM,0BAA0B;CAAG,CAAA;AAA7B,0BAA0B;IA5CtC,SAAS,CAAC;QACT,QAAQ,EAAE,qBAAqB;QAC/B,cAAc,EAAE,CAAC,0BAA0B,CAAC;QAC5C,QAAQ,EAAE,gEAAgE;QAC1E,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCP;QACD,QAAQ,EAAE,4BAA4B;KACvC,CAAC;GACW,0BAA0B,CAAG","sourcesContent":["import { Component, HostBinding, input } from '@angular/core';\nimport {\n TngAccordion as TngAccordionPrimitive,\n TngAccordionItem as TngAccordionItemPrimitive,\n TngAccordionPanel as TngAccordionPanelPrimitive,\n TngAccordionTrigger as TngAccordionTriggerPrimitive,\n} from '@tailng-ui/primitives';\n\n@Component({\n selector: 'tng-accordion',\n hostDirectives: [\n {\n directive: TngAccordionPrimitive,\n inputs: ['type', 'value', 'defaultValue', 'collapsible', 'disabled', 'loop', 'lazy', 'keepAlive'],\n outputs: ['valueChange', 'valuesChange', 'expandedChange', 'openStart', 'opened', 'closeStart', 'closed'],\n },\n ],\n templateUrl: './tng-accordion.component.html',\n styleUrl: './tng-accordion.component.css',\n exportAs: 'tngAccordionComponent',\n})\nexport class TngAccordionComponent {\n readonly ariaLabel = input<string>('Accordion');\n\n @HostBinding('attr.aria-label')\n protected get hostAriaLabel(): string {\n return this.ariaLabel();\n }\n}\n\n@Component({\n selector: 'tng-accordion-item',\n hostDirectives: [\n {\n directive: TngAccordionItemPrimitive,\n inputs: ['value', 'disabled'],\n },\n ],\n template: '<section class=\"tng-accordion__item\"><ng-content /></section>',\n styles: `\n :host {\n display: block;\n border-top: 1px solid var(--tng-semantic-border-subtle);\n }\n\n :host(:first-child) {\n border-top: 0;\n }\n\n .tng-accordion__item {\n display: block;\n }\n `,\n exportAs: 'tngAccordionItemComponent',\n})\nexport class TngAccordionItemComponent {}\n\n@Component({\n selector: 'tng-accordion-trigger',\n hostDirectives: [TngAccordionTriggerPrimitive],\n template: '<span class=\"tng-accordion__trigger-content\"><ng-content /></span>',\n styles: `\n :host {\n align-items: center;\n background: var(--tng-semantic-background-surface);\n border: 0;\n color: var(--tng-semantic-foreground-primary);\n cursor: pointer;\n display: flex;\n font: inherit;\n gap: 0.5rem;\n justify-content: space-between;\n min-height: 2.75rem;\n padding: 0.8rem 1rem;\n user-select: none;\n width: 100%;\n }\n\n :host([data-disabled='true']) {\n cursor: not-allowed;\n opacity: 0.55;\n }\n\n :host(:focus-visible) {\n outline: 2px solid var(--tng-semantic-focus-ring);\n outline-offset: -2px;\n }\n\n .tng-accordion__trigger-content {\n align-items: center;\n display: inline-flex;\n flex: 1 1 auto;\n justify-content: space-between;\n width: 100%;\n }\n `,\n exportAs: 'tngAccordionTriggerComponent',\n})\nexport class TngAccordionTriggerComponent {}\n\n@Component({\n selector: 'tng-accordion-panel',\n hostDirectives: [TngAccordionPanelPrimitive],\n template: '<section class=\"tng-accordion__panel\"><ng-content /></section>',\n styles: `\n :host {\n display: grid;\n grid-template-rows: 1fr;\n opacity: 1;\n transition:\n grid-template-rows 180ms ease,\n opacity 180ms ease;\n }\n\n :host([hidden]) {\n display: grid !important;\n grid-template-rows: 0fr;\n opacity: 0;\n pointer-events: none;\n }\n\n .tng-accordion__panel {\n background: var(--tng-semantic-background-base);\n border-top: 1px solid var(--tng-semantic-border-subtle);\n color: var(--tng-semantic-foreground-primary);\n display: block;\n min-height: 0;\n overflow: hidden;\n padding: 0.9rem 1rem;\n transform: translateY(0);\n transition:\n border-color 180ms ease,\n padding-block 180ms ease,\n transform 180ms ease;\n }\n\n :host([hidden]) .tng-accordion__panel {\n border-top-color: transparent;\n padding-block: 0;\n transform: translateY(-4px);\n }\n `,\n exportAs: 'tngAccordionPanelComponent',\n})\nexport class TngAccordionPanelComponent {}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"tng-bottom-sheet.component.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/layout/bottom-sheet/tng-bottom-sheet.component.ts"],"names":[],"mappings":"AAGA,qBAOa,uBAAuB;IAClC,SAAgB,SAAS,8CAAiC;CAC3D"}
1
+ {"version":3,"file":"tng-bottom-sheet.component.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/layout/bottom-sheet/tng-bottom-sheet.component.ts"],"names":[],"mappings":"AAGA,qBAMa,uBAAuB;IAClC,SAAgB,SAAS,8CAAiC;CAC3D"}
@@ -6,7 +6,6 @@ let TngBottomSheetComponent = class TngBottomSheetComponent {
6
6
  };
7
7
  TngBottomSheetComponent = __decorate([
8
8
  Component({
9
- standalone: true,
10
9
  selector: 'tng-bottom-sheet',
11
10
  imports: [TngBottomSheetPrimitive],
12
11
  templateUrl: './tng-bottom-sheet.component.html',
@@ -1 +1 @@
1
- {"version":3,"file":"tng-bottom-sheet.component.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/layout/bottom-sheet/tng-bottom-sheet.component.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,cAAc,IAAI,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAS3E,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;IAClB,SAAS,GAAG,KAAK,CAAS,cAAc,CAAC,CAAC;CAC3D,CAAA;AAFY,uBAAuB;IAPnC,SAAS,CAAC;QACT,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,kBAAkB;QAC5B,OAAO,EAAE,CAAC,uBAAuB,CAAC;QAClC,WAAW,EAAE,mCAAmC;QAChD,QAAQ,EAAE,kCAAkC;KAC7C,CAAC;GACW,uBAAuB,CAEnC","sourcesContent":["import { Component, input } from '@angular/core';\nimport { TngBottomSheet as TngBottomSheetPrimitive } from '@tailng-ui/primitives';\n\n@Component({\n standalone: true,\n selector: 'tng-bottom-sheet',\n imports: [TngBottomSheetPrimitive],\n templateUrl: './tng-bottom-sheet.component.html',\n styleUrl: './tng-bottom-sheet.component.css',\n})\nexport class TngBottomSheetComponent {\n public readonly ariaLabel = input<string>('Bottom Sheet');\n}\n"]}
1
+ {"version":3,"file":"tng-bottom-sheet.component.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/layout/bottom-sheet/tng-bottom-sheet.component.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,cAAc,IAAI,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAQ3E,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;IAClB,SAAS,GAAG,KAAK,CAAS,cAAc,CAAC,CAAC;CAC3D,CAAA;AAFY,uBAAuB;IANnC,SAAS,CAAC;QACT,QAAQ,EAAE,kBAAkB;QAC5B,OAAO,EAAE,CAAC,uBAAuB,CAAC;QAClC,WAAW,EAAE,mCAAmC;QAChD,QAAQ,EAAE,kCAAkC;KAC7C,CAAC;GACW,uBAAuB,CAEnC","sourcesContent":["import { Component, input } from '@angular/core';\nimport { TngBottomSheet as TngBottomSheetPrimitive } from '@tailng-ui/primitives';\n\n@Component({\n selector: 'tng-bottom-sheet',\n imports: [TngBottomSheetPrimitive],\n templateUrl: './tng-bottom-sheet.component.html',\n styleUrl: './tng-bottom-sheet.component.css',\n})\nexport class TngBottomSheetComponent {\n public readonly ariaLabel = input<string>('Bottom Sheet');\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"tng-card.component.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/layout/card/tng-card.component.ts"],"names":[],"mappings":"AAcA,QAAA,MAAM,YAAY,wCAAyC,CAAC;AAC5D,QAAA,MAAM,SAAS,yEAA0E,CAAC;AAC1F,QAAA,MAAM,YAAY,qCAAsC,CAAC;AACzD,QAAA,MAAM,oBAAoB,2BAA4B,CAAC;AAYvD,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AAC3D,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;AACrD,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AAC3D,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AAkCxE,qBAOa,gBAAgB;IAC3B,SAAgB,QAAQ,8EAErB;IACH,SAAgB,WAAW,8EAExB;IACH,SAAgB,OAAO,wFAEpB;IACH,SAAgB,IAAI,8HAEjB;IACH,SAAgB,OAAO,0FAEpB;CACJ;AAED,qBAOa,sBAAsB;CAClC;AAED,qBAOa,qBAAqB;CACjC;AAED,qBAOa,2BAA2B;CACvC;AAED,qBAOa,uBAAuB;CACnC;AAED,qBAOa,sBAAsB;CAClC;AAED,qBAOa,qBAAqB;CACjC;AAED,qBAOa,uBAAuB;IAClC,SAAgB,KAAK,4EAElB;CACJ;AAED,qBAOa,uBAAuB;CACnC;AAED,qBAOa,oBAAoB;IAC/B,SAAgB,SAAS,qDAA8B;IACvD,SAAgB,QAAQ,8EAErB;IACH,SAAgB,IAAI,qDAA6B;IACjD,SAAgB,GAAG,qDAA8B;IACjD,SAAgB,MAAM,qDAA8B;IAEpD,SAAS,CAAC,OAAO,CAAC,GAAG,IAAI,EAAE,SAAS,OAAO,EAAE,GAAG,IAAI;CAarD"}
1
+ {"version":3,"file":"tng-card.component.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/layout/card/tng-card.component.ts"],"names":[],"mappings":"AAcA,QAAA,MAAM,YAAY,wCAAyC,CAAC;AAC5D,QAAA,MAAM,SAAS,yEAA0E,CAAC;AAC1F,QAAA,MAAM,YAAY,qCAAsC,CAAC;AACzD,QAAA,MAAM,oBAAoB,2BAA4B,CAAC;AAYvD,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AAC3D,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;AACrD,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AAC3D,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AAkCxE,qBAMa,gBAAgB;IAC3B,SAAgB,QAAQ,8EAErB;IACH,SAAgB,WAAW,8EAExB;IACH,SAAgB,OAAO,wFAEpB;IACH,SAAgB,IAAI,8HAEjB;IACH,SAAgB,OAAO,0FAEpB;CACJ;AAED,qBAMa,sBAAsB;CAClC;AAED,qBAMa,qBAAqB;CACjC;AAED,qBAMa,2BAA2B;CACvC;AAED,qBAMa,uBAAuB;CACnC;AAED,qBAMa,sBAAsB;CAClC;AAED,qBAMa,qBAAqB;CACjC;AAED,qBAMa,uBAAuB;IAClC,SAAgB,KAAK,4EAElB;CACJ;AAED,qBAMa,uBAAuB;CACnC;AAED,qBAMa,oBAAoB;IAC/B,SAAgB,SAAS,qDAA8B;IACvD,SAAgB,QAAQ,8EAErB;IACH,SAAgB,IAAI,qDAA6B;IACjD,SAAgB,GAAG,qDAA8B;IACjD,SAAgB,MAAM,qDAA8B;IAEpD,SAAS,CAAC,OAAO,CAAC,GAAG,IAAI,EAAE,SAAS,OAAO,EAAE,GAAG,IAAI;CAarD"}
@@ -56,7 +56,6 @@ let TngCardComponent = class TngCardComponent {
56
56
  };
57
57
  TngCardComponent = __decorate([
58
58
  Component({
59
- standalone: true,
60
59
  selector: 'tng-card',
61
60
  imports: [TngCardPrimitive],
62
61
  templateUrl: './tng-card.component.html',
@@ -68,7 +67,6 @@ let TngCardHeaderComponent = class TngCardHeaderComponent {
68
67
  };
69
68
  TngCardHeaderComponent = __decorate([
70
69
  Component({
71
- standalone: true,
72
70
  selector: 'tng-card-header',
73
71
  imports: [TngCardHeaderPrimitive],
74
72
  templateUrl: './tng-card-header.component.html',
@@ -80,7 +78,6 @@ let TngCardTitleComponent = class TngCardTitleComponent {
80
78
  };
81
79
  TngCardTitleComponent = __decorate([
82
80
  Component({
83
- standalone: true,
84
81
  selector: 'tng-card-title',
85
82
  imports: [TngCardTitlePrimitive],
86
83
  templateUrl: './tng-card-title.component.html',
@@ -92,7 +89,6 @@ let TngCardDescriptionComponent = class TngCardDescriptionComponent {
92
89
  };
93
90
  TngCardDescriptionComponent = __decorate([
94
91
  Component({
95
- standalone: true,
96
92
  selector: 'tng-card-description',
97
93
  imports: [TngCardDescriptionPrimitive],
98
94
  templateUrl: './tng-card-description.component.html',
@@ -104,7 +100,6 @@ let TngCardContentComponent = class TngCardContentComponent {
104
100
  };
105
101
  TngCardContentComponent = __decorate([
106
102
  Component({
107
- standalone: true,
108
103
  selector: 'tng-card-content',
109
104
  imports: [TngCardContentPrimitive],
110
105
  templateUrl: './tng-card-content.component.html',
@@ -116,7 +111,6 @@ let TngCardFooterComponent = class TngCardFooterComponent {
116
111
  };
117
112
  TngCardFooterComponent = __decorate([
118
113
  Component({
119
- standalone: true,
120
114
  selector: 'tng-card-footer',
121
115
  imports: [TngCardFooterPrimitive],
122
116
  templateUrl: './tng-card-footer.component.html',
@@ -128,7 +122,6 @@ let TngCardMediaComponent = class TngCardMediaComponent {
128
122
  };
129
123
  TngCardMediaComponent = __decorate([
130
124
  Component({
131
- standalone: true,
132
125
  selector: 'tng-card-media',
133
126
  imports: [TngCardMediaPrimitive],
134
127
  templateUrl: './tng-card-media.component.html',
@@ -143,7 +136,6 @@ let TngCardActionsComponent = class TngCardActionsComponent {
143
136
  };
144
137
  TngCardActionsComponent = __decorate([
145
138
  Component({
146
- standalone: true,
147
139
  selector: 'tng-card-actions',
148
140
  imports: [TngCardActionsPrimitive],
149
141
  templateUrl: './tng-card-actions.component.html',
@@ -155,7 +147,6 @@ let TngCardDividerComponent = class TngCardDividerComponent {
155
147
  };
156
148
  TngCardDividerComponent = __decorate([
157
149
  Component({
158
- standalone: true,
159
150
  selector: 'tng-card-divider',
160
151
  imports: [TngCardDividerPrimitive],
161
152
  templateUrl: './tng-card-divider.component.html',
@@ -185,7 +176,6 @@ let TngCardLinkComponent = class TngCardLinkComponent {
185
176
  };
186
177
  TngCardLinkComponent = __decorate([
187
178
  Component({
188
- standalone: true,
189
179
  selector: 'tng-card-link',
190
180
  imports: [TngCardLinkPrimitive],
191
181
  templateUrl: './tng-card-link.component.html',
@@ -1 +1 @@
1
- {"version":3,"file":"tng-card.component.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/layout/card/tng-card.component.ts"],"names":[],"mappings":"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","sourcesContent":["import { booleanAttribute, Component, input } from '@angular/core';\nimport {\n TngCard as TngCardPrimitive,\n TngCardActions as TngCardActionsPrimitive,\n TngCardContent as TngCardContentPrimitive,\n TngCardDescription as TngCardDescriptionPrimitive,\n TngCardDivider as TngCardDividerPrimitive,\n TngCardFooter as TngCardFooterPrimitive,\n TngCardHeader as TngCardHeaderPrimitive,\n TngCardLink as TngCardLinkPrimitive,\n TngCardMedia as TngCardMediaPrimitive,\n TngCardTitle as TngCardTitlePrimitive,\n} from '@tailng-ui/primitives';\n\nconst cardVariants = ['ghost', 'outline', 'solid'] as const;\nconst cardTones = ['danger', 'info', 'neutral', 'primary', 'success', 'warning'] as const;\nconst cardPaddings = ['lg', 'md', 'none', 'sm'] as const;\nconst cardActionAlignments = ['end', 'start'] as const;\n\nconst cardVariantSet = new Set<TngCardVariant>(cardVariants);\nconst cardToneSet = new Set<TngCardTone>(cardTones);\nconst cardPaddingSet = new Set<TngCardPadding>(cardPaddings);\nconst cardActionAlignmentSet = new Set<TngCardActionsAlign>(cardActionAlignments);\n\nconst defaultCardVariant: TngCardVariant = 'solid';\nconst defaultCardTone: TngCardTone = 'neutral';\nconst defaultCardPadding: TngCardPadding = 'md';\nconst defaultCardActionsAlign: TngCardActionsAlign = 'end';\n\nexport type TngCardVariant = (typeof cardVariants)[number];\nexport type TngCardTone = (typeof cardTones)[number];\nexport type TngCardPadding = (typeof cardPaddings)[number];\nexport type TngCardActionsAlign = (typeof cardActionAlignments)[number];\n\nfunction coerceCardVariant(value: string): TngCardVariant {\n if (cardVariantSet.has(value as TngCardVariant)) {\n return value as TngCardVariant;\n }\n\n return defaultCardVariant;\n}\n\nfunction coerceCardTone(value: string): TngCardTone {\n if (cardToneSet.has(value as TngCardTone)) {\n return value as TngCardTone;\n }\n\n return defaultCardTone;\n}\n\nfunction coerceCardPadding(value: string): TngCardPadding {\n if (cardPaddingSet.has(value as TngCardPadding)) {\n return value as TngCardPadding;\n }\n\n return defaultCardPadding;\n}\n\nfunction coerceCardActionsAlign(value: string): TngCardActionsAlign {\n if (cardActionAlignmentSet.has(value as TngCardActionsAlign)) {\n return value as TngCardActionsAlign;\n }\n\n return defaultCardActionsAlign;\n}\n\n@Component({\n standalone: true,\n selector: 'tng-card',\n imports: [TngCardPrimitive],\n templateUrl: './tng-card.component.html',\n styleUrl: './tng-card.component.css',\n})\nexport class TngCardComponent {\n public readonly elevated = input<boolean, boolean | string>(false, {\n transform: booleanAttribute,\n });\n public readonly interactive = input<boolean, boolean | string>(false, {\n transform: booleanAttribute,\n });\n public readonly padding = input<TngCardPadding, string>(defaultCardPadding, {\n transform: coerceCardPadding,\n });\n public readonly tone = input<TngCardTone, string>(defaultCardTone, {\n transform: coerceCardTone,\n });\n public readonly variant = input<TngCardVariant, string>(defaultCardVariant, {\n transform: coerceCardVariant,\n });\n}\n\n@Component({\n standalone: true,\n selector: 'tng-card-header',\n imports: [TngCardHeaderPrimitive],\n templateUrl: './tng-card-header.component.html',\n styleUrl: './tng-card.component.css',\n})\nexport class TngCardHeaderComponent {\n}\n\n@Component({\n standalone: true,\n selector: 'tng-card-title',\n imports: [TngCardTitlePrimitive],\n templateUrl: './tng-card-title.component.html',\n styleUrl: './tng-card.component.css',\n})\nexport class TngCardTitleComponent {\n}\n\n@Component({\n standalone: true,\n selector: 'tng-card-description',\n imports: [TngCardDescriptionPrimitive],\n templateUrl: './tng-card-description.component.html',\n styleUrl: './tng-card.component.css',\n})\nexport class TngCardDescriptionComponent {\n}\n\n@Component({\n standalone: true,\n selector: 'tng-card-content',\n imports: [TngCardContentPrimitive],\n templateUrl: './tng-card-content.component.html',\n styleUrl: './tng-card.component.css',\n})\nexport class TngCardContentComponent {\n}\n\n@Component({\n standalone: true,\n selector: 'tng-card-footer',\n imports: [TngCardFooterPrimitive],\n templateUrl: './tng-card-footer.component.html',\n styleUrl: './tng-card.component.css',\n})\nexport class TngCardFooterComponent {\n}\n\n@Component({\n standalone: true,\n selector: 'tng-card-media',\n imports: [TngCardMediaPrimitive],\n templateUrl: './tng-card-media.component.html',\n styleUrl: './tng-card.component.css',\n})\nexport class TngCardMediaComponent {\n}\n\n@Component({\n standalone: true,\n selector: 'tng-card-actions',\n imports: [TngCardActionsPrimitive],\n templateUrl: './tng-card-actions.component.html',\n styleUrl: './tng-card.component.css',\n})\nexport class TngCardActionsComponent {\n public readonly align = input<TngCardActionsAlign, string>(defaultCardActionsAlign, {\n transform: coerceCardActionsAlign,\n });\n}\n\n@Component({\n standalone: true,\n selector: 'tng-card-divider',\n imports: [TngCardDividerPrimitive],\n templateUrl: './tng-card-divider.component.html',\n styleUrl: './tng-card.component.css',\n})\nexport class TngCardDividerComponent {\n}\n\n@Component({\n standalone: true,\n selector: 'tng-card-link',\n imports: [TngCardLinkPrimitive],\n templateUrl: './tng-card-link.component.html',\n styleUrl: './tng-card.component.css',\n})\nexport class TngCardLinkComponent {\n public readonly ariaLabel = input<string | null>(null);\n public readonly disabled = input<boolean, boolean | string>(false, {\n transform: booleanAttribute,\n });\n public readonly href = input<string | null>('#');\n public readonly rel = input<string | null>(null);\n public readonly target = input<string | null>(null);\n\n protected onClick(...args: readonly unknown[]): void {\n if (!this.disabled()) {\n return;\n }\n\n const [event] = args;\n if (!(event instanceof Event)) {\n return;\n }\n\n event.preventDefault();\n event.stopImmediatePropagation();\n }\n}\n"]}
1
+ {"version":3,"file":"tng-card.component.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/layout/card/tng-card.component.ts"],"names":[],"mappings":"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","sourcesContent":["import { booleanAttribute, Component, input } from '@angular/core';\nimport {\n TngCard as TngCardPrimitive,\n TngCardActions as TngCardActionsPrimitive,\n TngCardContent as TngCardContentPrimitive,\n TngCardDescription as TngCardDescriptionPrimitive,\n TngCardDivider as TngCardDividerPrimitive,\n TngCardFooter as TngCardFooterPrimitive,\n TngCardHeader as TngCardHeaderPrimitive,\n TngCardLink as TngCardLinkPrimitive,\n TngCardMedia as TngCardMediaPrimitive,\n TngCardTitle as TngCardTitlePrimitive,\n} from '@tailng-ui/primitives';\n\nconst cardVariants = ['ghost', 'outline', 'solid'] as const;\nconst cardTones = ['danger', 'info', 'neutral', 'primary', 'success', 'warning'] as const;\nconst cardPaddings = ['lg', 'md', 'none', 'sm'] as const;\nconst cardActionAlignments = ['end', 'start'] as const;\n\nconst cardVariantSet = new Set<TngCardVariant>(cardVariants);\nconst cardToneSet = new Set<TngCardTone>(cardTones);\nconst cardPaddingSet = new Set<TngCardPadding>(cardPaddings);\nconst cardActionAlignmentSet = new Set<TngCardActionsAlign>(cardActionAlignments);\n\nconst defaultCardVariant: TngCardVariant = 'solid';\nconst defaultCardTone: TngCardTone = 'neutral';\nconst defaultCardPadding: TngCardPadding = 'md';\nconst defaultCardActionsAlign: TngCardActionsAlign = 'end';\n\nexport type TngCardVariant = (typeof cardVariants)[number];\nexport type TngCardTone = (typeof cardTones)[number];\nexport type TngCardPadding = (typeof cardPaddings)[number];\nexport type TngCardActionsAlign = (typeof cardActionAlignments)[number];\n\nfunction coerceCardVariant(value: string): TngCardVariant {\n if (cardVariantSet.has(value as TngCardVariant)) {\n return value as TngCardVariant;\n }\n\n return defaultCardVariant;\n}\n\nfunction coerceCardTone(value: string): TngCardTone {\n if (cardToneSet.has(value as TngCardTone)) {\n return value as TngCardTone;\n }\n\n return defaultCardTone;\n}\n\nfunction coerceCardPadding(value: string): TngCardPadding {\n if (cardPaddingSet.has(value as TngCardPadding)) {\n return value as TngCardPadding;\n }\n\n return defaultCardPadding;\n}\n\nfunction coerceCardActionsAlign(value: string): TngCardActionsAlign {\n if (cardActionAlignmentSet.has(value as TngCardActionsAlign)) {\n return value as TngCardActionsAlign;\n }\n\n return defaultCardActionsAlign;\n}\n\n@Component({\n selector: 'tng-card',\n imports: [TngCardPrimitive],\n templateUrl: './tng-card.component.html',\n styleUrl: './tng-card.component.css',\n})\nexport class TngCardComponent {\n public readonly elevated = input<boolean, boolean | string>(false, {\n transform: booleanAttribute,\n });\n public readonly interactive = input<boolean, boolean | string>(false, {\n transform: booleanAttribute,\n });\n public readonly padding = input<TngCardPadding, string>(defaultCardPadding, {\n transform: coerceCardPadding,\n });\n public readonly tone = input<TngCardTone, string>(defaultCardTone, {\n transform: coerceCardTone,\n });\n public readonly variant = input<TngCardVariant, string>(defaultCardVariant, {\n transform: coerceCardVariant,\n });\n}\n\n@Component({\n selector: 'tng-card-header',\n imports: [TngCardHeaderPrimitive],\n templateUrl: './tng-card-header.component.html',\n styleUrl: './tng-card.component.css',\n})\nexport class TngCardHeaderComponent {\n}\n\n@Component({\n selector: 'tng-card-title',\n imports: [TngCardTitlePrimitive],\n templateUrl: './tng-card-title.component.html',\n styleUrl: './tng-card.component.css',\n})\nexport class TngCardTitleComponent {\n}\n\n@Component({\n selector: 'tng-card-description',\n imports: [TngCardDescriptionPrimitive],\n templateUrl: './tng-card-description.component.html',\n styleUrl: './tng-card.component.css',\n})\nexport class TngCardDescriptionComponent {\n}\n\n@Component({\n selector: 'tng-card-content',\n imports: [TngCardContentPrimitive],\n templateUrl: './tng-card-content.component.html',\n styleUrl: './tng-card.component.css',\n})\nexport class TngCardContentComponent {\n}\n\n@Component({\n selector: 'tng-card-footer',\n imports: [TngCardFooterPrimitive],\n templateUrl: './tng-card-footer.component.html',\n styleUrl: './tng-card.component.css',\n})\nexport class TngCardFooterComponent {\n}\n\n@Component({\n selector: 'tng-card-media',\n imports: [TngCardMediaPrimitive],\n templateUrl: './tng-card-media.component.html',\n styleUrl: './tng-card.component.css',\n})\nexport class TngCardMediaComponent {\n}\n\n@Component({\n selector: 'tng-card-actions',\n imports: [TngCardActionsPrimitive],\n templateUrl: './tng-card-actions.component.html',\n styleUrl: './tng-card.component.css',\n})\nexport class TngCardActionsComponent {\n public readonly align = input<TngCardActionsAlign, string>(defaultCardActionsAlign, {\n transform: coerceCardActionsAlign,\n });\n}\n\n@Component({\n selector: 'tng-card-divider',\n imports: [TngCardDividerPrimitive],\n templateUrl: './tng-card-divider.component.html',\n styleUrl: './tng-card.component.css',\n})\nexport class TngCardDividerComponent {\n}\n\n@Component({\n selector: 'tng-card-link',\n imports: [TngCardLinkPrimitive],\n templateUrl: './tng-card-link.component.html',\n styleUrl: './tng-card.component.css',\n})\nexport class TngCardLinkComponent {\n public readonly ariaLabel = input<string | null>(null);\n public readonly disabled = input<boolean, boolean | string>(false, {\n transform: booleanAttribute,\n });\n public readonly href = input<string | null>('#');\n public readonly rel = input<string | null>(null);\n public readonly target = input<string | null>(null);\n\n protected onClick(...args: readonly unknown[]): void {\n if (!this.disabled()) {\n return;\n }\n\n const [event] = args;\n if (!(event instanceof Event)) {\n return;\n }\n\n event.preventDefault();\n event.stopImmediatePropagation();\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"tng-collapsible.component.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/layout/collapsible/tng-collapsible.component.ts"],"names":[],"mappings":"AASA,wBAAgB,6BAA6B,IAAI,MAAM,CAGtD;AAED,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO,CAEnF;AAED,qBAWa,uBAAuB;IAClC,SAAgB,SAAS,8CAAkD;IAC3E,SAAgB,QAAQ,8EAErB;IACH,SAAgB,IAAI,8EAEjB;IACH,SAAgB,KAAK,8CAAgC;IAErD,SAAgB,UAAU,oDAAqB;IAExC,QAAQ,IAAI,IAAI;CAIxB"}
1
+ {"version":3,"file":"tng-collapsible.component.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/layout/collapsible/tng-collapsible.component.ts"],"names":[],"mappings":"AASA,wBAAgB,6BAA6B,IAAI,MAAM,CAGtD;AAED,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO,CAEnF;AAED,qBAUa,uBAAuB;IAClC,SAAgB,SAAS,8CAAkD;IAC3E,SAAgB,QAAQ,8EAErB;IACH,SAAgB,IAAI,8EAEjB;IACH,SAAgB,KAAK,8CAAgC;IAErD,SAAgB,UAAU,oDAAqB;IAExC,QAAQ,IAAI,IAAI;CAIxB"}
@@ -26,7 +26,6 @@ let TngCollapsibleComponent = class TngCollapsibleComponent {
26
26
  };
27
27
  TngCollapsibleComponent = __decorate([
28
28
  Component({
29
- standalone: true,
30
29
  selector: 'tng-collapsible',
31
30
  imports: [
32
31
  TngCollapsiblePrimitive,
@@ -1 +1 @@
1
- {"version":3,"file":"tng-collapsible.component.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/layout/collapsible/tng-collapsible.component.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC3E,OAAO,EACL,cAAc,IAAI,uBAAuB,EACzC,qBAAqB,IAAI,8BAA8B,EACvD,qBAAqB,IAAI,8BAA8B,GACxD,MAAM,uBAAuB,CAAC;AAE/B,IAAI,wBAAwB,GAAG,CAAC,CAAC;AAEjC,MAAM,UAAU,6BAA6B;IAC3C,wBAAwB,IAAI,CAAC,CAAC;IAC9B,OAAO,2BAA2B,wBAAwB,EAAE,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,IAAa,EAAE,QAAiB;IACxE,OAAO,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACjC,CAAC;AAaM,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;IAClB,SAAS,GAAG,KAAK,CAAS,6BAA6B,EAAE,CAAC,CAAC;IAC3D,QAAQ,GAAG,KAAK,CAA4B,KAAK,EAAE;QACjE,SAAS,EAAE,gBAAgB;KAC5B,CAAC,CAAC;IACa,IAAI,GAAG,KAAK,CAA4B,KAAK,EAAE;QAC7D,SAAS,EAAE,gBAAgB;KAC5B,CAAC,CAAC;IACa,KAAK,GAAG,KAAK,CAAS,aAAa,CAAC,CAAC;IAErC,UAAU,GAAG,MAAM,EAAW,CAAC;IAExC,QAAQ;QACb,MAAM,SAAS,GAAG,yBAAyB,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC1E,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAClC,CAAC;CACF,CAAA;AAhBY,uBAAuB;IAXnC,SAAS,CAAC;QACT,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,iBAAiB;QAC3B,OAAO,EAAE;YACP,uBAAuB;YACvB,8BAA8B;YAC9B,8BAA8B;SAC/B;QACD,WAAW,EAAE,kCAAkC;QAC/C,QAAQ,EAAE,iCAAiC;KAC5C,CAAC;GACW,uBAAuB,CAgBnC","sourcesContent":["import { booleanAttribute, Component, input, output } from '@angular/core';\nimport {\n TngCollapsible as TngCollapsiblePrimitive,\n TngCollapsibleContent as TngCollapsibleContentPrimitive,\n TngCollapsibleTrigger as TngCollapsibleTriggerPrimitive,\n} from '@tailng-ui/primitives';\n\nlet nextCollapsibleContentId = 0;\n\nexport function createTngCollapsibleContentId(): string {\n nextCollapsibleContentId += 1;\n return `tng-collapsible-content-${nextCollapsibleContentId}`;\n}\n\nexport function toggleTngCollapsibleState(open: boolean, disabled: boolean): boolean {\n return disabled ? open : !open;\n}\n\n@Component({\n standalone: true,\n selector: 'tng-collapsible',\n imports: [\n TngCollapsiblePrimitive,\n TngCollapsibleTriggerPrimitive,\n TngCollapsibleContentPrimitive,\n ],\n templateUrl: './tng-collapsible.component.html',\n styleUrl: './tng-collapsible.component.css',\n})\nexport class TngCollapsibleComponent {\n public readonly contentId = input<string>(createTngCollapsibleContentId());\n public readonly disabled = input<boolean, boolean | string>(false, {\n transform: booleanAttribute,\n });\n public readonly open = input<boolean, boolean | string>(false, {\n transform: booleanAttribute,\n });\n public readonly title = input<string>('Collapsible');\n\n public readonly openChange = output<boolean>();\n\n public onToggle(): void {\n const nextState = toggleTngCollapsibleState(this.open(), this.disabled());\n this.openChange.emit(nextState);\n }\n}\n"]}
1
+ {"version":3,"file":"tng-collapsible.component.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/layout/collapsible/tng-collapsible.component.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC3E,OAAO,EACL,cAAc,IAAI,uBAAuB,EACzC,qBAAqB,IAAI,8BAA8B,EACvD,qBAAqB,IAAI,8BAA8B,GACxD,MAAM,uBAAuB,CAAC;AAE/B,IAAI,wBAAwB,GAAG,CAAC,CAAC;AAEjC,MAAM,UAAU,6BAA6B;IAC3C,wBAAwB,IAAI,CAAC,CAAC;IAC9B,OAAO,2BAA2B,wBAAwB,EAAE,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,IAAa,EAAE,QAAiB;IACxE,OAAO,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACjC,CAAC;AAYM,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;IAClB,SAAS,GAAG,KAAK,CAAS,6BAA6B,EAAE,CAAC,CAAC;IAC3D,QAAQ,GAAG,KAAK,CAA4B,KAAK,EAAE;QACjE,SAAS,EAAE,gBAAgB;KAC5B,CAAC,CAAC;IACa,IAAI,GAAG,KAAK,CAA4B,KAAK,EAAE;QAC7D,SAAS,EAAE,gBAAgB;KAC5B,CAAC,CAAC;IACa,KAAK,GAAG,KAAK,CAAS,aAAa,CAAC,CAAC;IAErC,UAAU,GAAG,MAAM,EAAW,CAAC;IAExC,QAAQ;QACb,MAAM,SAAS,GAAG,yBAAyB,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC1E,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAClC,CAAC;CACF,CAAA;AAhBY,uBAAuB;IAVnC,SAAS,CAAC;QACT,QAAQ,EAAE,iBAAiB;QAC3B,OAAO,EAAE;YACP,uBAAuB;YACvB,8BAA8B;YAC9B,8BAA8B;SAC/B;QACD,WAAW,EAAE,kCAAkC;QAC/C,QAAQ,EAAE,iCAAiC;KAC5C,CAAC;GACW,uBAAuB,CAgBnC","sourcesContent":["import { booleanAttribute, Component, input, output } from '@angular/core';\nimport {\n TngCollapsible as TngCollapsiblePrimitive,\n TngCollapsibleContent as TngCollapsibleContentPrimitive,\n TngCollapsibleTrigger as TngCollapsibleTriggerPrimitive,\n} from '@tailng-ui/primitives';\n\nlet nextCollapsibleContentId = 0;\n\nexport function createTngCollapsibleContentId(): string {\n nextCollapsibleContentId += 1;\n return `tng-collapsible-content-${nextCollapsibleContentId}`;\n}\n\nexport function toggleTngCollapsibleState(open: boolean, disabled: boolean): boolean {\n return disabled ? open : !open;\n}\n\n@Component({\n selector: 'tng-collapsible',\n imports: [\n TngCollapsiblePrimitive,\n TngCollapsibleTriggerPrimitive,\n TngCollapsibleContentPrimitive,\n ],\n templateUrl: './tng-collapsible.component.html',\n styleUrl: './tng-collapsible.component.css',\n})\nexport class TngCollapsibleComponent {\n public readonly contentId = input<string>(createTngCollapsibleContentId());\n public readonly disabled = input<boolean, boolean | string>(false, {\n transform: booleanAttribute,\n });\n public readonly open = input<boolean, boolean | string>(false, {\n transform: booleanAttribute,\n });\n public readonly title = input<string>('Collapsible');\n\n public readonly openChange = output<boolean>();\n\n public onToggle(): void {\n const nextState = toggleTngCollapsibleState(this.open(), this.disabled());\n this.openChange.emit(nextState);\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"tng-drawer.component.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/layout/drawer/tng-drawer.component.ts"],"names":[],"mappings":"AAGA,qBA0Ca,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkD;IAE5E,SAAgB,SAAS,8CAA2B;IAGpD,SAAS,KAAK,aAAa,IAAI,MAAM,CAEpC;IAED,IAAI,IAAI,IAAI;IAIZ,KAAK,IAAI,IAAI;IAIb,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,IAAI;IAI7B,MAAM,IAAI,OAAO;IAIjB,uBAAuB,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,GAAG,IAAI;IAIzD,qBAAqB,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,GAAG,IAAI;CAGxD"}
1
+ {"version":3,"file":"tng-drawer.component.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/layout/drawer/tng-drawer.component.ts"],"names":[],"mappings":"AAGA,qBAyCa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkD;IAE5E,SAAgB,SAAS,8CAA2B;IAGpD,SAAS,KAAK,aAAa,IAAI,MAAM,CAEpC;IAED,IAAI,IAAI,IAAI;IAIZ,KAAK,IAAI,IAAI;IAIb,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,IAAI;IAI7B,MAAM,IAAI,OAAO;IAIjB,uBAAuB,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,GAAG,IAAI;IAIzD,qBAAqB,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,GAAG,IAAI;CAGxD"}
@@ -32,7 +32,6 @@ __decorate([
32
32
  TngDrawerComponent = __decorate([
33
33
  Component({
34
34
  selector: 'tng-drawer',
35
- standalone: true,
36
35
  hostDirectives: [
37
36
  {
38
37
  directive: TngDrawerPrimitive,