@tailng-ui/primitives 0.11.0 → 0.12.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 (101) hide show
  1. package/README.md +97 -11
  2. package/package.json +1 -1
  3. package/src/lib/feedback/empty/tng-empty.d.ts.map +1 -1
  4. package/src/lib/feedback/empty/tng-empty.js +5 -0
  5. package/src/lib/feedback/empty/tng-empty.js.map +1 -1
  6. package/src/lib/feedback/progress-bar/tng-progress-bar.d.ts.map +1 -1
  7. package/src/lib/feedback/progress-bar/tng-progress-bar.js +2 -0
  8. package/src/lib/feedback/progress-bar/tng-progress-bar.js.map +1 -1
  9. package/src/lib/feedback/progress-spinner/tng-progress-spinner.d.ts.map +1 -1
  10. package/src/lib/feedback/progress-spinner/tng-progress-spinner.js +1 -0
  11. package/src/lib/feedback/progress-spinner/tng-progress-spinner.js.map +1 -1
  12. package/src/lib/feedback/skeleton/tng-skeleton.d.ts.map +1 -1
  13. package/src/lib/feedback/skeleton/tng-skeleton.js +1 -0
  14. package/src/lib/feedback/skeleton/tng-skeleton.js.map +1 -1
  15. package/src/lib/feedback/toast/tng-toast.d.ts.map +1 -1
  16. package/src/lib/feedback/toast/tng-toast.js +2 -0
  17. package/src/lib/feedback/toast/tng-toast.js.map +1 -1
  18. package/src/lib/form/checkbox/tng-checkbox.d.ts.map +1 -1
  19. package/src/lib/form/checkbox/tng-checkbox.js +1 -0
  20. package/src/lib/form/checkbox/tng-checkbox.js.map +1 -1
  21. package/src/lib/form/chips/tng-chips.d.ts.map +1 -1
  22. package/src/lib/form/chips/tng-chips.js +3 -0
  23. package/src/lib/form/chips/tng-chips.js.map +1 -1
  24. package/src/lib/form/combobox/tng-combobox.d.ts.map +1 -1
  25. package/src/lib/form/combobox/tng-combobox.js +1 -0
  26. package/src/lib/form/combobox/tng-combobox.js.map +1 -1
  27. package/src/lib/form/input-otp/tng-input-otp.d.ts.map +1 -1
  28. package/src/lib/form/input-otp/tng-input-otp.js +1 -0
  29. package/src/lib/form/input-otp/tng-input-otp.js.map +1 -1
  30. package/src/lib/form/label/tng-label.d.ts.map +1 -1
  31. package/src/lib/form/label/tng-label.js +1 -0
  32. package/src/lib/form/label/tng-label.js.map +1 -1
  33. package/src/lib/form/multiselect/tng-multiselect.d.ts.map +1 -1
  34. package/src/lib/form/multiselect/tng-multiselect.js +1 -0
  35. package/src/lib/form/multiselect/tng-multiselect.js.map +1 -1
  36. package/src/lib/form/radio/tng-radio.d.ts.map +1 -1
  37. package/src/lib/form/radio/tng-radio.js +1 -0
  38. package/src/lib/form/radio/tng-radio.js.map +1 -1
  39. package/src/lib/form/slider/tng-slider.d.ts.map +1 -1
  40. package/src/lib/form/slider/tng-slider.js +1 -0
  41. package/src/lib/form/slider/tng-slider.js.map +1 -1
  42. package/src/lib/form/switch/tng-switch.d.ts.map +1 -1
  43. package/src/lib/form/switch/tng-switch.js +1 -0
  44. package/src/lib/form/switch/tng-switch.js.map +1 -1
  45. package/src/lib/form/toggle/tng-toggle.d.ts.map +1 -1
  46. package/src/lib/form/toggle/tng-toggle.js +1 -0
  47. package/src/lib/form/toggle/tng-toggle.js.map +1 -1
  48. package/src/lib/form/toggle-group/tng-toggle-group.d.ts.map +1 -1
  49. package/src/lib/form/toggle-group/tng-toggle-group.js +1 -0
  50. package/src/lib/form/toggle-group/tng-toggle-group.js.map +1 -1
  51. package/src/lib/layout/bottom-sheet/tng-bottom-sheet.d.ts.map +1 -1
  52. package/src/lib/layout/bottom-sheet/tng-bottom-sheet.js +1 -0
  53. package/src/lib/layout/bottom-sheet/tng-bottom-sheet.js.map +1 -1
  54. package/src/lib/layout/card/tng-card.d.ts.map +1 -1
  55. package/src/lib/layout/card/tng-card.js +10 -0
  56. package/src/lib/layout/card/tng-card.js.map +1 -1
  57. package/src/lib/layout/collapsible/tng-collapsible.d.ts.map +1 -1
  58. package/src/lib/layout/collapsible/tng-collapsible.js +3 -0
  59. package/src/lib/layout/collapsible/tng-collapsible.js.map +1 -1
  60. package/src/lib/layout/grid/tng-grid.d.ts.map +1 -1
  61. package/src/lib/layout/grid/tng-grid.js +1 -0
  62. package/src/lib/layout/grid/tng-grid.js.map +1 -1
  63. package/src/lib/layout/separator/tng-separator.d.ts.map +1 -1
  64. package/src/lib/layout/separator/tng-separator.js +1 -0
  65. package/src/lib/layout/separator/tng-separator.js.map +1 -1
  66. package/src/lib/layout/stepper/tng-stepper.d.ts.map +1 -1
  67. package/src/lib/layout/stepper/tng-stepper.js +1 -0
  68. package/src/lib/layout/stepper/tng-stepper.js.map +1 -1
  69. package/src/lib/navigation/breadcrumb/tng-breadcrumb.d.ts.map +1 -1
  70. package/src/lib/navigation/breadcrumb/tng-breadcrumb.js +5 -0
  71. package/src/lib/navigation/breadcrumb/tng-breadcrumb.js.map +1 -1
  72. package/src/lib/navigation/dropdown-menu/tng-dropdown-menu.d.ts.map +1 -1
  73. package/src/lib/navigation/dropdown-menu/tng-dropdown-menu.js +1 -0
  74. package/src/lib/navigation/dropdown-menu/tng-dropdown-menu.js.map +1 -1
  75. package/src/lib/navigation/navigation-menu/tng-navigation-menu.d.ts.map +1 -1
  76. package/src/lib/navigation/navigation-menu/tng-navigation-menu.js +1 -0
  77. package/src/lib/navigation/navigation-menu/tng-navigation-menu.js.map +1 -1
  78. package/src/lib/navigation/toolbar/tng-toolbar.d.ts.map +1 -1
  79. package/src/lib/navigation/toolbar/tng-toolbar.js +1 -0
  80. package/src/lib/navigation/toolbar/tng-toolbar.js.map +1 -1
  81. package/src/lib/overlay/tooltip/tng-tooltip.d.ts.map +1 -1
  82. package/src/lib/overlay/tooltip/tng-tooltip.js +3 -0
  83. package/src/lib/overlay/tooltip/tng-tooltip.js.map +1 -1
  84. package/src/lib/utility/avatar/tng-avatar.d.ts.map +1 -1
  85. package/src/lib/utility/avatar/tng-avatar.js +3 -0
  86. package/src/lib/utility/avatar/tng-avatar.js.map +1 -1
  87. package/src/lib/utility/badge/tng-badge.d.ts.map +1 -1
  88. package/src/lib/utility/badge/tng-badge.js +1 -0
  89. package/src/lib/utility/badge/tng-badge.js.map +1 -1
  90. package/src/lib/utility/code-block/tng-code-block.d.ts.map +1 -1
  91. package/src/lib/utility/code-block/tng-code-block.js +5 -0
  92. package/src/lib/utility/code-block/tng-code-block.js.map +1 -1
  93. package/src/lib/utility/copy/tng-copy.d.ts.map +1 -1
  94. package/src/lib/utility/copy/tng-copy.js +1 -0
  95. package/src/lib/utility/copy/tng-copy.js.map +1 -1
  96. package/src/lib/utility/press/tng-press.d.ts.map +1 -1
  97. package/src/lib/utility/press/tng-press.js +1 -0
  98. package/src/lib/utility/press/tng-press.js.map +1 -1
  99. package/src/lib/utility/tag/tng-tag.d.ts.map +1 -1
  100. package/src/lib/utility/tag/tng-tag.js +3 -0
  101. package/src/lib/utility/tag/tng-tag.js.map +1 -1
@@ -10,6 +10,7 @@ TngCombobox = __decorate([
10
10
  Directive({
11
11
  selector: '[tngCombobox]',
12
12
  exportAs: 'tngCombobox',
13
+ standalone: true,
13
14
  })
14
15
  ], TngCombobox);
15
16
  export { TngCombobox };
@@ -1 +1 @@
1
- {"version":3,"file":"tng-combobox.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/form/combobox/tng-combobox.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAMhD,IAAM,WAAW,GAAjB,MAAM,WAAW;IAEH,QAAQ,GAAG,UAAmB,CAAC;CACnD,CAAA;AADoB;IADlB,WAAW,CAAC,gBAAgB,CAAC;6CACoB;AAFvC,WAAW;IAJvB,SAAS,CAAC;QACT,QAAQ,EAAE,eAAe;QACzB,QAAQ,EAAE,aAAa;KACxB,CAAC;GACW,WAAW,CAGvB","sourcesContent":["import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[tngCombobox]',\n exportAs: 'tngCombobox',\n})\nexport class TngCombobox {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'combobox' as const;\n}\n"]}
1
+ {"version":3,"file":"tng-combobox.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/form/combobox/tng-combobox.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAOhD,IAAM,WAAW,GAAjB,MAAM,WAAW;IAEH,QAAQ,GAAG,UAAmB,CAAC;CACnD,CAAA;AADoB;IADlB,WAAW,CAAC,gBAAgB,CAAC;6CACoB;AAFvC,WAAW;IALvB,SAAS,CAAC;QACT,QAAQ,EAAE,eAAe;QACzB,QAAQ,EAAE,aAAa;QACvB,UAAU,EAAE,IAAI;KACjB,CAAC;GACW,WAAW,CAGvB","sourcesContent":["import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[tngCombobox]',\n exportAs: 'tngCombobox',\n standalone: true,\n})\nexport class TngCombobox {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'combobox' as const;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"tng-input-otp.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/form/input-otp/tng-input-otp.ts"],"names":[],"mappings":"AAEA,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAW3D;AAED,MAAM,MAAM,qBAAqB,GAAG,UAAU,GAAG,OAAO,GAAG,SAAS,CAAC;AAErE,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAM3D;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAEtE;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,qBAAqB,CASvF;AAED,qBAIa,WAAW;IACtB,SAAgB,MAAM,4EAGnB;IACH,SAAgB,KAAK,8CAAqB;IAC1C,SAAgB,QAAQ,8EAErB;IACH,SAAgB,QAAQ,8EAErB;IACH,SAAgB,QAAQ,8EAErB;IACH,SAAgB,OAAO,8EAEpB;IACH,SAAgB,OAAO,8EAEpB;IACH,SAAgB,YAAY,8EAEzB;IACH,SAAgB,WAAW,qDAA8B;IAGzD,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,WAAW,CAAU;IAGnD,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,OAAO,CAAU;IAG/C,SAAS,KAAK,aAAa,IAAI,EAAE,GAAG,IAAI,CAEvC;IAGD,SAAS,KAAK,eAAe,IAAI,EAAE,GAAG,IAAI,CAEzC;IAGD,SAAS,KAAK,gBAAgB,IAAI,EAAE,GAAG,IAAI,CAE1C;IAGD,SAAS,KAAK,gBAAgB,IAAI,EAAE,GAAG,IAAI,CAE1C;IAGD,SAAS,KAAK,gBAAgB,IAAI,EAAE,GAAG,IAAI,CAE1C;IAGD,SAAS,KAAK,gBAAgB,IAAI,EAAE,GAAG,IAAI,CAE1C;IAGD,SAAS,KAAK,eAAe,IAAI,EAAE,GAAG,IAAI,CAEzC;IAGD,SAAS,KAAK,eAAe,IAAI,EAAE,GAAG,IAAI,CAEzC;IAGD,SAAS,KAAK,oBAAoB,IAAI,EAAE,GAAG,IAAI,CAE9C;IAGD,SAAS,KAAK,cAAc,IAAI,MAAM,GAAG,IAAI,CAW5C;CACF"}
1
+ {"version":3,"file":"tng-input-otp.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/form/input-otp/tng-input-otp.ts"],"names":[],"mappings":"AAEA,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAW3D;AAED,MAAM,MAAM,qBAAqB,GAAG,UAAU,GAAG,OAAO,GAAG,SAAS,CAAC;AAErE,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAM3D;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAEtE;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,qBAAqB,CASvF;AAED,qBAKa,WAAW;IACtB,SAAgB,MAAM,4EAGnB;IACH,SAAgB,KAAK,8CAAqB;IAC1C,SAAgB,QAAQ,8EAErB;IACH,SAAgB,QAAQ,8EAErB;IACH,SAAgB,QAAQ,8EAErB;IACH,SAAgB,OAAO,8EAEpB;IACH,SAAgB,OAAO,8EAEpB;IACH,SAAgB,YAAY,8EAEzB;IACH,SAAgB,WAAW,qDAA8B;IAGzD,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,WAAW,CAAU;IAGnD,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,OAAO,CAAU;IAG/C,SAAS,KAAK,aAAa,IAAI,EAAE,GAAG,IAAI,CAEvC;IAGD,SAAS,KAAK,eAAe,IAAI,EAAE,GAAG,IAAI,CAEzC;IAGD,SAAS,KAAK,gBAAgB,IAAI,EAAE,GAAG,IAAI,CAE1C;IAGD,SAAS,KAAK,gBAAgB,IAAI,EAAE,GAAG,IAAI,CAE1C;IAGD,SAAS,KAAK,gBAAgB,IAAI,EAAE,GAAG,IAAI,CAE1C;IAGD,SAAS,KAAK,gBAAgB,IAAI,EAAE,GAAG,IAAI,CAE1C;IAGD,SAAS,KAAK,eAAe,IAAI,EAAE,GAAG,IAAI,CAEzC;IAGD,SAAS,KAAK,eAAe,IAAI,EAAE,GAAG,IAAI,CAEzC;IAGD,SAAS,KAAK,oBAAoB,IAAI,EAAE,GAAG,IAAI,CAE9C;IAGD,SAAS,KAAK,cAAc,IAAI,MAAM,GAAG,IAAI,CAW5C;CACF"}
@@ -131,6 +131,7 @@ TngInputOtp = __decorate([
131
131
  Directive({
132
132
  selector: '[tngInputOtp]',
133
133
  exportAs: 'tngInputOtp',
134
+ standalone: true,
134
135
  })
135
136
  ], TngInputOtp);
136
137
  export { TngInputOtp };
@@ -1 +1 @@
1
- {"version":3,"file":"tng-input-otp.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/form/input-otp/tng-input-otp.ts"],"names":[],"mappings":"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","sourcesContent":["import { Directive, HostBinding, booleanAttribute, input } from '@angular/core';\n\nexport function normalizeTngOtpLength(value: number): number {\n if (!Number.isFinite(value)) {\n return 6;\n }\n\n const rounded = Math.trunc(value);\n if (rounded < 1) {\n return 1;\n }\n\n return rounded > 12 ? 12 : rounded;\n}\n\nexport type TngOtpCompletionState = 'complete' | 'empty' | 'partial';\n\nexport function normalizeTngOtpValue(value: unknown): string {\n if (typeof value !== 'string') {\n return '';\n }\n\n return value;\n}\n\nexport function clampTngOtpValue(value: string, length: number): string {\n return Array.from(value).slice(0, length).join('');\n}\n\nexport function resolveTngOtpState(length: number, value: string): TngOtpCompletionState {\n const normalizedLength = normalizeTngOtpLength(length);\n const clampedValue = clampTngOtpValue(normalizeTngOtpValue(value), normalizedLength);\n\n if (clampedValue.length === 0) {\n return 'empty';\n }\n\n return clampedValue.length >= normalizedLength ? 'complete' : 'partial';\n}\n\n@Directive({\n selector: '[tngInputOtp]',\n exportAs: 'tngInputOtp',\n})\nexport class TngInputOtp {\n public readonly length = input<number, number | string>(6, {\n transform: (value: number | string): number =>\n normalizeTngOtpLength(typeof value === 'number' ? value : Number(value)),\n });\n public readonly value = input<string>('');\n public readonly disabled = input<boolean, boolean | string>(false, {\n transform: booleanAttribute,\n });\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 invalid = input<boolean, boolean | string>(false, {\n transform: booleanAttribute,\n });\n public readonly focused = input<boolean, boolean | string>(false, {\n transform: booleanAttribute,\n });\n public readonly focusVisible = input<boolean, boolean | string>(false, {\n transform: booleanAttribute,\n });\n public readonly activeIndex = input<number | null>(null);\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'input-otp' as const;\n\n @HostBinding('attr.role')\n protected readonly roleAttr = 'group' as const;\n\n @HostBinding('attr.data-empty')\n protected get dataEmptyAttr(): '' | null {\n return resolveTngOtpState(this.length(), this.value()) === 'empty' ? '' : null;\n }\n\n @HostBinding('attr.data-partial')\n protected get dataPartialAttr(): '' | null {\n return resolveTngOtpState(this.length(), this.value()) === 'partial' ? '' : null;\n }\n\n @HostBinding('attr.data-complete')\n protected get dataCompleteAttr(): '' | null {\n return resolveTngOtpState(this.length(), this.value()) === 'complete' ? '' : null;\n }\n\n @HostBinding('attr.data-disabled')\n protected get dataDisabledAttr(): '' | null {\n return this.disabled() ? '' : null;\n }\n\n @HostBinding('attr.data-readonly')\n protected get dataReadonlyAttr(): '' | null {\n return this.readonly() ? '' : null;\n }\n\n @HostBinding('attr.data-required')\n protected get dataRequiredAttr(): '' | null {\n return this.required() ? '' : null;\n }\n\n @HostBinding('attr.data-invalid')\n protected get dataInvalidAttr(): '' | null {\n return this.invalid() ? '' : null;\n }\n\n @HostBinding('attr.data-focused')\n protected get dataFocusedAttr(): '' | null {\n return this.focused() ? '' : null;\n }\n\n @HostBinding('attr.data-focus-visible')\n protected get dataFocusVisibleAttr(): '' | null {\n return this.focusVisible() ? '' : null;\n }\n\n @HostBinding('attr.data-active')\n protected get dataActiveAttr(): string | null {\n const index = this.activeIndex();\n if (typeof index !== 'number' || !Number.isFinite(index)) {\n return null;\n }\n\n if (index < 0 || index >= this.length()) {\n return null;\n }\n\n return String(index);\n }\n}\n"]}
1
+ {"version":3,"file":"tng-input-otp.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/form/input-otp/tng-input-otp.ts"],"names":[],"mappings":"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","sourcesContent":["import { Directive, HostBinding, booleanAttribute, input } from '@angular/core';\n\nexport function normalizeTngOtpLength(value: number): number {\n if (!Number.isFinite(value)) {\n return 6;\n }\n\n const rounded = Math.trunc(value);\n if (rounded < 1) {\n return 1;\n }\n\n return rounded > 12 ? 12 : rounded;\n}\n\nexport type TngOtpCompletionState = 'complete' | 'empty' | 'partial';\n\nexport function normalizeTngOtpValue(value: unknown): string {\n if (typeof value !== 'string') {\n return '';\n }\n\n return value;\n}\n\nexport function clampTngOtpValue(value: string, length: number): string {\n return Array.from(value).slice(0, length).join('');\n}\n\nexport function resolveTngOtpState(length: number, value: string): TngOtpCompletionState {\n const normalizedLength = normalizeTngOtpLength(length);\n const clampedValue = clampTngOtpValue(normalizeTngOtpValue(value), normalizedLength);\n\n if (clampedValue.length === 0) {\n return 'empty';\n }\n\n return clampedValue.length >= normalizedLength ? 'complete' : 'partial';\n}\n\n@Directive({\n selector: '[tngInputOtp]',\n exportAs: 'tngInputOtp',\n standalone: true,\n})\nexport class TngInputOtp {\n public readonly length = input<number, number | string>(6, {\n transform: (value: number | string): number =>\n normalizeTngOtpLength(typeof value === 'number' ? value : Number(value)),\n });\n public readonly value = input<string>('');\n public readonly disabled = input<boolean, boolean | string>(false, {\n transform: booleanAttribute,\n });\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 invalid = input<boolean, boolean | string>(false, {\n transform: booleanAttribute,\n });\n public readonly focused = input<boolean, boolean | string>(false, {\n transform: booleanAttribute,\n });\n public readonly focusVisible = input<boolean, boolean | string>(false, {\n transform: booleanAttribute,\n });\n public readonly activeIndex = input<number | null>(null);\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'input-otp' as const;\n\n @HostBinding('attr.role')\n protected readonly roleAttr = 'group' as const;\n\n @HostBinding('attr.data-empty')\n protected get dataEmptyAttr(): '' | null {\n return resolveTngOtpState(this.length(), this.value()) === 'empty' ? '' : null;\n }\n\n @HostBinding('attr.data-partial')\n protected get dataPartialAttr(): '' | null {\n return resolveTngOtpState(this.length(), this.value()) === 'partial' ? '' : null;\n }\n\n @HostBinding('attr.data-complete')\n protected get dataCompleteAttr(): '' | null {\n return resolveTngOtpState(this.length(), this.value()) === 'complete' ? '' : null;\n }\n\n @HostBinding('attr.data-disabled')\n protected get dataDisabledAttr(): '' | null {\n return this.disabled() ? '' : null;\n }\n\n @HostBinding('attr.data-readonly')\n protected get dataReadonlyAttr(): '' | null {\n return this.readonly() ? '' : null;\n }\n\n @HostBinding('attr.data-required')\n protected get dataRequiredAttr(): '' | null {\n return this.required() ? '' : null;\n }\n\n @HostBinding('attr.data-invalid')\n protected get dataInvalidAttr(): '' | null {\n return this.invalid() ? '' : null;\n }\n\n @HostBinding('attr.data-focused')\n protected get dataFocusedAttr(): '' | null {\n return this.focused() ? '' : null;\n }\n\n @HostBinding('attr.data-focus-visible')\n protected get dataFocusVisibleAttr(): '' | null {\n return this.focusVisible() ? '' : null;\n }\n\n @HostBinding('attr.data-active')\n protected get dataActiveAttr(): string | null {\n const index = this.activeIndex();\n if (typeof index !== 'number' || !Number.isFinite(index)) {\n return null;\n }\n\n if (index < 0 || index >= this.length()) {\n return null;\n }\n\n return String(index);\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"tng-label.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/form/label/tng-label.ts"],"names":[],"mappings":"AAEA,qBAIa,QAAQ;IACnB,SAAgB,QAAQ,8EAErB;IACH,SAAgB,QAAQ,8EAErB;IAGH,SAAS,KAAK,gBAAgB,IAAI,EAAE,GAAG,IAAI,CAE1C;IAGD,SAAS,KAAK,gBAAgB,IAAI,EAAE,GAAG,IAAI,CAE1C;IAGD,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,OAAO,CAAU;CAChD"}
1
+ {"version":3,"file":"tng-label.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/form/label/tng-label.ts"],"names":[],"mappings":"AAEA,qBAKa,QAAQ;IACnB,SAAgB,QAAQ,8EAErB;IACH,SAAgB,QAAQ,8EAErB;IAGH,SAAS,KAAK,gBAAgB,IAAI,EAAE,GAAG,IAAI,CAE1C;IAGD,SAAS,KAAK,gBAAgB,IAAI,EAAE,GAAG,IAAI,CAE1C;IAGD,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,OAAO,CAAU;CAChD"}
@@ -28,6 +28,7 @@ TngLabel = __decorate([
28
28
  Directive({
29
29
  selector: 'label[tngLabel]',
30
30
  exportAs: 'tngLabel',
31
+ standalone: true,
31
32
  })
32
33
  ], TngLabel);
33
34
  export { TngLabel };
@@ -1 +1 @@
1
- {"version":3,"file":"tng-label.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/form/label/tng-label.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAMzE,IAAM,QAAQ,GAAd,MAAM,QAAQ;IACH,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;IAGH,IAAc,gBAAgB;QAC5B,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACrC,CAAC;IAGD,IAAc,gBAAgB;QAC5B,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACrC,CAAC;IAGkB,QAAQ,GAAG,OAAgB,CAAC;CAChD,CAAA;AAXC;IADC,WAAW,CAAC,oBAAoB,CAAC;gDAGjC;AAGD;IADC,WAAW,CAAC,oBAAoB,CAAC;gDAGjC;AAGkB;IADlB,WAAW,CAAC,gBAAgB,CAAC;0CACiB;AAnBpC,QAAQ;IAJpB,SAAS,CAAC;QACT,QAAQ,EAAE,iBAAiB;QAC3B,QAAQ,EAAE,UAAU;KACrB,CAAC;GACW,QAAQ,CAoBpB","sourcesContent":["import { Directive, HostBinding, booleanAttribute, input } from '@angular/core';\n\n@Directive({\n selector: 'label[tngLabel]',\n exportAs: 'tngLabel',\n})\nexport class TngLabel {\n public readonly disabled = input<boolean, boolean | string>(false, {\n transform: booleanAttribute,\n });\n public readonly required = input<boolean, boolean | string>(false, {\n transform: booleanAttribute,\n });\n\n @HostBinding('attr.data-disabled')\n protected get dataDisabledAttr(): '' | null {\n return this.disabled() ? '' : null;\n }\n\n @HostBinding('attr.data-required')\n protected get dataRequiredAttr(): '' | null {\n return this.required() ? '' : null;\n }\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'label' as const;\n}\n"]}
1
+ {"version":3,"file":"tng-label.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/form/label/tng-label.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAOzE,IAAM,QAAQ,GAAd,MAAM,QAAQ;IACH,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;IAGH,IAAc,gBAAgB;QAC5B,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACrC,CAAC;IAGD,IAAc,gBAAgB;QAC5B,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACrC,CAAC;IAGkB,QAAQ,GAAG,OAAgB,CAAC;CAChD,CAAA;AAXC;IADC,WAAW,CAAC,oBAAoB,CAAC;gDAGjC;AAGD;IADC,WAAW,CAAC,oBAAoB,CAAC;gDAGjC;AAGkB;IADlB,WAAW,CAAC,gBAAgB,CAAC;0CACiB;AAnBpC,QAAQ;IALpB,SAAS,CAAC;QACT,QAAQ,EAAE,iBAAiB;QAC3B,QAAQ,EAAE,UAAU;QACpB,UAAU,EAAE,IAAI;KACjB,CAAC;GACW,QAAQ,CAoBpB","sourcesContent":["import { Directive, HostBinding, booleanAttribute, input } from '@angular/core';\n\n@Directive({\n selector: 'label[tngLabel]',\n exportAs: 'tngLabel',\n standalone: true,\n})\nexport class TngLabel {\n public readonly disabled = input<boolean, boolean | string>(false, {\n transform: booleanAttribute,\n });\n public readonly required = input<boolean, boolean | string>(false, {\n transform: booleanAttribute,\n });\n\n @HostBinding('attr.data-disabled')\n protected get dataDisabledAttr(): '' | null {\n return this.disabled() ? '' : null;\n }\n\n @HostBinding('attr.data-required')\n protected get dataRequiredAttr(): '' | null {\n return this.required() ? '' : null;\n }\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'label' as const;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"tng-multiselect.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/form/multiselect/tng-multiselect.ts"],"names":[],"mappings":"AAEA,qBAIa,cAAc;IAEzB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,aAAa,CAAU;CACtD"}
1
+ {"version":3,"file":"tng-multiselect.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/form/multiselect/tng-multiselect.ts"],"names":[],"mappings":"AAEA,qBAKa,cAAc;IAEzB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,aAAa,CAAU;CACtD"}
@@ -10,6 +10,7 @@ TngMultiselect = __decorate([
10
10
  Directive({
11
11
  selector: '[tngMultiselect]',
12
12
  exportAs: 'tngMultiselect',
13
+ standalone: true,
13
14
  })
14
15
  ], TngMultiselect);
15
16
  export { TngMultiselect };
@@ -1 +1 @@
1
- {"version":3,"file":"tng-multiselect.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/form/multiselect/tng-multiselect.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAMhD,IAAM,cAAc,GAApB,MAAM,cAAc;IAEN,QAAQ,GAAG,aAAsB,CAAC;CACtD,CAAA;AADoB;IADlB,WAAW,CAAC,gBAAgB,CAAC;gDACuB;AAF1C,cAAc;IAJ1B,SAAS,CAAC;QACT,QAAQ,EAAE,kBAAkB;QAC5B,QAAQ,EAAE,gBAAgB;KAC3B,CAAC;GACW,cAAc,CAG1B","sourcesContent":["import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[tngMultiselect]',\n exportAs: 'tngMultiselect',\n})\nexport class TngMultiselect {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'multiselect' as const;\n}\n"]}
1
+ {"version":3,"file":"tng-multiselect.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/form/multiselect/tng-multiselect.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAOhD,IAAM,cAAc,GAApB,MAAM,cAAc;IAEN,QAAQ,GAAG,aAAsB,CAAC;CACtD,CAAA;AADoB;IADlB,WAAW,CAAC,gBAAgB,CAAC;gDACuB;AAF1C,cAAc;IAL1B,SAAS,CAAC;QACT,QAAQ,EAAE,kBAAkB;QAC5B,QAAQ,EAAE,gBAAgB;QAC1B,UAAU,EAAE,IAAI;KACjB,CAAC;GACW,cAAc,CAG1B","sourcesContent":["import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[tngMultiselect]',\n exportAs: 'tngMultiselect',\n standalone: true,\n})\nexport class TngMultiselect {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'multiselect' as const;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"tng-radio.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/form/radio/tng-radio.ts"],"names":[],"mappings":"AAUA,KAAK,oBAAoB,GAAG,EAAE,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;AAE/E,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAO5F;AAED,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,GAAG,IAAI,CAczF;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,GAAG,WAAW,CAElF;AAED,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,OAAO,GAAG,IAAI,EACvB,WAAW,EAAE,OAAO,GAAG,IAAI,GAC1B,OAAO,CAUT;AAED,qBAIa,QAAQ;IACnB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoD;IAC/E,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,YAAY,CAAS;IAE7B,SAAgB,eAAe,qDAA8B;IAC7D,SAAgB,WAAW,yFAExB;IACH,SAAgB,OAAO,8EAEpB;IACH,SAAgB,QAAQ,8EAErB;IACH,SAAgB,OAAO,yFAEpB;IACH,SAAgB,IAAI,qDAA8B;IAClD,SAAgB,QAAQ,8EAErB;IACH,SAAgB,QAAQ,8EAErB;IACH,SAAgB,KAAK,qDAA8B;IACnD,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,OAAO,CAAU;IAG/C,SAAS,KAAK,WAAW,IAAI,OAAO,CAEnC;IAGD,SAAS,KAAK,eAAe,IAAI,OAAO,GAAG,MAAM,CAEhD;IAGD,SAAS,KAAK,gBAAgB,IAAI,MAAM,GAAG,IAAI,CAE9C;IAGD,SAAS,KAAK,mBAAmB,IAAI,MAAM,GAAG,IAAI,CAEjD;IAGD,SAAS,KAAK,eAAe,IAAI,MAAM,GAAG,IAAI,CAE7C;IAGD,SAAS,KAAK,gBAAgB,IAAI,MAAM,GAAG,IAAI,CAE9C;IAGD,SAAS,KAAK,eAAe,IAAI,EAAE,GAAG,IAAI,CAEzC;IAGD,SAAS,KAAK,gBAAgB,IAAI,EAAE,GAAG,IAAI,CAE1C;IAGD,SAAS,KAAK,eAAe,IAAI,EAAE,GAAG,IAAI,CAEzC;IAGD,SAAS,KAAK,oBAAoB,IAAI,EAAE,GAAG,IAAI,CAE9C;IAGD,SAAS,KAAK,eAAe,IAAI,EAAE,GAAG,IAAI,CAEzC;IAGD,SAAS,KAAK,gBAAgB,IAAI,EAAE,GAAG,IAAI,CAE1C;IAGD,SAAS,KAAK,gBAAgB,IAAI,EAAE,GAAG,IAAI,CAE1C;IAGD,SAAS,KAAK,aAAa,IAAI,SAAS,GAAG,WAAW,CAErD;IAGD,SAAS,KAAK,iBAAiB,IAAI,EAAE,GAAG,IAAI,CAE3C;IAGD,SAAS,KAAK,YAAY,IAAI,EAAE,GAAG,IAAI,CAEtC;IAGD,SAAS,KAAK,QAAQ,IAAI,MAAM,GAAG,IAAI,CAEtC;IAGD,SAAS,KAAK,YAAY,IAAI,EAAE,GAAG,IAAI,CAEtC;IAGD,SAAS,KAAK,YAAY,IAAI,OAAO,CAEpC;IAGD,SAAS,KAAK,SAAS,IAAI,MAAM,GAAG,IAAI,CAEvC;IAGM,MAAM,IAAI,IAAI;IAMd,OAAO,IAAI,IAAI;IAMf,gBAAgB,IAAI,IAAI;IAQ/B,OAAO,CAAC,SAAS;CAGlB"}
1
+ {"version":3,"file":"tng-radio.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/form/radio/tng-radio.ts"],"names":[],"mappings":"AAUA,KAAK,oBAAoB,GAAG,EAAE,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;AAE/E,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAO5F;AAED,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,GAAG,IAAI,CAczF;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,GAAG,WAAW,CAElF;AAED,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,OAAO,GAAG,IAAI,EACvB,WAAW,EAAE,OAAO,GAAG,IAAI,GAC1B,OAAO,CAUT;AAED,qBAKa,QAAQ;IACnB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoD;IAC/E,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,YAAY,CAAS;IAE7B,SAAgB,eAAe,qDAA8B;IAC7D,SAAgB,WAAW,yFAExB;IACH,SAAgB,OAAO,8EAEpB;IACH,SAAgB,QAAQ,8EAErB;IACH,SAAgB,OAAO,yFAEpB;IACH,SAAgB,IAAI,qDAA8B;IAClD,SAAgB,QAAQ,8EAErB;IACH,SAAgB,QAAQ,8EAErB;IACH,SAAgB,KAAK,qDAA8B;IACnD,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,OAAO,CAAU;IAG/C,SAAS,KAAK,WAAW,IAAI,OAAO,CAEnC;IAGD,SAAS,KAAK,eAAe,IAAI,OAAO,GAAG,MAAM,CAEhD;IAGD,SAAS,KAAK,gBAAgB,IAAI,MAAM,GAAG,IAAI,CAE9C;IAGD,SAAS,KAAK,mBAAmB,IAAI,MAAM,GAAG,IAAI,CAEjD;IAGD,SAAS,KAAK,eAAe,IAAI,MAAM,GAAG,IAAI,CAE7C;IAGD,SAAS,KAAK,gBAAgB,IAAI,MAAM,GAAG,IAAI,CAE9C;IAGD,SAAS,KAAK,eAAe,IAAI,EAAE,GAAG,IAAI,CAEzC;IAGD,SAAS,KAAK,gBAAgB,IAAI,EAAE,GAAG,IAAI,CAE1C;IAGD,SAAS,KAAK,eAAe,IAAI,EAAE,GAAG,IAAI,CAEzC;IAGD,SAAS,KAAK,oBAAoB,IAAI,EAAE,GAAG,IAAI,CAE9C;IAGD,SAAS,KAAK,eAAe,IAAI,EAAE,GAAG,IAAI,CAEzC;IAGD,SAAS,KAAK,gBAAgB,IAAI,EAAE,GAAG,IAAI,CAE1C;IAGD,SAAS,KAAK,gBAAgB,IAAI,EAAE,GAAG,IAAI,CAE1C;IAGD,SAAS,KAAK,aAAa,IAAI,SAAS,GAAG,WAAW,CAErD;IAGD,SAAS,KAAK,iBAAiB,IAAI,EAAE,GAAG,IAAI,CAE3C;IAGD,SAAS,KAAK,YAAY,IAAI,EAAE,GAAG,IAAI,CAEtC;IAGD,SAAS,KAAK,QAAQ,IAAI,MAAM,GAAG,IAAI,CAEtC;IAGD,SAAS,KAAK,YAAY,IAAI,EAAE,GAAG,IAAI,CAEtC;IAGD,SAAS,KAAK,YAAY,IAAI,OAAO,CAEpC;IAGD,SAAS,KAAK,SAAS,IAAI,MAAM,GAAG,IAAI,CAEvC;IAGM,MAAM,IAAI,IAAI;IAMd,OAAO,IAAI,IAAI;IAMf,gBAAgB,IAAI,IAAI;IAQ/B,OAAO,CAAC,SAAS;CAGlB"}
@@ -208,6 +208,7 @@ TngRadio = __decorate([
208
208
  Directive({
209
209
  selector: 'input[tngRadio]',
210
210
  exportAs: 'tngRadio',
211
+ standalone: true,
211
212
  })
212
213
  ], TngRadio);
213
214
  export { TngRadio };
@@ -1 +1 @@
1
- {"version":3,"file":"tng-radio.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/form/radio/tng-radio.ts"],"names":[],"mappings":";AAAA,OAAO,EACL,SAAS,EACT,UAAU,EACV,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,MAAM,EACN,KAAK,GACN,MAAM,eAAe,CAAC;AAIvB,MAAM,UAAU,4BAA4B,CAAC,KAAgC;IAC3E,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAChC,OAAO,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,KAA2B;IACvE,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;QACvD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;QACzC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,OAAgB;IACvD,OAAO,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,OAAuB,EACvB,WAA2B;IAE3B,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;QACzB,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAMM,IAAM,QAAQ,GAAd,MAAM,QAAQ;IACF,UAAU,GAAG,MAAM,CAA+B,UAAU,CAAC,CAAC;IACvE,OAAO,GAAG,KAAK,CAAC;IAChB,YAAY,GAAG,KAAK,CAAC;IAEb,eAAe,GAAG,KAAK,CAAgB,IAAI,CAAC,CAAC;IAC7C,WAAW,GAAG,KAAK,CAAuC,IAAI,EAAE;QAC9E,SAAS,EAAE,6BAA6B;KACzC,CAAC,CAAC;IACa,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,OAAO,GAAG,KAAK,CAAuC,IAAI,EAAE;QAC1E,SAAS,EAAE,6BAA6B;KACzC,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,QAAQ,GAAG,KAAK,CAA4B,KAAK,EAAE;QACjE,SAAS,EAAE,gBAAgB;KAC5B,CAAC,CAAC;IACa,KAAK,GAAG,KAAK,CAAgB,IAAI,CAAC,CAAC;IAChC,QAAQ,GAAG,OAAgB,CAAC;IAG/C,IAAc,WAAW;QACvB,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC;IAGD,IAAc,eAAe;QAC3B,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;IAC3C,CAAC;IAGD,IAAc,gBAAgB;QAC5B,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;IACzC,CAAC;IAGD,IAAc,mBAAmB;QAC/B,OAAO,4BAA4B,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;IAC9D,CAAC;IAGD,IAAc,eAAe;QAC3B,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1C,CAAC;IAGD,IAAc,gBAAgB;QAC5B,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;IACzC,CAAC;IAGD,IAAc,eAAe;QAC3B,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACpC,CAAC;IAGD,IAAc,gBAAgB;QAC5B,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACrC,CAAC;IAGD,IAAc,eAAe;QAC3B,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAClC,CAAC;IAGD,IAAc,oBAAoB;QAChC,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACvC,CAAC;IAGD,IAAc,eAAe;QAC3B,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACtC,CAAC;IAGD,IAAc,gBAAgB;QAC5B,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACrC,CAAC;IAGD,IAAc,gBAAgB;QAC5B,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACrC,CAAC;IAGD,IAAc,aAAa;QACzB,OAAO,wBAAwB,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IAClD,CAAC;IAGD,IAAc,iBAAiB;QAC7B,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IACpC,CAAC;IAGD,IAAc,YAAY;QACxB,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACrC,CAAC;IAGD,IAAc,QAAQ;QACpB,OAAO,4BAA4B,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACnD,CAAC;IAGD,IAAc,YAAY;QACxB,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACrC,CAAC;IAGD,IAAc,YAAY;QACxB,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAGD,IAAc,SAAS;QACrB,OAAO,4BAA4B,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IACpD,CAAC;IAGM,MAAM;QACX,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;IAC5B,CAAC;IAGM,OAAO;QACZ,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC9E,CAAC;IAGM,gBAAgB;QACrB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;YACxC,OAAO;QACT,CAAC;QAED,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;IACzD,CAAC;IAEO,SAAS;QACf,OAAO,2BAA2B,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IACzE,CAAC;CACF,CAAA;AA3HC;IADC,WAAW,CAAC,SAAS,CAAC;2CAGtB;AAGD;IADC,WAAW,CAAC,mBAAmB,CAAC;+CAGhC;AAGD;IADC,WAAW,CAAC,oBAAoB,CAAC;gDAGjC;AAGD;IADC,WAAW,CAAC,uBAAuB,CAAC;mDAGpC;AAGD;IADC,WAAW,CAAC,mBAAmB,CAAC;+CAGhC;AAGD;IADC,WAAW,CAAC,oBAAoB,CAAC;gDAGjC;AAGD;IADC,WAAW,CAAC,mBAAmB,CAAC;+CAGhC;AAGD;IADC,WAAW,CAAC,oBAAoB,CAAC;gDAGjC;AAGD;IADC,WAAW,CAAC,mBAAmB,CAAC;+CAGhC;AAGD;IADC,WAAW,CAAC,yBAAyB,CAAC;oDAGtC;AAGD;IADC,WAAW,CAAC,mBAAmB,CAAC;+CAGhC;AAGD;IADC,WAAW,CAAC,oBAAoB,CAAC;gDAGjC;AAGD;IADC,WAAW,CAAC,oBAAoB,CAAC;gDAGjC;AAGD;IADC,WAAW,CAAC,iBAAiB,CAAC;6CAG9B;AAGD;IADC,WAAW,CAAC,qBAAqB,CAAC;iDAGlC;AAGD;IADC,WAAW,CAAC,eAAe,CAAC;4CAG5B;AAGD;IADC,WAAW,CAAC,WAAW,CAAC;wCAGxB;AAGD;IADC,WAAW,CAAC,eAAe,CAAC;4CAG5B;AAGD;IADC,WAAW,CAAC,WAAW,CAAC;4CAGxB;AAGD;IADC,WAAW,CAAC,YAAY,CAAC;yCAGzB;AAGM;IADN,YAAY,CAAC,MAAM,CAAC;sCAIpB;AAGM;IADN,YAAY,CAAC,OAAO,CAAC;uCAIrB;AAGM;IADN,YAAY,CAAC,QAAQ,CAAC;gDAOtB;AAnJU,QAAQ;IAJpB,SAAS,CAAC;QACT,QAAQ,EAAE,iBAAiB;QAC3B,QAAQ,EAAE,UAAU;KACrB,CAAC;GACW,QAAQ,CAwJpB","sourcesContent":["import {\n Directive,\n ElementRef,\n HostBinding,\n HostListener,\n booleanAttribute,\n inject,\n input,\n} from '@angular/core';\n\ntype NullableBooleanInput = '' | 'false' | 'true' | boolean | null | undefined;\n\nexport function normalizeTngRadioStringValue(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\nexport function coerceTngRadioNullableBoolean(value: NullableBooleanInput): boolean | null {\n if (value === undefined || value === null) {\n return null;\n }\n\n if (value === '' || value === true || value === 'true') {\n return true;\n }\n\n if (value === false || value === 'false') {\n return false;\n }\n\n return null;\n}\n\nexport function resolveTngRadioDataState(checked: boolean): 'checked' | 'unchecked' {\n return checked ? 'checked' : 'unchecked';\n}\n\nexport function resolveTngRadioInvalidState(\n invalid: boolean | null,\n ariaInvalid: boolean | null,\n): boolean {\n if (invalid !== null) {\n return invalid;\n }\n\n if (ariaInvalid !== null) {\n return ariaInvalid;\n }\n\n return false;\n}\n\n@Directive({\n selector: 'input[tngRadio]',\n exportAs: 'tngRadio',\n})\nexport class TngRadio {\n private readonly elementRef = inject<ElementRef<HTMLInputElement>>(ElementRef);\n private focused = false;\n private focusVisible = false;\n\n public readonly ariaDescribedBy = input<string | null>(null);\n public readonly ariaInvalid = input<boolean | null, NullableBooleanInput>(null, {\n transform: coerceTngRadioNullableBoolean,\n });\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 invalid = input<boolean | null, NullableBooleanInput>(null, {\n transform: coerceTngRadioNullableBoolean,\n });\n public readonly name = 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 value = input<string | null>(null);\n protected readonly typeAttr = 'radio' as const;\n\n @HostBinding('checked')\n protected get checkedProp(): boolean {\n return this.checked();\n }\n\n @HostBinding('attr.aria-checked')\n protected get ariaCheckedAttr(): 'false' | 'true' {\n return this.checked() ? 'true' : 'false';\n }\n\n @HostBinding('attr.aria-disabled')\n protected get ariaDisabledAttr(): 'true' | null {\n return this.disabled() ? 'true' : null;\n }\n\n @HostBinding('attr.aria-describedby')\n protected get ariaDescribedByAttr(): string | null {\n return normalizeTngRadioStringValue(this.ariaDescribedBy());\n }\n\n @HostBinding('attr.aria-invalid')\n protected get ariaInvalidAttr(): 'true' | null {\n return this.isInvalid() ? 'true' : null;\n }\n\n @HostBinding('attr.aria-readonly')\n protected get ariaReadonlyAttr(): 'true' | null {\n return this.readonly() ? 'true' : null;\n }\n\n @HostBinding('attr.data-checked')\n protected get dataCheckedAttr(): '' | null {\n return this.checked() ? '' : null;\n }\n\n @HostBinding('attr.data-disabled')\n protected get dataDisabledAttr(): '' | null {\n return this.disabled() ? '' : null;\n }\n\n @HostBinding('attr.data-focused')\n protected get dataFocusedAttr(): '' | null {\n return this.focused ? '' : null;\n }\n\n @HostBinding('attr.data-focus-visible')\n protected get dataFocusVisibleAttr(): '' | null {\n return this.focusVisible ? '' : null;\n }\n\n @HostBinding('attr.data-invalid')\n protected get dataInvalidAttr(): '' | null {\n return this.isInvalid() ? '' : null;\n }\n\n @HostBinding('attr.data-readonly')\n protected get dataReadonlyAttr(): '' | null {\n return this.readonly() ? '' : null;\n }\n\n @HostBinding('attr.data-required')\n protected get dataRequiredAttr(): '' | null {\n return this.required() ? '' : null;\n }\n\n @HostBinding('attr.data-state')\n protected get dataStateAttr(): 'checked' | 'unchecked' {\n return resolveTngRadioDataState(this.checked());\n }\n\n @HostBinding('attr.data-unchecked')\n protected get dataUncheckedAttr(): '' | null {\n return this.checked() ? null : '';\n }\n\n @HostBinding('attr.disabled')\n protected get disabledAttr(): '' | null {\n return this.disabled() ? '' : null;\n }\n\n @HostBinding('attr.name')\n protected get nameAttr(): string | null {\n return normalizeTngRadioStringValue(this.name());\n }\n\n @HostBinding('attr.required')\n protected get requiredAttr(): '' | null {\n return this.required() ? '' : null;\n }\n\n @HostBinding('attr.type')\n protected get hostTypeAttr(): 'radio' {\n return this.typeAttr;\n }\n\n @HostBinding('attr.value')\n protected get valueAttr(): string | null {\n return normalizeTngRadioStringValue(this.value());\n }\n\n @HostListener('blur')\n public onBlur(): void {\n this.focused = false;\n this.focusVisible = false;\n }\n\n @HostListener('focus')\n public onFocus(): void {\n this.focused = true;\n this.focusVisible = this.elementRef.nativeElement.matches(':focus-visible');\n }\n\n @HostListener('change')\n public onReadonlyChange(): void {\n if (!this.readonly() || this.disabled()) {\n return;\n }\n\n this.elementRef.nativeElement.checked = this.checked();\n }\n\n private isInvalid(): boolean {\n return resolveTngRadioInvalidState(this.invalid(), this.ariaInvalid());\n }\n}\n"]}
1
+ {"version":3,"file":"tng-radio.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/form/radio/tng-radio.ts"],"names":[],"mappings":";AAAA,OAAO,EACL,SAAS,EACT,UAAU,EACV,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,MAAM,EACN,KAAK,GACN,MAAM,eAAe,CAAC;AAIvB,MAAM,UAAU,4BAA4B,CAAC,KAAgC;IAC3E,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAChC,OAAO,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,KAA2B;IACvE,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;QACvD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;QACzC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,OAAgB;IACvD,OAAO,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,OAAuB,EACvB,WAA2B;IAE3B,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;QACzB,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAOM,IAAM,QAAQ,GAAd,MAAM,QAAQ;IACF,UAAU,GAAG,MAAM,CAA+B,UAAU,CAAC,CAAC;IACvE,OAAO,GAAG,KAAK,CAAC;IAChB,YAAY,GAAG,KAAK,CAAC;IAEb,eAAe,GAAG,KAAK,CAAgB,IAAI,CAAC,CAAC;IAC7C,WAAW,GAAG,KAAK,CAAuC,IAAI,EAAE;QAC9E,SAAS,EAAE,6BAA6B;KACzC,CAAC,CAAC;IACa,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,OAAO,GAAG,KAAK,CAAuC,IAAI,EAAE;QAC1E,SAAS,EAAE,6BAA6B;KACzC,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,QAAQ,GAAG,KAAK,CAA4B,KAAK,EAAE;QACjE,SAAS,EAAE,gBAAgB;KAC5B,CAAC,CAAC;IACa,KAAK,GAAG,KAAK,CAAgB,IAAI,CAAC,CAAC;IAChC,QAAQ,GAAG,OAAgB,CAAC;IAG/C,IAAc,WAAW;QACvB,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC;IAGD,IAAc,eAAe;QAC3B,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;IAC3C,CAAC;IAGD,IAAc,gBAAgB;QAC5B,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;IACzC,CAAC;IAGD,IAAc,mBAAmB;QAC/B,OAAO,4BAA4B,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;IAC9D,CAAC;IAGD,IAAc,eAAe;QAC3B,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1C,CAAC;IAGD,IAAc,gBAAgB;QAC5B,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;IACzC,CAAC;IAGD,IAAc,eAAe;QAC3B,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACpC,CAAC;IAGD,IAAc,gBAAgB;QAC5B,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACrC,CAAC;IAGD,IAAc,eAAe;QAC3B,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAClC,CAAC;IAGD,IAAc,oBAAoB;QAChC,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACvC,CAAC;IAGD,IAAc,eAAe;QAC3B,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACtC,CAAC;IAGD,IAAc,gBAAgB;QAC5B,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACrC,CAAC;IAGD,IAAc,gBAAgB;QAC5B,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACrC,CAAC;IAGD,IAAc,aAAa;QACzB,OAAO,wBAAwB,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IAClD,CAAC;IAGD,IAAc,iBAAiB;QAC7B,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IACpC,CAAC;IAGD,IAAc,YAAY;QACxB,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACrC,CAAC;IAGD,IAAc,QAAQ;QACpB,OAAO,4BAA4B,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACnD,CAAC;IAGD,IAAc,YAAY;QACxB,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACrC,CAAC;IAGD,IAAc,YAAY;QACxB,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAGD,IAAc,SAAS;QACrB,OAAO,4BAA4B,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IACpD,CAAC;IAGM,MAAM;QACX,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;IAC5B,CAAC;IAGM,OAAO;QACZ,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC9E,CAAC;IAGM,gBAAgB;QACrB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;YACxC,OAAO;QACT,CAAC;QAED,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;IACzD,CAAC;IAEO,SAAS;QACf,OAAO,2BAA2B,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IACzE,CAAC;CACF,CAAA;AA3HC;IADC,WAAW,CAAC,SAAS,CAAC;2CAGtB;AAGD;IADC,WAAW,CAAC,mBAAmB,CAAC;+CAGhC;AAGD;IADC,WAAW,CAAC,oBAAoB,CAAC;gDAGjC;AAGD;IADC,WAAW,CAAC,uBAAuB,CAAC;mDAGpC;AAGD;IADC,WAAW,CAAC,mBAAmB,CAAC;+CAGhC;AAGD;IADC,WAAW,CAAC,oBAAoB,CAAC;gDAGjC;AAGD;IADC,WAAW,CAAC,mBAAmB,CAAC;+CAGhC;AAGD;IADC,WAAW,CAAC,oBAAoB,CAAC;gDAGjC;AAGD;IADC,WAAW,CAAC,mBAAmB,CAAC;+CAGhC;AAGD;IADC,WAAW,CAAC,yBAAyB,CAAC;oDAGtC;AAGD;IADC,WAAW,CAAC,mBAAmB,CAAC;+CAGhC;AAGD;IADC,WAAW,CAAC,oBAAoB,CAAC;gDAGjC;AAGD;IADC,WAAW,CAAC,oBAAoB,CAAC;gDAGjC;AAGD;IADC,WAAW,CAAC,iBAAiB,CAAC;6CAG9B;AAGD;IADC,WAAW,CAAC,qBAAqB,CAAC;iDAGlC;AAGD;IADC,WAAW,CAAC,eAAe,CAAC;4CAG5B;AAGD;IADC,WAAW,CAAC,WAAW,CAAC;wCAGxB;AAGD;IADC,WAAW,CAAC,eAAe,CAAC;4CAG5B;AAGD;IADC,WAAW,CAAC,WAAW,CAAC;4CAGxB;AAGD;IADC,WAAW,CAAC,YAAY,CAAC;yCAGzB;AAGM;IADN,YAAY,CAAC,MAAM,CAAC;sCAIpB;AAGM;IADN,YAAY,CAAC,OAAO,CAAC;uCAIrB;AAGM;IADN,YAAY,CAAC,QAAQ,CAAC;gDAOtB;AAnJU,QAAQ;IALpB,SAAS,CAAC;QACT,QAAQ,EAAE,iBAAiB;QAC3B,QAAQ,EAAE,UAAU;QACpB,UAAU,EAAE,IAAI;KACjB,CAAC;GACW,QAAQ,CAwJpB","sourcesContent":["import {\n Directive,\n ElementRef,\n HostBinding,\n HostListener,\n booleanAttribute,\n inject,\n input,\n} from '@angular/core';\n\ntype NullableBooleanInput = '' | 'false' | 'true' | boolean | null | undefined;\n\nexport function normalizeTngRadioStringValue(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\nexport function coerceTngRadioNullableBoolean(value: NullableBooleanInput): boolean | null {\n if (value === undefined || value === null) {\n return null;\n }\n\n if (value === '' || value === true || value === 'true') {\n return true;\n }\n\n if (value === false || value === 'false') {\n return false;\n }\n\n return null;\n}\n\nexport function resolveTngRadioDataState(checked: boolean): 'checked' | 'unchecked' {\n return checked ? 'checked' : 'unchecked';\n}\n\nexport function resolveTngRadioInvalidState(\n invalid: boolean | null,\n ariaInvalid: boolean | null,\n): boolean {\n if (invalid !== null) {\n return invalid;\n }\n\n if (ariaInvalid !== null) {\n return ariaInvalid;\n }\n\n return false;\n}\n\n@Directive({\n selector: 'input[tngRadio]',\n exportAs: 'tngRadio',\n standalone: true,\n})\nexport class TngRadio {\n private readonly elementRef = inject<ElementRef<HTMLInputElement>>(ElementRef);\n private focused = false;\n private focusVisible = false;\n\n public readonly ariaDescribedBy = input<string | null>(null);\n public readonly ariaInvalid = input<boolean | null, NullableBooleanInput>(null, {\n transform: coerceTngRadioNullableBoolean,\n });\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 invalid = input<boolean | null, NullableBooleanInput>(null, {\n transform: coerceTngRadioNullableBoolean,\n });\n public readonly name = 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 value = input<string | null>(null);\n protected readonly typeAttr = 'radio' as const;\n\n @HostBinding('checked')\n protected get checkedProp(): boolean {\n return this.checked();\n }\n\n @HostBinding('attr.aria-checked')\n protected get ariaCheckedAttr(): 'false' | 'true' {\n return this.checked() ? 'true' : 'false';\n }\n\n @HostBinding('attr.aria-disabled')\n protected get ariaDisabledAttr(): 'true' | null {\n return this.disabled() ? 'true' : null;\n }\n\n @HostBinding('attr.aria-describedby')\n protected get ariaDescribedByAttr(): string | null {\n return normalizeTngRadioStringValue(this.ariaDescribedBy());\n }\n\n @HostBinding('attr.aria-invalid')\n protected get ariaInvalidAttr(): 'true' | null {\n return this.isInvalid() ? 'true' : null;\n }\n\n @HostBinding('attr.aria-readonly')\n protected get ariaReadonlyAttr(): 'true' | null {\n return this.readonly() ? 'true' : null;\n }\n\n @HostBinding('attr.data-checked')\n protected get dataCheckedAttr(): '' | null {\n return this.checked() ? '' : null;\n }\n\n @HostBinding('attr.data-disabled')\n protected get dataDisabledAttr(): '' | null {\n return this.disabled() ? '' : null;\n }\n\n @HostBinding('attr.data-focused')\n protected get dataFocusedAttr(): '' | null {\n return this.focused ? '' : null;\n }\n\n @HostBinding('attr.data-focus-visible')\n protected get dataFocusVisibleAttr(): '' | null {\n return this.focusVisible ? '' : null;\n }\n\n @HostBinding('attr.data-invalid')\n protected get dataInvalidAttr(): '' | null {\n return this.isInvalid() ? '' : null;\n }\n\n @HostBinding('attr.data-readonly')\n protected get dataReadonlyAttr(): '' | null {\n return this.readonly() ? '' : null;\n }\n\n @HostBinding('attr.data-required')\n protected get dataRequiredAttr(): '' | null {\n return this.required() ? '' : null;\n }\n\n @HostBinding('attr.data-state')\n protected get dataStateAttr(): 'checked' | 'unchecked' {\n return resolveTngRadioDataState(this.checked());\n }\n\n @HostBinding('attr.data-unchecked')\n protected get dataUncheckedAttr(): '' | null {\n return this.checked() ? null : '';\n }\n\n @HostBinding('attr.disabled')\n protected get disabledAttr(): '' | null {\n return this.disabled() ? '' : null;\n }\n\n @HostBinding('attr.name')\n protected get nameAttr(): string | null {\n return normalizeTngRadioStringValue(this.name());\n }\n\n @HostBinding('attr.required')\n protected get requiredAttr(): '' | null {\n return this.required() ? '' : null;\n }\n\n @HostBinding('attr.type')\n protected get hostTypeAttr(): 'radio' {\n return this.typeAttr;\n }\n\n @HostBinding('attr.value')\n protected get valueAttr(): string | null {\n return normalizeTngRadioStringValue(this.value());\n }\n\n @HostListener('blur')\n public onBlur(): void {\n this.focused = false;\n this.focusVisible = false;\n }\n\n @HostListener('focus')\n public onFocus(): void {\n this.focused = true;\n this.focusVisible = this.elementRef.nativeElement.matches(':focus-visible');\n }\n\n @HostListener('change')\n public onReadonlyChange(): void {\n if (!this.readonly() || this.disabled()) {\n return;\n }\n\n this.elementRef.nativeElement.checked = this.checked();\n }\n\n private isInvalid(): boolean {\n return resolveTngRadioInvalidState(this.invalid(), this.ariaInvalid());\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"tng-slider.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/form/slider/tng-slider.ts"],"names":[],"mappings":"AAMA,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAG5D;AAED,qBAIa,SAAS;IACpB,SAAgB,QAAQ,8EAErB;IACH,SAAgB,GAAG,4EAGhB;IACH,SAAgB,GAAG,4EAGhB;IACH,SAAgB,IAAI,4EAGjB;IACH,SAAgB,KAAK,4EAGlB;IAGH,SAAS,KAAK,gBAAgB,IAAI,EAAE,GAAG,IAAI,CAE1C;IAGD,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,QAAQ,CAAU;IAGhD,SAAS,KAAK,YAAY,IAAI,EAAE,GAAG,IAAI,CAEtC;IAGD,SAAS,KAAK,OAAO,IAAI,MAAM,CAE9B;IAGD,SAAS,KAAK,OAAO,IAAI,MAAM,CAE9B;IAGD,SAAS,KAAK,QAAQ,IAAI,MAAM,CAE/B;IAGD,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,OAAO,CAAU;IAG/C,SAAS,KAAK,SAAS,IAAI,MAAM,CAEhC;CACF"}
1
+ {"version":3,"file":"tng-slider.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/form/slider/tng-slider.ts"],"names":[],"mappings":"AAMA,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAG5D;AAED,qBAKa,SAAS;IACpB,SAAgB,QAAQ,8EAErB;IACH,SAAgB,GAAG,4EAGhB;IACH,SAAgB,GAAG,4EAGhB;IACH,SAAgB,IAAI,4EAGjB;IACH,SAAgB,KAAK,4EAGlB;IAGH,SAAS,KAAK,gBAAgB,IAAI,EAAE,GAAG,IAAI,CAE1C;IAGD,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,QAAQ,CAAU;IAGhD,SAAS,KAAK,YAAY,IAAI,EAAE,GAAG,IAAI,CAEtC;IAGD,SAAS,KAAK,OAAO,IAAI,MAAM,CAE9B;IAGD,SAAS,KAAK,OAAO,IAAI,MAAM,CAE9B;IAGD,SAAS,KAAK,QAAQ,IAAI,MAAM,CAE/B;IAGD,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,OAAO,CAAU;IAG/C,SAAS,KAAK,SAAS,IAAI,MAAM,CAEhC;CACF"}
@@ -78,6 +78,7 @@ TngSlider = __decorate([
78
78
  Directive({
79
79
  selector: 'input[tngSlider]',
80
80
  exportAs: 'tngSlider',
81
+ standalone: true,
81
82
  })
82
83
  ], TngSlider);
83
84
  export { TngSlider };
@@ -1 +1 @@
1
- {"version":3,"file":"tng-slider.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/form/slider/tng-slider.ts"],"names":[],"mappings":"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","sourcesContent":["import { Directive, HostBinding, booleanAttribute, input } from '@angular/core';\n\nfunction normalizeFiniteNumber(value: number, fallback: number): number {\n return Number.isFinite(value) ? value : fallback;\n}\n\nexport function normalizeTngSliderMin(value: number): number {\n return normalizeFiniteNumber(value, 0);\n}\n\nexport function normalizeTngSliderMax(value: number): number {\n return normalizeFiniteNumber(value, 100);\n}\n\nexport function normalizeTngSliderStep(value: number): number {\n const normalized = normalizeFiniteNumber(value, 1);\n return normalized > 0 ? normalized : 1;\n}\n\n@Directive({\n selector: 'input[tngSlider]',\n exportAs: 'tngSlider',\n})\nexport class TngSlider {\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 @HostBinding('attr.data-disabled')\n protected get dataDisabledAttr(): '' | null {\n return this.disabled() ? '' : null;\n }\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'slider' as const;\n\n @HostBinding('attr.disabled')\n protected get disabledAttr(): '' | null {\n return this.disabled() ? '' : null;\n }\n\n @HostBinding('attr.max')\n protected get maxAttr(): string {\n return String(this.max());\n }\n\n @HostBinding('attr.min')\n protected get minAttr(): string {\n return String(this.min());\n }\n\n @HostBinding('attr.step')\n protected get stepAttr(): string {\n return String(this.step());\n }\n\n @HostBinding('attr.type')\n protected readonly typeAttr = 'range' as const;\n\n @HostBinding('attr.value')\n protected get valueAttr(): string {\n return String(this.value());\n }\n}\n"]}
1
+ {"version":3,"file":"tng-slider.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/form/slider/tng-slider.ts"],"names":[],"mappings":"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","sourcesContent":["import { Directive, HostBinding, booleanAttribute, input } from '@angular/core';\n\nfunction normalizeFiniteNumber(value: number, fallback: number): number {\n return Number.isFinite(value) ? value : fallback;\n}\n\nexport function normalizeTngSliderMin(value: number): number {\n return normalizeFiniteNumber(value, 0);\n}\n\nexport function normalizeTngSliderMax(value: number): number {\n return normalizeFiniteNumber(value, 100);\n}\n\nexport function normalizeTngSliderStep(value: number): number {\n const normalized = normalizeFiniteNumber(value, 1);\n return normalized > 0 ? normalized : 1;\n}\n\n@Directive({\n selector: 'input[tngSlider]',\n exportAs: 'tngSlider',\n standalone: true,\n})\nexport class TngSlider {\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 @HostBinding('attr.data-disabled')\n protected get dataDisabledAttr(): '' | null {\n return this.disabled() ? '' : null;\n }\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'slider' as const;\n\n @HostBinding('attr.disabled')\n protected get disabledAttr(): '' | null {\n return this.disabled() ? '' : null;\n }\n\n @HostBinding('attr.max')\n protected get maxAttr(): string {\n return String(this.max());\n }\n\n @HostBinding('attr.min')\n protected get minAttr(): string {\n return String(this.min());\n }\n\n @HostBinding('attr.step')\n protected get stepAttr(): string {\n return String(this.step());\n }\n\n @HostBinding('attr.type')\n protected readonly typeAttr = 'range' as const;\n\n @HostBinding('attr.value')\n protected get valueAttr(): string {\n return String(this.value());\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"tng-switch.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/form/switch/tng-switch.ts"],"names":[],"mappings":"AAEA,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,GAAG,MAAM,CAE9E;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,GAAG,WAAW,CAEnF;AAED,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAE7E;AAED,qBAIa,SAAS;IACpB,SAAgB,SAAS,qDAA8B;IACvD,SAAgB,OAAO,8EAEpB;IACH,SAAgB,QAAQ,8EAErB;IACH,SAAgB,QAAQ,8EAErB;IAGH,SAAS,KAAK,eAAe,IAAI,OAAO,GAAG,MAAM,CAEhD;IAGD,SAAS,KAAK,aAAa,IAAI,MAAM,GAAG,IAAI,CAE3C;IAGD,SAAS,KAAK,gBAAgB,IAAI,MAAM,GAAG,IAAI,CAE9C;IAGD,SAAS,KAAK,gBAAgB,IAAI,EAAE,GAAG,IAAI,CAE1C;IAGD,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,QAAQ,CAAU;IAGhD,SAAS,KAAK,aAAa,IAAI,SAAS,GAAG,WAAW,CAErD;IAGD,SAAS,KAAK,YAAY,IAAI,EAAE,GAAG,IAAI,CAEtC;IAGD,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,QAAQ,CAAU;IAGhD,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,QAAQ,CAAU;CACjD"}
1
+ {"version":3,"file":"tng-switch.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/form/switch/tng-switch.ts"],"names":[],"mappings":"AAEA,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,GAAG,MAAM,CAE9E;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,GAAG,WAAW,CAEnF;AAED,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAE7E;AAED,qBAKa,SAAS;IACpB,SAAgB,SAAS,qDAA8B;IACvD,SAAgB,OAAO,8EAEpB;IACH,SAAgB,QAAQ,8EAErB;IACH,SAAgB,QAAQ,8EAErB;IAGH,SAAS,KAAK,eAAe,IAAI,OAAO,GAAG,MAAM,CAEhD;IAGD,SAAS,KAAK,aAAa,IAAI,MAAM,GAAG,IAAI,CAE3C;IAGD,SAAS,KAAK,gBAAgB,IAAI,MAAM,GAAG,IAAI,CAE9C;IAGD,SAAS,KAAK,gBAAgB,IAAI,EAAE,GAAG,IAAI,CAE1C;IAGD,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,QAAQ,CAAU;IAGhD,SAAS,KAAK,aAAa,IAAI,SAAS,GAAG,WAAW,CAErD;IAGD,SAAS,KAAK,YAAY,IAAI,EAAE,GAAG,IAAI,CAEtC;IAGD,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,QAAQ,CAAU;IAGhD,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,QAAQ,CAAU;CACjD"}
@@ -73,6 +73,7 @@ TngSwitch = __decorate([
73
73
  Directive({
74
74
  selector: 'button[tngSwitch]',
75
75
  exportAs: 'tngSwitch',
76
+ standalone: true,
76
77
  })
77
78
  ], TngSwitch);
78
79
  export { TngSwitch };
@@ -1 +1 @@
1
- {"version":3,"file":"tng-switch.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/form/switch/tng-switch.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEhF,MAAM,UAAU,2BAA2B,CAAC,OAAgB;IAC1D,OAAO,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,OAAgB;IACxD,OAAO,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,QAAiB;IAC5D,OAAO,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;AAClC,CAAC;AAMM,IAAM,SAAS,GAAf,MAAM,SAAS;IACJ,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,QAAQ,GAAG,KAAK,CAA4B,KAAK,EAAE;QACjE,SAAS,EAAE,gBAAgB;KAC5B,CAAC,CAAC;IAGH,IAAc,eAAe;QAC3B,OAAO,2BAA2B,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IACrD,CAAC;IAGD,IAAc,aAAa;QACzB,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;IAC1B,CAAC;IAGD,IAAc,gBAAgB;QAC5B,OAAO,4BAA4B,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IACvD,CAAC;IAGD,IAAc,gBAAgB;QAC5B,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACrC,CAAC;IAGkB,QAAQ,GAAG,QAAiB,CAAC;IAGhD,IAAc,aAAa;QACzB,OAAO,yBAAyB,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IACnD,CAAC;IAGD,IAAc,YAAY;QACxB,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACrC,CAAC;IAGkB,QAAQ,GAAG,QAAiB,CAAC;IAG7B,QAAQ,GAAG,QAAiB,CAAC;CACjD,CAAA;AArCC;IADC,WAAW,CAAC,mBAAmB,CAAC;gDAGhC;AAGD;IADC,WAAW,CAAC,iBAAiB,CAAC;8CAG9B;AAGD;IADC,WAAW,CAAC,oBAAoB,CAAC;iDAGjC;AAGD;IADC,WAAW,CAAC,oBAAoB,CAAC;iDAGjC;AAGkB;IADlB,WAAW,CAAC,gBAAgB,CAAC;2CACkB;AAGhD;IADC,WAAW,CAAC,iBAAiB,CAAC;8CAG9B;AAGD;IADC,WAAW,CAAC,eAAe,CAAC;6CAG5B;AAGkB;IADlB,WAAW,CAAC,WAAW,CAAC;2CACuB;AAG7B;IADlB,WAAW,CAAC,WAAW,CAAC;2CACuB;AAjDrC,SAAS;IAJrB,SAAS,CAAC;QACT,QAAQ,EAAE,mBAAmB;QAC7B,QAAQ,EAAE,WAAW;KACtB,CAAC;GACW,SAAS,CAkDrB","sourcesContent":["import { Directive, HostBinding, booleanAttribute, input } from '@angular/core';\n\nexport function resolveTngSwitchAriaChecked(checked: boolean): 'false' | 'true' {\n return checked ? 'true' : 'false';\n}\n\nexport function resolveTngSwitchDataState(checked: boolean): 'checked' | 'unchecked' {\n return checked ? 'checked' : 'unchecked';\n}\n\nexport function resolveTngSwitchAriaRequired(required: boolean): 'true' | null {\n return required ? 'true' : null;\n}\n\n@Directive({\n selector: 'button[tngSwitch]',\n exportAs: 'tngSwitch',\n})\nexport class TngSwitch {\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 required = input<boolean, boolean | string>(false, {\n transform: booleanAttribute,\n });\n\n @HostBinding('attr.aria-checked')\n protected get ariaCheckedAttr(): 'false' | 'true' {\n return resolveTngSwitchAriaChecked(this.checked());\n }\n\n @HostBinding('attr.aria-label')\n protected get ariaLabelAttr(): string | null {\n return this.ariaLabel();\n }\n\n @HostBinding('attr.aria-required')\n protected get ariaRequiredAttr(): 'true' | null {\n return resolveTngSwitchAriaRequired(this.required());\n }\n\n @HostBinding('attr.data-disabled')\n protected get dataDisabledAttr(): '' | null {\n return this.disabled() ? '' : null;\n }\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'switch' as const;\n\n @HostBinding('attr.data-state')\n protected get dataStateAttr(): 'checked' | 'unchecked' {\n return resolveTngSwitchDataState(this.checked());\n }\n\n @HostBinding('attr.disabled')\n protected get disabledAttr(): '' | null {\n return this.disabled() ? '' : null;\n }\n\n @HostBinding('attr.role')\n protected readonly roleAttr = 'switch' as const;\n\n @HostBinding('attr.type')\n protected readonly typeAttr = 'button' as const;\n}\n"]}
1
+ {"version":3,"file":"tng-switch.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/form/switch/tng-switch.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEhF,MAAM,UAAU,2BAA2B,CAAC,OAAgB;IAC1D,OAAO,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,OAAgB;IACxD,OAAO,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,QAAiB;IAC5D,OAAO,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;AAClC,CAAC;AAOM,IAAM,SAAS,GAAf,MAAM,SAAS;IACJ,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,QAAQ,GAAG,KAAK,CAA4B,KAAK,EAAE;QACjE,SAAS,EAAE,gBAAgB;KAC5B,CAAC,CAAC;IAGH,IAAc,eAAe;QAC3B,OAAO,2BAA2B,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IACrD,CAAC;IAGD,IAAc,aAAa;QACzB,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;IAC1B,CAAC;IAGD,IAAc,gBAAgB;QAC5B,OAAO,4BAA4B,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IACvD,CAAC;IAGD,IAAc,gBAAgB;QAC5B,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACrC,CAAC;IAGkB,QAAQ,GAAG,QAAiB,CAAC;IAGhD,IAAc,aAAa;QACzB,OAAO,yBAAyB,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IACnD,CAAC;IAGD,IAAc,YAAY;QACxB,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACrC,CAAC;IAGkB,QAAQ,GAAG,QAAiB,CAAC;IAG7B,QAAQ,GAAG,QAAiB,CAAC;CACjD,CAAA;AArCC;IADC,WAAW,CAAC,mBAAmB,CAAC;gDAGhC;AAGD;IADC,WAAW,CAAC,iBAAiB,CAAC;8CAG9B;AAGD;IADC,WAAW,CAAC,oBAAoB,CAAC;iDAGjC;AAGD;IADC,WAAW,CAAC,oBAAoB,CAAC;iDAGjC;AAGkB;IADlB,WAAW,CAAC,gBAAgB,CAAC;2CACkB;AAGhD;IADC,WAAW,CAAC,iBAAiB,CAAC;8CAG9B;AAGD;IADC,WAAW,CAAC,eAAe,CAAC;6CAG5B;AAGkB;IADlB,WAAW,CAAC,WAAW,CAAC;2CACuB;AAG7B;IADlB,WAAW,CAAC,WAAW,CAAC;2CACuB;AAjDrC,SAAS;IALrB,SAAS,CAAC;QACT,QAAQ,EAAE,mBAAmB;QAC7B,QAAQ,EAAE,WAAW;QACrB,UAAU,EAAE,IAAI;KACjB,CAAC;GACW,SAAS,CAkDrB","sourcesContent":["import { Directive, HostBinding, booleanAttribute, input } from '@angular/core';\n\nexport function resolveTngSwitchAriaChecked(checked: boolean): 'false' | 'true' {\n return checked ? 'true' : 'false';\n}\n\nexport function resolveTngSwitchDataState(checked: boolean): 'checked' | 'unchecked' {\n return checked ? 'checked' : 'unchecked';\n}\n\nexport function resolveTngSwitchAriaRequired(required: boolean): 'true' | null {\n return required ? 'true' : null;\n}\n\n@Directive({\n selector: 'button[tngSwitch]',\n exportAs: 'tngSwitch',\n standalone: true,\n})\nexport class TngSwitch {\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 required = input<boolean, boolean | string>(false, {\n transform: booleanAttribute,\n });\n\n @HostBinding('attr.aria-checked')\n protected get ariaCheckedAttr(): 'false' | 'true' {\n return resolveTngSwitchAriaChecked(this.checked());\n }\n\n @HostBinding('attr.aria-label')\n protected get ariaLabelAttr(): string | null {\n return this.ariaLabel();\n }\n\n @HostBinding('attr.aria-required')\n protected get ariaRequiredAttr(): 'true' | null {\n return resolveTngSwitchAriaRequired(this.required());\n }\n\n @HostBinding('attr.data-disabled')\n protected get dataDisabledAttr(): '' | null {\n return this.disabled() ? '' : null;\n }\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'switch' as const;\n\n @HostBinding('attr.data-state')\n protected get dataStateAttr(): 'checked' | 'unchecked' {\n return resolveTngSwitchDataState(this.checked());\n }\n\n @HostBinding('attr.disabled')\n protected get disabledAttr(): '' | null {\n return this.disabled() ? '' : null;\n }\n\n @HostBinding('attr.role')\n protected readonly roleAttr = 'switch' as const;\n\n @HostBinding('attr.type')\n protected readonly typeAttr = 'button' as const;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"tng-toggle.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/form/toggle/tng-toggle.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,MAAM,EAOP,MAAM,eAAe,CAAC;AAGvB,KAAK,oBAAoB,GAAG,EAAE,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;AAW/E,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,GAAG,IAAI,CAc1F;AAED,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,GAAG,MAAM,CAE9E;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,OAAO,GAAG,KAAK,GAAG,IAAI,CAExE;AAED,qBAIa,SAAU,YAAW,MAAM;IACtC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAqD;IAChF,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA8C;IACpE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAiB;IACjD,OAAO,CAAC,6BAA6B,CAAS;IAC9C,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,YAAY,CAAS;IAE7B,SAAgB,SAAS,qDAA8B;IACvD,SAAgB,cAAc,qDAA8B;IAC5D,SAAgB,eAAe,qDAA8B;IAC7D,SAAgB,KAAK,qDAA2D;IAEhF,SAAgB,OAAO,yFAEpB;IACH,SAAgB,cAAc,8EAE3B;IACH,SAAgB,QAAQ,8EAErB;IAEH,SAAgB,aAAa,oDAAqB;IAElD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAE9B;IAEH,OAAO,CAAC,QAAQ,CAAC,eAAe,CAY7B;IAEI,QAAQ,IAAI,IAAI;IAKvB,SAAS,KAAK,mBAAmB,IAAI,MAAM,GAAG,IAAI,CAEjD;IAGD,SAAS,KAAK,gBAAgB,IAAI,MAAM,GAAG,IAAI,CAE9C;IAGD,SAAS,KAAK,aAAa,IAAI,MAAM,GAAG,IAAI,CAE3C;IAGD,SAAS,KAAK,kBAAkB,IAAI,MAAM,GAAG,IAAI,CAEhD;IAGD,SAAS,KAAK,eAAe,IAAI,OAAO,GAAG,MAAM,CAEhD;IAGD,SAAS,KAAK,gBAAgB,IAAI,EAAE,GAAG,IAAI,CAE1C;IAGD,SAAS,KAAK,eAAe,IAAI,EAAE,GAAG,IAAI,CAEzC;IAGD,SAAS,KAAK,oBAAoB,IAAI,EAAE,GAAG,IAAI,CAE9C;IAGD,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,QAAQ,CAAU;IAGhD,SAAS,KAAK,aAAa,IAAI,KAAK,GAAG,IAAI,CAE1C;IAGD,SAAS,KAAK,YAAY,IAAI,EAAE,GAAG,IAAI,CAEtC;IAGD,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,QAAQ,CAAU;IAGzC,MAAM,IAAI,IAAI;IAMd,OAAO,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAiBhC,OAAO,IAAI,IAAI;IAMf,SAAS,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAc5C,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,qBAAqB;CAe9B"}
1
+ {"version":3,"file":"tng-toggle.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/form/toggle/tng-toggle.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,MAAM,EAOP,MAAM,eAAe,CAAC;AAGvB,KAAK,oBAAoB,GAAG,EAAE,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;AAW/E,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,GAAG,IAAI,CAc1F;AAED,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,GAAG,MAAM,CAE9E;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,OAAO,GAAG,KAAK,GAAG,IAAI,CAExE;AAED,qBAKa,SAAU,YAAW,MAAM;IACtC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAqD;IAChF,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA8C;IACpE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAiB;IACjD,OAAO,CAAC,6BAA6B,CAAS;IAC9C,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,YAAY,CAAS;IAE7B,SAAgB,SAAS,qDAA8B;IACvD,SAAgB,cAAc,qDAA8B;IAC5D,SAAgB,eAAe,qDAA8B;IAC7D,SAAgB,KAAK,qDAA2D;IAEhF,SAAgB,OAAO,yFAEpB;IACH,SAAgB,cAAc,8EAE3B;IACH,SAAgB,QAAQ,8EAErB;IAEH,SAAgB,aAAa,oDAAqB;IAElD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAE9B;IAEH,OAAO,CAAC,QAAQ,CAAC,eAAe,CAY7B;IAEI,QAAQ,IAAI,IAAI;IAKvB,SAAS,KAAK,mBAAmB,IAAI,MAAM,GAAG,IAAI,CAEjD;IAGD,SAAS,KAAK,gBAAgB,IAAI,MAAM,GAAG,IAAI,CAE9C;IAGD,SAAS,KAAK,aAAa,IAAI,MAAM,GAAG,IAAI,CAE3C;IAGD,SAAS,KAAK,kBAAkB,IAAI,MAAM,GAAG,IAAI,CAEhD;IAGD,SAAS,KAAK,eAAe,IAAI,OAAO,GAAG,MAAM,CAEhD;IAGD,SAAS,KAAK,gBAAgB,IAAI,EAAE,GAAG,IAAI,CAE1C;IAGD,SAAS,KAAK,eAAe,IAAI,EAAE,GAAG,IAAI,CAEzC;IAGD,SAAS,KAAK,oBAAoB,IAAI,EAAE,GAAG,IAAI,CAE9C;IAGD,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,QAAQ,CAAU;IAGhD,SAAS,KAAK,aAAa,IAAI,KAAK,GAAG,IAAI,CAE1C;IAGD,SAAS,KAAK,YAAY,IAAI,EAAE,GAAG,IAAI,CAEtC;IAGD,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,QAAQ,CAAU;IAGzC,MAAM,IAAI,IAAI;IAMd,OAAO,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAiBhC,OAAO,IAAI,IAAI;IAMf,SAAS,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAc5C,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,qBAAqB;CAe9B"}
@@ -197,6 +197,7 @@ TngToggle = __decorate([
197
197
  Directive({
198
198
  selector: 'button[tngToggle]',
199
199
  exportAs: 'tngToggle',
200
+ standalone: true,
200
201
  })
201
202
  ], TngToggle);
202
203
  export { TngToggle };
@@ -1 +1 @@
1
- {"version":3,"file":"tng-toggle.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/form/toggle/tng-toggle.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n Directive,\n ElementRef,\n HostBinding,\n HostListener,\n OnInit,\n booleanAttribute,\n computed,\n inject,\n input,\n output,\n signal,\n} from '@angular/core';\nimport { TngToggleGroup } from '../toggle-group/tng-toggle-group';\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\nexport function coerceTngToggleNullableBoolean(value: NullableBooleanInput): boolean | null {\n if (value === undefined || value === null) {\n return null;\n }\n\n if (value === '' || value === true || value === 'true') {\n return true;\n }\n\n if (value === false || value === 'false') {\n return false;\n }\n\n return null;\n}\n\nexport function resolveTngToggleAriaPressed(pressed: boolean): 'false' | 'true' {\n return pressed ? 'true' : 'false';\n}\n\nexport function resolveTngToggleDataState(pressed: boolean): 'off' | 'on' {\n return pressed ? 'on' : 'off';\n}\n\n@Directive({\n selector: 'button[tngToggle]',\n exportAs: 'tngToggle',\n})\nexport class TngToggle implements OnInit {\n private readonly elementRef = inject<ElementRef<HTMLButtonElement>>(ElementRef);\n private readonly group = inject(TngToggleGroup, { optional: true });\n private readonly internalPressed = signal(false);\n private suppressNextClickFromKeyboard = false;\n private focused = false;\n private focusVisible = false;\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, { alias: 'tngToggleValue' });\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\n public readonly pressedChange = output<boolean>();\n\n private readonly resolvedDisabled = computed(() => {\n return this.disabled() || this.group?.isGroupDisabled() === true;\n });\n\n private readonly resolvedPressed = computed(() => {\n const groupItemValue = this.groupItemValue();\n if (groupItemValue !== null && this.group !== null) {\n return this.group.isItemSelected(groupItemValue);\n }\n\n const controlledPressed = this.pressed();\n if (controlledPressed !== null) {\n return controlledPressed;\n }\n\n return this.internalPressed();\n });\n\n public ngOnInit(): void {\n this.internalPressed.set(this.defaultPressed());\n }\n\n @HostBinding('attr.aria-describedby')\n protected get ariaDescribedByAttr(): string | null {\n return normalizeStringValue(this.ariaDescribedBy());\n }\n\n @HostBinding('attr.aria-disabled')\n protected get ariaDisabledAttr(): 'true' | null {\n return this.resolvedDisabled() ? 'true' : null;\n }\n\n @HostBinding('attr.aria-label')\n protected get ariaLabelAttr(): string | null {\n return normalizeStringValue(this.ariaLabel());\n }\n\n @HostBinding('attr.aria-labelledby')\n protected get ariaLabelledbyAttr(): string | null {\n return normalizeStringValue(this.ariaLabelledby());\n }\n\n @HostBinding('attr.aria-pressed')\n protected get ariaPressedAttr(): 'false' | 'true' {\n return resolveTngToggleAriaPressed(this.resolvedPressed());\n }\n\n @HostBinding('attr.data-disabled')\n protected get dataDisabledAttr(): '' | null {\n return this.resolvedDisabled() ? '' : null;\n }\n\n @HostBinding('attr.data-focused')\n protected get dataFocusedAttr(): '' | null {\n return this.focused ? '' : null;\n }\n\n @HostBinding('attr.data-focus-visible')\n protected get dataFocusVisibleAttr(): '' | null {\n return this.focusVisible ? '' : null;\n }\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'toggle' as const;\n\n @HostBinding('attr.data-state')\n protected get dataStateAttr(): 'off' | 'on' {\n return resolveTngToggleDataState(this.resolvedPressed());\n }\n\n @HostBinding('attr.disabled')\n protected get disabledAttr(): '' | null {\n return this.resolvedDisabled() ? '' : null;\n }\n\n @HostBinding('attr.type')\n protected readonly typeAttr = 'button' as const;\n\n @HostListener('blur')\n public onBlur(): void {\n this.focused = false;\n this.focusVisible = false;\n }\n\n @HostListener('click', ['$event'])\n public onClick(event: MouseEvent): void {\n if (this.resolvedDisabled()) {\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n\n if (this.suppressNextClickFromKeyboard && event.detail === 0) {\n this.suppressNextClickFromKeyboard = false;\n return;\n }\n\n this.suppressNextClickFromKeyboard = false;\n this.toggleFromInteraction();\n }\n\n @HostListener('focus')\n public onFocus(): void {\n this.focused = true;\n this.focusVisible = this.elementRef.nativeElement.matches(':focus-visible');\n }\n\n @HostListener('keydown', ['$event'])\n public onKeydown(event: KeyboardEvent): void {\n if (this.resolvedDisabled()) {\n return;\n }\n\n if (event.key !== ' ' && event.key !== 'Enter') {\n return;\n }\n\n event.preventDefault();\n this.suppressNextClickFromKeyboard = true;\n this.toggleFromInteraction();\n }\n\n private groupItemValue(): string | null {\n return normalizeStringValue(this.value());\n }\n\n private toggleFromInteraction(): void {\n const groupItemValue = this.groupItemValue();\n if (groupItemValue !== null && this.group !== null) {\n const nextValue = this.group.toggleItem(groupItemValue);\n this.pressedChange.emit(nextValue);\n return;\n }\n\n const nextValue = !this.resolvedPressed();\n if (this.pressed() === null) {\n this.internalPressed.set(nextValue);\n }\n\n this.pressedChange.emit(nextValue);\n }\n}\n"]}
1
+ {"version":3,"file":"tng-toggle.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/form/toggle/tng-toggle.ts"],"names":[],"mappings":";AAAA,OAAO,EACL,SAAS,EACT,UAAU,EACV,WAAW,EACX,YAAY,EAEZ,gBAAgB,EAChB,QAAQ,EACR,MAAM,EACN,KAAK,EACL,MAAM,EACN,MAAM,GACP,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAIlE,SAAS,oBAAoB,CAAC,KAAgC;IAC5D,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAChC,OAAO,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,KAA2B;IACxE,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;QACvD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;QACzC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,OAAgB;IAC1D,OAAO,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,OAAgB;IACxD,OAAO,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;AAChC,CAAC;AAOM,IAAM,SAAS,GAAf,MAAM,SAAS;IACH,UAAU,GAAG,MAAM,CAAgC,UAAU,CAAC,CAAC;IAC/D,KAAK,GAAG,MAAM,CAAC,cAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IACnD,eAAe,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACzC,6BAA6B,GAAG,KAAK,CAAC;IACtC,OAAO,GAAG,KAAK,CAAC;IAChB,YAAY,GAAG,KAAK,CAAC;IAEb,SAAS,GAAG,KAAK,CAAgB,IAAI,CAAC,CAAC;IACvC,cAAc,GAAG,KAAK,CAAgB,IAAI,CAAC,CAAC;IAC5C,eAAe,GAAG,KAAK,CAAgB,IAAI,CAAC,CAAC;IAC7C,KAAK,GAAG,KAAK,CAAgB,IAAI,EAAE,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAEhE,OAAO,GAAG,KAAK,CAAuC,IAAI,EAAE;QAC1E,SAAS,EAAE,8BAA8B;KAC1C,CAAC,CAAC;IACa,cAAc,GAAG,KAAK,CAA4B,KAAK,EAAE;QACvE,SAAS,EAAE,gBAAgB;KAC5B,CAAC,CAAC;IACa,QAAQ,GAAG,KAAK,CAA4B,KAAK,EAAE;QACjE,SAAS,EAAE,gBAAgB;KAC5B,CAAC,CAAC;IAEa,aAAa,GAAG,MAAM,EAAW,CAAC;IAEjC,gBAAgB,GAAG,QAAQ,CAAC,GAAG,EAAE;QAChD,OAAO,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,KAAK,EAAE,eAAe,EAAE,KAAK,IAAI,CAAC;IACnE,CAAC,CAAC,CAAC;IAEc,eAAe,GAAG,QAAQ,CAAC,GAAG,EAAE;QAC/C,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAC7C,IAAI,cAAc,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YACnD,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;QACnD,CAAC;QAED,MAAM,iBAAiB,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QACzC,IAAI,iBAAiB,KAAK,IAAI,EAAE,CAAC;YAC/B,OAAO,iBAAiB,CAAC;QAC3B,CAAC;QAED,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC;IAChC,CAAC,CAAC,CAAC;IAEI,QAAQ;QACb,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;IAClD,CAAC;IAGD,IAAc,mBAAmB;QAC/B,OAAO,oBAAoB,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;IACtD,CAAC;IAGD,IAAc,gBAAgB;QAC5B,OAAO,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;IACjD,CAAC;IAGD,IAAc,aAAa;QACzB,OAAO,oBAAoB,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;IAChD,CAAC;IAGD,IAAc,kBAAkB;QAC9B,OAAO,oBAAoB,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;IACrD,CAAC;IAGD,IAAc,eAAe;QAC3B,OAAO,2BAA2B,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;IAC7D,CAAC;IAGD,IAAc,gBAAgB;QAC5B,OAAO,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7C,CAAC;IAGD,IAAc,eAAe;QAC3B,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAClC,CAAC;IAGD,IAAc,oBAAoB;QAChC,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACvC,CAAC;IAGkB,QAAQ,GAAG,QAAiB,CAAC;IAGhD,IAAc,aAAa;QACzB,OAAO,yBAAyB,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;IAC3D,CAAC;IAGD,IAAc,YAAY;QACxB,OAAO,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7C,CAAC;IAGkB,QAAQ,GAAG,QAAiB,CAAC;IAGzC,MAAM;QACX,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;IAC5B,CAAC;IAGM,OAAO,CAAC,KAAiB;QAC9B,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;YAC5B,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,KAAK,CAAC,eAAe,EAAE,CAAC;YACxB,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,6BAA6B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7D,IAAI,CAAC,6BAA6B,GAAG,KAAK,CAAC;YAC3C,OAAO;QACT,CAAC;QAED,IAAI,CAAC,6BAA6B,GAAG,KAAK,CAAC;QAC3C,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAC/B,CAAC;IAGM,OAAO;QACZ,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC9E,CAAC;IAGM,SAAS,CAAC,KAAoB;QACnC,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;YAC5B,OAAO;QACT,CAAC;QAED,IAAI,KAAK,CAAC,GAAG,KAAK,GAAG,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,EAAE,CAAC;YAC/C,OAAO;QACT,CAAC;QAED,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,IAAI,CAAC,6BAA6B,GAAG,IAAI,CAAC;QAC1C,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAC/B,CAAC;IAEO,cAAc;QACpB,OAAO,oBAAoB,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IAC5C,CAAC;IAEO,qBAAqB;QAC3B,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAC7C,IAAI,cAAc,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YACnD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;YACxD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACnC,OAAO;QACT,CAAC;QAED,MAAM,SAAS,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;QAC1C,IAAI,IAAI,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC;YAC5B,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACtC,CAAC;QAED,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACrC,CAAC;CACF,CAAA;AAtHC;IADC,WAAW,CAAC,uBAAuB,CAAC;oDAGpC;AAGD;IADC,WAAW,CAAC,oBAAoB,CAAC;iDAGjC;AAGD;IADC,WAAW,CAAC,iBAAiB,CAAC;8CAG9B;AAGD;IADC,WAAW,CAAC,sBAAsB,CAAC;mDAGnC;AAGD;IADC,WAAW,CAAC,mBAAmB,CAAC;gDAGhC;AAGD;IADC,WAAW,CAAC,oBAAoB,CAAC;iDAGjC;AAGD;IADC,WAAW,CAAC,mBAAmB,CAAC;gDAGhC;AAGD;IADC,WAAW,CAAC,yBAAyB,CAAC;qDAGtC;AAGkB;IADlB,WAAW,CAAC,gBAAgB,CAAC;2CACkB;AAGhD;IADC,WAAW,CAAC,iBAAiB,CAAC;8CAG9B;AAGD;IADC,WAAW,CAAC,eAAe,CAAC;6CAG5B;AAGkB;IADlB,WAAW,CAAC,WAAW,CAAC;2CACuB;AAGzC;IADN,YAAY,CAAC,MAAM,CAAC;uCAIpB;AAGM;IADN,YAAY,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC;wCAejC;AAGM;IADN,YAAY,CAAC,OAAO,CAAC;wCAIrB;AAGM;IADN,YAAY,CAAC,SAAS,EAAE,CAAC,QAAQ,CAAC,CAAC;0CAanC;AAjJU,SAAS;IALrB,SAAS,CAAC;QACT,QAAQ,EAAE,mBAAmB;QAC7B,QAAQ,EAAE,WAAW;QACrB,UAAU,EAAE,IAAI;KACjB,CAAC;GACW,SAAS,CAsKrB","sourcesContent":["import {\n Directive,\n ElementRef,\n HostBinding,\n HostListener,\n OnInit,\n booleanAttribute,\n computed,\n inject,\n input,\n output,\n signal,\n} from '@angular/core';\nimport { TngToggleGroup } from '../toggle-group/tng-toggle-group';\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\nexport function coerceTngToggleNullableBoolean(value: NullableBooleanInput): boolean | null {\n if (value === undefined || value === null) {\n return null;\n }\n\n if (value === '' || value === true || value === 'true') {\n return true;\n }\n\n if (value === false || value === 'false') {\n return false;\n }\n\n return null;\n}\n\nexport function resolveTngToggleAriaPressed(pressed: boolean): 'false' | 'true' {\n return pressed ? 'true' : 'false';\n}\n\nexport function resolveTngToggleDataState(pressed: boolean): 'off' | 'on' {\n return pressed ? 'on' : 'off';\n}\n\n@Directive({\n selector: 'button[tngToggle]',\n exportAs: 'tngToggle',\n standalone: true,\n})\nexport class TngToggle implements OnInit {\n private readonly elementRef = inject<ElementRef<HTMLButtonElement>>(ElementRef);\n private readonly group = inject(TngToggleGroup, { optional: true });\n private readonly internalPressed = signal(false);\n private suppressNextClickFromKeyboard = false;\n private focused = false;\n private focusVisible = false;\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, { alias: 'tngToggleValue' });\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\n public readonly pressedChange = output<boolean>();\n\n private readonly resolvedDisabled = computed(() => {\n return this.disabled() || this.group?.isGroupDisabled() === true;\n });\n\n private readonly resolvedPressed = computed(() => {\n const groupItemValue = this.groupItemValue();\n if (groupItemValue !== null && this.group !== null) {\n return this.group.isItemSelected(groupItemValue);\n }\n\n const controlledPressed = this.pressed();\n if (controlledPressed !== null) {\n return controlledPressed;\n }\n\n return this.internalPressed();\n });\n\n public ngOnInit(): void {\n this.internalPressed.set(this.defaultPressed());\n }\n\n @HostBinding('attr.aria-describedby')\n protected get ariaDescribedByAttr(): string | null {\n return normalizeStringValue(this.ariaDescribedBy());\n }\n\n @HostBinding('attr.aria-disabled')\n protected get ariaDisabledAttr(): 'true' | null {\n return this.resolvedDisabled() ? 'true' : null;\n }\n\n @HostBinding('attr.aria-label')\n protected get ariaLabelAttr(): string | null {\n return normalizeStringValue(this.ariaLabel());\n }\n\n @HostBinding('attr.aria-labelledby')\n protected get ariaLabelledbyAttr(): string | null {\n return normalizeStringValue(this.ariaLabelledby());\n }\n\n @HostBinding('attr.aria-pressed')\n protected get ariaPressedAttr(): 'false' | 'true' {\n return resolveTngToggleAriaPressed(this.resolvedPressed());\n }\n\n @HostBinding('attr.data-disabled')\n protected get dataDisabledAttr(): '' | null {\n return this.resolvedDisabled() ? '' : null;\n }\n\n @HostBinding('attr.data-focused')\n protected get dataFocusedAttr(): '' | null {\n return this.focused ? '' : null;\n }\n\n @HostBinding('attr.data-focus-visible')\n protected get dataFocusVisibleAttr(): '' | null {\n return this.focusVisible ? '' : null;\n }\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'toggle' as const;\n\n @HostBinding('attr.data-state')\n protected get dataStateAttr(): 'off' | 'on' {\n return resolveTngToggleDataState(this.resolvedPressed());\n }\n\n @HostBinding('attr.disabled')\n protected get disabledAttr(): '' | null {\n return this.resolvedDisabled() ? '' : null;\n }\n\n @HostBinding('attr.type')\n protected readonly typeAttr = 'button' as const;\n\n @HostListener('blur')\n public onBlur(): void {\n this.focused = false;\n this.focusVisible = false;\n }\n\n @HostListener('click', ['$event'])\n public onClick(event: MouseEvent): void {\n if (this.resolvedDisabled()) {\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n\n if (this.suppressNextClickFromKeyboard && event.detail === 0) {\n this.suppressNextClickFromKeyboard = false;\n return;\n }\n\n this.suppressNextClickFromKeyboard = false;\n this.toggleFromInteraction();\n }\n\n @HostListener('focus')\n public onFocus(): void {\n this.focused = true;\n this.focusVisible = this.elementRef.nativeElement.matches(':focus-visible');\n }\n\n @HostListener('keydown', ['$event'])\n public onKeydown(event: KeyboardEvent): void {\n if (this.resolvedDisabled()) {\n return;\n }\n\n if (event.key !== ' ' && event.key !== 'Enter') {\n return;\n }\n\n event.preventDefault();\n this.suppressNextClickFromKeyboard = true;\n this.toggleFromInteraction();\n }\n\n private groupItemValue(): string | null {\n return normalizeStringValue(this.value());\n }\n\n private toggleFromInteraction(): void {\n const groupItemValue = this.groupItemValue();\n if (groupItemValue !== null && this.group !== null) {\n const nextValue = this.group.toggleItem(groupItemValue);\n this.pressedChange.emit(nextValue);\n return;\n }\n\n const nextValue = !this.resolvedPressed();\n if (this.pressed() === null) {\n this.internalPressed.set(nextValue);\n }\n\n this.pressedChange.emit(nextValue);\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"tng-toggle-group.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/form/toggle-group/tng-toggle-group.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,MAAM,EAKP,MAAM,eAAe,CAAC;AAEvB,KAAK,2BAA2B,GAAG,UAAU,GAAG,QAAQ,CAAC;AAiCzD,qBAIa,cAAe,YAAW,MAAM;IAC3C,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAA+B;IACnE,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAiC;IAExE,SAAgB,SAAS,qDAA8B;IACvD,SAAgB,cAAc,qDAA8B;IAC5D,SAAgB,WAAW,iEAAkD;IAC7E,SAAgB,aAAa,yFAE1B;IACH,SAAgB,QAAQ,8EAErB;IACH,SAAgB,KAAK,iEAA+C;IACpE,SAAgB,MAAM,qEAAmD;IACzE,SAAgB,YAAY,qDAA8B;IAC1D,SAAgB,aAAa,yDAAgC;IAE7D,SAAgB,WAAW,0DAA2B;IACtD,SAAgB,YAAY,8DAA+B;IAEpD,QAAQ,IAAI,IAAI;IAKhB,eAAe,IAAI,OAAO;IAI1B,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAQ1C,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAqC7C,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,oBAAoB;IAI5B,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,CAAC,qBAAqB;IAS7B,SAAS,KAAK,aAAa,IAAI,MAAM,GAAG,IAAI,CAE3C;IAGD,SAAS,KAAK,kBAAkB,IAAI,MAAM,GAAG,IAAI,CAEhD;IAGD,SAAS,KAAK,gBAAgB,IAAI,MAAM,GAAG,IAAI,CAE9C;IAGD,SAAS,KAAK,gBAAgB,IAAI,EAAE,GAAG,IAAI,CAE1C;IAGD,SAAS,KAAK,mBAAmB,IAAI,YAAY,GAAG,UAAU,CAE7D;IAGD,SAAS,KAAK,qBAAqB,IAAI,2BAA2B,CAEjE;IAGD,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,cAAc,CAAU;IAGtD,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,OAAO,CAAU;CAChD"}
1
+ {"version":3,"file":"tng-toggle-group.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/form/toggle-group/tng-toggle-group.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,MAAM,EAKP,MAAM,eAAe,CAAC;AAEvB,KAAK,2BAA2B,GAAG,UAAU,GAAG,QAAQ,CAAC;AAiCzD,qBAKa,cAAe,YAAW,MAAM;IAC3C,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAA+B;IACnE,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAiC;IAExE,SAAgB,SAAS,qDAA8B;IACvD,SAAgB,cAAc,qDAA8B;IAC5D,SAAgB,WAAW,iEAAkD;IAC7E,SAAgB,aAAa,yFAE1B;IACH,SAAgB,QAAQ,8EAErB;IACH,SAAgB,KAAK,iEAA+C;IACpE,SAAgB,MAAM,qEAAmD;IACzE,SAAgB,YAAY,qDAA8B;IAC1D,SAAgB,aAAa,yDAAgC;IAE7D,SAAgB,WAAW,0DAA2B;IACtD,SAAgB,YAAY,8DAA+B;IAEpD,QAAQ,IAAI,IAAI;IAKhB,eAAe,IAAI,OAAO;IAI1B,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAQ1C,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAqC7C,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,oBAAoB;IAI5B,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,CAAC,qBAAqB;IAS7B,SAAS,KAAK,aAAa,IAAI,MAAM,GAAG,IAAI,CAE3C;IAGD,SAAS,KAAK,kBAAkB,IAAI,MAAM,GAAG,IAAI,CAEhD;IAGD,SAAS,KAAK,gBAAgB,IAAI,MAAM,GAAG,IAAI,CAE9C;IAGD,SAAS,KAAK,gBAAgB,IAAI,EAAE,GAAG,IAAI,CAE1C;IAGD,SAAS,KAAK,mBAAmB,IAAI,YAAY,GAAG,UAAU,CAE7D;IAGD,SAAS,KAAK,qBAAqB,IAAI,2BAA2B,CAEjE;IAGD,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,cAAc,CAAU;IAGtD,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,OAAO,CAAU;CAChD"}
@@ -150,6 +150,7 @@ TngToggleGroup = __decorate([
150
150
  Directive({
151
151
  selector: '[tngToggleGroup]',
152
152
  exportAs: 'tngToggleGroup',
153
+ standalone: true,
153
154
  })
154
155
  ], TngToggleGroup);
155
156
  export { TngToggleGroup };
@@ -1 +1 @@
1
- {"version":3,"file":"tng-toggle-group.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/form/toggle-group/tng-toggle-group.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n Directive,\n HostBinding,\n OnInit,\n booleanAttribute,\n input,\n output,\n signal,\n} from '@angular/core';\n\ntype TngToggleGroupSelectionMode = 'multiple' | 'single';\n\nfunction coerceSelectionMode(value: unknown): TngToggleGroupSelectionMode {\n return value === 'single' ? 'single' : 'multiple';\n}\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\nfunction normalizeStringArray(value: readonly string[] | null | undefined): readonly string[] {\n if (!Array.isArray(value) || value.length === 0) {\n return [];\n }\n\n const normalized: string[] = [];\n for (const item of value) {\n const normalizedItem = normalizeStringValue(item);\n if (normalizedItem === null || normalized.includes(normalizedItem)) {\n continue;\n }\n\n normalized.push(normalizedItem);\n }\n\n return normalized;\n}\n\n@Directive({\n selector: '[tngToggleGroup]',\n exportAs: 'tngToggleGroup',\n})\nexport class TngToggleGroup implements OnInit {\n private readonly internalSingleValue = signal<string | null>(null);\n private readonly internalMultipleValues = signal<readonly string[]>([]);\n\n public readonly ariaLabel = input<string | null>(null);\n public readonly ariaLabelledby = input<string | null>(null);\n public readonly orientation = input<'horizontal' | 'vertical'>('horizontal');\n public readonly selectionMode = input<TngToggleGroupSelectionMode, unknown>('multiple', {\n transform: coerceSelectionMode,\n });\n public readonly disabled = input<boolean, boolean | string>(false, {\n transform: booleanAttribute,\n });\n public readonly value = input<string | null | undefined>(undefined);\n public readonly values = input<readonly string[] | undefined>(undefined);\n public readonly defaultValue = input<string | null>(null);\n public readonly defaultValues = input<readonly string[]>([]);\n\n public readonly valueChange = output<string | null>();\n public readonly valuesChange = output<readonly string[]>();\n\n public ngOnInit(): void {\n this.internalSingleValue.set(normalizeStringValue(this.defaultValue()));\n this.internalMultipleValues.set(normalizeStringArray(this.defaultValues()));\n }\n\n public isGroupDisabled(): boolean {\n return this.disabled();\n }\n\n public isItemSelected(itemValue: string): boolean {\n if (this.selectionMode() === 'single') {\n return this.resolveSingleValue() === itemValue;\n }\n\n return this.resolveMultipleValues().includes(itemValue);\n }\n\n public toggleItem(itemValue: string): boolean {\n if (this.disabled()) {\n return this.isItemSelected(itemValue);\n }\n\n if (this.selectionMode() === 'single') {\n const currentValue = this.resolveSingleValue();\n const nextValue = currentValue === itemValue ? null : itemValue;\n\n if (!this.isSingleControlled()) {\n this.internalSingleValue.set(nextValue);\n }\n\n if (nextValue !== currentValue) {\n this.valueChange.emit(nextValue);\n }\n\n return nextValue === itemValue;\n }\n\n const currentValues = this.resolveMultipleValues();\n const isSelected = currentValues.includes(itemValue);\n const nextValues = isSelected\n ? currentValues.filter((value) => value !== itemValue)\n : [...currentValues, itemValue];\n\n if (!this.isMultipleControlled()) {\n this.internalMultipleValues.set(nextValues);\n }\n\n if (nextValues.length !== currentValues.length || !isSelected) {\n this.valuesChange.emit(nextValues);\n }\n\n return !isSelected;\n }\n\n private isSingleControlled(): boolean {\n return this.value() !== undefined;\n }\n\n private isMultipleControlled(): boolean {\n return this.values() !== undefined;\n }\n\n private resolveSingleValue(): string | null {\n if (this.isSingleControlled()) {\n return normalizeStringValue(this.value() ?? null);\n }\n\n return this.internalSingleValue();\n }\n\n private resolveMultipleValues(): readonly string[] {\n if (this.isMultipleControlled()) {\n return normalizeStringArray(this.values());\n }\n\n return this.internalMultipleValues();\n }\n\n @HostBinding('attr.aria-label')\n protected get ariaLabelAttr(): string | null {\n return normalizeStringValue(this.ariaLabel());\n }\n\n @HostBinding('attr.aria-labelledby')\n protected get ariaLabelledbyAttr(): string | null {\n return normalizeStringValue(this.ariaLabelledby());\n }\n\n @HostBinding('attr.aria-disabled')\n protected get ariaDisabledAttr(): 'true' | null {\n return this.disabled() ? 'true' : null;\n }\n\n @HostBinding('attr.data-disabled')\n protected get dataDisabledAttr(): '' | null {\n return this.disabled() ? '' : null;\n }\n\n @HostBinding('attr.data-orientation')\n protected get dataOrientationAttr(): 'horizontal' | 'vertical' {\n return this.orientation();\n }\n\n @HostBinding('attr.data-selection-mode')\n protected get dataSelectionModeAttr(): TngToggleGroupSelectionMode {\n return this.selectionMode();\n }\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'toggle-group' as const;\n\n @HostBinding('attr.role')\n protected readonly roleAttr = 'group' as const;\n}\n"]}
1
+ {"version":3,"file":"tng-toggle-group.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/form/toggle-group/tng-toggle-group.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n Directive,\n HostBinding,\n OnInit,\n booleanAttribute,\n input,\n output,\n signal,\n} from '@angular/core';\n\ntype TngToggleGroupSelectionMode = 'multiple' | 'single';\n\nfunction coerceSelectionMode(value: unknown): TngToggleGroupSelectionMode {\n return value === 'single' ? 'single' : 'multiple';\n}\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\nfunction normalizeStringArray(value: readonly string[] | null | undefined): readonly string[] {\n if (!Array.isArray(value) || value.length === 0) {\n return [];\n }\n\n const normalized: string[] = [];\n for (const item of value) {\n const normalizedItem = normalizeStringValue(item);\n if (normalizedItem === null || normalized.includes(normalizedItem)) {\n continue;\n }\n\n normalized.push(normalizedItem);\n }\n\n return normalized;\n}\n\n@Directive({\n selector: '[tngToggleGroup]',\n exportAs: 'tngToggleGroup',\n standalone: true,\n})\nexport class TngToggleGroup implements OnInit {\n private readonly internalSingleValue = signal<string | null>(null);\n private readonly internalMultipleValues = signal<readonly string[]>([]);\n\n public readonly ariaLabel = input<string | null>(null);\n public readonly ariaLabelledby = input<string | null>(null);\n public readonly orientation = input<'horizontal' | 'vertical'>('horizontal');\n public readonly selectionMode = input<TngToggleGroupSelectionMode, unknown>('multiple', {\n transform: coerceSelectionMode,\n });\n public readonly disabled = input<boolean, boolean | string>(false, {\n transform: booleanAttribute,\n });\n public readonly value = input<string | null | undefined>(undefined);\n public readonly values = input<readonly string[] | undefined>(undefined);\n public readonly defaultValue = input<string | null>(null);\n public readonly defaultValues = input<readonly string[]>([]);\n\n public readonly valueChange = output<string | null>();\n public readonly valuesChange = output<readonly string[]>();\n\n public ngOnInit(): void {\n this.internalSingleValue.set(normalizeStringValue(this.defaultValue()));\n this.internalMultipleValues.set(normalizeStringArray(this.defaultValues()));\n }\n\n public isGroupDisabled(): boolean {\n return this.disabled();\n }\n\n public isItemSelected(itemValue: string): boolean {\n if (this.selectionMode() === 'single') {\n return this.resolveSingleValue() === itemValue;\n }\n\n return this.resolveMultipleValues().includes(itemValue);\n }\n\n public toggleItem(itemValue: string): boolean {\n if (this.disabled()) {\n return this.isItemSelected(itemValue);\n }\n\n if (this.selectionMode() === 'single') {\n const currentValue = this.resolveSingleValue();\n const nextValue = currentValue === itemValue ? null : itemValue;\n\n if (!this.isSingleControlled()) {\n this.internalSingleValue.set(nextValue);\n }\n\n if (nextValue !== currentValue) {\n this.valueChange.emit(nextValue);\n }\n\n return nextValue === itemValue;\n }\n\n const currentValues = this.resolveMultipleValues();\n const isSelected = currentValues.includes(itemValue);\n const nextValues = isSelected\n ? currentValues.filter((value) => value !== itemValue)\n : [...currentValues, itemValue];\n\n if (!this.isMultipleControlled()) {\n this.internalMultipleValues.set(nextValues);\n }\n\n if (nextValues.length !== currentValues.length || !isSelected) {\n this.valuesChange.emit(nextValues);\n }\n\n return !isSelected;\n }\n\n private isSingleControlled(): boolean {\n return this.value() !== undefined;\n }\n\n private isMultipleControlled(): boolean {\n return this.values() !== undefined;\n }\n\n private resolveSingleValue(): string | null {\n if (this.isSingleControlled()) {\n return normalizeStringValue(this.value() ?? null);\n }\n\n return this.internalSingleValue();\n }\n\n private resolveMultipleValues(): readonly string[] {\n if (this.isMultipleControlled()) {\n return normalizeStringArray(this.values());\n }\n\n return this.internalMultipleValues();\n }\n\n @HostBinding('attr.aria-label')\n protected get ariaLabelAttr(): string | null {\n return normalizeStringValue(this.ariaLabel());\n }\n\n @HostBinding('attr.aria-labelledby')\n protected get ariaLabelledbyAttr(): string | null {\n return normalizeStringValue(this.ariaLabelledby());\n }\n\n @HostBinding('attr.aria-disabled')\n protected get ariaDisabledAttr(): 'true' | null {\n return this.disabled() ? 'true' : null;\n }\n\n @HostBinding('attr.data-disabled')\n protected get dataDisabledAttr(): '' | null {\n return this.disabled() ? '' : null;\n }\n\n @HostBinding('attr.data-orientation')\n protected get dataOrientationAttr(): 'horizontal' | 'vertical' {\n return this.orientation();\n }\n\n @HostBinding('attr.data-selection-mode')\n protected get dataSelectionModeAttr(): TngToggleGroupSelectionMode {\n return this.selectionMode();\n }\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'toggle-group' as const;\n\n @HostBinding('attr.role')\n protected readonly roleAttr = 'group' as const;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"tng-bottom-sheet.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/layout/bottom-sheet/tng-bottom-sheet.ts"],"names":[],"mappings":"AAEA,qBAIa,cAAc;IAEzB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,cAAc,CAAU;CACvD"}
1
+ {"version":3,"file":"tng-bottom-sheet.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/layout/bottom-sheet/tng-bottom-sheet.ts"],"names":[],"mappings":"AAEA,qBAKa,cAAc;IAEzB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,cAAc,CAAU;CACvD"}
@@ -10,6 +10,7 @@ TngBottomSheet = __decorate([
10
10
  Directive({
11
11
  selector: '[tngBottomSheet]',
12
12
  exportAs: 'tngBottomSheet',
13
+ standalone: true,
13
14
  })
14
15
  ], TngBottomSheet);
15
16
  export { TngBottomSheet };
@@ -1 +1 @@
1
- {"version":3,"file":"tng-bottom-sheet.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/layout/bottom-sheet/tng-bottom-sheet.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAMhD,IAAM,cAAc,GAApB,MAAM,cAAc;IAEN,QAAQ,GAAG,cAAuB,CAAC;CACvD,CAAA;AADoB;IADlB,WAAW,CAAC,gBAAgB,CAAC;gDACwB;AAF3C,cAAc;IAJ1B,SAAS,CAAC;QACT,QAAQ,EAAE,kBAAkB;QAC5B,QAAQ,EAAE,gBAAgB;KAC3B,CAAC;GACW,cAAc,CAG1B","sourcesContent":["import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[tngBottomSheet]',\n exportAs: 'tngBottomSheet',\n})\nexport class TngBottomSheet {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'bottom-sheet' as const;\n}\n"]}
1
+ {"version":3,"file":"tng-bottom-sheet.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/layout/bottom-sheet/tng-bottom-sheet.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAOhD,IAAM,cAAc,GAApB,MAAM,cAAc;IAEN,QAAQ,GAAG,cAAuB,CAAC;CACvD,CAAA;AADoB;IADlB,WAAW,CAAC,gBAAgB,CAAC;gDACwB;AAF3C,cAAc;IAL1B,SAAS,CAAC;QACT,QAAQ,EAAE,kBAAkB;QAC5B,QAAQ,EAAE,gBAAgB;QAC1B,UAAU,EAAE,IAAI;KACjB,CAAC;GACW,cAAc,CAG1B","sourcesContent":["import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[tngBottomSheet]',\n exportAs: 'tngBottomSheet',\n standalone: true,\n})\nexport class TngBottomSheet {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'bottom-sheet' as const;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"tng-card.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/layout/card/tng-card.ts"],"names":[],"mappings":"AAEA,qBAIa,OAAO;IAElB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,MAAM,CAAU;CAC/C;AAED,qBAIa,aAAa;IAExB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,aAAa,CAAU;CACtD;AAED,qBAIa,YAAY;IAEvB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,YAAY,CAAU;CACrD;AAED,qBAIa,kBAAkB;IAE7B,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,kBAAkB,CAAU;CAC3D;AAED,qBAIa,cAAc;IAEzB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,cAAc,CAAU;CACvD;AAED,qBAIa,aAAa;IAExB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,aAAa,CAAU;CACtD;AAED,qBAIa,YAAY;IAEvB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,YAAY,CAAU;CACrD;AAED,qBAIa,cAAc;IAEzB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,cAAc,CAAU;CACvD;AAED,qBAIa,cAAc;IAEzB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,cAAc,CAAU;CACvD;AAED,qBAIa,WAAW;IAEtB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,WAAW,CAAU;CACpD"}
1
+ {"version":3,"file":"tng-card.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/layout/card/tng-card.ts"],"names":[],"mappings":"AAEA,qBAKa,OAAO;IAElB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,MAAM,CAAU;CAC/C;AAED,qBAKa,aAAa;IAExB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,aAAa,CAAU;CACtD;AAED,qBAKa,YAAY;IAEvB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,YAAY,CAAU;CACrD;AAED,qBAKa,kBAAkB;IAE7B,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,kBAAkB,CAAU;CAC3D;AAED,qBAKa,cAAc;IAEzB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,cAAc,CAAU;CACvD;AAED,qBAKa,aAAa;IAExB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,aAAa,CAAU;CACtD;AAED,qBAKa,YAAY;IAEvB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,YAAY,CAAU;CACrD;AAED,qBAKa,cAAc;IAEzB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,cAAc,CAAU;CACvD;AAED,qBAKa,cAAc;IAEzB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,cAAc,CAAU;CACvD;AAED,qBAKa,WAAW;IAEtB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,WAAW,CAAU;CACpD"}
@@ -10,6 +10,7 @@ TngCard = __decorate([
10
10
  Directive({
11
11
  selector: '[tngCard]',
12
12
  exportAs: 'tngCard',
13
+ standalone: true,
13
14
  })
14
15
  ], TngCard);
15
16
  export { TngCard };
@@ -23,6 +24,7 @@ TngCardHeader = __decorate([
23
24
  Directive({
24
25
  selector: '[tngCardHeader]',
25
26
  exportAs: 'tngCardHeader',
27
+ standalone: true,
26
28
  })
27
29
  ], TngCardHeader);
28
30
  export { TngCardHeader };
@@ -36,6 +38,7 @@ TngCardTitle = __decorate([
36
38
  Directive({
37
39
  selector: '[tngCardTitle]',
38
40
  exportAs: 'tngCardTitle',
41
+ standalone: true,
39
42
  })
40
43
  ], TngCardTitle);
41
44
  export { TngCardTitle };
@@ -49,6 +52,7 @@ TngCardDescription = __decorate([
49
52
  Directive({
50
53
  selector: '[tngCardDescription]',
51
54
  exportAs: 'tngCardDescription',
55
+ standalone: true,
52
56
  })
53
57
  ], TngCardDescription);
54
58
  export { TngCardDescription };
@@ -62,6 +66,7 @@ TngCardContent = __decorate([
62
66
  Directive({
63
67
  selector: '[tngCardContent]',
64
68
  exportAs: 'tngCardContent',
69
+ standalone: true,
65
70
  })
66
71
  ], TngCardContent);
67
72
  export { TngCardContent };
@@ -75,6 +80,7 @@ TngCardFooter = __decorate([
75
80
  Directive({
76
81
  selector: '[tngCardFooter]',
77
82
  exportAs: 'tngCardFooter',
83
+ standalone: true,
78
84
  })
79
85
  ], TngCardFooter);
80
86
  export { TngCardFooter };
@@ -88,6 +94,7 @@ TngCardMedia = __decorate([
88
94
  Directive({
89
95
  selector: '[tngCardMedia]',
90
96
  exportAs: 'tngCardMedia',
97
+ standalone: true,
91
98
  })
92
99
  ], TngCardMedia);
93
100
  export { TngCardMedia };
@@ -101,6 +108,7 @@ TngCardActions = __decorate([
101
108
  Directive({
102
109
  selector: '[tngCardActions]',
103
110
  exportAs: 'tngCardActions',
111
+ standalone: true,
104
112
  })
105
113
  ], TngCardActions);
106
114
  export { TngCardActions };
@@ -114,6 +122,7 @@ TngCardDivider = __decorate([
114
122
  Directive({
115
123
  selector: '[tngCardDivider]',
116
124
  exportAs: 'tngCardDivider',
125
+ standalone: true,
117
126
  })
118
127
  ], TngCardDivider);
119
128
  export { TngCardDivider };
@@ -127,6 +136,7 @@ TngCardLink = __decorate([
127
136
  Directive({
128
137
  selector: '[tngCardLink]',
129
138
  exportAs: 'tngCardLink',
139
+ standalone: true,
130
140
  })
131
141
  ], TngCardLink);
132
142
  export { TngCardLink };
@@ -1 +1 @@
1
- {"version":3,"file":"tng-card.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/layout/card/tng-card.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAMhD,IAAM,OAAO,GAAb,MAAM,OAAO;IAEC,QAAQ,GAAG,MAAe,CAAC;CAC/C,CAAA;AADoB;IADlB,WAAW,CAAC,gBAAgB,CAAC;yCACgB;AAFnC,OAAO;IAJnB,SAAS,CAAC;QACT,QAAQ,EAAE,WAAW;QACrB,QAAQ,EAAE,SAAS;KACpB,CAAC;GACW,OAAO,CAGnB;;AAMM,IAAM,aAAa,GAAnB,MAAM,aAAa;IAEL,QAAQ,GAAG,aAAsB,CAAC;CACtD,CAAA;AADoB;IADlB,WAAW,CAAC,gBAAgB,CAAC;+CACuB;AAF1C,aAAa;IAJzB,SAAS,CAAC;QACT,QAAQ,EAAE,iBAAiB;QAC3B,QAAQ,EAAE,eAAe;KAC1B,CAAC;GACW,aAAa,CAGzB;;AAMM,IAAM,YAAY,GAAlB,MAAM,YAAY;IAEJ,QAAQ,GAAG,YAAqB,CAAC;CACrD,CAAA;AADoB;IADlB,WAAW,CAAC,gBAAgB,CAAC;8CACsB;AAFzC,YAAY;IAJxB,SAAS,CAAC;QACT,QAAQ,EAAE,gBAAgB;QAC1B,QAAQ,EAAE,cAAc;KACzB,CAAC;GACW,YAAY,CAGxB;;AAMM,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IAEV,QAAQ,GAAG,kBAA2B,CAAC;CAC3D,CAAA;AADoB;IADlB,WAAW,CAAC,gBAAgB,CAAC;oDAC4B;AAF/C,kBAAkB;IAJ9B,SAAS,CAAC;QACT,QAAQ,EAAE,sBAAsB;QAChC,QAAQ,EAAE,oBAAoB;KAC/B,CAAC;GACW,kBAAkB,CAG9B;;AAMM,IAAM,cAAc,GAApB,MAAM,cAAc;IAEN,QAAQ,GAAG,cAAuB,CAAC;CACvD,CAAA;AADoB;IADlB,WAAW,CAAC,gBAAgB,CAAC;gDACwB;AAF3C,cAAc;IAJ1B,SAAS,CAAC;QACT,QAAQ,EAAE,kBAAkB;QAC5B,QAAQ,EAAE,gBAAgB;KAC3B,CAAC;GACW,cAAc,CAG1B;;AAMM,IAAM,aAAa,GAAnB,MAAM,aAAa;IAEL,QAAQ,GAAG,aAAsB,CAAC;CACtD,CAAA;AADoB;IADlB,WAAW,CAAC,gBAAgB,CAAC;+CACuB;AAF1C,aAAa;IAJzB,SAAS,CAAC;QACT,QAAQ,EAAE,iBAAiB;QAC3B,QAAQ,EAAE,eAAe;KAC1B,CAAC;GACW,aAAa,CAGzB;;AAMM,IAAM,YAAY,GAAlB,MAAM,YAAY;IAEJ,QAAQ,GAAG,YAAqB,CAAC;CACrD,CAAA;AADoB;IADlB,WAAW,CAAC,gBAAgB,CAAC;8CACsB;AAFzC,YAAY;IAJxB,SAAS,CAAC;QACT,QAAQ,EAAE,gBAAgB;QAC1B,QAAQ,EAAE,cAAc;KACzB,CAAC;GACW,YAAY,CAGxB;;AAMM,IAAM,cAAc,GAApB,MAAM,cAAc;IAEN,QAAQ,GAAG,cAAuB,CAAC;CACvD,CAAA;AADoB;IADlB,WAAW,CAAC,gBAAgB,CAAC;gDACwB;AAF3C,cAAc;IAJ1B,SAAS,CAAC;QACT,QAAQ,EAAE,kBAAkB;QAC5B,QAAQ,EAAE,gBAAgB;KAC3B,CAAC;GACW,cAAc,CAG1B;;AAMM,IAAM,cAAc,GAApB,MAAM,cAAc;IAEN,QAAQ,GAAG,cAAuB,CAAC;CACvD,CAAA;AADoB;IADlB,WAAW,CAAC,gBAAgB,CAAC;gDACwB;AAF3C,cAAc;IAJ1B,SAAS,CAAC;QACT,QAAQ,EAAE,kBAAkB;QAC5B,QAAQ,EAAE,gBAAgB;KAC3B,CAAC;GACW,cAAc,CAG1B;;AAMM,IAAM,WAAW,GAAjB,MAAM,WAAW;IAEH,QAAQ,GAAG,WAAoB,CAAC;CACpD,CAAA;AADoB;IADlB,WAAW,CAAC,gBAAgB,CAAC;6CACqB;AAFxC,WAAW;IAJvB,SAAS,CAAC;QACT,QAAQ,EAAE,eAAe;QACzB,QAAQ,EAAE,aAAa;KACxB,CAAC;GACW,WAAW,CAGvB","sourcesContent":["import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[tngCard]',\n exportAs: 'tngCard',\n})\nexport class TngCard {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'card' as const;\n}\n\n@Directive({\n selector: '[tngCardHeader]',\n exportAs: 'tngCardHeader',\n})\nexport class TngCardHeader {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'card-header' as const;\n}\n\n@Directive({\n selector: '[tngCardTitle]',\n exportAs: 'tngCardTitle',\n})\nexport class TngCardTitle {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'card-title' as const;\n}\n\n@Directive({\n selector: '[tngCardDescription]',\n exportAs: 'tngCardDescription',\n})\nexport class TngCardDescription {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'card-description' as const;\n}\n\n@Directive({\n selector: '[tngCardContent]',\n exportAs: 'tngCardContent',\n})\nexport class TngCardContent {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'card-content' as const;\n}\n\n@Directive({\n selector: '[tngCardFooter]',\n exportAs: 'tngCardFooter',\n})\nexport class TngCardFooter {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'card-footer' as const;\n}\n\n@Directive({\n selector: '[tngCardMedia]',\n exportAs: 'tngCardMedia',\n})\nexport class TngCardMedia {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'card-media' as const;\n}\n\n@Directive({\n selector: '[tngCardActions]',\n exportAs: 'tngCardActions',\n})\nexport class TngCardActions {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'card-actions' as const;\n}\n\n@Directive({\n selector: '[tngCardDivider]',\n exportAs: 'tngCardDivider',\n})\nexport class TngCardDivider {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'card-divider' as const;\n}\n\n@Directive({\n selector: '[tngCardLink]',\n exportAs: 'tngCardLink',\n})\nexport class TngCardLink {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'card-link' as const;\n}\n"]}
1
+ {"version":3,"file":"tng-card.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/layout/card/tng-card.ts"],"names":[],"mappings":"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","sourcesContent":["import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[tngCard]',\n exportAs: 'tngCard',\n standalone: true,\n})\nexport class TngCard {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'card' as const;\n}\n\n@Directive({\n selector: '[tngCardHeader]',\n exportAs: 'tngCardHeader',\n standalone: true,\n})\nexport class TngCardHeader {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'card-header' as const;\n}\n\n@Directive({\n selector: '[tngCardTitle]',\n exportAs: 'tngCardTitle',\n standalone: true,\n})\nexport class TngCardTitle {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'card-title' as const;\n}\n\n@Directive({\n selector: '[tngCardDescription]',\n exportAs: 'tngCardDescription',\n standalone: true,\n})\nexport class TngCardDescription {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'card-description' as const;\n}\n\n@Directive({\n selector: '[tngCardContent]',\n exportAs: 'tngCardContent',\n standalone: true,\n})\nexport class TngCardContent {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'card-content' as const;\n}\n\n@Directive({\n selector: '[tngCardFooter]',\n exportAs: 'tngCardFooter',\n standalone: true,\n})\nexport class TngCardFooter {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'card-footer' as const;\n}\n\n@Directive({\n selector: '[tngCardMedia]',\n exportAs: 'tngCardMedia',\n standalone: true,\n})\nexport class TngCardMedia {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'card-media' as const;\n}\n\n@Directive({\n selector: '[tngCardActions]',\n exportAs: 'tngCardActions',\n standalone: true,\n})\nexport class TngCardActions {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'card-actions' as const;\n}\n\n@Directive({\n selector: '[tngCardDivider]',\n exportAs: 'tngCardDivider',\n standalone: true,\n})\nexport class TngCardDivider {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'card-divider' as const;\n}\n\n@Directive({\n selector: '[tngCardLink]',\n exportAs: 'tngCardLink',\n standalone: true,\n})\nexport class TngCardLink {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'card-link' as const;\n}\n"]}