@egose/shadcn-theme-ng-tw 0.0.28 → 0.2.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 (244) hide show
  1. package/README.md +130 -13
  2. package/accordion/README.md +376 -34
  3. package/accordion/fesm2022/accordion.mjs +20 -20
  4. package/alert/README.md +343 -34
  5. package/alert/fesm2022/alert.mjs +18 -18
  6. package/alert-dialog/README.md +471 -5
  7. package/alert-dialog/fesm2022/alert-dialog.mjs +48 -48
  8. package/alert-dialog/types/alert-dialog.d.ts +1 -1
  9. package/aspect-ratio/README.md +272 -5
  10. package/aspect-ratio/fesm2022/aspect-ratio.mjs +9 -9
  11. package/autocomplete/README.md +473 -34
  12. package/autocomplete/fesm2022/autocomplete.mjs +54 -54
  13. package/autocomplete/types/autocomplete.d.ts +1 -1
  14. package/avatar/README.md +357 -5
  15. package/avatar/fesm2022/avatar.mjs +32 -32
  16. package/badge/README.md +289 -34
  17. package/badge/fesm2022/badge.mjs +4 -4
  18. package/basic-alert/README.md +324 -34
  19. package/basic-alert/fesm2022/basic-alert.mjs +4 -4
  20. package/basic-alert/types/basic-alert.d.ts +1 -1
  21. package/breadcrumb/README.md +406 -5
  22. package/breadcrumb/fesm2022/breadcrumb.mjs +34 -34
  23. package/button/README.md +453 -34
  24. package/button/fesm2022/button.mjs +96 -118
  25. package/button/types/button.d.ts +7 -10
  26. package/button-group/README.md +318 -5
  27. package/button-group/fesm2022/button-group.mjs +20 -20
  28. package/calendar/README.md +328 -34
  29. package/calendar/fesm2022/calendar.mjs +154 -154
  30. package/card/README.md +331 -5
  31. package/card/fesm2022/card.mjs +33 -33
  32. package/carousel/README.md +333 -5
  33. package/carousel/fesm2022/carousel.mjs +47 -44
  34. package/carousel/types/carousel.d.ts +1 -1
  35. package/checkbox/README.md +291 -34
  36. package/checkbox/fesm2022/checkbox.mjs +22 -20
  37. package/checkbox/types/checkbox.d.ts +5 -4
  38. package/collapsible/README.md +332 -5
  39. package/collapsible/fesm2022/collapsible.mjs +15 -15
  40. package/combobox/README.md +507 -5
  41. package/combobox/fesm2022/combobox.mjs +95 -92
  42. package/combobox/types/combobox.d.ts +1 -1
  43. package/command/README.md +435 -5
  44. package/command/fesm2022/command.mjs +56 -56
  45. package/confirmation-dialog/README.md +272 -34
  46. package/confirmation-dialog/fesm2022/confirmation-dialog.mjs +13 -12
  47. package/confirmation-dialog/types/confirmation-dialog.d.ts +9 -5
  48. package/context-menu/README.md +366 -5
  49. package/context-menu/fesm2022/context-menu.mjs +9 -9
  50. package/date-picker/README.md +436 -34
  51. package/date-picker/fesm2022/date-picker.mjs +79 -68
  52. package/date-picker/types/date-picker.d.ts +8 -4
  53. package/dialog/README.md +419 -34
  54. package/dialog/fesm2022/dialog.mjs +48 -48
  55. package/drawer/README.md +395 -5
  56. package/drawer/fesm2022/drawer.mjs +45 -45
  57. package/dropdown-menu/README.md +417 -5
  58. package/dropdown-menu/fesm2022/dropdown-menu.mjs +85 -73
  59. package/dropdown-menu/types/dropdown-menu.d.ts +4 -0
  60. package/empty/README.md +329 -5
  61. package/empty/fesm2022/empty.mjs +31 -31
  62. package/field/README.md +385 -5
  63. package/field/fesm2022/field.mjs +59 -59
  64. package/field/types/field.d.ts +1 -1
  65. package/form-checkbox/README.md +283 -34
  66. package/form-checkbox/fesm2022/form-checkbox.mjs +37 -19
  67. package/form-checkbox/types/form-checkbox.d.ts +7 -1
  68. package/form-date-picker/README.md +293 -34
  69. package/form-date-picker/fesm2022/form-date-picker.mjs +59 -24
  70. package/form-date-picker/types/form-date-picker.d.ts +7 -1
  71. package/form-field/README.md +327 -34
  72. package/form-field/fesm2022/form-field.mjs +30 -16
  73. package/form-field/types/form-field.d.ts +28 -20
  74. package/form-field-simple/README.md +311 -34
  75. package/form-field-simple/fesm2022/form-field-simple.mjs +4 -4
  76. package/form-searchable-multiselect/README.md +332 -34
  77. package/form-searchable-multiselect/fesm2022/form-searchable-multiselect.mjs +41 -21
  78. package/form-searchable-multiselect/types/form-searchable-multiselect.d.ts +8 -2
  79. package/form-select/README.md +321 -34
  80. package/form-select/fesm2022/form-select.mjs +62 -29
  81. package/form-select/types/form-select.d.ts +7 -1
  82. package/form-text-input/README.md +342 -34
  83. package/form-text-input/fesm2022/form-text-input.mjs +43 -55
  84. package/form-text-input/types/form-text-input.d.ts +9 -12
  85. package/form-textarea/README.md +318 -34
  86. package/form-textarea/fesm2022/form-textarea.mjs +42 -23
  87. package/form-textarea/types/form-textarea.d.ts +8 -1
  88. package/hover-card/README.md +256 -5
  89. package/hover-card/fesm2022/hover-card.mjs +19 -19
  90. package/icon/README.md +210 -34
  91. package/icon/fesm2022/icon.mjs +8 -8
  92. package/input/README.md +240 -34
  93. package/input/fesm2022/input.mjs +17 -12
  94. package/input/types/input.d.ts +2 -1
  95. package/input-group/README.md +335 -5
  96. package/input-group/fesm2022/input-group.mjs +37 -37
  97. package/input-group/types/input-group.d.ts +3 -3
  98. package/input-otp/README.md +375 -5
  99. package/input-otp/fesm2022/input-otp.mjs +27 -27
  100. package/item/README.md +385 -5
  101. package/item/fesm2022/item.mjs +54 -54
  102. package/kbd/README.md +291 -5
  103. package/kbd/fesm2022/kbd.mjs +13 -13
  104. package/label/README.md +243 -34
  105. package/label/fesm2022/label.mjs +9 -9
  106. package/label/types/label.d.ts +1 -1
  107. package/layout-simple/README.md +174 -44
  108. package/layout-simple/fesm2022/layout-simple.mjs +917 -398
  109. package/layout-simple/types/layout-simple.d.ts +180 -129
  110. package/menu/README.md +418 -0
  111. package/menu/fesm2022/menu.mjs +461 -0
  112. package/menu/package.json +24 -0
  113. package/menu/types/menu.d.ts +137 -0
  114. package/menubar/README.md +343 -5
  115. package/menubar/fesm2022/menubar.mjs +13 -13
  116. package/native-select/README.md +323 -5
  117. package/native-select/fesm2022/native-select.mjs +19 -19
  118. package/navigation-menu/README.md +369 -5
  119. package/navigation-menu/fesm2022/navigation-menu.mjs +37 -37
  120. package/package.json +183 -154
  121. package/pagination/README.md +388 -5
  122. package/pagination/fesm2022/pagination.mjs +63 -63
  123. package/popover/README.md +302 -34
  124. package/popover/fesm2022/popover.mjs +30 -30
  125. package/progress/README.md +311 -5
  126. package/progress/fesm2022/progress.mjs +13 -13
  127. package/radio-group/README.md +335 -34
  128. package/radio-group/fesm2022/radio-group.mjs +26 -19
  129. package/resizable/README.md +269 -5
  130. package/resizable/fesm2022/resizable.mjs +19 -19
  131. package/scroll-area/README.md +233 -5
  132. package/scroll-area/fesm2022/scroll-area.mjs +9 -9
  133. package/searchable-multiselect/README.md +294 -34
  134. package/searchable-multiselect/fesm2022/searchable-multiselect.mjs +63 -16
  135. package/searchable-multiselect/types/searchable-multiselect.d.ts +8 -2
  136. package/select/README.md +408 -34
  137. package/select/fesm2022/select.mjs +80 -72
  138. package/select/types/select.d.ts +3 -1
  139. package/separator/README.md +193 -34
  140. package/separator/fesm2022/separator.mjs +9 -9
  141. package/separator/types/separator.d.ts +1 -1
  142. package/sheet/README.md +282 -34
  143. package/sheet/fesm2022/sheet.mjs +30 -30
  144. package/sidebar/README.md +457 -5
  145. package/sidebar/fesm2022/sidebar.mjs +136 -134
  146. package/sidebar/types/sidebar.d.ts +3 -3
  147. package/skeleton/README.md +217 -5
  148. package/skeleton/fesm2022/skeleton.mjs +9 -9
  149. package/slider/README.md +273 -5
  150. package/slider/fesm2022/slider.mjs +29 -25
  151. package/sonner/README.md +317 -34
  152. package/sonner/fesm2022/sonner.mjs +9 -9
  153. package/spinner/README.md +255 -34
  154. package/spinner/fesm2022/spinner.mjs +8 -8
  155. package/switch/README.md +281 -34
  156. package/switch/fesm2022/switch.mjs +12 -14
  157. package/table/README.md +423 -5
  158. package/table/fesm2022/table.mjs +41 -41
  159. package/tabs/README.md +382 -34
  160. package/tabs/fesm2022/tabs.mjs +48 -38
  161. package/textarea/README.md +282 -5
  162. package/textarea/fesm2022/textarea.mjs +9 -9
  163. package/toggle/README.md +270 -5
  164. package/toggle/fesm2022/toggle.mjs +14 -14
  165. package/toggle-group/README.md +340 -5
  166. package/toggle-group/fesm2022/toggle-group.mjs +13 -13
  167. package/toggle-group/types/toggle-group.d.ts +13 -7
  168. package/tooltip/README.md +240 -34
  169. package/tooltip/fesm2022/tooltip.mjs +14 -14
  170. package/typography/README.md +271 -5
  171. package/typography/fesm2022/typography.mjs +53 -53
  172. package/typography/types/typography.d.ts +12 -12
  173. package/utils/README.md +274 -34
  174. package/utils/fesm2022/utils.mjs +68 -44
  175. package/accordion/fesm2022/accordion.mjs.map +0 -1
  176. package/alert/fesm2022/alert.mjs.map +0 -1
  177. package/alert-dialog/fesm2022/alert-dialog.mjs.map +0 -1
  178. package/aspect-ratio/fesm2022/aspect-ratio.mjs.map +0 -1
  179. package/autocomplete/fesm2022/autocomplete.mjs.map +0 -1
  180. package/avatar/fesm2022/avatar.mjs.map +0 -1
  181. package/badge/fesm2022/badge.mjs.map +0 -1
  182. package/basic-alert/fesm2022/basic-alert.mjs.map +0 -1
  183. package/breadcrumb/fesm2022/breadcrumb.mjs.map +0 -1
  184. package/button/fesm2022/button.mjs.map +0 -1
  185. package/button-group/fesm2022/button-group.mjs.map +0 -1
  186. package/calendar/fesm2022/calendar.mjs.map +0 -1
  187. package/card/fesm2022/card.mjs.map +0 -1
  188. package/carousel/fesm2022/carousel.mjs.map +0 -1
  189. package/checkbox/fesm2022/checkbox.mjs.map +0 -1
  190. package/collapsible/fesm2022/collapsible.mjs.map +0 -1
  191. package/combobox/fesm2022/combobox.mjs.map +0 -1
  192. package/command/fesm2022/command.mjs.map +0 -1
  193. package/confirmation-dialog/fesm2022/confirmation-dialog.mjs.map +0 -1
  194. package/context-menu/fesm2022/context-menu.mjs.map +0 -1
  195. package/date-picker/fesm2022/date-picker.mjs.map +0 -1
  196. package/dialog/fesm2022/dialog.mjs.map +0 -1
  197. package/drawer/fesm2022/drawer.mjs.map +0 -1
  198. package/dropdown-menu/fesm2022/dropdown-menu.mjs.map +0 -1
  199. package/empty/fesm2022/empty.mjs.map +0 -1
  200. package/field/fesm2022/field.mjs.map +0 -1
  201. package/form-checkbox/fesm2022/form-checkbox.mjs.map +0 -1
  202. package/form-date-picker/fesm2022/form-date-picker.mjs.map +0 -1
  203. package/form-field/fesm2022/form-field.mjs.map +0 -1
  204. package/form-field-simple/fesm2022/form-field-simple.mjs.map +0 -1
  205. package/form-searchable-multiselect/fesm2022/form-searchable-multiselect.mjs.map +0 -1
  206. package/form-select/fesm2022/form-select.mjs.map +0 -1
  207. package/form-text-input/fesm2022/form-text-input.mjs.map +0 -1
  208. package/form-textarea/fesm2022/form-textarea.mjs.map +0 -1
  209. package/hover-card/fesm2022/hover-card.mjs.map +0 -1
  210. package/icon/fesm2022/icon.mjs.map +0 -1
  211. package/input/fesm2022/input.mjs.map +0 -1
  212. package/input-group/fesm2022/input-group.mjs.map +0 -1
  213. package/input-otp/fesm2022/input-otp.mjs.map +0 -1
  214. package/item/fesm2022/item.mjs.map +0 -1
  215. package/kbd/fesm2022/kbd.mjs.map +0 -1
  216. package/label/fesm2022/label.mjs.map +0 -1
  217. package/layout-simple/fesm2022/layout-simple.mjs.map +0 -1
  218. package/menubar/fesm2022/menubar.mjs.map +0 -1
  219. package/native-select/fesm2022/native-select.mjs.map +0 -1
  220. package/navigation-menu/fesm2022/navigation-menu.mjs.map +0 -1
  221. package/pagination/fesm2022/pagination.mjs.map +0 -1
  222. package/popover/fesm2022/popover.mjs.map +0 -1
  223. package/progress/fesm2022/progress.mjs.map +0 -1
  224. package/radio-group/fesm2022/radio-group.mjs.map +0 -1
  225. package/resizable/fesm2022/resizable.mjs.map +0 -1
  226. package/scroll-area/fesm2022/scroll-area.mjs.map +0 -1
  227. package/searchable-multiselect/fesm2022/searchable-multiselect.mjs.map +0 -1
  228. package/select/fesm2022/select.mjs.map +0 -1
  229. package/separator/fesm2022/separator.mjs.map +0 -1
  230. package/sheet/fesm2022/sheet.mjs.map +0 -1
  231. package/sidebar/fesm2022/sidebar.mjs.map +0 -1
  232. package/skeleton/fesm2022/skeleton.mjs.map +0 -1
  233. package/slider/fesm2022/slider.mjs.map +0 -1
  234. package/sonner/fesm2022/sonner.mjs.map +0 -1
  235. package/spinner/fesm2022/spinner.mjs.map +0 -1
  236. package/switch/fesm2022/switch.mjs.map +0 -1
  237. package/table/fesm2022/table.mjs.map +0 -1
  238. package/tabs/fesm2022/tabs.mjs.map +0 -1
  239. package/textarea/fesm2022/textarea.mjs.map +0 -1
  240. package/toggle/fesm2022/toggle.mjs.map +0 -1
  241. package/toggle-group/fesm2022/toggle-group.mjs.map +0 -1
  242. package/tooltip/fesm2022/tooltip.mjs.map +0 -1
  243. package/typography/fesm2022/typography.mjs.map +0 -1
  244. package/utils/fesm2022/utils.mjs.map +0 -1
@@ -12,12 +12,12 @@ import { HlmInputGroupImports } from '@egose/shadcn-theme-ng-tw/input-group';
12
12
 
13
13
  class HlmCommand {
14
14
  constructor() {
15
- classes(() => 'bg-popover text-popover-foreground rounded-xl! p-1 flex size-full flex-col overflow-hidden');
15
+ classes(() => 'tw:bg-popover tw:text-popover-foreground tw:rounded-xl! tw:p-1 tw:flex tw:size-full tw:flex-col tw:overflow-hidden');
16
16
  }
17
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmCommand, deps: [], target: i0.ɵɵFactoryTarget.Directive });
18
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.7", type: HlmCommand, isStandalone: true, selector: "[hlmCommand],hlm-command", host: { attributes: { "data-slot": "command" } }, hostDirectives: [{ directive: i1.BrnCommand, inputs: ["id", "id", "filter", "filter", "search", "search", "disabled", "disabled"], outputs: ["valueChange", "valueChange", "searchChange", "searchChange"] }], ngImport: i0 });
17
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmCommand, deps: [], target: i0.ɵɵFactoryTarget.Directive });
18
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.3", type: HlmCommand, isStandalone: true, selector: "[hlmCommand],hlm-command", host: { attributes: { "data-slot": "command" } }, hostDirectives: [{ directive: i1.BrnCommand, inputs: ["id", "id", "filter", "filter", "search", "search", "disabled", "disabled"], outputs: ["valueChange", "valueChange", "searchChange", "searchChange"] }], ngImport: i0 });
19
19
  }
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmCommand, decorators: [{
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmCommand, decorators: [{
21
21
  type: Directive,
22
22
  args: [{
23
23
  selector: '[hlmCommand],hlm-command',
@@ -46,22 +46,22 @@ class HlmCommandDialog {
46
46
  showCloseButton = input(false, { ...(ngDevMode ? { debugName: "showCloseButton" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
47
47
  dialogContentClass = input('', /* @ts-ignore */
48
48
  ...(ngDevMode ? [{ debugName: "dialogContentClass" }] : /* istanbul ignore next */ []));
49
- _computedDialogContentClass = computed(() => hlm('w-96 p-0', this.dialogContentClass()), /* @ts-ignore */
49
+ _computedDialogContentClass = computed(() => hlm('tw:w-96 tw:p-0', this.dialogContentClass()), /* @ts-ignore */
50
50
  ...(ngDevMode ? [{ debugName: "_computedDialogContentClass" }] : /* istanbul ignore next */ []));
51
51
  stateChange = output();
52
52
  stateChanged(state) {
53
53
  this.stateChange.emit(state);
54
54
  this._state.set(state);
55
55
  }
56
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmCommandDialog, deps: [], target: i0.ɵɵFactoryTarget.Component });
57
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.7", type: HlmCommandDialog, isStandalone: true, selector: "hlm-command-dialog", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, description: { classPropertyName: "description", publicName: "description", isSignal: true, isRequired: false, transformFunction: null }, state: { classPropertyName: "state", publicName: "state", isSignal: true, isRequired: false, transformFunction: null }, showCloseButton: { classPropertyName: "showCloseButton", publicName: "showCloseButton", isSignal: true, isRequired: false, transformFunction: null }, dialogContentClass: { classPropertyName: "dialogContentClass", publicName: "dialogContentClass", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { stateChange: "stateChange" }, ngImport: i0, template: `
56
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmCommandDialog, deps: [], target: i0.ɵɵFactoryTarget.Component });
57
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.3", type: HlmCommandDialog, isStandalone: true, selector: "hlm-command-dialog", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, description: { classPropertyName: "description", publicName: "description", isSignal: true, isRequired: false, transformFunction: null }, state: { classPropertyName: "state", publicName: "state", isSignal: true, isRequired: false, transformFunction: null }, showCloseButton: { classPropertyName: "showCloseButton", publicName: "showCloseButton", isSignal: true, isRequired: false, transformFunction: null }, dialogContentClass: { classPropertyName: "dialogContentClass", publicName: "dialogContentClass", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { stateChange: "stateChange" }, ngImport: i0, template: `
58
58
  <hlm-dialog [state]="_state()" (stateChanged)="stateChanged($event)">
59
59
  <hlm-dialog-content
60
60
  *hlmDialogPortal="let ctx"
61
61
  [class]="_computedDialogContentClass()"
62
62
  [showCloseButton]="showCloseButton()"
63
63
  >
64
- <hlm-dialog-header class="sr-only">
64
+ <hlm-dialog-header class="tw:sr-only">
65
65
  <h2 hlmDialogTitle>{{ title() }}</h2>
66
66
  <p hlmDialogDescription>{{ description() }}</p>
67
67
  </hlm-dialog-header>
@@ -70,7 +70,7 @@ class HlmCommandDialog {
70
70
  </hlm-dialog>
71
71
  `, isInline: true, dependencies: [{ kind: "component", type: i1$1.HlmDialog, selector: "hlm-dialog", exportAs: ["hlmDialog"] }, { kind: "component", type: i1$1.HlmDialogContent, selector: "hlm-dialog-content", inputs: ["showCloseButton"] }, { kind: "directive", type: i1$1.HlmDialogDescription, selector: "[hlmDialogDescription]" }, { kind: "directive", type: i1$1.HlmDialogHeader, selector: "[hlmDialogHeader],hlm-dialog-header" }, { kind: "directive", type: i1$1.HlmDialogPortal, selector: "[hlmDialogPortal]" }, { kind: "directive", type: i1$1.HlmDialogTitle, selector: "[hlmDialogTitle]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
72
72
  }
73
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmCommandDialog, decorators: [{
73
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmCommandDialog, decorators: [{
74
74
  type: Component,
75
75
  args: [{
76
76
  selector: 'hlm-command-dialog',
@@ -83,7 +83,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImpor
83
83
  [class]="_computedDialogContentClass()"
84
84
  [showCloseButton]="showCloseButton()"
85
85
  >
86
- <hlm-dialog-header class="sr-only">
86
+ <hlm-dialog-header class="tw:sr-only">
87
87
  <h2 hlmDialogTitle>{{ title() }}</h2>
88
88
  <p hlmDialogDescription>{{ description() }}</p>
89
89
  </hlm-dialog-header>
@@ -96,12 +96,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImpor
96
96
 
97
97
  class HlmCommandEmpty {
98
98
  constructor() {
99
- classes(() => 'py-6 text-center text-sm');
99
+ classes(() => 'tw:py-6 tw:text-center tw:text-sm');
100
100
  }
101
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmCommandEmpty, deps: [], target: i0.ɵɵFactoryTarget.Directive });
102
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.7", type: HlmCommandEmpty, isStandalone: true, selector: "[hlmCommandEmpty]", host: { attributes: { "data-slot": "command-empty" } }, ngImport: i0 });
101
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmCommandEmpty, deps: [], target: i0.ɵɵFactoryTarget.Directive });
102
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.3", type: HlmCommandEmpty, isStandalone: true, selector: "[hlmCommandEmpty]", host: { attributes: { "data-slot": "command-empty" } }, ngImport: i0 });
103
103
  }
104
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmCommandEmpty, decorators: [{
104
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmCommandEmpty, decorators: [{
105
105
  type: Directive,
106
106
  args: [{
107
107
  selector: '[hlmCommandEmpty]',
@@ -112,10 +112,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImpor
112
112
  }], ctorParameters: () => [] });
113
113
 
114
114
  class HlmCommandEmptyState {
115
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmCommandEmptyState, deps: [], target: i0.ɵɵFactoryTarget.Directive });
116
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.7", type: HlmCommandEmptyState, isStandalone: true, selector: "[hlmCommandEmptyState]", hostDirectives: [{ directive: i1.BrnCommandEmpty }], ngImport: i0 });
115
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmCommandEmptyState, deps: [], target: i0.ɵɵFactoryTarget.Directive });
116
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.3", type: HlmCommandEmptyState, isStandalone: true, selector: "[hlmCommandEmptyState]", hostDirectives: [{ directive: i1.BrnCommandEmpty }], ngImport: i0 });
117
117
  }
118
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmCommandEmptyState, decorators: [{
118
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmCommandEmptyState, decorators: [{
119
119
  type: Directive,
120
120
  args: [{
121
121
  selector: '[hlmCommandEmptyState]',
@@ -125,12 +125,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImpor
125
125
 
126
126
  class HlmCommandGroup {
127
127
  constructor() {
128
- classes(() => 'text-foreground **:data-[slot=command-group-label]:text-muted-foreground overflow-hidden p-1 **:data-[slot=command-group-label]:px-2 **:data-[slot=command-group-label]:py-1.5 **:data-[slot=command-group-label]:text-xs **:data-[slot=command-group-label]:font-medium block data-hidden:hidden');
128
+ classes(() => 'tw:text-foreground tw:**:data-[slot=command-group-label]:text-muted-foreground tw:overflow-hidden tw:p-1 tw:**:data-[slot=command-group-label]:px-2 tw:**:data-[slot=command-group-label]:py-1.5 tw:**:data-[slot=command-group-label]:text-xs tw:**:data-[slot=command-group-label]:font-medium tw:block tw:data-hidden:hidden');
129
129
  }
130
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmCommandGroup, deps: [], target: i0.ɵɵFactoryTarget.Directive });
131
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.7", type: HlmCommandGroup, isStandalone: true, selector: "[hlmCommandGroup],hlm-command-group", host: { attributes: { "data-slot": "command-group" } }, hostDirectives: [{ directive: i1.BrnCommandGroup, inputs: ["id", "id"] }], ngImport: i0 });
130
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmCommandGroup, deps: [], target: i0.ɵɵFactoryTarget.Directive });
131
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.3", type: HlmCommandGroup, isStandalone: true, selector: "[hlmCommandGroup],hlm-command-group", host: { attributes: { "data-slot": "command-group" } }, hostDirectives: [{ directive: i1.BrnCommandGroup, inputs: ["id", "id"] }], ngImport: i0 });
132
132
  }
133
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmCommandGroup, decorators: [{
133
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmCommandGroup, decorators: [{
134
134
  type: Directive,
135
135
  args: [{
136
136
  selector: '[hlmCommandGroup],hlm-command-group',
@@ -148,12 +148,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImpor
148
148
 
149
149
  class HlmCommandGroupLabel {
150
150
  constructor() {
151
- classes(() => 'inline-block');
151
+ classes(() => 'tw:inline-block');
152
152
  }
153
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmCommandGroupLabel, deps: [], target: i0.ɵɵFactoryTarget.Directive });
154
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.7", type: HlmCommandGroupLabel, isStandalone: true, selector: "[hlmCommandGroupLabel],hlm-command-group-label", host: { attributes: { "data-slot": "command-group-label", "role": "presentation" } }, ngImport: i0 });
153
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmCommandGroupLabel, deps: [], target: i0.ɵɵFactoryTarget.Directive });
154
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.3", type: HlmCommandGroupLabel, isStandalone: true, selector: "[hlmCommandGroupLabel],hlm-command-group-label", host: { attributes: { "data-slot": "command-group-label", "role": "presentation" } }, ngImport: i0 });
155
155
  }
156
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmCommandGroupLabel, decorators: [{
156
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmCommandGroupLabel, decorators: [{
157
157
  type: Directive,
158
158
  args: [{
159
159
  selector: '[hlmCommandGroupLabel],hlm-command-group-label',
@@ -170,28 +170,28 @@ class HlmCommandInput {
170
170
  placeholder = input('', /* @ts-ignore */
171
171
  ...(ngDevMode ? [{ debugName: "placeholder" }] : /* istanbul ignore next */ []));
172
172
  constructor() {
173
- classes(() => 'p-1 pb-0');
173
+ classes(() => 'tw:p-1 tw:pb-0');
174
174
  }
175
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmCommandInput, deps: [], target: i0.ɵɵFactoryTarget.Component });
176
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.7", type: HlmCommandInput, isStandalone: true, selector: "hlm-command-input", inputs: { inputId: { classPropertyName: "inputId", publicName: "inputId", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "command-input-wrapper" } }, providers: [provideIcons({ lucideSearch })], ngImport: i0, template: `
175
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmCommandInput, deps: [], target: i0.ɵɵFactoryTarget.Component });
176
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.3", type: HlmCommandInput, isStandalone: true, selector: "hlm-command-input", inputs: { inputId: { classPropertyName: "inputId", publicName: "inputId", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "command-input-wrapper" } }, providers: [provideIcons({ lucideSearch })], ngImport: i0, template: `
177
177
  <hlm-input-group
178
- class="bg-input/30 border-input/30 h-8! rounded-lg! shadow-none! *:data-[slot=input-group-addon]:pl-2!"
178
+ class="tw:bg-input/30 tw:border-input/30 tw:h-8! tw:rounded-lg! tw:shadow-none! tw:*:data-[slot=input-group-addon]:pl-2!"
179
179
  >
180
180
  <input
181
181
  brnCommandInput
182
182
  data-slot="command-input"
183
- class="w-full text-sm outline-hidden disabled:cursor-not-allowed disabled:opacity-50"
183
+ class="tw:w-full tw:text-sm tw:outline-hidden tw:disabled:cursor-not-allowed tw:disabled:opacity-50"
184
184
  [id]="inputId()"
185
185
  [placeholder]="placeholder()"
186
186
  />
187
187
 
188
188
  <hlm-input-group-addon>
189
- <ng-icon name="lucideSearch" class="shrink-0 text-[length:--spacing(4)] opacity-50" />
189
+ <ng-icon name="lucideSearch" class="tw:shrink-0 tw:text-[length:--spacing(4)] tw:opacity-50" />
190
190
  </hlm-input-group-addon>
191
191
  </hlm-input-group>
192
192
  `, isInline: true, dependencies: [{ kind: "directive", type: i1$2.HlmInputGroup, selector: "[hlmInputGroup],hlm-input-group" }, { kind: "directive", type: i1$2.HlmInputGroupAddon, selector: "[hlmInputGroupAddon],hlm-input-group-addon", inputs: ["align"] }, { kind: "component", type: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "directive", type: BrnCommandInput, selector: "input[brnCommandInput]", inputs: ["id"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
193
193
  }
194
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmCommandInput, decorators: [{
194
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmCommandInput, decorators: [{
195
195
  type: Component,
196
196
  args: [{
197
197
  selector: 'hlm-command-input',
@@ -203,18 +203,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImpor
203
203
  },
204
204
  template: `
205
205
  <hlm-input-group
206
- class="bg-input/30 border-input/30 h-8! rounded-lg! shadow-none! *:data-[slot=input-group-addon]:pl-2!"
206
+ class="tw:bg-input/30 tw:border-input/30 tw:h-8! tw:rounded-lg! tw:shadow-none! tw:*:data-[slot=input-group-addon]:pl-2!"
207
207
  >
208
208
  <input
209
209
  brnCommandInput
210
210
  data-slot="command-input"
211
- class="w-full text-sm outline-hidden disabled:cursor-not-allowed disabled:opacity-50"
211
+ class="tw:w-full tw:text-sm tw:outline-hidden tw:disabled:cursor-not-allowed tw:disabled:opacity-50"
212
212
  [id]="inputId()"
213
213
  [placeholder]="placeholder()"
214
214
  />
215
215
 
216
216
  <hlm-input-group-addon>
217
- <ng-icon name="lucideSearch" class="shrink-0 text-[length:--spacing(4)] opacity-50" />
217
+ <ng-icon name="lucideSearch" class="tw:shrink-0 tw:text-[length:--spacing(4)] tw:opacity-50" />
218
218
  </hlm-input-group-addon>
219
219
  </hlm-input-group>
220
220
  `,
@@ -223,12 +223,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImpor
223
223
 
224
224
  class HlmCommandItem {
225
225
  constructor() {
226
- classes(() => "data-selected:bg-muted data-selected:text-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none in-data-[slot=dialog-content]:rounded-lg! [&_ng-icon:not([class*='text-'])]:text-[length:--spacing(4)] group/command-item w-full data-disabled:pointer-events-none data-disabled:opacity-50 data-hidden:hidden [&>ng-icon]:pointer-events-none [&>ng-icon]:shrink-0");
226
+ classes(() => "tw:data-selected:bg-muted tw:data-selected:text-foreground tw:relative tw:flex tw:cursor-default tw:items-center tw:gap-2 tw:rounded-sm tw:px-2 tw:py-1.5 tw:text-sm tw:outline-hidden tw:select-none tw:in-data-[slot=dialog-content]:rounded-lg! tw:[&_ng-icon:not([class*='text-'])]:text-[length:--spacing(4)] tw:group/command-item tw:w-full tw:data-disabled:pointer-events-none tw:data-disabled:opacity-50 tw:data-hidden:hidden tw:[&>ng-icon]:pointer-events-none tw:[&>ng-icon]:shrink-0");
227
227
  }
228
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmCommandItem, deps: [], target: i0.ɵɵFactoryTarget.Directive });
229
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.7", type: HlmCommandItem, isStandalone: true, selector: "button[hlmCommandItem],button[hlm-command-item]", host: { attributes: { "data-slot": "command-item" } }, hostDirectives: [{ directive: i1.BrnCommandItem, inputs: ["value", "value", "disabled", "disabled", "id", "id"], outputs: ["selected", "selected"] }], ngImport: i0 });
228
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmCommandItem, deps: [], target: i0.ɵɵFactoryTarget.Directive });
229
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.3", type: HlmCommandItem, isStandalone: true, selector: "button[hlmCommandItem],button[hlm-command-item]", host: { attributes: { "data-slot": "command-item" } }, hostDirectives: [{ directive: i1.BrnCommandItem, inputs: ["value", "value", "disabled", "disabled", "id", "id"], outputs: ["selected", "selected"] }], ngImport: i0 });
230
230
  }
231
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmCommandItem, decorators: [{
231
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmCommandItem, decorators: [{
232
232
  type: Directive,
233
233
  args: [{
234
234
  selector: 'button[hlmCommandItem],button[hlm-command-item]',
@@ -247,12 +247,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImpor
247
247
 
248
248
  class HlmCommandList {
249
249
  constructor() {
250
- classes(() => 'no-scrollbar max-h-72 scroll-py-1 outline-none overflow-x-hidden overflow-y-auto');
250
+ classes(() => 'no-scrollbar tw:max-h-72 tw:scroll-py-1 tw:outline-none tw:overflow-x-hidden tw:overflow-y-auto');
251
251
  }
252
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmCommandList, deps: [], target: i0.ɵɵFactoryTarget.Directive });
253
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.7", type: HlmCommandList, isStandalone: true, selector: "[hlmCommandList],hlm-command-list", host: { attributes: { "data-slot": "command-list" } }, hostDirectives: [{ directive: i1.BrnCommandList, inputs: ["id", "id"] }], ngImport: i0 });
252
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmCommandList, deps: [], target: i0.ɵɵFactoryTarget.Directive });
253
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.3", type: HlmCommandList, isStandalone: true, selector: "[hlmCommandList],hlm-command-list", host: { attributes: { "data-slot": "command-list" } }, hostDirectives: [{ directive: i1.BrnCommandList, inputs: ["id", "id"] }], ngImport: i0 });
254
254
  }
255
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmCommandList, decorators: [{
255
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmCommandList, decorators: [{
256
256
  type: Directive,
257
257
  args: [{
258
258
  selector: '[hlmCommandList],hlm-command-list',
@@ -270,12 +270,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImpor
270
270
 
271
271
  class HlmCommandSeparator {
272
272
  constructor() {
273
- classes(() => 'bg-border -mx-1 h-px w-auto block data-hidden:hidden');
273
+ classes(() => 'tw:bg-border tw:-mx-1 tw:h-px tw:w-auto tw:block tw:data-hidden:hidden');
274
274
  }
275
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmCommandSeparator, deps: [], target: i0.ɵɵFactoryTarget.Directive });
276
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.7", type: HlmCommandSeparator, isStandalone: true, selector: "[hlmCommandSeparator],hlm-command-separator", host: { attributes: { "data-slot": "command-separator" } }, hostDirectives: [{ directive: i1.BrnCommandSeparator }], ngImport: i0 });
275
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmCommandSeparator, deps: [], target: i0.ɵɵFactoryTarget.Directive });
276
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.3", type: HlmCommandSeparator, isStandalone: true, selector: "[hlmCommandSeparator],hlm-command-separator", host: { attributes: { "data-slot": "command-separator" } }, hostDirectives: [{ directive: i1.BrnCommandSeparator }], ngImport: i0 });
277
277
  }
278
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmCommandSeparator, decorators: [{
278
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmCommandSeparator, decorators: [{
279
279
  type: Directive,
280
280
  args: [{
281
281
  selector: '[hlmCommandSeparator],hlm-command-separator',
@@ -288,12 +288,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImpor
288
288
 
289
289
  class HlmCommandShortcut {
290
290
  constructor() {
291
- classes(() => 'text-muted-foreground group-data-[selected]/command-item:text-foreground ms-auto text-xs tracking-widest');
291
+ classes(() => 'tw:text-muted-foreground tw:group-data-[selected]/command-item:text-foreground tw:ms-auto tw:text-xs tw:tracking-widest');
292
292
  }
293
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmCommandShortcut, deps: [], target: i0.ɵɵFactoryTarget.Directive });
294
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.7", type: HlmCommandShortcut, isStandalone: true, selector: "[hlmCommandShortcut],hlm-command-shortcut", host: { attributes: { "data-slot": "command-shortcut" } }, ngImport: i0 });
293
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmCommandShortcut, deps: [], target: i0.ɵɵFactoryTarget.Directive });
294
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.3", type: HlmCommandShortcut, isStandalone: true, selector: "[hlmCommandShortcut],hlm-command-shortcut", host: { attributes: { "data-slot": "command-shortcut" } }, ngImport: i0 });
295
295
  }
296
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmCommandShortcut, decorators: [{
296
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmCommandShortcut, decorators: [{
297
297
  type: Directive,
298
298
  args: [{
299
299
  selector: '[hlmCommandShortcut],hlm-command-shortcut',
@@ -320,8 +320,8 @@ const HlmCommandImports = [
320
320
  HlmCommandShortcut,
321
321
  ];
322
322
  class HlmCommandModule {
323
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmCommandModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
324
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.7", ngImport: i0, type: HlmCommandModule, imports: [HlmCommand,
323
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmCommandModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
324
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.1.3", ngImport: i0, type: HlmCommandModule, imports: [HlmCommand,
325
325
  HlmCommandDialog,
326
326
  HlmCommandEmpty,
327
327
  HlmCommandEmptyState,
@@ -342,10 +342,10 @@ class HlmCommandModule {
342
342
  HlmCommandList,
343
343
  HlmCommandSeparator,
344
344
  HlmCommandShortcut] });
345
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmCommandModule, imports: [HlmCommandDialog,
345
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmCommandModule, imports: [HlmCommandDialog,
346
346
  HlmCommandInput] });
347
347
  }
348
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmCommandModule, decorators: [{
348
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmCommandModule, decorators: [{
349
349
  type: NgModule,
350
350
  args: [{
351
351
  imports: [...HlmCommandImports],
@@ -358,4 +358,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImpor
358
358
  */
359
359
 
360
360
  export { HlmCommand, HlmCommandDialog, HlmCommandEmpty, HlmCommandEmptyState, HlmCommandGroup, HlmCommandGroupLabel, HlmCommandImports, HlmCommandInput, HlmCommandItem, HlmCommandList, HlmCommandModule, HlmCommandSeparator, HlmCommandShortcut };
361
- //# sourceMappingURL=command.mjs.map
361
+
@@ -1,64 +1,302 @@
1
- # ConfirmationDialog
1
+ # Confirmation Dialog (`@egose/shadcn-theme-ng/confirmation-dialog`)
2
2
 
3
- This project was generated using [Angular CLI](https://github.com/angular/angular-cli) version 20.3.0.
3
+ A promise-based "Are you sure?" modal — the Angular equivalent of a shadcn/ui `AlertDialog` confirmation shortcut. Instead of composing dialog primitives by hand, you call `EgConfirmationDialogService.showConfirmationDialog({ title, description })` and `await` a `Promise<boolean>` (`true` = Confirm, `false` = Cancel/dismiss). The rendered `EgConfirmationDialog` component itself (warning icon + title + description + Cancel/Confirm footer) is opened through `HlmDialogService` from `@egose/shadcn-theme-ng/dialog` with a `BrnDialogRef<boolean>` result. There is no `*Imports` array and no `*Module` — the public surface is the component, the service, and a deprecated misspelled alias.
4
4
 
5
- ## Code scaffolding
5
+ Ships as `@egose/shadcn-theme-ng/confirmation-dialog` and `@egose/shadcn-theme-ng-tw/confirmation-dialog` (the `tw:`-prefixed variant). See the [package README](../../README.md) for install, peer dependencies, and Tailwind setup. Do not publish this project directory independently — it is consumed via the published subpath only.
6
6
 
7
- Angular CLI includes powerful code scaffolding tools. To generate a new component, run:
7
+ ## Installation
8
8
 
9
9
  ```bash
10
- ng generate component component-name
10
+ # Plain Tailwind (no prefix):
11
+ npm install @egose/shadcn-theme-ng
12
+
13
+ # Or the tw:-prefixed variant:
14
+ npm install @egose/shadcn-theme-ng-tw
11
15
  ```
12
16
 
13
- For a complete list of available schematics (such as `components`, `directives`, or `pipes`), run:
17
+ Peers are listed in the [package README](../../README.md). This subpath declares `@angular/common` and `@angular/core` as peers (see `projects/confirmation-dialog/package.json`); at runtime it uses `@egose/shadcn-theme-ng/dialog`, `button`, `alert`, and `icon`, so install the whole package.
14
18
 
15
- ```bash
16
- ng generate --help
19
+ ## Imports
20
+
21
+ The public API (`projects/confirmation-dialog/src/public-api.ts`) exports exactly:
22
+
23
+ ```ts
24
+ import {
25
+ EgConfirmationDialog,
26
+ EgConfirmationDialogService,
27
+ // Deprecated misspelled alias (type + const) — do not use in new code:
28
+ EgConfirmationDiaglog,
29
+ } from '@egose/shadcn-theme-ng/confirmation-dialog';
30
+ // tw variant:
31
+ // import { ... } from '@egose/shadcn-theme-ng-tw/confirmation-dialog';
17
32
  ```
18
33
 
19
- ## Building
34
+ There is no `EgConfirmationDialogImports` and no `EgConfirmationDialogModule`. The service is `@Injectable({ providedIn: 'root' })` — just inject it:
20
35
 
21
- To build the library, run:
36
+ ```ts
37
+ import { Component, inject } from '@angular/core';
38
+ import { EgConfirmationDialogService } from '@egose/shadcn-theme-ng/confirmation-dialog';
22
39
 
23
- ```bash
24
- ng build confirmation-dialog
40
+ @Component({ selector: 'app-demo', standalone: true, template: `...` })
41
+ export class DemoComponent {
42
+ private readonly confirm = inject(EgConfirmationDialogService);
43
+ }
44
+ ```
45
+
46
+ > `EgConfirmationDiaglog` (missing the second `a`) is a deprecated type+const alias for `EgConfirmationDialog` kept for back-compat. It will be removed in the next major release — use the correctly spelled name.
47
+
48
+ ## Anatomy / Structure
49
+
50
+ You never write the dialog markup yourself — the service opens this fixed template:
51
+
52
+ ```html
53
+ <!-- Rendered by EgConfirmationDialog (fixed internal template) -->
54
+ <hlm-dialog-header>
55
+ <div class="tw:flex tw:items-center tw:gap-1">
56
+ <ng-icon hlm hlmAlertIcon name="lucideTriangleAlert" size="base" />
57
+ <h3 hlmDialogTitle>{{ title }}</h3>
58
+ </div>
59
+ <p hlmDialogDescription>{{ description }}</p>
60
+ </hlm-dialog-header>
61
+
62
+ <hlm-dialog-footer>
63
+ <button hlmButton variant="secondary" appearance="outline">Cancel</button>
64
+ <button hlmButton variant="danger">Confirm</button>
65
+ </hlm-dialog-footer>
25
66
  ```
26
67
 
27
- This command will compile your project, and the build artifacts will be placed in the `dist/` directory.
68
+ - `EgConfirmationDialog` has **no selector** — it is instantiated by `HlmDialogService.open<boolean>(EgConfirmationDialog, { context: { title, description } })`.
69
+ - Title/description fall back to `'Are you absolutely sure?'` / `'This action cannot be undone.'` when the context omits them.
70
+ - `close(confirm: boolean)` closes the `BrnDialogRef<boolean>` with the result; Cancel resolves `false`, Confirm resolves `true`, and dismissing (X / backdrop / Escape) resolves `false` via `closed$ ?? false`.
28
71
 
29
- ### Publishing the Library
72
+ ## API reference
30
73
 
31
- Once the project is built, you can publish your library by following these steps:
74
+ ### `EgConfirmationDialogService`
32
75
 
33
- 1. Navigate to the `dist` directory:
76
+ `@Injectable({ providedIn: 'root' })`, constructor-injects `HlmDialogService`.
34
77
 
35
- ```bash
36
- cd dist/confirmation-dialog
37
- ```
78
+ | Method | Signature | Description |
79
+ | ------------------------ | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- |
80
+ | `showConfirmationDialog` | `({ title, description }: { title: string; description: string }) => Promise<boolean>` | Opens the modal with the given copy; resolves `true` on Confirm, `false` on Cancel or any dismiss. |
38
81
 
39
- 2. Run the `npm publish` command to publish your library to the npm registry:
40
- ```bash
41
- npm publish
42
- ```
82
+ Implementation detail: subscribes to `dialogRef.closed$` once per call and resolves `confirm ?? false`.
43
83
 
44
- ## Running unit tests
84
+ ### `EgConfirmationDialog`
45
85
 
46
- To execute unit tests with the [Karma](https://karma-runner.github.io) test runner, use the following command:
86
+ Standalone component (no selector), opened via the dialog service.
47
87
 
48
- ```bash
49
- ng test
88
+ | Member | Type | Description |
89
+ | ------- | ---------------------------- | ------------------------------------------------------------------------------------------- |
90
+ | `close` | `(confirm: boolean) => void` | Closes the dialog with the boolean result. Wired to the two footer buttons in the template. |
91
+
92
+ Reads `{ title, description }` from `injectBrnDialogContext()`.
93
+
94
+ ## Examples
95
+
96
+ ### 1. Basic delete confirmation (`async/await`)
97
+
98
+ ```ts
99
+ import { Component, inject } from '@angular/core';
100
+ import { EgConfirmationDialogService } from '@egose/shadcn-theme-ng/confirmation-dialog';
101
+
102
+ @Component({
103
+ selector: 'app-delete-button',
104
+ standalone: true,
105
+ template: `<button type="button" (click)="onDelete()">Delete project</button>`,
106
+ })
107
+ export class DeleteButtonComponent {
108
+ private readonly confirm = inject(EgConfirmationDialogService);
109
+
110
+ async onDelete() {
111
+ const ok = await this.confirm.showConfirmationDialog({
112
+ title: 'Delete project?',
113
+ description: 'This will permanently delete the project and all of its data.',
114
+ });
115
+ if (ok) {
116
+ console.log('deleting…');
117
+ }
118
+ }
119
+ }
50
120
  ```
51
121
 
52
- ## Running end-to-end tests
122
+ ### 2. Promise-chain style (no `async`)
53
123
 
54
- For end-to-end (e2e) testing, run:
124
+ ```ts
125
+ import { Component, inject } from '@angular/core';
126
+ import { EgConfirmationDialogService } from '@egose/shadcn-theme-ng/confirmation-dialog';
55
127
 
56
- ```bash
57
- ng e2e
128
+ @Component({
129
+ selector: 'app-leave-page',
130
+ standalone: true,
131
+ template: `<button type="button" (click)="leave()">Discard changes</button>`,
132
+ })
133
+ export class LeavePageComponent {
134
+ private readonly confirm = inject(EgConfirmationDialogService);
135
+
136
+ leave() {
137
+ this.confirm
138
+ .showConfirmationDialog({
139
+ title: 'Discard unsaved changes?',
140
+ description: 'Your edits will be lost if you leave this page.',
141
+ })
142
+ .then((ok) => {
143
+ if (ok) console.log('navigating away…');
144
+ });
145
+ }
146
+ }
147
+ ```
148
+
149
+ ### 3. Destructive row action in a table
150
+
151
+ Each row awaits its own confirmation before mutating the list.
152
+
153
+ ```ts
154
+ import { Component, inject, signal } from '@angular/core';
155
+ import { EgConfirmationDialogService } from '@egose/shadcn-theme-ng/confirmation-dialog';
156
+
157
+ interface Member {
158
+ id: number;
159
+ name: string;
160
+ }
161
+
162
+ @Component({
163
+ selector: 'app-members-table',
164
+ standalone: true,
165
+ template: `
166
+ <ul>
167
+ @for (m of members(); track m.id) {
168
+ <li class="flex items-center justify-between py-1">
169
+ <span>{{ m.name }}</span>
170
+ <button type="button" (click)="remove(m)">Remove</button>
171
+ </li>
172
+ }
173
+ </ul>
174
+ `,
175
+ })
176
+ export class MembersTableComponent {
177
+ private readonly confirm = inject(EgConfirmationDialogService);
178
+ readonly members = signal<Member[]>([
179
+ { id: 1, name: 'Ada' },
180
+ { id: 2, name: 'Grace' },
181
+ ]);
182
+
183
+ async remove(m: Member) {
184
+ const ok = await this.confirm.showConfirmationDialog({
185
+ title: `Remove ${m.name}?`,
186
+ description: `${m.name} will lose access immediately. You can re-invite them later.`,
187
+ });
188
+ if (ok) this.members.update((ms) => ms.filter((x) => x.id !== m.id));
189
+ }
190
+ }
191
+ ```
192
+
193
+ ### 4. Guarding a reactive form reset
194
+
195
+ ```ts
196
+ import { Component, inject } from '@angular/core';
197
+ import { FormControl, FormGroup, ReactiveFormsModule } from '@angular/forms';
198
+ import { EgConfirmationDialogService } from '@egose/shadcn-theme-ng/confirmation-dialog';
199
+
200
+ @Component({
201
+ selector: 'app-settings-form',
202
+ standalone: true,
203
+ imports: [ReactiveFormsModule],
204
+ template: `
205
+ <form [formGroup]="form">
206
+ <input formControlName="name" placeholder="Workspace name" />
207
+ <button type="button" (click)="reset()">Reset to defaults</button>
208
+ </form>
209
+ `,
210
+ })
211
+ export class SettingsFormComponent {
212
+ private readonly confirm = inject(EgConfirmationDialogService);
213
+ readonly form = new FormGroup({ name: new FormControl('acme') });
214
+
215
+ async reset() {
216
+ if (this.form.pristine) return;
217
+ const ok = await this.confirm.showConfirmationDialog({
218
+ title: 'Reset settings?',
219
+ description: 'All fields return to their default values.',
220
+ });
221
+ if (ok) this.form.reset({ name: 'acme' });
222
+ }
223
+ }
224
+ ```
225
+
226
+ ### 5. Sequential confirmations (two-step destructive flow)
227
+
228
+ Await twice — e.g. confirm scope, then confirm irreversibility.
229
+
230
+ ```ts
231
+ import { Component, inject } from '@angular/core';
232
+ import { EgConfirmationDialogService } from '@egose/shadcn-theme-ng/confirmation-dialog';
233
+
234
+ @Component({
235
+ selector: 'app-purge-flow',
236
+ standalone: true,
237
+ template: `<button type="button" (click)="purge()">Purge organization</button>`,
238
+ })
239
+ export class PurgeFlowComponent {
240
+ private readonly confirm = inject(EgConfirmationDialogService);
241
+
242
+ async purge() {
243
+ const step1 = await this.confirm.showConfirmationDialog({
244
+ title: 'Purge all data?',
245
+ description: 'This affects every project in the organization.',
246
+ });
247
+ if (!step1) return;
248
+
249
+ const step2 = await this.confirm.showConfirmationDialog({
250
+ title: 'Are you absolutely sure?',
251
+ description: 'This action cannot be undone. Backups are deleted too.',
252
+ });
253
+ if (step2) console.log('purging…');
254
+ }
255
+ }
256
+ ```
257
+
258
+ ### 6. Opening the component directly (custom dialog options)
259
+
260
+ If you need non-default dialog chrome (different `contentClass`, close behavior), bypass the service and use `HlmDialogService` with `EgConfirmationDialog` directly.
261
+
262
+ ```ts
263
+ import { Component, inject } from '@angular/core';
264
+ import { EgConfirmationDialog } from '@egose/shadcn-theme-ng/confirmation-dialog';
265
+ import { HlmDialogService } from '@egose/shadcn-theme-ng/dialog';
266
+
267
+ @Component({
268
+ selector: 'app-custom-open',
269
+ standalone: true,
270
+ template: `<button type="button" (click)="open()">Review defaults</button>`,
271
+ })
272
+ export class CustomOpenComponent {
273
+ private readonly dialogs = inject(HlmDialogService);
274
+
275
+ open() {
276
+ // No title/description → component falls back to its default copy.
277
+ const ref = this.dialogs.open<boolean>(EgConfirmationDialog, {
278
+ context: { title: '', description: '' },
279
+ contentClass: 'sm:max-w-md',
280
+ });
281
+ ref.closed$.subscribe((ok) => console.log('result:', ok ?? false));
282
+ }
283
+ }
58
284
  ```
59
285
 
60
- Angular CLI does not come with an end-to-end testing framework by default. You can choose one that suits your needs.
286
+ ## Accessibility notes
287
+
288
+ - The dialog uses the standard `hlm-dialog` primitives (`hlmDialogTitle` + `hlmDialogDescription`), so screen readers announce title/description on open and focus is trapped/moved per the dialog service.
289
+ - Confirm is styled `variant="danger"` and Cancel `variant="secondary" appearance="outline"` — the safe action is visually distinct; keyboard order is Cancel → Confirm.
290
+ - Dismiss (Escape/backdrop/X) resolves `false` — the destructive path always requires an explicit Confirm click.
291
+ - Keep `title`/`description` specific ("Delete 'Q3 report'?") rather than generic so SR users hear the consequence without surrounding context.
292
+
293
+ ## Theming / CSS variables
294
+
295
+ No component-specific CSS variables. The icon uses `hlmAlertIcon` (warning treatment), the title is `text-xl`, the description `text-base text-gray-700`, and the footer is `mt-4`. Buttons follow the shared `hlmButton` `secondary`/`danger` variants in both themes.
61
296
 
62
- ## Additional Resources
297
+ ## Related subpaths
63
298
 
64
- For more information on using the Angular CLI, including detailed command references, visit the [Angular CLI Overview and Command Reference](https://angular.dev/tools/cli) page.
299
+ - `@egose/shadcn-theme-ng/dialog` — `HlmDialogService.open`, title/description/footer primitives behind this shortcut.
300
+ - `@egose/shadcn-theme-ng/alert-dialog` — fully custom alert dialogs when you need your own buttons/copy/layout.
301
+ - `@egose/shadcn-theme-ng/button` — `secondary`/`danger` variants used by the footer.
302
+ - `@egose/shadcn-theme-ng/alert` — `HlmAlertIcon` warning treatment for the header icon.