@servicetitan/anvil2 1.50.1 → 1.50.2

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 (181) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/dist/{Calendar-CAYitkfM.js → Calendar-BeFARXwq.js} +2 -2
  3. package/dist/{Calendar-CAYitkfM.js.map → Calendar-BeFARXwq.js.map} +1 -1
  4. package/dist/{Calendar-C9oxHTGG.js → Calendar-M9v994mm.js} +2 -2
  5. package/dist/{Calendar-C9oxHTGG.js.map → Calendar-M9v994mm.js.map} +1 -1
  6. package/dist/Calendar.js +2 -2
  7. package/dist/{Checkbox-DbBeuNdW.js → Checkbox-BwFY38z1.js} +3 -2
  8. package/dist/Checkbox-BwFY38z1.js.map +1 -0
  9. package/dist/{Checkbox-zAKOGEBl.js → Checkbox-Chck2V5C.js} +2 -2
  10. package/dist/{Checkbox-zAKOGEBl.js.map → Checkbox-Chck2V5C.js.map} +1 -1
  11. package/dist/Checkbox.js +2 -2
  12. package/dist/{Combobox-DGAa9vgU.js → Combobox-BTTWNSW1.js} +285 -175
  13. package/dist/Combobox-BTTWNSW1.js.map +1 -0
  14. package/dist/Combobox.js +1 -1
  15. package/dist/{DataTable-DQ9FFuV8.js → DataTable-hXWouflx.js} +6 -6
  16. package/dist/{DataTable-DQ9FFuV8.js.map → DataTable-hXWouflx.js.map} +1 -1
  17. package/dist/{DateField-BT9jJRp5.js → DateField-B8JdMu94.js} +6 -6
  18. package/dist/{DateField-BT9jJRp5.js.map → DateField-B8JdMu94.js.map} +1 -1
  19. package/dist/DateField.js +1 -1
  20. package/dist/{DateFieldRange-ZAic_9mt.js → DateFieldRange-DWAgi_T9.js} +7 -7
  21. package/dist/{DateFieldRange-ZAic_9mt.js.map → DateFieldRange-DWAgi_T9.js.map} +1 -1
  22. package/dist/DateFieldRange.js +1 -1
  23. package/dist/{DateFieldSingle-DAtR8ImE.js → DateFieldSingle-CQ6X-bVX.js} +7 -7
  24. package/dist/{DateFieldSingle-DAtR8ImE.js.map → DateFieldSingle-CQ6X-bVX.js.map} +1 -1
  25. package/dist/DateFieldSingle.js +1 -1
  26. package/dist/{DateFieldYearless-DXO_MPwA.js → DateFieldYearless-D6-NfIHu.js} +4 -4
  27. package/dist/{DateFieldYearless-DXO_MPwA.js.map → DateFieldYearless-D6-NfIHu.js.map} +1 -1
  28. package/dist/DateFieldYearless.js +1 -1
  29. package/dist/{DateFieldYearlessRange-Cg6bbPIi.js → DateFieldYearlessRange-CQM0vibm.js} +4 -4
  30. package/dist/{DateFieldYearlessRange-Cg6bbPIi.js.map → DateFieldYearlessRange-CQM0vibm.js.map} +1 -1
  31. package/dist/DateFieldYearlessRange.js +1 -1
  32. package/dist/{DaysOfTheWeek-9B9d7-hF.js → DaysOfTheWeek-BR-mg77X.js} +3 -3
  33. package/dist/{DaysOfTheWeek-9B9d7-hF.js.map → DaysOfTheWeek-BR-mg77X.js.map} +1 -1
  34. package/dist/DaysOfTheWeek.js +1 -1
  35. package/dist/{Dialog-BwabBKoZ.js → Dialog-Ba2oIATn.js} +8 -8
  36. package/dist/Dialog-Ba2oIATn.js.map +1 -0
  37. package/dist/Dialog.js +2 -2
  38. package/dist/{DialogCancelButton-sTEfx5kf.js → DialogCancelButton-CBHyI0CI.js} +2 -2
  39. package/dist/{DialogCancelButton-sTEfx5kf.js.map → DialogCancelButton-CBHyI0CI.js.map} +1 -1
  40. package/dist/{Drawer-GXeoK-r9.js → Drawer-CWogbC68.js} +7 -7
  41. package/dist/{Drawer-GXeoK-r9.js.map → Drawer-CWogbC68.js.map} +1 -1
  42. package/dist/Drawer.js +1 -1
  43. package/dist/{DrawerContext-Cs3k160L.js → DrawerContext-rJvgnn3O.js} +2 -2
  44. package/dist/{DrawerContext-Cs3k160L.js.map → DrawerContext-rJvgnn3O.js.map} +1 -1
  45. package/dist/FieldDialog-BHgkQOhh.js +519 -0
  46. package/dist/FieldDialog-BHgkQOhh.js.map +1 -0
  47. package/dist/{FieldLabel-jqlQ1Ldh.js → FieldLabel-BWOIFXgt.js} +7 -4
  48. package/dist/FieldLabel-BWOIFXgt.js.map +1 -0
  49. package/dist/FieldLabel.js +1 -1
  50. package/dist/{InputMask-CJC9xZHG.js → InputMask-BzY1DJoV.js} +3 -3
  51. package/dist/{InputMask-CJC9xZHG.js.map → InputMask-BzY1DJoV.js.map} +1 -1
  52. package/dist/InputMask.js +1 -1
  53. package/dist/{ListView-D8mfK8Lu.js → ListView-C5OBwbHe.js} +6 -4
  54. package/dist/ListView-C5OBwbHe.js.map +1 -0
  55. package/dist/ListView.js +1 -1
  56. package/dist/{Menu-Cn2JJe1Y.js → Menu-69JwGxYh.js} +2 -2
  57. package/dist/{Menu-Cn2JJe1Y.js.map → Menu-69JwGxYh.js.map} +1 -1
  58. package/dist/Menu.js +1 -1
  59. package/dist/MultiSelectField.d.ts +2 -0
  60. package/dist/MultiSelectField.js +2 -0
  61. package/dist/MultiSelectField.js.map +1 -0
  62. package/dist/MultiSelectFieldSync-B3HNQf7R.js +873 -0
  63. package/dist/MultiSelectFieldSync-B3HNQf7R.js.map +1 -0
  64. package/dist/MultiSelectFieldSync.css +259 -0
  65. package/dist/{NumberField-CjWLnD9X.js → NumberField-CcH25bnO.js} +3 -3
  66. package/dist/{NumberField-CjWLnD9X.js.map → NumberField-CcH25bnO.js.map} +1 -1
  67. package/dist/NumberField.js +1 -1
  68. package/dist/{Page-DEbpjQw0.js → Page-B5HZSjSl.js} +5 -5
  69. package/dist/{Page-DEbpjQw0.js.map → Page-B5HZSjSl.js.map} +1 -1
  70. package/dist/Page.js +1 -1
  71. package/dist/{Pagination-BR8MiRaA.js → Pagination-CkdBaQx6.js} +2 -2
  72. package/dist/{Pagination-BR8MiRaA.js.map → Pagination-CkdBaQx6.js.map} +1 -1
  73. package/dist/Pagination.js +1 -1
  74. package/dist/{Popover-CCXrzBul.js → Popover-D9SmGQTh.js} +6 -5
  75. package/dist/{Popover-CCXrzBul.js.map → Popover-D9SmGQTh.js.map} +1 -1
  76. package/dist/Popover.js +1 -1
  77. package/dist/{ProgressBar-BpKEr6cO.js → ProgressBar-BABkqVmW.js} +2 -2
  78. package/dist/{ProgressBar-BpKEr6cO.js.map → ProgressBar-BABkqVmW.js.map} +1 -1
  79. package/dist/ProgressBar.js +1 -1
  80. package/dist/{Radio-jj0-1dOg.js → Radio-Cds2laHA.js} +2 -2
  81. package/dist/{Radio-jj0-1dOg.js.map → Radio-Cds2laHA.js.map} +1 -1
  82. package/dist/Radio.js +2 -2
  83. package/dist/{RadioGroup-Bxy415eu.js → RadioGroup-COVlUmwy.js} +3 -3
  84. package/dist/{RadioGroup-Bxy415eu.js.map → RadioGroup-COVlUmwy.js.map} +1 -1
  85. package/dist/{SelectCard-CjbsPKZ4.js → SelectCard-C-Kjk5eS.js} +3 -3
  86. package/dist/{SelectCard-CjbsPKZ4.js.map → SelectCard-C-Kjk5eS.js.map} +1 -1
  87. package/dist/SelectCard.js +1 -1
  88. package/dist/SelectField.js +1 -1
  89. package/dist/SelectFieldSync-0CL0RTpg.js +679 -0
  90. package/dist/SelectFieldSync-0CL0RTpg.js.map +1 -0
  91. package/dist/{SelectTrigger-D4AjiMKp.js → SelectTrigger-C1U-PlLz.js} +6 -3
  92. package/dist/SelectTrigger-C1U-PlLz.js.map +1 -0
  93. package/dist/SelectTrigger.js +1 -1
  94. package/dist/{SelectTriggerBase-D9GuxPxR.js → SelectTriggerBase-RHD4FTQE.js} +3 -3
  95. package/dist/{SelectTriggerBase-D9GuxPxR.js.map → SelectTriggerBase-RHD4FTQE.js.map} +1 -1
  96. package/dist/SelectTriggerBase.css +65 -59
  97. package/dist/SelectTriggerBase.module-B0NFRlQP.js +36 -0
  98. package/dist/SelectTriggerBase.module-B0NFRlQP.js.map +1 -0
  99. package/dist/Table.js +1 -1
  100. package/dist/{TextField-Qv6OqiKQ.js → TextField-BYGSTwkL.js} +2 -2
  101. package/dist/{TextField-Qv6OqiKQ.js.map → TextField-BYGSTwkL.js.map} +1 -1
  102. package/dist/{TextField-DNuEXKyN.js → TextField-BZ3h2mqU.js} +3 -3
  103. package/dist/{TextField-DNuEXKyN.js.map → TextField-BZ3h2mqU.js.map} +1 -1
  104. package/dist/TextField.js +1 -1
  105. package/dist/{Textarea-DdLD4imO.js → Textarea-Cb0Qs2FH.js} +8 -3
  106. package/dist/Textarea-Cb0Qs2FH.js.map +1 -0
  107. package/dist/Textarea.js +1 -1
  108. package/dist/{TimeField-C39hYluo.js → TimeField-DBtJYC7t.js} +4 -4
  109. package/dist/{TimeField-C39hYluo.js.map → TimeField-DBtJYC7t.js.map} +1 -1
  110. package/dist/TimeField.js +1 -1
  111. package/dist/Toast.js +2 -2
  112. package/dist/{Toaster-DJ4tNy-0.js → Toaster-Cerf91qp.js} +2 -2
  113. package/dist/{Toaster-DJ4tNy-0.js.map → Toaster-Cerf91qp.js.map} +1 -1
  114. package/dist/{Toaster-DyDVYq4x.js → Toaster-DDrGllhh.js} +3 -3
  115. package/dist/{Toaster-DyDVYq4x.js.map → Toaster-DDrGllhh.js.map} +1 -1
  116. package/dist/{Toolbar-Vw9V1RHr.js → Toolbar-K9UFfyvX.js} +127 -41
  117. package/dist/Toolbar-K9UFfyvX.js.map +1 -0
  118. package/dist/Toolbar.js +1 -1
  119. package/dist/{Tooltip-CBy7srE2.js → Tooltip-CkfkiQPz.js} +2 -2
  120. package/dist/{Tooltip-CBy7srE2.js.map → Tooltip-CkfkiQPz.js.map} +1 -1
  121. package/dist/Tooltip.js +1 -1
  122. package/dist/{YearlessDateInputWithPicker-DMGx3gE2.js → YearlessDateInputWithPicker-BIkxKxPi.js} +4 -4
  123. package/dist/{YearlessDateInputWithPicker-DMGx3gE2.js.map → YearlessDateInputWithPicker-BIkxKxPi.js.map} +1 -1
  124. package/dist/beta/components/MultiSelectField/MultiSelectField.d.ts +27 -0
  125. package/dist/beta/components/MultiSelectField/MultiSelectFieldSync.d.ts +63 -0
  126. package/dist/beta/components/MultiSelectField/index.d.ts +3 -0
  127. package/dist/beta/components/MultiSelectField/internal/MultiSelectFieldInput.d.ts +79 -0
  128. package/dist/beta/components/MultiSelectField/internal/MultiSelectFieldList.d.ts +26 -0
  129. package/dist/beta/components/MultiSelectField/internal/useComboMultiple.d.ts +44 -0
  130. package/dist/beta/components/MultiSelectField/stories/MultiSelectField.stories.data.d.ts +19 -0
  131. package/dist/beta/components/MultiSelectField/types.d.ts +311 -0
  132. package/dist/beta/components/SelectField/internal/FieldDialog/FieldDialog.d.ts +3 -1
  133. package/dist/beta/components/SelectField/internal/FieldPopover/FieldPopover.d.ts +1 -0
  134. package/dist/beta/components/SelectField/internal/SelectFieldInput.d.ts +3 -1
  135. package/dist/beta/components/SelectField/internal/SelectFieldLabel.d.ts +11 -3
  136. package/dist/beta/components/SelectField/internal/SelectFieldListItem.d.ts +2 -1
  137. package/dist/beta/components/SelectField/types.d.ts +19 -1
  138. package/dist/beta/components/index.d.ts +1 -0
  139. package/dist/beta.js +7 -5
  140. package/dist/beta.js.map +1 -1
  141. package/dist/components/Button/Button.figma.d.ts +1 -0
  142. package/dist/components/Combobox/ComboboxTypes.d.ts +1 -1
  143. package/dist/components/Combobox/internal/ComboboxLegacy/ComboboxLegacyTrigger.d.ts +2 -2
  144. package/dist/components/FieldLabel/FieldLabel.d.ts +5 -1
  145. package/dist/components/FieldLabel/internal/FieldLabelMoreInfoIcon.d.ts +3 -1
  146. package/dist/components/Icon/Icons.figma.d.ts +11 -0
  147. package/dist/components/ListView/ListView.d.ts +2 -9
  148. package/dist/components/ListView/internal/types.d.ts +12 -0
  149. package/dist/components/SelectTrigger/SelectTrigger.d.ts +1 -1
  150. package/dist/components/Switch/Switch.figma.d.ts +1 -0
  151. package/dist/components/Textarea/Textarea.d.ts +1 -1
  152. package/dist/index.js +34 -34
  153. package/dist/internal/components/Label/Label.d.ts +13 -3
  154. package/dist/internal/hooks/useOnClickOutside/useOnClickOutside.d.ts +8 -7
  155. package/dist/types/props.d.ts +5 -0
  156. package/dist/{useInitialFocus-BpmW7pDB.js → useInitialFocus-D_ESGka7.js} +3 -3
  157. package/dist/{useInitialFocus-BpmW7pDB.js.map → useInitialFocus-D_ESGka7.js.map} +1 -1
  158. package/dist/useOnClickOutside-Zw5vzxSq.js +71 -0
  159. package/dist/useOnClickOutside-Zw5vzxSq.js.map +1 -0
  160. package/dist/useOpenCloseTransitionStates-CiTYrLGi.js +68 -0
  161. package/dist/useOpenCloseTransitionStates-CiTYrLGi.js.map +1 -0
  162. package/dist/{usePopoverSupport-CCSCHnit.js → usePopoverSupport-CldZmxFl.js} +2 -2
  163. package/dist/{usePopoverSupport-CCSCHnit.js.map → usePopoverSupport-CldZmxFl.js.map} +1 -1
  164. package/dist/{utils-Bkbn9cyk.js → utils-u8cyv323.js} +2 -2
  165. package/dist/{utils-Bkbn9cyk.js.map → utils-u8cyv323.js.map} +1 -1
  166. package/package.json +4 -3
  167. package/dist/Checkbox-DbBeuNdW.js.map +0 -1
  168. package/dist/Combobox-DGAa9vgU.js.map +0 -1
  169. package/dist/Dialog-BwabBKoZ.js.map +0 -1
  170. package/dist/FieldLabel-jqlQ1Ldh.js.map +0 -1
  171. package/dist/ListView-D8mfK8Lu.js.map +0 -1
  172. package/dist/SelectFieldSync-D4VdOXoY.js +0 -1134
  173. package/dist/SelectFieldSync-D4VdOXoY.js.map +0 -1
  174. package/dist/SelectTrigger-D4AjiMKp.js.map +0 -1
  175. package/dist/SelectTriggerBase.module-Ce49lamD.js +0 -35
  176. package/dist/SelectTriggerBase.module-Ce49lamD.js.map +0 -1
  177. package/dist/Textarea-DdLD4imO.js.map +0 -1
  178. package/dist/Toolbar-Vw9V1RHr.js.map +0 -1
  179. package/dist/useOnClickOutside-BDzuUjmY.js +0 -147
  180. package/dist/useOnClickOutside-BDzuUjmY.js.map +0 -1
  181. /package/dist/{SelectFieldSync.css → FieldDialog.css} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MultiSelectFieldSync-B3HNQf7R.js","sources":["../src/beta/components/MultiSelectField/internal/MultiSelectFieldList.tsx","../src/beta/components/MultiSelectField/internal/MultiSelectFieldInput.tsx","../src/beta/components/MultiSelectField/internal/useComboMultiple.tsx","../src/beta/components/MultiSelectField/MultiSelectField.tsx","../src/beta/components/MultiSelectField/MultiSelectFieldSync.tsx"],"sourcesContent":["import {\n MultiSelectFieldDownshiftItem,\n MultiSelectFieldOption,\n} from \"../types\";\nimport { CheckState } from \"../../../../types\";\nimport { UseComboboxPropGetters } from \"downshift\";\nimport Spinner from \"../../../../components/Spinner\";\nimport Button from \"../../../../components/Button\";\nimport styles from \"../../SelectField/internal/SelectFieldList.module.scss\";\nimport cx from \"classnames\";\nimport { CSSProperties, useMemo } from \"react\";\nimport { SelectFieldListItem } from \"../../SelectField/internal/SelectFieldListItem\";\nimport { InView } from \"../../SelectField/internal/InView\";\nimport { Text } from \"../../../../components/Text\";\nimport { SrOnly } from \"../../../../components\";\n\ntype GetMenuProps =\n UseComboboxPropGetters<MultiSelectFieldDownshiftItem>[\"getMenuProps\"];\ntype GetItemProps =\n UseComboboxPropGetters<MultiSelectFieldDownshiftItem>[\"getItemProps\"];\n\nexport type MultiSelectFieldListProps = {\n isOpen: boolean;\n items: MultiSelectFieldDownshiftItem[];\n getMenuProps: GetMenuProps;\n getItemProps: GetItemProps;\n highlightedIndex: number;\n selectedOptions: MultiSelectFieldOption[];\n hasMore: boolean;\n onLoadMore: () => void;\n loading: boolean;\n loadingMore: boolean;\n disableAutoLoadMore?: boolean;\n disabled?: boolean;\n className?: string;\n style?: CSSProperties;\n};\n\nexport const MultiSelectFieldList = ({\n isOpen,\n items,\n getMenuProps,\n getItemProps,\n highlightedIndex,\n selectedOptions,\n hasMore,\n onLoadMore,\n loading,\n loadingMore,\n disableAutoLoadMore,\n disabled,\n className,\n style,\n}: MultiSelectFieldListProps) => {\n const handleLoaderVisibilityChange = (visible: boolean) => {\n if (visible && !disableAutoLoadMore) {\n onLoadMore();\n }\n };\n\n // Create a Set of selected option IDs for efficient lookup\n const selectedIds = useMemo(\n () => new Set(selectedOptions.map((opt) => opt.id)),\n [selectedOptions],\n );\n\n // Determine the checked state for each item\n const getCheckedState = (item: MultiSelectFieldDownshiftItem): CheckState => {\n if (item.type === \"select-all\") {\n return item.checkState ?? \"indeterminate\";\n }\n return selectedIds.has(item.id) ? \"checked\" : \"unchecked\";\n };\n\n return (\n <div\n {...getMenuProps({\n className: cx(styles[\"scroller\"], className),\n style,\n })}\n >\n <ul className={cx(styles[\"select-field-list\"])}>\n {isOpen && (\n <>\n {loading ? (\n <div className={styles[\"empty\"]}>\n <Spinner size=\"medium\" />\n </div>\n ) : items.length > 0 ? (\n items.map((item, index) => (\n <SelectFieldListItem\n key={item.id}\n item={item}\n index={index}\n getItemProps={getItemProps}\n selectionType=\"multiple\"\n checked={getCheckedState(item)}\n highlighted={highlightedIndex === index}\n disabled={(disabled || item.disabled) ?? false}\n />\n ))\n ) : (\n <div className={styles[\"empty\"]}>\n <Text subdued size=\"small\">\n No match found\n </Text>\n </div>\n )}\n </>\n )}\n </ul>\n {loadingMore ? (\n <div className={styles[\"load-more\"]}>\n <Spinner size=\"small\" />\n <SrOnly>Loading more...</SrOnly>\n </div>\n ) : hasMore && !loading ? (\n <InView\n onVisibilityChange={handleLoaderVisibilityChange}\n rootMargin=\"0px 0px -100px 0px\"\n >\n <div className={styles[\"load-more\"]}>\n <Button appearance=\"secondary\" size=\"small\" onClick={onLoadMore}>\n Load more\n </Button>\n </div>\n </InView>\n ) : null}\n </div>\n );\n};\n\nMultiSelectFieldList.displayName = \"MultiSelectFieldList\";\n","import styles from \"./MultiSelectFieldInput.module.scss\";\nimport cx from \"classnames\";\nimport { PassThroughProps, Size } from \"../../../../types\";\nimport { Button } from \"../../../../components/Button\";\nimport { Chip } from \"../../../../components/Chip\";\nimport { Flex } from \"../../../../components/Flex\";\nimport { mergeRefs } from \"../../../../hooks/useMergeRefs/useMergeRefs\";\nimport Chevron_Right from \"@servicetitan/hammer-icon/mdi/round/chevron_right.svg\";\nimport Close from \"@servicetitan/hammer-icon/mdi/round/close.svg\";\nimport {\n ReactElement,\n RefObject,\n useState,\n useLayoutEffect,\n useRef,\n KeyboardEvent,\n MouseEvent,\n} from \"react\";\nimport { MultiSelectFieldOption } from \"../types\";\n\n/**\n * Props for the MultiSelectFieldInput component\n * @property {string} [placeholder] - Placeholder text displayed when input is empty\n * @property {Extract<Size, \"small\" | \"medium\" | \"large\">} [size] - Size variant of the input\n * @property {boolean} [disableClearButton] - Hides the clear button when true\n * @property {boolean} [disableToggleButton] - Hides the toggle button when true\n * @property {boolean} [disabled] - Disables the input entirely\n * @property {boolean} [readOnly] - Cannot be modified but remains interactive\n * @property {boolean} [error] - Shows error styling on the input when true\n * @property {() => void} [onClear] - Callback fired when the clear button is clicked\n * @property {string} [id] - HTML id attribute for the input element\n * @property {string} [popoverTarget] - Target identifier for popover association\n * @property {RefObject<HTMLDivElement>} [inputWrapperRef] - Ref for the input wrapper div element\n * @property {PassThroughProps<\"div\">} [htmlInputWrapperProps] - Additional props passed to the wrapper div\n * @property {PassThroughProps<\"input\">} [inputProps] - Additional props passed to the input element\n * @property {PassThroughProps<\"button\">} [toggleButtonProps] - Additional props passed to the toggle button\n * @property {string | ReactElement} [prefix] - Content to display before the input\n * @property {string | ReactElement} [suffix] - Content to display after the input\n * @property {MultiSelectFieldOption[]} [selectedOptions] - Array of selected options to display as chips\n * @property {(option: MultiSelectFieldOption) => void} [onRemoveOption] - Callback when a chip is removed\n * @property {boolean} [singleRow] - When true, restricts the field to a single row height\n * @property {number} [maxChips] - Maximum number of chips to display before showing +N indicator (default: 10)\n */\nexport type MultiSelectFieldInputProps = {\n placeholder?: string;\n size?: Extract<Size, \"small\" | \"medium\" | \"large\">;\n disableClearButton?: boolean;\n disableToggleButton?: boolean;\n disabled?: boolean;\n readOnly?: boolean;\n error?: boolean;\n onClear?: () => void;\n id?: string;\n popoverTarget?: string;\n inputWrapperRef?: RefObject<HTMLDivElement>;\n htmlInputWrapperProps?: PassThroughProps<\"div\">;\n inputProps?: PassThroughProps<\"input\">;\n toggleButtonProps?: PassThroughProps<\"button\">;\n prefix?: string | ReactElement;\n suffix?: string | ReactElement;\n selectedOptions?: MultiSelectFieldOption[];\n onRemoveOption?: (option: MultiSelectFieldOption) => void;\n singleRow?: boolean;\n maxChips?: number;\n onWrapperClick?: (e: MouseEvent<HTMLDivElement>) => void;\n};\n\n// Helper to check if content spans multiple rows\nconst hasMultipleRows = (container: HTMLElement) => {\n const children = Array.from(container.children);\n if (children.length <= 1) return false;\n const firstTop = children[0].getBoundingClientRect().top;\n return children.some(\n (child) => child.getBoundingClientRect().top !== firstTop,\n );\n};\n\n/**\n * Internal input component for the MultiSelectField that provides the text input,\n * chip display for selected options, and action buttons.\n *\n * Features:\n * - Text input for filtering options\n * - Chip display for selected options with remove functionality\n * - Optional clear button for removing all selections\n * - Optional toggle button for opening/closing the dropdown menu\n * - Supports multiple size variants (small, medium, large)\n * - Fully accessible with proper ARIA labels on buttons\n * - Supports pass-through props for customization of internal elements\n * - Optional prefix and suffix content\n * - Error state styling\n * - Single row mode with singleRow prop\n * - Chip count limiting with maxChips prop\n *\n * @example\n * <MultiSelectFieldInput\n * placeholder=\"Search...\"\n * size=\"medium\"\n * selectedOptions={[{ id: 1, label: \"Option 1\" }]}\n * onRemoveOption={(option) => handleRemove(option)}\n * onClear={() => handleClearAll()}\n * />\n */\nexport const MultiSelectFieldInput = ({\n placeholder,\n size,\n disableClearButton,\n disableToggleButton,\n disabled,\n readOnly,\n error,\n onClear,\n id,\n inputWrapperRef,\n htmlInputWrapperProps,\n inputProps,\n toggleButtonProps,\n prefix,\n suffix,\n selectedOptions = [],\n onRemoveOption,\n singleRow,\n maxChips,\n onWrapperClick,\n}: MultiSelectFieldInputProps) => {\n const rowsRef = useRef<HTMLDivElement>(null);\n const inputRef = useRef<HTMLInputElement>(null);\n // inputProps may contain a ref from hooks like useCombobox, merge it with our internal ref\n const externalRef = (inputProps as { ref?: React.Ref<HTMLInputElement> })\n ?.ref;\n const mergedInputRef = mergeRefs([inputRef, externalRef]);\n const [visibleCount, setVisibleCount] = useState<number | null>(null);\n\n // Reset visibleCount when selectedOptions changes\n const prevSelectedLengthRef = useRef(selectedOptions.length);\n useLayoutEffect(() => {\n if (prevSelectedLengthRef.current !== selectedOptions.length) {\n prevSelectedLengthRef.current = selectedOptions.length;\n setVisibleCount(null);\n }\n }, [selectedOptions.length]);\n\n useLayoutEffect(() => {\n if (!singleRow || !rowsRef.current) {\n setVisibleCount(null);\n return;\n }\n\n // If we haven't started calculating yet\n if (visibleCount === null) {\n if (hasMultipleRows(rowsRef.current)) {\n // Start with count of first row's items (quick approximation)\n const firstRowTop =\n rowsRef.current.children[0]?.getBoundingClientRect().top;\n const firstRowCount = Array.from(rowsRef.current.children).filter(\n (c) => c.getBoundingClientRect().top === firstRowTop,\n ).length;\n setVisibleCount(Math.max(firstRowCount - 1, 0)); // -1 to leave room for +N chip\n }\n return;\n }\n\n // Keep reducing until single row\n if (hasMultipleRows(rowsRef.current) && visibleCount > 0) {\n setVisibleCount(visibleCount - 1);\n }\n }, [singleRow, selectedOptions.length, visibleCount]);\n\n // Calculate display count based on singleRow and maxChips\n const maxAllowed = maxChips ?? 10;\n const displayCount =\n singleRow && visibleCount !== null\n ? Math.min(visibleCount, maxAllowed)\n : Math.min(selectedOptions.length, maxAllowed);\n const hiddenCount = selectedOptions.length - displayCount;\n\n const inputWrapperClassNames = cx(styles[\"input-wrapper\"], {\n [styles[\"small\"]]: size === \"small\",\n [styles[\"large\"]]: size === \"large\",\n [styles[\"no-clear-button\"]]: disableClearButton,\n [styles[\"no-toggle-button\"]]: disableToggleButton,\n [styles[\"disabled\"]]: disabled || readOnly,\n });\n\n const handleInputKeyDown = (e: KeyboardEvent<HTMLInputElement>) => {\n // Handle backspace to remove the last chip when input is empty\n if (\n e.key === \"Backspace\" &&\n !inputProps?.value &&\n selectedOptions.length > 0 &&\n onRemoveOption &&\n !disabled &&\n !readOnly\n ) {\n onRemoveOption(selectedOptions[selectedOptions.length - 1]);\n }\n\n // Call the original onKeyDown if provided\n if (inputProps?.onKeyDown) {\n (inputProps.onKeyDown as (e: KeyboardEvent<HTMLInputElement>) => void)(e);\n }\n };\n\n const handleWrapperClick = (e: MouseEvent<HTMLDivElement>) => {\n // Skip if clicking on interactive elements (buttons) or input\n const target = e.target as HTMLElement;\n if (target.closest(\"button\") || target.tagName === \"INPUT\") {\n return;\n }\n onWrapperClick?.(e);\n inputRef.current?.focus();\n };\n\n return (\n // eslint-disable-next-line jsx-a11y/no-static-element-interactions, jsx-a11y/click-events-have-key-events -- Click-to-focus container; Despite the disabled rules, this remains accessible. Keyboard interaction is provided by the input and nested buttons are filtered out in the handler.\n <div\n ref={inputWrapperRef}\n {...htmlInputWrapperProps}\n className={cx(inputWrapperClassNames, htmlInputWrapperProps?.className)}\n onClick={handleWrapperClick}\n >\n {prefix ? <div className={styles[\"prefix\"]}>{prefix}</div> : null}\n\n <div className={styles[\"rows-wrapper\"]} ref={rowsRef}>\n {selectedOptions.length > 0 && onRemoveOption\n ? selectedOptions.slice(0, displayCount).map((option, index) => (\n <div\n key={`selected-item-${option.id}-${index}`}\n className={styles[\"chip-wrapper\"]}\n >\n <Chip\n label={option.label}\n onClose={\n disabled || readOnly\n ? undefined\n : () => onRemoveOption(option)\n }\n className={styles[\"chip\"]}\n title={option.label}\n />\n </div>\n ))\n : null}\n\n {hiddenCount > 0 ? (\n <div className={styles[\"chip-wrapper\"]}>\n <Chip\n label={`+${hiddenCount}`}\n className={styles[\"chip\"]}\n title={selectedOptions\n .slice(displayCount)\n .map((option) => option.label)\n .join(\", \")}\n />\n </div>\n ) : null}\n\n <Flex className={styles[\"input-flex\"]} alignItems=\"center\">\n <input\n id={id}\n placeholder={placeholder}\n disabled={disabled}\n readOnly={readOnly}\n {...inputProps}\n ref={mergedInputRef}\n onKeyDown={handleInputKeyDown}\n className={cx(styles[\"input\"], inputProps?.className, {\n [styles[\"error\"]]: error,\n })}\n />\n {suffix ? <div className={styles[\"suffix\"]}>{suffix}</div> : null}\n </Flex>\n </div>\n\n <div className={styles[\"buttons-wrapper\"]}>\n {disableClearButton ? null : (\n <div className={styles[\"close-button-wrapper\"]}>\n <Button\n icon={Close}\n aria-label=\"clear selection\"\n appearance=\"ghost\"\n size=\"small\"\n className={styles[\"close-button\"]}\n onClick={() => {\n onClear?.();\n }}\n />\n </div>\n )}\n {disableToggleButton ? null : (\n <div className={styles[\"toggle-button-wrapper\"]}>\n <Button\n icon={Chevron_Right}\n aria-label=\"toggle menu\"\n appearance=\"ghost\"\n size=\"small\"\n disabled={disabled}\n {...toggleButtonProps}\n className={cx(\n styles[\"toggle-button\"],\n toggleButtonProps?.className,\n )}\n />\n </div>\n )}\n </div>\n </div>\n );\n};\n\nMultiSelectFieldInput.displayName = \"MultiSelectFieldInput\";\n","import {\n useCombobox,\n UseComboboxProps,\n UseComboboxState,\n UseComboboxStateChangeOptions,\n} from \"downshift\";\nimport {\n MultiSelectFieldDownshiftItem,\n MultiSelectFieldOption,\n} from \"../types\";\nimport { CheckState } from \"../../../../types\";\nimport { useCallback, useMemo } from \"react\";\nimport { useDownshiftEnvironment } from \"../../../../internal/hooks\";\n\nexport type UseComboMultipleOptions = {\n /** An array of currently loaded options */\n options: MultiSelectFieldOption[];\n pinnedOptions?: unknown;\n /** Configuration for the \"Select All\" option */\n selectAll?: {\n label: string;\n onClick: () => void;\n checkState: CheckState;\n };\n /** The currently selected options (controlled from outside) */\n selectedOptions: MultiSelectFieldOption[];\n onSelectedOptionsChange: (options: MultiSelectFieldOption[]) => void;\n displayAs: \"popover\" | \"dialog\";\n disabled: boolean;\n} & Pick<\n UseComboboxProps<MultiSelectFieldDownshiftItem>,\n \"onInputValueChange\" | \"onIsOpenChange\"\n>;\n\n/**\n * Hook that wraps downshift's useCombobox for multi-select behavior.\n * Unlike useCombo, this hook:\n * - Keeps the menu open after item selection\n * - Does not track internal selection state (controlled externally)\n * - Preserves input value on item selection for continued filtering\n * @param options - Configuration options for the hook\n * @returns Downshift combobox props and state\n */\nexport const useComboMultiple = ({\n options,\n pinnedOptions,\n selectAll,\n selectedOptions,\n onSelectedOptionsChange,\n onInputValueChange,\n onIsOpenChange,\n displayAs = \"popover\",\n disabled,\n}: UseComboMultipleOptions) => {\n // Options are not 1:1 with the items we pass to downshift.\n // We may choose to insert, remove, or modify them before passing them down.\n // Anything which can be accessed via arrow keys should be included here.\n const downshiftItems = useMemo(() => {\n const items: MultiSelectFieldDownshiftItem[] = options.map(\n mapOptionToDownshiftItem,\n );\n\n // Add the pinned options to the top of the list if they are provided\n if (pinnedOptions) {\n // TODO: Implement pinned options\n }\n\n // Add the select all option to the top of the list if it is provided\n if (selectAll) {\n items.unshift({\n id: \"select-all\",\n type: \"select-all\",\n original: {\n id: \"select-all\",\n label: selectAll.label ?? \"Select All\",\n },\n checkState: selectAll.checkState,\n });\n }\n\n return items;\n }, [options, pinnedOptions, selectAll]);\n\n const { ref: wrapperDivRef, environment } = useDownshiftEnvironment();\n\n const handleItemClick = useCallback(\n (option: { id: string | number; label: string }) => {\n const isSelected = selectedOptions.some((opt) => opt.id === option.id);\n if (isSelected) {\n // Remove the option\n onSelectedOptionsChange(\n selectedOptions.filter((opt) => opt.id !== option.id),\n );\n } else {\n // Add the option\n const fullOption = options.find((opt) => opt.id === option.id);\n if (fullOption) {\n onSelectedOptionsChange([...selectedOptions, fullOption]);\n }\n }\n },\n [selectedOptions, onSelectedOptionsChange, options],\n );\n\n const {\n isOpen,\n highlightedIndex,\n getToggleButtonProps,\n getLabelProps,\n getMenuProps,\n getInputProps,\n getItemProps,\n inputValue,\n closeMenu,\n openMenu,\n toggleMenu,\n } = useCombobox({\n isItemDisabled: (item, _index) => {\n if (!item) {\n return false; // Downshift passes -1 index with an undefined item. Ignore it.\n }\n return (disabled || item.disabled) ?? false;\n },\n environment: environment,\n // For multi-select, we don't track a single selected item\n selectedItem: null,\n onSelectedItemChange: ({\n selectedItem: si,\n }: {\n selectedItem: MultiSelectFieldDownshiftItem | null;\n }) => {\n console.log(\"selectedItem\", si);\n if (si) {\n if (si.type === \"select-all\") {\n selectAll?.onClick();\n } else if (si.type === \"option\") {\n handleItemClick(si.original);\n }\n }\n },\n onInputValueChange,\n onIsOpenChange,\n items: downshiftItems,\n itemToString(item: MultiSelectFieldDownshiftItem | null) {\n return item?.original.label ?? \"\";\n },\n stateReducer: (state, actionAndChanges) =>\n stateReducer(state, actionAndChanges, displayAs),\n });\n\n return {\n inputValue,\n wrapperDivRef,\n getToggleButtonProps,\n getLabelProps,\n getMenuProps,\n getInputProps,\n getItemProps,\n highlightedIndex,\n isOpen,\n downshiftItems,\n closeMenu,\n openMenu,\n toggleMenu,\n selectedOptions,\n };\n};\n\nfunction mapOptionToDownshiftItem(\n option: MultiSelectFieldOption,\n): MultiSelectFieldDownshiftItem {\n return {\n id: option.id,\n type: \"option\",\n disabled: option.disabled ?? false,\n original: option,\n };\n}\n\nfunction stateReducer(\n state: UseComboboxState<MultiSelectFieldDownshiftItem>,\n actionAndChanges: UseComboboxStateChangeOptions<MultiSelectFieldDownshiftItem>,\n displayAs: \"popover\" | \"dialog\",\n) {\n const { type, changes } = actionAndChanges;\n\n switch (type) {\n case useCombobox.stateChangeTypes.InputBlur:\n console.log(\"inputBlur\", changes, state);\n // keep the dialog open if the user blurs the input while the dialog is open\n if (displayAs === \"dialog\" && state.isOpen) {\n return {\n ...changes,\n isOpen: state.isOpen,\n // Preserve input value for multi-select\n inputValue: state.inputValue,\n };\n }\n return {\n ...changes,\n // For multi-select, preserve the input value on blur\n inputValue: state.inputValue,\n };\n case useCombobox.stateChangeTypes.InputKeyDownEscape:\n case useCombobox.stateChangeTypes.FunctionCloseMenu:\n return {\n ...changes,\n // Clear input value when menu is closed\n inputValue: \"\",\n };\n case useCombobox.stateChangeTypes.InputClick:\n if (displayAs === \"dialog\" && state.isOpen) {\n // keep the dialog open if the user clicks the input while the dialog is open\n return {\n ...changes,\n isOpen: state.isOpen,\n };\n }\n return changes;\n case useCombobox.stateChangeTypes.InputKeyDownEnter:\n case useCombobox.stateChangeTypes.ItemClick:\n // Optimize for continuing to select items based on the input value\n return {\n ...changes,\n isOpen: state.isOpen, // Keep menu open\n highlightedIndex: state.highlightedIndex, // Preserve highlight position\n inputValue: state.inputValue, // Preserve input value for continued filtering\n };\n default:\n return changes;\n }\n}\n","import { MultiSelectFieldHandle, MultiSelectFieldProps } from \"./types\";\nimport {\n forwardRef,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useState,\n useId,\n useRef,\n} from \"react\";\nimport { MultiSelectFieldList } from \"./internal/MultiSelectFieldList\";\nimport { MultiSelectFieldInput } from \"./internal/MultiSelectFieldInput\";\nimport { SelectFieldLabel } from \"../SelectField/internal/SelectFieldLabel\";\nimport { useLayoutPropsUtil } from \"../../../internal/hooks/useLayoutPropsUtil\";\nimport { useDebouncedCallback } from \"../../../internal/hooks/useDebouncedCallback\";\nimport {\n useSelectFieldLoading,\n DEFAULT_PAGE_SIZE,\n} from \"../../../internal/hooks/useSelectFieldLoading\";\nimport styles from \"../../../components/SelectTrigger/internal/SelectTriggerBase.module.scss\";\nimport { useComboMultiple } from \"./internal/useComboMultiple\";\nimport { FieldPopover } from \"../SelectField/internal/FieldPopover/FieldPopover\";\nimport { useAdaptiveView } from \"../../hooks/useAdaptiveView\";\nimport { FieldDialog } from \"../SelectField/internal/FieldDialog/FieldDialog\";\nimport { FieldMessage } from \"../../../components\";\n\n/**\n * MultiSelectField component for selecting multiple options from a searchable dropdown.\n *\n * Features:\n * - Multiple selection with chip display\n * - Search and filtering capabilities\n * - Lazy loading with pagination (page, offset, or group modes)\n * - Optional \"Select All\" functionality\n * - Supports both popover and dialog display modes\n * - Adaptive display based on device (mobile uses dialog)\n * - Cache support for loadOptions results\n * - Single row mode to restrict height (singleRow prop)\n * - Chip count limiting (maxChips prop)\n * - Full accessibility support with ARIA attributes\n * - Controlled selection state\n *\n * @example\n * <MultiSelectField\n * label=\"Select Tags\"\n * value={selectedTags}\n * onSelectedOptionsChange={setSelectedTags}\n * loadOptions={(search) => fetchTags(search)}\n * selectAll={{ onClick: handleSelectAll }}\n * />\n */\nexport const MultiSelectField = forwardRef<\n MultiSelectFieldHandle,\n MultiSelectFieldProps\n>((propsWithLayout, ref) => {\n const { layoutStyles, componentProps } = useLayoutPropsUtil(propsWithLayout);\n const [initialLoadPerformed, setInitialLoadPerformed] = useState(false);\n\n const inputWrapperRef = useRef<HTMLDivElement>(null);\n\n const {\n id: idProp,\n value: selectedOptions,\n initialLoad: initialLoadProp = \"auto\",\n displayMenuAs: displayMenuAsProp = \"auto\",\n lazy,\n loadOptions: loadOptionsProp,\n label,\n labelNode,\n hideLabel,\n placeholder,\n debounceMs = 200,\n onSelectedOptionsChange,\n cache,\n size,\n error,\n hint,\n description,\n errorAriaLive: errorAriaLiveProp = \"assertive\",\n required,\n disabled,\n readOnly,\n prefix,\n suffix,\n selectAll,\n singleRow,\n maxChips,\n className,\n style,\n } = componentProps;\n\n const autoId = useId();\n const id = idProp ?? autoId;\n const helperUid = useId();\n\n const [shouldAriaLive, setShouldAriaLive] = useState(false);\n const handleFocus = () => {\n setShouldAriaLive(true);\n };\n const handleBlur = () => {\n setShouldAriaLive(false);\n };\n\n const errorMessage = typeof error !== \"boolean\" ? error : undefined;\n const hasHelperText = hint || errorMessage || description;\n const isDisabledOrReadOnly = (disabled || readOnly) ?? false;\n\n const { isMobile } = useAdaptiveView();\n const displayAs =\n displayMenuAsProp === \"auto\"\n ? isMobile\n ? \"dialog\"\n : \"popover\"\n : displayMenuAsProp;\n\n const initialLoad =\n initialLoadProp === \"auto\" ? \"immediate\" : initialLoadProp;\n\n const pageSize =\n lazy === \"page\" && \"lazyOptions\" in componentProps\n ? (componentProps.lazyOptions?.pageSize ?? DEFAULT_PAGE_SIZE)\n : DEFAULT_PAGE_SIZE;\n const limit =\n lazy === \"offset\" && \"lazyOptions\" in componentProps\n ? (componentProps.lazyOptions?.limit ?? DEFAULT_PAGE_SIZE)\n : DEFAULT_PAGE_SIZE;\n\n const loadingHookConfig = useMemo(() => {\n const cacheConfig = {\n enabled: cache?.enabled,\n maxSize: cache?.maxSize,\n };\n if (lazy === \"page\")\n return {\n lazy: \"page\" as const,\n loadOptions: loadOptionsProp,\n pageSize,\n cache: cacheConfig,\n };\n if (lazy === \"offset\")\n return {\n lazy: \"offset\" as const,\n loadOptions: loadOptionsProp,\n limit,\n cache: cacheConfig,\n };\n if (lazy === \"group\")\n return {\n lazy: \"group\" as const,\n loadOptions: loadOptionsProp,\n cache: cacheConfig,\n };\n return {\n lazy: false as const,\n loadOptions: loadOptionsProp,\n cache: cacheConfig,\n };\n }, [lazy, loadOptionsProp, pageSize, limit, cache?.enabled, cache?.maxSize]);\n\n const {\n options,\n loading,\n loadingMore,\n hasMore,\n loadOptions,\n loadMore,\n clearCache,\n } = useSelectFieldLoading(loadingHookConfig);\n\n useImperativeHandle(ref, () => ({ clearCache }), [clearCache]);\n\n const debouncedOptionLoader = useDebouncedCallback((inputValue: string) => {\n loadOptions(inputValue, { initial: true });\n }, debounceMs);\n\n const handleRemoveOption = useCallback(\n (option: { id: string | number }) => {\n onSelectedOptionsChange(\n selectedOptions.filter((opt) => opt.id !== option.id),\n );\n },\n [selectedOptions, onSelectedOptionsChange],\n );\n\n const handleClear = useCallback(() => {\n onSelectedOptionsChange([]);\n }, [onSelectedOptionsChange]);\n\n const {\n isOpen,\n getToggleButtonProps,\n getLabelProps,\n getMenuProps,\n getInputProps,\n wrapperDivRef,\n highlightedIndex,\n getItemProps,\n inputValue,\n downshiftItems,\n closeMenu,\n toggleMenu,\n } = useComboMultiple({\n displayAs,\n onSelectedOptionsChange,\n disabled: isDisabledOrReadOnly,\n options,\n pinnedOptions: [],\n selectedOptions,\n selectAll: selectAll\n ? {\n label: selectAll.label ?? \"Select All\",\n onClick: selectAll.onClick,\n checkState:\n selectAll.isChecked === true\n ? \"checked\"\n : selectAll.isChecked === false\n ? \"unchecked\"\n : (selectAll.isChecked ?? \"indeterminate\"),\n }\n : undefined,\n async onIsOpenChange(changes) {\n if (initialLoad === \"open\" && !initialLoadPerformed && changes.isOpen) {\n await loadOptions(\"\", { initial: true });\n setInitialLoadPerformed(true);\n }\n },\n onInputValueChange: ({ inputValue: iv }) => {\n debouncedOptionLoader(iv ?? \"\");\n },\n });\n\n useEffect(() => {\n const performInitialLoad = async () => {\n if (initialLoad === \"immediate\" && !initialLoadPerformed) {\n await loadOptions(\"\", { initial: true });\n setInitialLoadPerformed(true);\n }\n };\n performInitialLoad();\n }, [loadOptions, initialLoadPerformed, initialLoad]);\n\n const handleLoadMore = async () => {\n await loadMore(inputValue);\n };\n\n const disableClearButton =\n selectedOptions.length === 0 || isDisabledOrReadOnly;\n\n if (displayAs === \"dialog\") {\n return (\n <div\n className={\n className\n ? `${styles[\"search-field\"]} ${className}`\n : styles[\"search-field\"]\n }\n style={{ ...layoutStyles, ...style }}\n ref={wrapperDivRef}\n >\n <SelectFieldLabel\n label={label}\n labelNode={labelNode}\n hideLabel={hideLabel}\n getLabelProps={getLabelProps}\n required={required}\n />\n <MultiSelectFieldInput\n disabled={disabled}\n readOnly={readOnly}\n disableToggleButton={false}\n placeholder={placeholder}\n disableClearButton={disableClearButton}\n toggleButtonProps={getToggleButtonProps()}\n onClear={handleClear}\n id={`${id}-input`}\n inputProps={getInputProps({\n \"aria-describedby\": hasHelperText ? helperUid : undefined,\n \"aria-invalid\": error ? true : undefined,\n onFocus: handleFocus,\n onBlur: handleBlur,\n })}\n size={size}\n error={!!error}\n prefix={prefix}\n suffix={suffix}\n selectedOptions={selectedOptions}\n onRemoveOption={handleRemoveOption}\n singleRow={singleRow}\n maxChips={maxChips}\n onWrapperClick={toggleMenu}\n />\n {hasHelperText ? (\n <FieldMessage\n id={helperUid}\n hint={hint}\n errorMessage={errorMessage}\n errorAriaLive={isOpen || shouldAriaLive ? errorAriaLiveProp : \"off\"}\n description={description}\n />\n ) : null}\n <FieldDialog\n id={`${id}-dialog`}\n isOpen={isOpen}\n onClose={closeMenu}\n title={label}\n initialFocusResolver={(elements) => {\n return (\n elements.find((element) => element.tagName === \"INPUT\") ||\n elements[0]\n );\n }}\n field={\n <MultiSelectFieldInput\n disabled={disabled}\n readOnly={readOnly}\n inputProps={getInputProps()}\n disableToggleButton\n placeholder={placeholder}\n disableClearButton={disableClearButton}\n onClear={handleClear}\n id={`${id}-dialog-input`}\n inputWrapperRef={inputWrapperRef}\n size=\"medium\"\n error={!!error}\n prefix={prefix}\n suffix={suffix}\n selectedOptions={selectedOptions}\n onRemoveOption={handleRemoveOption}\n singleRow\n maxChips={20} // Arbitrary, but given singleRow is always true inside the dialog, we can use a large number here.\n />\n }\n >\n <MultiSelectFieldList\n isOpen\n items={downshiftItems}\n getMenuProps={getMenuProps}\n getItemProps={getItemProps}\n highlightedIndex={highlightedIndex}\n selectedOptions={selectedOptions}\n hasMore={hasMore}\n onLoadMore={handleLoadMore}\n loading={loading}\n loadingMore={loadingMore}\n disabled={isDisabledOrReadOnly}\n style={{\n paddingInline: 24,\n paddingBlockEnd: 24,\n }}\n />\n </FieldDialog>\n </div>\n );\n }\n\n return (\n <div\n className={\n className\n ? `${styles[\"search-field\"]} ${className}`\n : styles[\"search-field\"]\n }\n style={{ ...layoutStyles, ...style }}\n >\n <SelectFieldLabel\n label={label}\n labelNode={labelNode}\n hideLabel={hideLabel}\n getLabelProps={getLabelProps}\n required={required}\n />\n <MultiSelectFieldInput\n disabled={disabled}\n readOnly={readOnly}\n inputProps={getInputProps({\n popovertarget: `${id}-popover`,\n \"aria-describedby\": hasHelperText ? helperUid : undefined,\n \"aria-invalid\": error ? true : undefined,\n onFocus: handleFocus,\n onBlur: handleBlur,\n })}\n toggleButtonProps={getToggleButtonProps()}\n disableToggleButton={false}\n placeholder={placeholder}\n disableClearButton={disableClearButton}\n onClear={handleClear}\n id={`${id}-input`}\n popoverTarget={`${id}-popover`}\n inputWrapperRef={inputWrapperRef}\n size={size}\n error={!!error}\n prefix={prefix}\n suffix={suffix}\n selectedOptions={selectedOptions}\n onRemoveOption={handleRemoveOption}\n singleRow={singleRow}\n maxChips={maxChips}\n onWrapperClick={toggleMenu}\n />\n {hasHelperText ? (\n <FieldMessage\n id={helperUid}\n hint={hint}\n errorMessage={errorMessage}\n errorAriaLive={isOpen || shouldAriaLive ? errorAriaLiveProp : \"off\"}\n description={description}\n />\n ) : null}\n\n <FieldPopover\n id={`${id}-popover`}\n referenceElement={inputWrapperRef}\n open={isOpen && displayAs === \"popover\"}\n onClickOutside={closeMenu}\n >\n <MultiSelectFieldList\n isOpen={isOpen}\n items={downshiftItems}\n getMenuProps={getMenuProps}\n getItemProps={getItemProps}\n highlightedIndex={highlightedIndex}\n selectedOptions={selectedOptions}\n hasMore={hasMore}\n onLoadMore={handleLoadMore}\n loading={loading}\n loadingMore={loadingMore}\n disabled={isDisabledOrReadOnly}\n style={{\n padding: 8,\n }}\n />\n </FieldPopover>\n </div>\n );\n});\n\nMultiSelectField.displayName = \"MultiSelectField\";\n","import { useMemo } from \"react\";\nimport { matchSorter, MatchSorterOptions } from \"match-sorter\";\nimport { MultiSelectField } from \"./MultiSelectField\";\nimport { MultiSelectFieldProps, MultiSelectFieldOption } from \"./types\";\nimport { CheckState } from \"../../../types\";\n\nexport type MultiSelectFieldSyncProps = Omit<\n MultiSelectFieldProps,\n \"loadOptions\" | \"lazy\" | \"debounceMs\" | \"cache\" | \"initialLoad\" | \"selectAll\"\n> & {\n /**\n * The options to display in the multi-select field.\n */\n options: MultiSelectFieldOption[];\n /**\n * The filter to use to filter the options.\n * Can be a function to filter the options, or a MatchSorterOptions object to customize the default filtering.\n *\n * @example\n * <MultiSelectFieldSync\n * options={options}\n * filter={(options, searchValue) => {\n * return options.filter((option) => {\n * return option.label?.toLowerCase().includes(searchValue.toLowerCase());\n * });\n * }}\n * />\n *\n * @example\n * <MultiSelectFieldSync\n * options={options}\n * filter={{ keys: [\"label\"] }}\n * />\n */\n filter?:\n | ((\n options: MultiSelectFieldOption[],\n searchValue: string,\n ) => MultiSelectFieldOption[])\n | MatchSorterOptions;\n /**\n * Enables the \"Select All\" option at the top of the list.\n * Can be a boolean to enable with default label, or an object to customize the label.\n * Click handling and check state are managed automatically based on the options and value.\n *\n * The label can be a string or a function that receives a boolean indicating whether all options are selected.\n *\n * @example\n * <MultiSelectFieldSync selectAll options={options} {...props} />\n *\n * @example\n * <MultiSelectFieldSync selectAll={{ label: \"Select All Items\" }} options={options} {...props} />\n *\n * @example\n * <MultiSelectFieldSync\n * selectAll={{ label: (checked) => checked ? \"Deselect All\" : \"Select All\" }}\n * options={options}\n * {...props}\n * />\n */\n selectAll?: boolean | { label?: string | ((checked: boolean) => string) };\n};\n\nconst defaultFilter = (\n options: MultiSelectFieldOption[],\n searchValue: string,\n) => {\n return matchSorter(options, searchValue, {\n keys: [\"label\", \"searchText\"],\n });\n};\n\n/**\n * MultiSelectFieldSync is a simplified version of MultiSelectField that is used to display a list of options in a multi-select field.\n *\n * Features:\n * - Accepts `options` instead of `loadOptions` and `lazy`.\n * - Performs client-side filtering of the options.\n * - Optionally accepts a function to filter the options, or a MatchSorterOptions object to customize the default filtering.\n * - Simplified `selectAll` prop that automatically handles click and check state.\n * - Supports all the other props of MultiSelectField.\n */\nexport const MultiSelectFieldSync = (props: MultiSelectFieldSyncProps) => {\n const {\n options,\n filter: filterProp = defaultFilter,\n selectAll: selectAllProp,\n value,\n onSelectedOptionsChange,\n ...rest\n } = props;\n\n const filter =\n typeof filterProp === \"function\"\n ? filterProp\n : (options: MultiSelectFieldOption[], searchValue: string) =>\n matchSorter<MultiSelectFieldOption>(\n options,\n searchValue,\n filterProp as MatchSorterOptions<MultiSelectFieldOption>,\n );\n\n const selectAllConfig = useMemo(() => {\n if (!selectAllProp) return undefined;\n\n const enabledOptions = options.filter((opt) => !opt.disabled);\n const selectedCount = value.length;\n const totalCount = enabledOptions.length;\n const allSelected = selectedCount === totalCount;\n\n const labelProp =\n typeof selectAllProp === \"object\" ? selectAllProp.label : undefined;\n const label =\n typeof labelProp === \"function\" ? labelProp(allSelected) : labelProp;\n\n const isChecked: CheckState = allSelected\n ? \"checked\"\n : selectedCount > 0\n ? \"indeterminate\"\n : \"unchecked\";\n\n const handleClick = () => {\n if (allSelected) {\n onSelectedOptionsChange([]);\n } else {\n onSelectedOptionsChange(enabledOptions);\n }\n };\n\n return {\n label,\n onClick: handleClick,\n isChecked,\n };\n }, [selectAllProp, options, value, onSelectedOptionsChange]);\n\n return (\n <MultiSelectField\n lazy={false}\n loadOptions={(searchValue) => filter(options, searchValue)}\n debounceMs={0}\n value={value}\n onSelectedOptionsChange={onSelectedOptionsChange}\n selectAll={selectAllConfig}\n {...rest}\n />\n );\n};\n"],"names":["styles","Close","Chevron_Right","inputValue","options"],"mappings":"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"}
@@ -0,0 +1,259 @@
1
+ @layer starter, reset, base, state, application;
2
+ /* REVERT LAYER BUGFIX START */
3
+ ._input-wrapper_1t7vf_2 input::-moz-placeholder {
4
+ all: revert-layer;
5
+ -webkit-font-smoothing: auto;
6
+ }
7
+ ._input-wrapper_1t7vf_2 input,
8
+ ._input-wrapper_1t7vf_2 button,
9
+ ._input-wrapper_1t7vf_2 input::placeholder {
10
+ all: revert-layer;
11
+ -webkit-font-smoothing: auto;
12
+ }
13
+
14
+ /* REVERT LAYER BUGFIX END */
15
+ @layer reset {
16
+ ._buttons-wrapper_1t7vf_11 {
17
+ all: unset;
18
+ font-family: var(--font-family-base, "Nunito Sans", sans-serif);
19
+ font-size: 100%;
20
+ color: var(--foreground-color, #141414);
21
+ margin: 0;
22
+ padding: 0;
23
+ border-style: none;
24
+ border-width: 0;
25
+ border-color: transparent;
26
+ box-sizing: border-box;
27
+ display: flex;
28
+ }
29
+ ._input_1t7vf_2,
30
+ ._input-wrapper_1t7vf_2 {
31
+ all: unset;
32
+ font-family: var(--font-family-base, "Nunito Sans", sans-serif);
33
+ font-size: 100%;
34
+ color: var(--foreground-color, #141414);
35
+ margin: 0;
36
+ padding: 0;
37
+ border-style: none;
38
+ border-width: 0;
39
+ border-color: transparent;
40
+ box-sizing: border-box;
41
+ display: block;
42
+ }
43
+ ._toggle-button-wrapper_1t7vf_38,
44
+ ._close-button-wrapper_1t7vf_39 {
45
+ all: unset;
46
+ font-family: var(--font-family-base, "Nunito Sans", sans-serif);
47
+ font-size: 100%;
48
+ color: var(--foreground-color, #141414);
49
+ margin: 0;
50
+ padding: 0;
51
+ border-style: none;
52
+ border-width: 0;
53
+ border-color: transparent;
54
+ box-sizing: border-box;
55
+ display: revert-layer;
56
+ }
57
+ ._prefix_1t7vf_52,
58
+ ._suffix_1t7vf_53 {
59
+ all: unset;
60
+ font-family: var(--font-family-base, "Nunito Sans", sans-serif);
61
+ font-size: 100%;
62
+ color: var(--foreground-color, #141414);
63
+ margin: 0;
64
+ padding: 0;
65
+ border-style: none;
66
+ border-width: 0;
67
+ border-color: transparent;
68
+ box-sizing: border-box;
69
+ display: flex;
70
+ }
71
+ }
72
+ @layer base {
73
+ ._input-wrapper_1t7vf_2 {
74
+ display: flex;
75
+ position: relative;
76
+ border: 0.0625rem solid var(--border-color, #949596);
77
+ border-radius: 0.375rem;
78
+ outline: 0 solid var(--focus-ring-color, #0265DC);
79
+ outline-offset: 0.125rem;
80
+ padding-inline-start: 0.75rem;
81
+ padding-inline-end: 4.5rem;
82
+ background-color: var(--background-color, #ffffff);
83
+ }
84
+ ._input-wrapper_1t7vf_2._no-clear-button_1t7vf_79 {
85
+ padding-inline-end: 2rem;
86
+ }
87
+ ._input-wrapper_1t7vf_2._no-toggle-button_1t7vf_82 {
88
+ padding-inline-end: 2rem;
89
+ }
90
+ ._input-wrapper_1t7vf_2._no-clear-button_1t7vf_79._no-toggle-button_1t7vf_82 {
91
+ padding-inline-end: 0.75rem;
92
+ }
93
+ ._rows-wrapper_1t7vf_88 {
94
+ display: flex;
95
+ flex-direction: row;
96
+ flex-wrap: wrap;
97
+ align-items: stretch;
98
+ gap: 0 0.25rem;
99
+ flex-grow: 1;
100
+ width: 100%;
101
+ max-width: 100%;
102
+ }
103
+ ._chip-wrapper_1t7vf_98 {
104
+ display: flex;
105
+ justify-content: center;
106
+ align-items: center;
107
+ max-width: 100%;
108
+ height: 2.375rem;
109
+ }
110
+ ._chip-wrapper_1t7vf_98 ._chip_1t7vf_98 {
111
+ max-width: 100%;
112
+ }
113
+ ._input-flex_1t7vf_108 {
114
+ flex: 1 1 100px;
115
+ width: 0px;
116
+ min-width: 100px;
117
+ white-space: nowrap;
118
+ overflow: hidden;
119
+ text-overflow: ellipsis;
120
+ }
121
+ ._input_1t7vf_2 {
122
+ display: flex;
123
+ align-items: center;
124
+ flex: 1 0 100px;
125
+ width: 100px;
126
+ min-width: 100px;
127
+ height: 2.375rem;
128
+ padding-block: 0.5rem;
129
+ padding-inline: 0;
130
+ transition: outline 200ms cubic-bezier(0, 0, 0.4, 1);
131
+ }
132
+ @media (prefers-reduced-motion: reduce) {
133
+ ._input_1t7vf_2 {
134
+ transition-duration: 0.01ms !important;
135
+ transition-property: outline;
136
+ }
137
+ }
138
+ ._input_1t7vf_2::-moz-placeholder {
139
+ color: var(--foreground-color-subdued, #737475);
140
+ }
141
+ ._input_1t7vf_2::placeholder {
142
+ color: var(--foreground-color-subdued, #737475);
143
+ }
144
+ ._buttons-wrapper_1t7vf_11 {
145
+ position: absolute;
146
+ inset-block-start: 0;
147
+ inset-inline-end: 0;
148
+ height: 2.375rem;
149
+ }
150
+ ._close-button-wrapper_1t7vf_39 {
151
+ display: flex;
152
+ align-items: center;
153
+ cursor: pointer;
154
+ }
155
+ ._close-button-wrapper_1t7vf_39 ._close-button_1t7vf_39 {
156
+ color: var(--foreground-color, #141414);
157
+ }
158
+ ._toggle-button-wrapper_1t7vf_38 {
159
+ display: flex;
160
+ align-items: center;
161
+ cursor: pointer;
162
+ }
163
+ ._toggle-button_1t7vf_38 {
164
+ color: var(--foreground-color, #141414);
165
+ transform: rotate(90deg);
166
+ transition: transform 200ms cubic-bezier(0, 0, 0.4, 1);
167
+ }
168
+ @media (prefers-reduced-motion: reduce) {
169
+ ._toggle-button_1t7vf_38 {
170
+ transition-duration: 0.01ms !important;
171
+ }
172
+ }
173
+ ._prefix_1t7vf_52,
174
+ ._suffix_1t7vf_53 {
175
+ all: unset;
176
+ font-family: var(--font-family-base, "Nunito Sans", sans-serif);
177
+ font-size: 100%;
178
+ color: var(--foreground-color, #141414);
179
+ margin: 0;
180
+ padding: 0;
181
+ border-style: none;
182
+ border-width: 0;
183
+ border-color: transparent;
184
+ box-sizing: border-box;
185
+ display: flex;
186
+ flex: 0 0 auto;
187
+ justify-content: center;
188
+ align-items: center;
189
+ font-weight: 600;
190
+ min-width: 2rem;
191
+ }
192
+ ._prefix_1t7vf_52 {
193
+ padding-inline-end: 0.5rem;
194
+ }
195
+ ._suffix_1t7vf_53 {
196
+ padding-inline-start: 0.5rem;
197
+ padding-inline-end: 0.5rem;
198
+ }
199
+ }
200
+ @layer state {
201
+ ._input-wrapper_1t7vf_2._small_1t7vf_193 ._input_1t7vf_2 {
202
+ height: 1.875rem;
203
+ }
204
+ ._input-wrapper_1t7vf_2._large_1t7vf_196 ._input_1t7vf_2 {
205
+ height: 2.875rem;
206
+ }
207
+ ._input-wrapper_1t7vf_2 input._input_1t7vf_2:-moz-read-only {
208
+ background-color: var(--background-color-strong, #f7f7f7);
209
+ }
210
+ ._input-wrapper_1t7vf_2 input._input_1t7vf_2:read-only {
211
+ background-color: var(--background-color-strong, #f7f7f7);
212
+ }
213
+ ._input-wrapper_1t7vf_2._disabled_1t7vf_202, ._input-wrapper_1t7vf_2[disabled], ._input-wrapper_1t7vf_2:has(._input_1t7vf_2:disabled) {
214
+ opacity: 0.4;
215
+ }
216
+ ._input-wrapper_1t7vf_2._disabled_1t7vf_202 *, ._input-wrapper_1t7vf_2[disabled] *, ._input-wrapper_1t7vf_2:has(._input_1t7vf_2:disabled) * {
217
+ cursor: not-allowed;
218
+ }
219
+ ._input-wrapper_1t7vf_2:has(input._input_1t7vf_2:-moz-read-only) {
220
+ background-color: var(--background-color-strong, #f7f7f7);
221
+ }
222
+ ._input-wrapper_1t7vf_2[disabled], ._input-wrapper_1t7vf_2[readonly], ._input-wrapper_1t7vf_2._disabled_1t7vf_202, ._input-wrapper_1t7vf_2:has(input._input_1t7vf_2:read-only) {
223
+ background-color: var(--background-color-strong, #f7f7f7);
224
+ }
225
+ ._input-wrapper_1t7vf_2:focus:not([disabled]), ._input-wrapper_1t7vf_2:focus-visible, ._input-wrapper_1t7vf_2:has(._input_1t7vf_2:focus-visible) {
226
+ outline-width: 0.125rem;
227
+ }
228
+ ._input-wrapper_1t7vf_2:has(._input_1t7vf_2._error_1t7vf_214) {
229
+ border-color: var(--border-color-danger, #e13212);
230
+ }
231
+ ._input-wrapper_1t7vf_2:focus:has(._input_1t7vf_2._error_1t7vf_214):not([disabled]), ._input-wrapper_1t7vf_2:focus-visible:has(._input_1t7vf_2._error_1t7vf_214), ._input-wrapper_1t7vf_2:has(._input_1t7vf_2._error_1t7vf_214:focus-visible) {
232
+ outline-color: var(--focus-ring-color-danger, #e13212);
233
+ outline-width: 0.125rem;
234
+ }
235
+ ._small_1t7vf_193 ._buttons-wrapper_1t7vf_11 {
236
+ height: 1.875rem;
237
+ }
238
+ ._large_1t7vf_196 ._buttons-wrapper_1t7vf_11 {
239
+ height: 2.875rem;
240
+ }
241
+ ._close-button-wrapper_1t7vf_39 ._close-button_1t7vf_39[data-interactive=hover]::before, ._close-button-wrapper_1t7vf_39 ._close-button_1t7vf_39:hover::before, ._close-button-wrapper_1t7vf_39 ._close-button_1t7vf_39:disabled:not(._loading-infinite_1t7vf_227, ._loading-progress_1t7vf_227), ._close-button-wrapper_1t7vf_39 ._close-button_1t7vf_39._disabled_1t7vf_202:not(._loading-infinite_1t7vf_227, ._loading-progress_1t7vf_227), ._close-button-wrapper_1t7vf_39 ._close-button_1t7vf_39[aria-disabled=true]:not(._loading-infinite_1t7vf_227, ._loading-progress_1t7vf_227) {
242
+ background-color: inherit;
243
+ }
244
+ ._toggle-button-wrapper_1t7vf_38 ._toggle-button_1t7vf_38[aria-expanded=true] {
245
+ transform: rotate(270deg);
246
+ }
247
+ ._toggle-button-wrapper_1t7vf_38 ._toggle-button_1t7vf_38[data-interactive=hover]::before, ._toggle-button-wrapper_1t7vf_38 ._toggle-button_1t7vf_38:hover::before, ._toggle-button-wrapper_1t7vf_38 ._toggle-button_1t7vf_38:disabled:not(._loading-infinite_1t7vf_227, ._loading-progress_1t7vf_227), ._toggle-button-wrapper_1t7vf_38 ._toggle-button_1t7vf_38._disabled_1t7vf_202:not(._loading-infinite_1t7vf_227, ._loading-progress_1t7vf_227), ._toggle-button-wrapper_1t7vf_38 ._toggle-button_1t7vf_38[aria-disabled=true]:not(._loading-infinite_1t7vf_227, ._loading-progress_1t7vf_227) {
248
+ background-color: inherit;
249
+ }
250
+ [aria-expanded=true] ._toggle-button-wrapper_1t7vf_38 ._toggle-button_1t7vf_38 {
251
+ transform: rotate(270deg);
252
+ }
253
+ ._small_1t7vf_193 ._chip-wrapper_1t7vf_98 {
254
+ height: 1.875rem;
255
+ }
256
+ ._large_1t7vf_196 ._chip-wrapper_1t7vf_98 {
257
+ height: 2.875rem;
258
+ }
259
+ }
@@ -6,7 +6,7 @@ import { S as Spinner } from './Spinner-xEFwsq8_.js';
6
6
  import { t as textFieldStyles } from './TextField.module-pD1felN8.js';
7
7
  import { B as Button } from './Button-92_FKAyV.js';
8
8
  import { I as Icon } from './Icon-BSuTVNaa.js';
9
- import { F as FieldLabel } from './FieldLabel-jqlQ1Ldh.js';
9
+ import { F as FieldLabel } from './FieldLabel-BWOIFXgt.js';
10
10
  import { d as maskitoNumberOptionsGenerator, e as maskitoParseNumber, f as maskitoStringifyNumber, u as useMaskito } from './index.esm-C2ZhC_8d.js';
11
11
  import { u as usePrevious } from './usePrevious-Bvq-5auG.js';
12
12
  import { u as useOptionallyControlledState } from './useOptionallyControlledState-DbDuos5L.js';
@@ -1468,7 +1468,7 @@ const NumberField = forwardRef(
1468
1468
  FieldLabel,
1469
1469
  {
1470
1470
  moreInfo,
1471
- openMoreInfo: openInfo,
1471
+ moreInfoOpen: openInfo,
1472
1472
  required,
1473
1473
  htmlFor: id,
1474
1474
  ...labelProps,
@@ -1575,4 +1575,4 @@ const NumberField = forwardRef(
1575
1575
  NumberField.displayName = "NumberField";
1576
1576
 
1577
1577
  export { NumberField as N };
1578
- //# sourceMappingURL=NumberField-CjWLnD9X.js.map
1578
+ //# sourceMappingURL=NumberField-CcH25bnO.js.map