@servicetitan/anvil2 1.45.1 → 1.46.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 (171) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/dist/{Calendar-Dq_of5A3.js → Calendar-BQ5F2ENO.js} +1173 -166
  3. package/dist/Calendar-BQ5F2ENO.js.map +1 -0
  4. package/dist/Calendar.css +83 -47
  5. package/dist/Calendar.js +1 -1
  6. package/dist/{Checkbox-3y2d9mBd.js → Checkbox-DDrmVC-u.js} +2 -2
  7. package/dist/{Checkbox-3y2d9mBd.js.map → Checkbox-DDrmVC-u.js.map} +1 -1
  8. package/dist/{Checkbox-BiOzGpgJ.js → Checkbox-Dl4KTwEJ.js} +3 -3
  9. package/dist/{Checkbox-BiOzGpgJ.js.map → Checkbox-Dl4KTwEJ.js.map} +1 -1
  10. package/dist/Checkbox.js +2 -2
  11. package/dist/{useInfiniteCombobox-BN2uGhBh.js → Combobox-B9nesJuc.js} +19 -186
  12. package/dist/Combobox-B9nesJuc.js.map +1 -0
  13. package/dist/Combobox.js +2 -1
  14. package/dist/Combobox.js.map +1 -1
  15. package/dist/{DateField-B2mnasH5.js → DateField-DXxPsRtf.js} +4 -4
  16. package/dist/{DateField-B2mnasH5.js.map → DateField-DXxPsRtf.js.map} +1 -1
  17. package/dist/DateField.js +1 -1
  18. package/dist/{DateFieldRange-DPbyzuHb.js → DateFieldRange-Xauviu1w.js} +34 -28
  19. package/dist/DateFieldRange-Xauviu1w.js.map +1 -0
  20. package/dist/DateFieldRange.js +1 -1
  21. package/dist/{DateFieldSingle-CfAJDcx9.js → DateFieldSingle-yLnwpVzd.js} +27 -27
  22. package/dist/DateFieldSingle-yLnwpVzd.js.map +1 -0
  23. package/dist/DateFieldSingle.js +1 -1
  24. package/dist/{DateFieldYearless-ydxcsmRV.js → DateFieldYearless-Ba7HiTiI.js} +2 -2
  25. package/dist/{DateFieldYearless-ydxcsmRV.js.map → DateFieldYearless-Ba7HiTiI.js.map} +1 -1
  26. package/dist/DateFieldYearless.js +1 -1
  27. package/dist/{DaysOfTheWeek-BYvE9QK5.js → DaysOfTheWeek-BYSYZySH.js} +2 -2
  28. package/dist/{DaysOfTheWeek-BYvE9QK5.js.map → DaysOfTheWeek-BYSYZySH.js.map} +1 -1
  29. package/dist/DaysOfTheWeek.js +1 -1
  30. package/dist/{Dialog-DpH2Qvbd.js → Dialog-CgkrvrQu.js} +2 -2
  31. package/dist/{Dialog-DpH2Qvbd.js.map → Dialog-CgkrvrQu.js.map} +1 -1
  32. package/dist/Dialog.js +1 -1
  33. package/dist/Dnd.js +1 -1
  34. package/dist/DndSort.js +1 -1
  35. package/dist/{Drawer-DI_k6W2k.js → Drawer-CM4ZbAro.js} +2 -2
  36. package/dist/{Drawer-DI_k6W2k.js.map → Drawer-CM4ZbAro.js.map} +1 -1
  37. package/dist/Drawer.js +1 -1
  38. package/dist/{FieldLabel-BfnCXung.js → FieldLabel-BsbTTyom.js} +3 -14
  39. package/dist/FieldLabel-BsbTTyom.js.map +1 -0
  40. package/dist/FieldLabel.js +1 -1
  41. package/dist/{InputMask-O_qi1p_3.js → InputMask-_F139qFu.js} +2 -2
  42. package/dist/{InputMask-O_qi1p_3.js.map → InputMask-_F139qFu.js.map} +1 -1
  43. package/dist/InputMask.js +1 -1
  44. package/dist/{ListView-jR2ZkBB7.js → ListView-pb3rIcze.js} +2 -2
  45. package/dist/{ListView-jR2ZkBB7.js.map → ListView-pb3rIcze.js.map} +1 -1
  46. package/dist/ListView.js +1 -1
  47. package/dist/{NumberField-1_gRsWT4.js → NumberField-CkZZrkYC.js} +5 -5
  48. package/dist/{NumberField-1_gRsWT4.js.map → NumberField-CkZZrkYC.js.map} +1 -1
  49. package/dist/NumberField.js +1 -1
  50. package/dist/{Page-CY6QRlvb.js → Page-cKXkjMmd.js} +2 -2
  51. package/dist/{Page-CY6QRlvb.js.map → Page-cKXkjMmd.js.map} +1 -1
  52. package/dist/Page.js +1 -1
  53. package/dist/{ProgressBar-BnXuQ6Bx.js → ProgressBar-DXcXZEJ2.js} +2 -2
  54. package/dist/{ProgressBar-BnXuQ6Bx.js.map → ProgressBar-DXcXZEJ2.js.map} +1 -1
  55. package/dist/ProgressBar.js +1 -1
  56. package/dist/{Radio-CwmRUIzo.js → Radio-C89VCMXd.js} +2 -2
  57. package/dist/{Radio-CwmRUIzo.js.map → Radio-C89VCMXd.js.map} +1 -1
  58. package/dist/Radio.js +2 -2
  59. package/dist/{RadioGroup-BNCWIHOG.js → RadioGroup-C_4buUtG.js} +2 -2
  60. package/dist/{RadioGroup-BNCWIHOG.js.map → RadioGroup-C_4buUtG.js.map} +1 -1
  61. package/dist/{SearchField-BKXkoWPs.js → SearchField-Bb0uObwG.js} +2 -2
  62. package/dist/{SearchField-BKXkoWPs.js.map → SearchField-Bb0uObwG.js.map} +1 -1
  63. package/dist/SearchField.js +1 -1
  64. package/dist/{SelectCard-DOGCG0zr.js → SelectCard-BTYZg9TG.js} +3 -3
  65. package/dist/{SelectCard-DOGCG0zr.js.map → SelectCard-BTYZg9TG.js.map} +1 -1
  66. package/dist/SelectCard.js +1 -1
  67. package/dist/{SelectTrigger-BMo0e-F7.js → SelectTrigger-f1hvRrSC.js} +2 -2
  68. package/dist/{SelectTrigger-BMo0e-F7.js.map → SelectTrigger-f1hvRrSC.js.map} +1 -1
  69. package/dist/SelectTrigger.js +1 -1
  70. package/dist/{SelectTriggerBase-BMMxnXrw.js → SelectTriggerBase-DP9fmRSo.js} +2 -2
  71. package/dist/{SelectTriggerBase-BMMxnXrw.js.map → SelectTriggerBase-DP9fmRSo.js.map} +1 -1
  72. package/dist/{TextField-CwgE_JJU.js → TextField-BiHxlzE3.js} +2 -2
  73. package/dist/{TextField-CwgE_JJU.js.map → TextField-BiHxlzE3.js.map} +1 -1
  74. package/dist/{TextField-DlsZEkS0.js → TextField-D8fow9j7.js} +2 -2
  75. package/dist/{TextField-DlsZEkS0.js.map → TextField-D8fow9j7.js.map} +1 -1
  76. package/dist/TextField.js +1 -1
  77. package/dist/{Textarea-DU-SpoDL.js → Textarea-BdVJJlbP.js} +2 -2
  78. package/dist/{Textarea-DU-SpoDL.js.map → Textarea-BdVJJlbP.js.map} +1 -1
  79. package/dist/Textarea.js +1 -1
  80. package/dist/{TimeField-CfhyRfX9.js → TimeField-CmbErrsZ.js} +2 -2
  81. package/dist/{TimeField-CfhyRfX9.js.map → TimeField-CmbErrsZ.js.map} +1 -1
  82. package/dist/TimeField.js +1 -1
  83. package/dist/Toast.js +2 -2
  84. package/dist/{Toaster-BgjT0p8b.js → Toaster-9cpG_tWR.js} +2 -2
  85. package/dist/{Toaster-BgjT0p8b.js.map → Toaster-9cpG_tWR.js.map} +1 -1
  86. package/dist/{Toaster-CfC9wod0.js → Toaster-B7zUwJOt.js} +2 -2
  87. package/dist/{Toaster-CfC9wod0.js.map → Toaster-B7zUwJOt.js.map} +1 -1
  88. package/dist/Toolbar-D4zuUFhb.js +2077 -0
  89. package/dist/Toolbar-D4zuUFhb.js.map +1 -0
  90. package/dist/Toolbar.css +139 -28
  91. package/dist/Toolbar.d.ts +3 -3
  92. package/dist/Toolbar.js +1 -1
  93. package/dist/beta/components/Toolbar/Filters/FilterButton.d.ts +30 -0
  94. package/dist/beta/components/Toolbar/Filters/FilterDateRange.d.ts +37 -0
  95. package/dist/beta/components/Toolbar/Filters/FilterDateSingle.d.ts +30 -0
  96. package/dist/beta/components/Toolbar/Filters/FilterDrawer.d.ts +15 -0
  97. package/dist/beta/components/Toolbar/Filters/FilterGroup.d.ts +25 -0
  98. package/dist/beta/components/Toolbar/Filters/FilterItemWrapper.d.ts +24 -0
  99. package/dist/beta/components/Toolbar/Filters/FilterSelect.d.ts +29 -0
  100. package/dist/beta/components/Toolbar/Filters/FilterToggleButton.d.ts +24 -0
  101. package/dist/beta/components/Toolbar/Filters/internal/FilterGroupContext.d.ts +40 -0
  102. package/dist/beta/components/Toolbar/Filters/internal/types.d.ts +130 -0
  103. package/dist/beta/components/Toolbar/Filters/internal/utils/filter-state.d.ts +40 -0
  104. package/dist/beta/components/Toolbar/Filters/internal/utils/test.d.ts +57 -0
  105. package/dist/beta/components/Toolbar/Toolbar.d.ts +302 -0
  106. package/dist/beta/components/Toolbar/ToolbarButton.d.ts +41 -0
  107. package/dist/beta/components/Toolbar/ToolbarButtonLink.d.ts +43 -0
  108. package/dist/beta/components/Toolbar/ToolbarButtonToggle.d.ts +42 -0
  109. package/dist/beta/components/Toolbar/ToolbarControlGroup.d.ts +20 -0
  110. package/dist/beta/components/Toolbar/ToolbarSearchField.d.ts +20 -0
  111. package/dist/beta/components/Toolbar/ToolbarSelect.d.ts +108 -0
  112. package/dist/beta/components/Toolbar/index.d.ts +9 -0
  113. package/dist/beta/components/Toolbar/internal/ToolbarItemOverflowContext.d.ts +19 -0
  114. package/dist/beta/components/Toolbar/internal/ToolbarItemWrapper.d.ts +40 -0
  115. package/dist/beta/components/Toolbar/internal/ToolbarOverflowContext.d.ts +35 -0
  116. package/dist/beta/components/Toolbar/internal/ToolbarOverflowMenu.d.ts +29 -0
  117. package/dist/beta/components/Toolbar/internal/utils/accessibility.d.ts +26 -0
  118. package/dist/beta/components/Toolbar/internal/utils/test.d.ts +29 -0
  119. package/dist/beta/components/Toolbar/types.d.ts +50 -0
  120. package/dist/beta/components/index.d.ts +1 -0
  121. package/dist/beta/index.d.ts +1 -0
  122. package/dist/beta.d.ts +2 -0
  123. package/dist/beta.js +2 -0
  124. package/dist/beta.js.map +1 -0
  125. package/dist/components/Combobox/ComboboxTypes.d.ts +8 -0
  126. package/dist/components/DateFieldRange/DateFieldRange.d.ts +2 -2
  127. package/dist/components/DateFieldRange/internal/DateFieldRangeCalendar.d.ts +1 -1
  128. package/dist/components/DateFieldRange/internal/useDateFieldRangeState.d.ts +2 -7
  129. package/dist/components/DateFieldSingle/DateFieldSingle.d.ts +2 -2
  130. package/dist/components/DateFieldSingle/internal/useDateFieldSingleState.d.ts +2 -7
  131. package/dist/components/Dialog/index.d.ts +1 -1
  132. package/dist/components/NumberField/NumberField.d.ts +4 -4
  133. package/dist/{indeterminate_check_box-Bg24oeHy.js → indeterminate_check_box-RY9zr3xS.js} +17 -17
  134. package/dist/{indeterminate_check_box-Bg24oeHy.js.map → indeterminate_check_box-RY9zr3xS.js.map} +1 -1
  135. package/dist/indeterminate_check_box.css +72 -66
  136. package/dist/{index-CqdP5W00.js → index-V5Ez2gq_.js} +2 -2
  137. package/dist/{index-CqdP5W00.js.map → index-V5Ez2gq_.js.map} +1 -1
  138. package/dist/index.css +125 -26
  139. package/dist/index.js +773 -41
  140. package/dist/index.js.map +1 -1
  141. package/dist/index2.css +88 -105
  142. package/dist/internal/components/YearSelector/YearSelector.d.ts +67 -0
  143. package/dist/internal/components/YearSelector/index.d.ts +1 -0
  144. package/dist/internal/components/YearSelector/internal/YearItem.d.ts +10 -0
  145. package/dist/internal/components/YearSelector/internal/useYearSelectorKeys.d.ts +19 -0
  146. package/dist/internal/hooks/index.d.ts +1 -0
  147. package/dist/internal/hooks/useContainerQuery/index.d.ts +1 -0
  148. package/dist/internal/hooks/useContainerQuery/useContainerQuery.d.ts +46 -0
  149. package/dist/internal/hooks/useFocusWithin/useFocusWithin.d.ts +11 -16
  150. package/dist/types/PassThroughProps.d.ts +4 -0
  151. package/dist/types/index.d.ts +1 -0
  152. package/dist/{useDateFieldOrchestration-Cqa7dxtr.js → useDateFieldOrchestration-BNJCsRkS.js} +2 -2
  153. package/dist/{useDateFieldOrchestration-Cqa7dxtr.js.map → useDateFieldOrchestration-BNJCsRkS.js.map} +1 -1
  154. package/dist/useFocusWithin-BhhgRXdZ.js +32 -0
  155. package/dist/useFocusWithin-BhhgRXdZ.js.map +1 -0
  156. package/dist/useInfiniteCombobox-WcRgC9p6.js +179 -0
  157. package/dist/useInfiniteCombobox-WcRgC9p6.js.map +1 -0
  158. package/dist/useIntersectionObserver-BEmMDO3P.js +70 -0
  159. package/dist/useIntersectionObserver-BEmMDO3P.js.map +1 -0
  160. package/package.json +3 -1
  161. package/dist/Calendar-Dq_of5A3.js.map +0 -1
  162. package/dist/DateFieldRange-DPbyzuHb.js.map +0 -1
  163. package/dist/DateFieldSingle-CfAJDcx9.js.map +0 -1
  164. package/dist/FieldLabel-BfnCXung.js.map +0 -1
  165. package/dist/Toolbar-DK7tXy_W.js +0 -807
  166. package/dist/Toolbar-DK7tXy_W.js.map +0 -1
  167. package/dist/components/Calendar/internal/CalendarYearSelection.d.ts +0 -25
  168. package/dist/useFocusWithin-BhU7hoAD.js +0 -56
  169. package/dist/useFocusWithin-BhU7hoAD.js.map +0 -1
  170. package/dist/useInfiniteCombobox-BN2uGhBh.js.map +0 -1
  171. /package/dist/{useInfiniteCombobox.css → Combobox.css} +0 -0
@@ -1,6 +1,12 @@
1
1
  @layer starter, reset, base, state, application;
2
+ /* REVERT LAYER BUGFIX START */
3
+ [data-anv=checkbox-group] > legend {
4
+ all: revert-layer;
5
+ }
6
+
7
+ /* REVERT LAYER BUGFIX END */
2
8
  @layer reset {
3
- ._checkbox_zshjc_2 {
9
+ ._checkbox_19qga_8 {
4
10
  all: unset;
5
11
  font-family: var(--font-family-base, "Nunito Sans", sans-serif);
6
12
  font-size: 100%;
@@ -15,12 +21,12 @@
15
21
  }
16
22
  }
17
23
  @layer base {
18
- ._wrapper_zshjc_17 {
24
+ ._wrapper_19qga_23 {
19
25
  display: inline-flex;
20
26
  flex-direction: column;
21
27
  gap: 0.25rem;
22
28
  }
23
- ._checkbox_zshjc_2 {
29
+ ._checkbox_19qga_8 {
24
30
  display: inline-flex;
25
31
  align-items: flex-start;
26
32
  gap: 0.5rem;
@@ -29,17 +35,17 @@
29
35
  font-size: 1rem;
30
36
  line-height: 1.5;
31
37
  }
32
- ._checkbox_zshjc_2 ._required-asterisk_zshjc_31 {
38
+ ._checkbox_19qga_8 ._required-asterisk_19qga_37 {
33
39
  margin-inline-start: 0.25rem;
34
40
  color: var(--foreground-color-danger, #e13212);
35
41
  }
36
- ._checkbox_zshjc_2 ._focus-label_zshjc_35 {
42
+ ._checkbox_19qga_8 ._focus-label_19qga_41 {
37
43
  border-radius: 0.75rem;
38
44
  outline: 0 solid var(--focus-ring-color, #0265DC);
39
45
  outline-offset: 2px;
40
46
  transition: background-color 200ms cubic-bezier(0, 0, 0.4, 1), outline 200ms cubic-bezier(0, 0, 0.4, 1);
41
47
  }
42
- ._checkbox_zshjc_2 ._icon-wrapper_zshjc_41 {
48
+ ._checkbox_19qga_8 ._icon-wrapper_19qga_47 {
43
49
  display: inline-flex;
44
50
  border-radius: 0.3125rem;
45
51
  background-color: transparent;
@@ -47,7 +53,7 @@
47
53
  position: relative;
48
54
  outline: 0 solid var(--focus-ring-color, #0265DC);
49
55
  }
50
- ._checkbox_zshjc_2 ._icon-wrapper_zshjc_41::before {
56
+ ._checkbox_19qga_8 ._icon-wrapper_19qga_47::before {
51
57
  position: absolute;
52
58
  width: 100%;
53
59
  height: 100%;
@@ -62,7 +68,7 @@
62
68
  pointer-events: none;
63
69
  border-radius: inherit;
64
70
  }
65
- ._checkbox_zshjc_2 input {
71
+ ._checkbox_19qga_8 input {
66
72
  border: 0;
67
73
  clip: rect(0, 0, 0, 0);
68
74
  height: 1px;
@@ -74,128 +80,128 @@
74
80
  white-space: nowrap;
75
81
  width: 1px;
76
82
  }
77
- ._helper-wrapper_zshjc_74 {
83
+ ._helper-wrapper_19qga_80 {
78
84
  margin-inline-start: 2rem;
79
85
  }
80
86
  }
81
87
  @layer state {
82
- ._checkbox_zshjc_2 ._icon-indeterminate_zshjc_79,
83
- ._checkbox_zshjc_2 ._icon-unchecked_zshjc_80,
84
- ._checkbox_zshjc_2 ._icon-checked_zshjc_81 {
88
+ ._checkbox_19qga_8 ._icon-indeterminate_19qga_85,
89
+ ._checkbox_19qga_8 ._icon-unchecked_19qga_86,
90
+ ._checkbox_19qga_8 ._icon-checked_19qga_87 {
85
91
  border-radius: 0.1875rem;
86
92
  }
87
- ._checkbox_zshjc_2 ._icon-checked_zshjc_81,
88
- ._checkbox_zshjc_2 ._icon-indeterminate_zshjc_79 {
93
+ ._checkbox_19qga_8 ._icon-checked_19qga_87,
94
+ ._checkbox_19qga_8 ._icon-indeterminate_19qga_85 {
89
95
  color: var(--checkbox-checked-fill-color-default, #0265DC);
90
96
  display: none;
91
97
  }
92
- ._checkbox_zshjc_2 ._icon-checked_zshjc_81:hover,
93
- ._checkbox_zshjc_2 ._icon-indeterminate_zshjc_79:hover {
98
+ ._checkbox_19qga_8 ._icon-checked_19qga_87:hover,
99
+ ._checkbox_19qga_8 ._icon-indeterminate_19qga_85:hover {
94
100
  color: var(--checkbox-checked-fill-color-hover, rgba(0, 75, 160, 0.8196078431));
95
101
  }
96
- ._checkbox_zshjc_2 ._icon-checked_zshjc_81:active,
97
- ._checkbox_zshjc_2 ._icon-indeterminate_zshjc_79:active {
102
+ ._checkbox_19qga_8 ._icon-checked_19qga_87:active,
103
+ ._checkbox_19qga_8 ._icon-indeterminate_19qga_85:active {
98
104
  color: var(--checkbox-checked-fill-color-active, rgba(1, 81, 175, 0.7215686275));
99
105
  }
100
- ._checkbox_zshjc_2._error_zshjc_97 ._icon-wrapper_zshjc_41 {
106
+ ._checkbox_19qga_8._error_19qga_103 ._icon-wrapper_19qga_47 {
101
107
  outline-color: var(--focus-ring-color-danger, #e13212);
102
108
  }
103
- ._checkbox_zshjc_2._error_zshjc_97 ._icon-indeterminate_zshjc_79,
104
- ._checkbox_zshjc_2._error_zshjc_97 ._icon-unchecked_zshjc_80,
105
- ._checkbox_zshjc_2._error_zshjc_97 ._icon-checked_zshjc_81 {
109
+ ._checkbox_19qga_8._error_19qga_103 ._icon-indeterminate_19qga_85,
110
+ ._checkbox_19qga_8._error_19qga_103 ._icon-unchecked_19qga_86,
111
+ ._checkbox_19qga_8._error_19qga_103 ._icon-checked_19qga_87 {
106
112
  color: var(--checkbox-checked-error-fill-color-default, #e13212);
107
113
  }
108
- ._checkbox_zshjc_2._error_zshjc_97 ._icon-indeterminate_zshjc_79:hover,
109
- ._checkbox_zshjc_2._error_zshjc_97 ._icon-unchecked_zshjc_80:hover,
110
- ._checkbox_zshjc_2._error_zshjc_97 ._icon-checked_zshjc_81:hover {
114
+ ._checkbox_19qga_8._error_19qga_103 ._icon-indeterminate_19qga_85:hover,
115
+ ._checkbox_19qga_8._error_19qga_103 ._icon-unchecked_19qga_86:hover,
116
+ ._checkbox_19qga_8._error_19qga_103 ._icon-checked_19qga_87:hover {
111
117
  color: var(--checkbox-checked-error-fill-color-hover, #bf2a00);
112
118
  }
113
- ._checkbox_zshjc_2._error_zshjc_97 ._icon-indeterminate_zshjc_79:active,
114
- ._checkbox_zshjc_2._error_zshjc_97 ._icon-unchecked_zshjc_80:active,
115
- ._checkbox_zshjc_2._error_zshjc_97 ._icon-checked_zshjc_81:active {
119
+ ._checkbox_19qga_8._error_19qga_103 ._icon-indeterminate_19qga_85:active,
120
+ ._checkbox_19qga_8._error_19qga_103 ._icon-unchecked_19qga_86:active,
121
+ ._checkbox_19qga_8._error_19qga_103 ._icon-checked_19qga_87:active {
116
122
  color: var(--checkbox-checked-error-fill-color-active, #bf2a00);
117
123
  }
118
- ._checkbox_zshjc_2._error_zshjc_97 ._icon-checked_zshjc_81,
119
- ._checkbox_zshjc_2._error_zshjc_97 ._icon-indeterminate_zshjc_79 {
124
+ ._checkbox_19qga_8._error_19qga_103 ._icon-checked_19qga_87,
125
+ ._checkbox_19qga_8._error_19qga_103 ._icon-indeterminate_19qga_85 {
120
126
  display: none;
121
127
  }
122
- ._checkbox_zshjc_2:hover {
128
+ ._checkbox_19qga_8:hover {
123
129
  cursor: pointer;
124
130
  }
125
- ._checkbox_zshjc_2:hover:has(input:not(:disabled)) ._icon-wrapper_zshjc_41 {
131
+ ._checkbox_19qga_8:hover:has(input:not(:disabled)) ._icon-wrapper_19qga_47 {
126
132
  background-color: var(--checkbox-unchecked-background-color-hover, rgba(20, 20, 20, 0.0784313725));
127
133
  }
128
- ._checkbox_zshjc_2:hover:has(input:not(:disabled):checked) ._icon-wrapper_zshjc_41 {
134
+ ._checkbox_19qga_8:hover:has(input:not(:disabled):checked) ._icon-wrapper_19qga_47 {
129
135
  background-color: var(--checkbox-checked-background-color-hover, rgba(2, 101, 220, 0.0784313725));
130
136
  }
131
- ._checkbox_zshjc_2 input[data-interactive=hover]:not(:disabled) ~ ._icon-wrapper_zshjc_41 {
137
+ ._checkbox_19qga_8 input[data-interactive=hover]:not(:disabled) ~ ._icon-wrapper_19qga_47 {
132
138
  background-color: var(--checkbox-unchecked-background-color-hover, rgba(20, 20, 20, 0.0784313725));
133
139
  }
134
- ._checkbox_zshjc_2 input[data-interactive=hover]:not(:disabled):checked ~ ._icon-wrapper_zshjc_41 {
140
+ ._checkbox_19qga_8 input[data-interactive=hover]:not(:disabled):checked ~ ._icon-wrapper_19qga_47 {
135
141
  background-color: var(--checkbox-checked-background-color-hover, rgba(2, 101, 220, 0.0784313725));
136
142
  }
137
- ._checkbox_zshjc_2 input[data-interactive=hover]:not(:disabled):checked ~ ._icon-wrapper_zshjc_41 ._icon-checked_zshjc_81,
138
- ._checkbox_zshjc_2 input[data-interactive=hover]:not(:disabled):checked ~ ._icon-wrapper_zshjc_41 ._icon-indeterminate_zshjc_79 {
143
+ ._checkbox_19qga_8 input[data-interactive=hover]:not(:disabled):checked ~ ._icon-wrapper_19qga_47 ._icon-checked_19qga_87,
144
+ ._checkbox_19qga_8 input[data-interactive=hover]:not(:disabled):checked ~ ._icon-wrapper_19qga_47 ._icon-indeterminate_19qga_85 {
139
145
  color: var(--checkbox-checked-fill-color-hover, rgba(0, 75, 160, 0.8196078431));
140
146
  }
141
- ._checkbox_zshjc_2._error_zshjc_97:hover {
147
+ ._checkbox_19qga_8._error_19qga_103:hover {
142
148
  cursor: pointer;
143
149
  }
144
- ._checkbox_zshjc_2._error_zshjc_97:hover:has(input:not(:disabled)) ._icon-wrapper_zshjc_41 {
150
+ ._checkbox_19qga_8._error_19qga_103:hover:has(input:not(:disabled)) ._icon-wrapper_19qga_47 {
145
151
  background-color: var(--checkbox-unchecked-error-background-color-hover, rgba(225, 50, 18, 0.0588235294));
146
152
  }
147
- ._checkbox_zshjc_2._error_zshjc_97:hover:has(input:not(:disabled):checked) ._icon-wrapper_zshjc_41 {
153
+ ._checkbox_19qga_8._error_19qga_103:hover:has(input:not(:disabled):checked) ._icon-wrapper_19qga_47 {
148
154
  background-color: var(--checkbox-checked-error-background-color-hover, rgba(225, 50, 18, 0.0588235294));
149
155
  }
150
- ._checkbox_zshjc_2._error_zshjc_97 input[data-interactive=hover]:not(:disabled) ~ ._icon-wrapper_zshjc_41 {
156
+ ._checkbox_19qga_8._error_19qga_103 input[data-interactive=hover]:not(:disabled) ~ ._icon-wrapper_19qga_47 {
151
157
  background-color: var(--checkbox-unchecked-error-background-color-hover, rgba(225, 50, 18, 0.0588235294));
152
158
  }
153
- ._checkbox_zshjc_2._error_zshjc_97 input[data-interactive=hover]:not(:disabled):checked ~ ._icon-wrapper_zshjc_41 {
159
+ ._checkbox_19qga_8._error_19qga_103 input[data-interactive=hover]:not(:disabled):checked ~ ._icon-wrapper_19qga_47 {
154
160
  background-color: var(--checkbox-checked-error-background-color-hover, rgba(225, 50, 18, 0.0588235294));
155
161
  }
156
- ._checkbox_zshjc_2._error_zshjc_97 input[data-interactive=hover]:not(:disabled):checked ~ ._icon-wrapper_zshjc_41 ._icon-checked_zshjc_81,
157
- ._checkbox_zshjc_2._error_zshjc_97 input[data-interactive=hover]:not(:disabled):checked ~ ._icon-wrapper_zshjc_41 ._icon-indeterminate_zshjc_79 {
162
+ ._checkbox_19qga_8._error_19qga_103 input[data-interactive=hover]:not(:disabled):checked ~ ._icon-wrapper_19qga_47 ._icon-checked_19qga_87,
163
+ ._checkbox_19qga_8._error_19qga_103 input[data-interactive=hover]:not(:disabled):checked ~ ._icon-wrapper_19qga_47 ._icon-indeterminate_19qga_85 {
158
164
  color: var(--checkbox-checked-error-fill-color-hover, #bf2a00);
159
165
  }
160
- ._checkbox_zshjc_2 input:focus-visible ~ ._icon-wrapper_zshjc_41,
161
- ._checkbox_zshjc_2 input:focus-visible ~ ._focus-label_zshjc_35 {
166
+ ._checkbox_19qga_8 input:focus-visible ~ ._icon-wrapper_19qga_47,
167
+ ._checkbox_19qga_8 input:focus-visible ~ ._focus-label_19qga_41 {
162
168
  outline-width: 0.125rem;
163
169
  }
164
- ._checkbox_zshjc_2 input[data-interactive=focus-visible]:not(:disabled) ~ ._icon-wrapper_zshjc_41,
165
- ._checkbox_zshjc_2 input[data-interactive=focus-visible]:not(:disabled) ~ ._focus-label_zshjc_35 {
170
+ ._checkbox_19qga_8 input[data-interactive=focus-visible]:not(:disabled) ~ ._icon-wrapper_19qga_47,
171
+ ._checkbox_19qga_8 input[data-interactive=focus-visible]:not(:disabled) ~ ._focus-label_19qga_41 {
166
172
  outline-width: 0.125rem;
167
173
  }
168
- ._checkbox_zshjc_2 input:checked ~ ._icon-wrapper_zshjc_41 ._icon-unchecked_zshjc_80 {
174
+ ._checkbox_19qga_8 input:checked ~ ._icon-wrapper_19qga_47 ._icon-unchecked_19qga_86 {
169
175
  display: none;
170
176
  }
171
- ._checkbox_zshjc_2 input:checked ~ ._icon-wrapper_zshjc_41 ._icon-checked_zshjc_81 {
177
+ ._checkbox_19qga_8 input:checked ~ ._icon-wrapper_19qga_47 ._icon-checked_19qga_87 {
172
178
  display: inline-flex;
173
179
  }
174
- ._checkbox_zshjc_2 input:checked:focus-visible ~ ._icon-wrapper_zshjc_41, ._checkbox_zshjc_2 input:checked:focus-visible ~ ._focus-label_zshjc_35 {
180
+ ._checkbox_19qga_8 input:checked:focus-visible ~ ._icon-wrapper_19qga_47, ._checkbox_19qga_8 input:checked:focus-visible ~ ._focus-label_19qga_41 {
175
181
  outline-width: 0.125rem;
176
182
  }
177
- ._checkbox_zshjc_2 input[aria-checked=mixed] ~ ._icon-wrapper_zshjc_41 ._icon-checked_zshjc_81, ._checkbox_zshjc_2 input[aria-checked=mixed] ~ ._icon-wrapper_zshjc_41 ._icon-unchecked_zshjc_80 {
183
+ ._checkbox_19qga_8 input[aria-checked=mixed] ~ ._icon-wrapper_19qga_47 ._icon-checked_19qga_87, ._checkbox_19qga_8 input[aria-checked=mixed] ~ ._icon-wrapper_19qga_47 ._icon-unchecked_19qga_86 {
178
184
  display: none;
179
185
  }
180
- ._checkbox_zshjc_2 input[aria-checked=mixed] ~ ._icon-wrapper_zshjc_41 ._icon-indeterminate_zshjc_79 {
186
+ ._checkbox_19qga_8 input[aria-checked=mixed] ~ ._icon-wrapper_19qga_47 ._icon-indeterminate_19qga_85 {
181
187
  display: inline-flex;
182
188
  }
183
- ._checkbox_zshjc_2:has(input[disabled]) {
189
+ ._checkbox_19qga_8:has(input[disabled]) {
184
190
  opacity: 0.6;
185
191
  filter: grayscale(1);
186
192
  }
187
- ._checkbox_zshjc_2:has(input[disabled]) ._icon-indeterminate_zshjc_79,
188
- ._checkbox_zshjc_2:has(input[disabled]) ._icon-unchecked_zshjc_80,
189
- ._checkbox_zshjc_2:has(input[disabled]) ._icon-checked_zshjc_81 {
193
+ ._checkbox_19qga_8:has(input[disabled]) ._icon-indeterminate_19qga_85,
194
+ ._checkbox_19qga_8:has(input[disabled]) ._icon-unchecked_19qga_86,
195
+ ._checkbox_19qga_8:has(input[disabled]) ._icon-checked_19qga_87 {
190
196
  color: var(--foreground-color-subdued, #737475);
191
197
  }
192
- ._checkbox_zshjc_2:has(input[disabled]):hover {
198
+ ._checkbox_19qga_8:has(input[disabled]):hover {
193
199
  cursor: not-allowed;
194
200
  }
195
- ._checkbox_zshjc_2:has(input[disabled]):hover ._icon-wrapper_zshjc_41 {
201
+ ._checkbox_19qga_8:has(input[disabled]):hover ._icon-wrapper_19qga_47 {
196
202
  box-shadow: none;
197
203
  }
198
- ._sr-only_zshjc_195 {
204
+ ._sr-only_19qga_201 {
199
205
  border: 0;
200
206
  clip: rect(0, 0, 0, 0);
201
207
  height: 1px;
@@ -209,19 +215,19 @@
209
215
  }
210
216
  }
211
217
  @layer application {
212
- ._checkbox-group_zshjc_209 ._label_zshjc_209._direction-row_zshjc_209 {
218
+ ._checkbox-group_19qga_215 ._label_19qga_215._direction-row_19qga_215 {
213
219
  min-height: 1.5rem;
214
220
  justify-content: center;
215
221
  }
216
222
  @media (prefers-reduced-motion: reduce) {
217
- ._checkbox_zshjc_2 ._icon-wrapper_zshjc_41 {
223
+ ._checkbox_19qga_8 ._icon-wrapper_19qga_47 {
218
224
  transition-duration: 0.01ms !important;
219
225
  transition-property: outline;
220
226
  }
221
227
  }
222
228
  }
223
229
  @layer reset {
224
- ._checkbox-group_zshjc_209 {
230
+ ._checkbox-group_19qga_215 {
225
231
  all: unset;
226
232
  font-family: var(--font-family-base, "Nunito Sans", sans-serif);
227
233
  font-size: 100%;
@@ -236,12 +242,12 @@
236
242
  }
237
243
  }
238
244
  @layer base {
239
- ._checkbox-group_zshjc_209 {
245
+ ._checkbox-group_19qga_215 {
240
246
  display: inline-flex;
241
247
  gap: 0.5rem;
242
248
  flex-direction: column;
243
249
  }
244
- ._checkbox-group_zshjc_209 ._legend_zshjc_241 {
250
+ ._checkbox-group_19qga_215 ._legend_19qga_247 {
245
251
  border: 0;
246
252
  clip: rect(0, 0, 0, 0);
247
253
  height: 1px;
@@ -253,7 +259,7 @@
253
259
  white-space: nowrap;
254
260
  width: 1px;
255
261
  }
256
- ._checkbox-group_zshjc_209 ._children_zshjc_253 {
262
+ ._checkbox-group_19qga_215 ._children_19qga_259 {
257
263
  display: inline-flex;
258
264
  gap: 0.5rem;
259
265
  flex-direction: column;
@@ -5,7 +5,7 @@ import { forwardRef } from 'react';
5
5
  import { c as cx } from './index-tZvMCc77.js';
6
6
  import { B as ButtonCompound } from './ButtonCompound-BF2Q6gGX.js';
7
7
 
8
- import './index2.css';const SvgDragIndicator = (props) => /* @__PURE__ */ React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", width: "1em", height: "1em", viewBox: "0 0 24 24", ...props }, /* @__PURE__ */ React.createElement("path", { d: "M11 18c0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2 2 .9 2 2zm-2-8c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0-6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm6 4c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z" }));
8
+ import './index.css';const SvgDragIndicator = (props) => /* @__PURE__ */ React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", width: "1em", height: "1em", viewBox: "0 0 24 24", ...props }, /* @__PURE__ */ React.createElement("path", { d: "M11 18c0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2 2 .9 2 2zm-2-8c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0-6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm6 4c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z" }));
9
9
 
10
10
  const handle = "_handle_z85jk_2";
11
11
  const active = "_active_z85jk_24";
@@ -103,4 +103,4 @@ const Dnd = {
103
103
  };
104
104
 
105
105
  export { Dnd as D, DndSortLine as a, DndHandleButton as b, DndHandle as c, styles as s };
106
- //# sourceMappingURL=index-CqdP5W00.js.map
106
+ //# sourceMappingURL=index-V5Ez2gq_.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-CqdP5W00.js","sources":["../../hammer-icon/mdi/round/drag_indicator.svg","../src/components/Dnd/DndHandle.tsx","../src/components/Dnd/DndHandleButton.tsx","../src/components/Dnd/DndSortLine.tsx","../src/components/Dnd/DndZone.tsx","../src/components/Dnd/index.ts"],"sourcesContent":["import * as React from \"react\";\nconst SvgDragIndicator = (props) => /* @__PURE__ */ React.createElement(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", width: \"1em\", height: \"1em\", viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M11 18c0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2 2 .9 2 2zm-2-8c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0-6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm6 4c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z\" }));\nexport default SvgDragIndicator;\n","import { Icon } from \"../Icon\";\nimport DragIndicator from \"@servicetitan/hammer-icon/mdi/round/drag_indicator.svg\";\nimport styles from \"./DndHandle.module.scss\";\nimport cx from \"classnames\";\n\n/**\n * Props for the DndHandle component\n */\nexport type DndHandleProps = {\n /**\n * Additional CSS class names to apply to the drag handle.\n */\n className?: string;\n};\n\n/**\n * A reusable drag handle icon component for drag and drop interactions.\n *\n * Features:\n * - Standardized drag indicator icon\n * - Accessible with proper ARIA attributes\n * - Customizable styling through className prop\n * - Consistent visual appearance across applications\n * - Lightweight and performant\n * - Supports all standard HTML element props\n *\n * @example\n * <DndHandle className=\"custom-drag-handle\" />\n */\nexport function DndHandle({ className }: { className?: string }) {\n const handleClasses = cx(styles.handle, className);\n return (\n <Icon svg={DragIndicator} className={handleClasses} role=\"presentation\" />\n );\n}\n","import { ButtonCompound } from \"../ButtonCompound\";\nimport handleStyles from \"./DndHandle.module.scss\";\nimport cx from \"classnames\";\nimport { forwardRef } from \"react\";\nimport { DndHandle } from \"./DndHandle\";\n\n/**\n * Props for the DndHandleButton component\n * @extends React.ComponentPropsWithoutRef<typeof ButtonCompound>\n */\nexport interface DndHandleButtonProps\n extends React.ComponentPropsWithoutRef<typeof ButtonCompound> {\n /**\n * Indicates whether the handle is currently being dragged.\n * @default false\n */\n isActive?: boolean;\n}\n\n/**\n * A reusable drag handle button component for drag and drop functionality.\n *\n * Features:\n * - Interactive button with drag handle icon\n * - Visual feedback for active drag state\n * - Accessible with proper ARIA attributes\n * - Extends ButtonCompound functionality\n * - Customizable styling through className prop\n * - Supports all standard button props\n * - Consistent visual appearance across applications\n *\n * @example\n * <DndHandleButton\n * isActive={isDragging}\n * className=\"custom-handle-button\"\n * onClick={handleClick}\n * />\n */\nexport const DndHandleButton = forwardRef<\n HTMLButtonElement,\n DndHandleButtonProps\n>(({ isActive = false, className, ...props }, ref) => {\n const handleButtonClasses = cx(className, handleStyles[\"handle-button\"], {\n [handleStyles[\"active\"]]: isActive,\n });\n\n return (\n <ButtonCompound\n ref={ref}\n className={handleButtonClasses}\n type=\"button\"\n shape=\"rounded\"\n {...props}\n >\n <DndHandle />\n </ButtonCompound>\n );\n});\n\nDndHandleButton.displayName = \"DndHandleButton\";\n","import cx from \"classnames\";\n\nimport styles from \"./Dnd.module.scss\";\nimport { CSSProperties } from \"react\";\n\n/**\n * Props for the DndSortLine component\n * @extends React.ComponentPropsWithoutRef<\"div\">\n */\nexport type SortLineProps = React.ComponentPropsWithoutRef<\"div\"> & {\n /**\n * The offset of the line from the item. This is a CSS value, typically negative.\n */\n offset: string;\n /**\n * The orientation of the sort - Note this may be counterintuitive, as the line is rendered perpendicular to the sort.\n */\n orientation: \"horizontal\" | \"vertical\";\n /**\n * The position of the line relative to a target item.\n */\n position: \"before\" | \"after\";\n};\n\n/**\n * A visual indicator line that shows where an item will be dropped during drag and drop operations.\n *\n * Features:\n * - Visual feedback for drop positioning\n * - Configurable orientation (horizontal/vertical)\n * - Adjustable positioning (before/after)\n * - Customizable offset for precise placement\n * - Accessible with proper ARIA attributes\n * - Automatic CSS class management\n * - Supports all standard HTML div props\n *\n * @example\n * <DndSortLine\n * offset=\"-10px\"\n * orientation=\"vertical\"\n * position=\"after\"\n * className=\"custom-drop-line\"\n * />\n */\nexport const DndSortLine = ({\n offset,\n orientation,\n position,\n ...rest\n}: SortLineProps) => {\n const classes = cx(\n styles[\"drop-line\"],\n styles[`orientation-${orientation}`],\n styles[`position-${position}`],\n );\n\n return (\n <div\n aria-hidden\n className={classes}\n style={{ \"--drop-line-offset\": offset } as CSSProperties}\n {...rest}\n />\n );\n};\n","import { ElementType, forwardRef, ReactNode } from \"react\";\nimport cx from \"classnames\";\n\nimport styles from \"./Dnd.module.scss\";\n\n/**\n * Props for the DndZone component\n * @extends Omit<React.ComponentPropsWithoutRef<T>, \"el\" | \"ref\">\n */\nexport type DndZoneProps<T extends ElementType = \"div\"> = {\n /**\n * The HTML element type to render. Can be any valid HTML element or React component.\n * @default \"div\"\n */\n el?: T;\n /**\n * The content to be rendered inside the drop zone.\n */\n children?: ReactNode;\n /**\n * Additional CSS class names to apply to the drop zone.\n */\n className?: string;\n /**\n * Indicates whether a draggable item is currently over this drop zone.\n */\n isOver: boolean;\n /**\n * Indicates whether the current drag operation is valid for this drop zone.\n */\n isValid: boolean;\n /**\n * Indicates whether any item is currently being dragged.\n */\n isDragging: boolean;\n} & Omit<React.ComponentPropsWithoutRef<T>, \"el\" | \"ref\">;\n\n/**\n * Base styling component for drop zones that handles visual states and styling.\n *\n * Features:\n * - Configurable HTML element rendering with the 'el' prop\n * - Visual feedback for drag states (over, valid, dragging)\n * - Automatic CSS class management based on drag state\n * - Supports all standard HTML element props\n * - Accessible with proper ARIA attributes\n * - Flexible styling through className prop\n * - Responsive design that adapts to container\n *\n * @example\n * <DndZone\n * isOver={isOver}\n * isValid={isValid}\n * isDragging={isDragging}\n * className=\"custom-drop-zone\"\n * >\n * Drop items here\n * </DndZone>\n */\nexport const DndZone = forwardRef<HTMLDivElement, DndZoneProps<ElementType>>(\n (\n {\n el: Component = \"div\" as ElementType,\n children,\n className,\n isDragging,\n isOver,\n isValid,\n ...rest\n },\n ref,\n ) => {\n const classes = cx(className, {\n [styles[\"drop-zone\"]]: true,\n [styles[\"over-valid\"]]: isDragging && isOver && isValid,\n [styles[\"over-invalid\"]]: isDragging && isOver && !isValid,\n [styles[\"active-not-over\"]]: isDragging && !isOver,\n });\n\n return (\n <Component ref={ref} className={classes} {...rest}>\n {children}\n </Component>\n );\n },\n);\n\nDndZone.displayName = \"DndZoneBase\";\n","import { DndHandle } from \"./DndHandle\";\nimport { DndHandleButton } from \"./DndHandleButton\";\nimport { DndSortLine } from \"./DndSortLine\";\nimport { DndZone } from \"./DndZone\";\n\nexport const Dnd = {\n Handle: DndHandle,\n HandleButton: DndHandleButton,\n SortLine: DndSortLine,\n Zone: DndZone,\n};\n"],"names":["styles","DragIndicator"],"mappings":";;;;;;;AACA,MAAM,gBAAgB,GAAG,CAAC,KAAK,qBAAqB,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,4BAA4B,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,KAAK,EAAE,kBAAkB,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,qSAAqS,EAAE,CAAC,CAAC;;;;;;;;;;AC4B/f,SAAA,SAAA,CAAU,EAAE,SAAA,EAAqC,EAAA;AAC/D,EAAA,MAAM,aAAgB,GAAA,EAAA,CAAGA,YAAO,CAAA,MAAA,EAAQ,SAAS,CAAA;AACjD,EAAA,2BACG,IAAK,EAAA,EAAA,GAAA,EAAKC,kBAAe,SAAW,EAAA,aAAA,EAAe,MAAK,cAAe,EAAA,CAAA;AAE5E;;ACIa,MAAA,eAAA,GAAkB,UAG7B,CAAA,CAAC,EAAE,QAAA,GAAW,OAAO,SAAW,EAAA,GAAG,KAAM,EAAA,EAAG,GAAQ,KAAA;AACpD,EAAA,MAAM,mBAAsB,GAAA,EAAA,CAAG,SAAW,EAAA,YAAA,CAAa,eAAe,CAAG,EAAA;AAAA,IACvE,CAAC,YAAA,CAAa,QAAQ,CAAC,GAAG;AAAA,GAC3B,CAAA;AAED,EACE,uBAAA,GAAA;AAAA,IAAC,cAAA;AAAA,IAAA;AAAA,MACC,GAAA;AAAA,MACA,SAAW,EAAA,mBAAA;AAAA,MACX,IAAK,EAAA,QAAA;AAAA,MACL,KAAM,EAAA,SAAA;AAAA,MACL,GAAG,KAAA;AAAA,MAEJ,8BAAC,SAAU,EAAA,EAAA;AAAA;AAAA,GACb;AAEJ,CAAC;AAED,eAAA,CAAgB,WAAc,GAAA,iBAAA;;;;;;;;;;;;;;;;ACfvB,MAAM,cAAc,CAAC;AAAA,EAC1B,MAAA;AAAA,EACA,WAAA;AAAA,EACA,QAAA;AAAA,EACA,GAAG;AACL,CAAqB,KAAA;AACnB,EAAA,MAAM,OAAU,GAAA,EAAA;AAAA,IACd,OAAO,WAAW,CAAA;AAAA,IAClB,MAAA,CAAO,CAAe,YAAA,EAAA,WAAW,CAAE,CAAA,CAAA;AAAA,IACnC,MAAA,CAAO,CAAY,SAAA,EAAA,QAAQ,CAAE,CAAA;AAAA,GAC/B;AAEA,EACE,uBAAA,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,aAAW,EAAA,IAAA;AAAA,MACX,SAAW,EAAA,OAAA;AAAA,MACX,KAAA,EAAO,EAAE,oBAAA,EAAsB,MAAO,EAAA;AAAA,MACrC,GAAG;AAAA;AAAA,GACN;AAEJ;;ACLO,MAAM,OAAU,GAAA,UAAA;AAAA,EACrB,CACE;AAAA,IACE,IAAI,SAAY,GAAA,KAAA;AAAA,IAChB,QAAA;AAAA,IACA,SAAA;AAAA,IACA,UAAA;AAAA,IACA,MAAA;AAAA,IACA,OAAA;AAAA,IACA,GAAG;AAAA,KAEL,GACG,KAAA;AACH,IAAM,MAAA,OAAA,GAAU,GAAG,SAAW,EAAA;AAAA,MAC5B,CAAC,MAAA,CAAO,WAAW,CAAC,GAAG,IAAA;AAAA,MACvB,CAAC,MAAO,CAAA,YAAY,CAAC,GAAG,cAAc,MAAU,IAAA,OAAA;AAAA,MAChD,CAAC,MAAO,CAAA,cAAc,CAAC,GAAG,UAAA,IAAc,UAAU,CAAC,OAAA;AAAA,MACnD,CAAC,MAAO,CAAA,iBAAiB,CAAC,GAAG,cAAc,CAAC;AAAA,KAC7C,CAAA;AAED,IAAA,2BACG,SAAU,EAAA,EAAA,GAAA,EAAU,WAAW,OAAU,EAAA,GAAG,MAC1C,QACH,EAAA,CAAA;AAAA;AAGN,CAAA;AAEA,OAAA,CAAQ,WAAc,GAAA,aAAA;;AClFf,MAAM,GAAM,GAAA;AAAA,EACjB,MAAQ,EAAA,SAAA;AAAA,EACR,YAAc,EAAA,eAAA;AAAA,EACd,QAAU,EAAA,WAAA;AAAA,EACV,IAAM,EAAA;AACR;;;;"}
1
+ {"version":3,"file":"index-V5Ez2gq_.js","sources":["../../hammer-icon/mdi/round/drag_indicator.svg","../src/components/Dnd/DndHandle.tsx","../src/components/Dnd/DndHandleButton.tsx","../src/components/Dnd/DndSortLine.tsx","../src/components/Dnd/DndZone.tsx","../src/components/Dnd/index.ts"],"sourcesContent":["import * as React from \"react\";\nconst SvgDragIndicator = (props) => /* @__PURE__ */ React.createElement(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", width: \"1em\", height: \"1em\", viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M11 18c0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2 2 .9 2 2zm-2-8c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0-6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm6 4c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z\" }));\nexport default SvgDragIndicator;\n","import { Icon } from \"../Icon\";\nimport DragIndicator from \"@servicetitan/hammer-icon/mdi/round/drag_indicator.svg\";\nimport styles from \"./DndHandle.module.scss\";\nimport cx from \"classnames\";\n\n/**\n * Props for the DndHandle component\n */\nexport type DndHandleProps = {\n /**\n * Additional CSS class names to apply to the drag handle.\n */\n className?: string;\n};\n\n/**\n * A reusable drag handle icon component for drag and drop interactions.\n *\n * Features:\n * - Standardized drag indicator icon\n * - Accessible with proper ARIA attributes\n * - Customizable styling through className prop\n * - Consistent visual appearance across applications\n * - Lightweight and performant\n * - Supports all standard HTML element props\n *\n * @example\n * <DndHandle className=\"custom-drag-handle\" />\n */\nexport function DndHandle({ className }: { className?: string }) {\n const handleClasses = cx(styles.handle, className);\n return (\n <Icon svg={DragIndicator} className={handleClasses} role=\"presentation\" />\n );\n}\n","import { ButtonCompound } from \"../ButtonCompound\";\nimport handleStyles from \"./DndHandle.module.scss\";\nimport cx from \"classnames\";\nimport { forwardRef } from \"react\";\nimport { DndHandle } from \"./DndHandle\";\n\n/**\n * Props for the DndHandleButton component\n * @extends React.ComponentPropsWithoutRef<typeof ButtonCompound>\n */\nexport interface DndHandleButtonProps\n extends React.ComponentPropsWithoutRef<typeof ButtonCompound> {\n /**\n * Indicates whether the handle is currently being dragged.\n * @default false\n */\n isActive?: boolean;\n}\n\n/**\n * A reusable drag handle button component for drag and drop functionality.\n *\n * Features:\n * - Interactive button with drag handle icon\n * - Visual feedback for active drag state\n * - Accessible with proper ARIA attributes\n * - Extends ButtonCompound functionality\n * - Customizable styling through className prop\n * - Supports all standard button props\n * - Consistent visual appearance across applications\n *\n * @example\n * <DndHandleButton\n * isActive={isDragging}\n * className=\"custom-handle-button\"\n * onClick={handleClick}\n * />\n */\nexport const DndHandleButton = forwardRef<\n HTMLButtonElement,\n DndHandleButtonProps\n>(({ isActive = false, className, ...props }, ref) => {\n const handleButtonClasses = cx(className, handleStyles[\"handle-button\"], {\n [handleStyles[\"active\"]]: isActive,\n });\n\n return (\n <ButtonCompound\n ref={ref}\n className={handleButtonClasses}\n type=\"button\"\n shape=\"rounded\"\n {...props}\n >\n <DndHandle />\n </ButtonCompound>\n );\n});\n\nDndHandleButton.displayName = \"DndHandleButton\";\n","import cx from \"classnames\";\n\nimport styles from \"./Dnd.module.scss\";\nimport { CSSProperties } from \"react\";\n\n/**\n * Props for the DndSortLine component\n * @extends React.ComponentPropsWithoutRef<\"div\">\n */\nexport type SortLineProps = React.ComponentPropsWithoutRef<\"div\"> & {\n /**\n * The offset of the line from the item. This is a CSS value, typically negative.\n */\n offset: string;\n /**\n * The orientation of the sort - Note this may be counterintuitive, as the line is rendered perpendicular to the sort.\n */\n orientation: \"horizontal\" | \"vertical\";\n /**\n * The position of the line relative to a target item.\n */\n position: \"before\" | \"after\";\n};\n\n/**\n * A visual indicator line that shows where an item will be dropped during drag and drop operations.\n *\n * Features:\n * - Visual feedback for drop positioning\n * - Configurable orientation (horizontal/vertical)\n * - Adjustable positioning (before/after)\n * - Customizable offset for precise placement\n * - Accessible with proper ARIA attributes\n * - Automatic CSS class management\n * - Supports all standard HTML div props\n *\n * @example\n * <DndSortLine\n * offset=\"-10px\"\n * orientation=\"vertical\"\n * position=\"after\"\n * className=\"custom-drop-line\"\n * />\n */\nexport const DndSortLine = ({\n offset,\n orientation,\n position,\n ...rest\n}: SortLineProps) => {\n const classes = cx(\n styles[\"drop-line\"],\n styles[`orientation-${orientation}`],\n styles[`position-${position}`],\n );\n\n return (\n <div\n aria-hidden\n className={classes}\n style={{ \"--drop-line-offset\": offset } as CSSProperties}\n {...rest}\n />\n );\n};\n","import { ElementType, forwardRef, ReactNode } from \"react\";\nimport cx from \"classnames\";\n\nimport styles from \"./Dnd.module.scss\";\n\n/**\n * Props for the DndZone component\n * @extends Omit<React.ComponentPropsWithoutRef<T>, \"el\" | \"ref\">\n */\nexport type DndZoneProps<T extends ElementType = \"div\"> = {\n /**\n * The HTML element type to render. Can be any valid HTML element or React component.\n * @default \"div\"\n */\n el?: T;\n /**\n * The content to be rendered inside the drop zone.\n */\n children?: ReactNode;\n /**\n * Additional CSS class names to apply to the drop zone.\n */\n className?: string;\n /**\n * Indicates whether a draggable item is currently over this drop zone.\n */\n isOver: boolean;\n /**\n * Indicates whether the current drag operation is valid for this drop zone.\n */\n isValid: boolean;\n /**\n * Indicates whether any item is currently being dragged.\n */\n isDragging: boolean;\n} & Omit<React.ComponentPropsWithoutRef<T>, \"el\" | \"ref\">;\n\n/**\n * Base styling component for drop zones that handles visual states and styling.\n *\n * Features:\n * - Configurable HTML element rendering with the 'el' prop\n * - Visual feedback for drag states (over, valid, dragging)\n * - Automatic CSS class management based on drag state\n * - Supports all standard HTML element props\n * - Accessible with proper ARIA attributes\n * - Flexible styling through className prop\n * - Responsive design that adapts to container\n *\n * @example\n * <DndZone\n * isOver={isOver}\n * isValid={isValid}\n * isDragging={isDragging}\n * className=\"custom-drop-zone\"\n * >\n * Drop items here\n * </DndZone>\n */\nexport const DndZone = forwardRef<HTMLDivElement, DndZoneProps<ElementType>>(\n (\n {\n el: Component = \"div\" as ElementType,\n children,\n className,\n isDragging,\n isOver,\n isValid,\n ...rest\n },\n ref,\n ) => {\n const classes = cx(className, {\n [styles[\"drop-zone\"]]: true,\n [styles[\"over-valid\"]]: isDragging && isOver && isValid,\n [styles[\"over-invalid\"]]: isDragging && isOver && !isValid,\n [styles[\"active-not-over\"]]: isDragging && !isOver,\n });\n\n return (\n <Component ref={ref} className={classes} {...rest}>\n {children}\n </Component>\n );\n },\n);\n\nDndZone.displayName = \"DndZoneBase\";\n","import { DndHandle } from \"./DndHandle\";\nimport { DndHandleButton } from \"./DndHandleButton\";\nimport { DndSortLine } from \"./DndSortLine\";\nimport { DndZone } from \"./DndZone\";\n\nexport const Dnd = {\n Handle: DndHandle,\n HandleButton: DndHandleButton,\n SortLine: DndSortLine,\n Zone: DndZone,\n};\n"],"names":["styles","DragIndicator"],"mappings":"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"}