@servicetitan/anvil2 1.49.3 → 1.49.5

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 (179) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/dist/{Calendar-BkJs1qTF.js → Calendar-BP6r1sP9.js} +2 -2
  3. package/dist/{Calendar-BkJs1qTF.js.map → Calendar-BP6r1sP9.js.map} +1 -1
  4. package/dist/{Calendar-WHERvu2Y.js → Calendar-CLSm88D2.js} +2 -2
  5. package/dist/{Calendar-WHERvu2Y.js.map → Calendar-CLSm88D2.js.map} +1 -1
  6. package/dist/Calendar.js +2 -2
  7. package/dist/{Checkbox-Bhjj-jM4.js → Checkbox-DwuDx-t4.js} +4 -3
  8. package/dist/{Checkbox-Bhjj-jM4.js.map → Checkbox-DwuDx-t4.js.map} +1 -1
  9. package/dist/{Checkbox-C5Qjq_tU.js → Checkbox-PkAk1Saq.js} +2 -2
  10. package/dist/{Checkbox-C5Qjq_tU.js.map → Checkbox-PkAk1Saq.js.map} +1 -1
  11. package/dist/Checkbox.js +2 -2
  12. package/dist/Checkbox.module-D4EgXL0i.js +27 -0
  13. package/dist/Checkbox.module-D4EgXL0i.js.map +1 -0
  14. package/dist/Combobox-DNCq-jkq.js +4281 -0
  15. package/dist/Combobox-DNCq-jkq.js.map +1 -0
  16. package/dist/Combobox.js +1 -1
  17. package/dist/{DataTable-BkNCMaVu.js → DataTable-BIhmpU0v.js} +7 -7
  18. package/dist/{DataTable-BkNCMaVu.js.map → DataTable-BIhmpU0v.js.map} +1 -1
  19. package/dist/{DateField-BNleIuS8.js → DateField-DsGHTMZ1.js} +6 -6
  20. package/dist/{DateField-BNleIuS8.js.map → DateField-DsGHTMZ1.js.map} +1 -1
  21. package/dist/DateField.js +1 -1
  22. package/dist/{DateFieldRange-BBgvno-_.js → DateFieldRange-Ct979nxF.js} +7 -7
  23. package/dist/{DateFieldRange-BBgvno-_.js.map → DateFieldRange-Ct979nxF.js.map} +1 -1
  24. package/dist/DateFieldRange.js +1 -1
  25. package/dist/{DateFieldSingle-Bcwkxogy.js → DateFieldSingle-frMHnRSg.js} +7 -7
  26. package/dist/{DateFieldSingle-Bcwkxogy.js.map → DateFieldSingle-frMHnRSg.js.map} +1 -1
  27. package/dist/DateFieldSingle.js +1 -1
  28. package/dist/{DateFieldYearless-DnVJaBBq.js → DateFieldYearless-po9ieLod.js} +3 -3
  29. package/dist/{DateFieldYearless-DnVJaBBq.js.map → DateFieldYearless-po9ieLod.js.map} +1 -1
  30. package/dist/DateFieldYearless.js +1 -1
  31. package/dist/{DateFieldYearlessRange-BivGidsU.js → DateFieldYearlessRange-Dy8a8O1n.js} +3 -3
  32. package/dist/{DateFieldYearlessRange-BivGidsU.js.map → DateFieldYearlessRange-Dy8a8O1n.js.map} +1 -1
  33. package/dist/DateFieldYearlessRange.js +1 -1
  34. package/dist/{DaysOfTheWeek-Dn6zHxpt.js → DaysOfTheWeek-2_k3T4n4.js} +3 -3
  35. package/dist/{DaysOfTheWeek-Dn6zHxpt.js.map → DaysOfTheWeek-2_k3T4n4.js.map} +1 -1
  36. package/dist/DaysOfTheWeek.js +1 -1
  37. package/dist/{Dialog-CxH4Vnbb.js → Dialog-BT7a5KNT.js} +46 -67
  38. package/dist/Dialog-BT7a5KNT.js.map +1 -0
  39. package/dist/Dialog.css +33 -27
  40. package/dist/Dialog.js +2 -1
  41. package/dist/Dialog.js.map +1 -1
  42. package/dist/DialogCancelButton-sTEfx5kf.js +50 -0
  43. package/dist/DialogCancelButton-sTEfx5kf.js.map +1 -0
  44. package/dist/{Drawer-BLfDJU-e.js → Drawer-scQFylHI.js} +41 -21
  45. package/dist/Drawer-scQFylHI.js.map +1 -0
  46. package/dist/Drawer.css +35 -25
  47. package/dist/Drawer.js +1 -1
  48. package/dist/{DrawerContext-D4tWTLVf.js → DrawerContext-Cs3k160L.js} +127 -2
  49. package/dist/{DrawerContext-D4tWTLVf.js.map → DrawerContext-Cs3k160L.js.map} +1 -1
  50. package/dist/{FieldLabel-CHMCV9wX.js → FieldLabel-BIStrC2x.js} +2 -2
  51. package/dist/{FieldLabel-CHMCV9wX.js.map → FieldLabel-BIStrC2x.js.map} +1 -1
  52. package/dist/FieldLabel.js +1 -1
  53. package/dist/{InputMask-Cd01c3Tj.js → InputMask-A5LDdyxL.js} +3 -3
  54. package/dist/{InputMask-Cd01c3Tj.js.map → InputMask-A5LDdyxL.js.map} +1 -1
  55. package/dist/InputMask.js +1 -1
  56. package/dist/{ListView-CZ5T8bR1.js → ListView-5cRssdYI.js} +2 -2
  57. package/dist/{ListView-CZ5T8bR1.js.map → ListView-5cRssdYI.js.map} +1 -1
  58. package/dist/ListView.js +1 -1
  59. package/dist/{Menu-DUAfSImY.js → Menu-Cn2JJe1Y.js} +2 -2
  60. package/dist/{Menu-DUAfSImY.js.map → Menu-Cn2JJe1Y.js.map} +1 -1
  61. package/dist/Menu.js +1 -1
  62. package/dist/{NumberField-C62E56_v.js → NumberField-BUFymKV3.js} +2 -2
  63. package/dist/{NumberField-C62E56_v.js.map → NumberField-BUFymKV3.js.map} +1 -1
  64. package/dist/NumberField.js +1 -1
  65. package/dist/{Page-CGZQ-nsg.js → Page-Dgpz2WD7.js} +5 -5
  66. package/dist/{Page-CGZQ-nsg.js.map → Page-Dgpz2WD7.js.map} +1 -1
  67. package/dist/Page.js +1 -1
  68. package/dist/{Pagination-BHEEnNas.js → Pagination-CnF6yBr5.js} +2 -2
  69. package/dist/{Pagination-BHEEnNas.js.map → Pagination-CnF6yBr5.js.map} +1 -1
  70. package/dist/Pagination.js +1 -1
  71. package/dist/{Popover-CIPg_ZgX.js → Popover-CcMDyKTj.js} +2 -2
  72. package/dist/{Popover-CIPg_ZgX.js.map → Popover-CcMDyKTj.js.map} +1 -1
  73. package/dist/Popover.js +1 -1
  74. package/dist/{ProgressBar-CUpF9fFW.js → ProgressBar-R_UjSR4o.js} +2 -2
  75. package/dist/{ProgressBar-CUpF9fFW.js.map → ProgressBar-R_UjSR4o.js.map} +1 -1
  76. package/dist/ProgressBar.js +1 -1
  77. package/dist/{Radio-CyCFna1X.js → Radio-CLR1m8N9.js} +2 -2
  78. package/dist/{Radio-CyCFna1X.js.map → Radio-CLR1m8N9.js.map} +1 -1
  79. package/dist/Radio.js +2 -2
  80. package/dist/{RadioGroup-DRS2EjVH.js → RadioGroup-m46C69uO.js} +2 -2
  81. package/dist/{RadioGroup-DRS2EjVH.js.map → RadioGroup-m46C69uO.js.map} +1 -1
  82. package/dist/{SelectCard-lBcnP5j5.js → SelectCard-DViLgRGh.js} +3 -3
  83. package/dist/{SelectCard-lBcnP5j5.js.map → SelectCard-DViLgRGh.js.map} +1 -1
  84. package/dist/SelectCard.js +1 -1
  85. package/dist/SelectField.d.ts +2 -0
  86. package/dist/SelectField.js +2 -0
  87. package/dist/SelectField.js.map +1 -0
  88. package/dist/SelectFieldSync-DF05HvD4.js +1009 -0
  89. package/dist/SelectFieldSync-DF05HvD4.js.map +1 -0
  90. package/dist/SelectFieldSync.css +168 -0
  91. package/dist/{SelectTrigger-qvoGCkb1.js → SelectTrigger-BSzOoRsu.js} +2 -2
  92. package/dist/{SelectTrigger-qvoGCkb1.js.map → SelectTrigger-BSzOoRsu.js.map} +1 -1
  93. package/dist/SelectTrigger.js +1 -1
  94. package/dist/{SelectTriggerBase-C4gebtca.js → SelectTriggerBase-CfmRIFRs.js} +17 -39
  95. package/dist/SelectTriggerBase-CfmRIFRs.js.map +1 -0
  96. package/dist/SelectTriggerBase.module-DUhQNr6j.js +33 -0
  97. package/dist/SelectTriggerBase.module-DUhQNr6j.js.map +1 -0
  98. package/dist/Table.js +1 -1
  99. package/dist/{TextField-CygbgVVt.js → TextField-B08U4_rt.js} +2 -2
  100. package/dist/{TextField-CygbgVVt.js.map → TextField-B08U4_rt.js.map} +1 -1
  101. package/dist/{TextField-CpVkZxMT.js → TextField-D29fTRGR.js} +2 -2
  102. package/dist/{TextField-CpVkZxMT.js.map → TextField-D29fTRGR.js.map} +1 -1
  103. package/dist/TextField.js +1 -1
  104. package/dist/{Textarea-DacevzmW.js → Textarea-Dl4w2-t0.js} +2 -2
  105. package/dist/{Textarea-DacevzmW.js.map → Textarea-Dl4w2-t0.js.map} +1 -1
  106. package/dist/Textarea.js +1 -1
  107. package/dist/{TimeField-BkOB5ESa.js → TimeField-Dpi3fMsn.js} +4 -4
  108. package/dist/{TimeField-BkOB5ESa.js.map → TimeField-Dpi3fMsn.js.map} +1 -1
  109. package/dist/TimeField.js +1 -1
  110. package/dist/Toast.js +2 -2
  111. package/dist/{Toaster-Dg7M4W4U.js → Toaster-B0ogInIl.js} +23 -23
  112. package/dist/{Toaster-Dg7M4W4U.js.map → Toaster-B0ogInIl.js.map} +1 -1
  113. package/dist/{Toaster-BxbR-XcR.js → Toaster-CRNOANCk.js} +2 -2
  114. package/dist/{Toaster-BxbR-XcR.js.map → Toaster-CRNOANCk.js.map} +1 -1
  115. package/dist/Toaster.css +56 -53
  116. package/dist/{Toolbar-is5509wJ.js → Toolbar-CPldWSNJ.js} +11 -11
  117. package/dist/{Toolbar-is5509wJ.js.map → Toolbar-CPldWSNJ.js.map} +1 -1
  118. package/dist/Toolbar.js +1 -1
  119. package/dist/{Tooltip-CZsoFe6C.js → Tooltip-BbfLb3pI.js} +2 -2
  120. package/dist/{Tooltip-CZsoFe6C.js.map → Tooltip-BbfLb3pI.js.map} +1 -1
  121. package/dist/Tooltip.js +1 -1
  122. package/dist/{YearlessDateInputWithPicker-MHLlAdrH.js → YearlessDateInputWithPicker-LiMI-Oer.js} +4 -4
  123. package/dist/{YearlessDateInputWithPicker-MHLlAdrH.js.map → YearlessDateInputWithPicker-LiMI-Oer.js.map} +1 -1
  124. package/dist/assets/icons/st/titan_intelligence.svg +1 -1
  125. package/dist/assets/icons/st/transactional.svg +1 -0
  126. package/dist/assets/icons/st.ts +1 -0
  127. package/dist/beta/components/SelectField/SelectField.d.ts +2 -0
  128. package/dist/beta/components/SelectField/SelectFieldSync.d.ts +39 -0
  129. package/dist/beta/components/SelectField/index.d.ts +3 -0
  130. package/dist/beta/components/SelectField/internal/FieldDialog/FieldDialog.d.ts +8 -0
  131. package/dist/beta/components/SelectField/internal/FieldPopover/FieldPopover.d.ts +8 -0
  132. package/dist/beta/components/SelectField/internal/InView.d.ts +34 -0
  133. package/dist/beta/components/SelectField/internal/SelectFieldInput.d.ts +53 -0
  134. package/dist/beta/components/SelectField/internal/SelectFieldLabel.d.ts +28 -0
  135. package/dist/beta/components/SelectField/internal/SelectFieldList.d.ts +26 -0
  136. package/dist/beta/components/SelectField/internal/SelectFieldListItem.d.ts +14 -0
  137. package/dist/beta/components/SelectField/internal/useCombo.d.ts +30 -0
  138. package/dist/beta/components/SelectField/stories/SelectField.stories.data.d.ts +32 -0
  139. package/dist/beta/components/SelectField/types.d.ts +232 -0
  140. package/dist/beta/components/Table/types.d.ts +1 -1
  141. package/dist/beta/components/index.d.ts +1 -0
  142. package/dist/beta/hooks/index.d.ts +1 -0
  143. package/dist/beta/hooks/useAdaptiveView.d.ts +50 -0
  144. package/dist/beta/index.d.ts +1 -0
  145. package/dist/beta.js +5 -4
  146. package/dist/beta.js.map +1 -1
  147. package/dist/components/ButtonToggle/ButtonToggle.d.ts +1 -1
  148. package/dist/components/Dialog/Dialog.d.ts +3 -1
  149. package/dist/components/Dialog/DialogContent.d.ts +22 -2
  150. package/dist/components/Dialog/internal/DialogContext.d.ts +1 -0
  151. package/dist/components/Drawer/Drawer.d.ts +3 -1
  152. package/dist/components/Drawer/DrawerContent.d.ts +22 -3
  153. package/dist/components/Drawer/internal/DrawerContext.d.ts +4 -0
  154. package/dist/{indeterminate_check_box-RY9zr3xS.js → indeterminate_check_box-B4zobNlt.js} +2 -27
  155. package/dist/{indeterminate_check_box-RY9zr3xS.js.map → indeterminate_check_box-B4zobNlt.js.map} +1 -1
  156. package/dist/index.js +34 -33
  157. package/dist/index.js.map +1 -1
  158. package/dist/internal/hooks/index.d.ts +1 -0
  159. package/dist/internal/hooks/useDebouncedCallback/index.d.ts +1 -0
  160. package/dist/internal/hooks/useDebouncedCallback/useDebouncedCallback.d.ts +28 -0
  161. package/dist/internal/hooks/useSelectFieldLoading/index.d.ts +1 -0
  162. package/dist/internal/hooks/useSelectFieldLoading/useSelectFieldLoading.d.ts +102 -0
  163. package/dist/{Combobox-RjBDpgFV.js → match-sorter.esm-CtBw0MrM.js} +4 -4278
  164. package/dist/match-sorter.esm-CtBw0MrM.js.map +1 -0
  165. package/dist/useDialogScrollLock-BW-aVboo.js +41 -0
  166. package/dist/useDialogScrollLock-BW-aVboo.js.map +1 -0
  167. package/dist/{useInitialFocus-Cl_Txu7W.js → useInitialFocus-BpmW7pDB.js} +4 -41
  168. package/dist/useInitialFocus-BpmW7pDB.js.map +1 -0
  169. package/dist/{usePopoverSupport-CWTCDfN2.js → usePopoverSupport-CCSCHnit.js} +2 -2
  170. package/dist/{usePopoverSupport-CWTCDfN2.js.map → usePopoverSupport-CCSCHnit.js.map} +1 -1
  171. package/dist/{utils-aSAOVHjX.js → utils-CeT0omsG.js} +2 -2
  172. package/dist/{utils-aSAOVHjX.js.map → utils-CeT0omsG.js.map} +1 -1
  173. package/package.json +2 -2
  174. package/dist/Combobox-RjBDpgFV.js.map +0 -1
  175. package/dist/Dialog-CxH4Vnbb.js.map +0 -1
  176. package/dist/Drawer-BLfDJU-e.js.map +0 -1
  177. package/dist/SelectTriggerBase-C4gebtca.js.map +0 -1
  178. package/dist/useInitialFocus-Cl_Txu7W.js.map +0 -1
  179. /package/dist/{indeterminate_check_box.css → Checkbox.css} +0 -0
@@ -0,0 +1,30 @@
1
+ import { UseComboboxProps } from 'downshift';
2
+ import { SelectFieldDownshiftItem, SelectFieldOption } from '../types';
3
+ export type UseComboOptions = {
4
+ options: SelectFieldOption[];
5
+ pinnedOptions?: unknown;
6
+ selectAll?: {
7
+ label: string;
8
+ onClick: () => void;
9
+ };
10
+ selectedOption: SelectFieldOption | null;
11
+ onSelectedOptionChange: (option: SelectFieldOption | null) => void;
12
+ displayAs: "popover" | "dialog";
13
+ disableHighlightOnOpen?: boolean;
14
+ } & Pick<UseComboboxProps<SelectFieldDownshiftItem>, "onInputValueChange" | "onIsOpenChange">;
15
+ /**
16
+ * The purpose of useCombo is to provide an abstraction over the downshift combobox hook.
17
+ */
18
+ export declare const useCombo: ({ options, pinnedOptions, selectAll, selectedOption, onSelectedOptionChange, onInputValueChange, onIsOpenChange, displayAs, disableHighlightOnOpen, }: UseComboOptions) => {
19
+ inputValue: string;
20
+ getToggleButtonProps: <Options>(options?: import('downshift').UseComboboxGetToggleButtonPropsOptions & Options) => import('downshift').Overwrite<import('downshift').UseComboboxGetToggleButtonPropsReturnValue, Options>;
21
+ getLabelProps: <Options>(options?: import('downshift').UseComboboxGetLabelPropsOptions & Options) => import('downshift').Overwrite<import('downshift').UseComboboxGetLabelPropsReturnValue, Options>;
22
+ getMenuProps: <Options>(options?: import('downshift').UseComboboxGetMenuPropsOptions & Options, otherOptions?: import('downshift').GetPropsCommonOptions) => import('downshift').Overwrite<import('downshift').UseComboboxGetMenuPropsReturnValue, Options>;
23
+ getInputProps: <Options>(options?: import('downshift').UseComboboxGetInputPropsOptions & Options, otherOptions?: import('downshift').GetPropsCommonOptions) => import('downshift').Overwrite<import('downshift').UseComboboxGetInputPropsReturnValue, Options>;
24
+ getItemProps: <Options>(options: import('downshift').UseComboboxGetItemPropsOptions<SelectFieldDownshiftItem> & Options) => Omit<import('downshift').Overwrite<import('downshift').UseComboboxGetItemPropsReturnValue, Options>, "item" | "index">;
25
+ highlightedIndex: number;
26
+ isOpen: boolean;
27
+ downshiftItems: SelectFieldDownshiftItem[];
28
+ closeMenu: () => void;
29
+ openMenu: () => void;
30
+ };
@@ -0,0 +1,32 @@
1
+ import { SelectFieldOption, SelectFieldUngroupedOption, SelectFieldGroupedOption, SelectFieldGroupByValue } from '../types';
2
+ export type Book = {
3
+ id: string;
4
+ author: string;
5
+ title: string;
6
+ genre: string;
7
+ };
8
+ /**
9
+ * Small curated list of diverse books for simple examples
10
+ */
11
+ export declare const books: Book[];
12
+ /**
13
+ * Large dataset of 300 unique books for lazy loading demonstrations
14
+ */
15
+ export declare const allBooks: Book[];
16
+ export declare const sourceOptions: SelectFieldOption[];
17
+ export declare function filterBooks(bookList: Book[], searchValue: string): Book[];
18
+ export declare function mapBookToOption(book: Book): SelectFieldUngroupedOption;
19
+ export declare const simulateFetchingPagedBooks: (searchValue: string, pageNumber: number, pageSize: number) => Promise<{
20
+ data: Book[];
21
+ count: number;
22
+ }>;
23
+ export declare const simulateFetchingOffsetBooks: (searchValue: string, offset: number, limit: number) => Promise<{
24
+ data: Book[];
25
+ count: number;
26
+ }>;
27
+ export type GroupByField = "genre" | "author";
28
+ export declare function mapBookToGroupedOption(book: Book, groupBy: GroupByField): SelectFieldGroupedOption;
29
+ export declare const simulateFetchingGroupedBooks: (groupBy: GroupByField) => (searchValue: string, previousGroupKey: SelectFieldGroupByValue | null) => Promise<{
30
+ options: SelectFieldGroupedOption[];
31
+ hasMore: boolean;
32
+ }>;
@@ -0,0 +1,232 @@
1
+ import { LayoutUtilProps, Size } from '../../../types';
2
+ /**
3
+ * Configuration options for the SelectField cache.
4
+ * @property enabled - Whether caching is enabled. Defaults to true.
5
+ * @property maxSize - Maximum number of cached entries before clearing the cache. Defaults to 50.
6
+ */
7
+ export type SelectFieldCacheOptions = {
8
+ enabled?: boolean;
9
+ maxSize?: number;
10
+ };
11
+ /**
12
+ * Imperative handle for the SelectField component.
13
+ * @property clearCache - Clears the options cache.
14
+ */
15
+ export type SelectFieldHandle = {
16
+ clearCache: () => void;
17
+ };
18
+ export type SelectFieldGroupByValue = string | number;
19
+ export type SelectFieldOption = {
20
+ id: string | number;
21
+ label: string;
22
+ searchText?: string;
23
+ group?: SelectFieldGroupByValue;
24
+ content?: {
25
+ title?: string;
26
+ description?: string;
27
+ };
28
+ };
29
+ export type SelectFieldGroupedOption = SelectFieldOption & {
30
+ group: SelectFieldGroupByValue;
31
+ };
32
+ export type SelectFieldUngroupedOption = Omit<SelectFieldOption, "group"> & {
33
+ group?: never;
34
+ };
35
+ export type SelectFieldOptionsResult = SelectFieldOption[] | Promise<SelectFieldOption[]>;
36
+ export type SelectFieldEagerLoader = (searchValue: string) => SelectFieldOptionsResult;
37
+ export type SelectFieldOffsetLazyResult = {
38
+ options: SelectFieldUngroupedOption[];
39
+ hasMore?: boolean;
40
+ };
41
+ export type SelectFieldOffsetLazyLoader = (searchValue: string, offset: number, limit: number) => SelectFieldOffsetLazyResult | Promise<SelectFieldOffsetLazyResult>;
42
+ export type SelectFieldPageLazyResult = {
43
+ options: SelectFieldUngroupedOption[];
44
+ hasMore?: boolean;
45
+ };
46
+ export type SelectFieldPageLazyLoader = (searchValue: string, pageNumber: number, pageSize: number) => SelectFieldPageLazyResult | Promise<SelectFieldPageLazyResult>;
47
+ export type SelectFieldGroupLazyResult = {
48
+ options: SelectFieldGroupedOption[];
49
+ hasMore?: boolean;
50
+ };
51
+ export type SelectFieldGroupLazyLoader = (searchValue: string, previousGroupKey: SelectFieldGroupByValue | null) => SelectFieldGroupLazyResult | Promise<SelectFieldGroupLazyResult>;
52
+ export type SelectFieldSearchProps = {
53
+ /**
54
+ * The current search value.
55
+ * Not a preferred usage. You likely don't need to control the searchValue yourself.
56
+ */
57
+ searchValue?: string;
58
+ /**
59
+ * Callback when the search value changes.
60
+ * Not a preferred usage. Lean on the searchValue in the loadOptions function instead.
61
+ */
62
+ onSearchChange?: (searchValue: string) => void;
63
+ /**
64
+ * The number of milliseconds to debounce the search input.
65
+ */
66
+ debounceMs?: number;
67
+ };
68
+ type SelectFieldAddNewOptionProps = {
69
+ /**
70
+ * The configuration for the add new option.
71
+ */
72
+ addNewOption?: {
73
+ /**
74
+ * The label to display for the add new option.
75
+ */
76
+ label: string;
77
+ /**
78
+ * The content to display in the add new option dialog.
79
+ */
80
+ renderDialogContent: (searchValue: string) => React.ReactNode;
81
+ };
82
+ };
83
+ export type SelectFieldLabeledPinnedOptions = {
84
+ options: SelectFieldOption[] | ((searchValue: string) => SelectFieldOption[] | Promise<SelectFieldOption[]>);
85
+ label: string;
86
+ };
87
+ /**
88
+ * There are a number of ways to configure pinned options.
89
+ * 1. An array of options
90
+ * 2. A function that returns a list of options (or Promise thereof) based on the search value
91
+ * 3. A labeled pinned options object (e.g. "Favorites", "Recent", "AI Suggestions", etc.)
92
+ * 4. An array of labeled pinned options objects (e.g. [{"label": "Favorites", "options": [...]}])
93
+ */
94
+ export type SelectFieldPinnedOptions = SelectFieldOption[] | ((searchValue: string) => SelectFieldOption[] | Promise<SelectFieldOption[]>) | SelectFieldLabeledPinnedOptions | SelectFieldLabeledPinnedOptions[];
95
+ type SelectFieldCommonSelectFieldProps = {
96
+ /**
97
+ * The id of the select field.
98
+ */
99
+ id?: string;
100
+ /**
101
+ * The label of the select field.
102
+ */
103
+ label: string;
104
+ /**
105
+ * The placeholder of the select field.
106
+ */
107
+ placeholder?: string;
108
+ /**
109
+ * The size of the select field.
110
+ */
111
+ size?: Extract<Size, "small" | "medium" | "large">;
112
+ /**
113
+ * The value of the select field. Must be controlled state.
114
+ */
115
+ value: SelectFieldOption | null;
116
+ /**
117
+ * The callback to call when an item is clicked.
118
+ * @param option - The option that was selected.
119
+ */
120
+ onSelectedOptionChange: (option: SelectFieldOption | null) => void;
121
+ /**
122
+ * Defines the initial loading behavior of the options. Controls when loadOptions is called.
123
+ * @default "auto"
124
+ * @description "auto" default behavior, currently equivalent to "immediate".
125
+ * @description "immediate" will load the initial options when the component is mounted.
126
+ * @description "open" will load the initial options if/when the user opens the dropdown.
127
+ */
128
+ initialLoad?: "auto" | "immediate" | "open";
129
+ /**
130
+ * The options to pin to the top of the list.
131
+ */
132
+ pinned?: SelectFieldPinnedOptions;
133
+ /**
134
+ * Whether to disable the clear button.
135
+ * @default false
136
+ */
137
+ disableClearButton?: boolean;
138
+ /**
139
+ * Configuration for caching loadOptions results.
140
+ * Caching is enabled by default. Set `{ enabled: false }` to disable.
141
+ */
142
+ cache?: SelectFieldCacheOptions;
143
+ /**
144
+ * The way to display the menu.
145
+ * @default "auto"
146
+ * @description "auto" will display the menu as a popover on mobile and a dialog on desktop.
147
+ * @description "popover" will always display the menu as a popover.
148
+ * @description "dialog" will always display the menu as a dialog.
149
+ */
150
+ displayMenuAs?: "auto" | "popover" | "dialog";
151
+ } & SelectFieldSearchProps & SelectFieldAddNewOptionProps & LayoutUtilProps;
152
+ type SelectFieldGroupingProps = {
153
+ /**
154
+ * Function to convert a group value to a display label.
155
+ * Only used when options have a `group` property.
156
+ * @param groupValue - The group value from the option's `group` property
157
+ * @returns The formatted group label
158
+ */
159
+ groupToString?: (groupValue: SelectFieldGroupByValue) => string;
160
+ };
161
+ type SelectFieldNonGroupingProps = {
162
+ /**
163
+ * Incompatible with non-group lazy loading.
164
+ */
165
+ groupToString?: never;
166
+ /**
167
+ * Incompatible with non-group lazy loading.
168
+ */
169
+ groupSorter?: never;
170
+ };
171
+ export type SelectFieldPropsLazyPage = SelectFieldCommonSelectFieldProps & {
172
+ /**
173
+ * Lazy loading mode using page-based pagination.
174
+ * Options will be loaded on demand when the user scrolls to the bottom of the list.
175
+ * This mode only supports flat options (i.e. cannot be used with grouped options).
176
+ */
177
+ lazy: "page";
178
+ lazyOptions?: {
179
+ pageSize?: number;
180
+ };
181
+ /**
182
+ * Function to load the options.
183
+ */
184
+ loadOptions: SelectFieldPageLazyLoader;
185
+ } & SelectFieldNonGroupingProps;
186
+ export type SelectFieldPropsLazyOffset = SelectFieldCommonSelectFieldProps & {
187
+ /**
188
+ * Lazy loading mode using offset-based pagination.
189
+ * Options will be loaded on demand when the user scrolls to the bottom of the list.
190
+ * This mode only supports flat options (i.e. cannot be used with grouped options).
191
+ */
192
+ lazy: "offset";
193
+ lazyOptions?: {
194
+ limit?: number;
195
+ };
196
+ /**
197
+ * Function to load the options.
198
+ */
199
+ loadOptions: SelectFieldOffsetLazyLoader;
200
+ } & SelectFieldNonGroupingProps;
201
+ export type SelectFieldPropsLazyGroup = SelectFieldCommonSelectFieldProps & {
202
+ /**
203
+ * Lazy loading mode using incremental group loading.
204
+ * Groups will be loaded on demand when the user scrolls to the bottom of the list.
205
+ * This mode supports grouped options.
206
+ */
207
+ lazy: "group";
208
+ lazyOptions?: object;
209
+ /**
210
+ * Function to load the options.
211
+ */
212
+ loadOptions: SelectFieldGroupLazyLoader;
213
+ } & SelectFieldGroupingProps;
214
+ export type SelectFieldPropsEager = SelectFieldCommonSelectFieldProps & {
215
+ /**
216
+ * Whether the options are lazy loaded. If true, the options will be loaded on demand when the user scrolls to the bottom of the list.
217
+ * @default false
218
+ */
219
+ lazy?: false;
220
+ /**
221
+ * Function to load the options.
222
+ */
223
+ loadOptions: SelectFieldEagerLoader;
224
+ };
225
+ export type SelectFieldPropsLazy = SelectFieldPropsLazyPage | SelectFieldPropsLazyOffset | SelectFieldPropsLazyGroup;
226
+ export type SelectFieldProps = SelectFieldPropsLazy | SelectFieldPropsEager;
227
+ export type SelectFieldDownshiftItem = {
228
+ id: string | number;
229
+ type: "option" | "pinned-option" | "select-all";
230
+ original: SelectFieldOption;
231
+ };
232
+ export {};
@@ -89,7 +89,7 @@ export type CustomTableFooterCellProps = {
89
89
  /**
90
90
  * The content of the footer cell
91
91
  */
92
- content: string;
92
+ content: ReactNode;
93
93
  /**
94
94
  * The number of columns the footer cell should span
95
95
  */
@@ -1,3 +1,4 @@
1
1
  export * from './Table';
2
2
  export * from './Toolbar';
3
3
  export * from './Calendar';
4
+ export * from './SelectField';
@@ -0,0 +1 @@
1
+ export * from './useAdaptiveView';
@@ -0,0 +1,50 @@
1
+ /**
2
+ * The type of view to render based on device characteristics.
3
+ */
4
+ export type AdaptiveView = "mobile" | "desktop";
5
+ /**
6
+ * Return type for the useAdaptiveView hook.
7
+ */
8
+ export interface UseAdaptiveViewReturn {
9
+ /**
10
+ * The current adaptive view type.
11
+ */
12
+ view: AdaptiveView;
13
+ /**
14
+ * True when the device should use mobile-optimized UI (Dialog).
15
+ */
16
+ isMobile: boolean;
17
+ /**
18
+ * True when the device should use desktop-optimized UI (Popover).
19
+ */
20
+ isDesktop: boolean;
21
+ }
22
+ /**
23
+ * Custom hook for detecting whether to use mobile or desktop UI patterns.
24
+ *
25
+ * This hook determines the optimal UI pattern (e.g., Dialog vs Popover) by combining:
26
+ * - Screen size via useBreakpoint (viewport width)
27
+ * - Pointer precision via CSS media query (pointer: coarse)
28
+ *
29
+ * A device is considered "mobile" when it has both:
30
+ * - A small screen (below md breakpoint, < 768px)
31
+ * - A coarse pointer (touch-primary input)
32
+ *
33
+ * This approach correctly identifies:
34
+ * - Mobile phones → mobile view (Dialog)
35
+ * - iPads/tablets → desktop view (Popover) due to larger screens
36
+ * - Touch laptops → desktop view (Popover) due to fine pointer primary
37
+ * - Desktop → desktop view (Popover)
38
+ *
39
+ * @returns Object containing view type and boolean flags for mobile/desktop
40
+ *
41
+ * @example
42
+ * const { isMobile } = useAdaptiveView();
43
+ *
44
+ * return isMobile ? (
45
+ * <Dialog>{children}</Dialog>
46
+ * ) : (
47
+ * <Popover>{children}</Popover>
48
+ * );
49
+ */
50
+ export declare function useAdaptiveView(): UseAdaptiveViewReturn;
@@ -1 +1,2 @@
1
1
  export * from './components';
2
+ export * from './hooks';
package/dist/beta.js CHANGED
@@ -1,5 +1,6 @@
1
- export { D as DataTable, a as chipsFormatter, c as createColumnHelper, b as currencyFormatter, p as percentFormatter } from './DataTable-BkNCMaVu.js';
2
- export { T as Toolbar, a as ToolbarButton, c as ToolbarButtonLink, b as ToolbarButtonToggle, e as ToolbarControlGroup, g as ToolbarElement, f as ToolbarSearchField, d as ToolbarSelect } from './Toolbar-is5509wJ.js';
3
- export { u as useCalendarBetaProps } from './Calendar-BkJs1qTF.js';
4
- export { C as Calendar } from './Calendar-WHERvu2Y.js';
1
+ export { D as DataTable, a as chipsFormatter, c as createColumnHelper, b as currencyFormatter, p as percentFormatter } from './DataTable-BIhmpU0v.js';
2
+ export { T as Toolbar, a as ToolbarButton, c as ToolbarButtonLink, b as ToolbarButtonToggle, e as ToolbarControlGroup, g as ToolbarElement, f as ToolbarSearchField, d as ToolbarSelect } from './Toolbar-CPldWSNJ.js';
3
+ export { u as useCalendarBetaProps } from './Calendar-BP6r1sP9.js';
4
+ export { C as Calendar } from './Calendar-CLSm88D2.js';
5
+ export { S as SelectField, a as SelectFieldSync, u as useAdaptiveView } from './SelectFieldSync-DF05HvD4.js';
5
6
  //# sourceMappingURL=beta.js.map
package/dist/beta.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"beta.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
1
+ {"version":3,"file":"beta.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -55,7 +55,7 @@ DataTrackingId;
55
55
  * Toggle Me
56
56
  * </ButtonToggle>
57
57
  */
58
- export declare const ButtonToggle: import('react').ForwardRefExoticComponent<Omit<ButtonProps, "appearance" | "loading"> & {
58
+ export declare const ButtonToggle: import('react').ForwardRefExoticComponent<Omit<ButtonProps, "loading" | "appearance"> & {
59
59
  /**
60
60
  * The default pressed(selected) state of the toggle button.
61
61
  * @default false
@@ -195,7 +195,9 @@ export declare const Dialog: import('react').ForwardRefExoticComponent<Omit<impo
195
195
  * <p>This is the main content of the dialog.</p>
196
196
  * </Dialog.Content>
197
197
  */
198
- Content: import('react').ForwardRefExoticComponent<Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
198
+ Content: import('react').ForwardRefExoticComponent<Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
199
+ sticky?: boolean;
200
+ } & import('react').RefAttributes<HTMLDivElement>>;
199
201
  /**
200
202
  * DialogCancelButton component for cancel/close actions in a Dialog.
201
203
  *
@@ -3,20 +3,40 @@ import { ComponentPropsWithoutRef } from 'react';
3
3
  * Props for the DialogContent component
4
4
  * @extends ComponentPropsWithoutRef<"div">
5
5
  */
6
- export type DialogContentProps = ComponentPropsWithoutRef<"div">;
6
+ export type DialogContentProps = ComponentPropsWithoutRef<"div"> & {
7
+ /**
8
+ * When true, the content will stick below the header during scroll.
9
+ * @default false
10
+ */
11
+ sticky?: boolean;
12
+ };
7
13
  /**
8
14
  * DialogContent component for the main content area of a Dialog.
9
15
  *
10
16
  * Features:
11
17
  * - Main content container for dialog body
12
18
  * - Flexible height with overflow handling
19
+ * - Optional sticky positioning below header
13
20
  * - Consistent padding and spacing
14
21
  * - Responsive design
15
22
  * - Proper content scrolling for long content
16
23
  *
17
24
  * @example
25
+ * // Basic content
18
26
  * <Dialog.Content>
19
27
  * <p>This is the main content of the dialog.</p>
20
28
  * </Dialog.Content>
29
+ *
30
+ * @example
31
+ * // Sticky content (e.g., search field that remains visible while scrolling)
32
+ * <Dialog.Content sticky>
33
+ * <TextField placeholder="Filter results..." />
34
+ * </Dialog.Content>
21
35
  */
22
- export declare const DialogContent: import('react').ForwardRefExoticComponent<Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
36
+ export declare const DialogContent: import('react').ForwardRefExoticComponent<Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
37
+ /**
38
+ * When true, the content will stick below the header during scroll.
39
+ * @default false
40
+ */
41
+ sticky?: boolean;
42
+ } & import('react').RefAttributes<HTMLDivElement>>;
@@ -4,5 +4,6 @@ export type DialogContextProps = {
4
4
  ref?: RefObject<HTMLDialogElement>;
5
5
  hasOpenPopover?: boolean;
6
6
  setHasOpenPopover?: Dispatch<SetStateAction<boolean | undefined>>;
7
+ headerRef?: RefObject<HTMLElement>;
7
8
  };
8
9
  export declare const DialogContext: import('react').Context<DialogContextProps | null>;
@@ -162,7 +162,9 @@ export declare const Drawer: import('react').ForwardRefExoticComponent<Omit<impo
162
162
  * <p>It can contain any type of content.</p>
163
163
  * </Drawer.Content>
164
164
  */
165
- Content: import('react').ForwardRefExoticComponent<Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
165
+ Content: import('react').ForwardRefExoticComponent<Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
166
+ sticky?: boolean;
167
+ } & import('react').RefAttributes<HTMLDivElement>>;
166
168
  /**
167
169
  * A button component that automatically closes the drawer when clicked.
168
170
  *
@@ -3,13 +3,20 @@ import { ComponentPropsWithoutRef } from 'react';
3
3
  * Props for the DrawerContent component
4
4
  * @extends ComponentPropsWithoutRef<"div">
5
5
  */
6
- export type DrawerContentProps = ComponentPropsWithoutRef<"div">;
6
+ export type DrawerContentProps = ComponentPropsWithoutRef<"div"> & {
7
+ /**
8
+ * When true, the content will stick below the header during scroll.
9
+ * @default false
10
+ */
11
+ sticky?: boolean;
12
+ };
7
13
  /**
8
14
  * Content container for the drawer that holds the main content area.
9
15
  *
10
16
  * Features:
11
17
  * - Flexible content area with proper spacing
12
18
  * - Scrollable content when needed
19
+ * - Optional sticky positioning below header
13
20
  * - Proper semantic HTML structure
14
21
  * - Accessible with proper ARIA attributes
15
22
  * - Consistent styling with the design system
@@ -18,9 +25,21 @@ export type DrawerContentProps = ComponentPropsWithoutRef<"div">;
18
25
  * - Proper focus management
19
26
  *
20
27
  * @example
28
+ * // Basic content
21
29
  * <Drawer.Content>
22
30
  * <p>This is the main content of the drawer.</p>
23
- * <p>It can contain any type of content.</p>
31
+ * </Drawer.Content>
32
+ *
33
+ * @example
34
+ * // Sticky content (e.g., search field that remains visible while scrolling)
35
+ * <Drawer.Content sticky>
36
+ * <TextField placeholder="Filter results..." />
24
37
  * </Drawer.Content>
25
38
  */
26
- export declare const DrawerContent: import('react').ForwardRefExoticComponent<Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
39
+ export declare const DrawerContent: import('react').ForwardRefExoticComponent<Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
40
+ /**
41
+ * When true, the content will stick below the header during scroll.
42
+ * @default false
43
+ */
44
+ sticky?: boolean;
45
+ } & import('react').RefAttributes<HTMLDivElement>>;
@@ -11,5 +11,9 @@ export type DrawerContextProps = {
11
11
  * Reference to the drawer dialog element.
12
12
  */
13
13
  ref?: RefObject<HTMLDialogElement>;
14
+ /**
15
+ * Reference to the drawer header element for sticky content positioning.
16
+ */
17
+ headerRef?: RefObject<HTMLElement>;
14
18
  };
15
19
  export declare const DrawerContext: import('react').Context<DrawerContextProps | null>;
@@ -1,35 +1,10 @@
1
1
  import * as React from 'react';
2
2
 
3
- import './indeterminate_check_box.css';const checkbox = "_checkbox_19qga_8";
4
- const wrapper = "_wrapper_19qga_23";
5
- const error = "_error_19qga_103";
6
- const label = "_label_19qga_215";
7
- const legend = "_legend_19qga_247";
8
- const children = "_children_19qga_259";
9
- const checkboxStyles = {
10
- checkbox: checkbox,
11
- wrapper: wrapper,
12
- "required-asterisk": "_required-asterisk_19qga_37",
13
- "focus-label": "_focus-label_19qga_41",
14
- "icon-wrapper": "_icon-wrapper_19qga_47",
15
- "helper-wrapper": "_helper-wrapper_19qga_80",
16
- "icon-indeterminate": "_icon-indeterminate_19qga_85",
17
- "icon-unchecked": "_icon-unchecked_19qga_86",
18
- "icon-checked": "_icon-checked_19qga_87",
19
- error: error,
20
- "sr-only": "_sr-only_19qga_201",
21
- "checkbox-group": "_checkbox-group_19qga_215",
22
- label: label,
23
- "direction-row": "_direction-row_19qga_215",
24
- legend: legend,
25
- children: children
26
- };
27
-
28
3
  const SvgCheckBoxOutlineBlank = (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: "M18 19H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm1-16H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z" }));
29
4
 
30
5
  const SvgCheckBox = (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: "M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-8.29 13.29a.996.996 0 0 1-1.41 0L5.71 12.7a.996.996 0 1 1 1.41-1.41L10 14.17l6.88-6.88a.996.996 0 1 1 1.41 1.41l-7.58 7.59z" }));
31
6
 
32
7
  const SvgIndeterminateCheckBox = (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: "M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-3 10H8c-.55 0-1-.45-1-1s.45-1 1-1h8c.55 0 1 .45 1 1s-.45 1-1 1z" }));
33
8
 
34
- export { SvgIndeterminateCheckBox as S, SvgCheckBox as a, SvgCheckBoxOutlineBlank as b, checkboxStyles as c };
35
- //# sourceMappingURL=indeterminate_check_box-RY9zr3xS.js.map
9
+ export { SvgIndeterminateCheckBox as S, SvgCheckBox as a, SvgCheckBoxOutlineBlank as b };
10
+ //# sourceMappingURL=indeterminate_check_box-B4zobNlt.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"indeterminate_check_box-RY9zr3xS.js","sources":["../../hammer-icon/mdi/round/check_box_outline_blank.svg","../../hammer-icon/mdi/round/check_box.svg","../../hammer-icon/mdi/round/indeterminate_check_box.svg"],"sourcesContent":["import * as React from \"react\";\nconst SvgCheckBoxOutlineBlank = (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: \"M18 19H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm1-16H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z\" }));\nexport default SvgCheckBoxOutlineBlank;\n","import * as React from \"react\";\nconst SvgCheckBox = (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: \"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-8.29 13.29a.996.996 0 0 1-1.41 0L5.71 12.7a.996.996 0 1 1 1.41-1.41L10 14.17l6.88-6.88a.996.996 0 1 1 1.41 1.41l-7.58 7.59z\" }));\nexport default SvgCheckBox;\n","import * as React from \"react\";\nconst SvgIndeterminateCheckBox = (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: \"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-3 10H8c-.55 0-1-.45-1-1s.45-1 1-1h8c.55 0 1 .45 1 1s-.45 1-1 1z\" }));\nexport default SvgIndeterminateCheckBox;\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AACK,MAAC,uBAAuB,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,+JAA+J,EAAE,CAAC;;ACA1Y,MAAC,WAAW,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,2MAA2M,EAAE,CAAC;;ACA1a,MAAC,wBAAwB,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,+IAA+I,EAAE,CAAC;;;;"}
1
+ {"version":3,"file":"indeterminate_check_box-B4zobNlt.js","sources":["../../hammer-icon/mdi/round/check_box_outline_blank.svg","../../hammer-icon/mdi/round/check_box.svg","../../hammer-icon/mdi/round/indeterminate_check_box.svg"],"sourcesContent":["import * as React from \"react\";\nconst SvgCheckBoxOutlineBlank = (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: \"M18 19H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm1-16H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z\" }));\nexport default SvgCheckBoxOutlineBlank;\n","import * as React from \"react\";\nconst SvgCheckBox = (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: \"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-8.29 13.29a.996.996 0 0 1-1.41 0L5.71 12.7a.996.996 0 1 1 1.41-1.41L10 14.17l6.88-6.88a.996.996 0 1 1 1.41 1.41l-7.58 7.59z\" }));\nexport default SvgCheckBox;\n","import * as React from \"react\";\nconst SvgIndeterminateCheckBox = (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: \"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-3 10H8c-.55 0-1-.45-1-1s.45-1 1-1h8c.55 0 1 .45 1 1s-.45 1-1 1z\" }));\nexport default SvgIndeterminateCheckBox;\n"],"names":[],"mappings":";;AACK,MAAC,uBAAuB,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,+JAA+J,EAAE,CAAC;;ACA1Y,MAAC,WAAW,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,2MAA2M,EAAE,CAAC;;ACA1a,MAAC,wBAAwB,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,+IAA+I,EAAE,CAAC;;;;"}