@semantic-components/ui 0.66.0 → 0.68.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 (183) hide show
  1. package/esm2022/lib/components/file-upload/file-upload-dropzone.js +91 -0
  2. package/esm2022/lib/components/file-upload/file-upload-dropzone.js.map +1 -0
  3. package/esm2022/lib/components/file-upload/file-upload-item-delete.js +29 -0
  4. package/esm2022/lib/components/file-upload/file-upload-item-delete.js.map +1 -0
  5. package/esm2022/lib/components/file-upload/file-upload-item-name.js +20 -0
  6. package/esm2022/lib/components/file-upload/file-upload-item-name.js.map +1 -0
  7. package/esm2022/lib/components/file-upload/file-upload-item-preview.js +51 -0
  8. package/esm2022/lib/components/file-upload/file-upload-item-preview.js.map +1 -0
  9. package/esm2022/lib/components/file-upload/file-upload-item-progress.js +34 -0
  10. package/esm2022/lib/components/file-upload/file-upload-item-progress.js.map +1 -0
  11. package/esm2022/lib/components/file-upload/file-upload-item-size.js +37 -0
  12. package/esm2022/lib/components/file-upload/file-upload-item-size.js.map +1 -0
  13. package/esm2022/lib/components/file-upload/file-upload-item.js +29 -0
  14. package/esm2022/lib/components/file-upload/file-upload-item.js.map +1 -0
  15. package/esm2022/lib/components/file-upload/file-upload-list.js +20 -0
  16. package/esm2022/lib/components/file-upload/file-upload-list.js.map +1 -0
  17. package/esm2022/lib/components/file-upload/file-upload-trigger.js +66 -0
  18. package/esm2022/lib/components/file-upload/file-upload-trigger.js.map +1 -0
  19. package/esm2022/lib/components/file-upload/file-upload.js +118 -0
  20. package/esm2022/lib/components/file-upload/file-upload.js.map +1 -0
  21. package/esm2022/lib/components/file-upload/index.js +11 -0
  22. package/esm2022/lib/components/file-upload/index.js.map +1 -0
  23. package/esm2022/lib/components/index.js +10 -2
  24. package/esm2022/lib/components/index.js.map +1 -1
  25. package/esm2022/lib/components/menu-bar/menu-bar-item.js +12 -4
  26. package/esm2022/lib/components/menu-bar/menu-bar-item.js.map +1 -1
  27. package/esm2022/lib/components/native-select/index.js +6 -0
  28. package/esm2022/lib/components/native-select/index.js.map +1 -0
  29. package/esm2022/lib/components/native-select/native-select-container.js +20 -0
  30. package/esm2022/lib/components/native-select/native-select-container.js.map +1 -0
  31. package/esm2022/lib/components/native-select/native-select-icon.js +20 -0
  32. package/esm2022/lib/components/native-select/native-select-icon.js.map +1 -0
  33. package/esm2022/lib/components/native-select/native-select-optgroup.js +20 -0
  34. package/esm2022/lib/components/native-select/native-select-optgroup.js.map +1 -0
  35. package/esm2022/lib/components/native-select/native-select-option.js +20 -0
  36. package/esm2022/lib/components/native-select/native-select-option.js.map +1 -0
  37. package/esm2022/lib/components/native-select/native-select.js +29 -0
  38. package/esm2022/lib/components/native-select/native-select.js.map +1 -0
  39. package/esm2022/lib/components/navigation-menu/index.js +9 -0
  40. package/esm2022/lib/components/navigation-menu/index.js.map +1 -0
  41. package/esm2022/lib/components/navigation-menu/navigation-menu-content.js +37 -0
  42. package/esm2022/lib/components/navigation-menu/navigation-menu-content.js.map +1 -0
  43. package/esm2022/lib/components/navigation-menu/navigation-menu-grid.js +20 -0
  44. package/esm2022/lib/components/navigation-menu/navigation-menu-grid.js.map +1 -0
  45. package/esm2022/lib/components/navigation-menu/navigation-menu-item.js +118 -0
  46. package/esm2022/lib/components/navigation-menu/navigation-menu-item.js.map +1 -0
  47. package/esm2022/lib/components/navigation-menu/navigation-menu-link.js +22 -0
  48. package/esm2022/lib/components/navigation-menu/navigation-menu-link.js.map +1 -0
  49. package/esm2022/lib/components/navigation-menu/navigation-menu-list.js +20 -0
  50. package/esm2022/lib/components/navigation-menu/navigation-menu-list.js.map +1 -0
  51. package/esm2022/lib/components/navigation-menu/navigation-menu-portal.js +14 -0
  52. package/esm2022/lib/components/navigation-menu/navigation-menu-portal.js.map +1 -0
  53. package/esm2022/lib/components/navigation-menu/navigation-menu-trigger-icon.js +22 -0
  54. package/esm2022/lib/components/navigation-menu/navigation-menu-trigger-icon.js.map +1 -0
  55. package/esm2022/lib/components/navigation-menu/navigation-menu-trigger.js +41 -0
  56. package/esm2022/lib/components/navigation-menu/navigation-menu-trigger.js.map +1 -0
  57. package/esm2022/lib/components/navigation-menu/navigation-menu.js +32 -0
  58. package/esm2022/lib/components/navigation-menu/navigation-menu.js.map +1 -0
  59. package/esm2022/lib/components/range-slider/index.js +4 -0
  60. package/esm2022/lib/components/range-slider/index.js.map +1 -0
  61. package/esm2022/lib/components/range-slider/range-slider-max.js +38 -0
  62. package/esm2022/lib/components/range-slider/range-slider-max.js.map +1 -0
  63. package/esm2022/lib/components/range-slider/range-slider-min.js +38 -0
  64. package/esm2022/lib/components/range-slider/range-slider-min.js.map +1 -0
  65. package/esm2022/lib/components/range-slider/range-slider-thumb-base.js +24 -0
  66. package/esm2022/lib/components/range-slider/range-slider-thumb-base.js.map +1 -0
  67. package/esm2022/lib/components/range-slider/range-slider.js +62 -0
  68. package/esm2022/lib/components/range-slider/range-slider.js.map +1 -0
  69. package/esm2022/lib/components/scroll-area/index.js +2 -0
  70. package/esm2022/lib/components/scroll-area/index.js.map +1 -0
  71. package/esm2022/lib/components/scroll-area/scroll-area.js +21 -0
  72. package/esm2022/lib/components/scroll-area/scroll-area.js.map +1 -0
  73. package/esm2022/lib/components/select/index.js +5 -1
  74. package/esm2022/lib/components/select/index.js.map +1 -1
  75. package/esm2022/lib/components/select/select-group-label.js +28 -0
  76. package/esm2022/lib/components/select/select-group-label.js.map +1 -0
  77. package/esm2022/lib/components/select/select-group.js +28 -0
  78. package/esm2022/lib/components/select/select-group.js.map +1 -0
  79. package/esm2022/lib/components/select/{select-icon.js → select-item-icon.js} +7 -7
  80. package/esm2022/lib/components/select/select-item-icon.js.map +1 -0
  81. package/esm2022/lib/components/select/select-list.js +1 -5
  82. package/esm2022/lib/components/select/select-list.js.map +1 -1
  83. package/esm2022/lib/components/select/select-popup.js +32 -0
  84. package/esm2022/lib/components/select/select-popup.js.map +1 -0
  85. package/esm2022/lib/components/select/select-separator.js +22 -0
  86. package/esm2022/lib/components/select/select-separator.js.map +1 -0
  87. package/esm2022/lib/components/select/select-trigger-icon.js +4 -2
  88. package/esm2022/lib/components/select/select-trigger-icon.js.map +1 -1
  89. package/esm2022/lib/components/select/select-trigger.js +4 -7
  90. package/esm2022/lib/components/select/select-trigger.js.map +1 -1
  91. package/esm2022/lib/components/select/select.js +6 -5
  92. package/esm2022/lib/components/select/select.js.map +1 -1
  93. package/esm2022/lib/components/slider/index.js +2 -0
  94. package/esm2022/lib/components/slider/index.js.map +1 -0
  95. package/esm2022/lib/components/slider/slider.js +46 -0
  96. package/esm2022/lib/components/slider/slider.js.map +1 -0
  97. package/esm2022/lib/components/time-picker/index.js +10 -0
  98. package/esm2022/lib/components/time-picker/index.js.map +1 -0
  99. package/esm2022/lib/components/time-picker/time-picker-hours-input.js +67 -0
  100. package/esm2022/lib/components/time-picker/time-picker-hours-input.js.map +1 -0
  101. package/esm2022/lib/components/time-picker/time-picker-input.js +26 -0
  102. package/esm2022/lib/components/time-picker/time-picker-input.js.map +1 -0
  103. package/esm2022/lib/components/time-picker/time-picker-minutes-input.js +57 -0
  104. package/esm2022/lib/components/time-picker/time-picker-minutes-input.js.map +1 -0
  105. package/esm2022/lib/components/time-picker/time-picker-period-am.js +26 -0
  106. package/esm2022/lib/components/time-picker/time-picker-period-am.js.map +1 -0
  107. package/esm2022/lib/components/time-picker/time-picker-period-pm.js +26 -0
  108. package/esm2022/lib/components/time-picker/time-picker-period-pm.js.map +1 -0
  109. package/esm2022/lib/components/time-picker/time-picker-period.js +46 -0
  110. package/esm2022/lib/components/time-picker/time-picker-period.js.map +1 -0
  111. package/esm2022/lib/components/time-picker/time-picker-seconds-input.js +57 -0
  112. package/esm2022/lib/components/time-picker/time-picker-seconds-input.js.map +1 -0
  113. package/esm2022/lib/components/time-picker/time-picker-separator.js +20 -0
  114. package/esm2022/lib/components/time-picker/time-picker-separator.js.map +1 -0
  115. package/esm2022/lib/components/time-picker/time-picker.js +58 -0
  116. package/esm2022/lib/components/time-picker/time-picker.js.map +1 -0
  117. package/esm2022/lib/components/typography/heading.js +43 -0
  118. package/esm2022/lib/components/typography/heading.js.map +1 -0
  119. package/esm2022/lib/components/typography/index.js +2 -0
  120. package/esm2022/lib/components/typography/index.js.map +1 -0
  121. package/lib/components/file-upload/file-upload-dropzone.d.ts +15 -0
  122. package/lib/components/file-upload/file-upload-item-delete.d.ts +10 -0
  123. package/lib/components/file-upload/file-upload-item-name.d.ts +7 -0
  124. package/lib/components/file-upload/file-upload-item-preview.d.ts +11 -0
  125. package/lib/components/file-upload/file-upload-item-progress.d.ts +9 -0
  126. package/lib/components/file-upload/file-upload-item-size.d.ts +10 -0
  127. package/lib/components/file-upload/file-upload-item.d.ts +9 -0
  128. package/lib/components/file-upload/file-upload-list.d.ts +7 -0
  129. package/lib/components/file-upload/file-upload-trigger.d.ts +11 -0
  130. package/lib/components/file-upload/file-upload.d.ts +32 -0
  131. package/lib/components/file-upload/index.d.ts +11 -0
  132. package/lib/components/index.d.ts +10 -2
  133. package/lib/components/menu-bar/menu-bar-item.d.ts +1 -0
  134. package/lib/components/native-select/index.d.ts +5 -0
  135. package/lib/components/native-select/native-select-container.d.ts +7 -0
  136. package/lib/components/native-select/native-select-icon.d.ts +7 -0
  137. package/lib/components/native-select/native-select-optgroup.d.ts +7 -0
  138. package/lib/components/native-select/native-select-option.d.ts +7 -0
  139. package/lib/components/native-select/native-select.d.ts +12 -0
  140. package/lib/components/navigation-menu/index.d.ts +8 -0
  141. package/lib/components/navigation-menu/navigation-menu-content.d.ts +10 -0
  142. package/lib/components/navigation-menu/navigation-menu-grid.d.ts +7 -0
  143. package/lib/components/navigation-menu/navigation-menu-item.d.ts +27 -0
  144. package/lib/components/navigation-menu/navigation-menu-link.d.ts +8 -0
  145. package/lib/components/navigation-menu/navigation-menu-list.d.ts +7 -0
  146. package/lib/components/navigation-menu/navigation-menu-portal.d.ts +7 -0
  147. package/lib/components/navigation-menu/navigation-menu-trigger-icon.d.ts +8 -0
  148. package/lib/components/navigation-menu/navigation-menu-trigger.d.ts +12 -0
  149. package/lib/components/navigation-menu/navigation-menu.d.ts +10 -0
  150. package/lib/components/range-slider/index.d.ts +3 -0
  151. package/lib/components/range-slider/range-slider-max.d.ts +10 -0
  152. package/lib/components/range-slider/range-slider-min.d.ts +10 -0
  153. package/lib/components/range-slider/range-slider-thumb-base.d.ts +2 -0
  154. package/lib/components/range-slider/range-slider.d.ts +21 -0
  155. package/lib/components/scroll-area/index.d.ts +1 -0
  156. package/lib/components/scroll-area/scroll-area.d.ts +7 -0
  157. package/lib/components/select/index.d.ts +5 -1
  158. package/lib/components/select/select-group-label.d.ts +7 -0
  159. package/lib/components/select/select-group.d.ts +7 -0
  160. package/lib/components/select/select-item-icon.d.ts +7 -0
  161. package/lib/components/select/select-list.d.ts +0 -1
  162. package/lib/components/select/select-popup.d.ts +8 -0
  163. package/lib/components/select/select-separator.d.ts +7 -0
  164. package/lib/components/select/select-trigger-icon.d.ts +1 -0
  165. package/lib/components/select/select-trigger.d.ts +3 -4
  166. package/lib/components/select/select.d.ts +3 -2
  167. package/lib/components/slider/index.d.ts +1 -0
  168. package/lib/components/slider/slider.d.ts +15 -0
  169. package/lib/components/time-picker/index.d.ts +10 -0
  170. package/lib/components/time-picker/time-picker-hours-input.d.ts +14 -0
  171. package/lib/components/time-picker/time-picker-input.d.ts +9 -0
  172. package/lib/components/time-picker/time-picker-minutes-input.d.ts +12 -0
  173. package/lib/components/time-picker/time-picker-period-am.d.ts +8 -0
  174. package/lib/components/time-picker/time-picker-period-pm.d.ts +8 -0
  175. package/lib/components/time-picker/time-picker-period.d.ts +12 -0
  176. package/lib/components/time-picker/time-picker-seconds-input.d.ts +12 -0
  177. package/lib/components/time-picker/time-picker-separator.d.ts +7 -0
  178. package/lib/components/time-picker/time-picker.d.ts +26 -0
  179. package/lib/components/typography/heading.d.ts +15 -0
  180. package/lib/components/typography/index.d.ts +1 -0
  181. package/package.json +1 -1
  182. package/esm2022/lib/components/select/select-icon.js.map +0 -1
  183. package/lib/components/select/select-icon.d.ts +0 -7
@@ -0,0 +1,20 @@
1
+ import { computed, Directive, input } from '@angular/core';
2
+ import { cn } from '../../utils';
3
+ import * as i0 from "@angular/core";
4
+ export class ScNavigationMenuList {
5
+ classInput = input('', { ...(ngDevMode ? { debugName: "classInput" } : {}), alias: 'class' });
6
+ class = computed(() => cn('group flex flex-1 list-none items-center justify-center gap-1', this.classInput()), ...(ngDevMode ? [{ debugName: "class" }] : []));
7
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ScNavigationMenuList, deps: [], target: i0.ɵɵFactoryTarget.Directive });
8
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.5", type: ScNavigationMenuList, isStandalone: true, selector: "ul[scNavigationMenuList]", inputs: { classInput: { classPropertyName: "classInput", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "navigation-menu-list" }, properties: { "class": "class()" } }, ngImport: i0 });
9
+ }
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ScNavigationMenuList, decorators: [{
11
+ type: Directive,
12
+ args: [{
13
+ selector: 'ul[scNavigationMenuList]',
14
+ host: {
15
+ 'data-slot': 'navigation-menu-list',
16
+ '[class]': 'class()',
17
+ },
18
+ }]
19
+ }], propDecorators: { classInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }] } });
20
+ //# sourceMappingURL=navigation-menu-list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigation-menu-list.js","sourceRoot":"","sources":["../../../../../../../libs/ui/src/lib/components/navigation-menu/navigation-menu-list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;;AASjC,MAAM,OAAO,oBAAoB;IACtB,UAAU,GAAG,KAAK,CAAS,EAAE,uDAAI,KAAK,EAAE,OAAO,GAAG,CAAC;IAEzC,KAAK,GAAG,QAAQ,CAAC,GAAG,EAAE,CACvC,EAAE,CACA,+DAA+D,EAC/D,IAAI,CAAC,UAAU,EAAE,CAClB,iDACF,CAAC;uGARS,oBAAoB;2FAApB,oBAAoB;;2FAApB,oBAAoB;kBAPhC,SAAS;mBAAC;oBACT,QAAQ,EAAE,0BAA0B;oBACpC,IAAI,EAAE;wBACJ,WAAW,EAAE,sBAAsB;wBACnC,SAAS,EAAE,SAAS;qBACrB;iBACF","sourcesContent":["import { computed, Directive, input } from '@angular/core';\nimport { cn } from '../../utils';\n\n@Directive({\n selector: 'ul[scNavigationMenuList]',\n host: {\n 'data-slot': 'navigation-menu-list',\n '[class]': 'class()',\n },\n})\nexport class ScNavigationMenuList {\n readonly classInput = input<string>('', { alias: 'class' });\n\n protected readonly class = computed(() =>\n cn(\n 'group flex flex-1 list-none items-center justify-center gap-1',\n this.classInput(),\n ),\n );\n}\n"]}
@@ -0,0 +1,14 @@
1
+ import { Directive, inject, TemplateRef } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class ScNavigationMenuPortal {
4
+ templateRef = inject(TemplateRef);
5
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ScNavigationMenuPortal, deps: [], target: i0.ɵɵFactoryTarget.Directive });
6
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.5", type: ScNavigationMenuPortal, isStandalone: true, selector: "ng-template[scNavigationMenuPortal]", ngImport: i0 });
7
+ }
8
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ScNavigationMenuPortal, decorators: [{
9
+ type: Directive,
10
+ args: [{
11
+ selector: 'ng-template[scNavigationMenuPortal]',
12
+ }]
13
+ }] });
14
+ //# sourceMappingURL=navigation-menu-portal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigation-menu-portal.js","sourceRoot":"","sources":["../../../../../../../libs/ui/src/lib/components/navigation-menu/navigation-menu-portal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;;AAK/D,MAAM,OAAO,sBAAsB;IACxB,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;uGADhC,sBAAsB;2FAAtB,sBAAsB;;2FAAtB,sBAAsB;kBAHlC,SAAS;mBAAC;oBACT,QAAQ,EAAE,qCAAqC;iBAChD","sourcesContent":["import { Directive, inject, TemplateRef } from '@angular/core';\n\n@Directive({\n selector: 'ng-template[scNavigationMenuPortal]',\n})\nexport class ScNavigationMenuPortal {\n readonly templateRef = inject(TemplateRef);\n}\n"]}
@@ -0,0 +1,22 @@
1
+ import { computed, Directive, inject, input } from '@angular/core';
2
+ import { cn } from '../../utils';
3
+ import { ScNavigationMenuItem } from './navigation-menu-item';
4
+ import * as i0 from "@angular/core";
5
+ export class ScNavigationMenuTriggerIcon {
6
+ classInput = input('', { ...(ngDevMode ? { debugName: "classInput" } : {}), alias: 'class' });
7
+ menuItem = inject(ScNavigationMenuItem);
8
+ class = computed(() => cn('relative top-[1px] ml-1 size-3 transition duration-300', this.menuItem.open() && 'rotate-180', this.classInput()), ...(ngDevMode ? [{ debugName: "class" }] : []));
9
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ScNavigationMenuTriggerIcon, deps: [], target: i0.ɵɵFactoryTarget.Directive });
10
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.5", type: ScNavigationMenuTriggerIcon, isStandalone: true, selector: "svg[scNavigationMenuTriggerIcon]", inputs: { classInput: { classPropertyName: "classInput", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "navigation-menu-trigger-icon" }, properties: { "class": "class()" } }, ngImport: i0 });
11
+ }
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ScNavigationMenuTriggerIcon, decorators: [{
13
+ type: Directive,
14
+ args: [{
15
+ selector: 'svg[scNavigationMenuTriggerIcon]',
16
+ host: {
17
+ 'data-slot': 'navigation-menu-trigger-icon',
18
+ '[class]': 'class()',
19
+ },
20
+ }]
21
+ }], propDecorators: { classInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }] } });
22
+ //# sourceMappingURL=navigation-menu-trigger-icon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigation-menu-trigger-icon.js","sourceRoot":"","sources":["../../../../../../../libs/ui/src/lib/components/navigation-menu/navigation-menu-trigger-icon.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;;AAS9D,MAAM,OAAO,2BAA2B;IAC7B,UAAU,GAAG,KAAK,CAAS,EAAE,uDAAI,KAAK,EAAE,OAAO,GAAG,CAAC;IAE3C,QAAQ,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAEtC,KAAK,GAAG,QAAQ,CAAC,GAAG,EAAE,CACvC,EAAE,CACA,wDAAwD,EACxD,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,YAAY,EACpC,IAAI,CAAC,UAAU,EAAE,CAClB,iDACF,CAAC;uGAXS,2BAA2B;2FAA3B,2BAA2B;;2FAA3B,2BAA2B;kBAPvC,SAAS;mBAAC;oBACT,QAAQ,EAAE,kCAAkC;oBAC5C,IAAI,EAAE;wBACJ,WAAW,EAAE,8BAA8B;wBAC3C,SAAS,EAAE,SAAS;qBACrB;iBACF","sourcesContent":["import { computed, Directive, inject, input } from '@angular/core';\nimport { cn } from '../../utils';\nimport { ScNavigationMenuItem } from './navigation-menu-item';\n\n@Directive({\n selector: 'svg[scNavigationMenuTriggerIcon]',\n host: {\n 'data-slot': 'navigation-menu-trigger-icon',\n '[class]': 'class()',\n },\n})\nexport class ScNavigationMenuTriggerIcon {\n readonly classInput = input<string>('', { alias: 'class' });\n\n private readonly menuItem = inject(ScNavigationMenuItem);\n\n protected readonly class = computed(() =>\n cn(\n 'relative top-[1px] ml-1 size-3 transition duration-300',\n this.menuItem.open() && 'rotate-180',\n this.classInput(),\n ),\n );\n}\n"]}
@@ -0,0 +1,41 @@
1
+ import { CdkOverlayOrigin } from '@angular/cdk/overlay';
2
+ import { ChangeDetectionStrategy, Component, computed, inject, input, ViewEncapsulation, } from '@angular/core';
3
+ import { SiChevronDownIcon } from '@semantic-icons/lucide-icons';
4
+ import { cn } from '../../utils';
5
+ import { ScNavigationMenuItem } from './navigation-menu-item';
6
+ import { ScNavigationMenuTriggerIcon } from './navigation-menu-trigger-icon';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@angular/cdk/overlay";
9
+ export class ScNavigationMenuTrigger {
10
+ menuItem = inject(ScNavigationMenuItem);
11
+ overlayOrigin = inject(CdkOverlayOrigin);
12
+ classInput = input('', { ...(ngDevMode ? { debugName: "classInput" } : {}), alias: 'class' });
13
+ class = computed(() => cn('group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium', 'hover:bg-accent hover:text-accent-foreground', 'focus:bg-accent focus:text-accent-foreground', 'disabled:pointer-events-none disabled:opacity-50', 'data-[state=open]:hover:bg-accent data-[state=open]:text-accent-foreground data-[state=open]:focus:bg-accent data-[state=open]:bg-accent/50', 'focus-visible:ring-ring/50 outline-none transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1', '[&_svg]:pointer-events-none', this.classInput()), ...(ngDevMode ? [{ debugName: "class" }] : []));
14
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ScNavigationMenuTrigger, deps: [], target: i0.ɵɵFactoryTarget.Component });
15
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.5", type: ScNavigationMenuTrigger, isStandalone: true, selector: "button[scNavigationMenuTrigger]", inputs: { classInput: { classPropertyName: "classInput", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "navigation-menu-trigger", "type": "button" }, properties: { "class": "class()", "attr.aria-expanded": "menuItem.open()", "attr.data-state": "menuItem.open() ? \"open\" : \"closed\"" } }, hostDirectives: [{ directive: i1.CdkOverlayOrigin }], ngImport: i0, template: `
16
+ <ng-content />
17
+ <svg siChevronDownIcon scNavigationMenuTriggerIcon></svg>
18
+ `, isInline: true, dependencies: [{ kind: "component", type: SiChevronDownIcon, selector: "svg[siChevronDownIcon]", inputs: ["width", "height", "viewBox", "fill", "stroke", "stroke-width", "stroke-linecap", "stroke-linejoin"] }, { kind: "directive", type: ScNavigationMenuTriggerIcon, selector: "svg[scNavigationMenuTriggerIcon]", inputs: ["class"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
19
+ }
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ScNavigationMenuTrigger, decorators: [{
21
+ type: Component,
22
+ args: [{
23
+ selector: 'button[scNavigationMenuTrigger]',
24
+ imports: [SiChevronDownIcon, ScNavigationMenuTriggerIcon],
25
+ hostDirectives: [CdkOverlayOrigin],
26
+ template: `
27
+ <ng-content />
28
+ <svg siChevronDownIcon scNavigationMenuTriggerIcon></svg>
29
+ `,
30
+ host: {
31
+ 'data-slot': 'navigation-menu-trigger',
32
+ type: 'button',
33
+ '[class]': 'class()',
34
+ '[attr.aria-expanded]': 'menuItem.open()',
35
+ '[attr.data-state]': 'menuItem.open() ? "open" : "closed"',
36
+ },
37
+ encapsulation: ViewEncapsulation.None,
38
+ changeDetection: ChangeDetectionStrategy.OnPush,
39
+ }]
40
+ }], propDecorators: { classInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }] } });
41
+ //# sourceMappingURL=navigation-menu-trigger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigation-menu-trigger.js","sourceRoot":"","sources":["../../../../../../../libs/ui/src/lib/components/navigation-menu/navigation-menu-trigger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EACL,uBAAuB,EACvB,SAAS,EACT,QAAQ,EACR,MAAM,EACN,KAAK,EACL,iBAAiB,GAClB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,2BAA2B,EAAE,MAAM,gCAAgC,CAAC;;;AAoB7E,MAAM,OAAO,uBAAuB;IACzB,QAAQ,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC;IACxC,aAAa,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;IACzC,UAAU,GAAG,KAAK,CAAS,EAAE,uDAAI,KAAK,EAAE,OAAO,GAAG,CAAC;IAEzC,KAAK,GAAG,QAAQ,CAAC,GAAG,EAAE,CACvC,EAAE,CACA,gHAAgH,EAChH,8CAA8C,EAC9C,8CAA8C,EAC9C,kDAAkD,EAClD,6IAA6I,EAC7I,wHAAwH,EACxH,6BAA6B,EAC7B,IAAI,CAAC,UAAU,EAAE,CAClB,iDACF,CAAC;uGAhBS,uBAAuB;2FAAvB,uBAAuB,8fAdxB;;;GAGT,4DALS,iBAAiB,kLAAE,2BAA2B;;2FAgB7C,uBAAuB;kBAlBnC,SAAS;mBAAC;oBACT,QAAQ,EAAE,iCAAiC;oBAC3C,OAAO,EAAE,CAAC,iBAAiB,EAAE,2BAA2B,CAAC;oBACzD,cAAc,EAAE,CAAC,gBAAgB,CAAC;oBAClC,QAAQ,EAAE;;;GAGT;oBACD,IAAI,EAAE;wBACJ,WAAW,EAAE,yBAAyB;wBACtC,IAAI,EAAE,QAAQ;wBACd,SAAS,EAAE,SAAS;wBACpB,sBAAsB,EAAE,iBAAiB;wBACzC,mBAAmB,EAAE,qCAAqC;qBAC3D;oBACD,aAAa,EAAE,iBAAiB,CAAC,IAAI;oBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;iBAChD","sourcesContent":["import { CdkOverlayOrigin } from '@angular/cdk/overlay';\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n inject,\n input,\n ViewEncapsulation,\n} from '@angular/core';\nimport { SiChevronDownIcon } from '@semantic-icons/lucide-icons';\nimport { cn } from '../../utils';\nimport { ScNavigationMenuItem } from './navigation-menu-item';\nimport { ScNavigationMenuTriggerIcon } from './navigation-menu-trigger-icon';\n\n@Component({\n selector: 'button[scNavigationMenuTrigger]',\n imports: [SiChevronDownIcon, ScNavigationMenuTriggerIcon],\n hostDirectives: [CdkOverlayOrigin],\n template: `\n <ng-content />\n <svg siChevronDownIcon scNavigationMenuTriggerIcon></svg>\n `,\n host: {\n 'data-slot': 'navigation-menu-trigger',\n type: 'button',\n '[class]': 'class()',\n '[attr.aria-expanded]': 'menuItem.open()',\n '[attr.data-state]': 'menuItem.open() ? \"open\" : \"closed\"',\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScNavigationMenuTrigger {\n readonly menuItem = inject(ScNavigationMenuItem);\n readonly overlayOrigin = inject(CdkOverlayOrigin);\n readonly classInput = input<string>('', { alias: 'class' });\n\n protected readonly class = computed(() =>\n cn(\n 'group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium',\n 'hover:bg-accent hover:text-accent-foreground',\n 'focus:bg-accent focus:text-accent-foreground',\n 'disabled:pointer-events-none disabled:opacity-50',\n 'data-[state=open]:hover:bg-accent data-[state=open]:text-accent-foreground data-[state=open]:focus:bg-accent data-[state=open]:bg-accent/50',\n 'focus-visible:ring-ring/50 outline-none transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1',\n '[&_svg]:pointer-events-none',\n this.classInput(),\n ),\n );\n}\n"]}
@@ -0,0 +1,32 @@
1
+ import { ChangeDetectionStrategy, Component, computed, input, signal, ViewEncapsulation, } from '@angular/core';
2
+ import { cn } from '../../utils';
3
+ import * as i0 from "@angular/core";
4
+ export class ScNavigationMenu {
5
+ classInput = input('', { ...(ngDevMode ? { debugName: "classInput" } : {}), alias: 'class' });
6
+ /** Currently active item ID */
7
+ activeItem = signal(null, ...(ngDevMode ? [{ debugName: "activeItem" }] : []));
8
+ class = computed(() => cn('group/navigation-menu relative flex max-w-max flex-1 items-center justify-center', this.classInput()), ...(ngDevMode ? [{ debugName: "class" }] : []));
9
+ setActiveItem(id) {
10
+ this.activeItem.set(id);
11
+ }
12
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ScNavigationMenu, deps: [], target: i0.ɵɵFactoryTarget.Component });
13
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.5", type: ScNavigationMenu, isStandalone: true, selector: "nav[scNavigationMenu]", inputs: { classInput: { classPropertyName: "classInput", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "navigation-menu" }, properties: { "class": "class()" } }, ngImport: i0, template: `
14
+ <ng-content />
15
+ `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
16
+ }
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ScNavigationMenu, decorators: [{
18
+ type: Component,
19
+ args: [{
20
+ selector: 'nav[scNavigationMenu]',
21
+ template: `
22
+ <ng-content />
23
+ `,
24
+ host: {
25
+ 'data-slot': 'navigation-menu',
26
+ '[class]': 'class()',
27
+ },
28
+ encapsulation: ViewEncapsulation.None,
29
+ changeDetection: ChangeDetectionStrategy.OnPush,
30
+ }]
31
+ }], propDecorators: { classInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }] } });
32
+ //# sourceMappingURL=navigation-menu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigation-menu.js","sourceRoot":"","sources":["../../../../../../../libs/ui/src/lib/components/navigation-menu/navigation-menu.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,SAAS,EACT,QAAQ,EACR,KAAK,EACL,MAAM,EACN,iBAAiB,GAClB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;;AAcjC,MAAM,OAAO,gBAAgB;IAClB,UAAU,GAAG,KAAK,CAAS,EAAE,uDAAI,KAAK,EAAE,OAAO,GAAG,CAAC;IAE5D,+BAA+B;IACtB,UAAU,GAAG,MAAM,CAAgB,IAAI,sDAAC,CAAC;IAE/B,KAAK,GAAG,QAAQ,CAAC,GAAG,EAAE,CACvC,EAAE,CACA,kFAAkF,EAClF,IAAI,CAAC,UAAU,EAAE,CAClB,iDACF,CAAC;IAEF,aAAa,CAAC,EAAiB;QAC7B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC1B,CAAC;uGAfU,gBAAgB;2FAAhB,gBAAgB,6TAVjB;;GAET;;2FAQU,gBAAgB;kBAZ5B,SAAS;mBAAC;oBACT,QAAQ,EAAE,uBAAuB;oBACjC,QAAQ,EAAE;;GAET;oBACD,IAAI,EAAE;wBACJ,WAAW,EAAE,iBAAiB;wBAC9B,SAAS,EAAE,SAAS;qBACrB;oBACD,aAAa,EAAE,iBAAiB,CAAC,IAAI;oBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;iBAChD","sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n computed,\n input,\n signal,\n ViewEncapsulation,\n} from '@angular/core';\nimport { cn } from '../../utils';\n\n@Component({\n selector: 'nav[scNavigationMenu]',\n template: `\n <ng-content />\n `,\n host: {\n 'data-slot': 'navigation-menu',\n '[class]': 'class()',\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScNavigationMenu {\n readonly classInput = input<string>('', { alias: 'class' });\n\n /** Currently active item ID */\n readonly activeItem = signal<string | null>(null);\n\n protected readonly class = computed(() =>\n cn(\n 'group/navigation-menu relative flex max-w-max flex-1 items-center justify-center',\n this.classInput(),\n ),\n );\n\n setActiveItem(id: string | null): void {\n this.activeItem.set(id);\n }\n}\n"]}
@@ -0,0 +1,4 @@
1
+ export { ScRangeSlider } from './range-slider';
2
+ export { ScRangeSliderMax } from './range-slider-max';
3
+ export { ScRangeSliderMin } from './range-slider-min';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../libs/ui/src/lib/components/range-slider/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC","sourcesContent":["export { ScRangeSlider } from './range-slider';\nexport { ScRangeSliderMax } from './range-slider-max';\nexport { ScRangeSliderMin } from './range-slider-min';\n"]}
@@ -0,0 +1,38 @@
1
+ import { computed, Directive, inject, input } from '@angular/core';
2
+ import { cn } from '../../utils';
3
+ import { ScRangeSlider } from './range-slider';
4
+ import { MAX_THUMB_CLASSES } from './range-slider-thumb-base';
5
+ import * as i0 from "@angular/core";
6
+ export class ScRangeSliderMax {
7
+ rangeSlider = inject(ScRangeSlider);
8
+ classInput = input('', { ...(ngDevMode ? { debugName: "classInput" } : {}), alias: 'class' });
9
+ class = computed(() => cn(...MAX_THUMB_CLASSES, this.classInput()), ...(ngDevMode ? [{ debugName: "class" }] : []));
10
+ onInput(event) {
11
+ const el = event.target;
12
+ const val = +el.value;
13
+ const clamped = this.rangeSlider.clampMax(val);
14
+ this.rangeSlider.maxValue.set(clamped);
15
+ if (val !== clamped) {
16
+ el.value = String(clamped);
17
+ }
18
+ }
19
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ScRangeSliderMax, deps: [], target: i0.ɵɵFactoryTarget.Directive });
20
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.5", type: ScRangeSliderMax, isStandalone: true, selector: "input[scRangeSliderMax]", inputs: { classInput: { classPropertyName: "classInput", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "type": "range" }, listeners: { "input": "onInput($event)" }, properties: { "min": "rangeSlider.min()", "max": "rangeSlider.max()", "step": "rangeSlider.step()", "disabled": "rangeSlider.disabled()", "value": "rangeSlider.maxValue()", "class": "class()" } }, ngImport: i0 });
21
+ }
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ScRangeSliderMax, decorators: [{
23
+ type: Directive,
24
+ args: [{
25
+ selector: 'input[scRangeSliderMax]',
26
+ host: {
27
+ type: 'range',
28
+ '[min]': 'rangeSlider.min()',
29
+ '[max]': 'rangeSlider.max()',
30
+ '[step]': 'rangeSlider.step()',
31
+ '[disabled]': 'rangeSlider.disabled()',
32
+ '[value]': 'rangeSlider.maxValue()',
33
+ '[class]': 'class()',
34
+ '(input)': 'onInput($event)',
35
+ },
36
+ }]
37
+ }], propDecorators: { classInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }] } });
38
+ //# sourceMappingURL=range-slider-max.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"range-slider-max.js","sourceRoot":"","sources":["../../../../../../../libs/ui/src/lib/components/range-slider/range-slider-max.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AAEjC,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;;AAe9D,MAAM,OAAO,gBAAgB;IACR,WAAW,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;IAE9C,UAAU,GAAG,KAAK,CAAS,EAAE,uDAAI,KAAK,EAAE,OAAO,GAAG,CAAC;IAEzC,KAAK,GAAG,QAAQ,CAAC,GAAG,EAAE,CACvC,EAAE,CAAC,GAAG,iBAAiB,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,iDAC5C,CAAC;IAEQ,OAAO,CAAC,KAAY;QAC5B,MAAM,EAAE,GAAG,KAAK,CAAC,MAA0B,CAAC;QAC5C,MAAM,GAAG,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC;QACtB,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC/C,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAEvC,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;YACpB,EAAE,CAAC,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;uGAlBU,gBAAgB;2FAAhB,gBAAgB;;2FAAhB,gBAAgB;kBAb5B,SAAS;mBAAC;oBACT,QAAQ,EAAE,yBAAyB;oBACnC,IAAI,EAAE;wBACJ,IAAI,EAAE,OAAO;wBACb,OAAO,EAAE,mBAAmB;wBAC5B,OAAO,EAAE,mBAAmB;wBAC5B,QAAQ,EAAE,oBAAoB;wBAC9B,YAAY,EAAE,wBAAwB;wBACtC,SAAS,EAAE,wBAAwB;wBACnC,SAAS,EAAE,SAAS;wBACpB,SAAS,EAAE,iBAAiB;qBAC7B;iBACF","sourcesContent":["import { computed, Directive, inject, input } from '@angular/core';\nimport { cn } from '../../utils';\n\nimport { ScRangeSlider } from './range-slider';\nimport { MAX_THUMB_CLASSES } from './range-slider-thumb-base';\n\n@Directive({\n selector: 'input[scRangeSliderMax]',\n host: {\n type: 'range',\n '[min]': 'rangeSlider.min()',\n '[max]': 'rangeSlider.max()',\n '[step]': 'rangeSlider.step()',\n '[disabled]': 'rangeSlider.disabled()',\n '[value]': 'rangeSlider.maxValue()',\n '[class]': 'class()',\n '(input)': 'onInput($event)',\n },\n})\nexport class ScRangeSliderMax {\n protected readonly rangeSlider = inject(ScRangeSlider);\n\n readonly classInput = input<string>('', { alias: 'class' });\n\n protected readonly class = computed(() =>\n cn(...MAX_THUMB_CLASSES, this.classInput()),\n );\n\n protected onInput(event: Event) {\n const el = event.target as HTMLInputElement;\n const val = +el.value;\n const clamped = this.rangeSlider.clampMax(val);\n this.rangeSlider.maxValue.set(clamped);\n\n if (val !== clamped) {\n el.value = String(clamped);\n }\n }\n}\n"]}
@@ -0,0 +1,38 @@
1
+ import { computed, Directive, inject, input } from '@angular/core';
2
+ import { cn } from '../../utils';
3
+ import { ScRangeSlider } from './range-slider';
4
+ import { MIN_THUMB_CLASSES } from './range-slider-thumb-base';
5
+ import * as i0 from "@angular/core";
6
+ export class ScRangeSliderMin {
7
+ rangeSlider = inject(ScRangeSlider);
8
+ classInput = input('', { ...(ngDevMode ? { debugName: "classInput" } : {}), alias: 'class' });
9
+ class = computed(() => cn(...MIN_THUMB_CLASSES, this.classInput()), ...(ngDevMode ? [{ debugName: "class" }] : []));
10
+ onInput(event) {
11
+ const el = event.target;
12
+ const val = +el.value;
13
+ const clamped = this.rangeSlider.clampMin(val);
14
+ this.rangeSlider.minValue.set(clamped);
15
+ if (val !== clamped) {
16
+ el.value = String(clamped);
17
+ }
18
+ }
19
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ScRangeSliderMin, deps: [], target: i0.ɵɵFactoryTarget.Directive });
20
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.5", type: ScRangeSliderMin, isStandalone: true, selector: "input[scRangeSliderMin]", inputs: { classInput: { classPropertyName: "classInput", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "type": "range" }, listeners: { "input": "onInput($event)" }, properties: { "min": "rangeSlider.min()", "max": "rangeSlider.max()", "step": "rangeSlider.step()", "disabled": "rangeSlider.disabled()", "value": "rangeSlider.minValue()", "class": "class()" } }, ngImport: i0 });
21
+ }
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ScRangeSliderMin, decorators: [{
23
+ type: Directive,
24
+ args: [{
25
+ selector: 'input[scRangeSliderMin]',
26
+ host: {
27
+ type: 'range',
28
+ '[min]': 'rangeSlider.min()',
29
+ '[max]': 'rangeSlider.max()',
30
+ '[step]': 'rangeSlider.step()',
31
+ '[disabled]': 'rangeSlider.disabled()',
32
+ '[value]': 'rangeSlider.minValue()',
33
+ '[class]': 'class()',
34
+ '(input)': 'onInput($event)',
35
+ },
36
+ }]
37
+ }], propDecorators: { classInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }] } });
38
+ //# sourceMappingURL=range-slider-min.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"range-slider-min.js","sourceRoot":"","sources":["../../../../../../../libs/ui/src/lib/components/range-slider/range-slider-min.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AAEjC,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;;AAe9D,MAAM,OAAO,gBAAgB;IACR,WAAW,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;IAE9C,UAAU,GAAG,KAAK,CAAS,EAAE,uDAAI,KAAK,EAAE,OAAO,GAAG,CAAC;IAEzC,KAAK,GAAG,QAAQ,CAAC,GAAG,EAAE,CACvC,EAAE,CAAC,GAAG,iBAAiB,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,iDAC5C,CAAC;IAEQ,OAAO,CAAC,KAAY;QAC5B,MAAM,EAAE,GAAG,KAAK,CAAC,MAA0B,CAAC;QAC5C,MAAM,GAAG,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC;QACtB,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC/C,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAEvC,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;YACpB,EAAE,CAAC,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;uGAlBU,gBAAgB;2FAAhB,gBAAgB;;2FAAhB,gBAAgB;kBAb5B,SAAS;mBAAC;oBACT,QAAQ,EAAE,yBAAyB;oBACnC,IAAI,EAAE;wBACJ,IAAI,EAAE,OAAO;wBACb,OAAO,EAAE,mBAAmB;wBAC5B,OAAO,EAAE,mBAAmB;wBAC5B,QAAQ,EAAE,oBAAoB;wBAC9B,YAAY,EAAE,wBAAwB;wBACtC,SAAS,EAAE,wBAAwB;wBACnC,SAAS,EAAE,SAAS;wBACpB,SAAS,EAAE,iBAAiB;qBAC7B;iBACF","sourcesContent":["import { computed, Directive, inject, input } from '@angular/core';\nimport { cn } from '../../utils';\n\nimport { ScRangeSlider } from './range-slider';\nimport { MIN_THUMB_CLASSES } from './range-slider-thumb-base';\n\n@Directive({\n selector: 'input[scRangeSliderMin]',\n host: {\n type: 'range',\n '[min]': 'rangeSlider.min()',\n '[max]': 'rangeSlider.max()',\n '[step]': 'rangeSlider.step()',\n '[disabled]': 'rangeSlider.disabled()',\n '[value]': 'rangeSlider.minValue()',\n '[class]': 'class()',\n '(input)': 'onInput($event)',\n },\n})\nexport class ScRangeSliderMin {\n protected readonly rangeSlider = inject(ScRangeSlider);\n\n readonly classInput = input<string>('', { alias: 'class' });\n\n protected readonly class = computed(() =>\n cn(...MIN_THUMB_CLASSES, this.classInput()),\n );\n\n protected onInput(event: Event) {\n const el = event.target as HTMLInputElement;\n const val = +el.value;\n const clamped = this.rangeSlider.clampMin(val);\n this.rangeSlider.minValue.set(clamped);\n\n if (val !== clamped) {\n el.value = String(clamped);\n }\n }\n}\n"]}
@@ -0,0 +1,24 @@
1
+ const SHARED_THUMB_CLASSES = [
2
+ 'pointer-events-none absolute top-0 h-full w-full cursor-pointer appearance-none bg-transparent',
3
+ 'disabled:pointer-events-none disabled:opacity-50',
4
+ '[&::-webkit-slider-thumb]:pointer-events-auto [&::-webkit-slider-thumb]:size-3 [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:rounded-full [&::-webkit-slider-thumb]:border-0 [&::-webkit-slider-thumb]:bg-primary [&::-webkit-slider-thumb]:transition-shadow',
5
+ '[&::-webkit-slider-thumb:hover]:shadow-[0_0_0_3px_oklch(from_var(--ring)_l_c_h/0.5)]',
6
+ '[&::-moz-range-thumb]:pointer-events-auto [&::-moz-range-thumb]:size-3 [&::-moz-range-thumb]:appearance-none [&::-moz-range-thumb]:rounded-full [&::-moz-range-thumb]:border-0 [&::-moz-range-thumb]:bg-primary [&::-moz-range-thumb]:transition-shadow',
7
+ '[&::-moz-range-thumb:hover]:shadow-[0_0_0_3px_oklch(from_var(--ring)_l_c_h/0.5)]',
8
+ 'focus-visible:outline-none [&:focus-visible::-webkit-slider-thumb]:shadow-[0_0_0_3px_oklch(from_var(--ring)_l_c_h/0.5)]',
9
+ '[&:focus-visible::-moz-range-thumb]:shadow-[0_0_0_3px_oklch(from_var(--ring)_l_c_h/0.5)]',
10
+ ];
11
+ export const MIN_THUMB_CLASSES = [
12
+ ...SHARED_THUMB_CLASSES,
13
+ 'z-10',
14
+ '[&::-webkit-slider-thumb]:-mt-1.5',
15
+ '[&::-webkit-slider-runnable-track]:appearance-none [&::-webkit-slider-runnable-track]:h-0 [&::-webkit-slider-runnable-track]:bg-transparent',
16
+ '[&::-moz-range-track]:h-0 [&::-moz-range-track]:bg-transparent',
17
+ ];
18
+ export const MAX_THUMB_CLASSES = [
19
+ ...SHARED_THUMB_CLASSES,
20
+ '[&::-webkit-slider-thumb]:-mt-1',
21
+ '[&::-webkit-slider-runnable-track]:h-1 [&::-webkit-slider-runnable-track]:rounded-full [&::-webkit-slider-runnable-track]:bg-[image:linear-gradient(to_right,var(--muted)_var(--min-percent),var(--primary)_var(--min-percent)_var(--max-percent),var(--muted)_var(--max-percent))]',
22
+ '[&::-moz-range-track]:h-1 [&::-moz-range-track]:rounded-full [&::-moz-range-track]:bg-[image:linear-gradient(to_right,var(--muted)_var(--min-percent),var(--primary)_var(--min-percent)_var(--max-percent),var(--muted)_var(--max-percent))]',
23
+ ];
24
+ //# sourceMappingURL=range-slider-thumb-base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"range-slider-thumb-base.js","sourceRoot":"","sources":["../../../../../../../libs/ui/src/lib/components/range-slider/range-slider-thumb-base.ts"],"names":[],"mappings":"AAAA,MAAM,oBAAoB,GAAG;IAC3B,gGAAgG;IAChG,kDAAkD;IAClD,qRAAqR;IACrR,sFAAsF;IACtF,yPAAyP;IACzP,kFAAkF;IAClF,yHAAyH;IACzH,0FAA0F;CAClF,CAAC;AAEX,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,GAAG,oBAAoB;IACvB,MAAM;IACN,mCAAmC;IACnC,6IAA6I;IAC7I,gEAAgE;CACxD,CAAC;AAEX,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,GAAG,oBAAoB;IACvB,iCAAiC;IACjC,qRAAqR;IACrR,8OAA8O;CACtO,CAAC","sourcesContent":["const SHARED_THUMB_CLASSES = [\n 'pointer-events-none absolute top-0 h-full w-full cursor-pointer appearance-none bg-transparent',\n 'disabled:pointer-events-none disabled:opacity-50',\n '[&::-webkit-slider-thumb]:pointer-events-auto [&::-webkit-slider-thumb]:size-3 [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:rounded-full [&::-webkit-slider-thumb]:border-0 [&::-webkit-slider-thumb]:bg-primary [&::-webkit-slider-thumb]:transition-shadow',\n '[&::-webkit-slider-thumb:hover]:shadow-[0_0_0_3px_oklch(from_var(--ring)_l_c_h/0.5)]',\n '[&::-moz-range-thumb]:pointer-events-auto [&::-moz-range-thumb]:size-3 [&::-moz-range-thumb]:appearance-none [&::-moz-range-thumb]:rounded-full [&::-moz-range-thumb]:border-0 [&::-moz-range-thumb]:bg-primary [&::-moz-range-thumb]:transition-shadow',\n '[&::-moz-range-thumb:hover]:shadow-[0_0_0_3px_oklch(from_var(--ring)_l_c_h/0.5)]',\n 'focus-visible:outline-none [&:focus-visible::-webkit-slider-thumb]:shadow-[0_0_0_3px_oklch(from_var(--ring)_l_c_h/0.5)]',\n '[&:focus-visible::-moz-range-thumb]:shadow-[0_0_0_3px_oklch(from_var(--ring)_l_c_h/0.5)]',\n] as const;\n\nexport const MIN_THUMB_CLASSES = [\n ...SHARED_THUMB_CLASSES,\n 'z-10',\n '[&::-webkit-slider-thumb]:-mt-1.5',\n '[&::-webkit-slider-runnable-track]:appearance-none [&::-webkit-slider-runnable-track]:h-0 [&::-webkit-slider-runnable-track]:bg-transparent',\n '[&::-moz-range-track]:h-0 [&::-moz-range-track]:bg-transparent',\n] as const;\n\nexport const MAX_THUMB_CLASSES = [\n ...SHARED_THUMB_CLASSES,\n '[&::-webkit-slider-thumb]:-mt-1',\n '[&::-webkit-slider-runnable-track]:h-1 [&::-webkit-slider-runnable-track]:rounded-full [&::-webkit-slider-runnable-track]:bg-[image:linear-gradient(to_right,var(--muted)_var(--min-percent),var(--primary)_var(--min-percent)_var(--max-percent),var(--muted)_var(--max-percent))]',\n '[&::-moz-range-track]:h-1 [&::-moz-range-track]:rounded-full [&::-moz-range-track]:bg-[image:linear-gradient(to_right,var(--muted)_var(--min-percent),var(--primary)_var(--min-percent)_var(--max-percent),var(--muted)_var(--max-percent))]',\n] as const;\n"]}
@@ -0,0 +1,62 @@
1
+ import { computed, Directive, ElementRef, inject, input, model, } from '@angular/core';
2
+ import { cn } from '../../utils';
3
+ import * as i0 from "@angular/core";
4
+ export class ScRangeSlider {
5
+ el = inject(ElementRef);
6
+ classInput = input('', { ...(ngDevMode ? { debugName: "classInput" } : {}), alias: 'class' });
7
+ minValue = model(0, ...(ngDevMode ? [{ debugName: "minValue" }] : []));
8
+ maxValue = model(100, ...(ngDevMode ? [{ debugName: "maxValue" }] : []));
9
+ min = input(0, ...(ngDevMode ? [{ debugName: "min" }] : []));
10
+ max = input(100, ...(ngDevMode ? [{ debugName: "max" }] : []));
11
+ step = input(1, ...(ngDevMode ? [{ debugName: "step" }] : []));
12
+ disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled" }] : []));
13
+ class = computed(() => cn('relative flex h-3 w-full items-center', this.classInput()), ...(ngDevMode ? [{ debugName: "class" }] : []));
14
+ minPercent = computed(() => {
15
+ const range = this.max() - this.min();
16
+ return range === 0 ? 0 : ((this.minValue() - this.min()) / range) * 100;
17
+ }, ...(ngDevMode ? [{ debugName: "minPercent" }] : []));
18
+ maxPercent = computed(() => {
19
+ const range = this.max() - this.min();
20
+ return range === 0 ? 0 : ((this.maxValue() - this.min()) / range) * 100;
21
+ }, ...(ngDevMode ? [{ debugName: "maxPercent" }] : []));
22
+ minPercentCss = computed(() => `${this.minPercent()}%`, ...(ngDevMode ? [{ debugName: "minPercentCss" }] : []));
23
+ maxPercentCss = computed(() => `${this.maxPercent()}%`, ...(ngDevMode ? [{ debugName: "maxPercentCss" }] : []));
24
+ onPointerDown(event) {
25
+ if (this.disabled()) {
26
+ return;
27
+ }
28
+ const rect = this.el.nativeElement.getBoundingClientRect();
29
+ const percent = ((event.clientX - rect.left) / rect.width) * 100;
30
+ const value = this.min() + (percent / 100) * (this.max() - this.min());
31
+ const stepped = Math.round(value / this.step()) * this.step();
32
+ const distToMin = Math.abs(stepped - this.minValue());
33
+ const distToMax = Math.abs(stepped - this.maxValue());
34
+ if (distToMin <= distToMax) {
35
+ this.minValue.set(this.clampMin(stepped));
36
+ }
37
+ else {
38
+ this.maxValue.set(this.clampMax(stepped));
39
+ }
40
+ }
41
+ clampMin(val) {
42
+ return Math.min(val, this.maxValue());
43
+ }
44
+ clampMax(val) {
45
+ return Math.max(val, this.minValue());
46
+ }
47
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ScRangeSlider, deps: [], target: i0.ɵɵFactoryTarget.Directive });
48
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.5", type: ScRangeSlider, isStandalone: true, selector: "div[scRangeSlider]", inputs: { classInput: { classPropertyName: "classInput", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, minValue: { classPropertyName: "minValue", publicName: "minValue", isSignal: true, isRequired: false, transformFunction: null }, maxValue: { classPropertyName: "maxValue", publicName: "maxValue", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, step: { classPropertyName: "step", publicName: "step", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { minValue: "minValueChange", maxValue: "maxValueChange" }, host: { listeners: { "pointerdown": "onPointerDown($event)" }, properties: { "class": "class()", "style.--min-percent": "minPercentCss()", "style.--max-percent": "maxPercentCss()" } }, ngImport: i0 });
49
+ }
50
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ScRangeSlider, decorators: [{
51
+ type: Directive,
52
+ args: [{
53
+ selector: 'div[scRangeSlider]',
54
+ host: {
55
+ '[class]': 'class()',
56
+ '[style.--min-percent]': 'minPercentCss()',
57
+ '[style.--max-percent]': 'maxPercentCss()',
58
+ '(pointerdown)': 'onPointerDown($event)',
59
+ },
60
+ }]
61
+ }], propDecorators: { classInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }], minValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "minValue", required: false }] }, { type: i0.Output, args: ["minValueChange"] }], maxValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxValue", required: false }] }, { type: i0.Output, args: ["maxValueChange"] }], min: [{ type: i0.Input, args: [{ isSignal: true, alias: "min", required: false }] }], max: [{ type: i0.Input, args: [{ isSignal: true, alias: "max", required: false }] }], step: [{ type: i0.Input, args: [{ isSignal: true, alias: "step", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }] } });
62
+ //# sourceMappingURL=range-slider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"range-slider.js","sourceRoot":"","sources":["../../../../../../../libs/ui/src/lib/components/range-slider/range-slider.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,SAAS,EACT,UAAU,EACV,MAAM,EACN,KAAK,EACL,KAAK,GACN,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;;AAWjC,MAAM,OAAO,aAAa;IACP,EAAE,GAAG,MAAM,CAA0B,UAAU,CAAC,CAAC;IAEzD,UAAU,GAAG,KAAK,CAAS,EAAE,uDAAI,KAAK,EAAE,OAAO,GAAG,CAAC;IAEnD,QAAQ,GAAG,KAAK,CAAS,CAAC,oDAAC,CAAC;IAC5B,QAAQ,GAAG,KAAK,CAAS,GAAG,oDAAC,CAAC;IAE9B,GAAG,GAAG,KAAK,CAAS,CAAC,+CAAC,CAAC;IACvB,GAAG,GAAG,KAAK,CAAS,GAAG,+CAAC,CAAC;IACzB,IAAI,GAAG,KAAK,CAAS,CAAC,gDAAC,CAAC;IACxB,QAAQ,GAAG,KAAK,CAAU,KAAK,oDAAC,CAAC;IAEvB,KAAK,GAAG,QAAQ,CAAC,GAAG,EAAE,CACvC,EAAE,CAAC,uCAAuC,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,iDAC/D,CAAC;IAEO,UAAU,GAAG,QAAQ,CAAC,GAAG,EAAE;QAClC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACtC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC;IAC1E,CAAC,sDAAC,CAAC;IAEM,UAAU,GAAG,QAAQ,CAAC,GAAG,EAAE;QAClC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACtC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC;IAC1E,CAAC,sDAAC,CAAC;IAEgB,aAAa,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,GAAG,yDAAC,CAAC;IACxD,aAAa,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,GAAG,yDAAC,CAAC;IAEjE,aAAa,CAAC,KAAmB;QACzC,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC;QAC3D,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;QACjE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QACvE,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAE9D,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QACtD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAEtD,IAAI,SAAS,IAAI,SAAS,EAAE,CAAC;YAC3B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5C,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,QAAQ,CAAC,GAAW;QAClB,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IACxC,CAAC;IAED,QAAQ,CAAC,GAAW;QAClB,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IACxC,CAAC;uGAxDU,aAAa;2FAAb,aAAa;;2FAAb,aAAa;kBATzB,SAAS;mBAAC;oBACT,QAAQ,EAAE,oBAAoB;oBAC9B,IAAI,EAAE;wBACJ,SAAS,EAAE,SAAS;wBACpB,uBAAuB,EAAE,iBAAiB;wBAC1C,uBAAuB,EAAE,iBAAiB;wBAC1C,eAAe,EAAE,uBAAuB;qBACzC;iBACF","sourcesContent":["import {\n computed,\n Directive,\n ElementRef,\n inject,\n input,\n model,\n} from '@angular/core';\nimport { cn } from '../../utils';\n\n@Directive({\n selector: 'div[scRangeSlider]',\n host: {\n '[class]': 'class()',\n '[style.--min-percent]': 'minPercentCss()',\n '[style.--max-percent]': 'maxPercentCss()',\n '(pointerdown)': 'onPointerDown($event)',\n },\n})\nexport class ScRangeSlider {\n private readonly el = inject<ElementRef<HTMLElement>>(ElementRef);\n\n readonly classInput = input<string>('', { alias: 'class' });\n\n readonly minValue = model<number>(0);\n readonly maxValue = model<number>(100);\n\n readonly min = input<number>(0);\n readonly max = input<number>(100);\n readonly step = input<number>(1);\n readonly disabled = input<boolean>(false);\n\n protected readonly class = computed(() =>\n cn('relative flex h-3 w-full items-center', this.classInput()),\n );\n\n readonly minPercent = computed(() => {\n const range = this.max() - this.min();\n return range === 0 ? 0 : ((this.minValue() - this.min()) / range) * 100;\n });\n\n readonly maxPercent = computed(() => {\n const range = this.max() - this.min();\n return range === 0 ? 0 : ((this.maxValue() - this.min()) / range) * 100;\n });\n\n protected readonly minPercentCss = computed(() => `${this.minPercent()}%`);\n protected readonly maxPercentCss = computed(() => `${this.maxPercent()}%`);\n\n protected onPointerDown(event: PointerEvent) {\n if (this.disabled()) {\n return;\n }\n\n const rect = this.el.nativeElement.getBoundingClientRect();\n const percent = ((event.clientX - rect.left) / rect.width) * 100;\n const value = this.min() + (percent / 100) * (this.max() - this.min());\n const stepped = Math.round(value / this.step()) * this.step();\n\n const distToMin = Math.abs(stepped - this.minValue());\n const distToMax = Math.abs(stepped - this.maxValue());\n\n if (distToMin <= distToMax) {\n this.minValue.set(this.clampMin(stepped));\n } else {\n this.maxValue.set(this.clampMax(stepped));\n }\n }\n\n clampMin(val: number): number {\n return Math.min(val, this.maxValue());\n }\n\n clampMax(val: number): number {\n return Math.max(val, this.minValue());\n }\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export * from './scroll-area';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../libs/ui/src/lib/components/scroll-area/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC","sourcesContent":["export * from './scroll-area';\n"]}
@@ -0,0 +1,21 @@
1
+ import { ChangeDetectionStrategy, Component, computed, input, ViewEncapsulation, } from '@angular/core';
2
+ import { cn } from '../../utils';
3
+ import * as i0 from "@angular/core";
4
+ export class ScScrollArea {
5
+ classInput = input('', { ...(ngDevMode ? { debugName: "classInput" } : {}), alias: 'class' });
6
+ class = computed(() => cn('overflow-auto', this.classInput()), ...(ngDevMode ? [{ debugName: "class" }] : []));
7
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ScScrollArea, deps: [], target: i0.ɵɵFactoryTarget.Component });
8
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.5", type: ScScrollArea, isStandalone: true, selector: "div[scScrollArea]", inputs: { classInput: { classPropertyName: "classInput", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "scroll-area" }, properties: { "class": "class()" } }, ngImport: i0, template: `
9
+ <ng-content />
10
+ `, isInline: true, styles: ["[data-slot=scroll-area]{scrollbar-width:thin;scrollbar-color:transparent transparent}[data-slot=scroll-area]:hover{scrollbar-color:var(--color-border) transparent}[data-slot=scroll-area]::-webkit-scrollbar{width:8px;height:8px}[data-slot=scroll-area]::-webkit-scrollbar-thumb{background-color:transparent;border-radius:9999px}[data-slot=scroll-area]:hover::-webkit-scrollbar-thumb{background-color:var(--color-border)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
11
+ }
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ScScrollArea, decorators: [{
13
+ type: Component,
14
+ args: [{ selector: 'div[scScrollArea]', host: {
15
+ 'data-slot': 'scroll-area',
16
+ '[class]': 'class()',
17
+ }, template: `
18
+ <ng-content />
19
+ `, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, styles: ["[data-slot=scroll-area]{scrollbar-width:thin;scrollbar-color:transparent transparent}[data-slot=scroll-area]:hover{scrollbar-color:var(--color-border) transparent}[data-slot=scroll-area]::-webkit-scrollbar{width:8px;height:8px}[data-slot=scroll-area]::-webkit-scrollbar-thumb{background-color:transparent;border-radius:9999px}[data-slot=scroll-area]:hover::-webkit-scrollbar-thumb{background-color:var(--color-border)}\n"] }]
20
+ }], propDecorators: { classInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }] } });
21
+ //# sourceMappingURL=scroll-area.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scroll-area.js","sourceRoot":"","sources":["../../../../../../../libs/ui/src/lib/components/scroll-area/scroll-area.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,SAAS,EACT,QAAQ,EACR,KAAK,EACL,iBAAiB,GAClB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;;AAkCjC,MAAM,OAAO,YAAY;IACd,UAAU,GAAG,KAAK,CAAS,EAAE,uDAAI,KAAK,EAAE,OAAO,GAAG,CAAC;IAEzC,KAAK,GAAG,QAAQ,CAAC,GAAG,EAAE,CACvC,EAAE,CAAC,eAAe,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,iDACvC,CAAC;uGALS,YAAY;2FAAZ,YAAY,qTA1Bb;;GAET;;2FAwBU,YAAY;kBAhCxB,SAAS;+BACE,mBAAmB,QACvB;wBACJ,WAAW,EAAE,aAAa;wBAC1B,SAAS,EAAE,SAAS;qBACrB,YACS;;GAET,iBAqBc,iBAAiB,CAAC,IAAI,mBACpB,uBAAuB,CAAC,MAAM","sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n computed,\n input,\n ViewEncapsulation,\n} from '@angular/core';\nimport { cn } from '../../utils';\n\n@Component({\n selector: 'div[scScrollArea]',\n host: {\n 'data-slot': 'scroll-area',\n '[class]': 'class()',\n },\n template: `\n <ng-content />\n `,\n styles: `\n [data-slot='scroll-area'] {\n scrollbar-width: thin;\n scrollbar-color: transparent transparent;\n }\n [data-slot='scroll-area']:hover {\n scrollbar-color: var(--color-border) transparent;\n }\n [data-slot='scroll-area']::-webkit-scrollbar {\n width: 8px;\n height: 8px;\n }\n [data-slot='scroll-area']::-webkit-scrollbar-thumb {\n background-color: transparent;\n border-radius: 9999px;\n }\n [data-slot='scroll-area']:hover::-webkit-scrollbar-thumb {\n background-color: var(--color-border);\n }\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScScrollArea {\n readonly classInput = input<string>('', { alias: 'class' });\n\n protected readonly class = computed(() =>\n cn('overflow-auto', this.classInput()),\n );\n}\n"]}
@@ -1,8 +1,12 @@
1
1
  export { ScSelect } from './select';
2
- export { ScSelectIcon } from './select-icon';
2
+ export { ScSelectItemIcon } from './select-item-icon';
3
3
  export { ScSelectTrigger } from './select-trigger';
4
4
  export { ScSelectValue } from './select-value';
5
5
  export { ScSelectPortal } from './select-portal';
6
+ export { ScSelectPopup } from './select-popup';
6
7
  export { ScSelectList } from './select-list';
7
8
  export { ScSelectItem } from './select-item';
9
+ export { ScSelectGroup } from './select-group';
10
+ export { ScSelectGroupLabel } from './select-group-label';
11
+ export { ScSelectSeparator } from './select-separator';
8
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../libs/ui/src/lib/components/select/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC","sourcesContent":["export { ScSelect } from './select';\nexport { ScSelectIcon } from './select-icon';\nexport { ScSelectTrigger } from './select-trigger';\nexport { ScSelectValue } from './select-value';\nexport { ScSelectPortal } from './select-portal';\nexport { ScSelectList } from './select-list';\nexport { ScSelectItem } from './select-item';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../libs/ui/src/lib/components/select/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC","sourcesContent":["export { ScSelect } from './select';\nexport { ScSelectItemIcon } from './select-item-icon';\nexport { ScSelectTrigger } from './select-trigger';\nexport { ScSelectValue } from './select-value';\nexport { ScSelectPortal } from './select-portal';\nexport { ScSelectPopup } from './select-popup';\nexport { ScSelectList } from './select-list';\nexport { ScSelectItem } from './select-item';\nexport { ScSelectGroup } from './select-group';\nexport { ScSelectGroupLabel } from './select-group-label';\nexport { ScSelectSeparator } from './select-separator';\n"]}
@@ -0,0 +1,28 @@
1
+ import { ChangeDetectionStrategy, Component, computed, input, ViewEncapsulation, } from '@angular/core';
2
+ import { cn } from '../../utils';
3
+ import * as i0 from "@angular/core";
4
+ export class ScSelectGroupLabel {
5
+ classInput = input('', { ...(ngDevMode ? { debugName: "classInput" } : {}), alias: 'class' });
6
+ class = computed(() => cn('text-muted-foreground px-2 py-1.5 text-xs font-medium', this.classInput()), ...(ngDevMode ? [{ debugName: "class" }] : []));
7
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ScSelectGroupLabel, deps: [], target: i0.ɵɵFactoryTarget.Component });
8
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.5", type: ScSelectGroupLabel, isStandalone: true, selector: "div[scSelectGroupLabel]", inputs: { classInput: { classPropertyName: "classInput", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "select-group-label" }, properties: { "class": "class()" } }, ngImport: i0, template: `
9
+ <ng-content />
10
+ `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
11
+ }
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ScSelectGroupLabel, decorators: [{
13
+ type: Component,
14
+ args: [{
15
+ selector: 'div[scSelectGroupLabel]',
16
+ imports: [],
17
+ template: `
18
+ <ng-content />
19
+ `,
20
+ host: {
21
+ 'data-slot': 'select-group-label',
22
+ '[class]': 'class()',
23
+ },
24
+ encapsulation: ViewEncapsulation.None,
25
+ changeDetection: ChangeDetectionStrategy.OnPush,
26
+ }]
27
+ }], propDecorators: { classInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }] } });
28
+ //# sourceMappingURL=select-group-label.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select-group-label.js","sourceRoot":"","sources":["../../../../../../../libs/ui/src/lib/components/select/select-group-label.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,SAAS,EACT,QAAQ,EACR,KAAK,EACL,iBAAiB,GAClB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;;AAejC,MAAM,OAAO,kBAAkB;IACpB,UAAU,GAAG,KAAK,CAAS,EAAE,uDAAI,KAAK,EAAE,OAAO,GAAG,CAAC;IAEzC,KAAK,GAAG,QAAQ,CAAC,GAAG,EAAE,CACvC,EAAE,CACA,uDAAuD,EACvD,IAAI,CAAC,UAAU,EAAE,CAClB,iDACF,CAAC;uGARS,kBAAkB;2FAAlB,kBAAkB,kUAVnB;;GAET;;2FAQU,kBAAkB;kBAb9B,SAAS;mBAAC;oBACT,QAAQ,EAAE,yBAAyB;oBACnC,OAAO,EAAE,EAAE;oBACX,QAAQ,EAAE;;GAET;oBACD,IAAI,EAAE;wBACJ,WAAW,EAAE,oBAAoB;wBACjC,SAAS,EAAE,SAAS;qBACrB;oBACD,aAAa,EAAE,iBAAiB,CAAC,IAAI;oBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;iBAChD","sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n computed,\n input,\n ViewEncapsulation,\n} from '@angular/core';\nimport { cn } from '../../utils';\n\n@Component({\n selector: 'div[scSelectGroupLabel]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n 'data-slot': 'select-group-label',\n '[class]': 'class()',\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScSelectGroupLabel {\n readonly classInput = input<string>('', { alias: 'class' });\n\n protected readonly class = computed(() =>\n cn(\n 'text-muted-foreground px-2 py-1.5 text-xs font-medium',\n this.classInput(),\n ),\n );\n}\n"]}
@@ -0,0 +1,28 @@
1
+ import { ChangeDetectionStrategy, Component, computed, input, ViewEncapsulation, } from '@angular/core';
2
+ import { cn } from '../../utils';
3
+ import * as i0 from "@angular/core";
4
+ export class ScSelectGroup {
5
+ classInput = input('', { ...(ngDevMode ? { debugName: "classInput" } : {}), alias: 'class' });
6
+ class = computed(() => cn('flex flex-col', this.classInput()), ...(ngDevMode ? [{ debugName: "class" }] : []));
7
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ScSelectGroup, deps: [], target: i0.ɵɵFactoryTarget.Component });
8
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.5", type: ScSelectGroup, isStandalone: true, selector: "div[scSelectGroup]", inputs: { classInput: { classPropertyName: "classInput", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "select-group" }, properties: { "class": "class()" } }, ngImport: i0, template: `
9
+ <ng-content />
10
+ `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
11
+ }
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ScSelectGroup, decorators: [{
13
+ type: Component,
14
+ args: [{
15
+ selector: 'div[scSelectGroup]',
16
+ imports: [],
17
+ template: `
18
+ <ng-content />
19
+ `,
20
+ host: {
21
+ 'data-slot': 'select-group',
22
+ '[class]': 'class()',
23
+ },
24
+ encapsulation: ViewEncapsulation.None,
25
+ changeDetection: ChangeDetectionStrategy.OnPush,
26
+ }]
27
+ }], propDecorators: { classInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }] } });
28
+ //# sourceMappingURL=select-group.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select-group.js","sourceRoot":"","sources":["../../../../../../../libs/ui/src/lib/components/select/select-group.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,SAAS,EACT,QAAQ,EACR,KAAK,EACL,iBAAiB,GAClB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;;AAejC,MAAM,OAAO,aAAa;IACf,UAAU,GAAG,KAAK,CAAS,EAAE,uDAAI,KAAK,EAAE,OAAO,GAAG,CAAC;IAEzC,KAAK,GAAG,QAAQ,CAAC,GAAG,EAAE,CACvC,EAAE,CAAC,eAAe,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,iDACvC,CAAC;uGALS,aAAa;2FAAb,aAAa,uTAVd;;GAET;;2FAQU,aAAa;kBAbzB,SAAS;mBAAC;oBACT,QAAQ,EAAE,oBAAoB;oBAC9B,OAAO,EAAE,EAAE;oBACX,QAAQ,EAAE;;GAET;oBACD,IAAI,EAAE;wBACJ,WAAW,EAAE,cAAc;wBAC3B,SAAS,EAAE,SAAS;qBACrB;oBACD,aAAa,EAAE,iBAAiB,CAAC,IAAI;oBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;iBAChD","sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n computed,\n input,\n ViewEncapsulation,\n} from '@angular/core';\nimport { cn } from '../../utils';\n\n@Component({\n selector: 'div[scSelectGroup]',\n imports: [],\n template: `\n <ng-content />\n `,\n host: {\n 'data-slot': 'select-group',\n '[class]': 'class()',\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScSelectGroup {\n readonly classInput = input<string>('', { alias: 'class' });\n\n protected readonly class = computed(() =>\n cn('flex flex-col', this.classInput()),\n );\n}\n"]}
@@ -1,21 +1,21 @@
1
1
  import { computed, Directive, input } from '@angular/core';
2
2
  import { cn } from '../../utils';
3
3
  import * as i0 from "@angular/core";
4
- export class ScSelectIcon {
4
+ export class ScSelectItemIcon {
5
5
  classInput = input('', { ...(ngDevMode ? { debugName: "classInput" } : {}), alias: 'class' });
6
6
  class = computed(() => cn('text-muted-foreground size-4 shrink-0', this.classInput()), ...(ngDevMode ? [{ debugName: "class" }] : []));
7
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ScSelectIcon, deps: [], target: i0.ɵɵFactoryTarget.Directive });
8
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.5", type: ScSelectIcon, isStandalone: true, selector: "svg[scSelectIcon]", inputs: { classInput: { classPropertyName: "classInput", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "select-icon", "aria-hidden": "true" }, properties: { "class": "class()" } }, ngImport: i0 });
7
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ScSelectItemIcon, deps: [], target: i0.ɵɵFactoryTarget.Directive });
8
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.5", type: ScSelectItemIcon, isStandalone: true, selector: "svg[scSelectItemIcon]", inputs: { classInput: { classPropertyName: "classInput", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "select-item-icon", "aria-hidden": "true" }, properties: { "class": "class()" } }, ngImport: i0 });
9
9
  }
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ScSelectIcon, decorators: [{
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ScSelectItemIcon, decorators: [{
11
11
  type: Directive,
12
12
  args: [{
13
- selector: 'svg[scSelectIcon]',
13
+ selector: 'svg[scSelectItemIcon]',
14
14
  host: {
15
- 'data-slot': 'select-icon',
15
+ 'data-slot': 'select-item-icon',
16
16
  'aria-hidden': 'true',
17
17
  '[class]': 'class()',
18
18
  },
19
19
  }]
20
20
  }], propDecorators: { classInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }] } });
21
- //# sourceMappingURL=select-icon.js.map
21
+ //# sourceMappingURL=select-item-icon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select-item-icon.js","sourceRoot":"","sources":["../../../../../../../libs/ui/src/lib/components/select/select-item-icon.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;;AAUjC,MAAM,OAAO,gBAAgB;IAClB,UAAU,GAAG,KAAK,CAAS,EAAE,uDAAI,KAAK,EAAE,OAAO,GAAG,CAAC;IAEzC,KAAK,GAAG,QAAQ,CAAC,GAAG,EAAE,CACvC,EAAE,CAAC,uCAAuC,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,iDAC/D,CAAC;uGALS,gBAAgB;2FAAhB,gBAAgB;;2FAAhB,gBAAgB;kBAR5B,SAAS;mBAAC;oBACT,QAAQ,EAAE,uBAAuB;oBACjC,IAAI,EAAE;wBACJ,WAAW,EAAE,kBAAkB;wBAC/B,aAAa,EAAE,MAAM;wBACrB,SAAS,EAAE,SAAS;qBACrB;iBACF","sourcesContent":["import { computed, Directive, input } from '@angular/core';\nimport { cn } from '../../utils';\n\n@Directive({\n selector: 'svg[scSelectItemIcon]',\n host: {\n 'data-slot': 'select-item-icon',\n 'aria-hidden': 'true',\n '[class]': 'class()',\n },\n})\nexport class ScSelectItemIcon {\n readonly classInput = input<string>('', { alias: 'class' });\n\n protected readonly class = computed(() =>\n cn('text-muted-foreground size-4 shrink-0', this.classInput()),\n );\n}\n"]}