@mage-ui/components 1.0.62 → 1.0.64

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 (129) hide show
  1. package/dist/components/buttons/button-icon/ButtonIcon.d.mts +4 -5
  2. package/dist/components/buttons/button-icon/ButtonIcon.d.mts.map +1 -1
  3. package/dist/components/buttons/button-icon/ButtonIcon.mjs +1 -1
  4. package/dist/components/buttons/button-icon/ButtonIcon.mjs.map +1 -1
  5. package/dist/components/controls/dropdown/Dropdown.d.mts +12 -62
  6. package/dist/components/controls/dropdown/Dropdown.d.mts.map +1 -1
  7. package/dist/components/controls/dropdown/Dropdown.mjs +1 -1
  8. package/dist/components/controls/dropdown/Dropdown.mjs.map +1 -1
  9. package/dist/components/controls/dropdown/DropdownChevron.d.mts +23 -0
  10. package/dist/components/controls/dropdown/DropdownChevron.d.mts.map +1 -0
  11. package/dist/components/controls/dropdown/DropdownChevron.mjs +2 -0
  12. package/dist/components/controls/dropdown/DropdownChevron.mjs.map +1 -0
  13. package/dist/components/controls/dropdown/DropdownClearButton.d.mts +15 -0
  14. package/dist/components/controls/dropdown/DropdownClearButton.d.mts.map +1 -0
  15. package/dist/components/controls/dropdown/DropdownClearButton.mjs +2 -0
  16. package/dist/components/controls/dropdown/DropdownClearButton.mjs.map +1 -0
  17. package/dist/components/controls/dropdown/DropdownContextProvider.d.mts +11 -0
  18. package/dist/components/controls/dropdown/DropdownContextProvider.d.mts.map +1 -0
  19. package/dist/components/controls/dropdown/DropdownContextProvider.mjs +2 -0
  20. package/dist/components/controls/dropdown/DropdownContextProvider.mjs.map +1 -0
  21. package/dist/components/controls/dropdown/DropdownEndSlot.mjs +2 -0
  22. package/dist/components/controls/dropdown/DropdownEndSlot.mjs.map +1 -0
  23. package/dist/components/controls/dropdown/DropdownTargetTextInput.d.mts +19 -0
  24. package/dist/components/controls/dropdown/DropdownTargetTextInput.d.mts.map +1 -0
  25. package/dist/components/controls/dropdown/DropdownTargetTextInput.mjs +2 -0
  26. package/dist/components/controls/dropdown/DropdownTargetTextInput.mjs.map +1 -0
  27. package/dist/components/controls/dropdown/autocomplete/Autocomplete.d.mts +40 -0
  28. package/dist/components/controls/dropdown/autocomplete/Autocomplete.d.mts.map +1 -0
  29. package/dist/components/controls/dropdown/autocomplete/Autocomplete.mjs +2 -0
  30. package/dist/components/controls/dropdown/autocomplete/Autocomplete.mjs.map +1 -0
  31. package/dist/components/controls/dropdown/autocomplete/AutocompleteLoader.mjs +2 -0
  32. package/dist/components/controls/dropdown/autocomplete/AutocompleteLoader.mjs.map +1 -0
  33. package/dist/components/controls/dropdown/autocomplete/AutocompleteTarget.mjs +2 -0
  34. package/dist/components/controls/dropdown/autocomplete/AutocompleteTarget.mjs.map +1 -0
  35. package/dist/components/controls/dropdown/combobox/Combobox.d.mts +35 -0
  36. package/dist/components/controls/dropdown/combobox/Combobox.d.mts.map +1 -0
  37. package/dist/components/controls/dropdown/combobox/Combobox.mjs +2 -0
  38. package/dist/components/controls/dropdown/combobox/Combobox.mjs.map +1 -0
  39. package/dist/components/controls/dropdown/combobox/ComboboxCreatableOption.d.mts +21 -0
  40. package/dist/components/controls/dropdown/combobox/ComboboxCreatableOption.d.mts.map +1 -0
  41. package/dist/components/controls/dropdown/combobox/ComboboxCreatableOption.mjs +2 -0
  42. package/dist/components/controls/dropdown/combobox/ComboboxCreatableOption.mjs.map +1 -0
  43. package/dist/components/controls/dropdown/combobox/ComboboxEmptyOption.d.mts +12 -0
  44. package/dist/components/controls/dropdown/combobox/ComboboxEmptyOption.d.mts.map +1 -0
  45. package/dist/components/controls/dropdown/combobox/ComboboxEmptyOption.mjs +2 -0
  46. package/dist/components/controls/dropdown/combobox/ComboboxEmptyOption.mjs.map +1 -0
  47. package/dist/components/controls/dropdown/combobox/ComboboxOptions.mjs +2 -0
  48. package/dist/components/controls/dropdown/combobox/ComboboxOptions.mjs.map +1 -0
  49. package/dist/components/controls/dropdown/combobox/ComboboxTarget.d.mts +8 -0
  50. package/dist/components/controls/dropdown/combobox/ComboboxTarget.d.mts.map +1 -0
  51. package/dist/components/controls/dropdown/combobox/ComboboxTarget.mjs +2 -0
  52. package/dist/components/controls/dropdown/combobox/ComboboxTarget.mjs.map +1 -0
  53. package/dist/components/controls/dropdown/select/Select.d.mts +33 -0
  54. package/dist/components/controls/dropdown/select/Select.d.mts.map +1 -0
  55. package/dist/components/controls/dropdown/select/Select.mjs +2 -0
  56. package/dist/components/controls/dropdown/select/Select.mjs.map +1 -0
  57. package/dist/components/controls/index.d.mts +5 -12
  58. package/dist/components/controls/text-input/TextInput.d.mts +1 -0
  59. package/dist/components/controls/text-input/TextInput.d.mts.map +1 -1
  60. package/dist/components/controls/text-input/TextInput.mjs.map +1 -1
  61. package/dist/components/data-display/description-list/DescriptionList.d.mts +36 -0
  62. package/dist/components/data-display/description-list/DescriptionList.d.mts.map +1 -0
  63. package/dist/components/data-display/description-list/DescriptionList.mjs +2 -0
  64. package/dist/components/data-display/description-list/DescriptionList.mjs.map +1 -0
  65. package/dist/components/data-display/index.d.mts +2 -0
  66. package/dist/components/data-display/kanban/Kanban.d.mts +52 -0
  67. package/dist/components/data-display/kanban/Kanban.d.mts.map +1 -0
  68. package/dist/components/data-display/kanban/Kanban.mjs +2 -0
  69. package/dist/components/data-display/kanban/Kanban.mjs.map +1 -0
  70. package/dist/components/data-display/kanban/KanbanColumnHeader.mjs +2 -0
  71. package/dist/components/data-display/kanban/KanbanColumnHeader.mjs.map +1 -0
  72. package/dist/components/index.d.mts +12 -15
  73. package/dist/components/misc/scroll-area/ScrollArea.d.mts +2 -5
  74. package/dist/components/misc/scroll-area/ScrollArea.d.mts.map +1 -1
  75. package/dist/components/misc/scroll-area/ScrollArea.mjs +1 -1
  76. package/dist/components/misc/scroll-area/ScrollArea.mjs.map +1 -1
  77. package/dist/components/misc/scroll-area-autosize/ScrollAreaAutosize.d.mts +2 -5
  78. package/dist/components/misc/scroll-area-autosize/ScrollAreaAutosize.d.mts.map +1 -1
  79. package/dist/components/misc/scroll-area-autosize/ScrollAreaAutosize.mjs +1 -1
  80. package/dist/components/misc/scroll-area-autosize/ScrollAreaAutosize.mjs.map +1 -1
  81. package/dist/components/navigations/index.d.mts +1 -1
  82. package/dist/components/overlays/modal/Modal.d.mts +2 -2
  83. package/dist/components/overlays/modal/Modal.d.mts.map +1 -1
  84. package/dist/components/overlays/modal/Modal.mjs +1 -1
  85. package/dist/components/overlays/modal/Modal.mjs.map +1 -1
  86. package/dist/components/overlays/modal/modal-core.mjs +1 -1
  87. package/dist/components/overlays/modal/modal-core.mjs.map +1 -1
  88. package/dist/components/overlays/modal/modal-managed-ids.mjs +2 -0
  89. package/dist/components/overlays/modal/modal-managed-ids.mjs.map +1 -0
  90. package/dist/components/overlays/modal/modal-registry.d.mts +1 -2
  91. package/dist/components/overlays/modal/modal-registry.d.mts.map +1 -1
  92. package/dist/components/overlays/modal/modal-registry.mjs +1 -1
  93. package/dist/components/overlays/modal/modal-registry.mjs.map +1 -1
  94. package/dist/index.d.mts +12 -15
  95. package/dist/index.mjs +1 -1
  96. package/package.json +5 -4
  97. package/dist/components/controls/autocomplete/Autocomplete.d.mts +0 -35
  98. package/dist/components/controls/autocomplete/Autocomplete.d.mts.map +0 -1
  99. package/dist/components/controls/autocomplete/Autocomplete.mjs +0 -2
  100. package/dist/components/controls/autocomplete/Autocomplete.mjs.map +0 -1
  101. package/dist/components/controls/combobox/Combobox.d.mts +0 -58
  102. package/dist/components/controls/combobox/Combobox.d.mts.map +0 -1
  103. package/dist/components/controls/combobox/Combobox.mjs +0 -2
  104. package/dist/components/controls/combobox/Combobox.mjs.map +0 -1
  105. package/dist/components/controls/multi-select/MultiSelect.d.mts +0 -45
  106. package/dist/components/controls/multi-select/MultiSelect.d.mts.map +0 -1
  107. package/dist/components/controls/multi-select/MultiSelect.mjs +0 -2
  108. package/dist/components/controls/multi-select/MultiSelect.mjs.map +0 -1
  109. package/dist/components/controls/multi-select/MultiSelectTags.d.mts +0 -63
  110. package/dist/components/controls/multi-select/MultiSelectTags.d.mts.map +0 -1
  111. package/dist/components/controls/multi-select/MultiSelectTags.mjs +0 -2
  112. package/dist/components/controls/multi-select/MultiSelectTags.mjs.map +0 -1
  113. package/dist/components/controls/password-input-strength/oldPasswordInputStrength.d.mts +0 -43
  114. package/dist/components/controls/password-input-strength/oldPasswordInputStrength.d.mts.map +0 -1
  115. package/dist/components/controls/password-input-strength/oldPasswordInputStrength.mjs +0 -2
  116. package/dist/components/controls/password-input-strength/oldPasswordInputStrength.mjs.map +0 -1
  117. package/dist/components/controls/select/Select.d.mts +0 -38
  118. package/dist/components/controls/select/Select.d.mts.map +0 -1
  119. package/dist/components/controls/select/Select.mjs +0 -2
  120. package/dist/components/controls/select/Select.mjs.map +0 -1
  121. package/dist/components/controls/utils/chevron/Chevron.d.mts +0 -27
  122. package/dist/components/controls/utils/chevron/Chevron.d.mts.map +0 -1
  123. package/dist/components/controls/utils/chevron/Chevron.mjs +0 -2
  124. package/dist/components/controls/utils/chevron/Chevron.mjs.map +0 -1
  125. package/dist/components/controls/utils/clear-button/ClearButton.d.mts +0 -26
  126. package/dist/components/controls/utils/clear-button/ClearButton.d.mts.map +0 -1
  127. package/dist/components/controls/utils/clear-button/ClearButton.mjs +0 -2
  128. package/dist/components/controls/utils/clear-button/ClearButton.mjs.map +0 -1
  129. package/dist/components/controls/utils/index.d.mts +0 -2
@@ -1 +1 @@
1
- {"version":3,"file":"modal-core.mjs","names":[],"sources":["../../../../src/components/overlays/modal/modal-core.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\n\nimport NiceModal, { unregister, useModal } from '@ebay/nice-modal-react';\n\nimport {\n ModalBody,\n ModalCloseButton,\n ModalContent,\n ModalHeader,\n ModalOverlay,\n ModalRoot,\n ModalTitle,\n} from './modal-primitives';\nimport type { ModalCoreProps, ModalProps } from './modal-types';\n\nconst SLOT_DISPLAY_NAMES = [\n 'Modal.Header',\n 'Modal.Body',\n 'Modal.Content',\n 'Modal.Overlay',\n 'Modal.Title',\n 'Modal.CloseButton',\n 'Modal.Footer',\n] as const;\n\nexport const ModalCore = ({\n opened,\n onClose,\n centered,\n closeOnClickOutside,\n closeOnEscape,\n withinPortal,\n keepMounted,\n intent,\n classNames,\n title,\n withCloseButton = true,\n children,\n}: ModalCoreProps) => {\n const hasSlots = React.Children.toArray(children).some((child) => {\n if (!React.isValidElement(child)) return false;\n const childType = child.type as { displayName?: string };\n return (\n childType.displayName &&\n SLOT_DISPLAY_NAMES.includes(\n childType.displayName as (typeof SLOT_DISPLAY_NAMES)[number],\n )\n );\n });\n\n const props = {\n opened,\n onClose,\n centered,\n closeOnClickOutside,\n closeOnEscape,\n withinPortal,\n keepMounted,\n intent,\n classNames,\n };\n\n if (hasSlots) {\n return <ModalRoot {...props}>{children}</ModalRoot>;\n }\n\n const hasHeader = !!title || withCloseButton;\n\n return (\n <ModalRoot {...props}>\n <ModalOverlay />\n <ModalContent>\n {hasHeader && (\n <ModalHeader>\n {title && <ModalTitle>{title}</ModalTitle>}\n {withCloseButton && <ModalCloseButton />}\n </ModalHeader>\n )}\n <ModalBody>{children}</ModalBody>\n </ModalContent>\n </ModalRoot>\n );\n};\n\nconst ModalInnerComponent = NiceModal.create<ModalProps>(\n ({ onClose, children, ...props }: ModalProps) => {\n const modal = useModal();\n const [isOpen, setIsOpen] = useState(false);\n\n useEffect(() => {\n if (modal.visible) {\n const raf = requestAnimationFrame(() => {\n setIsOpen(true);\n });\n return () => cancelAnimationFrame(raf);\n }\n\n setIsOpen(false);\n }, [modal.visible]);\n\n return (\n <ModalCore\n opened={isOpen}\n onClose={() => {\n onClose?.();\n modal.hide();\n }}\n {...props}\n >\n {children}\n </ModalCore>\n );\n },\n);\n\nexport const ModalInner = ({ id, ...props }: ModalProps) => {\n unregister(id);\n NiceModal.register(id, () => <ModalInnerComponent id={id} {...props} />);\n return <ModalInnerComponent id={id} {...props} />;\n};\n"],"mappings":"uUAeA,MAAM,EAAqB,CACzB,eACA,aACA,gBACA,gBACA,cACA,oBACA,eACD,CAEY,GAAa,CACxB,SACA,UACA,WACA,sBACA,gBACA,eACA,cACA,SACA,aACA,QACA,kBAAkB,GAClB,cACoB,CACpB,IAAM,EAAW,EAAM,SAAS,QAAQ,EAAS,CAAC,KAAM,GAAU,CAChE,GAAI,CAAC,EAAM,eAAe,EAAM,CAAE,MAAO,GACzC,IAAM,EAAY,EAAM,KACxB,OACE,EAAU,aACV,EAAmB,SACjB,EAAU,YACX,EAEH,CAEI,EAAQ,CACZ,SACA,UACA,WACA,sBACA,gBACA,eACA,cACA,SACA,aACD,CAED,GAAI,EACF,OAAO,EAAC,EAAA,CAAU,GAAI,EAAQ,YAAqB,CAGrD,IAAM,EAAY,CAAC,CAAC,GAAS,EAE7B,OACE,EAAC,EAAA,CAAU,GAAI,YACb,EAAC,EAAA,EAAA,CAAe,CAChB,EAAC,EAAA,CAAA,SAAA,CACE,GACC,EAAC,EAAA,CAAA,SAAA,CACE,GAAS,EAAC,EAAA,CAAA,SAAY,EAAA,CAAmB,CACzC,GAAmB,EAAC,EAAA,EAAA,CAAmB,CAAA,CAAA,CAC5B,CAEhB,EAAC,EAAA,CAAW,WAAA,CAAqB,CAAA,CAAA,CACpB,CAAA,EACL,EAIV,EAAsB,EAAU,QACnC,CAAE,UAAS,WAAU,GAAG,KAAwB,CAC/C,IAAM,EAAQ,GAAU,CAClB,CAAC,EAAQ,GAAa,EAAS,GAAM,CAa3C,OAXA,MAAgB,CACd,GAAI,EAAM,QAAS,CACjB,IAAM,EAAM,0BAA4B,CACtC,EAAU,GAAK,EACf,CACF,UAAa,qBAAqB,EAAI,CAGxC,EAAU,GAAM,EACf,CAAC,EAAM,QAAQ,CAAC,CAGjB,EAAC,EAAA,CACC,OAAQ,EACR,YAAe,CACb,KAAW,CACX,EAAM,MAAM,EAEd,GAAI,EAEH,YACS,EAGjB,CAEY,GAAc,CAAE,KAAI,GAAG,MAClC,EAAW,EAAG,CACd,EAAU,SAAS,MAAU,EAAC,EAAA,CAAwB,KAAI,GAAI,GAAS,CAAC,CACjE,EAAC,EAAA,CAAwB,KAAI,GAAI,GAAS"}
1
+ {"version":3,"file":"modal-core.mjs","names":[],"sources":["../../../../src/components/overlays/modal/modal-core.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\n\nimport NiceModal, { unregister, useModal } from '@ebay/nice-modal-react';\n\nimport { isManagedId } from './modal-managed-ids';\nimport {\n ModalBody,\n ModalCloseButton,\n ModalContent,\n ModalHeader,\n ModalOverlay,\n ModalRoot,\n ModalTitle,\n} from './modal-primitives';\nimport type { ModalCoreProps, ModalProps } from './modal-types';\n\nconst SLOT_DISPLAY_NAMES = [\n 'Modal.Header',\n 'Modal.Body',\n 'Modal.Content',\n 'Modal.Overlay',\n 'Modal.Title',\n 'Modal.CloseButton',\n 'Modal.Footer',\n] as const;\n\nexport const ModalCore = ({\n opened,\n onClose,\n centered,\n closeOnClickOutside,\n closeOnEscape,\n withinPortal,\n keepMounted,\n intent,\n classNames,\n title,\n withCloseButton = true,\n children,\n}: ModalCoreProps) => {\n const hasSlots = React.Children.toArray(children).some((child) => {\n if (!React.isValidElement(child)) return false;\n const childType = child.type as { displayName?: string };\n return (\n childType.displayName &&\n SLOT_DISPLAY_NAMES.includes(\n childType.displayName as (typeof SLOT_DISPLAY_NAMES)[number],\n )\n );\n });\n\n const props = {\n opened,\n onClose,\n centered,\n closeOnClickOutside,\n closeOnEscape,\n withinPortal,\n keepMounted,\n intent,\n classNames,\n };\n\n if (hasSlots) {\n return <ModalRoot {...props}>{children}</ModalRoot>;\n }\n\n const hasHeader = !!title || withCloseButton;\n\n return (\n <ModalRoot {...props}>\n <ModalOverlay />\n <ModalContent>\n {hasHeader && (\n <ModalHeader>\n {title && <ModalTitle>{title}</ModalTitle>}\n {withCloseButton && <ModalCloseButton />}\n </ModalHeader>\n )}\n <ModalBody>{children}</ModalBody>\n </ModalContent>\n </ModalRoot>\n );\n};\n\nconst ModalInnerComponent = NiceModal.create<ModalProps>(\n ({ onClose, children, ...props }: ModalProps) => {\n const modal = useModal();\n const [isOpen, setIsOpen] = useState(false);\n\n useEffect(() => {\n if (modal.visible) {\n const raf = requestAnimationFrame(() => {\n setIsOpen(true);\n });\n return () => cancelAnimationFrame(raf);\n }\n\n setIsOpen(false);\n }, [modal.visible]);\n\n return (\n <ModalCore\n opened={isOpen}\n onClose={() => {\n onClose?.();\n modal.hide();\n }}\n {...props}\n >\n {children}\n </ModalCore>\n );\n },\n);\n\nexport const ModalInner = ({ id, ...props }: ModalProps) => {\n if (id != null && !isManagedId(id)) {\n unregister(id);\n NiceModal.register(id, () => <ModalInnerComponent id={id} {...props} />);\n }\n return <ModalInnerComponent id={id} {...props} />;\n};\n"],"mappings":"6XAgBA,MAAM,EAAqB,CACzB,eACA,aACA,gBACA,gBACA,cACA,oBACA,eACD,CAEY,GAAa,CACxB,SACA,UACA,WACA,sBACA,gBACA,eACA,cACA,SACA,aACA,QACA,kBAAkB,GAClB,cACoB,CACpB,IAAM,EAAW,EAAM,SAAS,QAAQ,EAAS,CAAC,KAAM,GAAU,CAChE,GAAI,CAAC,EAAM,eAAe,EAAM,CAAE,MAAO,GACzC,IAAM,EAAY,EAAM,KACxB,OACE,EAAU,aACV,EAAmB,SACjB,EAAU,YACX,EAEH,CAEI,EAAQ,CACZ,SACA,UACA,WACA,sBACA,gBACA,eACA,cACA,SACA,aACD,CAED,GAAI,EACF,OAAO,EAAC,EAAA,CAAU,GAAI,EAAQ,YAAqB,CAGrD,IAAM,EAAY,CAAC,CAAC,GAAS,EAE7B,OACE,EAAC,EAAA,CAAU,GAAI,YACb,EAAC,EAAA,EAAA,CAAe,CAChB,EAAC,EAAA,CAAA,SAAA,CACE,GACC,EAAC,EAAA,CAAA,SAAA,CACE,GAAS,EAAC,EAAA,CAAA,SAAY,EAAA,CAAmB,CACzC,GAAmB,EAAC,EAAA,EAAA,CAAmB,CAAA,CAAA,CAC5B,CAEhB,EAAC,EAAA,CAAW,WAAA,CAAqB,CAAA,CAAA,CACpB,CAAA,EACL,EAIV,EAAsB,EAAU,QACnC,CAAE,UAAS,WAAU,GAAG,KAAwB,CAC/C,IAAM,EAAQ,GAAU,CAClB,CAAC,EAAQ,GAAa,EAAS,GAAM,CAa3C,OAXA,MAAgB,CACd,GAAI,EAAM,QAAS,CACjB,IAAM,EAAM,0BAA4B,CACtC,EAAU,GAAK,EACf,CACF,UAAa,qBAAqB,EAAI,CAGxC,EAAU,GAAM,EACf,CAAC,EAAM,QAAQ,CAAC,CAGjB,EAAC,EAAA,CACC,OAAQ,EACR,YAAe,CACb,KAAW,CACX,EAAM,MAAM,EAEd,GAAI,EAEH,YACS,EAGjB,CAEY,GAAc,CAAE,KAAI,GAAG,MAC9B,GAAM,MAAQ,CAAC,EAAY,EAAG,GAChC,EAAW,EAAG,CACd,EAAU,SAAS,MAAU,EAAC,EAAA,CAAwB,KAAI,GAAI,GAAS,CAAC,EAEnE,EAAC,EAAA,CAAwB,KAAI,GAAI,GAAS"}
@@ -0,0 +1,2 @@
1
+ const e=new Set,t=t=>{e.add(t)},n=t=>{e.delete(t)},r=t=>e.has(t);export{r as isManagedId,t as trackManagedId,n as untrackManagedId};
2
+ //# sourceMappingURL=modal-managed-ids.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"modal-managed-ids.mjs","names":[],"sources":["../../../../src/components/overlays/modal/modal-managed-ids.ts"],"sourcesContent":["const _managedIds = new Set<string>();\n\nexport const trackManagedId = (id: string): void => {\n _managedIds.add(id);\n};\n\nexport const untrackManagedId = (id: string): void => {\n _managedIds.delete(id);\n};\n\nexport const isManagedId = (id: string): boolean => {\n return _managedIds.has(id);\n};\n"],"mappings":"AAAA,MAAM,EAAc,IAAI,IAEX,EAAkB,GAAqB,CAClD,EAAY,IAAI,EAAG,EAGR,EAAoB,GAAqB,CACpD,EAAY,OAAO,EAAG,EAGX,EAAe,GACnB,EAAY,IAAI,EAAG"}
@@ -6,7 +6,6 @@ type ModalRegistryEntry = ModalProps | ComponentType<{
6
6
  id: string;
7
7
  } & Record<string, unknown>> | ReactElement;
8
8
  type ModalRegistry = Record<string, ModalRegistryEntry>;
9
- declare function registerModal<T extends ModalRegistryEntry>(id: string, entry: T): T;
10
9
  //#endregion
11
- export { ModalRegistry, ModalRegistryEntry, registerModal };
10
+ export { ModalRegistry, ModalRegistryEntry };
12
11
  //# sourceMappingURL=modal-registry.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"modal-registry.d.mts","names":[],"sources":["../../../../src/components/overlays/modal/modal-registry.tsx"],"mappings":";;;;KAYY,kBAAA,GACR,UAAA,GACA,aAAA;EAAgB,EAAA;AAAA,IAAe,MAAA,qBAC/B,YAAA;AAAA,KAEQ,aAAA,GAAgB,MAAA,SAAe,kBAAA;AAAA,iBAE3B,aAAA,WAAwB,kBAAA,CAAA,CACtC,EAAA,UACA,KAAA,EAAO,CAAA,GACN,CAAA"}
1
+ {"version":3,"file":"modal-registry.d.mts","names":[],"sources":["../../../../src/components/overlays/modal/modal-registry.tsx"],"mappings":";;;;KAeY,kBAAA,GACR,UAAA,GACA,aAAA;EAAgB,EAAA;AAAA,IAAe,MAAA,qBAC/B,YAAA;AAAA,KAEQ,aAAA,GAAgB,MAAA,SAAe,kBAAA"}
@@ -1,2 +1,2 @@
1
- import{ModalInner as e}from"./modal-core.mjs";import{jsx as t}from"react/jsx-runtime";import{isValidElement as n}from"react";import r,{unregister as i,useModal as a}from"@ebay/nice-modal-react";function o(o,s){i(o);let c=typeof s==`function`?({id:e,...n})=>{let r=a(e).args??{};return t(s,{id:e,...n,...r})}:()=>n(s)?s:t(e,{...s});return r.register(o,c),s}const s=({children:e,modals:n})=>(n&&Object.entries(n).forEach(([e,t])=>{o(e,t)}),t(r.Provider,{children:e}));export{s as ModalProvider,o as registerModal};
1
+ import{trackManagedId as e,untrackManagedId as t}from"./modal-managed-ids.mjs";import{ModalInner as n}from"./modal-core.mjs";import{jsx as r}from"react/jsx-runtime";import{isValidElement as i,useEffect as a,useRef as o}from"react";import s,{unregister as c,useModal as l}from"@ebay/nice-modal-react";const u=(a,o)=>{t(a),c(a),e(a);let u=typeof o==`function`?({id:e,...t})=>{let n=l(e).args??{};return r(o,{id:e,...t,...n})}:()=>i(o)?o:r(n,{...o});return s.register(a,u),o},d=({children:e,modals:t})=>{let n=o(!1);return!n.current&&t&&(Object.entries(t).forEach(([e,t])=>{u(e,t)}),n.current=!0),a(()=>{t&&Object.entries(t).forEach(([e,t])=>{u(e,t)})},[t]),r(s.Provider,{children:e})};export{d as ModalProvider,u as registerModal};
2
2
  //# sourceMappingURL=modal-registry.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"modal-registry.mjs","names":[],"sources":["../../../../src/components/overlays/modal/modal-registry.tsx"],"sourcesContent":["import {\n type ComponentType,\n isValidElement,\n type ReactElement,\n type ReactNode,\n} from 'react';\n\nimport NiceModal, { unregister, useModal } from '@ebay/nice-modal-react';\n\nimport { ModalInner } from './modal-core';\nimport type { ModalProps } from './modal-types';\n\nexport type ModalRegistryEntry =\n | ModalProps\n | ComponentType<{ id: string } & Record<string, unknown>>\n | ReactElement;\n\nexport type ModalRegistry = Record<string, ModalRegistryEntry>;\n\nexport function registerModal<T extends ModalRegistryEntry>(\n id: string,\n entry: T,\n): T {\n unregister(id);\n\n const modalComponent: ComponentType<\n { id: string } & Record<string, unknown>\n > =\n typeof entry === 'function'\n ? ({ id, ...props }: { id: string } & Record<string, unknown>) => {\n const modal = useModal(id);\n const args = (modal.args ?? {}) as Record<string, unknown>;\n const Component = entry as ComponentType<Record<string, unknown>>;\n return <Component id={id} {...props} {...args} />;\n }\n : () => (isValidElement(entry) ? entry : <ModalInner {...entry} />);\n\n NiceModal.register(id, modalComponent);\n return entry;\n}\n\nexport const ModalProvider: ComponentType<{\n children: ReactNode;\n modals?: ModalRegistry;\n}> = ({ children, modals }) => {\n if (modals) {\n Object.entries(modals).forEach(([id, modal]) => {\n registerModal(id, modal);\n });\n }\n\n return <NiceModal.Provider>{children}</NiceModal.Provider>;\n};\n"],"mappings":"kMAmBA,SAAgB,EACd,EACA,EACG,CACH,EAAW,EAAG,CAEd,IAAM,EAGJ,OAAO,GAAU,YACZ,CAAE,KAAI,GAAG,KAAsD,CAE9D,IAAM,EADQ,EAAS,EAAG,CACN,MAAQ,EAAE,CAE9B,OAAO,EADW,EAAA,CACI,KAAI,GAAI,EAAO,GAAI,GAAQ,MAE5C,EAAe,EAAM,CAAG,EAAQ,EAAC,EAAA,CAAW,GAAI,EAAA,CAAS,CAGtE,OADA,EAAU,SAAS,EAAI,EAAe,CAC/B,EAGT,MAAa,GAGP,CAAE,WAAU,aACZ,GACF,OAAO,QAAQ,EAAO,CAAC,SAAS,CAAC,EAAI,KAAW,CAC9C,EAAc,EAAI,EAAM,EACxB,CAGG,EAAC,EAAU,SAAA,CAAU,WAAA,CAA8B"}
1
+ {"version":3,"file":"modal-registry.mjs","names":[],"sources":["../../../../src/components/overlays/modal/modal-registry.tsx"],"sourcesContent":["import {\n type ComponentType,\n isValidElement,\n type ReactElement,\n type ReactNode,\n useEffect,\n useRef,\n} from 'react';\n\nimport NiceModal, { unregister, useModal } from '@ebay/nice-modal-react';\n\nimport { ModalInner } from './modal-core';\nimport { trackManagedId, untrackManagedId } from './modal-managed-ids';\nimport type { ModalProps } from './modal-types';\n\nexport type ModalRegistryEntry =\n | ModalProps\n | ComponentType<{ id: string } & Record<string, unknown>>\n | ReactElement;\n\nexport type ModalRegistry = Record<string, ModalRegistryEntry>;\n\nexport const registerModal = <T extends ModalRegistryEntry>(\n id: string,\n entry: T,\n): T => {\n untrackManagedId(id);\n unregister(id);\n trackManagedId(id);\n\n const modalComponent: ComponentType<\n { id: string } & Record<string, unknown>\n > =\n typeof entry === 'function'\n ? ({ id, ...props }: { id: string } & Record<string, unknown>) => {\n const modal = useModal(id);\n const args = (modal.args ?? {}) as Record<string, unknown>;\n const Component = entry as ComponentType<Record<string, unknown>>;\n return <Component id={id} {...props} {...args} />;\n }\n : () => (isValidElement(entry) ? entry : <ModalInner {...entry} />);\n\n NiceModal.register(id, modalComponent);\n return entry;\n};\n\nexport const ModalProvider: ComponentType<{\n children: ReactNode;\n modals?: ModalRegistry;\n}> = ({ children, modals }) => {\n const registeredRef = useRef(false);\n\n if (!registeredRef.current && modals) {\n Object.entries(modals).forEach(([id, modal]) => {\n registerModal(id, modal);\n });\n registeredRef.current = true;\n }\n\n useEffect(() => {\n if (!modals) return;\n\n Object.entries(modals).forEach(([id, modal]) => {\n registerModal(id, modal);\n });\n }, [modals]);\n\n return <NiceModal.Provider>{children}</NiceModal.Provider>;\n};\n"],"mappings":"4SAsBA,MAAa,GACX,EACA,IACM,CACN,EAAiB,EAAG,CACpB,EAAW,EAAG,CACd,EAAe,EAAG,CAElB,IAAM,EAGJ,OAAO,GAAU,YACZ,CAAE,KAAI,GAAG,KAAsD,CAE9D,IAAM,EADQ,EAAS,EAAG,CACN,MAAQ,EAAE,CAE9B,OAAO,EADW,EAAA,CACI,KAAI,GAAI,EAAO,GAAI,GAAQ,MAE5C,EAAe,EAAM,CAAG,EAAQ,EAAC,EAAA,CAAW,GAAI,EAAA,CAAS,CAGtE,OADA,EAAU,SAAS,EAAI,EAAe,CAC/B,GAGI,GAGP,CAAE,WAAU,YAAa,CAC7B,IAAM,EAAgB,EAAO,GAAM,CAiBnC,MAfI,CAAC,EAAc,SAAW,IAC5B,OAAO,QAAQ,EAAO,CAAC,SAAS,CAAC,EAAI,KAAW,CAC9C,EAAc,EAAI,EAAM,EACxB,CACF,EAAc,QAAU,IAG1B,MAAgB,CACT,GAEL,OAAO,QAAQ,EAAO,CAAC,SAAS,CAAC,EAAI,KAAW,CAC9C,EAAc,EAAI,EAAM,EACxB,EACD,CAAC,EAAO,CAAC,CAEL,EAAC,EAAU,SAAA,CAAU,WAAA,CAA8B"}
package/dist/index.d.mts CHANGED
@@ -4,20 +4,27 @@ import { ButtonLoader } from "./components/buttons/button-action/ButtonLoader.mj
4
4
  import { ButtonIcon, ButtonIconProps } from "./components/buttons/button-icon/ButtonIcon.mjs";
5
5
  import { ButtonIconVisual, ButtonIconVisualProps } from "./components/buttons/button-icon-visual/ButtonIconVisual.mjs";
6
6
  import { ButtonVisual, ButtonVisualProps } from "./components/buttons/button-visual/ButtonVisual.mjs";
7
- import { Menu, MenuProps } from "./components/navigations/menu/Menu.mjs";
8
- import { Combobox, ComboboxProps } from "./components/controls/combobox/Combobox.mjs";
9
- import { Autocomplete, AutocompleteProps, OptionProps } from "./components/controls/autocomplete/Autocomplete.mjs";
10
7
  import { Checkbox, CheckboxProps } from "./components/controls/checkbox/Checkbox.mjs";
11
8
  import { DatePicker, DatePickerProps } from "./components/controls/date-picker/DatePicker.mjs";
9
+ import { HorizontalDivider, HorizontalDividerProps } from "./components/misc/horizontal-divider/HorizontalDivider.mjs";
10
+ import { ScrollArea, ScrollAreaProps } from "./components/misc/scroll-area/ScrollArea.mjs";
11
+ import { ScrollAreaAutosize, ScrollAreaAutosizeProps } from "./components/misc/scroll-area-autosize/ScrollAreaAutosize.mjs";
12
+ import { VisuallyHidden, VisuallyHiddenProps } from "./components/misc/visually-hidden/VisuallyHidden.mjs";
13
+ import { TextInput, TextInputProps } from "./components/controls/text-input/TextInput.mjs";
14
+ import { Combobox, ComboboxProps } from "./components/controls/dropdown/combobox/Combobox.mjs";
15
+ import { Autocomplete, AutocompleteProps } from "./components/controls/dropdown/autocomplete/Autocomplete.mjs";
16
+ import { Select, SelectProps } from "./components/controls/dropdown/select/Select.mjs";
12
17
  import { AssignedUser, AssignedUserProps } from "./components/data-display/assigned-user/AssignedUser.mjs";
13
18
  import { Avatar, AvatarProps } from "./components/data-display/avatar/Avatar.mjs";
14
19
  import { Badge, BadgeProps } from "./components/data-display/badge/Badge.mjs";
15
20
  import { Calendar, CalendarEvent, CalendarProps, CalendarVariant, DateLocalizer, momentLocalizer } from "./components/data-display/calendar/Calendar.mjs";
21
+ import { DescriptionList, DescriptionListClassNames, DescriptionListItemProps, DescriptionListProps } from "./components/data-display/description-list/DescriptionList.mjs";
16
22
  import { Icon, IconProps } from "./components/data-display/icons/icon/Icon.mjs";
17
23
  import { IconRaw, IconRawProps } from "./components/data-display/icons/icon-raw/IconRaw.mjs";
18
24
  import { IconSvg, IconSvgProps } from "./components/data-display/icons/icon-svg/IconSvg.mjs";
19
25
  import { IconWrapped, IconWrappedProps } from "./components/data-display/icons/icon-wrapped/IconWrapped.mjs";
20
26
  import { Indicator, IndicatorProps } from "./components/data-display/indicator/Indicator.mjs";
27
+ import { BoardData, BoardItem, CardRenderProps, ConfigMap, Kanban, KanbanProps } from "./components/data-display/kanban/Kanban.mjs";
21
28
  import { LoaderDot, LoaderDotProps } from "./components/data-display/loader-dot/LoaderDot.mjs";
22
29
  import { LoaderOval, LoaderOvalProps } from "./components/data-display/loader-oval/LoaderOval.mjs";
23
30
  import { LogoImage, LogoImageProps } from "./components/data-display/logos/logo-image/LogoImage.mjs";
@@ -32,30 +39,20 @@ import { Dropzone, DropzoneProps, FileData } from "./components/controls/dropzon
32
39
  import { DropzoneFiles, DropzoneFilesProps } from "./components/controls/dropzone-files/DropzoneFiles.mjs";
33
40
  import { FileInput, FileInputProps } from "./components/controls/file-input/FileInput.mjs";
34
41
  import { FileInputMultiple, FileInputMultipleProps } from "./components/controls/file-input/FileInputMultiple.mjs";
35
- import { MultiSelect, MultiSelectProps } from "./components/controls/multi-select/MultiSelect.mjs";
36
- import { MultiSelectTags, MultiSelectTagsProps } from "./components/controls/multi-select/MultiSelectTags.mjs";
37
- import { TextInput, TextInputProps } from "./components/controls/text-input/TextInput.mjs";
38
42
  import { PasswordInput, PasswordInputProps } from "./components/controls/password-input/PasswordInput.mjs";
39
43
  import { PasswordRule, PasswordSegment, PasswordStrengthInput, PasswordStrengthInputProps } from "./components/controls/password-input/PasswordStrengthInput.mjs";
40
44
  import { PasswordRuleDefinition, usePasswordRules } from "./components/controls/password-input/usePasswordRules.mjs";
41
- import { PasswordInputStrength, PasswordInputStrengthProps } from "./components/controls/password-input-strength/oldPasswordInputStrength.mjs";
42
45
  import { Radio, RadioProps } from "./components/controls/radio/Radio.mjs";
43
- import { Select, SelectProps } from "./components/controls/select/Select.mjs";
44
46
  import { Textarea, TextareaProps } from "./components/controls/textarea/Textarea.mjs";
45
- import { Chevron, ChevronProps } from "./components/controls/utils/chevron/Chevron.mjs";
46
- import { ClearButton, ClearButtonProps } from "./components/controls/utils/clear-button/ClearButton.mjs";
47
47
  import { Form, FormProps } from "./components/forms/Form.mjs";
48
48
  import { PASSWORD_RULES } from "./components/forms/rules/password-rules.mjs";
49
49
  import { z } from "./components/forms/rules/zod.mjs";
50
50
  import { Card, CardProps } from "./components/layouts/card/Card.mjs";
51
51
  import { FluidGrid, FluidGridProps } from "./components/layouts/fluid-grid/FluidGrid.mjs";
52
52
  import { Grid, GridClassNames } from "./components/layouts/grid/Grid.mjs";
53
- import { HorizontalDivider, HorizontalDividerProps } from "./components/misc/horizontal-divider/HorizontalDivider.mjs";
54
- import { ScrollArea, ScrollAreaProps } from "./components/misc/scroll-area/ScrollArea.mjs";
55
- import { ScrollAreaAutosize, ScrollAreaAutosizeProps } from "./components/misc/scroll-area-autosize/ScrollAreaAutosize.mjs";
56
- import { VisuallyHidden, VisuallyHiddenProps } from "./components/misc/visually-hidden/VisuallyHidden.mjs";
57
53
  import { BreadcrumbsBarProps } from "./components/navigations/breadcrumbs/BreadcrumbsBar.mjs";
58
54
  import { Breadcrumbs, BreadcrumbsProps } from "./components/navigations/breadcrumbs/Breadcrumbs.mjs";
55
+ import { Menu, MenuProps } from "./components/navigations/menu/Menu.mjs";
59
56
  import { Sidebar, SidebarClassNames, SidebarProps } from "./components/navigations/sidebars/sidebar/Sidebar.mjs";
60
57
  import { ModalClassNames, ModalIntent, ModalProps, ModalRootProps } from "./components/overlays/modal/modal-types.mjs";
61
58
  import { ModalRegistry, ModalRegistryEntry } from "./components/overlays/modal/modal-registry.mjs";
@@ -66,4 +63,4 @@ import { Tooltip, TooltipProps } from "./components/overlays/tooltip/Tooltip.mjs
66
63
  import "./components/index.mjs";
67
64
  import { MageUiProvider, MageUiProviderProps } from "./providers/MageUiProvider.mjs";
68
65
  import "./providers/index.mjs";
69
- export { AssignedUser, AssignedUserProps, Autocomplete, AutocompleteProps, Avatar, AvatarProps, Badge, BadgeProps, Breadcrumbs, BreadcrumbsBarProps, BreadcrumbsProps, Button, ButtonAction, ButtonActionProps, ButtonIcon, ButtonIconProps, ButtonIconVisual, ButtonIconVisualProps, ButtonLoader, ButtonProps, ButtonVisual, ButtonVisualProps, Calendar, CalendarEvent, CalendarProps, CalendarVariant, Card, CardProps, Checkbox, CheckboxProps, Chevron, ChevronProps, ClearButton, ClearButtonProps, Combobox, ComboboxProps, DateLocalizer, DatePicker, DatePickerProps, Dropzone, DropzoneFiles, DropzoneFilesProps, DropzoneProps, FileData, FileInput, FileInputMultiple, FileInputMultipleProps, FileInputProps, FluidGrid, FluidGridProps, Form, FormProps, Grid, GridClassNames, HorizontalDivider, HorizontalDividerProps, Icon, IconProps, IconRaw, IconRawProps, IconSvg, IconSvgProps, IconWrapped, IconWrappedProps, Indicator, IndicatorProps, LoaderDot, LoaderDotProps, LoaderOval, LoaderOvalProps, LogoImage, LogoImageProps, LogoSvg, LogoSvgProps, MageUiProvider, MageUiProviderProps, Menu, MenuProps, Modal, ModalClassNames, ModalIntent, ModalProps, ModalRegistry, ModalRegistryEntry, ModalRootProps, Modals, MultiSelect, MultiSelectProps, MultiSelectTags, MultiSelectTagsProps, NotificationBanner, NotificationBannerIntent, NotificationBannerProps, OptionProps, PASSWORD_RULES, PasswordInput, PasswordInputProps, PasswordInputStrength, PasswordInputStrengthProps, PasswordRule, PasswordRuleDefinition, PasswordSegment, PasswordStrengthInput, PasswordStrengthInputProps, Radio, RadioProps, RemovableItem, RemovableItemProps, ScrollArea, ScrollAreaAutosize, ScrollAreaAutosizeProps, ScrollAreaProps, Select, SelectProps, Sidebar, SidebarClassNames, SidebarProps, Tag, TagGroup, TagGroupProps, TagProps, TextInput, TextInputProps, Textarea, TextareaProps, Toast, ToastOptions, ToastProviderProps, Tooltip, TooltipProps, UploadedFile, UploadedFileDetails, UploadedFileDetailsProps, UploadedFileProps, VisuallyHidden, VisuallyHiddenProps, momentLocalizer, usePasswordRules, z };
66
+ export { AssignedUser, AssignedUserProps, Autocomplete, AutocompleteProps, Avatar, AvatarProps, Badge, BadgeProps, BoardData, BoardItem, Breadcrumbs, BreadcrumbsBarProps, BreadcrumbsProps, Button, ButtonAction, ButtonActionProps, ButtonIcon, ButtonIconProps, ButtonIconVisual, ButtonIconVisualProps, ButtonLoader, ButtonProps, ButtonVisual, ButtonVisualProps, Calendar, CalendarEvent, CalendarProps, CalendarVariant, Card, CardProps, CardRenderProps, Checkbox, CheckboxProps, Combobox, ComboboxProps, ConfigMap, DateLocalizer, DatePicker, DatePickerProps, DescriptionList, DescriptionListClassNames, DescriptionListItemProps, DescriptionListProps, Dropzone, DropzoneFiles, DropzoneFilesProps, DropzoneProps, FileData, FileInput, FileInputMultiple, FileInputMultipleProps, FileInputProps, FluidGrid, FluidGridProps, Form, FormProps, Grid, GridClassNames, HorizontalDivider, HorizontalDividerProps, Icon, IconProps, IconRaw, IconRawProps, IconSvg, IconSvgProps, IconWrapped, IconWrappedProps, Indicator, IndicatorProps, Kanban, KanbanProps, LoaderDot, LoaderDotProps, LoaderOval, LoaderOvalProps, LogoImage, LogoImageProps, LogoSvg, LogoSvgProps, MageUiProvider, MageUiProviderProps, Menu, MenuProps, Modal, ModalClassNames, ModalIntent, ModalProps, ModalRegistry, ModalRegistryEntry, ModalRootProps, Modals, NotificationBanner, NotificationBannerIntent, NotificationBannerProps, PASSWORD_RULES, PasswordInput, PasswordInputProps, PasswordRule, PasswordRuleDefinition, PasswordSegment, PasswordStrengthInput, PasswordStrengthInputProps, Radio, RadioProps, RemovableItem, RemovableItemProps, ScrollArea, ScrollAreaAutosize, ScrollAreaAutosizeProps, ScrollAreaProps, Select, SelectProps, Sidebar, SidebarClassNames, SidebarProps, Tag, TagGroup, TagGroupProps, TagProps, TextInput, TextInputProps, Textarea, TextareaProps, Toast, ToastOptions, ToastProviderProps, Tooltip, TooltipProps, UploadedFile, UploadedFileDetails, UploadedFileDetailsProps, UploadedFileProps, VisuallyHidden, VisuallyHiddenProps, momentLocalizer, usePasswordRules, z };
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- import{Button as e}from"./components/buttons/button/Button.mjs";import{VisuallyHidden as t}from"./components/misc/visually-hidden/VisuallyHidden.mjs";import{ButtonAction as n}from"./components/buttons/button-action/ButtonAction.mjs";import{ButtonLoader as r}from"./components/buttons/button-action/ButtonLoader.mjs";import{AssignedUser as i}from"./components/data-display/assigned-user/AssignedUser.mjs";import{Avatar as a}from"./components/data-display/avatar/Avatar.mjs";import{Badge as o}from"./components/data-display/badge/Badge.mjs";import{Calendar as s,momentLocalizer as c}from"./components/data-display/calendar/Calendar.mjs";import{IconRaw as l}from"./components/data-display/icons/icon-raw/IconRaw.mjs";import{Icon as u}from"./components/data-display/icons/icon/Icon.mjs";import{IconSvg as d}from"./components/data-display/icons/icon-svg/IconSvg.mjs";import{IconWrapped as f}from"./components/data-display/icons/icon-wrapped/IconWrapped.mjs";import{Indicator as p}from"./components/data-display/indicator/Indicator.mjs";import{LoaderDot as m}from"./components/data-display/loader-dot/LoaderDot.mjs";import{LoaderOval as h}from"./components/data-display/loader-oval/LoaderOval.mjs";import{LogoImage as g}from"./components/data-display/logos/logo-image/LogoImage.mjs";import{LogoSvg as _}from"./components/data-display/logos/logo-svg/LogoSvg.mjs";import{NotificationBanner as v}from"./components/data-display/notification-banner/NotificationBanner.mjs";import{RemovableItem as y}from"./components/data-display/removable-item/RemovableItem.mjs";import{TagGroup as b}from"./components/data-display/tag-group/TagGroup.mjs";import{Tag as x}from"./components/data-display/tag/Tag.mjs";import{UploadedFile as S}from"./components/data-display/uploaded-file/UploadedFile.mjs";import{UploadedFileDetails as C}from"./components/data-display/uploaded-file/UploadedFileDetails.mjs";import{HorizontalDivider as w}from"./components/misc/horizontal-divider/HorizontalDivider.mjs";import{ScrollArea as T}from"./components/misc/scroll-area/ScrollArea.mjs";import{ScrollAreaAutosize as E}from"./components/misc/scroll-area-autosize/ScrollAreaAutosize.mjs";import{ButtonIcon as D}from"./components/buttons/button-icon/ButtonIcon.mjs";import{ButtonIconVisual as O}from"./components/buttons/button-icon-visual/ButtonIconVisual.mjs";import{ButtonVisual as k}from"./components/buttons/button-visual/ButtonVisual.mjs";import{Menu as A}from"./components/navigations/menu/Menu.mjs";import{TextInput as j}from"./components/controls/text-input/TextInput.mjs";import{Chevron as M}from"./components/controls/utils/chevron/Chevron.mjs";import{ClearButton as N}from"./components/controls/utils/clear-button/ClearButton.mjs";import{Combobox as P}from"./components/controls/combobox/Combobox.mjs";import{Autocomplete as F}from"./components/controls/autocomplete/Autocomplete.mjs";import{Checkbox as I}from"./components/controls/checkbox/Checkbox.mjs";import{DatePicker as L}from"./components/controls/date-picker/DatePicker.mjs";import{Dropzone as R}from"./components/controls/dropzone/Dropzone.mjs";import{DropzoneFiles as z}from"./components/controls/dropzone-files/DropzoneFiles.mjs";import{FileInput as B}from"./components/controls/file-input/FileInput.mjs";import{FileInputMultiple as V}from"./components/controls/file-input/FileInputMultiple.mjs";import{MultiSelect as H}from"./components/controls/multi-select/MultiSelect.mjs";import{MultiSelectTags as U}from"./components/controls/multi-select/MultiSelectTags.mjs";import{PasswordInput as W}from"./components/controls/password-input/PasswordInput.mjs";import{PasswordStrengthInput as G}from"./components/controls/password-input/PasswordStrengthInput.mjs";import{usePasswordRules as K}from"./components/controls/password-input/usePasswordRules.mjs";import{PasswordInputStrength as q}from"./components/controls/password-input-strength/oldPasswordInputStrength.mjs";import{Radio as J}from"./components/controls/radio/Radio.mjs";import{Select as Y}from"./components/controls/select/Select.mjs";import{Textarea as X}from"./components/controls/textarea/Textarea.mjs";import{PASSWORD_RULES as Z}from"./components/forms/rules/password-rules.mjs";import{z as Q}from"./components/forms/rules/zod.mjs";import{Form as $}from"./components/forms/Form.mjs";import{Card as ee}from"./components/layouts/card/Card.mjs";import{FluidGrid as te}from"./components/layouts/fluid-grid/FluidGrid.mjs";import{Grid as ne}from"./components/layouts/grid/Grid.mjs";import{Breadcrumbs as re}from"./components/navigations/breadcrumbs/Breadcrumbs.mjs";import{Modal as ie}from"./components/overlays/modal/Modal.mjs";import{Modals as ae}from"./components/overlays/modal/index.mjs";import{Toast as oe}from"./components/overlays/toast/toast.mjs";import{Tooltip as se}from"./components/overlays/tooltip/Tooltip.mjs";import{Sidebar as ce}from"./components/navigations/sidebars/sidebar/Sidebar.mjs";import{MageUiProvider as le}from"./providers/MageUiProvider.mjs";export{i as AssignedUser,F as Autocomplete,a as Avatar,o as Badge,re as Breadcrumbs,e as Button,n as ButtonAction,D as ButtonIcon,O as ButtonIconVisual,r as ButtonLoader,k as ButtonVisual,s as Calendar,ee as Card,I as Checkbox,M as Chevron,N as ClearButton,P as Combobox,L as DatePicker,R as Dropzone,z as DropzoneFiles,B as FileInput,V as FileInputMultiple,te as FluidGrid,$ as Form,ne as Grid,w as HorizontalDivider,u as Icon,l as IconRaw,d as IconSvg,f as IconWrapped,p as Indicator,m as LoaderDot,h as LoaderOval,g as LogoImage,_ as LogoSvg,le as MageUiProvider,A as Menu,ie as Modal,ae as Modals,H as MultiSelect,U as MultiSelectTags,v as NotificationBanner,Z as PASSWORD_RULES,W as PasswordInput,q as PasswordInputStrength,G as PasswordStrengthInput,J as Radio,y as RemovableItem,T as ScrollArea,E as ScrollAreaAutosize,Y as Select,ce as Sidebar,x as Tag,b as TagGroup,j as TextInput,X as Textarea,oe as Toast,se as Tooltip,S as UploadedFile,C as UploadedFileDetails,t as VisuallyHidden,c as momentLocalizer,K as usePasswordRules,Q as z};
1
+ import{Button as e}from"./components/buttons/button/Button.mjs";import{VisuallyHidden as t}from"./components/misc/visually-hidden/VisuallyHidden.mjs";import{ButtonAction as n}from"./components/buttons/button-action/ButtonAction.mjs";import{ButtonLoader as r}from"./components/buttons/button-action/ButtonLoader.mjs";import{AssignedUser as i}from"./components/data-display/assigned-user/AssignedUser.mjs";import{Avatar as a}from"./components/data-display/avatar/Avatar.mjs";import{Badge as o}from"./components/data-display/badge/Badge.mjs";import{Calendar as s,momentLocalizer as c}from"./components/data-display/calendar/Calendar.mjs";import{DescriptionList as l}from"./components/data-display/description-list/DescriptionList.mjs";import{IconRaw as u}from"./components/data-display/icons/icon-raw/IconRaw.mjs";import{Icon as d}from"./components/data-display/icons/icon/Icon.mjs";import{IconSvg as f}from"./components/data-display/icons/icon-svg/IconSvg.mjs";import{IconWrapped as p}from"./components/data-display/icons/icon-wrapped/IconWrapped.mjs";import{Indicator as m}from"./components/data-display/indicator/Indicator.mjs";import{Kanban as h}from"./components/data-display/kanban/Kanban.mjs";import{LoaderDot as g}from"./components/data-display/loader-dot/LoaderDot.mjs";import{LoaderOval as _}from"./components/data-display/loader-oval/LoaderOval.mjs";import{LogoImage as v}from"./components/data-display/logos/logo-image/LogoImage.mjs";import{LogoSvg as y}from"./components/data-display/logos/logo-svg/LogoSvg.mjs";import{NotificationBanner as b}from"./components/data-display/notification-banner/NotificationBanner.mjs";import{RemovableItem as x}from"./components/data-display/removable-item/RemovableItem.mjs";import{TagGroup as S}from"./components/data-display/tag-group/TagGroup.mjs";import{Tag as C}from"./components/data-display/tag/Tag.mjs";import{UploadedFile as w}from"./components/data-display/uploaded-file/UploadedFile.mjs";import{UploadedFileDetails as T}from"./components/data-display/uploaded-file/UploadedFileDetails.mjs";import{HorizontalDivider as E}from"./components/misc/horizontal-divider/HorizontalDivider.mjs";import{ScrollArea as D}from"./components/misc/scroll-area/ScrollArea.mjs";import{ScrollAreaAutosize as O}from"./components/misc/scroll-area-autosize/ScrollAreaAutosize.mjs";import{ButtonIcon as k}from"./components/buttons/button-icon/ButtonIcon.mjs";import{ButtonIconVisual as A}from"./components/buttons/button-icon-visual/ButtonIconVisual.mjs";import{ButtonVisual as j}from"./components/buttons/button-visual/ButtonVisual.mjs";import{Checkbox as M}from"./components/controls/checkbox/Checkbox.mjs";import{DatePicker as N}from"./components/controls/date-picker/DatePicker.mjs";import{TextInput as P}from"./components/controls/text-input/TextInput.mjs";import{Autocomplete as F}from"./components/controls/dropdown/autocomplete/Autocomplete.mjs";import{Combobox as I}from"./components/controls/dropdown/combobox/Combobox.mjs";import{Select as L}from"./components/controls/dropdown/select/Select.mjs";import{Dropzone as R}from"./components/controls/dropzone/Dropzone.mjs";import{DropzoneFiles as z}from"./components/controls/dropzone-files/DropzoneFiles.mjs";import{FileInput as B}from"./components/controls/file-input/FileInput.mjs";import{FileInputMultiple as V}from"./components/controls/file-input/FileInputMultiple.mjs";import{PasswordInput as H}from"./components/controls/password-input/PasswordInput.mjs";import{PasswordStrengthInput as U}from"./components/controls/password-input/PasswordStrengthInput.mjs";import{usePasswordRules as W}from"./components/controls/password-input/usePasswordRules.mjs";import{Radio as G}from"./components/controls/radio/Radio.mjs";import{Textarea as K}from"./components/controls/textarea/Textarea.mjs";import{PASSWORD_RULES as q}from"./components/forms/rules/password-rules.mjs";import{z as J}from"./components/forms/rules/zod.mjs";import{Form as Y}from"./components/forms/Form.mjs";import{Card as X}from"./components/layouts/card/Card.mjs";import{FluidGrid as Z}from"./components/layouts/fluid-grid/FluidGrid.mjs";import{Grid as Q}from"./components/layouts/grid/Grid.mjs";import{Breadcrumbs as $}from"./components/navigations/breadcrumbs/Breadcrumbs.mjs";import{Menu as ee}from"./components/navigations/menu/Menu.mjs";import{Modal as te}from"./components/overlays/modal/Modal.mjs";import{Modals as ne}from"./components/overlays/modal/index.mjs";import{Toast as re}from"./components/overlays/toast/toast.mjs";import{Tooltip as ie}from"./components/overlays/tooltip/Tooltip.mjs";import{Sidebar as ae}from"./components/navigations/sidebars/sidebar/Sidebar.mjs";import{MageUiProvider as oe}from"./providers/MageUiProvider.mjs";export{i as AssignedUser,F as Autocomplete,a as Avatar,o as Badge,$ as Breadcrumbs,e as Button,n as ButtonAction,k as ButtonIcon,A as ButtonIconVisual,r as ButtonLoader,j as ButtonVisual,s as Calendar,X as Card,M as Checkbox,I as Combobox,N as DatePicker,l as DescriptionList,R as Dropzone,z as DropzoneFiles,B as FileInput,V as FileInputMultiple,Z as FluidGrid,Y as Form,Q as Grid,E as HorizontalDivider,d as Icon,u as IconRaw,f as IconSvg,p as IconWrapped,m as Indicator,h as Kanban,g as LoaderDot,_ as LoaderOval,v as LogoImage,y as LogoSvg,oe as MageUiProvider,ee as Menu,te as Modal,ne as Modals,b as NotificationBanner,q as PASSWORD_RULES,H as PasswordInput,U as PasswordStrengthInput,G as Radio,x as RemovableItem,D as ScrollArea,O as ScrollAreaAutosize,L as Select,ae as Sidebar,C as Tag,S as TagGroup,P as TextInput,K as Textarea,re as Toast,ie as Tooltip,w as UploadedFile,T as UploadedFileDetails,t as VisuallyHidden,c as momentLocalizer,W as usePasswordRules,J as z};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mage-ui/components",
3
- "version": "1.0.62",
3
+ "version": "1.0.64",
4
4
  "private": false,
5
5
  "description": "",
6
6
  "keywords": [],
@@ -25,8 +25,8 @@
25
25
  "rimraf": "^6.1.3",
26
26
  "tsdown": "^0.20.3",
27
27
  "typescript": "^5.9.3",
28
- "@mage-ui/styled-system": "1.0.8",
29
- "@mage-ui/preset": "1.0.62"
28
+ "@mage-ui/preset": "1.0.64",
29
+ "@mage-ui/styled-system": "1.0.8"
30
30
  },
31
31
  "peerDependencies": {
32
32
  "@hookform/resolvers": "^5.2.2",
@@ -48,7 +48,8 @@
48
48
  "react-dom": "^19.2.4",
49
49
  "react-hook-form": "^7.71.2",
50
50
  "zod": "^4.3.6",
51
- "@ebay/nice-modal-react": "^1.2.13"
51
+ "@ebay/nice-modal-react": "^1.2.13",
52
+ "react-kanban-kit": "^0.0.2-beta.6"
52
53
  },
53
54
  "engines": {
54
55
  "node": ">=24.9.0"
@@ -1,35 +0,0 @@
1
- import { ComboboxProps } from "../combobox/Combobox.mjs";
2
- import * as react_jsx_runtime0 from "react/jsx-runtime";
3
- import { ReactNode } from "react";
4
-
5
- //#region src/components/controls/autocomplete/Autocomplete.d.ts
6
- type OptionProps = {
7
- id: string | number;
8
- value: string;
9
- };
10
- type AutocompleteProps = Omit<ComboboxProps, 'classNames' | 'endSlot' | 'options' | 'createNewItem' | 'chevron' | 'keepMounted' | 'clearable'> & {
11
- url: string;
12
- loadingSlot?: ReactNode;
13
- minLength?: number;
14
- classNames?: Omit<NonNullable<ComboboxProps['classNames']>, 'combobox' | 'create' | 'createIcon'> & {
15
- autocomplete?: string;
16
- };
17
- };
18
- declare const Autocomplete: ({
19
- url,
20
- name,
21
- label,
22
- description,
23
- error,
24
- disabled,
25
- placeholder,
26
- withinPortal,
27
- startSlot,
28
- loadingSlot,
29
- emptyMessage,
30
- minLength,
31
- classNames
32
- }: AutocompleteProps) => react_jsx_runtime0.JSX.Element;
33
- //#endregion
34
- export { Autocomplete, AutocompleteProps, OptionProps };
35
- //# sourceMappingURL=Autocomplete.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Autocomplete.d.mts","names":[],"sources":["../../../../src/components/controls/autocomplete/Autocomplete.tsx"],"mappings":";;;;;KA+BY,WAAA;EACV,EAAA;EACA,KAAA;AAAA;AAAA,KAGU,iBAAA,GAAoB,IAAA,CAC9B,aAAA;EASA,GAAA;EACA,WAAA,GAAc,SAAA;EACd,SAAA;EACA,UAAA,GAAa,IAAA,CACX,WAAA,CAAY,aAAA;IAGZ,YAAA;EAAA;AAAA;AAAA,cAGS,YAAA;EAAgB,GAAA;EAAA,IAAA;EAAA,KAAA;EAAA,WAAA;EAAA,KAAA;EAAA,QAAA;EAAA,WAAA;EAAA,YAAA;EAAA,SAAA;EAAA,WAAA;EAAA,YAAA;EAAA,SAAA;EAAA;AAAA,GAc1B,iBAAA,KAAiB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -1,2 +0,0 @@
1
- import{LoaderDot as e}from"../../data-display/loader-dot/LoaderDot.mjs";import{Combobox as t}from"../combobox/Combobox.mjs";import{cx as n}from"@mage-ui/styled-system/css";import{autocomplete as r,autocompleteClearButton as i,autocompleteClearButtonIcon as a,autocompleteClearButtonIconRaw as o,autocompleteClearButtonIconRawRoot as s,autocompleteClearButtonRoot as c,autocompleteEmpty as l,autocompleteOption as u,autocompleteOptions as d,autocompleteRoot as f,autocompleteScrollAreaAutosize as p,autocompleteTextInput as m,autocompleteTextInputDescription as h,autocompleteTextInputError as g,autocompleteTextInputInput as _,autocompleteTextInputLabel as v,autocompleteTextInputRequired as y,autocompleteTextInputRoot as b,autocompleteTextInputSection as x,autocompleteTextInputWrapper as S}from"@mage-ui/styled-system/recipes";import{jsx as C}from"react/jsx-runtime";import{useState as w}from"react";import{useDebouncedCallback as T}from"@mantine/hooks";import{useQuery as E}from"@tanstack/react-query";const D=({url:D,name:O,label:k,description:A,error:j,disabled:M,placeholder:N,withinPortal:P,startSlot:F,loadingSlot:I,emptyMessage:L,minLength:R=3,classNames:z})=>{let[B,V]=w(``),{data:H,isFetching:U,isLoading:W}=E({queryKey:[D,B],queryFn:async()=>{try{return await(await fetch(D)).json()}catch{return{data:[]}}},enabled:B.length>=R}),G=T(e=>{V(e)},500);return C(t,{name:O,label:k,description:A,placeholder:N,error:j,disabled:M,withinPortal:P,keepMounted:!1,clearable:!0,options:Array.isArray(H)?H.filter(e=>e.value.toLowerCase().includes(B.toLowerCase())):[],startSlot:F,endSlot:W||U?I||C(e,{}):void 0,onChange:e=>{G(e??``)},empty:H===void 0?null:L||`No results`,classNames:{combobox:z?.autocomplete??r(),root:z?.root??H===void 0?``:f(),options:z?.options??d(),option:z?.option??u(),empty:z?.empty??l(),scrollArea:{scrollArea:z?.scrollArea?.scrollArea??p()},textInput:{root:z?.textInput?.root??n(m(),b()),label:z?.textInput?.label??v(),description:z?.textInput?.description??h(),error:z?.textInput?.error??g(),wrapper:z?.textInput?.wrapper??S(),input:z?.textInput?.input??_(),section:z?.textInput?.section??x(),required:z?.textInput?.required??y(),endSlot:{clearButton:{buttonIcon:z?.textInput?.endSlot?.clearButton?.buttonIcon??i(),root:z?.textInput?.endSlot?.clearButton?.root??c(),icon:z?.textInput?.endSlot?.clearButton?.icon??a(),iconRaw:{iconRaw:z?.textInput?.endSlot?.clearButton?.iconRaw?.iconRaw??o(),root:z?.textInput?.endSlot?.clearButton?.iconRaw?.root??s()}}}}}})};export{D as Autocomplete};
2
- //# sourceMappingURL=Autocomplete.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Autocomplete.mjs","names":[],"sources":["../../../../src/components/controls/autocomplete/Autocomplete.tsx"],"sourcesContent":["import { type ReactNode, useState } from 'react';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport {\n autocomplete,\n autocompleteClearButton,\n autocompleteClearButtonIcon,\n autocompleteClearButtonIconRaw,\n autocompleteClearButtonIconRawRoot,\n autocompleteClearButtonRoot,\n autocompleteEmpty,\n autocompleteOption,\n autocompleteOptions,\n autocompleteRoot,\n autocompleteScrollAreaAutosize,\n autocompleteTextInput,\n autocompleteTextInputDescription,\n autocompleteTextInputError,\n autocompleteTextInputInput,\n autocompleteTextInputLabel,\n autocompleteTextInputRequired,\n autocompleteTextInputRoot,\n autocompleteTextInputSection,\n autocompleteTextInputWrapper,\n} from '@mage-ui/styled-system/recipes';\nimport { useDebouncedCallback } from '@mantine/hooks';\nimport { useQuery } from '@tanstack/react-query';\nimport { LoaderDot } from '@/components/data-display';\n\nimport { Combobox, type ComboboxProps } from '../combobox/Combobox';\n\nexport type OptionProps = {\n id: string | number;\n value: string;\n};\n\nexport type AutocompleteProps = Omit<\n ComboboxProps,\n | 'classNames'\n | 'endSlot'\n | 'options'\n | 'createNewItem'\n | 'chevron'\n | 'keepMounted'\n | 'clearable'\n> & {\n url: string;\n loadingSlot?: ReactNode;\n minLength?: number;\n classNames?: Omit<\n NonNullable<ComboboxProps['classNames']>,\n 'combobox' | 'create' | 'createIcon'\n > & {\n autocomplete?: string;\n };\n};\nexport const Autocomplete = ({\n url,\n name,\n label,\n description,\n error,\n disabled,\n placeholder,\n withinPortal,\n startSlot,\n loadingSlot,\n emptyMessage,\n minLength = 3,\n classNames,\n}: AutocompleteProps) => {\n const [query, setQuery] = useState('');\n\n const { data, isFetching, isLoading } = useQuery<OptionProps[]>({\n queryKey: [url, query],\n // queryFn: async () => {\n // try {\n // const response = await fetch(url, {\n // method: 'POST',\n // headers: { 'Content-Type': 'application/json' },\n // body: JSON.stringify({ query }),\n // });\n // return await response.json();\n // } catch (_error) {\n // return { data: [] };\n // }\n // },\n queryFn: async () => {\n try {\n const response = await fetch(url);\n return await response.json();\n } catch (_error) {\n return { data: [] };\n }\n },\n enabled: query.length >= minLength,\n });\n\n const debounced = useDebouncedCallback((value: string) => {\n setQuery(value);\n }, 500);\n\n const list: OptionProps[] = Array.isArray(data)\n ? data.filter((itemList) =>\n itemList.value.toLowerCase().includes(query.toLowerCase()),\n )\n : [];\n\n return (\n <Combobox\n name={name}\n label={label}\n description={description}\n placeholder={placeholder}\n error={error}\n disabled={disabled}\n withinPortal={withinPortal}\n keepMounted={false}\n clearable={true}\n options={list}\n startSlot={startSlot}\n endSlot={\n isLoading || isFetching ? loadingSlot || <LoaderDot /> : undefined\n }\n onChange={(value) => {\n debounced(value ?? '');\n }}\n empty={data === undefined ? null : emptyMessage || 'No results'}\n classNames={{\n combobox: classNames?.autocomplete ?? autocomplete(),\n root:\n (classNames?.root ?? data === undefined) ? '' : autocompleteRoot(),\n options: classNames?.options ?? autocompleteOptions(),\n option: classNames?.option ?? autocompleteOption(),\n empty: classNames?.empty ?? autocompleteEmpty(),\n scrollArea: {\n scrollArea:\n classNames?.scrollArea?.scrollArea ??\n autocompleteScrollAreaAutosize(),\n },\n textInput: {\n root:\n classNames?.textInput?.root ??\n cx(autocompleteTextInput(), autocompleteTextInputRoot()),\n label: classNames?.textInput?.label ?? autocompleteTextInputLabel(),\n description:\n classNames?.textInput?.description ??\n autocompleteTextInputDescription(),\n error: classNames?.textInput?.error ?? autocompleteTextInputError(),\n wrapper:\n classNames?.textInput?.wrapper ?? autocompleteTextInputWrapper(),\n input: classNames?.textInput?.input ?? autocompleteTextInputInput(),\n section:\n classNames?.textInput?.section ?? autocompleteTextInputSection(),\n required:\n classNames?.textInput?.required ?? autocompleteTextInputRequired(),\n endSlot: {\n clearButton: {\n buttonIcon:\n classNames?.textInput?.endSlot?.clearButton?.buttonIcon ??\n autocompleteClearButton(),\n root:\n classNames?.textInput?.endSlot?.clearButton?.root ??\n autocompleteClearButtonRoot(),\n icon:\n classNames?.textInput?.endSlot?.clearButton?.icon ??\n autocompleteClearButtonIcon(),\n iconRaw: {\n iconRaw:\n classNames?.textInput?.endSlot?.clearButton?.iconRaw\n ?.iconRaw ?? autocompleteClearButtonIconRaw(),\n root:\n classNames?.textInput?.endSlot?.clearButton?.iconRaw?.root ??\n autocompleteClearButtonIconRawRoot(),\n },\n },\n },\n },\n }}\n />\n );\n};\n"],"mappings":"8+BAwDA,MAAa,GAAgB,CAC3B,MACA,OACA,QACA,cACA,QACA,WACA,cACA,eACA,YACA,cACA,eACA,YAAY,EACZ,gBACuB,CACvB,GAAM,CAAC,EAAO,GAAY,EAAS,GAAG,CAEhC,CAAE,OAAM,aAAY,aAAc,EAAwB,CAC9D,SAAU,CAAC,EAAK,EAAM,CAatB,QAAS,SAAY,CACnB,GAAI,CAEF,OAAO,MADU,MAAM,MAAM,EAAI,EACX,MAAM,MACb,CACf,MAAO,CAAE,KAAM,EAAE,CAAE,GAGvB,QAAS,EAAM,QAAU,EAC1B,CAAC,CAEI,EAAY,EAAsB,GAAkB,CACxD,EAAS,EAAM,EACd,IAAI,CAQP,OACE,EAAC,EAAA,CACO,OACC,QACM,cACA,cACN,QACG,WACI,eACd,YAAa,GACb,UAAW,GACX,QAjBwB,MAAM,QAAQ,EAAK,CAC3C,EAAK,OAAQ,GACX,EAAS,MAAM,aAAa,CAAC,SAAS,EAAM,aAAa,CAAC,CAC3D,CACD,EAAE,CAcS,YACX,QACE,GAAa,EAAa,GAAe,EAAC,EAAA,EAAA,CAAY,CAAG,IAAA,GAE3D,SAAW,GAAU,CACnB,EAAU,GAAS,GAAG,EAExB,MAAO,IAAS,IAAA,GAAY,KAAO,GAAgB,aACnD,WAAY,CACV,SAAU,GAAY,cAAgB,GAAc,CACpD,KACG,GAAY,MAAQ,IAAS,IAAA,GAAa,GAAK,GAAkB,CACpE,QAAS,GAAY,SAAW,GAAqB,CACrD,OAAQ,GAAY,QAAU,GAAoB,CAClD,MAAO,GAAY,OAAS,GAAmB,CAC/C,WAAY,CACV,WACE,GAAY,YAAY,YACxB,GAAgC,CACnC,CACD,UAAW,CACT,KACE,GAAY,WAAW,MACvB,EAAG,GAAuB,CAAE,GAA2B,CAAC,CAC1D,MAAO,GAAY,WAAW,OAAS,GAA4B,CACnE,YACE,GAAY,WAAW,aACvB,GAAkC,CACpC,MAAO,GAAY,WAAW,OAAS,GAA4B,CACnE,QACE,GAAY,WAAW,SAAW,GAA8B,CAClE,MAAO,GAAY,WAAW,OAAS,GAA4B,CACnE,QACE,GAAY,WAAW,SAAW,GAA8B,CAClE,SACE,GAAY,WAAW,UAAY,GAA+B,CACpE,QAAS,CACP,YAAa,CACX,WACE,GAAY,WAAW,SAAS,aAAa,YAC7C,GAAyB,CAC3B,KACE,GAAY,WAAW,SAAS,aAAa,MAC7C,GAA6B,CAC/B,KACE,GAAY,WAAW,SAAS,aAAa,MAC7C,GAA6B,CAC/B,QAAS,CACP,QACE,GAAY,WAAW,SAAS,aAAa,SACzC,SAAW,GAAgC,CACjD,KACE,GAAY,WAAW,SAAS,aAAa,SAAS,MACtD,GAAoC,CACvC,CACF,CACF,CACF,CACF,EACD"}
@@ -1,58 +0,0 @@
1
- import { DropdownProps } from "../dropdown/Dropdown.mjs";
2
- import * as react_jsx_runtime0 from "react/jsx-runtime";
3
-
4
- //#region src/components/controls/combobox/Combobox.d.ts
5
- type ComboboxProps = Omit<DropdownProps, 'classNames' | 'onChange' | 'onBlur' | 'onFocus' | 'onClick' | 'setValue' | 'children'> & {
6
- onChange?: (value?: string) => void;
7
- creatable?: boolean;
8
- options: {
9
- id: string | number;
10
- value: string;
11
- }[];
12
- empty?: string | null;
13
- emptyMessage?: string;
14
- createNewItem?: string;
15
- classNames?: Omit<NonNullable<DropdownProps['classNames']>, 'dropdown' | 'search'> & {
16
- combobox?: string;
17
- create?: string;
18
- createIcon?: {
19
- createIcon?: string;
20
- root?: string;
21
- icon?: string;
22
- iconRaw?: {
23
- iconRaw?: string;
24
- root?: string;
25
- };
26
- };
27
- header?: string;
28
- footer?: string;
29
- group?: string;
30
- groupLabel?: string;
31
- };
32
- };
33
- declare const Combobox: ({
34
- name,
35
- label,
36
- description,
37
- error,
38
- disabled,
39
- placeholder,
40
- withinPortal,
41
- keepMounted,
42
- clearable,
43
- creatable,
44
- chevron,
45
- startSlot,
46
- endSlot,
47
- options,
48
- readOnly,
49
- empty,
50
- emptyMessage,
51
- createNewItem,
52
- btnClearLabel,
53
- onChange,
54
- classNames
55
- }: ComboboxProps) => react_jsx_runtime0.JSX.Element;
56
- //#endregion
57
- export { Combobox, ComboboxProps };
58
- //# sourceMappingURL=Combobox.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Combobox.d.mts","names":[],"sources":["../../../../src/components/controls/combobox/Combobox.tsx"],"mappings":";;;;KAwCY,aAAA,GAAgB,IAAA,CAC1B,aAAA;EASA,QAAA,IAAY,KAAA;EACZ,SAAA;EACA,OAAA;IACE,EAAA;IACA,KAAA;EAAA;EAEF,KAAA;EACA,YAAA;EACA,aAAA;EACA,UAAA,GAAa,IAAA,CACX,WAAA,CAAY,aAAA;IAGZ,QAAA;IACA,MAAA;IACA,UAAA;MACE,UAAA;MACA,IAAA;MACA,IAAA;MACA,OAAA;QACE,OAAA;QACA,IAAA;MAAA;IAAA;IAGJ,MAAA;IACA,MAAA;IACA,KAAA;IACA,UAAA;EAAA;AAAA;AAAA,cAIS,QAAA;EAAY,IAAA;EAAA,KAAA;EAAA,WAAA;EAAA,KAAA;EAAA,QAAA;EAAA,WAAA;EAAA,YAAA;EAAA,WAAA;EAAA,SAAA;EAAA,SAAA;EAAA,OAAA;EAAA,SAAA;EAAA,OAAA;EAAA,OAAA;EAAA,QAAA;EAAA,KAAA;EAAA,YAAA;EAAA,aAAA;EAAA,aAAA;EAAA,QAAA;EAAA;AAAA,GAsBtB,aAAA,KAAa,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -1,2 +0,0 @@
1
- import{Icon as e}from"../../data-display/icons/icon/Icon.mjs";import{Dropdown as t}from"../dropdown/Dropdown.mjs";import{cx as n}from"@mage-ui/styled-system/css";import{combobox as ee,comboboxChevron as r,comboboxChevronIcon as i,comboboxChevronIconRoot as a,comboboxChevronRoot as o,comboboxClearButton as s,comboboxClearButtonIcon as te,comboboxClearButtonIconRaw as c,comboboxClearButtonIconRawRoot as l,comboboxClearButtonRoot as ne,comboboxEmpty as u,comboboxOption as re,comboboxOptionCreate as ie,comboboxOptionCreateCreate as ae,comboboxOptionCreateIcon as oe,comboboxOptionCreateIconIconRaw as se,comboboxOptionCreateIconIconRawRoot as d,comboboxOptionCreateIconRoot as f,comboboxOptions as p,comboboxRoot as m,comboboxScrollAreaAutosize as h,comboboxTextInput as g,comboboxTextInputDescription as _,comboboxTextInputError as v,comboboxTextInputInput as y,comboboxTextInputLabel as b,comboboxTextInputRequired as x,comboboxTextInputRoot as S,comboboxTextInputSection as C,comboboxTextInputWrapper as w}from"@mage-ui/styled-system/recipes";import{jsx as T,jsxs as E}from"react/jsx-runtime";import{useState as D}from"react";const O=({name:O,label:k,description:A,error:j,disabled:M,placeholder:N,withinPortal:P,keepMounted:F,clearable:I,creatable:L,chevron:R,startSlot:z,endSlot:B,options:V,readOnly:H,empty:U,emptyMessage:W,createNewItem:G,btnClearLabel:K,onChange:ce,classNames:q})=>{let[J,Y]=D({id:``,value:``}),[X,Z]=D(``),le=V.every(e=>e.value!==X),ue=V.some(e=>e.value.toLowerCase()===X.toLowerCase().trim()),Q=(le?V.filter(e=>e.value.toLowerCase().includes(X.toLowerCase().trim())):V).map(e=>T(t.Option,{value:e.value,children:e.value},e.id)),$=!(X.length>0);return T(t,{name:O,label:k,description:A,placeholder:N,disabled:M,error:j,withinPortal:P,keepMounted:F,clearable:I,chevron:R,readOnly:H,btnClearLabel:K,setValue:(e,t)=>{let n=V.find(t=>t.value===e);if(e===`$create`){Y({id:``,value:X}),Z(X),t.closeDropdown();return}if(e===void 0){Y({id:``,value:``}),Z(``);return}Y(n??{id:``,value:``}),Z(e),t.closeDropdown()},value:J?.value,search:X,startSlot:z,endSlot:B,onChange:(e,t)=>{e.openDropdown(),e.updateSelectedOptionIndex(),Z(t??``),ce?.(t??``)},onClick:e=>{e.openDropdown()},onFocus:e=>e.openDropdown(),onBlur:e=>{e.closeDropdown(),Z($?``:J?.value),$&&Y({id:``,value:``})},classNames:{dropdown:q?.combobox??ee(),root:q?.root??m(),options:q?.options??p(),option:q?.option??re(),empty:q?.empty??u(),scrollArea:{scrollArea:q?.scrollArea?.scrollArea??h()},textInput:{root:q?.textInput?.root??n(g(),S()),label:q?.textInput?.label??b(),description:q?.textInput?.description??_(),error:q?.textInput?.error??v(),wrapper:q?.textInput?.wrapper??w(),input:q?.textInput?.input??y(),section:q?.textInput?.section??C(),required:q?.textInput?.required??x(),endSlot:{chevron:{iconWrapped:q?.textInput?.endSlot?.chevron?.iconWrapped??r(),root:q?.textInput?.endSlot?.chevron?.root??o(),open:{iconRaw:q?.textInput?.endSlot?.chevron?.open?.iconRaw??i(),root:q?.textInput?.endSlot?.chevron?.open?.root??a()},close:{iconRaw:q?.textInput?.endSlot?.chevron?.close?.iconRaw??i(),root:q?.textInput?.endSlot?.chevron?.close?.root??a({invert:!0})}},clearButton:{buttonIcon:q?.textInput?.endSlot?.clearButton?.buttonIcon??s(),root:q?.textInput?.endSlot?.clearButton?.root??ne(),icon:q?.textInput?.endSlot?.clearButton?.icon??te(),iconRaw:{iconRaw:q?.textInput?.endSlot?.clearButton?.iconRaw?.iconRaw??c(),root:q?.textInput?.endSlot?.clearButton?.iconRaw?.root??l()}}}}},children:T(t.Options,{children:Q.length>0?Q:L?!ue&&X.trim().length>0&&E(t.Option,{classNames:{option:n(q?.create??ie(),ae())},value:`$create`,children:[T(e,{path:`/icons/sprite-mage.svg`,name:`mage-combobox-plus`,classNames:{icon:q?.createIcon?.createIcon??oe(),root:q?.createIcon?.root??f(),iconRaw:{iconRaw:q?.createIcon?.iconRaw?.iconRaw??se(),root:q?.createIcon?.iconRaw?.root??d()}}}),G??`Create`,` `,X]}):U!==null&&T(t.Empty,{classNames:{empty:q?.empty??u()},children:U??(W||`No results`)})})})};export{O as Combobox};
2
- //# sourceMappingURL=Combobox.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Combobox.mjs","names":[],"sources":["../../../../src/components/controls/combobox/Combobox.tsx"],"sourcesContent":["import { useState } from 'react';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport {\n combobox,\n comboboxChevron,\n comboboxChevronIcon,\n comboboxChevronIconRoot,\n comboboxChevronRoot,\n comboboxClearButton,\n comboboxClearButtonIcon,\n comboboxClearButtonIconRaw,\n comboboxClearButtonIconRawRoot,\n comboboxClearButtonRoot,\n comboboxEmpty,\n comboboxOption,\n comboboxOptionCreate,\n comboboxOptionCreateCreate,\n comboboxOptionCreateIcon,\n comboboxOptionCreateIconIconRaw,\n comboboxOptionCreateIconIconRawRoot,\n comboboxOptionCreateIconRoot,\n comboboxOptions,\n comboboxRoot,\n comboboxScrollAreaAutosize,\n comboboxTextInput,\n comboboxTextInputDescription,\n comboboxTextInputError,\n comboboxTextInputInput,\n comboboxTextInputLabel,\n comboboxTextInputRequired,\n comboboxTextInputRoot,\n comboboxTextInputSection,\n comboboxTextInputWrapper,\n} from '@mage-ui/styled-system/recipes';\nimport { Icon } from '@/components/data-display';\n\nimport type { DropdownProps } from '../dropdown/Dropdown';\nimport { Dropdown } from '../dropdown/Dropdown';\n\nexport type ComboboxProps = Omit<\n DropdownProps,\n | 'classNames'\n | 'onChange'\n | 'onBlur'\n | 'onFocus'\n | 'onClick'\n | 'setValue'\n | 'children'\n> & {\n onChange?: (value?: string) => void;\n creatable?: boolean;\n options: {\n id: string | number;\n value: string;\n }[];\n empty?: string | null;\n emptyMessage?: string;\n createNewItem?: string;\n classNames?: Omit<\n NonNullable<DropdownProps['classNames']>,\n 'dropdown' | 'search'\n > & {\n combobox?: string;\n create?: string;\n createIcon?: {\n createIcon?: string;\n root?: string;\n icon?: string;\n iconRaw?: {\n iconRaw?: string;\n root?: string;\n };\n };\n header?: string;\n footer?: string;\n group?: string;\n groupLabel?: string;\n };\n};\n\nexport const Combobox = ({\n name,\n label,\n description,\n error,\n disabled,\n placeholder,\n withinPortal,\n keepMounted,\n clearable,\n creatable,\n chevron,\n startSlot,\n endSlot,\n options,\n readOnly,\n empty,\n emptyMessage,\n createNewItem,\n btnClearLabel,\n onChange,\n classNames,\n}: ComboboxProps) => {\n const [value, setValue] = useState<{ id: string | number; value: string }>({\n id: '',\n value: '',\n });\n const [search, setSearch] = useState('');\n\n const shouldFilterOptions = options.every((item) => item.value !== search);\n const exactOptionMatch = options.some(\n (item) => item.value.toLowerCase() === search.toLowerCase().trim(),\n );\n\n const filteredOptions = shouldFilterOptions\n ? options.filter((item) =>\n item.value.toLowerCase().includes(search.toLowerCase().trim()),\n )\n : options;\n\n const optionsList = filteredOptions.map(\n (item: { id: string | number; value: string }) => (\n <Dropdown.Option value={item.value} key={item.id}>\n {item.value}\n </Dropdown.Option>\n ),\n );\n\n const isEmpty = !(search.length > 0);\n\n return (\n <Dropdown\n name={name}\n label={label}\n description={description}\n placeholder={placeholder}\n disabled={disabled}\n error={error}\n withinPortal={withinPortal}\n keepMounted={keepMounted}\n clearable={clearable}\n chevron={chevron}\n readOnly={readOnly}\n btnClearLabel={btnClearLabel}\n setValue={(val, combobox) => {\n const option = options.find((option) => option.value === val);\n\n if (val === '$create') {\n setValue({ id: '', value: search });\n setSearch(search);\n combobox.closeDropdown();\n return;\n }\n if (val === undefined) {\n setValue({ id: '', value: '' });\n setSearch('');\n return;\n }\n\n setValue(option ?? { id: '', value: '' });\n setSearch(val);\n combobox.closeDropdown();\n }}\n value={value?.value}\n search={search}\n startSlot={startSlot}\n endSlot={endSlot}\n onChange={(combobox, value) => {\n combobox.openDropdown();\n combobox.updateSelectedOptionIndex();\n setSearch(value ?? '');\n onChange?.(value ?? '');\n }}\n onClick={(combobox) => {\n combobox.openDropdown();\n }}\n onFocus={(combobox) => combobox.openDropdown()}\n onBlur={(combobox) => {\n combobox.closeDropdown();\n setSearch(isEmpty ? '' : value?.value);\n if (isEmpty) {\n setValue({\n id: '',\n value: '',\n });\n }\n }}\n classNames={{\n dropdown: classNames?.combobox ?? combobox(),\n root: classNames?.root ?? comboboxRoot(),\n options: classNames?.options ?? comboboxOptions(),\n option: classNames?.option ?? comboboxOption(),\n empty: classNames?.empty ?? comboboxEmpty(),\n scrollArea: {\n scrollArea:\n classNames?.scrollArea?.scrollArea ?? comboboxScrollAreaAutosize(),\n },\n textInput: {\n root:\n classNames?.textInput?.root ??\n cx(comboboxTextInput(), comboboxTextInputRoot()),\n label: classNames?.textInput?.label ?? comboboxTextInputLabel(),\n description:\n classNames?.textInput?.description ??\n comboboxTextInputDescription(),\n error: classNames?.textInput?.error ?? comboboxTextInputError(),\n wrapper: classNames?.textInput?.wrapper ?? comboboxTextInputWrapper(),\n input: classNames?.textInput?.input ?? comboboxTextInputInput(),\n section: classNames?.textInput?.section ?? comboboxTextInputSection(),\n required:\n classNames?.textInput?.required ?? comboboxTextInputRequired(),\n endSlot: {\n chevron: {\n iconWrapped:\n classNames?.textInput?.endSlot?.chevron?.iconWrapped ??\n comboboxChevron(),\n root:\n classNames?.textInput?.endSlot?.chevron?.root ??\n comboboxChevronRoot(),\n open: {\n iconRaw:\n classNames?.textInput?.endSlot?.chevron?.open?.iconRaw ??\n comboboxChevronIcon(),\n root:\n classNames?.textInput?.endSlot?.chevron?.open?.root ??\n comboboxChevronIconRoot(),\n },\n close: {\n iconRaw:\n classNames?.textInput?.endSlot?.chevron?.close?.iconRaw ??\n comboboxChevronIcon(),\n root:\n classNames?.textInput?.endSlot?.chevron?.close?.root ??\n comboboxChevronIconRoot({ invert: true }),\n },\n },\n clearButton: {\n buttonIcon:\n classNames?.textInput?.endSlot?.clearButton?.buttonIcon ??\n comboboxClearButton(),\n root:\n classNames?.textInput?.endSlot?.clearButton?.root ??\n comboboxClearButtonRoot(),\n icon:\n classNames?.textInput?.endSlot?.clearButton?.icon ??\n comboboxClearButtonIcon(),\n iconRaw: {\n iconRaw:\n classNames?.textInput?.endSlot?.clearButton?.iconRaw\n ?.iconRaw ?? comboboxClearButtonIconRaw(),\n root:\n classNames?.textInput?.endSlot?.clearButton?.iconRaw?.root ??\n comboboxClearButtonIconRawRoot(),\n },\n },\n },\n },\n }}\n >\n <Dropdown.Options>\n {optionsList.length > 0\n ? optionsList\n : creatable\n ? !exactOptionMatch &&\n search.trim().length > 0 && (\n <Dropdown.Option\n classNames={{\n option: cx(\n classNames?.create ?? comboboxOptionCreate(),\n comboboxOptionCreateCreate(),\n ),\n }}\n value='$create'\n >\n <Icon\n path='/icons/sprite-mage.svg'\n name='mage-combobox-plus'\n classNames={{\n icon:\n classNames?.createIcon?.createIcon ??\n comboboxOptionCreateIcon(),\n\n root:\n classNames?.createIcon?.root ??\n comboboxOptionCreateIconRoot(),\n iconRaw: {\n iconRaw:\n classNames?.createIcon?.iconRaw?.iconRaw ??\n comboboxOptionCreateIconIconRaw(),\n root:\n classNames?.createIcon?.iconRaw?.root ??\n comboboxOptionCreateIconIconRawRoot(),\n },\n }}\n />\n {createNewItem ?? 'Create'} {search}\n </Dropdown.Option>\n )\n : empty !== null && (\n <Dropdown.Empty\n classNames={{ empty: classNames?.empty ?? comboboxEmpty() }}\n >\n {empty ?? (emptyMessage || 'No results')}\n </Dropdown.Empty>\n )}\n </Dropdown.Options>\n </Dropdown>\n );\n};\n"],"mappings":"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"}
@@ -1,45 +0,0 @@
1
- import { DropdownProps, DropdownTextInputClassNames } from "../dropdown/Dropdown.mjs";
2
- import * as react_jsx_runtime0 from "react/jsx-runtime";
3
-
4
- //#region src/components/controls/multi-select/MultiSelect.d.ts
5
- type MultiSelectProps = Omit<DropdownProps, 'classNames' | 'children' | 'onChange' | 'onFocus' | 'onBlur' | 'onClick' | 'value' | 'search' | 'setValue' | 'store' | 'target'> & {
6
- options: {
7
- id: string | number;
8
- value: string;
9
- }[];
10
- textSelected?: {
11
- singular?: string;
12
- plural?: string;
13
- };
14
- classNames?: Omit<NonNullable<DropdownProps['classNames']>, 'dropdown' | 'search'> & {
15
- multiSelect?: string;
16
- icon?: {
17
- icon?: string;
18
- root?: string;
19
- iconRaw?: {
20
- iconRaw?: string;
21
- root?: string;
22
- };
23
- };
24
- scrollArea?: {
25
- scrollArea?: string;
26
- };
27
- textInput?: DropdownTextInputClassNames;
28
- };
29
- };
30
- declare const MultiSelect: ({
31
- name,
32
- label,
33
- placeholder,
34
- options,
35
- error,
36
- startSlot,
37
- endSlot,
38
- withinPortal,
39
- keepMounted,
40
- textSelected,
41
- classNames
42
- }: MultiSelectProps) => react_jsx_runtime0.JSX.Element;
43
- //#endregion
44
- export { MultiSelect, MultiSelectProps };
45
- //# sourceMappingURL=MultiSelect.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MultiSelect.d.mts","names":[],"sources":["../../../../src/components/controls/multi-select/MultiSelect.tsx"],"mappings":";;;;KAkCY,gBAAA,GAAmB,IAAA,CAC7B,aAAA;EAaA,OAAA;IACE,EAAA;IACA,KAAA;EAAA;EAEF,YAAA;IACE,QAAA;IACA,MAAA;EAAA;EAEF,UAAA,GAAa,IAAA,CACX,WAAA,CAAY,aAAA;IAGZ,WAAA;IACA,IAAA;MACE,IAAA;MACA,IAAA;MACA,OAAA;QACE,OAAA;QACA,IAAA;MAAA;IAAA;IAGJ,UAAA;MACE,UAAA;IAAA;IAEF,SAAA,GAAY,2BAAA;EAAA;AAAA;AAAA,cAIH,WAAA;EAAe,IAAA;EAAA,KAAA;EAAA,WAAA;EAAA,OAAA;EAAA,KAAA;EAAA,SAAA;EAAA,OAAA;EAAA,YAAA;EAAA,WAAA;EAAA,YAAA;EAAA;AAAA,GAYzB,gBAAA,KAAgB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -1,2 +0,0 @@
1
- import{Icon as e}from"../../data-display/icons/icon/Icon.mjs";import{Dropdown as t}from"../dropdown/Dropdown.mjs";import{multiSelect as n,multiSelectChevron as r,multiSelectChevronIcon as i,multiSelectChevronIconRoot as a,multiSelectChevronRoot as o,multiSelectIconIcon as s,multiSelectIconIconRaw as c,multiSelectIconIconRawRoot as l,multiSelectIconRoot as u,multiSelectOption as d,multiSelectOptions as f,multiSelectRoot as p,multiSelectScrollAreaAutosize as m,multiSelectTextInput as h,multiSelectTextInputDescription as g,multiSelectTextInputError as _,multiSelectTextInputInput as v,multiSelectTextInputLabel as y,multiSelectTextInputRequired as b,multiSelectTextInputRoot as x,multiSelectTextInputSection as S,multiSelectTextInputWrapper as C}from"@mage-ui/styled-system/recipes";import{jsx as w,jsxs as T}from"react/jsx-runtime";import{useState as E}from"react";const D=({name:D,label:O,placeholder:k,options:A,error:j,startSlot:M,endSlot:N,withinPortal:P=!1,keepMounted:F=!0,textSelected:I,classNames:L})=>{let[R,z]=E([]),B=e=>{z(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])},V=R.length>0?`${R.length} ${R.length===1?I?.singular??`selected`:I?.plural??`selected`}`:``,H=A.map(n=>T(t.Option,{value:n.value,active:R.includes(n.value),children:[R.includes(n.value)&&w(e,{path:`/icons/sprite-mage.svg`,name:`mage-multi-select-check`,classNames:{icon:L?.icon?.icon??s(),root:L?.icon?.root??u(),iconRaw:{iconRaw:L?.icon?.iconRaw?.iconRaw??c(),root:L?.icon?.iconRaw?.root??l()}}}),w(`span`,{children:n.value})]},n.id));return w(t,{readOnly:!0,name:D,label:O,placeholder:k,error:j,startSlot:M,endSlot:N,withinPortal:P,keepMounted:F,chevron:!0,onClick:e=>e.toggleDropdown(),setValue:e=>{if(e===void 0){z([]);return}B(e)},value:V,onChange:()=>{},onFocus:()=>{},onBlur:()=>{},classNames:{dropdown:L?.multiSelect??n(),root:L?.root??p(),options:L?.options??f(),option:L?.option??d(),scrollArea:{scrollArea:L?.scrollArea?.scrollArea??m()},textInput:{textInput:L?.textInput?.input??h(),root:L?.textInput?.root??x(),label:L?.textInput?.label??y(),description:L?.textInput?.description??g(),error:L?.textInput?.error??_(),wrapper:L?.textInput?.wrapper??C(),input:L?.textInput?.input??v(),section:L?.textInput?.section??S(),required:L?.textInput?.required??b(),endSlot:{chevron:{iconWrapped:L?.textInput?.endSlot?.chevron?.iconWrapped??r(),root:L?.textInput?.endSlot?.chevron?.root??o(),open:{iconRaw:L?.textInput?.endSlot?.chevron?.open?.iconRaw??i(),root:L?.textInput?.endSlot?.chevron?.open?.root??a()},close:{iconRaw:L?.textInput?.endSlot?.chevron?.close?.iconRaw??i(),root:L?.textInput?.endSlot?.chevron?.close?.root??a({invert:!0})}}}}},children:w(t.Options,{children:H})})};export{D as MultiSelect};
2
- //# sourceMappingURL=MultiSelect.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MultiSelect.mjs","names":[],"sources":["../../../../src/components/controls/multi-select/MultiSelect.tsx"],"sourcesContent":["import { useState } from 'react';\n\nimport {\n multiSelect,\n multiSelectChevron,\n multiSelectChevronIcon,\n multiSelectChevronIconRoot,\n multiSelectChevronRoot,\n multiSelectIconIcon,\n multiSelectIconIconRaw,\n multiSelectIconIconRawRoot,\n multiSelectIconRoot,\n multiSelectOption,\n multiSelectOptions,\n multiSelectRoot,\n multiSelectScrollAreaAutosize,\n multiSelectTextInput,\n multiSelectTextInputDescription,\n multiSelectTextInputError,\n multiSelectTextInputInput,\n multiSelectTextInputLabel,\n multiSelectTextInputRequired,\n multiSelectTextInputRoot,\n multiSelectTextInputSection,\n multiSelectTextInputWrapper,\n} from '@mage-ui/styled-system/recipes';\nimport { Icon } from '@/components/data-display/icons/icon/Icon';\n\nimport {\n Dropdown,\n type DropdownProps,\n type DropdownTextInputClassNames,\n} from '../dropdown/Dropdown';\n\nexport type MultiSelectProps = Omit<\n DropdownProps,\n | 'classNames'\n | 'children'\n | 'onChange'\n | 'onFocus'\n | 'onBlur'\n | 'onClick'\n | 'value'\n | 'search'\n | 'setValue'\n | 'store'\n | 'target'\n> & {\n options: {\n id: string | number;\n value: string;\n }[];\n textSelected?: {\n singular?: string;\n plural?: string;\n };\n classNames?: Omit<\n NonNullable<DropdownProps['classNames']>,\n 'dropdown' | 'search'\n > & {\n multiSelect?: string;\n icon?: {\n icon?: string;\n root?: string;\n iconRaw?: {\n iconRaw?: string;\n root?: string;\n };\n };\n scrollArea?: {\n scrollArea?: string;\n };\n textInput?: DropdownTextInputClassNames;\n };\n};\n\nexport const MultiSelect = ({\n name,\n label,\n placeholder,\n options,\n error,\n startSlot,\n endSlot,\n withinPortal = false,\n keepMounted = true,\n textSelected,\n classNames,\n}: MultiSelectProps) => {\n const [value, setValue] = useState<string[]>([]);\n\n const handleValueSelect = (val: string) => {\n setValue((current) =>\n current.includes(val)\n ? current.filter((v) => v !== val)\n : [...current, val],\n );\n };\n\n const displayValue =\n value.length > 0\n ? `${value.length} ${value.length === 1 ? (textSelected?.singular ?? 'selected') : (textSelected?.plural ?? 'selected')}`\n : '';\n\n const optionsList = options.map((item) => (\n <Dropdown.Option\n value={item.value}\n key={item.id}\n active={value.includes(item.value)}\n >\n {value.includes(item.value) && (\n <Icon\n path='/icons/sprite-mage.svg'\n name='mage-multi-select-check'\n classNames={{\n icon: classNames?.icon?.icon ?? multiSelectIconIcon(),\n root: classNames?.icon?.root ?? multiSelectIconRoot(),\n iconRaw: {\n iconRaw:\n classNames?.icon?.iconRaw?.iconRaw ?? multiSelectIconIconRaw(),\n root:\n classNames?.icon?.iconRaw?.root ?? multiSelectIconIconRawRoot(),\n },\n }}\n />\n )}\n <span>{item.value}</span>\n </Dropdown.Option>\n ));\n\n return (\n <Dropdown\n readOnly\n name={name}\n label={label}\n placeholder={placeholder}\n error={error}\n startSlot={startSlot}\n endSlot={endSlot}\n withinPortal={withinPortal}\n keepMounted={keepMounted}\n chevron={true}\n onClick={(combobox) => combobox.toggleDropdown()}\n setValue={(val) => {\n if (val === undefined) {\n setValue([]);\n return;\n }\n handleValueSelect(val);\n }}\n value={displayValue}\n onChange={() => {}}\n onFocus={() => {}}\n onBlur={() => {}}\n classNames={{\n dropdown: classNames?.multiSelect ?? multiSelect(),\n root: classNames?.root ?? multiSelectRoot(),\n options: classNames?.options ?? multiSelectOptions(),\n option: classNames?.option ?? multiSelectOption(),\n scrollArea: {\n scrollArea:\n classNames?.scrollArea?.scrollArea ??\n multiSelectScrollAreaAutosize(),\n },\n textInput: {\n textInput: classNames?.textInput?.input ?? multiSelectTextInput(),\n root: classNames?.textInput?.root ?? multiSelectTextInputRoot(),\n label: classNames?.textInput?.label ?? multiSelectTextInputLabel(),\n description:\n classNames?.textInput?.description ??\n multiSelectTextInputDescription(),\n error: classNames?.textInput?.error ?? multiSelectTextInputError(),\n wrapper:\n classNames?.textInput?.wrapper ?? multiSelectTextInputWrapper(),\n input: classNames?.textInput?.input ?? multiSelectTextInputInput(),\n section:\n classNames?.textInput?.section ?? multiSelectTextInputSection(),\n required:\n classNames?.textInput?.required ?? multiSelectTextInputRequired(),\n endSlot: {\n chevron: {\n iconWrapped:\n classNames?.textInput?.endSlot?.chevron?.iconWrapped ??\n multiSelectChevron(),\n root:\n classNames?.textInput?.endSlot?.chevron?.root ??\n multiSelectChevronRoot(),\n open: {\n iconRaw:\n classNames?.textInput?.endSlot?.chevron?.open?.iconRaw ??\n multiSelectChevronIcon(),\n root:\n classNames?.textInput?.endSlot?.chevron?.open?.root ??\n multiSelectChevronIconRoot(),\n },\n close: {\n iconRaw:\n classNames?.textInput?.endSlot?.chevron?.close?.iconRaw ??\n multiSelectChevronIcon(),\n root:\n classNames?.textInput?.endSlot?.chevron?.close?.root ??\n multiSelectChevronIconRoot({ invert: true }),\n },\n },\n },\n },\n }}\n >\n <Dropdown.Options>{optionsList}</Dropdown.Options>\n </Dropdown>\n );\n};\n"],"mappings":"q2BA4EA,MAAa,GAAe,CAC1B,OACA,QACA,cACA,UACA,QACA,YACA,UACA,eAAe,GACf,cAAc,GACd,eACA,gBACsB,CACtB,GAAM,CAAC,EAAO,GAAY,EAAmB,EAAE,CAAC,CAE1C,EAAqB,GAAgB,CACzC,EAAU,GACR,EAAQ,SAAS,EAAI,CACjB,EAAQ,OAAQ,GAAM,IAAM,EAAI,CAChC,CAAC,GAAG,EAAS,EAAI,CACtB,EAGG,EACJ,EAAM,OAAS,EACX,GAAG,EAAM,OAAO,GAAG,EAAM,SAAW,EAAK,GAAc,UAAY,WAAe,GAAc,QAAU,aAC1G,GAEA,EAAc,EAAQ,IAAK,GAC/B,EAAC,EAAS,OAAA,CACR,MAAO,EAAK,MAEZ,OAAQ,EAAM,SAAS,EAAK,MAAM,WAEjC,EAAM,SAAS,EAAK,MAAM,EACzB,EAAC,EAAA,CACC,KAAK,yBACL,KAAK,0BACL,WAAY,CACV,KAAM,GAAY,MAAM,MAAQ,GAAqB,CACrD,KAAM,GAAY,MAAM,MAAQ,GAAqB,CACrD,QAAS,CACP,QACE,GAAY,MAAM,SAAS,SAAW,GAAwB,CAChE,KACE,GAAY,MAAM,SAAS,MAAQ,GAA4B,CAClE,CACF,EACD,CAEJ,EAAC,OAAA,CAAA,SAAM,EAAK,MAAA,CAAa,CAAA,EAnBpB,EAAK,GAoBM,CAClB,CAEF,OACE,EAAC,EAAA,CACC,SAAA,GACM,OACC,QACM,cACN,QACI,YACF,UACK,eACD,cACb,QAAS,GACT,QAAU,GAAa,EAAS,gBAAgB,CAChD,SAAW,GAAQ,CACjB,GAAI,IAAQ,IAAA,GAAW,CACrB,EAAS,EAAE,CAAC,CACZ,OAEF,EAAkB,EAAI,EAExB,MAAO,EACP,aAAgB,GAChB,YAAe,GACf,WAAc,GACd,WAAY,CACV,SAAU,GAAY,aAAe,GAAa,CAClD,KAAM,GAAY,MAAQ,GAAiB,CAC3C,QAAS,GAAY,SAAW,GAAoB,CACpD,OAAQ,GAAY,QAAU,GAAmB,CACjD,WAAY,CACV,WACE,GAAY,YAAY,YACxB,GAA+B,CAClC,CACD,UAAW,CACT,UAAW,GAAY,WAAW,OAAS,GAAsB,CACjE,KAAM,GAAY,WAAW,MAAQ,GAA0B,CAC/D,MAAO,GAAY,WAAW,OAAS,GAA2B,CAClE,YACE,GAAY,WAAW,aACvB,GAAiC,CACnC,MAAO,GAAY,WAAW,OAAS,GAA2B,CAClE,QACE,GAAY,WAAW,SAAW,GAA6B,CACjE,MAAO,GAAY,WAAW,OAAS,GAA2B,CAClE,QACE,GAAY,WAAW,SAAW,GAA6B,CACjE,SACE,GAAY,WAAW,UAAY,GAA8B,CACnE,QAAS,CACP,QAAS,CACP,YACE,GAAY,WAAW,SAAS,SAAS,aACzC,GAAoB,CACtB,KACE,GAAY,WAAW,SAAS,SAAS,MACzC,GAAwB,CAC1B,KAAM,CACJ,QACE,GAAY,WAAW,SAAS,SAAS,MAAM,SAC/C,GAAwB,CAC1B,KACE,GAAY,WAAW,SAAS,SAAS,MAAM,MAC/C,GAA4B,CAC/B,CACD,MAAO,CACL,QACE,GAAY,WAAW,SAAS,SAAS,OAAO,SAChD,GAAwB,CAC1B,KACE,GAAY,WAAW,SAAS,SAAS,OAAO,MAChD,EAA2B,CAAE,OAAQ,GAAM,CAAC,CAC/C,CACF,CACF,CACF,CACF,UAED,EAAC,EAAS,QAAA,CAAA,SAAS,EAAA,CAA+B,EACzC"}
@@ -1,63 +0,0 @@
1
- import { DropdownProps, DropdownTextInputClassNames } from "../dropdown/Dropdown.mjs";
2
- import * as react_jsx_runtime0 from "react/jsx-runtime";
3
-
4
- //#region src/components/controls/multi-select/MultiSelectTags.d.ts
5
- type MultiSelectTagsProps = Omit<DropdownProps, 'classNames' | 'children' | 'onChange' | 'onFocus' | 'onBlur' | 'onClick' | 'value' | 'search' | 'setValue' | 'store' | 'target'> & {
6
- classNames?: Omit<NonNullable<DropdownProps['classNames']>, 'dropdown'> & {
7
- multiSelectTags?: string;
8
- icon?: {
9
- icon?: string;
10
- root?: string;
11
- iconRaw?: {
12
- iconRaw?: string;
13
- root?: string;
14
- };
15
- };
16
- scrollArea?: {
17
- scrollArea?: string;
18
- };
19
- tagsInput?: DropdownTextInputClassNames & {
20
- tagsInput?: string;
21
- placeholder?: string;
22
- field?: string;
23
- tagGroup?: {
24
- root?: string;
25
- tagGroup?: string;
26
- };
27
- };
28
- chevron?: {
29
- iconWrapped?: string;
30
- root?: string;
31
- open?: {
32
- iconRaw?: string;
33
- root?: string;
34
- };
35
- close?: {
36
- iconRaw?: string;
37
- root?: string;
38
- };
39
- };
40
- };
41
- options: {
42
- id: string | number;
43
- value: string;
44
- }[];
45
- required?: boolean;
46
- };
47
- declare const MultiSelectTags: ({
48
- name,
49
- label,
50
- placeholder,
51
- options,
52
- error,
53
- description,
54
- required,
55
- withinPortal,
56
- keepMounted,
57
- startSlot,
58
- endSlot,
59
- classNames
60
- }: MultiSelectTagsProps) => react_jsx_runtime0.JSX.Element;
61
- //#endregion
62
- export { MultiSelectTags, MultiSelectTagsProps };
63
- //# sourceMappingURL=MultiSelectTags.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MultiSelectTags.d.mts","names":[],"sources":["../../../../src/components/controls/multi-select/MultiSelectTags.tsx"],"mappings":";;;;KA0CY,oBAAA,GAAuB,IAAA,CACjC,aAAA;EAaA,UAAA,GAAa,IAAA,CAAK,WAAA,CAAY,aAAA;IAC5B,eAAA;IACA,IAAA;MACE,IAAA;MACA,IAAA;MACA,OAAA;QACE,OAAA;QACA,IAAA;MAAA;IAAA;IAGJ,UAAA;MACE,UAAA;IAAA;IAEF,SAAA,GAAY,2BAAA;MACV,SAAA;MACA,WAAA;MACA,KAAA;MACA,QAAA;QACE,IAAA;QACA,QAAA;MAAA;IAAA;IAGJ,OAAA;MACE,WAAA;MACA,IAAA;MACA,IAAA;QACE,OAAA;QACA,IAAA;MAAA;MAEF,KAAA;QACE,OAAA;QACA,IAAA;MAAA;IAAA;EAAA;EAIN,OAAA;IACE,EAAA;IACA,KAAA;EAAA;EAEF,QAAA;AAAA;AAAA,cAGW,eAAA;EAAmB,IAAA;EAAA,KAAA;EAAA,WAAA;EAAA,OAAA;EAAA,KAAA;EAAA,WAAA;EAAA,QAAA;EAAA,YAAA;EAAA,WAAA;EAAA,SAAA;EAAA,OAAA;EAAA;AAAA,GAa7B,oBAAA,KAAoB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -1,2 +0,0 @@
1
- import{Icon as e}from"../../data-display/icons/icon/Icon.mjs";import{Tag as t}from"../../data-display/tag/Tag.mjs";import{Chevron as n}from"../utils/chevron/Chevron.mjs";import{Dropdown as r}from"../dropdown/Dropdown.mjs";import{cx as i}from"@mage-ui/styled-system/css";import{multiSelectTags as a,multiSelectTagsChevron as o,multiSelectTagsChevronIcon as s,multiSelectTagsChevronIconRoot as c,multiSelectTagsChevronRoot as l,multiSelectTagsEmpty as u,multiSelectTagsGroup as d,multiSelectTagsGroupRoot as f,multiSelectTagsIconIcon as p,multiSelectTagsIconIconRaw as m,multiSelectTagsIconIconRawRoot as h,multiSelectTagsIconRoot as g,multiSelectTagsInput as ee,multiSelectTagsInputDescription as _,multiSelectTagsInputError as v,multiSelectTagsInputField as y,multiSelectTagsInputInput as b,multiSelectTagsInputLabel as x,multiSelectTagsInputPlaceholder as S,multiSelectTagsInputRequired as C,multiSelectTagsInputRoot as w,multiSelectTagsInputSection as T,multiSelectTagsInputWrapper as E,multiSelectTagsOption as D,multiSelectTagsOptions as O,multiSelectTagsRoot as k,multiSelectTagsScrollAreaAutosize as A}from"@mage-ui/styled-system/recipes";import{Input as j,PillsInput as M,useCombobox as N}from"@mantine/core";import{jsx as P,jsxs as F}from"react/jsx-runtime";import{useState as te}from"react";const I=({name:I,label:L,placeholder:R,options:z,error:B,description:V,required:H=!1,withinPortal:U=!1,keepMounted:W=!0,startSlot:G,endSlot:K,classNames:q})=>{let J=N({onDropdownClose:()=>J.resetSelectedOption(),onDropdownOpen:()=>J.updateSelectedOptionIndex(`active`)}),[Y,X]=te([]),Z=e=>X(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e]),Q=e=>X(t=>t.filter(t=>t!==e)),$=Y.map(e=>P(t,{label:e,onRemove:()=>Q(e),children:e},e)),ne=z.map(t=>F(r.Option,{value:t.value,active:Y.includes(t.value),children:[Y.includes(t.value)&&P(e,{path:`/icons/sprite-mage.svg`,name:`mage-multi-select-tags-check`,classNames:{icon:q?.icon?.icon??p(),root:q?.icon?.root??g(),iconRaw:{iconRaw:q?.icon?.iconRaw?.iconRaw??m(),root:q?.icon?.iconRaw?.root??h()}}}),P(`span`,{children:t.value})]},t.id)),re=P(M,{label:L,error:B,withAsterisk:H,description:V,pointer:!0,onClick:()=>J.openDropdown(),leftSection:G,rightSection:K??P(n,{path:`/icons/sprite-mage.svg`,chevronOpen:`mage-multi-select-tags-chevron-down`,chevronClose:`mage-multi-select-tags-chevron-up`,classNames:{iconWrapped:q?.chevron?.iconWrapped??o(),root:q?.chevron?.root??l(),open:{iconRaw:q?.chevron?.open?.iconRaw??s(),root:q?.chevron?.open?.root??c()},close:{iconRaw:q?.chevron?.close?.iconRaw??s(),root:q?.chevron?.close?.root??c({invert:!0})}}}),classNames:{root:i(q?.tagsInput?.tagsInput??ee(),q?.tagsInput?.root??w()),wrapper:q?.tagsInput?.wrapper??E(),input:i(q?.tagsInput?.input??b(),`peer`),section:i(q?.tagsInput?.section??T(),`group`),label:q?.tagsInput?.label??x(),required:q?.tagsInput?.required??C(),description:q?.tagsInput?.description??_(),error:q?.tagsInput?.error??v()},children:F(t.Group,{classNames:{tagGroup:q?.tagsInput?.tagGroup?.tagGroup??d(),root:q?.tagsInput?.tagGroup?.root??f()},children:[$.length>0?$:P(j.Placeholder,{classNames:{placeholder:q?.tagsInput?.placeholder??S()},children:R}),P(r.EventsTarget,{children:P(M.Field,{name:I,type:`hidden`,classNames:{field:q?.tagsInput?.field??y()},onKeyDown:e=>{e.key===`Backspace`&&Y.length>0&&(e.preventDefault(),Q(Y[Y.length-1]))}})})]})});return P(r,{readOnly:!0,store:J,withinPortal:U,keepMounted:W,chevron:!0,setValue:e=>{if(e===void 0){X([]);return}Z(e)},onChange:()=>{},onFocus:()=>{},onBlur:()=>{},onClick:()=>{},classNames:{dropdown:q?.multiSelectTags??a(),root:q?.root??k(),options:q?.options??O(),option:q?.option??D(),empty:q?.empty??u(),scrollArea:{scrollArea:q?.scrollArea?.scrollArea??A()}},target:re,children:P(r.Options,{children:ne})})};export{I as MultiSelectTags};
2
- //# sourceMappingURL=MultiSelectTags.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MultiSelectTags.mjs","names":["TagsInput"],"sources":["../../../../src/components/controls/multi-select/MultiSelectTags.tsx"],"sourcesContent":["import { useState } from 'react';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport {\n multiSelectTags,\n multiSelectTagsChevron,\n multiSelectTagsChevronIcon,\n multiSelectTagsChevronIconRoot,\n multiSelectTagsChevronRoot,\n multiSelectTagsEmpty,\n multiSelectTagsGroup,\n multiSelectTagsGroupRoot,\n multiSelectTagsIconIcon,\n multiSelectTagsIconIconRaw,\n multiSelectTagsIconIconRawRoot,\n multiSelectTagsIconRoot,\n multiSelectTagsInput,\n multiSelectTagsInputDescription,\n multiSelectTagsInputError,\n multiSelectTagsInputField,\n multiSelectTagsInputInput,\n multiSelectTagsInputLabel,\n multiSelectTagsInputPlaceholder,\n multiSelectTagsInputRequired,\n multiSelectTagsInputRoot,\n multiSelectTagsInputSection,\n multiSelectTagsInputWrapper,\n multiSelectTagsOption,\n multiSelectTagsOptions,\n multiSelectTagsRoot,\n multiSelectTagsScrollAreaAutosize,\n} from '@mage-ui/styled-system/recipes';\nimport { Input, PillsInput as TagsInput, useCombobox } from '@mantine/core';\nimport { Icon, Tag } from '@/components/data-display';\n\nimport {\n Dropdown,\n type DropdownProps,\n type DropdownTextInputClassNames,\n} from '../dropdown/Dropdown';\nimport { Chevron } from '../utils';\n\nexport type MultiSelectTagsProps = Omit<\n DropdownProps,\n | 'classNames'\n | 'children'\n | 'onChange'\n | 'onFocus'\n | 'onBlur'\n | 'onClick'\n | 'value'\n | 'search'\n | 'setValue'\n | 'store'\n | 'target'\n> & {\n classNames?: Omit<NonNullable<DropdownProps['classNames']>, 'dropdown'> & {\n multiSelectTags?: string;\n icon?: {\n icon?: string;\n root?: string;\n iconRaw?: {\n iconRaw?: string;\n root?: string;\n };\n };\n scrollArea?: {\n scrollArea?: string;\n };\n tagsInput?: DropdownTextInputClassNames & {\n tagsInput?: string;\n placeholder?: string;\n field?: string;\n tagGroup?: {\n root?: string;\n tagGroup?: string;\n };\n };\n chevron?: {\n iconWrapped?: string;\n root?: string;\n open?: {\n iconRaw?: string;\n root?: string;\n };\n close?: {\n iconRaw?: string;\n root?: string;\n };\n };\n };\n options: {\n id: string | number;\n value: string;\n }[];\n required?: boolean;\n};\n\nexport const MultiSelectTags = ({\n name,\n label,\n placeholder,\n options,\n error,\n description,\n required = false,\n withinPortal = false,\n keepMounted = true,\n startSlot,\n endSlot,\n classNames,\n}: MultiSelectTagsProps) => {\n const combobox = useCombobox({\n onDropdownClose: () => combobox.resetSelectedOption(),\n onDropdownOpen: () => combobox.updateSelectedOptionIndex('active'),\n });\n\n const [value, setValue] = useState<string[]>([]);\n\n const handleValueSelect = (val: string) =>\n setValue((current) =>\n current.includes(val)\n ? current.filter((v) => v !== val)\n : [...current, val],\n );\n\n const handleValueRemove = (val: string) =>\n setValue((current) => current.filter((v) => v !== val));\n\n const values = value.map((item) => (\n <Tag key={item} label={item} onRemove={() => handleValueRemove(item)}>\n {item}\n </Tag>\n ));\n\n const optionsList = options.map((item) => (\n <Dropdown.Option\n value={item.value}\n key={item.id}\n active={value.includes(item.value)}\n >\n {value.includes(item.value) && (\n <Icon\n path='/icons/sprite-mage.svg'\n name='mage-multi-select-tags-check'\n classNames={{\n icon: classNames?.icon?.icon ?? multiSelectTagsIconIcon(),\n root: classNames?.icon?.root ?? multiSelectTagsIconRoot(),\n iconRaw: {\n iconRaw:\n classNames?.icon?.iconRaw?.iconRaw ??\n multiSelectTagsIconIconRaw(),\n root:\n classNames?.icon?.iconRaw?.root ??\n multiSelectTagsIconIconRawRoot(),\n },\n }}\n />\n )}\n <span>{item.value}</span>\n </Dropdown.Option>\n ));\n\n const tagsTarget = (\n <TagsInput\n label={label}\n error={error}\n withAsterisk={required}\n description={description}\n pointer\n onClick={() => combobox.openDropdown()}\n leftSection={startSlot}\n rightSection={\n endSlot ?? (\n <Chevron\n path='/icons/sprite-mage.svg'\n chevronOpen='mage-multi-select-tags-chevron-down'\n chevronClose='mage-multi-select-tags-chevron-up'\n classNames={{\n iconWrapped:\n classNames?.chevron?.iconWrapped ?? multiSelectTagsChevron(),\n root: classNames?.chevron?.root ?? multiSelectTagsChevronRoot(),\n open: {\n iconRaw:\n classNames?.chevron?.open?.iconRaw ??\n multiSelectTagsChevronIcon(),\n root:\n classNames?.chevron?.open?.root ??\n multiSelectTagsChevronIconRoot(),\n },\n close: {\n iconRaw:\n classNames?.chevron?.close?.iconRaw ??\n multiSelectTagsChevronIcon(),\n root:\n classNames?.chevron?.close?.root ??\n multiSelectTagsChevronIconRoot({ invert: true }),\n },\n }}\n />\n )\n }\n classNames={{\n root: cx(\n classNames?.tagsInput?.tagsInput ?? multiSelectTagsInput(),\n classNames?.tagsInput?.root ?? multiSelectTagsInputRoot(),\n ),\n wrapper:\n classNames?.tagsInput?.wrapper ?? multiSelectTagsInputWrapper(),\n input: cx(\n classNames?.tagsInput?.input ?? multiSelectTagsInputInput(),\n 'peer',\n ),\n section: cx(\n classNames?.tagsInput?.section ?? multiSelectTagsInputSection(),\n 'group',\n ),\n label: classNames?.tagsInput?.label ?? multiSelectTagsInputLabel(),\n required:\n classNames?.tagsInput?.required ?? multiSelectTagsInputRequired(),\n description:\n classNames?.tagsInput?.description ??\n multiSelectTagsInputDescription(),\n error: classNames?.tagsInput?.error ?? multiSelectTagsInputError(),\n }}\n >\n <Tag.Group\n classNames={{\n tagGroup:\n classNames?.tagsInput?.tagGroup?.tagGroup ?? multiSelectTagsGroup(),\n root:\n classNames?.tagsInput?.tagGroup?.root ?? multiSelectTagsGroupRoot(),\n }}\n >\n {values.length > 0 ? (\n values\n ) : (\n <Input.Placeholder\n classNames={{\n placeholder:\n classNames?.tagsInput?.placeholder ??\n multiSelectTagsInputPlaceholder(),\n }}\n >\n {placeholder}\n </Input.Placeholder>\n )}\n <Dropdown.EventsTarget>\n <TagsInput.Field\n name={name}\n type='hidden'\n classNames={{\n field:\n classNames?.tagsInput?.field ?? multiSelectTagsInputField(),\n }}\n onKeyDown={(event) => {\n if (event.key === 'Backspace' && value.length > 0) {\n event.preventDefault();\n handleValueRemove(value[value.length - 1]);\n }\n }}\n />\n </Dropdown.EventsTarget>\n </Tag.Group>\n </TagsInput>\n );\n\n return (\n <Dropdown\n readOnly\n store={combobox}\n withinPortal={withinPortal}\n keepMounted={keepMounted}\n chevron={true}\n setValue={(val) => {\n if (val === undefined) {\n setValue([]);\n return;\n }\n handleValueSelect(val);\n }}\n onChange={() => {}}\n onFocus={() => {}}\n onBlur={() => {}}\n onClick={() => {}}\n classNames={{\n dropdown: classNames?.multiSelectTags ?? multiSelectTags(),\n root: classNames?.root ?? multiSelectTagsRoot(),\n options: classNames?.options ?? multiSelectTagsOptions(),\n option: classNames?.option ?? multiSelectTagsOption(),\n empty: classNames?.empty ?? multiSelectTagsEmpty(),\n scrollArea: {\n scrollArea:\n classNames?.scrollArea?.scrollArea ??\n multiSelectTagsScrollAreaAutosize(),\n },\n }}\n target={tagsTarget}\n >\n <Dropdown.Options>{optionsList}</Dropdown.Options>\n </Dropdown>\n );\n};\n"],"mappings":"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"}