@mage-ui/components 1.0.88 → 1.0.91

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 (213) hide show
  1. package/dist/components/buttons/button/Button.mjs.map +1 -1
  2. package/dist/components/buttons/button-action/ButtonAction.mjs.map +1 -1
  3. package/dist/components/buttons/button-action/ButtonActionContext.mjs.map +1 -1
  4. package/dist/components/buttons/button-action/ButtonLoader.mjs.map +1 -1
  5. package/dist/components/buttons/button-icon/ButtonIcon.mjs.map +1 -1
  6. package/dist/components/buttons/button-icon-visual/ButtonIconVisual.mjs.map +1 -1
  7. package/dist/components/buttons/button-visual/ButtonVisual.mjs.map +1 -1
  8. package/dist/components/controls/avatar-upload/AvatarUpload.d.mts +0 -1
  9. package/dist/components/controls/avatar-upload/AvatarUpload.d.mts.map +1 -1
  10. package/dist/components/controls/avatar-upload/AvatarUpload.mjs.map +1 -1
  11. package/dist/components/controls/checkbox/Checkbox.mjs.map +1 -1
  12. package/dist/components/controls/checkbox-group/CheckboxGroup.mjs.map +1 -1
  13. package/dist/components/controls/date-picker/DatePicker.mjs.map +1 -1
  14. package/dist/components/controls/dropdown/Dropdown.d.mts +0 -3
  15. package/dist/components/controls/dropdown/Dropdown.d.mts.map +1 -1
  16. package/dist/components/controls/dropdown/Dropdown.mjs.map +1 -1
  17. package/dist/components/controls/dropdown/DropdownChevron.d.mts +0 -2
  18. package/dist/components/controls/dropdown/DropdownChevron.d.mts.map +1 -1
  19. package/dist/components/controls/dropdown/DropdownChevron.mjs.map +1 -1
  20. package/dist/components/controls/dropdown/DropdownClearButton.d.mts +0 -2
  21. package/dist/components/controls/dropdown/DropdownClearButton.d.mts.map +1 -1
  22. package/dist/components/controls/dropdown/DropdownClearButton.mjs.map +1 -1
  23. package/dist/components/controls/dropdown/DropdownContextProvider.d.mts +0 -2
  24. package/dist/components/controls/dropdown/DropdownContextProvider.d.mts.map +1 -1
  25. package/dist/components/controls/dropdown/DropdownContextProvider.mjs.map +1 -1
  26. package/dist/components/controls/dropdown/DropdownEndSlot.mjs.map +1 -1
  27. package/dist/components/controls/dropdown/DropdownTargetTextInput.d.mts +0 -1
  28. package/dist/components/controls/dropdown/DropdownTargetTextInput.d.mts.map +1 -1
  29. package/dist/components/controls/dropdown/DropdownTargetTextInput.mjs.map +1 -1
  30. package/dist/components/controls/dropdown/autocomplete/Autocomplete.mjs.map +1 -1
  31. package/dist/components/controls/dropdown/autocomplete/AutocompleteLoader.mjs.map +1 -1
  32. package/dist/components/controls/dropdown/autocomplete/AutocompleteTarget.mjs.map +1 -1
  33. package/dist/components/controls/dropdown/combobox/Combobox.mjs.map +1 -1
  34. package/dist/components/controls/dropdown/combobox/ComboboxCreatableOption.d.mts +0 -2
  35. package/dist/components/controls/dropdown/combobox/ComboboxCreatableOption.d.mts.map +1 -1
  36. package/dist/components/controls/dropdown/combobox/ComboboxCreatableOption.mjs.map +1 -1
  37. package/dist/components/controls/dropdown/combobox/ComboboxEmptyOption.d.mts +0 -2
  38. package/dist/components/controls/dropdown/combobox/ComboboxEmptyOption.d.mts.map +1 -1
  39. package/dist/components/controls/dropdown/combobox/ComboboxEmptyOption.mjs.map +1 -1
  40. package/dist/components/controls/dropdown/combobox/ComboboxOptions.mjs.map +1 -1
  41. package/dist/components/controls/dropdown/combobox/ComboboxTarget.d.mts +0 -2
  42. package/dist/components/controls/dropdown/combobox/ComboboxTarget.d.mts.map +1 -1
  43. package/dist/components/controls/dropdown/combobox/ComboboxTarget.mjs.map +1 -1
  44. package/dist/components/controls/dropdown/select/Select.mjs.map +1 -1
  45. package/dist/components/controls/dropdown/select/SelectSearch.d.mts +0 -1
  46. package/dist/components/controls/dropdown/select/SelectSearch.d.mts.map +1 -1
  47. package/dist/components/controls/dropdown/select/SelectSearch.mjs.map +1 -1
  48. package/dist/components/controls/dropzone/Dropzone.d.mts +0 -1
  49. package/dist/components/controls/dropzone/Dropzone.d.mts.map +1 -1
  50. package/dist/components/controls/dropzone/Dropzone.mjs.map +1 -1
  51. package/dist/components/controls/dropzone-files/DropzoneFiles.d.mts +0 -2
  52. package/dist/components/controls/dropzone-files/DropzoneFiles.d.mts.map +1 -1
  53. package/dist/components/controls/dropzone-files/DropzoneFiles.mjs.map +1 -1
  54. package/dist/components/controls/file-input/BaseFileInput.d.mts +0 -1
  55. package/dist/components/controls/file-input/BaseFileInput.d.mts.map +1 -1
  56. package/dist/components/controls/file-input/BaseFileInput.mjs.map +1 -1
  57. package/dist/components/controls/file-input/FileInput.mjs.map +1 -1
  58. package/dist/components/controls/file-input/FileInputMultiple.mjs.map +1 -1
  59. package/dist/components/controls/password-input/PasswordInput.mjs.map +1 -1
  60. package/dist/components/controls/password-input/PasswordStrengthInput.d.mts +0 -1
  61. package/dist/components/controls/password-input/PasswordStrengthInput.d.mts.map +1 -1
  62. package/dist/components/controls/password-input/PasswordStrengthInput.mjs.map +1 -1
  63. package/dist/components/controls/radio/Radio.mjs.map +1 -1
  64. package/dist/components/controls/radio-group/RadioGroup.mjs.map +1 -1
  65. package/dist/components/controls/switch/Switch.d.mts +0 -1
  66. package/dist/components/controls/switch/Switch.d.mts.map +1 -1
  67. package/dist/components/controls/switch/Switch.mjs.map +1 -1
  68. package/dist/components/controls/switch-group/SwitchGroup.mjs.map +1 -1
  69. package/dist/components/controls/text-input/TextInput.mjs.map +1 -1
  70. package/dist/components/controls/textarea/Textarea.d.mts +3 -15
  71. package/dist/components/controls/textarea/Textarea.d.mts.map +1 -1
  72. package/dist/components/controls/textarea/Textarea.mjs +1 -1
  73. package/dist/components/controls/textarea/Textarea.mjs.map +1 -1
  74. package/dist/components/data-display/assigned-user/AssignedUser.d.mts +0 -1
  75. package/dist/components/data-display/assigned-user/AssignedUser.d.mts.map +1 -1
  76. package/dist/components/data-display/assigned-user/AssignedUser.mjs.map +1 -1
  77. package/dist/components/data-display/avatar/Avatar.mjs.map +1 -1
  78. package/dist/components/data-display/badge/Badge.mjs.map +1 -1
  79. package/dist/components/data-display/calendar/Calendar.d.mts +1 -6
  80. package/dist/components/data-display/calendar/Calendar.d.mts.map +1 -1
  81. package/dist/components/data-display/calendar/Calendar.mjs +1 -1
  82. package/dist/components/data-display/calendar/Calendar.mjs.map +1 -1
  83. package/dist/components/data-display/datatables/DataTable.d.mts +0 -1
  84. package/dist/components/data-display/datatables/DataTable.d.mts.map +1 -1
  85. package/dist/components/data-display/datatables/DataTable.mjs +1 -1
  86. package/dist/components/data-display/datatables/DataTable.mjs.map +1 -1
  87. package/dist/components/data-display/datatables/DataTableBody.mjs.map +1 -1
  88. package/dist/components/data-display/datatables/DataTableBottomSlot.mjs.map +1 -1
  89. package/dist/components/data-display/datatables/DataTableBulkBar.d.mts +0 -1
  90. package/dist/components/data-display/datatables/DataTableBulkBar.d.mts.map +1 -1
  91. package/dist/components/data-display/datatables/DataTableBulkBar.mjs.map +1 -1
  92. package/dist/components/data-display/datatables/DataTableColGroup.mjs +2 -0
  93. package/dist/components/data-display/datatables/DataTableColGroup.mjs.map +1 -0
  94. package/dist/components/data-display/datatables/DataTableColumns.mjs.map +1 -1
  95. package/dist/components/data-display/datatables/DataTableErrorState.mjs.map +1 -1
  96. package/dist/components/data-display/datatables/DataTableHeader.mjs +1 -1
  97. package/dist/components/data-display/datatables/DataTableHeader.mjs.map +1 -1
  98. package/dist/components/data-display/datatables/DataTablePageSize.mjs.map +1 -1
  99. package/dist/components/data-display/datatables/DataTablePagination.mjs.map +1 -1
  100. package/dist/components/data-display/datatables/DataTableRootContainer.mjs.map +1 -1
  101. package/dist/components/data-display/datatables/DataTableSkeleton.mjs.map +1 -1
  102. package/dist/components/data-display/datatables/DataTableSlotRow.mjs.map +1 -1
  103. package/dist/components/data-display/datatables/DataTableTopSlot.mjs.map +1 -1
  104. package/dist/components/data-display/datatables/DataTableViewport.mjs.map +1 -1
  105. package/dist/components/data-display/description-list/DescriptionList.mjs.map +1 -1
  106. package/dist/components/data-display/icons/icon/Icon.mjs.map +1 -1
  107. package/dist/components/data-display/icons/icon-raw/IconRaw.mjs.map +1 -1
  108. package/dist/components/data-display/icons/icon-svg/IconSvg.mjs.map +1 -1
  109. package/dist/components/data-display/icons/icon-wrapped/IconWrapped.mjs.map +1 -1
  110. package/dist/components/data-display/index.d.mts +1 -1
  111. package/dist/components/data-display/indicator/Indicator.mjs.map +1 -1
  112. package/dist/components/data-display/loader-dot/LoaderDot.mjs.map +1 -1
  113. package/dist/components/data-display/loader-oval/LoaderOval.mjs.map +1 -1
  114. package/dist/components/data-display/logos/logo-image/LogoImage.mjs.map +1 -1
  115. package/dist/components/data-display/logos/logo-svg/LogoSvg.mjs.map +1 -1
  116. package/dist/components/data-display/notification-banner/NotificationBanner.mjs.map +1 -1
  117. package/dist/components/data-display/removable-item/RemovableItem.d.mts +0 -1
  118. package/dist/components/data-display/removable-item/RemovableItem.d.mts.map +1 -1
  119. package/dist/components/data-display/removable-item/RemovableItem.mjs.map +1 -1
  120. package/dist/components/data-display/table/Table.d.mts +2 -0
  121. package/dist/components/data-display/table/Table.d.mts.map +1 -1
  122. package/dist/components/data-display/table/TableBody.mjs.map +1 -1
  123. package/dist/components/data-display/table/TableCaption.mjs.map +1 -1
  124. package/dist/components/data-display/table/TableCell.mjs.map +1 -1
  125. package/dist/components/data-display/table/TableFoot.mjs.map +1 -1
  126. package/dist/components/data-display/table/TableHead.mjs.map +1 -1
  127. package/dist/components/data-display/table/TableHeaderCell.mjs.map +1 -1
  128. package/dist/components/data-display/table/TableRoot.mjs +1 -1
  129. package/dist/components/data-display/table/TableRoot.mjs.map +1 -1
  130. package/dist/components/data-display/table/TableRow.mjs.map +1 -1
  131. package/dist/components/data-display/table/TableScroll.mjs.map +1 -1
  132. package/dist/components/data-display/tag/Tag.d.mts +0 -1
  133. package/dist/components/data-display/tag/Tag.d.mts.map +1 -1
  134. package/dist/components/data-display/tag/Tag.mjs.map +1 -1
  135. package/dist/components/data-display/tag-group/TagGroup.mjs.map +1 -1
  136. package/dist/components/data-display/uploaded-file/UploadedFile.d.mts +0 -1
  137. package/dist/components/data-display/uploaded-file/UploadedFile.d.mts.map +1 -1
  138. package/dist/components/data-display/uploaded-file/UploadedFile.mjs.map +1 -1
  139. package/dist/components/data-display/uploaded-file/UploadedFileDetails.mjs.map +1 -1
  140. package/dist/components/data-display/uploaded-file/UploadedFileIcon.mjs.map +1 -1
  141. package/dist/components/forms/Form.d.mts +13 -1
  142. package/dist/components/forms/Form.d.mts.map +1 -1
  143. package/dist/components/forms/Form.mjs +1 -1
  144. package/dist/components/forms/Form.mjs.map +1 -1
  145. package/dist/components/forms/FormBase.mjs.map +1 -1
  146. package/dist/components/forms/FormErrorBox.mjs.map +1 -1
  147. package/dist/components/forms/controls/FormCheckbox.d.mts +0 -2
  148. package/dist/components/forms/controls/FormCheckbox.d.mts.map +1 -1
  149. package/dist/components/forms/controls/FormCheckbox.mjs.map +1 -1
  150. package/dist/components/forms/controls/FormHidden.mjs.map +1 -1
  151. package/dist/components/forms/controls/FormPassword.d.mts +0 -2
  152. package/dist/components/forms/controls/FormPassword.d.mts.map +1 -1
  153. package/dist/components/forms/controls/FormPassword.mjs.map +1 -1
  154. package/dist/components/forms/controls/FormSubmit.d.mts +0 -3
  155. package/dist/components/forms/controls/FormSubmit.d.mts.map +1 -1
  156. package/dist/components/forms/controls/FormSubmit.mjs.map +1 -1
  157. package/dist/components/forms/controls/FormTextInput.mjs.map +1 -1
  158. package/dist/components/forms/controls/FormTextarea.mjs +2 -0
  159. package/dist/components/forms/controls/FormTextarea.mjs.map +1 -0
  160. package/dist/components/forms/controls/index.mjs +1 -1
  161. package/dist/components/forms/controls/index.mjs.map +1 -1
  162. package/dist/components/forms/controls/register-components.mjs.map +1 -1
  163. package/dist/components/forms/rules/zod.d.mts +0 -1
  164. package/dist/components/forms/rules/zod.d.mts.map +1 -1
  165. package/dist/components/index.d.mts +2 -10
  166. package/dist/components/layouts/card/Card.mjs.map +1 -1
  167. package/dist/components/layouts/fluid-grid/FluidGrid.mjs.map +1 -1
  168. package/dist/components/layouts/grid/Grid.mjs.map +1 -1
  169. package/dist/components/misc/horizontal-divider/HorizontalDivider.mjs.map +1 -1
  170. package/dist/components/misc/scroll-area/ScrollArea.mjs.map +1 -1
  171. package/dist/components/misc/scroll-area-autosize/ScrollAreaAutosize.mjs.map +1 -1
  172. package/dist/components/misc/visually-hidden/VisuallyHidden.mjs.map +1 -1
  173. package/dist/components/navigations/breadcrumbs/Breadcrumbs.mjs.map +1 -1
  174. package/dist/components/navigations/breadcrumbs/BreadcrumbsBar.mjs.map +1 -1
  175. package/dist/components/navigations/menu/Menu.d.mts +0 -1
  176. package/dist/components/navigations/menu/Menu.d.mts.map +1 -1
  177. package/dist/components/navigations/menu/Menu.mjs.map +1 -1
  178. package/dist/components/navigations/pagination/Pagination.mjs.map +1 -1
  179. package/dist/components/navigations/sidebars/sidebar/Sidebar.mjs.map +1 -1
  180. package/dist/components/navigations/sidebars/sidebar/SidebarContext.mjs.map +1 -1
  181. package/dist/components/navigations/sidebars/sidebar/SidebarNavGroup.mjs.map +1 -1
  182. package/dist/components/navigations/sidebars/sidebar/SidebarNavItem.mjs.map +1 -1
  183. package/dist/components/navigations/sidebars/sidebar/SidebarNavItemButton.mjs.map +1 -1
  184. package/dist/components/navigations/sidebars/sidebar/SidebarNavItemButtonCollapsed.mjs.map +1 -1
  185. package/dist/components/navigations/sidebars/sidebar/SidebarNavItemLink.d.mts +0 -1
  186. package/dist/components/navigations/sidebars/sidebar/SidebarNavItemLink.d.mts.map +1 -1
  187. package/dist/components/navigations/sidebars/sidebar/SidebarNavItemLink.mjs.map +1 -1
  188. package/dist/components/navigations/sidebars/sidebar/SidebarNavList.mjs.map +1 -1
  189. package/dist/components/navigations/sidebars/sidebar/SidebarSubNavItem.d.mts +0 -1
  190. package/dist/components/navigations/sidebars/sidebar/SidebarSubNavItem.d.mts.map +1 -1
  191. package/dist/components/navigations/sidebars/sidebar/SidebarSubNavItem.mjs.map +1 -1
  192. package/dist/components/navigations/sidebars/sidebar/SidebarSubnav.mjs.map +1 -1
  193. package/dist/components/overlays/modal/features/ModalAlert.d.mts +0 -2
  194. package/dist/components/overlays/modal/features/ModalAlert.d.mts.map +1 -1
  195. package/dist/components/overlays/modal/features/ModalAlert.mjs.map +1 -1
  196. package/dist/components/overlays/modal/features/ModalConfirm.d.mts +0 -2
  197. package/dist/components/overlays/modal/features/ModalConfirm.d.mts.map +1 -1
  198. package/dist/components/overlays/modal/features/ModalConfirm.mjs.map +1 -1
  199. package/dist/components/overlays/modal/features/ModalDialog.d.mts +0 -2
  200. package/dist/components/overlays/modal/features/ModalDialog.d.mts.map +1 -1
  201. package/dist/components/overlays/modal/features/ModalDialog.mjs.map +1 -1
  202. package/dist/components/overlays/modal/index.mjs +1 -1
  203. package/dist/components/overlays/modal/index.mjs.map +1 -1
  204. package/dist/components/overlays/modal/modal-core.mjs.map +1 -1
  205. package/dist/components/overlays/modal/modal-primitives.mjs.map +1 -1
  206. package/dist/components/overlays/modal/modal-registry.mjs.map +1 -1
  207. package/dist/components/overlays/toast/toast.mjs.map +1 -1
  208. package/dist/components/overlays/tooltip/Tooltip.mjs.map +1 -1
  209. package/dist/index.d.mts +2 -4
  210. package/dist/providers/MageUiProvider.d.mts +0 -1
  211. package/dist/providers/MageUiProvider.d.mts.map +1 -1
  212. package/dist/providers/MageUiProvider.mjs.map +1 -1
  213. package/package.json +21 -24
@@ -1 +1 @@
1
- {"version":3,"file":"Indicator.mjs","names":[],"sources":["../../../../src/components/data-display/indicator/Indicator.tsx"],"sourcesContent":["import { type ComponentPropsWithRef, forwardRef } from 'react';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport { visuallyHidden } from '@mage-ui/styled-system/patterns';\nimport {\n indicator,\n indicatorLabel,\n indicatorRoot,\n} from '@mage-ui/styled-system/recipes';\n\ntype IndicatorPosition =\n | 'top-start'\n | 'top-center'\n | 'top-end'\n | 'bottom-start'\n | 'bottom-end'\n | 'bottom-center'\n | 'center-start'\n | 'center-end'\n | 'center-center';\n\ntype Offset = {\n top?: string;\n bottom?: string;\n left?: string;\n right?: string;\n};\n\nexport type IndicatorProps = ComponentPropsWithRef<'div'> & {\n label?: string | number;\n ariaLabel?: string;\n disabled?: boolean;\n offset?: number;\n position?: IndicatorPosition;\n classNames?: {\n indicator?: string;\n root?: string;\n label?: string;\n };\n};\n\nconst calculateOffset = (position: string, offset: number) => {\n const offsetLabel = {} as Offset;\n if (position.includes('top') && offset) offsetLabel.top = `${offset}px`;\n if (position.includes('bottom') && offset) offsetLabel.bottom = `${offset}px`;\n if (position.includes('start') && offset) offsetLabel.left = `${offset}px`;\n if (position.includes('end') && offset) offsetLabel.right = `${offset}px`;\n return offsetLabel;\n};\n\nexport const Indicator = forwardRef<HTMLDivElement, IndicatorProps>(\n (\n {\n children,\n label = undefined,\n disabled = false,\n position = 'top-end',\n offset = 0,\n classNames,\n ariaLabel,\n },\n ref,\n ) => {\n return (\n <div\n className={cx(\n classNames?.indicator ?? indicator(),\n classNames?.root ?? indicatorRoot(),\n )}\n ref={ref}\n >\n {!disabled && (\n <>\n {ariaLabel && <span className={visuallyHidden()}>{ariaLabel}</span>}\n <span\n className={cx(indicatorLabel({ position }), classNames?.label)}\n style={calculateOffset(position, offset)}\n >\n {label}\n </span>\n </>\n )}\n {children}\n </div>\n );\n },\n);\n\nIndicator.displayName = 'Indicator';\n"],"mappings":"sTAyCA,MAAM,GAAmB,EAAkB,IAAmB,CAC5D,IAAM,EAAc,EAAE,CAKtB,OAJI,EAAS,SAAS,MAAM,EAAI,IAAQ,EAAY,IAAM,GAAG,EAAO,KAChE,EAAS,SAAS,SAAS,EAAI,IAAQ,EAAY,OAAS,GAAG,EAAO,KACtE,EAAS,SAAS,QAAQ,EAAI,IAAQ,EAAY,KAAO,GAAG,EAAO,KACnE,EAAS,SAAS,MAAM,EAAI,IAAQ,EAAY,MAAQ,GAAG,EAAO,KAC/D,GAGI,EAAY,GAErB,CACE,WACA,QAAQ,IAAA,GACR,WAAW,GACX,WAAW,UACX,SAAS,EACT,aACA,aAEF,IAGE,EAAC,MAAA,CACC,UAAW,EACT,GAAY,WAAa,GAAW,CACpC,GAAY,MAAQ,GAAe,CACpC,CACI,gBAEJ,CAAC,GACA,EAAA,EAAA,CAAA,SAAA,CACG,GAAa,EAAC,OAAA,CAAK,UAAW,GAAgB,UAAG,GAAiB,CACnE,EAAC,OAAA,CACC,UAAW,EAAG,EAAe,CAAE,WAAU,CAAC,CAAE,GAAY,MAAM,CAC9D,MAAO,EAAgB,EAAU,EAAO,UAEvC,GACI,CAAA,CAAA,CACN,CAEJ,EAAA,EACG,CAGX,CAED,EAAU,YAAc"}
1
+ {"version":3,"file":"Indicator.mjs","names":[],"sources":["../../../../src/components/data-display/indicator/Indicator.tsx"],"sourcesContent":["import { type ComponentPropsWithRef, forwardRef } from 'react';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport { visuallyHidden } from '@mage-ui/styled-system/patterns';\nimport {\n indicator,\n indicatorLabel,\n indicatorRoot,\n} from '@mage-ui/styled-system/recipes';\n\ntype IndicatorPosition =\n | 'top-start'\n | 'top-center'\n | 'top-end'\n | 'bottom-start'\n | 'bottom-end'\n | 'bottom-center'\n | 'center-start'\n | 'center-end'\n | 'center-center';\n\ntype Offset = {\n top?: string;\n bottom?: string;\n left?: string;\n right?: string;\n};\n\nexport type IndicatorProps = ComponentPropsWithRef<'div'> & {\n label?: string | number;\n ariaLabel?: string;\n disabled?: boolean;\n offset?: number;\n position?: IndicatorPosition;\n classNames?: {\n indicator?: string;\n root?: string;\n label?: string;\n };\n};\n\nconst calculateOffset = (position: string, offset: number) => {\n const offsetLabel = {} as Offset;\n if (position.includes('top') && offset) offsetLabel.top = `${offset}px`;\n if (position.includes('bottom') && offset) offsetLabel.bottom = `${offset}px`;\n if (position.includes('start') && offset) offsetLabel.left = `${offset}px`;\n if (position.includes('end') && offset) offsetLabel.right = `${offset}px`;\n return offsetLabel;\n};\n\nexport const Indicator = forwardRef<HTMLDivElement, IndicatorProps>(\n (\n {\n children,\n label = undefined,\n disabled = false,\n position = 'top-end',\n offset = 0,\n classNames,\n ariaLabel,\n },\n ref,\n ) => {\n return (\n <div\n className={cx(\n classNames?.indicator ?? indicator(),\n classNames?.root ?? indicatorRoot(),\n )}\n ref={ref}\n >\n {!disabled && (\n <>\n {ariaLabel && <span className={visuallyHidden()}>{ariaLabel}</span>}\n <span\n className={cx(indicatorLabel({ position }), classNames?.label)}\n style={calculateOffset(position, offset)}\n >\n {label}\n </span>\n </>\n )}\n {children}\n </div>\n );\n },\n);\n\nIndicator.displayName = 'Indicator';\n"],"mappings":"sTAyCA,MAAM,GAAmB,EAAkB,IAAmB,CAC5D,IAAM,EAAc,EAAE,CAKtB,OAJI,EAAS,SAAS,MAAM,EAAI,IAAQ,EAAY,IAAM,GAAG,EAAO,KAChE,EAAS,SAAS,SAAS,EAAI,IAAQ,EAAY,OAAS,GAAG,EAAO,KACtE,EAAS,SAAS,QAAQ,EAAI,IAAQ,EAAY,KAAO,GAAG,EAAO,KACnE,EAAS,SAAS,MAAM,EAAI,IAAQ,EAAY,MAAQ,GAAG,EAAO,KAC/D,GAGI,EAAY,GAErB,CACE,WACA,QAAQ,IAAA,GACR,WAAW,GACX,WAAW,UACX,SAAS,EACT,aACA,aAEF,IAGE,EAAC,MAAD,CACE,UAAW,EACT,GAAY,WAAa,GAAW,CACpC,GAAY,MAAQ,GAAe,CACpC,CACI,eALP,CAOG,CAAC,GACA,EAAA,EAAA,CAAA,SAAA,CACG,GAAa,EAAC,OAAD,CAAM,UAAW,GAAgB,UAAG,EAAiB,CAAA,CACnE,EAAC,OAAD,CACE,UAAW,EAAG,EAAe,CAAE,WAAU,CAAC,CAAE,GAAY,MAAM,CAC9D,MAAO,EAAgB,EAAU,EAAO,UAEvC,EACI,CAAA,CACN,CAAA,CAAA,CAEJ,EACG,GAGX,CAED,EAAU,YAAc"}
@@ -1 +1 @@
1
- {"version":3,"file":"LoaderDot.mjs","names":[],"sources":["../../../../src/components/data-display/loader-dot/LoaderDot.tsx"],"sourcesContent":["import { cx } from '@mage-ui/styled-system/css';\nimport { loaderDot, loaderDotRoot } from '@mage-ui/styled-system/recipes';\nimport { Loader } from '@mantine/core';\n\nexport type LoaderDotProps = {\n classNames?: {\n loader?: string;\n root?: string;\n };\n};\n\nexport const LoaderDot = ({ classNames }: LoaderDotProps) => {\n return (\n <Loader\n type='dots'\n classNames={{\n root: cx(\n classNames?.loader ?? loaderDot(),\n classNames?.root ?? loaderDotRoot(),\n ),\n }}\n />\n );\n};\n"],"mappings":"6MAWA,MAAa,GAAa,CAAE,gBAExB,EAAC,EAAA,CACC,KAAK,OACL,WAAY,CACV,KAAM,EACJ,GAAY,QAAU,GAAW,CACjC,GAAY,MAAQ,GAAe,CACpC,CACF,EACD"}
1
+ {"version":3,"file":"LoaderDot.mjs","names":[],"sources":["../../../../src/components/data-display/loader-dot/LoaderDot.tsx"],"sourcesContent":["import { cx } from '@mage-ui/styled-system/css';\nimport { loaderDot, loaderDotRoot } from '@mage-ui/styled-system/recipes';\nimport { Loader } from '@mantine/core';\n\nexport type LoaderDotProps = {\n classNames?: {\n loader?: string;\n root?: string;\n };\n};\n\nexport const LoaderDot = ({ classNames }: LoaderDotProps) => {\n return (\n <Loader\n type='dots'\n classNames={{\n root: cx(\n classNames?.loader ?? loaderDot(),\n classNames?.root ?? loaderDotRoot(),\n ),\n }}\n />\n );\n};\n"],"mappings":"6MAWA,MAAa,GAAa,CAAE,gBAExB,EAAC,EAAD,CACE,KAAK,OACL,WAAY,CACV,KAAM,EACJ,GAAY,QAAU,GAAW,CACjC,GAAY,MAAQ,GAAe,CACpC,CACF,CACD,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"LoaderOval.mjs","names":[],"sources":["../../../../src/components/data-display/loader-oval/LoaderOval.tsx"],"sourcesContent":["import { cx } from '@mage-ui/styled-system/css';\nimport { loaderOval, loaderOvalRoot } from '@mage-ui/styled-system/recipes';\nimport { Loader } from '@mantine/core';\n\nexport type LoaderOvalProps = {\n classNames?: {\n loader?: string;\n root?: string;\n };\n};\n\nexport const LoaderOval = ({ classNames }: LoaderOvalProps) => {\n return (\n <Loader\n type='oval'\n classNames={{\n root: cx(\n classNames?.loader ?? loaderOval(),\n classNames?.root ?? loaderOvalRoot(),\n ),\n }}\n />\n );\n};\n"],"mappings":"+MAWA,MAAa,GAAc,CAAE,gBAEzB,EAAC,EAAA,CACC,KAAK,OACL,WAAY,CACV,KAAM,EACJ,GAAY,QAAU,GAAY,CAClC,GAAY,MAAQ,GAAgB,CACrC,CACF,EACD"}
1
+ {"version":3,"file":"LoaderOval.mjs","names":[],"sources":["../../../../src/components/data-display/loader-oval/LoaderOval.tsx"],"sourcesContent":["import { cx } from '@mage-ui/styled-system/css';\nimport { loaderOval, loaderOvalRoot } from '@mage-ui/styled-system/recipes';\nimport { Loader } from '@mantine/core';\n\nexport type LoaderOvalProps = {\n classNames?: {\n loader?: string;\n root?: string;\n };\n};\n\nexport const LoaderOval = ({ classNames }: LoaderOvalProps) => {\n return (\n <Loader\n type='oval'\n classNames={{\n root: cx(\n classNames?.loader ?? loaderOval(),\n classNames?.root ?? loaderOvalRoot(),\n ),\n }}\n />\n );\n};\n"],"mappings":"+MAWA,MAAa,GAAc,CAAE,gBAEzB,EAAC,EAAD,CACE,KAAK,OACL,WAAY,CACV,KAAM,EACJ,GAAY,QAAU,GAAY,CAClC,GAAY,MAAQ,GAAgB,CACrC,CACF,CACD,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"LogoImage.mjs","names":[],"sources":["../../../../../src/components/data-display/logos/logo-image/LogoImage.tsx"],"sourcesContent":["import type { ComponentPropsWithRef, ReactNode } from 'react';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport {\n logoImage,\n logoImageImage,\n logoImageRoot,\n} from '@mage-ui/styled-system/recipes';\n\nexport type LogoImageProps = {\n href?: string;\n src: string;\n srcDark?: string;\n alt: string;\n ariaLabel?: string;\n theme?: 'light' | 'dark';\n width: number;\n height: number;\n classNames?: {\n logo?: string;\n root?: string;\n image?: string;\n };\n} & ComponentPropsWithRef<'a'>;\n\nexport const LogoImage = ({\n href = '/',\n src,\n srcDark,\n alt,\n ariaLabel,\n theme = 'light',\n width,\n height,\n classNames,\n ...props\n}: LogoImageProps): ReactNode => {\n const resolvedSrc = theme === 'dark' && srcDark ? srcDark : src; // que vingui de fora\n\n // TODO: possibilitat usar link next\n // TODO: next image\n // TODO: no té perquè tenir link\n return (\n <a\n href={href}\n aria-label={ariaLabel}\n className={cx(\n classNames?.logo ?? logoImage(),\n classNames?.root ?? logoImageRoot(),\n )}\n {...props}\n >\n <img\n src={resolvedSrc}\n alt={alt}\n width={width}\n height={height}\n loading='eager'\n className={classNames?.image ?? logoImageImage()}\n />\n </a>\n );\n};\n"],"mappings":"0LAyBA,MAAa,GAAa,CACxB,OAAO,IACP,MACA,UACA,MACA,YACA,QAAQ,QACR,QACA,SACA,aACA,GAAG,KAC4B,CAC/B,IAAM,EAAc,IAAU,QAAU,EAAU,EAAU,EAK5D,OACE,EAAC,IAAA,CACO,OACN,aAAY,EACZ,UAAW,EACT,GAAY,MAAQ,GAAW,CAC/B,GAAY,MAAQ,GAAe,CACpC,CACD,GAAI,WAEJ,EAAC,MAAA,CACC,IAAK,EACA,MACE,QACC,SACR,QAAQ,QACR,UAAW,GAAY,OAAS,GAAgB,EAChD,EACA"}
1
+ {"version":3,"file":"LogoImage.mjs","names":[],"sources":["../../../../../src/components/data-display/logos/logo-image/LogoImage.tsx"],"sourcesContent":["import type { ComponentPropsWithRef, ReactNode } from 'react';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport {\n logoImage,\n logoImageImage,\n logoImageRoot,\n} from '@mage-ui/styled-system/recipes';\n\nexport type LogoImageProps = {\n href?: string;\n src: string;\n srcDark?: string;\n alt: string;\n ariaLabel?: string;\n theme?: 'light' | 'dark';\n width: number;\n height: number;\n classNames?: {\n logo?: string;\n root?: string;\n image?: string;\n };\n} & ComponentPropsWithRef<'a'>;\n\nexport const LogoImage = ({\n href = '/',\n src,\n srcDark,\n alt,\n ariaLabel,\n theme = 'light',\n width,\n height,\n classNames,\n ...props\n}: LogoImageProps): ReactNode => {\n const resolvedSrc = theme === 'dark' && srcDark ? srcDark : src; // que vingui de fora\n\n // TODO: possibilitat usar link next\n // TODO: next image\n // TODO: no té perquè tenir link\n return (\n <a\n href={href}\n aria-label={ariaLabel}\n className={cx(\n classNames?.logo ?? logoImage(),\n classNames?.root ?? logoImageRoot(),\n )}\n {...props}\n >\n <img\n src={resolvedSrc}\n alt={alt}\n width={width}\n height={height}\n loading='eager'\n className={classNames?.image ?? logoImageImage()}\n />\n </a>\n );\n};\n"],"mappings":"0LAyBA,MAAa,GAAa,CACxB,OAAO,IACP,MACA,UACA,MACA,YACA,QAAQ,QACR,QACA,SACA,aACA,GAAG,KAC4B,CAC/B,IAAM,EAAc,IAAU,QAAU,EAAU,EAAU,EAK5D,OACE,EAAC,IAAD,CACQ,OACN,aAAY,EACZ,UAAW,EACT,GAAY,MAAQ,GAAW,CAC/B,GAAY,MAAQ,GAAe,CACpC,CACD,GAAI,WAEJ,EAAC,MAAD,CACE,IAAK,EACA,MACE,QACC,SACR,QAAQ,QACR,UAAW,GAAY,OAAS,GAAgB,CAChD,CAAA,CACA,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"LogoSvg.mjs","names":[],"sources":["../../../../../src/components/data-display/logos/logo-svg/LogoSvg.tsx"],"sourcesContent":["import type { ComponentPropsWithRef, ReactNode } from 'react';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport {\n logoSvg,\n logoSvgRoot,\n logoSvgSvg,\n} from '@mage-ui/styled-system/recipes';\n\nexport type LogoSvgProps = {\n width?: number | string;\n height?: number | string;\n viewBox?: string;\n children: ReactNode;\n classNames?: {\n logo?: string;\n root?: string;\n svg?: string;\n };\n} & ComponentPropsWithRef<'a'>;\n\nexport const LogoSvg = ({\n width,\n height,\n viewBox,\n children,\n classNames,\n ...props\n}: LogoSvgProps): ReactNode => {\n return (\n <span\n className={cx(\n classNames?.logo ?? logoSvg(),\n classNames?.root ?? logoSvgRoot(),\n )}\n {...props}\n >\n <svg\n width={width}\n height={height}\n viewBox={viewBox}\n className={classNames?.svg ?? logoSvgSvg()}\n fill='none'\n aria-hidden='true'\n focusable='false'\n xmlns='http://www.w3.org/2000/svg'\n >\n {children}\n </svg>\n </span>\n );\n};\n"],"mappings":"kLAqBA,MAAa,GAAW,CACtB,QACA,SACA,UACA,WACA,aACA,GAAG,KAGD,EAAC,OAAA,CACC,UAAW,EACT,GAAY,MAAQ,GAAS,CAC7B,GAAY,MAAQ,GAAa,CAClC,CACD,GAAI,WAEJ,EAAC,MAAA,CACQ,QACC,SACC,UACT,UAAW,GAAY,KAAO,GAAY,CAC1C,KAAK,OACL,cAAY,OACZ,UAAU,QACV,MAAM,6BAEL,YACG,EACD"}
1
+ {"version":3,"file":"LogoSvg.mjs","names":[],"sources":["../../../../../src/components/data-display/logos/logo-svg/LogoSvg.tsx"],"sourcesContent":["import type { ComponentPropsWithRef, ReactNode } from 'react';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport {\n logoSvg,\n logoSvgRoot,\n logoSvgSvg,\n} from '@mage-ui/styled-system/recipes';\n\nexport type LogoSvgProps = {\n width?: number | string;\n height?: number | string;\n viewBox?: string;\n children: ReactNode;\n classNames?: {\n logo?: string;\n root?: string;\n svg?: string;\n };\n} & ComponentPropsWithRef<'a'>;\n\nexport const LogoSvg = ({\n width,\n height,\n viewBox,\n children,\n classNames,\n ...props\n}: LogoSvgProps): ReactNode => {\n return (\n <span\n className={cx(\n classNames?.logo ?? logoSvg(),\n classNames?.root ?? logoSvgRoot(),\n )}\n {...props}\n >\n <svg\n width={width}\n height={height}\n viewBox={viewBox}\n className={classNames?.svg ?? logoSvgSvg()}\n fill='none'\n aria-hidden='true'\n focusable='false'\n xmlns='http://www.w3.org/2000/svg'\n >\n {children}\n </svg>\n </span>\n );\n};\n"],"mappings":"kLAqBA,MAAa,GAAW,CACtB,QACA,SACA,UACA,WACA,aACA,GAAG,KAGD,EAAC,OAAD,CACE,UAAW,EACT,GAAY,MAAQ,GAAS,CAC7B,GAAY,MAAQ,GAAa,CAClC,CACD,GAAI,WAEJ,EAAC,MAAD,CACS,QACC,SACC,UACT,UAAW,GAAY,KAAO,GAAY,CAC1C,KAAK,OACL,cAAY,OACZ,UAAU,QACV,MAAM,6BAEL,WACG,CAAA,CACD,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"NotificationBanner.mjs","names":[],"sources":["../../../../src/components/data-display/notification-banner/NotificationBanner.tsx"],"sourcesContent":["import type { ComponentPropsWithoutRef, ReactNode } from 'react';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport {\n notificationBanner,\n notificationBannerContent,\n notificationBannerIcon,\n notificationBannerIconIconRaw,\n notificationBannerIconIconRawRoot,\n notificationBannerIconRoot,\n notificationBannerIconWrapped,\n notificationBannerIconWrappedRoot,\n notificationBannerRoot,\n notificationBannerSection,\n notificationBannerWrapper,\n} from '@mage-ui/styled-system/recipes';\n\nimport { Icon, type IconProps } from '../icons/icon/Icon';\nimport {\n IconWrapped,\n type IconWrappedProps,\n} from '../icons/icon-wrapped/IconWrapped';\n\nexport type NotificationBannerIntent =\n | 'info'\n | 'success'\n | 'warning'\n | 'danger';\n\nconst INTENT_ICON_NAME_MAP: Record<NotificationBannerIntent, string> = {\n info: 'mage-notification-banner-info-circle',\n success: 'mage-notification-banner-check-circle',\n warning: 'mage-notification-banner-alert-triangle',\n // danger: 'mage-notification-banner-x-circle',\n danger: 'mage-notification-banner-alert-triangle',\n};\n\nexport type NotificationBannerProps = Omit<\n ComponentPropsWithoutRef<'div'>,\n 'className'\n> & {\n intent?: NotificationBannerIntent;\n startSlot?: ReactNode;\n children: ReactNode;\n classNames?: {\n notificationBanner?: string;\n root?: string;\n wrapper?: string;\n section?: string;\n content?: string;\n iconWrapped?: IconWrappedProps['classNames'];\n icon?: IconProps['classNames'];\n };\n};\n\nexport const NotificationBanner = ({\n intent = 'info',\n startSlot,\n children,\n classNames,\n ...props\n}: NotificationBannerProps): ReactNode => {\n const iconName = INTENT_ICON_NAME_MAP[intent];\n\n return (\n <div\n {...props}\n data-intent={intent}\n className={cx(\n classNames?.notificationBanner ?? notificationBanner(),\n classNames?.root ?? notificationBannerRoot(),\n )}\n >\n <div className={classNames?.wrapper ?? notificationBannerWrapper()}>\n <div className={classNames?.section ?? notificationBannerSection()}>\n {startSlot ? (\n startSlot\n ) : (\n <IconWrapped\n classNames={{\n iconWrapped:\n classNames?.iconWrapped?.iconWrapped ??\n notificationBannerIconWrapped(),\n root:\n classNames?.iconWrapped?.root ??\n notificationBannerIconWrappedRoot(),\n }}\n >\n <Icon\n name={iconName}\n path='/icons/sprite-mage.svg'\n classNames={{\n icon: classNames?.icon?.icon ?? notificationBannerIcon(),\n root: classNames?.icon?.root ?? notificationBannerIconRoot(),\n iconRaw: {\n iconRaw:\n classNames?.icon?.iconRaw?.iconRaw ??\n notificationBannerIconIconRaw(),\n root:\n classNames?.icon?.iconRaw?.root ??\n notificationBannerIconIconRawRoot(),\n },\n }}\n />\n </IconWrapped>\n )}\n </div>\n <div className={classNames?.content ?? notificationBannerContent()}>\n {children}\n </div>\n </div>\n </div>\n );\n};\n"],"mappings":"imBA6BA,MAAM,EAAiE,CACrE,KAAM,uCACN,QAAS,wCACT,QAAS,0CAET,OAAQ,0CACT,CAoBY,GAAsB,CACjC,SAAS,OACT,YACA,WACA,aACA,GAAG,KACqC,CACxC,IAAM,EAAW,EAAqB,GAEtC,OACE,EAAC,MAAA,CACC,GAAI,EACJ,cAAa,EACb,UAAW,EACT,GAAY,oBAAsB,GAAoB,CACtD,GAAY,MAAQ,GAAwB,CAC7C,UAED,EAAC,MAAA,CAAI,UAAW,GAAY,SAAW,GAA2B,WAChE,EAAC,MAAA,CAAI,UAAW,GAAY,SAAW,GAA2B,UAC/D,GAGC,EAAC,EAAA,CACC,WAAY,CACV,YACE,GAAY,aAAa,aACzB,GAA+B,CACjC,KACE,GAAY,aAAa,MACzB,GAAmC,CACtC,UAED,EAAC,EAAA,CACC,KAAM,EACN,KAAK,yBACL,WAAY,CACV,KAAM,GAAY,MAAM,MAAQ,GAAwB,CACxD,KAAM,GAAY,MAAM,MAAQ,GAA4B,CAC5D,QAAS,CACP,QACE,GAAY,MAAM,SAAS,SAC3B,GAA+B,CACjC,KACE,GAAY,MAAM,SAAS,MAC3B,GAAmC,CACtC,CACF,EACD,EACU,EAEZ,CACN,EAAC,MAAA,CAAI,UAAW,GAAY,SAAW,GAA2B,CAC/D,YACG,CAAA,EACF,EACF"}
1
+ {"version":3,"file":"NotificationBanner.mjs","names":[],"sources":["../../../../src/components/data-display/notification-banner/NotificationBanner.tsx"],"sourcesContent":["import type { ComponentPropsWithoutRef, ReactNode } from 'react';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport {\n notificationBanner,\n notificationBannerContent,\n notificationBannerIcon,\n notificationBannerIconIconRaw,\n notificationBannerIconIconRawRoot,\n notificationBannerIconRoot,\n notificationBannerIconWrapped,\n notificationBannerIconWrappedRoot,\n notificationBannerRoot,\n notificationBannerSection,\n notificationBannerWrapper,\n} from '@mage-ui/styled-system/recipes';\n\nimport { Icon, type IconProps } from '../icons/icon/Icon';\nimport {\n IconWrapped,\n type IconWrappedProps,\n} from '../icons/icon-wrapped/IconWrapped';\n\nexport type NotificationBannerIntent =\n | 'info'\n | 'success'\n | 'warning'\n | 'danger';\n\nconst INTENT_ICON_NAME_MAP: Record<NotificationBannerIntent, string> = {\n info: 'mage-notification-banner-info-circle',\n success: 'mage-notification-banner-check-circle',\n warning: 'mage-notification-banner-alert-triangle',\n // danger: 'mage-notification-banner-x-circle',\n danger: 'mage-notification-banner-alert-triangle',\n};\n\nexport type NotificationBannerProps = Omit<\n ComponentPropsWithoutRef<'div'>,\n 'className'\n> & {\n intent?: NotificationBannerIntent;\n startSlot?: ReactNode;\n children: ReactNode;\n classNames?: {\n notificationBanner?: string;\n root?: string;\n wrapper?: string;\n section?: string;\n content?: string;\n iconWrapped?: IconWrappedProps['classNames'];\n icon?: IconProps['classNames'];\n };\n};\n\nexport const NotificationBanner = ({\n intent = 'info',\n startSlot,\n children,\n classNames,\n ...props\n}: NotificationBannerProps): ReactNode => {\n const iconName = INTENT_ICON_NAME_MAP[intent];\n\n return (\n <div\n {...props}\n data-intent={intent}\n className={cx(\n classNames?.notificationBanner ?? notificationBanner(),\n classNames?.root ?? notificationBannerRoot(),\n )}\n >\n <div className={classNames?.wrapper ?? notificationBannerWrapper()}>\n <div className={classNames?.section ?? notificationBannerSection()}>\n {startSlot ? (\n startSlot\n ) : (\n <IconWrapped\n classNames={{\n iconWrapped:\n classNames?.iconWrapped?.iconWrapped ??\n notificationBannerIconWrapped(),\n root:\n classNames?.iconWrapped?.root ??\n notificationBannerIconWrappedRoot(),\n }}\n >\n <Icon\n name={iconName}\n path='/icons/sprite-mage.svg'\n classNames={{\n icon: classNames?.icon?.icon ?? notificationBannerIcon(),\n root: classNames?.icon?.root ?? notificationBannerIconRoot(),\n iconRaw: {\n iconRaw:\n classNames?.icon?.iconRaw?.iconRaw ??\n notificationBannerIconIconRaw(),\n root:\n classNames?.icon?.iconRaw?.root ??\n notificationBannerIconIconRawRoot(),\n },\n }}\n />\n </IconWrapped>\n )}\n </div>\n <div className={classNames?.content ?? notificationBannerContent()}>\n {children}\n </div>\n </div>\n </div>\n );\n};\n"],"mappings":"imBA6BA,MAAM,EAAiE,CACrE,KAAM,uCACN,QAAS,wCACT,QAAS,0CAET,OAAQ,0CACT,CAoBY,GAAsB,CACjC,SAAS,OACT,YACA,WACA,aACA,GAAG,KACqC,CACxC,IAAM,EAAW,EAAqB,GAEtC,OACE,EAAC,MAAD,CACE,GAAI,EACJ,cAAa,EACb,UAAW,EACT,GAAY,oBAAsB,GAAoB,CACtD,GAAY,MAAQ,GAAwB,CAC7C,UAED,EAAC,MAAD,CAAK,UAAW,GAAY,SAAW,GAA2B,UAAlE,CACE,EAAC,MAAD,CAAK,UAAW,GAAY,SAAW,GAA2B,UAC/D,GAGC,EAAC,EAAD,CACE,WAAY,CACV,YACE,GAAY,aAAa,aACzB,GAA+B,CACjC,KACE,GAAY,aAAa,MACzB,GAAmC,CACtC,UAED,EAAC,EAAD,CACE,KAAM,EACN,KAAK,yBACL,WAAY,CACV,KAAM,GAAY,MAAM,MAAQ,GAAwB,CACxD,KAAM,GAAY,MAAM,MAAQ,GAA4B,CAC5D,QAAS,CACP,QACE,GAAY,MAAM,SAAS,SAC3B,GAA+B,CACjC,KACE,GAAY,MAAM,SAAS,MAC3B,GAAmC,CACtC,CACF,CACD,CAAA,CACU,CAAA,CAEZ,CAAA,CACN,EAAC,MAAD,CAAK,UAAW,GAAY,SAAW,GAA2B,CAC/D,WACG,CAAA,CACF,GACF,CAAA"}
@@ -1,5 +1,4 @@
1
1
  import { ButtonIconProps } from "../../buttons/button-icon/ButtonIcon.mjs";
2
- import "../../buttons/index.mjs";
3
2
  import * as react_jsx_runtime0 from "react/jsx-runtime";
4
3
  import { ReactNode } from "react";
5
4
 
@@ -1 +1 @@
1
- {"version":3,"file":"RemovableItem.d.mts","names":[],"sources":["../../../../src/components/data-display/removable-item/RemovableItem.tsx"],"mappings":";;;;;;KAgBY,kBAAA;EACV,SAAA,GAAY,SAAA;EACZ,QAAA,EAAU,SAAA;EACV,QAAA;EACA,iBAAA;EACA,UAAA;IACE,SAAA;IACA,IAAA;IACA,OAAA;IACA,OAAA;IACA,UAAA,GAAa,eAAA;EAAA;AAAA;AAAA,cAIJ,aAAA;EAAiB,SAAA;EAAA,QAAA;EAAA,QAAA;EAAA,iBAAA;EAAA;AAAA,GAM3B,kBAAA,KAAkB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
1
+ {"version":3,"file":"RemovableItem.d.mts","names":[],"sources":["../../../../src/components/data-display/removable-item/RemovableItem.tsx"],"mappings":";;;;;KAgBY,kBAAA;EACV,SAAA,GAAY,SAAA;EACZ,QAAA,EAAU,SAAA;EACV,QAAA;EACA,iBAAA;EACA,UAAA;IACE,SAAA;IACA,IAAA;IACA,OAAA;IACA,OAAA;IACA,UAAA,GAAa,eAAA;EAAA;AAAA;AAAA,cAIJ,aAAA;EAAiB,SAAA;EAAA,QAAA;EAAA,QAAA;EAAA,iBAAA;EAAA;AAAA,GAM3B,kBAAA,KAAkB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"RemovableItem.mjs","names":[],"sources":["../../../../src/components/data-display/removable-item/RemovableItem.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport {\n removableItem,\n removableItemButtonIcon,\n removableItemButtonIconIcon,\n removableItemButtonIconIconRaw,\n removableItemButtonIconIconRawRoot,\n removableItemButtonIconRoot,\n removableItemContent,\n removableItemRoot,\n removableItemSection,\n} from '@mage-ui/styled-system/recipes';\nimport { ButtonIcon, type ButtonIconProps } from '@/components/buttons';\n\nexport type RemovableItemProps = {\n startSlot?: ReactNode;\n children: ReactNode;\n onRemove: () => void;\n removeButtonLabel?: string;\n classNames?: {\n container?: string;\n root?: string;\n section?: string;\n content?: string;\n buttonIcon?: ButtonIconProps['classNames'];\n };\n};\n\nexport const RemovableItem = ({\n startSlot,\n children,\n onRemove,\n removeButtonLabel = 'Remove',\n classNames,\n}: RemovableItemProps) => {\n return (\n <div\n className={cx(\n classNames?.container ?? removableItem(),\n classNames?.root ?? removableItemRoot(),\n )}\n >\n {startSlot && (\n <div className={classNames?.section ?? removableItemSection()}>\n {startSlot}\n </div>\n )}\n\n <div className={classNames?.content ?? removableItemContent()}>\n {children}\n </div>\n\n <ButtonIcon\n label={removeButtonLabel}\n onClick={onRemove}\n path='/icons/sprite-mage.svg'\n name='mage-removable-item-button-x'\n classNames={{\n buttonIcon:\n classNames?.buttonIcon?.buttonIcon ?? removableItemButtonIcon(),\n root: classNames?.buttonIcon?.root ?? removableItemButtonIconRoot(),\n icon: classNames?.buttonIcon?.icon ?? removableItemButtonIconIcon(),\n iconRaw: {\n iconRaw:\n classNames?.buttonIcon?.iconRaw?.iconRaw ??\n removableItemButtonIconIconRaw(),\n root:\n classNames?.buttonIcon?.iconRaw?.root ??\n removableItemButtonIconIconRawRoot(),\n },\n }}\n />\n </div>\n );\n};\n"],"mappings":"6dA8BA,MAAa,GAAiB,CAC5B,YACA,WACA,WACA,oBAAoB,SACpB,gBAGE,EAAC,MAAA,CACC,UAAW,EACT,GAAY,WAAa,GAAe,CACxC,GAAY,MAAQ,GAAmB,CACxC,WAEA,GACC,EAAC,MAAA,CAAI,UAAW,GAAY,SAAW,GAAsB,UAC1D,GACG,CAGR,EAAC,MAAA,CAAI,UAAW,GAAY,SAAW,GAAsB,CAC1D,YACG,CAEN,EAAC,EAAA,CACC,MAAO,EACP,QAAS,EACT,KAAK,yBACL,KAAK,+BACL,WAAY,CACV,WACE,GAAY,YAAY,YAAc,GAAyB,CACjE,KAAM,GAAY,YAAY,MAAQ,GAA6B,CACnE,KAAM,GAAY,YAAY,MAAQ,GAA6B,CACnE,QAAS,CACP,QACE,GAAY,YAAY,SAAS,SACjC,GAAgC,CAClC,KACE,GAAY,YAAY,SAAS,MACjC,GAAoC,CACvC,CACF,EACD,GACE"}
1
+ {"version":3,"file":"RemovableItem.mjs","names":[],"sources":["../../../../src/components/data-display/removable-item/RemovableItem.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport {\n removableItem,\n removableItemButtonIcon,\n removableItemButtonIconIcon,\n removableItemButtonIconIconRaw,\n removableItemButtonIconIconRawRoot,\n removableItemButtonIconRoot,\n removableItemContent,\n removableItemRoot,\n removableItemSection,\n} from '@mage-ui/styled-system/recipes';\nimport { ButtonIcon, type ButtonIconProps } from '@/components/buttons';\n\nexport type RemovableItemProps = {\n startSlot?: ReactNode;\n children: ReactNode;\n onRemove: () => void;\n removeButtonLabel?: string;\n classNames?: {\n container?: string;\n root?: string;\n section?: string;\n content?: string;\n buttonIcon?: ButtonIconProps['classNames'];\n };\n};\n\nexport const RemovableItem = ({\n startSlot,\n children,\n onRemove,\n removeButtonLabel = 'Remove',\n classNames,\n}: RemovableItemProps) => {\n return (\n <div\n className={cx(\n classNames?.container ?? removableItem(),\n classNames?.root ?? removableItemRoot(),\n )}\n >\n {startSlot && (\n <div className={classNames?.section ?? removableItemSection()}>\n {startSlot}\n </div>\n )}\n\n <div className={classNames?.content ?? removableItemContent()}>\n {children}\n </div>\n\n <ButtonIcon\n label={removeButtonLabel}\n onClick={onRemove}\n path='/icons/sprite-mage.svg'\n name='mage-removable-item-button-x'\n classNames={{\n buttonIcon:\n classNames?.buttonIcon?.buttonIcon ?? removableItemButtonIcon(),\n root: classNames?.buttonIcon?.root ?? removableItemButtonIconRoot(),\n icon: classNames?.buttonIcon?.icon ?? removableItemButtonIconIcon(),\n iconRaw: {\n iconRaw:\n classNames?.buttonIcon?.iconRaw?.iconRaw ??\n removableItemButtonIconIconRaw(),\n root:\n classNames?.buttonIcon?.iconRaw?.root ??\n removableItemButtonIconIconRawRoot(),\n },\n }}\n />\n </div>\n );\n};\n"],"mappings":"6dA8BA,MAAa,GAAiB,CAC5B,YACA,WACA,WACA,oBAAoB,SACpB,gBAGE,EAAC,MAAD,CACE,UAAW,EACT,GAAY,WAAa,GAAe,CACxC,GAAY,MAAQ,GAAmB,CACxC,UAJH,CAMG,GACC,EAAC,MAAD,CAAK,UAAW,GAAY,SAAW,GAAsB,UAC1D,EACG,CAAA,CAGR,EAAC,MAAD,CAAK,UAAW,GAAY,SAAW,GAAsB,CAC1D,WACG,CAAA,CAEN,EAAC,EAAD,CACE,MAAO,EACP,QAAS,EACT,KAAK,yBACL,KAAK,+BACL,WAAY,CACV,WACE,GAAY,YAAY,YAAc,GAAyB,CACjE,KAAM,GAAY,YAAY,MAAQ,GAA6B,CACnE,KAAM,GAAY,YAAY,MAAQ,GAA6B,CACnE,QAAS,CACP,QACE,GAAY,YAAY,SAAS,SACjC,GAAgC,CAClC,KACE,GAAY,YAAY,SAAS,MACjC,GAAoC,CACvC,CACF,CACD,CAAA,CACE"}
@@ -13,6 +13,8 @@ declare const Table: (({
13
13
  children,
14
14
  classNames,
15
15
  scrollable,
16
+ layout,
17
+ style,
16
18
  ...tableProps
17
19
  }: TableProps) => react.ReactNode) & {
18
20
  Head: ({
@@ -1 +1 @@
1
- {"version":3,"file":"Table.d.mts","names":[],"sources":["../../../../src/components/data-display/table/Table.tsx"],"mappings":";;;;;;;;;;;cAkBa,KAAA;EAAK,QAAA;EAAA,UAAA;EAAA,UAAA;EAAA,GAAA;AAAA,GAAA,UAAA,KAAA,KAAA,CAAA,SAAA"}
1
+ {"version":3,"file":"Table.d.mts","names":[],"sources":["../../../../src/components/data-display/table/Table.tsx"],"mappings":";;;;;;;;;;;cAkBa,KAAA;EAAK,QAAA;EAAA,UAAA;EAAA,UAAA;EAAA,MAAA;EAAA,KAAA;EAAA,GAAA;AAAA,GAAA,UAAA,KAAA,KAAA,CAAA,SAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"TableBody.mjs","names":["MantineTable"],"sources":["../../../../src/components/data-display/table/TableBody.tsx"],"sourcesContent":["import {\n Children,\n type ComponentPropsWithoutRef,\n cloneElement,\n isValidElement,\n type ReactNode,\n} from 'react';\n\nimport { Table as MantineTable } from '@mantine/core';\n\nimport { Virtual, type VirtualItem } from '../../misc/virtual/Virtual';\nimport { useScrollableContext } from './TableContext';\nimport type { TableClassNames } from './TableRoot';\n\nconst SpacerRow = ({ height }: { height: number }): ReactNode => {\n if (height <= 0) return null;\n return (\n <tr aria-hidden>\n <td style={{ height }} />\n </tr>\n );\n};\n\nconst VirtualRow = ({ item }: { item: VirtualItem<ReactNode> }): ReactNode => {\n const child = item.row;\n if (!isValidElement(child)) return child;\n\n const existingRef = (child.props as Record<string, unknown>).ref as\n | React.Ref<Element>\n | undefined;\n\n return cloneElement(\n child as React.ReactElement<{ ref?: React.Ref<Element> }>,\n {\n ref: (node: Element | null) => {\n item.measureRef(node);\n if (typeof existingRef === 'function') {\n existingRef(node);\n } else if (existingRef) {\n existingRef.current = node;\n }\n },\n },\n );\n};\n\nexport type TableBodyProps = Omit<\n ComponentPropsWithoutRef<'tbody'>,\n 'children' | 'className'\n> & {\n children: ReactNode;\n classNames?: Pick<TableClassNames, 'tbody'>;\n};\n\nexport const TableBody = ({\n classNames,\n children,\n ...props\n}: TableBodyProps): ReactNode => {\n const scrollable = useScrollableContext();\n\n if (scrollable?.virtualized) {\n const childArray = Children.toArray(children);\n\n return (\n <MantineTable.Tbody className={classNames?.tbody} {...props}>\n <Virtual\n rows={childArray}\n estimateSize={scrollable.estimateSize}\n scrollRef={scrollable.viewportRef}\n overscan={scrollable.overscan}\n >\n {(items, padding) => (\n <>\n <SpacerRow height={padding.top} />\n {items.map((item) => (\n <VirtualRow key={item.key} item={item} />\n ))}\n <SpacerRow height={padding.bottom} />\n </>\n )}\n </Virtual>\n </MantineTable.Tbody>\n );\n }\n\n return (\n <MantineTable.Tbody className={classNames?.tbody} {...props}>\n {children}\n </MantineTable.Tbody>\n );\n};\n"],"mappings":"gSAcA,MAAM,GAAa,CAAE,YACf,GAAU,EAAU,KAEtB,EAAC,KAAA,CAAG,cAAA,YACF,EAAC,KAAA,CAAG,MAAO,CAAE,SAAQ,CAAA,CAAI,EACtB,CAIH,GAAc,CAAE,UAAwD,CAC5E,IAAM,EAAQ,EAAK,IACnB,GAAI,CAAC,EAAe,EAAM,CAAE,OAAO,EAEnC,IAAM,EAAe,EAAM,MAAkC,IAI7D,OAAO,EACL,EACA,CACE,IAAM,GAAyB,CAC7B,EAAK,WAAW,EAAK,CACjB,OAAO,GAAgB,WACzB,EAAY,EAAK,CACR,IACT,EAAY,QAAU,IAG3B,CACF,EAWU,GAAa,CACxB,aACA,WACA,GAAG,KAC4B,CAC/B,IAAM,EAAa,GAAsB,CAEzC,GAAI,GAAY,YAAa,CAC3B,IAAM,EAAa,EAAS,QAAQ,EAAS,CAE7C,OACE,EAACA,EAAa,MAAA,CAAM,UAAW,GAAY,MAAO,GAAI,WACpD,EAAC,EAAA,CACC,KAAM,EACN,aAAc,EAAW,aACzB,UAAW,EAAW,YACtB,SAAU,EAAW,mBAEnB,EAAO,IACP,EAAA,EAAA,CAAA,SAAA,CACE,EAAC,EAAA,CAAU,OAAQ,EAAQ,IAAA,CAAO,CACjC,EAAM,IAAK,GACV,EAAC,EAAA,CAAgC,OAAA,CAAhB,EAAK,IAAmB,CACzC,CACF,EAAC,EAAA,CAAU,OAAQ,EAAQ,OAAA,CAAU,GACpC,EAEG,EACS,CAIzB,OACE,EAACA,EAAa,MAAA,CAAM,UAAW,GAAY,MAAO,GAAI,EACnD,YACkB"}
1
+ {"version":3,"file":"TableBody.mjs","names":["MantineTable"],"sources":["../../../../src/components/data-display/table/TableBody.tsx"],"sourcesContent":["import {\n Children,\n type ComponentPropsWithoutRef,\n cloneElement,\n isValidElement,\n type ReactNode,\n} from 'react';\n\nimport { Table as MantineTable } from '@mantine/core';\n\nimport { Virtual, type VirtualItem } from '../../misc/virtual/Virtual';\nimport { useScrollableContext } from './TableContext';\nimport type { TableClassNames } from './TableRoot';\n\nconst SpacerRow = ({ height }: { height: number }): ReactNode => {\n if (height <= 0) return null;\n return (\n <tr aria-hidden>\n <td style={{ height }} />\n </tr>\n );\n};\n\nconst VirtualRow = ({ item }: { item: VirtualItem<ReactNode> }): ReactNode => {\n const child = item.row;\n if (!isValidElement(child)) return child;\n\n const existingRef = (child.props as Record<string, unknown>).ref as\n | React.Ref<Element>\n | undefined;\n\n return cloneElement(\n child as React.ReactElement<{ ref?: React.Ref<Element> }>,\n {\n ref: (node: Element | null) => {\n item.measureRef(node);\n if (typeof existingRef === 'function') {\n existingRef(node);\n } else if (existingRef) {\n existingRef.current = node;\n }\n },\n },\n );\n};\n\nexport type TableBodyProps = Omit<\n ComponentPropsWithoutRef<'tbody'>,\n 'children' | 'className'\n> & {\n children: ReactNode;\n classNames?: Pick<TableClassNames, 'tbody'>;\n};\n\nexport const TableBody = ({\n classNames,\n children,\n ...props\n}: TableBodyProps): ReactNode => {\n const scrollable = useScrollableContext();\n\n if (scrollable?.virtualized) {\n const childArray = Children.toArray(children);\n\n return (\n <MantineTable.Tbody className={classNames?.tbody} {...props}>\n <Virtual\n rows={childArray}\n estimateSize={scrollable.estimateSize}\n scrollRef={scrollable.viewportRef}\n overscan={scrollable.overscan}\n >\n {(items, padding) => (\n <>\n <SpacerRow height={padding.top} />\n {items.map((item) => (\n <VirtualRow key={item.key} item={item} />\n ))}\n <SpacerRow height={padding.bottom} />\n </>\n )}\n </Virtual>\n </MantineTable.Tbody>\n );\n }\n\n return (\n <MantineTable.Tbody className={classNames?.tbody} {...props}>\n {children}\n </MantineTable.Tbody>\n );\n};\n"],"mappings":"gSAcA,MAAM,GAAa,CAAE,YACf,GAAU,EAAU,KAEtB,EAAC,KAAD,CAAI,cAAA,YACF,EAAC,KAAD,CAAI,MAAO,CAAE,SAAQ,CAAI,CAAA,CACtB,CAAA,CAIH,GAAc,CAAE,UAAwD,CAC5E,IAAM,EAAQ,EAAK,IACnB,GAAI,CAAC,EAAe,EAAM,CAAE,OAAO,EAEnC,IAAM,EAAe,EAAM,MAAkC,IAI7D,OAAO,EACL,EACA,CACE,IAAM,GAAyB,CAC7B,EAAK,WAAW,EAAK,CACjB,OAAO,GAAgB,WACzB,EAAY,EAAK,CACR,IACT,EAAY,QAAU,IAG3B,CACF,EAWU,GAAa,CACxB,aACA,WACA,GAAG,KAC4B,CAC/B,IAAM,EAAa,GAAsB,CAEzC,GAAI,GAAY,YAAa,CAC3B,IAAM,EAAa,EAAS,QAAQ,EAAS,CAE7C,OACE,EAACA,EAAa,MAAd,CAAoB,UAAW,GAAY,MAAO,GAAI,WACpD,EAAC,EAAD,CACE,KAAM,EACN,aAAc,EAAW,aACzB,UAAW,EAAW,YACtB,SAAU,EAAW,mBAEnB,EAAO,IACP,EAAA,EAAA,CAAA,SAAA,CACE,EAAC,EAAD,CAAW,OAAQ,EAAQ,IAAO,CAAA,CACjC,EAAM,IAAK,GACV,EAAC,EAAD,CAAiC,OAAQ,CAAxB,EAAK,IAAmB,CACzC,CACF,EAAC,EAAD,CAAW,OAAQ,EAAQ,OAAU,CAAA,CACpC,CAAA,CAAA,CAEG,CAAA,CACS,CAAA,CAIzB,OACE,EAACA,EAAa,MAAd,CAAoB,UAAW,GAAY,MAAO,GAAI,EACnD,WACkB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"TableCaption.mjs","names":["MantineTable"],"sources":["../../../../src/components/data-display/table/TableCaption.tsx"],"sourcesContent":["import type { ComponentPropsWithoutRef, ReactNode } from 'react';\n\nimport { Table as MantineTable } from '@mantine/core';\n\nimport type { TableClassNames } from './TableRoot';\n\nexport type TableCaptionProps = Omit<\n ComponentPropsWithoutRef<'caption'>,\n 'children' | 'className'\n> & {\n children: ReactNode;\n classNames?: Pick<TableClassNames, 'caption'>;\n};\n\nexport const TableCaption = ({\n classNames,\n ...props\n}: TableCaptionProps): ReactNode => {\n return <MantineTable.Caption className={classNames?.caption} {...props} />;\n};\n"],"mappings":"8EAcA,MAAa,GAAgB,CAC3B,aACA,GAAG,KAEI,EAACA,EAAa,QAAA,CAAQ,UAAW,GAAY,QAAS,GAAI,GAAS"}
1
+ {"version":3,"file":"TableCaption.mjs","names":["MantineTable"],"sources":["../../../../src/components/data-display/table/TableCaption.tsx"],"sourcesContent":["import type { ComponentPropsWithoutRef, ReactNode } from 'react';\n\nimport { Table as MantineTable } from '@mantine/core';\n\nimport type { TableClassNames } from './TableRoot';\n\nexport type TableCaptionProps = Omit<\n ComponentPropsWithoutRef<'caption'>,\n 'children' | 'className'\n> & {\n children: ReactNode;\n classNames?: Pick<TableClassNames, 'caption'>;\n};\n\nexport const TableCaption = ({\n classNames,\n ...props\n}: TableCaptionProps): ReactNode => {\n return <MantineTable.Caption className={classNames?.caption} {...props} />;\n};\n"],"mappings":"8EAcA,MAAa,GAAgB,CAC3B,aACA,GAAG,KAEI,EAACA,EAAa,QAAd,CAAsB,UAAW,GAAY,QAAS,GAAI,EAAS,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"TableCell.mjs","names":["MantineTable"],"sources":["../../../../src/components/data-display/table/TableCell.tsx"],"sourcesContent":["import type { ComponentPropsWithoutRef, ReactNode } from 'react';\n\nimport { Table as MantineTable } from '@mantine/core';\n\nimport type { TableClassNames } from './TableRoot';\n\nexport type TableCellProps = Omit<\n ComponentPropsWithoutRef<'td'>,\n 'className'\n> & {\n children?: ReactNode;\n classNames?: Pick<TableClassNames, 'td'>;\n};\n\nexport const TableCell = ({\n classNames,\n ...props\n}: TableCellProps): ReactNode => {\n return <MantineTable.Td className={classNames?.td} {...props} />;\n};\n"],"mappings":"8EAcA,MAAa,GAAa,CACxB,aACA,GAAG,KAEI,EAACA,EAAa,GAAA,CAAG,UAAW,GAAY,GAAI,GAAI,GAAS"}
1
+ {"version":3,"file":"TableCell.mjs","names":["MantineTable"],"sources":["../../../../src/components/data-display/table/TableCell.tsx"],"sourcesContent":["import type { ComponentPropsWithoutRef, ReactNode } from 'react';\n\nimport { Table as MantineTable } from '@mantine/core';\n\nimport type { TableClassNames } from './TableRoot';\n\nexport type TableCellProps = Omit<\n ComponentPropsWithoutRef<'td'>,\n 'className'\n> & {\n children?: ReactNode;\n classNames?: Pick<TableClassNames, 'td'>;\n};\n\nexport const TableCell = ({\n classNames,\n ...props\n}: TableCellProps): ReactNode => {\n return <MantineTable.Td className={classNames?.td} {...props} />;\n};\n"],"mappings":"8EAcA,MAAa,GAAa,CACxB,aACA,GAAG,KAEI,EAACA,EAAa,GAAd,CAAiB,UAAW,GAAY,GAAI,GAAI,EAAS,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"TableFoot.mjs","names":["MantineTable"],"sources":["../../../../src/components/data-display/table/TableFoot.tsx"],"sourcesContent":["import type { ComponentPropsWithoutRef, ReactNode } from 'react';\n\nimport { Table as MantineTable } from '@mantine/core';\n\nimport type { TableClassNames } from './TableRoot';\n\nexport type TableFootProps = Omit<\n ComponentPropsWithoutRef<'tfoot'>,\n 'children' | 'className'\n> & {\n children: ReactNode;\n classNames?: Pick<TableClassNames, 'tfoot'>;\n};\n\nexport const TableFoot = ({\n classNames,\n ...props\n}: TableFootProps): ReactNode => {\n return <MantineTable.Tfoot className={classNames?.tfoot} {...props} />;\n};\n"],"mappings":"8EAcA,MAAa,GAAa,CACxB,aACA,GAAG,KAEI,EAACA,EAAa,MAAA,CAAM,UAAW,GAAY,MAAO,GAAI,GAAS"}
1
+ {"version":3,"file":"TableFoot.mjs","names":["MantineTable"],"sources":["../../../../src/components/data-display/table/TableFoot.tsx"],"sourcesContent":["import type { ComponentPropsWithoutRef, ReactNode } from 'react';\n\nimport { Table as MantineTable } from '@mantine/core';\n\nimport type { TableClassNames } from './TableRoot';\n\nexport type TableFootProps = Omit<\n ComponentPropsWithoutRef<'tfoot'>,\n 'children' | 'className'\n> & {\n children: ReactNode;\n classNames?: Pick<TableClassNames, 'tfoot'>;\n};\n\nexport const TableFoot = ({\n classNames,\n ...props\n}: TableFootProps): ReactNode => {\n return <MantineTable.Tfoot className={classNames?.tfoot} {...props} />;\n};\n"],"mappings":"8EAcA,MAAa,GAAa,CACxB,aACA,GAAG,KAEI,EAACA,EAAa,MAAd,CAAoB,UAAW,GAAY,MAAO,GAAI,EAAS,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"TableHead.mjs","names":["MantineTable"],"sources":["../../../../src/components/data-display/table/TableHead.tsx"],"sourcesContent":["import {\n type ComponentPropsWithoutRef,\n type ReactNode,\n useCallback,\n} from 'react';\n\nimport { Table as MantineTable } from '@mantine/core';\n\nimport { useScrollableContext } from './TableContext';\nimport type { TableClassNames } from './TableRoot';\n\nexport type TableHeadProps = Omit<\n ComponentPropsWithoutRef<'thead'>,\n 'children' | 'className'\n> & {\n children: ReactNode;\n ref?: React.Ref<HTMLTableSectionElement>;\n classNames?: Pick<TableClassNames, 'thead'>;\n};\n\nexport const TableHead = ({\n classNames,\n ref,\n ...props\n}: TableHeadProps): ReactNode => {\n const scrollable = useScrollableContext();\n\n const theadRef = useCallback(\n (node: HTMLTableSectionElement | null) => {\n if (node) {\n scrollable?.setHeaderHeight(node.offsetHeight);\n }\n if (typeof ref === 'function') {\n ref(node);\n } else if (ref) {\n ref.current = node;\n }\n },\n [scrollable, ref],\n );\n\n return (\n <MantineTable.Thead\n className={classNames?.thead}\n ref={scrollable ? theadRef : ref}\n {...props}\n />\n );\n};\n"],"mappings":"4KAoBA,MAAa,GAAa,CACxB,aACA,MACA,GAAG,KAC4B,CAC/B,IAAM,EAAa,GAAsB,CAEnC,EAAW,EACd,GAAyC,CACpC,GACF,GAAY,gBAAgB,EAAK,aAAa,CAE5C,OAAO,GAAQ,WACjB,EAAI,EAAK,CACA,IACT,EAAI,QAAU,IAGlB,CAAC,EAAY,EAAI,CAClB,CAED,OACE,EAACA,EAAa,MAAA,CACZ,UAAW,GAAY,MACvB,IAAK,EAAa,EAAW,EAC7B,GAAI,GACJ"}
1
+ {"version":3,"file":"TableHead.mjs","names":["MantineTable"],"sources":["../../../../src/components/data-display/table/TableHead.tsx"],"sourcesContent":["import {\n type ComponentPropsWithoutRef,\n type ReactNode,\n useCallback,\n} from 'react';\n\nimport { Table as MantineTable } from '@mantine/core';\n\nimport { useScrollableContext } from './TableContext';\nimport type { TableClassNames } from './TableRoot';\n\nexport type TableHeadProps = Omit<\n ComponentPropsWithoutRef<'thead'>,\n 'children' | 'className'\n> & {\n children: ReactNode;\n ref?: React.Ref<HTMLTableSectionElement>;\n classNames?: Pick<TableClassNames, 'thead'>;\n};\n\nexport const TableHead = ({\n classNames,\n ref,\n ...props\n}: TableHeadProps): ReactNode => {\n const scrollable = useScrollableContext();\n\n const theadRef = useCallback(\n (node: HTMLTableSectionElement | null) => {\n if (node) {\n scrollable?.setHeaderHeight(node.offsetHeight);\n }\n if (typeof ref === 'function') {\n ref(node);\n } else if (ref) {\n ref.current = node;\n }\n },\n [scrollable, ref],\n );\n\n return (\n <MantineTable.Thead\n className={classNames?.thead}\n ref={scrollable ? theadRef : ref}\n {...props}\n />\n );\n};\n"],"mappings":"4KAoBA,MAAa,GAAa,CACxB,aACA,MACA,GAAG,KAC4B,CAC/B,IAAM,EAAa,GAAsB,CAEnC,EAAW,EACd,GAAyC,CACpC,GACF,GAAY,gBAAgB,EAAK,aAAa,CAE5C,OAAO,GAAQ,WACjB,EAAI,EAAK,CACA,IACT,EAAI,QAAU,IAGlB,CAAC,EAAY,EAAI,CAClB,CAED,OACE,EAACA,EAAa,MAAd,CACE,UAAW,GAAY,MACvB,IAAK,EAAa,EAAW,EAC7B,GAAI,EACJ,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"TableHeaderCell.mjs","names":["MantineTable"],"sources":["../../../../src/components/data-display/table/TableHeaderCell.tsx"],"sourcesContent":["import type { ComponentPropsWithoutRef, ReactNode } from 'react';\n\nimport { Table as MantineTable } from '@mantine/core';\n\nimport type { TableClassNames } from './TableRoot';\n\nexport type TableHeaderCellProps = Omit<\n ComponentPropsWithoutRef<'th'>,\n 'className'\n> & {\n children?: ReactNode;\n classNames?: Pick<TableClassNames, 'th'>;\n};\n\nexport const TableHeaderCell = ({\n classNames,\n ...props\n}: TableHeaderCellProps): ReactNode => {\n return <MantineTable.Th className={classNames?.th} {...props} />;\n};\n"],"mappings":"8EAcA,MAAa,GAAmB,CAC9B,aACA,GAAG,KAEI,EAACA,EAAa,GAAA,CAAG,UAAW,GAAY,GAAI,GAAI,GAAS"}
1
+ {"version":3,"file":"TableHeaderCell.mjs","names":["MantineTable"],"sources":["../../../../src/components/data-display/table/TableHeaderCell.tsx"],"sourcesContent":["import type { ComponentPropsWithoutRef, ReactNode } from 'react';\n\nimport { Table as MantineTable } from '@mantine/core';\n\nimport type { TableClassNames } from './TableRoot';\n\nexport type TableHeaderCellProps = Omit<\n ComponentPropsWithoutRef<'th'>,\n 'className'\n> & {\n children?: ReactNode;\n classNames?: Pick<TableClassNames, 'th'>;\n};\n\nexport const TableHeaderCell = ({\n classNames,\n ...props\n}: TableHeaderCellProps): ReactNode => {\n return <MantineTable.Th className={classNames?.th} {...props} />;\n};\n"],"mappings":"8EAcA,MAAa,GAAmB,CAC9B,aACA,GAAG,KAEI,EAACA,EAAa,GAAd,CAAiB,UAAW,GAAY,GAAI,GAAI,EAAS,CAAA"}
@@ -1,2 +1,2 @@
1
- import{TableScroll as e}from"./TableScroll.mjs";import{cx as t}from"@mage-ui/styled-system/css";import{table as n,tableCaption as r,tableRoot as i,tableTbody as a,tableTd as o,tableTfoot as s,tableTh as c,tableThead as l,tableTr as u}from"@mage-ui/styled-system/recipes";import{Table as d}from"@mantine/core";import{jsx as f}from"react/jsx-runtime";const p=({children:p,classNames:m,scrollable:h,...g})=>{let _=f(d,{withRowBorders:!0,"data-scrollable":h?!0:void 0,classNames:{table:t(m?.table??n(),m?.root??i()),thead:m?.thead??l(),tbody:m?.tbody??a(),tfoot:m?.tfoot??s(),tr:m?.tr??u(),th:m?.th??c(),td:m?.td??o(),caption:m?.caption??r()},...g,children:p});return h?f(e,{scrollable:h,stickyHeader:g.stickyHeader,children:_}):_};export{p as TableRoot};
1
+ import{TableScroll as e}from"./TableScroll.mjs";import{cx as t}from"@mage-ui/styled-system/css";import{table as n,tableCaption as r,tableRoot as i,tableTbody as a,tableTd as o,tableTfoot as s,tableTh as c,tableThead as l,tableTr as u}from"@mage-ui/styled-system/recipes";import{Table as d}from"@mantine/core";import{jsx as f}from"react/jsx-runtime";const p=({children:p,classNames:m,scrollable:h,layout:g,style:_,...v})=>{let y=g?{"--table-layout":g,..._}:_,b=f(d,{withRowBorders:!0,"data-scrollable":h?!0:void 0,classNames:{table:t(m?.table??n(),m?.root??i()),thead:m?.thead??l(),tbody:m?.tbody??a(),tfoot:m?.tfoot??s(),tr:m?.tr??u(),th:m?.th??c(),td:m?.td??o(),caption:m?.caption??r()},style:y,...v,children:p});return h?f(e,{scrollable:h,stickyHeader:v.stickyHeader,children:b}):b};export{p as TableRoot};
2
2
  //# sourceMappingURL=TableRoot.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"TableRoot.mjs","names":["table","MantineTable","tableRecipe"],"sources":["../../../../src/components/data-display/table/TableRoot.tsx"],"sourcesContent":["import type { ComponentPropsWithoutRef, ReactNode } from 'react';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport {\n tableCaption,\n table as tableRecipe,\n tableRoot,\n tableTbody,\n tableTd,\n tableTfoot,\n tableTh,\n tableThead,\n tableTr,\n} from '@mage-ui/styled-system/recipes';\nimport { Table as MantineTable } from '@mantine/core';\n\nimport { type ScrollableTableConfig, TableScroll } from './TableScroll';\n\nexport type TableClassNames = {\n table?: string;\n root?: string;\n thead?: string;\n tbody?: string;\n tfoot?: string;\n tr?: string;\n th?: string;\n td?: string;\n caption?: string;\n};\n\nexport type TableProps = Omit<\n ComponentPropsWithoutRef<'table'>,\n 'children' | 'className'\n> & {\n children: ReactNode;\n layout?: 'auto' | 'fixed';\n captionSide?: 'top' | 'bottom';\n withTableBorder?: boolean;\n withColumnBorders?: boolean;\n withRowBorders?: boolean;\n striped?: boolean | 'odd' | 'even';\n highlightOnHover?: boolean;\n stickyHeader?: boolean;\n stickyHeaderOffset?: number | string;\n tabularNums?: boolean;\n classNames?: TableClassNames;\n scrollable?: ScrollableTableConfig;\n};\n\nexport const TableRoot = ({\n children,\n classNames,\n scrollable,\n ...tableProps\n}: TableProps): ReactNode => {\n const table = (\n <MantineTable\n withRowBorders\n data-scrollable={scrollable ? true : undefined}\n classNames={{\n table: cx(\n classNames?.table ?? tableRecipe(),\n classNames?.root ?? tableRoot(),\n ),\n thead: classNames?.thead ?? tableThead(),\n tbody: classNames?.tbody ?? tableTbody(),\n tfoot: classNames?.tfoot ?? tableTfoot(),\n tr: classNames?.tr ?? tableTr(),\n th: classNames?.th ?? tableTh(),\n td: classNames?.td ?? tableTd(),\n caption: classNames?.caption ?? tableCaption(),\n }}\n {...tableProps}\n >\n {children}\n </MantineTable>\n );\n\n if (scrollable) {\n return (\n <TableScroll\n scrollable={scrollable}\n stickyHeader={tableProps.stickyHeader}\n >\n {table}\n </TableScroll>\n );\n }\n\n return table;\n};\n"],"mappings":"6VAiDA,MAAa,GAAa,CACxB,WACA,aACA,aACA,GAAG,KACwB,CAC3B,IAAMA,EACJ,EAACC,EAAAA,CACC,eAAA,GACA,kBAAiB,EAAa,GAAO,IAAA,GACrC,WAAY,CACV,MAAO,EACL,GAAY,OAASC,GAAa,CAClC,GAAY,MAAQ,GAAW,CAChC,CACD,MAAO,GAAY,OAAS,GAAY,CACxC,MAAO,GAAY,OAAS,GAAY,CACxC,MAAO,GAAY,OAAS,GAAY,CACxC,GAAI,GAAY,IAAM,GAAS,CAC/B,GAAI,GAAY,IAAM,GAAS,CAC/B,GAAI,GAAY,IAAM,GAAS,CAC/B,QAAS,GAAY,SAAW,GAAc,CAC/C,CACD,GAAI,EAEH,YACY,CAcjB,OAXI,EAEA,EAAC,EAAA,CACa,aACZ,aAAc,EAAW,sBAExBF,GACW,CAIXA"}
1
+ {"version":3,"file":"TableRoot.mjs","names":["table","MantineTable","tableRecipe"],"sources":["../../../../src/components/data-display/table/TableRoot.tsx"],"sourcesContent":["import type { ComponentPropsWithoutRef, ReactNode } from 'react';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport {\n tableCaption,\n table as tableRecipe,\n tableRoot,\n tableTbody,\n tableTd,\n tableTfoot,\n tableTh,\n tableThead,\n tableTr,\n} from '@mage-ui/styled-system/recipes';\nimport { Table as MantineTable } from '@mantine/core';\n\nimport { type ScrollableTableConfig, TableScroll } from './TableScroll';\n\nexport type TableClassNames = {\n table?: string;\n root?: string;\n thead?: string;\n tbody?: string;\n tfoot?: string;\n tr?: string;\n th?: string;\n td?: string;\n caption?: string;\n};\n\nexport type TableProps = Omit<\n ComponentPropsWithoutRef<'table'>,\n 'children' | 'className'\n> & {\n children: ReactNode;\n layout?: 'auto' | 'fixed';\n captionSide?: 'top' | 'bottom';\n withTableBorder?: boolean;\n withColumnBorders?: boolean;\n withRowBorders?: boolean;\n striped?: boolean | 'odd' | 'even';\n highlightOnHover?: boolean;\n stickyHeader?: boolean;\n stickyHeaderOffset?: number | string;\n tabularNums?: boolean;\n classNames?: TableClassNames;\n scrollable?: ScrollableTableConfig;\n};\n\nexport const TableRoot = ({\n children,\n classNames,\n scrollable,\n layout,\n style,\n ...tableProps\n}: TableProps): ReactNode => {\n const mergedStyle = layout\n ? ({ '--table-layout': layout, ...style } as React.CSSProperties)\n : style;\n\n const table = (\n <MantineTable\n withRowBorders\n data-scrollable={scrollable ? true : undefined}\n classNames={{\n table: cx(\n classNames?.table ?? tableRecipe(),\n classNames?.root ?? tableRoot(),\n ),\n thead: classNames?.thead ?? tableThead(),\n tbody: classNames?.tbody ?? tableTbody(),\n tfoot: classNames?.tfoot ?? tableTfoot(),\n tr: classNames?.tr ?? tableTr(),\n th: classNames?.th ?? tableTh(),\n td: classNames?.td ?? tableTd(),\n caption: classNames?.caption ?? tableCaption(),\n }}\n style={mergedStyle}\n {...tableProps}\n >\n {children}\n </MantineTable>\n );\n\n if (scrollable) {\n return (\n <TableScroll\n scrollable={scrollable}\n stickyHeader={tableProps.stickyHeader}\n >\n {table}\n </TableScroll>\n );\n }\n\n return table;\n};\n"],"mappings":"6VAiDA,MAAa,GAAa,CACxB,WACA,aACA,aACA,SACA,QACA,GAAG,KACwB,CAC3B,IAAM,EAAc,EACf,CAAE,iBAAkB,EAAQ,GAAG,EAAO,CACvC,EAEEA,EACJ,EAACC,EAAD,CACE,eAAA,GACA,kBAAiB,EAAa,GAAO,IAAA,GACrC,WAAY,CACV,MAAO,EACL,GAAY,OAASC,GAAa,CAClC,GAAY,MAAQ,GAAW,CAChC,CACD,MAAO,GAAY,OAAS,GAAY,CACxC,MAAO,GAAY,OAAS,GAAY,CACxC,MAAO,GAAY,OAAS,GAAY,CACxC,GAAI,GAAY,IAAM,GAAS,CAC/B,GAAI,GAAY,IAAM,GAAS,CAC/B,GAAI,GAAY,IAAM,GAAS,CAC/B,QAAS,GAAY,SAAW,GAAc,CAC/C,CACD,MAAO,EACP,GAAI,EAEH,WACY,CAAA,CAcjB,OAXI,EAEA,EAAC,EAAD,CACc,aACZ,aAAc,EAAW,sBAExBF,EACW,CAAA,CAIXA"}
@@ -1 +1 @@
1
- {"version":3,"file":"TableRow.mjs","names":["MantineTable"],"sources":["../../../../src/components/data-display/table/TableRow.tsx"],"sourcesContent":["import type { ComponentPropsWithoutRef, ReactNode } from 'react';\n\nimport { Table as MantineTable } from '@mantine/core';\n\nimport type { TableClassNames } from './TableRoot';\n\nexport type TableRowProps = Omit<\n ComponentPropsWithoutRef<'tr'>,\n 'className'\n> & {\n children: ReactNode;\n ref?: React.Ref<HTMLTableRowElement>;\n classNames?: Pick<TableClassNames, 'tr'>;\n};\n\nexport const TableRow = ({\n classNames,\n ...props\n}: TableRowProps): ReactNode => {\n return <MantineTable.Tr className={classNames?.tr} {...props} />;\n};\n"],"mappings":"8EAeA,MAAa,GAAY,CACvB,aACA,GAAG,KAEI,EAACA,EAAa,GAAA,CAAG,UAAW,GAAY,GAAI,GAAI,GAAS"}
1
+ {"version":3,"file":"TableRow.mjs","names":["MantineTable"],"sources":["../../../../src/components/data-display/table/TableRow.tsx"],"sourcesContent":["import type { ComponentPropsWithoutRef, ReactNode } from 'react';\n\nimport { Table as MantineTable } from '@mantine/core';\n\nimport type { TableClassNames } from './TableRoot';\n\nexport type TableRowProps = Omit<\n ComponentPropsWithoutRef<'tr'>,\n 'className'\n> & {\n children: ReactNode;\n ref?: React.Ref<HTMLTableRowElement>;\n classNames?: Pick<TableClassNames, 'tr'>;\n};\n\nexport const TableRow = ({\n classNames,\n ...props\n}: TableRowProps): ReactNode => {\n return <MantineTable.Tr className={classNames?.tr} {...props} />;\n};\n"],"mappings":"8EAeA,MAAa,GAAY,CACvB,aACA,GAAG,KAEI,EAACA,EAAa,GAAd,CAAiB,UAAW,GAAY,GAAI,GAAI,EAAS,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"TableScroll.mjs","names":["tableScrollRecipe"],"sources":["../../../../src/components/data-display/table/TableScroll.tsx"],"sourcesContent":["import { type ReactNode, useMemo, useRef, useState } from 'react';\n\nimport {\n tableScrollContent,\n tableScrollCorner,\n tableScroll as tableScrollRecipe,\n tableScrollRoot,\n tableScrollScrollbar,\n tableScrollThumb,\n tableScrollViewport,\n} from '@mage-ui/styled-system/recipes';\n\nimport {\n ScrollArea,\n type ScrollAreaClassNames,\n type ScrollAreaProps,\n} from '../../misc/scroll-area/ScrollArea';\nimport { ScrollableContext } from './TableContext';\n\nexport type ScrollableTableConfig = {\n maxHeight?: number | string;\n minWidth?: number | string;\n estimateSize?: number;\n overscan?: number;\n virtualized?: boolean;\n scrollAreaProps?: Omit<ScrollAreaProps, 'children' | 'viewportRef' | 'style'>;\n};\n\ntype TableScrollProps = {\n children: ReactNode;\n scrollable: ScrollableTableConfig;\n stickyHeader?: boolean;\n};\n\nexport const TableScroll = ({\n children,\n scrollable,\n stickyHeader,\n}: TableScrollProps): ReactNode => {\n const viewportRef = useRef<HTMLDivElement>(null);\n const [headerHeight, setHeaderHeight] = useState(0);\n\n const {\n maxHeight,\n minWidth,\n estimateSize,\n overscan,\n virtualized,\n scrollAreaProps,\n } = scrollable;\n\n const style = {\n ...(maxHeight && {\n '--scrollarea-viewport-max-height':\n typeof maxHeight === 'number' ? `${maxHeight}px` : maxHeight,\n }),\n ...(minWidth && {\n '--scrollable-table-min-width':\n typeof minWidth === 'number' ? `${minWidth}px` : minWidth,\n }),\n ...(stickyHeader && {\n '--scrollarea-scrollbar-vertical-top': `${headerHeight}px`,\n }),\n } as React.CSSProperties;\n\n const classNames: ScrollAreaClassNames = {\n scrollArea: scrollAreaProps?.classNames?.scrollArea ?? tableScrollRecipe(),\n root: scrollAreaProps?.classNames?.root ?? tableScrollRoot(),\n viewport: scrollAreaProps?.classNames?.viewport ?? tableScrollViewport(),\n content: scrollAreaProps?.classNames?.content ?? tableScrollContent(),\n scrollbar: scrollAreaProps?.classNames?.scrollbar ?? tableScrollScrollbar(),\n thumb: scrollAreaProps?.classNames?.thumb ?? tableScrollThumb(),\n corner: scrollAreaProps?.classNames?.corner ?? tableScrollCorner(),\n };\n\n const contextValue = useMemo(\n () => ({\n viewportRef,\n estimateSize: estimateSize ?? 40,\n overscan,\n stickyHeader,\n setHeaderHeight,\n virtualized,\n }),\n [estimateSize, overscan, stickyHeader, virtualized],\n );\n\n return (\n <ScrollableContext.Provider value={contextValue}>\n <ScrollArea\n scrollbars='xy'\n type='hover'\n offsetScrollbars={false}\n data-sticky-header={stickyHeader || undefined}\n viewportRef={viewportRef}\n classNames={classNames}\n style={style}\n {...scrollAreaProps}\n >\n {children}\n </ScrollArea>\n </ScrollableContext.Provider>\n );\n};\n"],"mappings":"saAkCA,MAAa,GAAe,CAC1B,WACA,aACA,kBACiC,CACjC,IAAM,EAAc,EAAuB,KAAK,CAC1C,CAAC,EAAc,GAAmB,EAAS,EAAE,CAE7C,CACJ,YACA,WACA,eACA,WACA,cACA,mBACE,EAEE,EAAQ,CACZ,GAAI,GAAa,CACf,mCACE,OAAO,GAAc,SAAW,GAAG,EAAU,IAAM,EACtD,CACD,GAAI,GAAY,CACd,+BACE,OAAO,GAAa,SAAW,GAAG,EAAS,IAAM,EACpD,CACD,GAAI,GAAgB,CAClB,sCAAuC,GAAG,EAAa,IACxD,CACF,CAEK,EAAmC,CACvC,WAAY,GAAiB,YAAY,YAAcA,GAAmB,CAC1E,KAAM,GAAiB,YAAY,MAAQ,GAAiB,CAC5D,SAAU,GAAiB,YAAY,UAAY,GAAqB,CACxE,QAAS,GAAiB,YAAY,SAAW,GAAoB,CACrE,UAAW,GAAiB,YAAY,WAAa,GAAsB,CAC3E,MAAO,GAAiB,YAAY,OAAS,GAAkB,CAC/D,OAAQ,GAAiB,YAAY,QAAU,GAAmB,CACnE,CAEK,EAAe,OACZ,CACL,cACA,aAAc,GAAgB,GAC9B,WACA,eACA,kBACA,cACD,EACD,CAAC,EAAc,EAAU,EAAc,EAAY,CACpD,CAED,OACE,EAAC,EAAkB,SAAA,CAAS,MAAO,WACjC,EAAC,EAAA,CACC,WAAW,KACX,KAAK,QACL,iBAAkB,GAClB,qBAAoB,GAAgB,IAAA,GACvB,cACD,aACL,QACP,GAAI,EAEH,YACU,EACc"}
1
+ {"version":3,"file":"TableScroll.mjs","names":["tableScrollRecipe"],"sources":["../../../../src/components/data-display/table/TableScroll.tsx"],"sourcesContent":["import { type ReactNode, useMemo, useRef, useState } from 'react';\n\nimport {\n tableScrollContent,\n tableScrollCorner,\n tableScroll as tableScrollRecipe,\n tableScrollRoot,\n tableScrollScrollbar,\n tableScrollThumb,\n tableScrollViewport,\n} from '@mage-ui/styled-system/recipes';\n\nimport {\n ScrollArea,\n type ScrollAreaClassNames,\n type ScrollAreaProps,\n} from '../../misc/scroll-area/ScrollArea';\nimport { ScrollableContext } from './TableContext';\n\nexport type ScrollableTableConfig = {\n maxHeight?: number | string;\n minWidth?: number | string;\n estimateSize?: number;\n overscan?: number;\n virtualized?: boolean;\n scrollAreaProps?: Omit<ScrollAreaProps, 'children' | 'viewportRef' | 'style'>;\n};\n\ntype TableScrollProps = {\n children: ReactNode;\n scrollable: ScrollableTableConfig;\n stickyHeader?: boolean;\n};\n\nexport const TableScroll = ({\n children,\n scrollable,\n stickyHeader,\n}: TableScrollProps): ReactNode => {\n const viewportRef = useRef<HTMLDivElement>(null);\n const [headerHeight, setHeaderHeight] = useState(0);\n\n const {\n maxHeight,\n minWidth,\n estimateSize,\n overscan,\n virtualized,\n scrollAreaProps,\n } = scrollable;\n\n const style = {\n ...(maxHeight && {\n '--scrollarea-viewport-max-height':\n typeof maxHeight === 'number' ? `${maxHeight}px` : maxHeight,\n }),\n ...(minWidth && {\n '--scrollable-table-min-width':\n typeof minWidth === 'number' ? `${minWidth}px` : minWidth,\n }),\n ...(stickyHeader && {\n '--scrollarea-scrollbar-vertical-top': `${headerHeight}px`,\n }),\n } as React.CSSProperties;\n\n const classNames: ScrollAreaClassNames = {\n scrollArea: scrollAreaProps?.classNames?.scrollArea ?? tableScrollRecipe(),\n root: scrollAreaProps?.classNames?.root ?? tableScrollRoot(),\n viewport: scrollAreaProps?.classNames?.viewport ?? tableScrollViewport(),\n content: scrollAreaProps?.classNames?.content ?? tableScrollContent(),\n scrollbar: scrollAreaProps?.classNames?.scrollbar ?? tableScrollScrollbar(),\n thumb: scrollAreaProps?.classNames?.thumb ?? tableScrollThumb(),\n corner: scrollAreaProps?.classNames?.corner ?? tableScrollCorner(),\n };\n\n const contextValue = useMemo(\n () => ({\n viewportRef,\n estimateSize: estimateSize ?? 40,\n overscan,\n stickyHeader,\n setHeaderHeight,\n virtualized,\n }),\n [estimateSize, overscan, stickyHeader, virtualized],\n );\n\n return (\n <ScrollableContext.Provider value={contextValue}>\n <ScrollArea\n scrollbars='xy'\n type='hover'\n offsetScrollbars={false}\n data-sticky-header={stickyHeader || undefined}\n viewportRef={viewportRef}\n classNames={classNames}\n style={style}\n {...scrollAreaProps}\n >\n {children}\n </ScrollArea>\n </ScrollableContext.Provider>\n );\n};\n"],"mappings":"saAkCA,MAAa,GAAe,CAC1B,WACA,aACA,kBACiC,CACjC,IAAM,EAAc,EAAuB,KAAK,CAC1C,CAAC,EAAc,GAAmB,EAAS,EAAE,CAE7C,CACJ,YACA,WACA,eACA,WACA,cACA,mBACE,EAEE,EAAQ,CACZ,GAAI,GAAa,CACf,mCACE,OAAO,GAAc,SAAW,GAAG,EAAU,IAAM,EACtD,CACD,GAAI,GAAY,CACd,+BACE,OAAO,GAAa,SAAW,GAAG,EAAS,IAAM,EACpD,CACD,GAAI,GAAgB,CAClB,sCAAuC,GAAG,EAAa,IACxD,CACF,CAEK,EAAmC,CACvC,WAAY,GAAiB,YAAY,YAAcA,GAAmB,CAC1E,KAAM,GAAiB,YAAY,MAAQ,GAAiB,CAC5D,SAAU,GAAiB,YAAY,UAAY,GAAqB,CACxE,QAAS,GAAiB,YAAY,SAAW,GAAoB,CACrE,UAAW,GAAiB,YAAY,WAAa,GAAsB,CAC3E,MAAO,GAAiB,YAAY,OAAS,GAAkB,CAC/D,OAAQ,GAAiB,YAAY,QAAU,GAAmB,CACnE,CAEK,EAAe,OACZ,CACL,cACA,aAAc,GAAgB,GAC9B,WACA,eACA,kBACA,cACD,EACD,CAAC,EAAc,EAAU,EAAc,EAAY,CACpD,CAED,OACE,EAAC,EAAkB,SAAnB,CAA4B,MAAO,WACjC,EAAC,EAAD,CACE,WAAW,KACX,KAAK,QACL,iBAAkB,GAClB,qBAAoB,GAAgB,IAAA,GACvB,cACD,aACL,QACP,GAAI,EAEH,WACU,CAAA,CACc,CAAA"}
@@ -1,6 +1,5 @@
1
1
  import { BadgeProps } from "../badge/Badge.mjs";
2
2
  import { TagGroupProps } from "../tag-group/TagGroup.mjs";
3
- import "../index.mjs";
4
3
  import * as react_jsx_runtime0 from "react/jsx-runtime";
5
4
 
6
5
  //#region src/components/data-display/tag/Tag.d.ts
@@ -1 +1 @@
1
- {"version":3,"file":"Tag.d.mts","names":[],"sources":["../../../../src/components/data-display/tag/Tag.tsx"],"mappings":";;;;;;KAgBY,QAAA,GAAW,IAAA,CAAK,UAAA;EAC1B,KAAA;EACA,QAAA;EACA,UAAA,GAAa,UAAA;IACX,UAAA;MACE,UAAA;MACA,IAAA;MACA,IAAA;MACA,OAAA;QACE,OAAA;QACA,IAAA;MAAA;IAAA;EAAA;AAAA;AAAA,cAMK,GAAA;EAAA;;;;;KAAkD,QAAA,GAAQ,kBAAA,CAAA,GAAA,CAAA,OAAA"}
1
+ {"version":3,"file":"Tag.d.mts","names":[],"sources":["../../../../src/components/data-display/tag/Tag.tsx"],"mappings":";;;;;KAgBY,QAAA,GAAW,IAAA,CAAK,UAAA;EAC1B,KAAA;EACA,QAAA;EACA,UAAA,GAAa,UAAA;IACX,UAAA;MACE,UAAA;MACA,IAAA;MACA,IAAA;MACA,OAAA;QACE,OAAA;QACA,IAAA;MAAA;IAAA;EAAA;AAAA;AAAA,cAMK,GAAA;EAAA;;;;;KAAkD,QAAA,GAAQ,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"Tag.mjs","names":[],"sources":["../../../../src/components/data-display/tag/Tag.tsx"],"sourcesContent":["import {\n tag,\n tagButtonIcon,\n tagButtonIconIcon,\n tagButtonIconIconRaw,\n tagButtonIconIconRawRoot,\n tagButtonIconRoot,\n tagLabel,\n tagRoot,\n tagSection,\n} from '@mage-ui/styled-system/recipes';\nimport { ButtonIcon } from '@/components/buttons';\n\nimport { Badge, type BadgeProps } from '../badge/Badge';\nimport { TagGroup } from '../tag-group/TagGroup';\n\nexport type TagProps = Omit<BadgeProps, 'classNames'> & {\n label: string;\n onRemove?: () => void;\n classNames?: BadgeProps['classNames'] & {\n buttonIcon?: {\n buttonIcon?: string;\n root?: string;\n icon?: string;\n iconRaw?: {\n iconRaw?: string;\n root?: string;\n };\n };\n };\n};\n\nexport const Tag = ({ label, onRemove, classNames, children }: TagProps) => {\n return (\n <Badge\n endSlot={\n <ButtonIcon\n path='/icons/sprite-mage.svg'\n label={label}\n name='mage-tag-x'\n onClick={(e) => {\n e.stopPropagation();\n onRemove?.();\n }}\n classNames={{\n buttonIcon: classNames?.buttonIcon?.buttonIcon ?? tagButtonIcon(),\n root: classNames?.buttonIcon?.root ?? tagButtonIconRoot(),\n icon: classNames?.buttonIcon?.icon ?? tagButtonIconIcon(),\n iconRaw: {\n iconRaw:\n classNames?.buttonIcon?.iconRaw?.iconRaw ??\n tagButtonIconIconRaw(),\n root:\n classNames?.buttonIcon?.iconRaw?.root ??\n tagButtonIconIconRawRoot(),\n },\n }}\n />\n }\n classNames={{\n badge: classNames?.badge ?? tag(),\n root: classNames?.root ?? tagRoot(),\n section: classNames?.section ?? tagSection(),\n label: classNames?.label ?? tagLabel(),\n }}\n >\n {children}\n </Badge>\n );\n};\n\nTag.Group = TagGroup;\n"],"mappings":"uaAgCA,MAAa,GAAO,CAAE,QAAO,WAAU,aAAY,cAE/C,EAAC,EAAA,CACC,QACE,EAAC,EAAA,CACC,KAAK,yBACE,QACP,KAAK,aACL,QAAU,GAAM,CACd,EAAE,iBAAiB,CACnB,KAAY,EAEd,WAAY,CACV,WAAY,GAAY,YAAY,YAAc,GAAe,CACjE,KAAM,GAAY,YAAY,MAAQ,GAAmB,CACzD,KAAM,GAAY,YAAY,MAAQ,GAAmB,CACzD,QAAS,CACP,QACE,GAAY,YAAY,SAAS,SACjC,GAAsB,CACxB,KACE,GAAY,YAAY,SAAS,MACjC,GAA0B,CAC7B,CACF,EACD,CAEJ,WAAY,CACV,MAAO,GAAY,OAAS,GAAK,CACjC,KAAM,GAAY,MAAQ,GAAS,CACnC,QAAS,GAAY,SAAW,GAAY,CAC5C,MAAO,GAAY,OAAS,GAAU,CACvC,CAEA,YACK,CAIZ,EAAI,MAAQ"}
1
+ {"version":3,"file":"Tag.mjs","names":[],"sources":["../../../../src/components/data-display/tag/Tag.tsx"],"sourcesContent":["import {\n tag,\n tagButtonIcon,\n tagButtonIconIcon,\n tagButtonIconIconRaw,\n tagButtonIconIconRawRoot,\n tagButtonIconRoot,\n tagLabel,\n tagRoot,\n tagSection,\n} from '@mage-ui/styled-system/recipes';\nimport { ButtonIcon } from '@/components/buttons';\n\nimport { Badge, type BadgeProps } from '../badge/Badge';\nimport { TagGroup } from '../tag-group/TagGroup';\n\nexport type TagProps = Omit<BadgeProps, 'classNames'> & {\n label: string;\n onRemove?: () => void;\n classNames?: BadgeProps['classNames'] & {\n buttonIcon?: {\n buttonIcon?: string;\n root?: string;\n icon?: string;\n iconRaw?: {\n iconRaw?: string;\n root?: string;\n };\n };\n };\n};\n\nexport const Tag = ({ label, onRemove, classNames, children }: TagProps) => {\n return (\n <Badge\n endSlot={\n <ButtonIcon\n path='/icons/sprite-mage.svg'\n label={label}\n name='mage-tag-x'\n onClick={(e) => {\n e.stopPropagation();\n onRemove?.();\n }}\n classNames={{\n buttonIcon: classNames?.buttonIcon?.buttonIcon ?? tagButtonIcon(),\n root: classNames?.buttonIcon?.root ?? tagButtonIconRoot(),\n icon: classNames?.buttonIcon?.icon ?? tagButtonIconIcon(),\n iconRaw: {\n iconRaw:\n classNames?.buttonIcon?.iconRaw?.iconRaw ??\n tagButtonIconIconRaw(),\n root:\n classNames?.buttonIcon?.iconRaw?.root ??\n tagButtonIconIconRawRoot(),\n },\n }}\n />\n }\n classNames={{\n badge: classNames?.badge ?? tag(),\n root: classNames?.root ?? tagRoot(),\n section: classNames?.section ?? tagSection(),\n label: classNames?.label ?? tagLabel(),\n }}\n >\n {children}\n </Badge>\n );\n};\n\nTag.Group = TagGroup;\n"],"mappings":"uaAgCA,MAAa,GAAO,CAAE,QAAO,WAAU,aAAY,cAE/C,EAAC,EAAD,CACE,QACE,EAAC,EAAD,CACE,KAAK,yBACE,QACP,KAAK,aACL,QAAU,GAAM,CACd,EAAE,iBAAiB,CACnB,KAAY,EAEd,WAAY,CACV,WAAY,GAAY,YAAY,YAAc,GAAe,CACjE,KAAM,GAAY,YAAY,MAAQ,GAAmB,CACzD,KAAM,GAAY,YAAY,MAAQ,GAAmB,CACzD,QAAS,CACP,QACE,GAAY,YAAY,SAAS,SACjC,GAAsB,CACxB,KACE,GAAY,YAAY,SAAS,MACjC,GAA0B,CAC7B,CACF,CACD,CAAA,CAEJ,WAAY,CACV,MAAO,GAAY,OAAS,GAAK,CACjC,KAAM,GAAY,MAAQ,GAAS,CACnC,QAAS,GAAY,SAAW,GAAY,CAC5C,MAAO,GAAY,OAAS,GAAU,CACvC,CAEA,WACK,CAAA,CAIZ,EAAI,MAAQ"}
@@ -1 +1 @@
1
- {"version":3,"file":"TagGroup.mjs","names":[],"sources":["../../../../src/components/data-display/tag-group/TagGroup.tsx"],"sourcesContent":["import { cx } from '@mage-ui/styled-system/css';\nimport { tagGroup, tagGroupRoot } from '@mage-ui/styled-system/recipes';\n\nexport type TagGroupProps = {\n children: React.ReactNode;\n classNames?: {\n tagGroup?: string;\n root?: string;\n };\n};\n\nexport const TagGroup = ({ children, classNames }: TagGroupProps) => {\n return (\n <div\n className={cx(\n classNames?.tagGroup ?? tagGroup(),\n classNames?.root ?? tagGroupRoot(),\n )}\n >\n {children}\n </div>\n );\n};\n"],"mappings":"oKAWA,MAAa,GAAY,CAAE,WAAU,gBAEjC,EAAC,MAAA,CACC,UAAW,EACT,GAAY,UAAY,GAAU,CAClC,GAAY,MAAQ,GAAc,CACnC,CAEA,YACG"}
1
+ {"version":3,"file":"TagGroup.mjs","names":[],"sources":["../../../../src/components/data-display/tag-group/TagGroup.tsx"],"sourcesContent":["import { cx } from '@mage-ui/styled-system/css';\nimport { tagGroup, tagGroupRoot } from '@mage-ui/styled-system/recipes';\n\nexport type TagGroupProps = {\n children: React.ReactNode;\n classNames?: {\n tagGroup?: string;\n root?: string;\n };\n};\n\nexport const TagGroup = ({ children, classNames }: TagGroupProps) => {\n return (\n <div\n className={cx(\n classNames?.tagGroup ?? tagGroup(),\n classNames?.root ?? tagGroupRoot(),\n )}\n >\n {children}\n </div>\n );\n};\n"],"mappings":"oKAWA,MAAa,GAAY,CAAE,WAAU,gBAEjC,EAAC,MAAD,CACE,UAAW,EACT,GAAY,UAAY,GAAU,CAClC,GAAY,MAAQ,GAAc,CACnC,CAEA,WACG,CAAA"}
@@ -1,7 +1,6 @@
1
1
  import { IconProps } from "../icons/icon/Icon.mjs";
2
2
  import { IconWrappedProps } from "../icons/icon-wrapped/IconWrapped.mjs";
3
3
  import { RemovableItemProps } from "../removable-item/RemovableItem.mjs";
4
- import "../index.mjs";
5
4
  import * as react_jsx_runtime0 from "react/jsx-runtime";
6
5
  import { ReactNode } from "react";
7
6
 
@@ -1 +1 @@
1
- {"version":3,"file":"UploadedFile.d.mts","names":[],"sources":["../../../../src/components/data-display/uploaded-file/UploadedFile.tsx"],"mappings":";;;;;;;;KAyBY,iBAAA;EACV,gBAAA;EACA,QAAA,GAAW,SAAA;EACX,QAAA;EACA,GAAA;EACA,QAAA,EAAU,SAAA;EACV,QAAA;EACA,UAAA;IACE,YAAA;IACA,IAAA;IACA,OAAA;IACA,OAAA;IACA,OAAA;IACA,QAAA;IACA,QAAA;IACA,gBAAA,GAAmB,gBAAA;IACnB,SAAA,GAAY,SAAA;IACZ,aAAA,GAAgB,kBAAA;IAChB,UAAA,GAAa,WAAA,CAAY,kBAAA;EAAA;AAAA;AAAA,cAIhB,YAAA;EAAgB,gBAAA;EAAA,QAAA;EAAA,QAAA;EAAA,GAAA;EAAA,QAAA;EAAA,QAAA;EAAA;AAAA,GAQ1B,iBAAA,KAAiB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
1
+ {"version":3,"file":"UploadedFile.d.mts","names":[],"sources":["../../../../src/components/data-display/uploaded-file/UploadedFile.tsx"],"mappings":";;;;;;;KAyBY,iBAAA;EACV,gBAAA;EACA,QAAA,GAAW,SAAA;EACX,QAAA;EACA,GAAA;EACA,QAAA,EAAU,SAAA;EACV,QAAA;EACA,UAAA;IACE,YAAA;IACA,IAAA;IACA,OAAA;IACA,OAAA;IACA,OAAA;IACA,QAAA;IACA,QAAA;IACA,gBAAA,GAAmB,gBAAA;IACnB,SAAA,GAAY,SAAA;IACZ,aAAA,GAAgB,kBAAA;IAChB,UAAA,GAAa,WAAA,CAAY,kBAAA;EAAA;AAAA;AAAA,cAIhB,YAAA;EAAgB,gBAAA;EAAA,QAAA;EAAA,QAAA;EAAA,GAAA;EAAA,QAAA;EAAA,QAAA;EAAA;AAAA,GAQ1B,iBAAA,KAAiB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"UploadedFile.mjs","names":[],"sources":["../../../../src/components/data-display/uploaded-file/UploadedFile.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport {\n uploadedFile,\n uploadedFileButtonIcon,\n uploadedFileButtonIconIcon,\n uploadedFileButtonIconIconRaw,\n uploadedFileButtonIconIconRawRoot,\n uploadedFileButtonIconRoot,\n uploadedFileContent,\n uploadedFileDetails,\n uploadedFileLink,\n uploadedFileName,\n uploadedFileRoot,\n uploadedFileSection,\n} from '@mage-ui/styled-system/recipes';\nimport {\n type IconProps,\n type IconWrappedProps,\n RemovableItem,\n type RemovableItemProps,\n} from '@/components/data-display';\n\nimport { UploadedFileIcon } from './UploadedFileIcon';\n\nexport type UploadedFileProps = {\n clearButtonLabel?: string;\n fileName?: ReactNode;\n fileType?: string;\n url?: string;\n children: ReactNode;\n onRemove: () => void;\n classNames?: {\n uploadedFile?: string;\n root?: string;\n section?: string;\n content?: string;\n details?: string;\n fileLink?: string;\n fileName?: string;\n startIconWrapped?: IconWrappedProps['classNames'];\n startIcon?: IconProps['classNames'];\n removableItem?: RemovableItemProps['classNames'];\n buttonIcon?: NonNullable<RemovableItemProps['classNames']>['buttonIcon'];\n };\n};\n\nexport const UploadedFile = ({\n clearButtonLabel = 'Remove file',\n fileName,\n fileType,\n url,\n children,\n onRemove,\n classNames,\n}: UploadedFileProps) => {\n return (\n <RemovableItem\n startSlot={\n <UploadedFileIcon\n fileType={fileType}\n fileName={typeof fileName === 'string' ? fileName : undefined}\n classNames={{\n startIconWrapped: classNames?.startIconWrapped,\n startIcon: classNames?.startIcon,\n }}\n />\n }\n onRemove={onRemove}\n removeButtonLabel={clearButtonLabel}\n classNames={{\n container:\n classNames?.removableItem?.container ??\n classNames?.uploadedFile ??\n uploadedFile(),\n root:\n classNames?.removableItem?.root ??\n classNames?.root ??\n uploadedFileRoot(),\n section:\n classNames?.removableItem?.section ??\n classNames?.section ??\n uploadedFileSection(),\n content:\n classNames?.removableItem?.content ??\n classNames?.content ??\n uploadedFileContent(),\n buttonIcon: {\n buttonIcon:\n classNames?.buttonIcon?.buttonIcon ??\n classNames?.removableItem?.buttonIcon?.buttonIcon ??\n uploadedFileButtonIcon(),\n root:\n classNames?.buttonIcon?.root ??\n classNames?.removableItem?.buttonIcon?.root ??\n uploadedFileButtonIconRoot(),\n icon:\n classNames?.buttonIcon?.icon ??\n classNames?.removableItem?.buttonIcon?.icon ??\n uploadedFileButtonIconIcon(),\n iconRaw: {\n iconRaw:\n classNames?.buttonIcon?.iconRaw?.iconRaw ??\n classNames?.removableItem?.buttonIcon?.iconRaw?.iconRaw ??\n uploadedFileButtonIconIconRaw(),\n root:\n classNames?.buttonIcon?.iconRaw?.root ??\n classNames?.removableItem?.buttonIcon?.iconRaw?.root ??\n uploadedFileButtonIconIconRawRoot(),\n },\n },\n }}\n >\n {/* TODO: comentar link */}\n {url ? (\n <a\n href={url}\n target='_blank'\n rel='noopener noreferrer'\n download\n className={classNames?.fileLink ?? uploadedFileLink()}\n >\n {fileName}\n </a>\n ) : (\n <span className={classNames?.fileName ?? uploadedFileName()}>\n {fileName}\n </span>\n )}\n\n <div className={classNames?.details ?? uploadedFileDetails()}>\n {children}\n </div>\n </RemovableItem>\n );\n};\n"],"mappings":"iiBA+CA,MAAa,GAAgB,CAC3B,mBAAmB,cACnB,WACA,WACA,MACA,WACA,WACA,gBAGE,EAAC,EAAA,CACC,UACE,EAAC,EAAA,CACW,WACV,SAAU,OAAO,GAAa,SAAW,EAAW,IAAA,GACpD,WAAY,CACV,iBAAkB,GAAY,iBAC9B,UAAW,GAAY,UACxB,EACD,CAEM,WACV,kBAAmB,EACnB,WAAY,CACV,UACE,GAAY,eAAe,WAC3B,GAAY,cACZ,GAAc,CAChB,KACE,GAAY,eAAe,MAC3B,GAAY,MACZ,GAAkB,CACpB,QACE,GAAY,eAAe,SAC3B,GAAY,SACZ,GAAqB,CACvB,QACE,GAAY,eAAe,SAC3B,GAAY,SACZ,GAAqB,CACvB,WAAY,CACV,WACE,GAAY,YAAY,YACxB,GAAY,eAAe,YAAY,YACvC,GAAwB,CAC1B,KACE,GAAY,YAAY,MACxB,GAAY,eAAe,YAAY,MACvC,GAA4B,CAC9B,KACE,GAAY,YAAY,MACxB,GAAY,eAAe,YAAY,MACvC,GAA4B,CAC9B,QAAS,CACP,QACE,GAAY,YAAY,SAAS,SACjC,GAAY,eAAe,YAAY,SAAS,SAChD,GAA+B,CACjC,KACE,GAAY,YAAY,SAAS,MACjC,GAAY,eAAe,YAAY,SAAS,MAChD,GAAmC,CACtC,CACF,CACF,WAGA,EACC,EAAC,IAAA,CACC,KAAM,EACN,OAAO,SACP,IAAI,sBACJ,SAAA,GACA,UAAW,GAAY,UAAY,GAAkB,UAEpD,GACC,CAEJ,EAAC,OAAA,CAAK,UAAW,GAAY,UAAY,GAAkB,UACxD,GACI,CAGT,EAAC,MAAA,CAAI,UAAW,GAAY,SAAW,GAAqB,CACzD,YACG,CAAA,EACQ"}
1
+ {"version":3,"file":"UploadedFile.mjs","names":[],"sources":["../../../../src/components/data-display/uploaded-file/UploadedFile.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport {\n uploadedFile,\n uploadedFileButtonIcon,\n uploadedFileButtonIconIcon,\n uploadedFileButtonIconIconRaw,\n uploadedFileButtonIconIconRawRoot,\n uploadedFileButtonIconRoot,\n uploadedFileContent,\n uploadedFileDetails,\n uploadedFileLink,\n uploadedFileName,\n uploadedFileRoot,\n uploadedFileSection,\n} from '@mage-ui/styled-system/recipes';\nimport {\n type IconProps,\n type IconWrappedProps,\n RemovableItem,\n type RemovableItemProps,\n} from '@/components/data-display';\n\nimport { UploadedFileIcon } from './UploadedFileIcon';\n\nexport type UploadedFileProps = {\n clearButtonLabel?: string;\n fileName?: ReactNode;\n fileType?: string;\n url?: string;\n children: ReactNode;\n onRemove: () => void;\n classNames?: {\n uploadedFile?: string;\n root?: string;\n section?: string;\n content?: string;\n details?: string;\n fileLink?: string;\n fileName?: string;\n startIconWrapped?: IconWrappedProps['classNames'];\n startIcon?: IconProps['classNames'];\n removableItem?: RemovableItemProps['classNames'];\n buttonIcon?: NonNullable<RemovableItemProps['classNames']>['buttonIcon'];\n };\n};\n\nexport const UploadedFile = ({\n clearButtonLabel = 'Remove file',\n fileName,\n fileType,\n url,\n children,\n onRemove,\n classNames,\n}: UploadedFileProps) => {\n return (\n <RemovableItem\n startSlot={\n <UploadedFileIcon\n fileType={fileType}\n fileName={typeof fileName === 'string' ? fileName : undefined}\n classNames={{\n startIconWrapped: classNames?.startIconWrapped,\n startIcon: classNames?.startIcon,\n }}\n />\n }\n onRemove={onRemove}\n removeButtonLabel={clearButtonLabel}\n classNames={{\n container:\n classNames?.removableItem?.container ??\n classNames?.uploadedFile ??\n uploadedFile(),\n root:\n classNames?.removableItem?.root ??\n classNames?.root ??\n uploadedFileRoot(),\n section:\n classNames?.removableItem?.section ??\n classNames?.section ??\n uploadedFileSection(),\n content:\n classNames?.removableItem?.content ??\n classNames?.content ??\n uploadedFileContent(),\n buttonIcon: {\n buttonIcon:\n classNames?.buttonIcon?.buttonIcon ??\n classNames?.removableItem?.buttonIcon?.buttonIcon ??\n uploadedFileButtonIcon(),\n root:\n classNames?.buttonIcon?.root ??\n classNames?.removableItem?.buttonIcon?.root ??\n uploadedFileButtonIconRoot(),\n icon:\n classNames?.buttonIcon?.icon ??\n classNames?.removableItem?.buttonIcon?.icon ??\n uploadedFileButtonIconIcon(),\n iconRaw: {\n iconRaw:\n classNames?.buttonIcon?.iconRaw?.iconRaw ??\n classNames?.removableItem?.buttonIcon?.iconRaw?.iconRaw ??\n uploadedFileButtonIconIconRaw(),\n root:\n classNames?.buttonIcon?.iconRaw?.root ??\n classNames?.removableItem?.buttonIcon?.iconRaw?.root ??\n uploadedFileButtonIconIconRawRoot(),\n },\n },\n }}\n >\n {/* TODO: comentar link */}\n {url ? (\n <a\n href={url}\n target='_blank'\n rel='noopener noreferrer'\n download\n className={classNames?.fileLink ?? uploadedFileLink()}\n >\n {fileName}\n </a>\n ) : (\n <span className={classNames?.fileName ?? uploadedFileName()}>\n {fileName}\n </span>\n )}\n\n <div className={classNames?.details ?? uploadedFileDetails()}>\n {children}\n </div>\n </RemovableItem>\n );\n};\n"],"mappings":"iiBA+CA,MAAa,GAAgB,CAC3B,mBAAmB,cACnB,WACA,WACA,MACA,WACA,WACA,gBAGE,EAAC,EAAD,CACE,UACE,EAAC,EAAD,CACY,WACV,SAAU,OAAO,GAAa,SAAW,EAAW,IAAA,GACpD,WAAY,CACV,iBAAkB,GAAY,iBAC9B,UAAW,GAAY,UACxB,CACD,CAAA,CAEM,WACV,kBAAmB,EACnB,WAAY,CACV,UACE,GAAY,eAAe,WAC3B,GAAY,cACZ,GAAc,CAChB,KACE,GAAY,eAAe,MAC3B,GAAY,MACZ,GAAkB,CACpB,QACE,GAAY,eAAe,SAC3B,GAAY,SACZ,GAAqB,CACvB,QACE,GAAY,eAAe,SAC3B,GAAY,SACZ,GAAqB,CACvB,WAAY,CACV,WACE,GAAY,YAAY,YACxB,GAAY,eAAe,YAAY,YACvC,GAAwB,CAC1B,KACE,GAAY,YAAY,MACxB,GAAY,eAAe,YAAY,MACvC,GAA4B,CAC9B,KACE,GAAY,YAAY,MACxB,GAAY,eAAe,YAAY,MACvC,GAA4B,CAC9B,QAAS,CACP,QACE,GAAY,YAAY,SAAS,SACjC,GAAY,eAAe,YAAY,SAAS,SAChD,GAA+B,CACjC,KACE,GAAY,YAAY,SAAS,MACjC,GAAY,eAAe,YAAY,SAAS,MAChD,GAAmC,CACtC,CACF,CACF,UAtDH,CAyDG,EACC,EAAC,IAAD,CACE,KAAM,EACN,OAAO,SACP,IAAI,sBACJ,SAAA,GACA,UAAW,GAAY,UAAY,GAAkB,UAEpD,EACC,CAAA,CAEJ,EAAC,OAAD,CAAM,UAAW,GAAY,UAAY,GAAkB,UACxD,EACI,CAAA,CAGT,EAAC,MAAD,CAAK,UAAW,GAAY,SAAW,GAAqB,CACzD,WACG,CAAA,CACQ"}
@@ -1 +1 @@
1
- {"version":3,"file":"UploadedFileDetails.mjs","names":[],"sources":["../../../../src/components/data-display/uploaded-file/UploadedFileDetails.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport {\n uploadedFileDate,\n uploadedFileSize,\n uploadedFileType,\n} from '@mage-ui/styled-system/recipes';\n\nexport type UploadedFileDetailsProps = {\n fileSize?: ReactNode;\n fileDate?: ReactNode;\n fileType?: ReactNode;\n classNames?: {\n fileSize?: string;\n fileDate?: string;\n fileType?: string;\n };\n};\n\nexport const UploadedFileDetails = ({\n fileSize,\n fileDate,\n fileType,\n classNames,\n}: UploadedFileDetailsProps) => {\n return (\n <>\n {fileSize && (\n <span className={classNames?.fileSize ?? uploadedFileSize()}>\n {fileSize}\n </span>\n )}\n {fileDate && (\n <span className={classNames?.fileDate ?? uploadedFileDate()}>\n {fileDate}\n </span>\n )}\n {fileType && (\n <span className={classNames?.fileType ?? uploadedFileType()}>\n {fileType}\n </span>\n )}\n </>\n );\n};\n"],"mappings":"8KAmBA,MAAa,GAAuB,CAClC,WACA,WACA,WACA,gBAGE,EAAA,EAAA,CAAA,SAAA,CACG,GACC,EAAC,OAAA,CAAK,UAAW,GAAY,UAAY,GAAkB,UACxD,GACI,CAER,GACC,EAAC,OAAA,CAAK,UAAW,GAAY,UAAY,GAAkB,UACxD,GACI,CAER,GACC,EAAC,OAAA,CAAK,UAAW,GAAY,UAAY,GAAkB,UACxD,GACI,GAER"}
1
+ {"version":3,"file":"UploadedFileDetails.mjs","names":[],"sources":["../../../../src/components/data-display/uploaded-file/UploadedFileDetails.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport {\n uploadedFileDate,\n uploadedFileSize,\n uploadedFileType,\n} from '@mage-ui/styled-system/recipes';\n\nexport type UploadedFileDetailsProps = {\n fileSize?: ReactNode;\n fileDate?: ReactNode;\n fileType?: ReactNode;\n classNames?: {\n fileSize?: string;\n fileDate?: string;\n fileType?: string;\n };\n};\n\nexport const UploadedFileDetails = ({\n fileSize,\n fileDate,\n fileType,\n classNames,\n}: UploadedFileDetailsProps) => {\n return (\n <>\n {fileSize && (\n <span className={classNames?.fileSize ?? uploadedFileSize()}>\n {fileSize}\n </span>\n )}\n {fileDate && (\n <span className={classNames?.fileDate ?? uploadedFileDate()}>\n {fileDate}\n </span>\n )}\n {fileType && (\n <span className={classNames?.fileType ?? uploadedFileType()}>\n {fileType}\n </span>\n )}\n </>\n );\n};\n"],"mappings":"8KAmBA,MAAa,GAAuB,CAClC,WACA,WACA,WACA,gBAGE,EAAA,EAAA,CAAA,SAAA,CACG,GACC,EAAC,OAAD,CAAM,UAAW,GAAY,UAAY,GAAkB,UACxD,EACI,CAAA,CAER,GACC,EAAC,OAAD,CAAM,UAAW,GAAY,UAAY,GAAkB,UACxD,EACI,CAAA,CAER,GACC,EAAC,OAAD,CAAM,UAAW,GAAY,UAAY,GAAkB,UACxD,EACI,CAAA,CAER,CAAA,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"UploadedFileIcon.mjs","names":[],"sources":["../../../../src/components/data-display/uploaded-file/UploadedFileIcon.tsx"],"sourcesContent":["import {\n uploadedFileStartIcon,\n uploadedFileStartIconIconRaw,\n uploadedFileStartIconIconRawRoot,\n uploadedFileStartIconRoot,\n uploadedFileStartIconWrapped,\n uploadedFileStartIconWrappedRoot,\n} from '@mage-ui/styled-system/recipes';\nimport {\n Icon,\n type IconProps,\n IconWrapped,\n type IconWrappedProps,\n} from '@/components/data-display';\n\ntype FileIconType =\n | 'image'\n | 'video'\n | 'audio'\n | 'text'\n | 'pdf'\n | 'archive'\n | 'default';\n\nconst MIME_ICON_MAP: Array<{\n match: (mime: string) => boolean;\n type: FileIconType;\n}> = [\n { match: (m) => m.startsWith('image/'), type: 'image' },\n { match: (m) => m.startsWith('video/'), type: 'video' },\n { match: (m) => m.startsWith('audio/'), type: 'audio' },\n { match: (m) => m === 'application/pdf', type: 'pdf' },\n { match: (m) => m.startsWith('text/'), type: 'text' },\n {\n match: (m) =>\n [\n 'application/zip',\n 'application/x-zip-compressed',\n 'application/x-rar-compressed',\n 'application/x-7z-compressed',\n ].includes(m),\n type: 'archive',\n },\n];\n\nconst EXTENSION_ICON_MAP: Record<string, FileIconType> = {\n png: 'image',\n jpg: 'image',\n jpeg: 'image',\n webp: 'image',\n gif: 'image',\n mp4: 'video',\n mov: 'video',\n webm: 'video',\n mp3: 'audio',\n wav: 'audio',\n txt: 'text',\n md: 'text',\n csv: 'text',\n pdf: 'pdf',\n zip: 'archive',\n rar: 'archive',\n '7z': 'archive',\n};\n\nconst ICON_NAME_MAP: Record<FileIconType, string> = {\n image: 'mage-uploaded-file-image',\n video: 'mage-uploaded-file-video',\n audio: 'mage-uploaded-file-audio',\n text: 'mage-uploaded-file-text',\n pdf: 'mage-uploaded-file-pdf',\n archive: 'mage-uploaded-file-archive',\n default: 'mage-uploaded-file-attachment',\n};\n\nconst resolveIconName = (fileType?: string, fileName?: string): string => {\n if (fileType) {\n const match = MIME_ICON_MAP.find(({ match }) => match(fileType));\n if (match) return ICON_NAME_MAP[match.type];\n }\n\n if (fileName) {\n const ext = fileName.split('.').pop()?.toLowerCase();\n if (ext && EXTENSION_ICON_MAP[ext]) {\n return ICON_NAME_MAP[EXTENSION_ICON_MAP[ext]];\n }\n }\n\n return ICON_NAME_MAP.default;\n};\n\nexport type UploadedFileIconProps = {\n fileType?: string;\n fileName?: string;\n classNames?: {\n startIconWrapped?: IconWrappedProps['classNames'];\n startIcon?: IconProps['classNames'];\n };\n};\n\nexport const UploadedFileIcon = ({\n fileType,\n fileName,\n classNames,\n}: UploadedFileIconProps) => {\n const iconName = resolveIconName(fileType, fileName);\n\n return (\n <IconWrapped\n classNames={{\n iconWrapped:\n classNames?.startIconWrapped?.iconWrapped ??\n uploadedFileStartIconWrapped(),\n root:\n classNames?.startIconWrapped?.root ??\n uploadedFileStartIconWrappedRoot(),\n }}\n >\n <Icon\n name={iconName}\n path='/icons/sprite-mage.svg'\n classNames={{\n icon: classNames?.startIcon?.icon ?? uploadedFileStartIcon(),\n root: classNames?.startIcon?.root ?? uploadedFileStartIconRoot(),\n iconRaw: {\n iconRaw:\n classNames?.startIcon?.iconRaw?.iconRaw ??\n uploadedFileStartIconIconRaw(),\n root:\n classNames?.startIcon?.iconRaw?.root ??\n uploadedFileStartIconIconRawRoot(),\n },\n }}\n />\n </IconWrapped>\n );\n};\n"],"mappings":"gZAwBA,MAAM,EAGD,CACH,CAAE,MAAQ,GAAM,EAAE,WAAW,SAAS,CAAE,KAAM,QAAS,CACvD,CAAE,MAAQ,GAAM,EAAE,WAAW,SAAS,CAAE,KAAM,QAAS,CACvD,CAAE,MAAQ,GAAM,EAAE,WAAW,SAAS,CAAE,KAAM,QAAS,CACvD,CAAE,MAAQ,GAAM,IAAM,kBAAmB,KAAM,MAAO,CACtD,CAAE,MAAQ,GAAM,EAAE,WAAW,QAAQ,CAAE,KAAM,OAAQ,CACrD,CACE,MAAQ,GACN,CACE,kBACA,+BACA,+BACA,8BACD,CAAC,SAAS,EAAE,CACf,KAAM,UACP,CACF,CAEK,EAAmD,CACvD,IAAK,QACL,IAAK,QACL,KAAM,QACN,KAAM,QACN,IAAK,QACL,IAAK,QACL,IAAK,QACL,KAAM,QACN,IAAK,QACL,IAAK,QACL,IAAK,OACL,GAAI,OACJ,IAAK,OACL,IAAK,MACL,IAAK,UACL,IAAK,UACL,KAAM,UACP,CAEK,EAA8C,CAClD,MAAO,2BACP,MAAO,2BACP,MAAO,2BACP,KAAM,0BACN,IAAK,yBACL,QAAS,6BACT,QAAS,gCACV,CAEK,GAAmB,EAAmB,IAA8B,CACxE,GAAI,EAAU,CACZ,IAAM,EAAQ,EAAc,MAAM,CAAE,WAAY,EAAM,EAAS,CAAC,CAChE,GAAI,EAAO,OAAO,EAAc,EAAM,MAGxC,GAAI,EAAU,CACZ,IAAM,EAAM,EAAS,MAAM,IAAI,CAAC,KAAK,EAAE,aAAa,CACpD,GAAI,GAAO,EAAmB,GAC5B,OAAO,EAAc,EAAmB,IAI5C,OAAO,EAAc,SAYV,GAAoB,CAC/B,WACA,WACA,gBAC2B,CAC3B,IAAM,EAAW,EAAgB,EAAU,EAAS,CAEpD,OACE,EAAC,EAAA,CACC,WAAY,CACV,YACE,GAAY,kBAAkB,aAC9B,GAA8B,CAChC,KACE,GAAY,kBAAkB,MAC9B,GAAkC,CACrC,UAED,EAAC,EAAA,CACC,KAAM,EACN,KAAK,yBACL,WAAY,CACV,KAAM,GAAY,WAAW,MAAQ,GAAuB,CAC5D,KAAM,GAAY,WAAW,MAAQ,GAA2B,CAChE,QAAS,CACP,QACE,GAAY,WAAW,SAAS,SAChC,GAA8B,CAChC,KACE,GAAY,WAAW,SAAS,MAChC,GAAkC,CACrC,CACF,EACD,EACU"}
1
+ {"version":3,"file":"UploadedFileIcon.mjs","names":[],"sources":["../../../../src/components/data-display/uploaded-file/UploadedFileIcon.tsx"],"sourcesContent":["import {\n uploadedFileStartIcon,\n uploadedFileStartIconIconRaw,\n uploadedFileStartIconIconRawRoot,\n uploadedFileStartIconRoot,\n uploadedFileStartIconWrapped,\n uploadedFileStartIconWrappedRoot,\n} from '@mage-ui/styled-system/recipes';\nimport {\n Icon,\n type IconProps,\n IconWrapped,\n type IconWrappedProps,\n} from '@/components/data-display';\n\ntype FileIconType =\n | 'image'\n | 'video'\n | 'audio'\n | 'text'\n | 'pdf'\n | 'archive'\n | 'default';\n\nconst MIME_ICON_MAP: Array<{\n match: (mime: string) => boolean;\n type: FileIconType;\n}> = [\n { match: (m) => m.startsWith('image/'), type: 'image' },\n { match: (m) => m.startsWith('video/'), type: 'video' },\n { match: (m) => m.startsWith('audio/'), type: 'audio' },\n { match: (m) => m === 'application/pdf', type: 'pdf' },\n { match: (m) => m.startsWith('text/'), type: 'text' },\n {\n match: (m) =>\n [\n 'application/zip',\n 'application/x-zip-compressed',\n 'application/x-rar-compressed',\n 'application/x-7z-compressed',\n ].includes(m),\n type: 'archive',\n },\n];\n\nconst EXTENSION_ICON_MAP: Record<string, FileIconType> = {\n png: 'image',\n jpg: 'image',\n jpeg: 'image',\n webp: 'image',\n gif: 'image',\n mp4: 'video',\n mov: 'video',\n webm: 'video',\n mp3: 'audio',\n wav: 'audio',\n txt: 'text',\n md: 'text',\n csv: 'text',\n pdf: 'pdf',\n zip: 'archive',\n rar: 'archive',\n '7z': 'archive',\n};\n\nconst ICON_NAME_MAP: Record<FileIconType, string> = {\n image: 'mage-uploaded-file-image',\n video: 'mage-uploaded-file-video',\n audio: 'mage-uploaded-file-audio',\n text: 'mage-uploaded-file-text',\n pdf: 'mage-uploaded-file-pdf',\n archive: 'mage-uploaded-file-archive',\n default: 'mage-uploaded-file-attachment',\n};\n\nconst resolveIconName = (fileType?: string, fileName?: string): string => {\n if (fileType) {\n const match = MIME_ICON_MAP.find(({ match }) => match(fileType));\n if (match) return ICON_NAME_MAP[match.type];\n }\n\n if (fileName) {\n const ext = fileName.split('.').pop()?.toLowerCase();\n if (ext && EXTENSION_ICON_MAP[ext]) {\n return ICON_NAME_MAP[EXTENSION_ICON_MAP[ext]];\n }\n }\n\n return ICON_NAME_MAP.default;\n};\n\nexport type UploadedFileIconProps = {\n fileType?: string;\n fileName?: string;\n classNames?: {\n startIconWrapped?: IconWrappedProps['classNames'];\n startIcon?: IconProps['classNames'];\n };\n};\n\nexport const UploadedFileIcon = ({\n fileType,\n fileName,\n classNames,\n}: UploadedFileIconProps) => {\n const iconName = resolveIconName(fileType, fileName);\n\n return (\n <IconWrapped\n classNames={{\n iconWrapped:\n classNames?.startIconWrapped?.iconWrapped ??\n uploadedFileStartIconWrapped(),\n root:\n classNames?.startIconWrapped?.root ??\n uploadedFileStartIconWrappedRoot(),\n }}\n >\n <Icon\n name={iconName}\n path='/icons/sprite-mage.svg'\n classNames={{\n icon: classNames?.startIcon?.icon ?? uploadedFileStartIcon(),\n root: classNames?.startIcon?.root ?? uploadedFileStartIconRoot(),\n iconRaw: {\n iconRaw:\n classNames?.startIcon?.iconRaw?.iconRaw ??\n uploadedFileStartIconIconRaw(),\n root:\n classNames?.startIcon?.iconRaw?.root ??\n uploadedFileStartIconIconRawRoot(),\n },\n }}\n />\n </IconWrapped>\n );\n};\n"],"mappings":"gZAwBA,MAAM,EAGD,CACH,CAAE,MAAQ,GAAM,EAAE,WAAW,SAAS,CAAE,KAAM,QAAS,CACvD,CAAE,MAAQ,GAAM,EAAE,WAAW,SAAS,CAAE,KAAM,QAAS,CACvD,CAAE,MAAQ,GAAM,EAAE,WAAW,SAAS,CAAE,KAAM,QAAS,CACvD,CAAE,MAAQ,GAAM,IAAM,kBAAmB,KAAM,MAAO,CACtD,CAAE,MAAQ,GAAM,EAAE,WAAW,QAAQ,CAAE,KAAM,OAAQ,CACrD,CACE,MAAQ,GACN,CACE,kBACA,+BACA,+BACA,8BACD,CAAC,SAAS,EAAE,CACf,KAAM,UACP,CACF,CAEK,EAAmD,CACvD,IAAK,QACL,IAAK,QACL,KAAM,QACN,KAAM,QACN,IAAK,QACL,IAAK,QACL,IAAK,QACL,KAAM,QACN,IAAK,QACL,IAAK,QACL,IAAK,OACL,GAAI,OACJ,IAAK,OACL,IAAK,MACL,IAAK,UACL,IAAK,UACL,KAAM,UACP,CAEK,EAA8C,CAClD,MAAO,2BACP,MAAO,2BACP,MAAO,2BACP,KAAM,0BACN,IAAK,yBACL,QAAS,6BACT,QAAS,gCACV,CAEK,GAAmB,EAAmB,IAA8B,CACxE,GAAI,EAAU,CACZ,IAAM,EAAQ,EAAc,MAAM,CAAE,WAAY,EAAM,EAAS,CAAC,CAChE,GAAI,EAAO,OAAO,EAAc,EAAM,MAGxC,GAAI,EAAU,CACZ,IAAM,EAAM,EAAS,MAAM,IAAI,CAAC,KAAK,EAAE,aAAa,CACpD,GAAI,GAAO,EAAmB,GAC5B,OAAO,EAAc,EAAmB,IAI5C,OAAO,EAAc,SAYV,GAAoB,CAC/B,WACA,WACA,gBAC2B,CAC3B,IAAM,EAAW,EAAgB,EAAU,EAAS,CAEpD,OACE,EAAC,EAAD,CACE,WAAY,CACV,YACE,GAAY,kBAAkB,aAC9B,GAA8B,CAChC,KACE,GAAY,kBAAkB,MAC9B,GAAkC,CACrC,UAED,EAAC,EAAD,CACE,KAAM,EACN,KAAK,yBACL,WAAY,CACV,KAAM,GAAY,WAAW,MAAQ,GAAuB,CAC5D,KAAM,GAAY,WAAW,MAAQ,GAA2B,CAChE,QAAS,CACP,QACE,GAAY,WAAW,SAAS,SAChC,GAA8B,CAChC,KACE,GAAY,WAAW,SAAS,MAChC,GAAkC,CACrC,CACF,CACD,CAAA,CACU,CAAA"}
@@ -1,8 +1,8 @@
1
1
  import { TextInputProps } from "../controls/text-input/TextInput.mjs";
2
+ import { TextareaProps } from "../controls/textarea/Textarea.mjs";
2
3
  import { FormSubmitProps } from "./controls/FormSubmit.mjs";
3
4
  import { FormCheckboxProps } from "./controls/FormCheckbox.mjs";
4
5
  import { FormPasswordProps } from "./controls/FormPassword.mjs";
5
- import "../index.mjs";
6
6
  import * as react_jsx_runtime0 from "react/jsx-runtime";
7
7
  import React, { ReactNode } from "react";
8
8
  import { FieldValues, UseFormSetError } from "react-hook-form";
@@ -58,6 +58,18 @@ declare const Form: {
58
58
  } & TextInputProps): react_jsx_runtime0.JSX.Element;
59
59
  displayName: string;
60
60
  };
61
+ Textarea: {
62
+ ({
63
+ $rule,
64
+ isSubmitting,
65
+ ...props
66
+ }: {
67
+ $rule?: string;
68
+ isSubmitting?: boolean;
69
+ name: string;
70
+ } & TextareaProps): react_jsx_runtime0.JSX.Element;
71
+ displayName: string;
72
+ };
61
73
  Submit: {
62
74
  ({
63
75
  children,
@@ -1 +1 @@
1
- {"version":3,"file":"Form.d.mts","names":[],"sources":["../../../src/components/forms/Form.tsx"],"mappings":";;;;;;;;;;;KAeK,YAAA;EACH,IAAA;EACA,OAAA;EACA,MAAA;EACA,GAAA;AAAA;AAAA,KAGU,SAAA,WAAoB,WAAA;EAC9B,QAAA,GAAW,MAAA;IAAU,IAAA,EAAM,CAAA;EAAA,MAAQ,OAAA;EACnC,aAAA,IAAiB,QAAA,EAAU,YAAA;EAC3B,eAAA,IAAmB,MAAA;IACjB,OAAA;IACA,QAAA,EAAU,eAAA,CAAgB,CAAA;IAC1B,MAAA;EAAA;EAEF,aAAA;EACA,QAAA,EAAU,SAAA;EACV,MAAA,GAAS,SAAA,CAAU,MAAA,SAAe,UAAA;EAClC,CAAA,IACE,GAAA,UACA,QAAA,GAAW,MAAA,kBACX,QAAA,uBACY,KAAA,CAAM,SAAA;EACpB,UAAA;IACE,IAAA;IACA,IAAA;EAAA;AAAA;AAAA,cAYS,IAAA;EAAA,WAAkB,WAAA;IAAW,QAAA;IAAA,aAAA;IAAA,eAAA;IAAA,aAAA;IAAA,QAAA;IAAA,MAAA;IAAA,CAAA;IAAA;EAAA,GASvC,SAAA,CAAU,CAAA,IAAE,kBAAA,CAAA,GAAA,CAAA,OAAA"}
1
+ {"version":3,"file":"Form.d.mts","names":[],"sources":["../../../src/components/forms/Form.tsx"],"mappings":";;;;;;;;;;;KAgBK,YAAA;EACH,IAAA;EACA,OAAA;EACA,MAAA;EACA,GAAA;AAAA;AAAA,KAGU,SAAA,WAAoB,WAAA;EAC9B,QAAA,GAAW,MAAA;IAAU,IAAA,EAAM,CAAA;EAAA,MAAQ,OAAA;EACnC,aAAA,IAAiB,QAAA,EAAU,YAAA;EAC3B,eAAA,IAAmB,MAAA;IACjB,OAAA;IACA,QAAA,EAAU,eAAA,CAAgB,CAAA;IAC1B,MAAA;EAAA;EAEF,aAAA;EACA,QAAA,EAAU,SAAA;EACV,MAAA,GAAS,SAAA,CAAU,MAAA,SAAe,UAAA;EAClC,CAAA,IACE,GAAA,UACA,QAAA,GAAW,MAAA,kBACX,QAAA,uBACY,KAAA,CAAM,SAAA;EACpB,UAAA;IACE,IAAA;IACA,IAAA;EAAA;AAAA;AAAA,cAYS,IAAA;EAAA,WAAkB,WAAA;IAAW,QAAA;IAAA,aAAA;IAAA,eAAA;IAAA,aAAA;IAAA,QAAA;IAAA,MAAA;IAAA,CAAA;IAAA;EAAA,GASvC,SAAA,CAAU,CAAA,IAAE,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -1,2 +1,2 @@
1
- import{FormCheckbox as e}from"./controls/FormCheckbox.mjs";import{FormHidden as t}from"./controls/FormHidden.mjs";import{FormPassword as n}from"./controls/FormPassword.mjs";import{FormSubmit as r}from"./controls/FormSubmit.mjs";import{FormTextInput as i}from"./controls/FormTextInput.mjs";import{FormBase as a}from"./FormBase.mjs";import{FormErrorBox as o}from"./FormErrorBox.mjs";import{form as s,formRoot as c}from"@mage-ui/styled-system/recipes";import{jsx as l}from"react/jsx-runtime";const u=({$fetcher:e,onValidSubmit:t,onInvalidSubmit:n,invalidStatus:r=[],children:i,schema:u,t:d,classNames:f})=>l(a,{onSubmit:async({data:i,setError:a})=>{await e({data:i}).then(e=>{let n=e;if(n?.statusCode&&n.statusCode>=400)throw n;t?.(e||{})}).catch(e=>{switch(e.statusCode){case 400:case 422:e.cause?.issues&&Object.keys(e.cause.issues).forEach(t=>{a(t,{type:`server`,message:e.cause?.issues?.[t]})}),a(`root.serverError`,{type:`server`,message:e?.message??`Something went wrong`});break;default:if(r.includes(e.statusCode)){n?.({message:e.message,setError:a,status:e.statusCode});break}throw e}})},schema:u,errorBox:o,t:d,classNames:{form:f?.form??s(),root:f?.root??c()},children:i});u.displayName=`Form`,u.TextInput=i,u.Submit=r,u.Hidden=t,u.Checkbox=e,u.Password=n;export{u as Form};
1
+ import{FormCheckbox as e}from"./controls/FormCheckbox.mjs";import{FormHidden as t}from"./controls/FormHidden.mjs";import{FormPassword as n}from"./controls/FormPassword.mjs";import{FormSubmit as r}from"./controls/FormSubmit.mjs";import{FormTextarea as i}from"./controls/FormTextarea.mjs";import{FormTextInput as a}from"./controls/FormTextInput.mjs";import{FormBase as o}from"./FormBase.mjs";import{FormErrorBox as s}from"./FormErrorBox.mjs";import{form as c,formRoot as l}from"@mage-ui/styled-system/recipes";import{jsx as u}from"react/jsx-runtime";const d=({$fetcher:e,onValidSubmit:t,onInvalidSubmit:n,invalidStatus:r=[],children:i,schema:a,t:d,classNames:f})=>u(o,{onSubmit:async({data:i,setError:a})=>{await e({data:i}).then(e=>{let n=e;if(n?.statusCode&&n.statusCode>=400)throw n;t?.(e||{})}).catch(e=>{switch(e.statusCode){case 400:case 422:e.cause?.issues&&Object.keys(e.cause.issues).forEach(t=>{a(t,{type:`server`,message:e.cause?.issues?.[t]})}),a(`root.serverError`,{type:`server`,message:e?.message??`Something went wrong`});break;default:if(r.includes(e.statusCode)){n?.({message:e.message,setError:a,status:e.statusCode});break}throw e}})},schema:a,errorBox:s,t:d,classNames:{form:f?.form??c(),root:f?.root??l()},children:i});d.displayName=`Form`,d.TextInput=a,d.Textarea=i,d.Submit=r,d.Hidden=t,d.Checkbox=e,d.Password=n;export{d as Form};
2
2
  //# sourceMappingURL=Form.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Form.mjs","names":[],"sources":["../../../src/components/forms/Form.tsx"],"sourcesContent":["import type React from 'react';\nimport type { ReactNode } from 'react';\nimport type { FieldValues, UseFormSetError } from 'react-hook-form';\nimport type { ZodObject, ZodTypeAny } from 'zod';\n\nimport { form, formRoot } from '@mage-ui/styled-system/recipes';\n\nimport { FormCheckbox } from './controls/FormCheckbox';\nimport { FormHidden } from './controls/FormHidden';\nimport { FormPassword } from './controls/FormPassword';\nimport { FormSubmit } from './controls/FormSubmit';\nimport { FormTextInput } from './controls/FormTextInput';\nimport { FormBase } from './FormBase';\nimport { FormErrorBox } from './FormErrorBox';\n\ntype FormResponse = {\n body?: object;\n details?: string;\n status?: number;\n url?: string;\n};\n\nexport type FormProps<T extends FieldValues> = {\n $fetcher: (params: { data: T }) => Promise<unknown>;\n onValidSubmit?: (response: FormResponse) => void;\n onInvalidSubmit?: (params: {\n message: string;\n setError: UseFormSetError<T>;\n status: number;\n }) => void;\n invalidStatus?: number[];\n children: ReactNode;\n schema?: ZodObject<Record<string, ZodTypeAny>>;\n t?: (\n key: string,\n bindings?: Record<string, string>,\n fallback?: string,\n ) => string | React.ReactNode;\n classNames?: {\n form?: string;\n root?: string;\n };\n};\n\ntype FormError = {\n statusCode: number;\n message: string;\n cause?: {\n issues: Record<string, string>;\n };\n};\n\nexport const Form = <T extends FieldValues>({\n $fetcher,\n onValidSubmit,\n onInvalidSubmit,\n invalidStatus = [],\n children,\n schema,\n t,\n classNames,\n}: FormProps<T>) => {\n const onSubmit = async ({\n data,\n setError,\n }: {\n data: FieldValues;\n setError: UseFormSetError<FieldValues>;\n }) => {\n await $fetcher({ data: data as T })\n .then((response) => {\n const res = response as FormError & FormResponse;\n if (res?.statusCode && res.statusCode >= 400) {\n throw res;\n }\n\n onValidSubmit?.((response || {}) as FormResponse);\n })\n .catch((error: FormError) => {\n switch (error.statusCode) {\n case 400:\n case 422: {\n if (error.cause?.issues) {\n Object.keys(error.cause.issues).forEach((key) => {\n setError(key, {\n type: 'server',\n message: error.cause?.issues?.[key],\n });\n });\n }\n setError('root.serverError', {\n type: 'server',\n message: error?.message ?? 'Something went wrong',\n });\n break;\n }\n default:\n if (invalidStatus.includes(error.statusCode)) {\n onInvalidSubmit?.({\n message: error.message,\n setError: setError as UseFormSetError<T>,\n status: error.statusCode,\n });\n break;\n }\n throw error;\n }\n });\n };\n\n return (\n <FormBase\n onSubmit={onSubmit}\n schema={schema}\n errorBox={FormErrorBox}\n t={t}\n classNames={{\n form: classNames?.form ?? form(),\n root: classNames?.root ?? formRoot(),\n }}\n >\n {children}\n </FormBase>\n );\n};\n\nForm.displayName = 'Form';\nForm.TextInput = FormTextInput;\nForm.Submit = FormSubmit;\nForm.Hidden = FormHidden;\nForm.Checkbox = FormCheckbox;\nForm.Password = FormPassword;\n"],"mappings":"yeAoDA,MAAa,GAA+B,CAC1C,WACA,gBACA,kBACA,gBAAgB,EAAE,CAClB,WACA,SACA,IACA,gBAmDE,EAAC,EAAA,CACW,SAlDG,MAAO,CACtB,OACA,cAII,CACJ,MAAM,EAAS,CAAQ,OAAW,CAAC,CAChC,KAAM,GAAa,CAClB,IAAM,EAAM,EACZ,GAAI,GAAK,YAAc,EAAI,YAAc,IACvC,MAAM,EAGR,IAAiB,GAAY,EAAE,CAAkB,EACjD,CACD,MAAO,GAAqB,CAC3B,OAAQ,EAAM,WAAd,CACE,IAAK,KACL,IAAK,KACC,EAAM,OAAO,QACf,OAAO,KAAK,EAAM,MAAM,OAAO,CAAC,QAAS,GAAQ,CAC/C,EAAS,EAAK,CACZ,KAAM,SACN,QAAS,EAAM,OAAO,SAAS,GAChC,CAAC,EACF,CAEJ,EAAS,mBAAoB,CAC3B,KAAM,SACN,QAAS,GAAO,SAAW,uBAC5B,CAAC,CACF,MAEF,QACE,GAAI,EAAc,SAAS,EAAM,WAAW,CAAE,CAC5C,IAAkB,CAChB,QAAS,EAAM,QACL,WACV,OAAQ,EAAM,WACf,CAAC,CACF,MAEF,MAAM,IAEV,EAMM,SACR,SAAU,EACP,IACH,WAAY,CACV,KAAM,GAAY,MAAQ,GAAM,CAChC,KAAM,GAAY,MAAQ,GAAU,CACrC,CAEA,YACQ,CAIf,EAAK,YAAc,OACnB,EAAK,UAAY,EACjB,EAAK,OAAS,EACd,EAAK,OAAS,EACd,EAAK,SAAW,EAChB,EAAK,SAAW"}
1
+ {"version":3,"file":"Form.mjs","names":[],"sources":["../../../src/components/forms/Form.tsx"],"sourcesContent":["import type React from 'react';\nimport type { ReactNode } from 'react';\nimport type { FieldValues, UseFormSetError } from 'react-hook-form';\nimport type { ZodObject, ZodTypeAny } from 'zod';\n\nimport { form, formRoot } from '@mage-ui/styled-system/recipes';\n\nimport { FormCheckbox } from './controls/FormCheckbox';\nimport { FormHidden } from './controls/FormHidden';\nimport { FormPassword } from './controls/FormPassword';\nimport { FormSubmit } from './controls/FormSubmit';\nimport { FormTextarea } from './controls/FormTextarea';\nimport { FormTextInput } from './controls/FormTextInput';\nimport { FormBase } from './FormBase';\nimport { FormErrorBox } from './FormErrorBox';\n\ntype FormResponse = {\n body?: object;\n details?: string;\n status?: number;\n url?: string;\n};\n\nexport type FormProps<T extends FieldValues> = {\n $fetcher: (params: { data: T }) => Promise<unknown>;\n onValidSubmit?: (response: FormResponse) => void;\n onInvalidSubmit?: (params: {\n message: string;\n setError: UseFormSetError<T>;\n status: number;\n }) => void;\n invalidStatus?: number[];\n children: ReactNode;\n schema?: ZodObject<Record<string, ZodTypeAny>>;\n t?: (\n key: string,\n bindings?: Record<string, string>,\n fallback?: string,\n ) => string | React.ReactNode;\n classNames?: {\n form?: string;\n root?: string;\n };\n};\n\ntype FormError = {\n statusCode: number;\n message: string;\n cause?: {\n issues: Record<string, string>;\n };\n};\n\nexport const Form = <T extends FieldValues>({\n $fetcher,\n onValidSubmit,\n onInvalidSubmit,\n invalidStatus = [],\n children,\n schema,\n t,\n classNames,\n}: FormProps<T>) => {\n const onSubmit = async ({\n data,\n setError,\n }: {\n data: FieldValues;\n setError: UseFormSetError<FieldValues>;\n }) => {\n await $fetcher({ data: data as T })\n .then((response) => {\n const res = response as FormError & FormResponse;\n if (res?.statusCode && res.statusCode >= 400) {\n throw res;\n }\n\n onValidSubmit?.((response || {}) as FormResponse);\n })\n .catch((error: FormError) => {\n switch (error.statusCode) {\n case 400:\n case 422: {\n if (error.cause?.issues) {\n Object.keys(error.cause.issues).forEach((key) => {\n setError(key, {\n type: 'server',\n message: error.cause?.issues?.[key],\n });\n });\n }\n setError('root.serverError', {\n type: 'server',\n message: error?.message ?? 'Something went wrong',\n });\n break;\n }\n default:\n if (invalidStatus.includes(error.statusCode)) {\n onInvalidSubmit?.({\n message: error.message,\n setError: setError as UseFormSetError<T>,\n status: error.statusCode,\n });\n break;\n }\n throw error;\n }\n });\n };\n\n return (\n <FormBase\n onSubmit={onSubmit}\n schema={schema}\n errorBox={FormErrorBox}\n t={t}\n classNames={{\n form: classNames?.form ?? form(),\n root: classNames?.root ?? formRoot(),\n }}\n >\n {children}\n </FormBase>\n );\n};\n\nForm.displayName = 'Form';\nForm.TextInput = FormTextInput;\nForm.Textarea = FormTextarea;\nForm.Submit = FormSubmit;\nForm.Hidden = FormHidden;\nForm.Checkbox = FormCheckbox;\nForm.Password = FormPassword;\n"],"mappings":"oiBAqDA,MAAa,GAA+B,CAC1C,WACA,gBACA,kBACA,gBAAgB,EAAE,CAClB,WACA,SACA,IACA,gBAmDE,EAAC,EAAD,CACY,SAlDG,MAAO,CACtB,OACA,cAII,CACJ,MAAM,EAAS,CAAQ,OAAW,CAAC,CAChC,KAAM,GAAa,CAClB,IAAM,EAAM,EACZ,GAAI,GAAK,YAAc,EAAI,YAAc,IACvC,MAAM,EAGR,IAAiB,GAAY,EAAE,CAAkB,EACjD,CACD,MAAO,GAAqB,CAC3B,OAAQ,EAAM,WAAd,CACE,IAAK,KACL,IAAK,KACC,EAAM,OAAO,QACf,OAAO,KAAK,EAAM,MAAM,OAAO,CAAC,QAAS,GAAQ,CAC/C,EAAS,EAAK,CACZ,KAAM,SACN,QAAS,EAAM,OAAO,SAAS,GAChC,CAAC,EACF,CAEJ,EAAS,mBAAoB,CAC3B,KAAM,SACN,QAAS,GAAO,SAAW,uBAC5B,CAAC,CACF,MAEF,QACE,GAAI,EAAc,SAAS,EAAM,WAAW,CAAE,CAC5C,IAAkB,CAChB,QAAS,EAAM,QACL,WACV,OAAQ,EAAM,WACf,CAAC,CACF,MAEF,MAAM,IAEV,EAMM,SACR,SAAU,EACP,IACH,WAAY,CACV,KAAM,GAAY,MAAQ,GAAM,CAChC,KAAM,GAAY,MAAQ,GAAU,CACrC,CAEA,WACQ,CAAA,CAIf,EAAK,YAAc,OACnB,EAAK,UAAY,EACjB,EAAK,SAAW,EAChB,EAAK,OAAS,EACd,EAAK,OAAS,EACd,EAAK,SAAW,EAChB,EAAK,SAAW"}
@@ -1 +1 @@
1
- {"version":3,"file":"FormBase.mjs","names":["z"],"sources":["../../../src/components/forms/FormBase.tsx"],"sourcesContent":["'use client';\n\nimport type React from 'react';\nimport { useEffect } from 'react';\nimport type {\n DeepPartialSkipArrayKey,\n FieldErrors,\n FieldValues,\n UseFormSetError,\n} from 'react-hook-form';\nimport { FormProvider, useForm } from 'react-hook-form';\nimport * as z from 'zod';\n\nimport { zodResolver } from '@hookform/resolvers/zod';\nimport { cx } from '@mage-ui/styled-system/css';\n\nimport { controls } from './controls';\nimport { RegisteredFormChildren } from './controls/register-components';\nimport { extractFormRules } from './rules/extract-form-rules';\n\ntype FormProps = {\n children: React.ReactNode;\n schema?: z.ZodObject<Record<string, z.ZodTypeAny>>;\n errorBox: React.ComponentType<{ errors: FieldErrors }>;\n onWatch?: (values: DeepPartialSkipArrayKey<FieldValues>) => void;\n onSubmit: (args: {\n data: FieldValues;\n setError: UseFormSetError<FieldValues>;\n }) => void | Promise<void>;\n t?: (\n key: string,\n bindings?: Record<string, string>,\n fallback?: string,\n ) => string | React.ReactNode;\n mode?: 'onBlur' | 'onChange' | 'onSubmit' | 'onTouched' | 'all';\n reValidateMode?: 'onBlur' | 'onChange' | 'onSubmit';\n classNames?: {\n form?: string;\n root?: string;\n };\n};\n\nexport const FormBase = ({\n errorBox: ErrorBox,\n onWatch,\n onSubmit,\n children,\n schema = z.object({}),\n t,\n mode = 'onSubmit',\n reValidateMode = 'onChange',\n classNames,\n}: FormProps) => {\n const rules = (\n schema\n ? schema.and(extractFormRules(children, controls) as z.ZodTypeAny)\n : (extractFormRules(children, controls) as z.ZodTypeAny)\n ) as z.ZodType<FieldValues, FieldValues>;\n\n const form = useForm({\n shouldFocusError: true,\n resolver: zodResolver(rules),\n mode,\n reValidateMode,\n });\n\n const {\n register,\n handleSubmit,\n setError,\n formState: { errors },\n watch,\n } = form;\n\n useEffect(() => {\n const { unsubscribe } = watch((values) => {\n onWatch?.(values);\n });\n return () => unsubscribe();\n }, [watch, onWatch]);\n\n return (\n <FormProvider {...form} {...({ t } as Record<string, unknown>)}>\n <ErrorBox errors={errors} />\n <form\n onSubmit={handleSubmit((data) => onSubmit({ data, setError }))}\n className={cx(classNames?.form, classNames?.root)}\n >\n <RegisteredFormChildren\n register={register}\n componentTypes={controls}\n errors={errors}\n t={t}\n >\n {children}\n </RegisteredFormChildren>\n </form>\n </FormProvider>\n );\n};\n"],"mappings":"udA0CA,MAAa,GAAY,CACvB,SAAU,EACV,UACA,WACA,WACA,SAASA,EAAE,OAAO,EAAE,CAAC,CACrB,IACA,OAAO,WACP,iBAAiB,WACjB,gBACe,CAOf,IAAM,EAAO,EAAQ,CACnB,iBAAkB,GAClB,SAAU,EAPV,EACI,EAAO,IAAI,EAAiB,EAAU,EAAS,CAAiB,CAC/D,EAAiB,EAAU,EAAS,CAKb,CAC5B,OACA,iBACD,CAAC,CAEI,CACJ,WACA,eACA,WACA,UAAW,CAAE,UACb,SACE,EASJ,OAPA,MAAgB,CACd,GAAM,CAAE,eAAgB,EAAO,GAAW,CACxC,IAAU,EAAO,EACjB,CACF,UAAa,GAAa,EACzB,CAAC,EAAO,EAAQ,CAAC,CAGlB,EAAC,EAAA,CAAa,GAAI,EAAa,cAC7B,EAAC,EAAA,CAAiB,SAAA,CAAU,CAC5B,EAAC,OAAA,CACC,SAAU,EAAc,GAAS,EAAS,CAAE,OAAM,WAAU,CAAC,CAAC,CAC9D,UAAW,EAAG,GAAY,KAAM,GAAY,KAAK,UAEjD,EAAC,EAAA,CACW,WACV,eAAgB,EACR,SACL,IAEF,YACsB,EACpB,CAAA,EACM"}
1
+ {"version":3,"file":"FormBase.mjs","names":["z"],"sources":["../../../src/components/forms/FormBase.tsx"],"sourcesContent":["'use client';\n\nimport type React from 'react';\nimport { useEffect } from 'react';\nimport type {\n DeepPartialSkipArrayKey,\n FieldErrors,\n FieldValues,\n UseFormSetError,\n} from 'react-hook-form';\nimport { FormProvider, useForm } from 'react-hook-form';\nimport * as z from 'zod';\n\nimport { zodResolver } from '@hookform/resolvers/zod';\nimport { cx } from '@mage-ui/styled-system/css';\n\nimport { controls } from './controls';\nimport { RegisteredFormChildren } from './controls/register-components';\nimport { extractFormRules } from './rules/extract-form-rules';\n\ntype FormProps = {\n children: React.ReactNode;\n schema?: z.ZodObject<Record<string, z.ZodTypeAny>>;\n errorBox: React.ComponentType<{ errors: FieldErrors }>;\n onWatch?: (values: DeepPartialSkipArrayKey<FieldValues>) => void;\n onSubmit: (args: {\n data: FieldValues;\n setError: UseFormSetError<FieldValues>;\n }) => void | Promise<void>;\n t?: (\n key: string,\n bindings?: Record<string, string>,\n fallback?: string,\n ) => string | React.ReactNode;\n mode?: 'onBlur' | 'onChange' | 'onSubmit' | 'onTouched' | 'all';\n reValidateMode?: 'onBlur' | 'onChange' | 'onSubmit';\n classNames?: {\n form?: string;\n root?: string;\n };\n};\n\nexport const FormBase = ({\n errorBox: ErrorBox,\n onWatch,\n onSubmit,\n children,\n schema = z.object({}),\n t,\n mode = 'onSubmit',\n reValidateMode = 'onChange',\n classNames,\n}: FormProps) => {\n const rules = (\n schema\n ? schema.and(extractFormRules(children, controls) as z.ZodTypeAny)\n : (extractFormRules(children, controls) as z.ZodTypeAny)\n ) as z.ZodType<FieldValues, FieldValues>;\n\n const form = useForm({\n shouldFocusError: true,\n resolver: zodResolver(rules),\n mode,\n reValidateMode,\n });\n\n const {\n register,\n handleSubmit,\n setError,\n formState: { errors },\n watch,\n } = form;\n\n useEffect(() => {\n const { unsubscribe } = watch((values) => {\n onWatch?.(values);\n });\n return () => unsubscribe();\n }, [watch, onWatch]);\n\n return (\n <FormProvider {...form} {...({ t } as Record<string, unknown>)}>\n <ErrorBox errors={errors} />\n <form\n onSubmit={handleSubmit((data) => onSubmit({ data, setError }))}\n className={cx(classNames?.form, classNames?.root)}\n >\n <RegisteredFormChildren\n register={register}\n componentTypes={controls}\n errors={errors}\n t={t}\n >\n {children}\n </RegisteredFormChildren>\n </form>\n </FormProvider>\n );\n};\n"],"mappings":"udA0CA,MAAa,GAAY,CACvB,SAAU,EACV,UACA,WACA,WACA,SAASA,EAAE,OAAO,EAAE,CAAC,CACrB,IACA,OAAO,WACP,iBAAiB,WACjB,gBACe,CAOf,IAAM,EAAO,EAAQ,CACnB,iBAAkB,GAClB,SAAU,EAPV,EACI,EAAO,IAAI,EAAiB,EAAU,EAAS,CAAiB,CAC/D,EAAiB,EAAU,EAAS,CAKb,CAC5B,OACA,iBACD,CAAC,CAEI,CACJ,WACA,eACA,WACA,UAAW,CAAE,UACb,SACE,EASJ,OAPA,MAAgB,CACd,GAAM,CAAE,eAAgB,EAAO,GAAW,CACxC,IAAU,EAAO,EACjB,CACF,UAAa,GAAa,EACzB,CAAC,EAAO,EAAQ,CAAC,CAGlB,EAAC,EAAD,CAAc,GAAI,EAAa,aAA/B,CACE,EAAC,EAAD,CAAkB,SAAU,CAAA,CAC5B,EAAC,OAAD,CACE,SAAU,EAAc,GAAS,EAAS,CAAE,OAAM,WAAU,CAAC,CAAC,CAC9D,UAAW,EAAG,GAAY,KAAM,GAAY,KAAK,UAEjD,EAAC,EAAD,CACY,WACV,eAAgB,EACR,SACL,IAEF,WACsB,CAAA,CACpB,CAAA,CACM"}
@@ -1 +1 @@
1
- {"version":3,"file":"FormErrorBox.mjs","names":[],"sources":["../../../src/components/forms/FormErrorBox.tsx"],"sourcesContent":["import type { FieldErrors } from 'react-hook-form';\n\nimport { NotificationBanner } from '../data-display';\n\nexport const FormErrorBox = ({ errors }: { errors: FieldErrors }) =>\n errors.root?.serverError && (\n <NotificationBanner intent='danger' role='alert' aria-live='assertive'>\n {errors.root.serverError.message}\n </NotificationBanner>\n );\n"],"mappings":"wIAIA,MAAa,GAAgB,CAAE,YAC7B,EAAO,MAAM,aACX,EAAC,EAAA,CAAmB,OAAO,SAAS,KAAK,QAAQ,YAAU,qBACxD,EAAO,KAAK,YAAY,SACN"}
1
+ {"version":3,"file":"FormErrorBox.mjs","names":[],"sources":["../../../src/components/forms/FormErrorBox.tsx"],"sourcesContent":["import type { FieldErrors } from 'react-hook-form';\n\nimport { NotificationBanner } from '../data-display';\n\nexport const FormErrorBox = ({ errors }: { errors: FieldErrors }) =>\n errors.root?.serverError && (\n <NotificationBanner intent='danger' role='alert' aria-live='assertive'>\n {errors.root.serverError.message}\n </NotificationBanner>\n );\n"],"mappings":"wIAIA,MAAa,GAAgB,CAAE,YAC7B,EAAO,MAAM,aACX,EAAC,EAAD,CAAoB,OAAO,SAAS,KAAK,QAAQ,YAAU,qBACxD,EAAO,KAAK,YAAY,QACN,CAAA"}
@@ -1,6 +1,4 @@
1
1
  import { CheckboxProps } from "../../controls/checkbox/Checkbox.mjs";
2
- import "react/jsx-runtime";
3
-
4
2
  //#region src/components/forms/controls/FormCheckbox.d.ts
5
3
  type FormCheckboxProps = CheckboxProps & {
6
4
  $rule?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"FormCheckbox.d.mts","names":[],"sources":["../../../../src/components/forms/controls/FormCheckbox.tsx"],"mappings":";;;;KAOY,iBAAA,GAAoB,aAAA;EAC9B,KAAA;EACA,KAAA;EACA,YAAA;EACA,IAAA;AAAA"}
1
+ {"version":3,"file":"FormCheckbox.d.mts","names":[],"sources":["../../../../src/components/forms/controls/FormCheckbox.tsx"],"mappings":";;KAOY,iBAAA,GAAoB,aAAA;EAC9B,KAAA;EACA,KAAA;EACA,YAAA;EACA,IAAA;AAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"FormCheckbox.mjs","names":[],"sources":["../../../../src/components/forms/controls/FormCheckbox.tsx"],"sourcesContent":["import { Controller } from 'react-hook-form';\n\nimport {\n Checkbox,\n type CheckboxProps,\n} from '@/components/controls/checkbox/Checkbox';\n\nexport type FormCheckboxProps = CheckboxProps & {\n $rule?: string;\n error?: string;\n isSubmitting?: boolean;\n name: string;\n};\n\nexport const FormCheckbox = ({\n $rule,\n isSubmitting,\n name,\n ...props\n}: FormCheckboxProps) => {\n return (\n <Controller\n name={name}\n render={({ field: { value, ...fieldProps } }) => {\n const mergedProps = {\n disabled: isSubmitting,\n value,\n ...props,\n ...fieldProps,\n };\n return <Checkbox {...mergedProps} />;\n }}\n />\n );\n};\n\nFormCheckbox.displayName = 'Form.Checkbox';\n"],"mappings":"qJAcA,MAAa,GAAgB,CAC3B,QACA,eACA,OACA,GAAG,KAGD,EAAC,EAAA,CACO,OACN,QAAS,CAAE,MAAO,CAAE,QAAO,GAAG,MAOrB,EAAC,EAAA,CALN,SAAU,EACV,QACA,GAAG,EACH,GAAG,GAE+B,EAEtC,CAIN,EAAa,YAAc"}
1
+ {"version":3,"file":"FormCheckbox.mjs","names":[],"sources":["../../../../src/components/forms/controls/FormCheckbox.tsx"],"sourcesContent":["import { Controller } from 'react-hook-form';\n\nimport {\n Checkbox,\n type CheckboxProps,\n} from '@/components/controls/checkbox/Checkbox';\n\nexport type FormCheckboxProps = CheckboxProps & {\n $rule?: string;\n error?: string;\n isSubmitting?: boolean;\n name: string;\n};\n\nexport const FormCheckbox = ({\n $rule,\n isSubmitting,\n name,\n ...props\n}: FormCheckboxProps) => {\n return (\n <Controller\n name={name}\n render={({ field: { value, ...fieldProps } }) => {\n const mergedProps = {\n disabled: isSubmitting,\n value,\n ...props,\n ...fieldProps,\n };\n return <Checkbox {...mergedProps} />;\n }}\n />\n );\n};\n\nFormCheckbox.displayName = 'Form.Checkbox';\n"],"mappings":"qJAcA,MAAa,GAAgB,CAC3B,QACA,eACA,OACA,GAAG,KAGD,EAAC,EAAD,CACQ,OACN,QAAS,CAAE,MAAO,CAAE,QAAO,GAAG,MAOrB,EAAC,EAAD,CALL,SAAU,EACV,QACA,GAAG,EACH,GAAG,EAE+B,CAAA,CAEtC,CAAA,CAIN,EAAa,YAAc"}
@@ -1 +1 @@
1
- {"version":3,"file":"FormHidden.mjs","names":[],"sources":["../../../../src/components/forms/controls/FormHidden.tsx"],"sourcesContent":["import type React from 'react';\n\nexport const FormHidden = ({\n name,\n value,\n ...props\n}: {\n name?: string;\n value?: string;\n defaultValue?: string;\n} & React.InputHTMLAttributes<HTMLInputElement>) => {\n return <input type='hidden' name={name} value={value} {...props} />;\n};\n\nFormHidden.displayName = 'Form.Hidden';\n"],"mappings":"wCAEA,MAAa,GAAc,CACzB,OACA,QACA,GAAG,KAMI,EAAC,QAAA,CAAM,KAAK,SAAe,OAAa,QAAO,GAAI,GAAS,CAGrE,EAAW,YAAc"}
1
+ {"version":3,"file":"FormHidden.mjs","names":[],"sources":["../../../../src/components/forms/controls/FormHidden.tsx"],"sourcesContent":["import type React from 'react';\n\nexport const FormHidden = ({\n name,\n value,\n ...props\n}: {\n name?: string;\n value?: string;\n defaultValue?: string;\n} & React.InputHTMLAttributes<HTMLInputElement>) => {\n return <input type='hidden' name={name} value={value} {...props} />;\n};\n\nFormHidden.displayName = 'Form.Hidden';\n"],"mappings":"wCAEA,MAAa,GAAc,CACzB,OACA,QACA,GAAG,KAMI,EAAC,QAAD,CAAO,KAAK,SAAe,OAAa,QAAO,GAAI,EAAS,CAAA,CAGrE,EAAW,YAAc"}
@@ -1,8 +1,6 @@
1
1
  import { PasswordInputProps } from "../../controls/password-input/PasswordInput.mjs";
2
2
  import { PasswordSegment } from "../../controls/password-input/PasswordStrengthInput.mjs";
3
3
  import { PasswordRuleDefinition } from "../../controls/password-input/usePasswordRules.mjs";
4
- import "react/jsx-runtime";
5
-
6
4
  //#region src/components/forms/controls/FormPassword.d.ts
7
5
  type FormPasswordProps = PasswordInputProps & {
8
6
  $rule?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"FormPassword.d.mts","names":[],"sources":["../../../../src/components/forms/controls/FormPassword.tsx"],"mappings":";;;;;;KAeY,iBAAA,GAAoB,kBAAA;EAC9B,KAAA;EACA,YAAA;EACA,WAAA;EACA,KAAA;EACA,IAAA;EACA,KAAA,GAAQ,sBAAA;EACR,QAAA,GAAW,eAAA;AAAA"}
1
+ {"version":3,"file":"FormPassword.d.mts","names":[],"sources":["../../../../src/components/forms/controls/FormPassword.tsx"],"mappings":";;;;KAeY,iBAAA,GAAoB,kBAAA;EAC9B,KAAA;EACA,YAAA;EACA,WAAA;EACA,KAAA;EACA,IAAA;EACA,KAAA,GAAQ,sBAAA;EACR,QAAA,GAAW,eAAA;AAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"FormPassword.mjs","names":[],"sources":["../../../../src/components/forms/controls/FormPassword.tsx"],"sourcesContent":["import { Controller, useFormContext } from 'react-hook-form';\n\nimport {\n PasswordInput,\n type PasswordInputProps,\n} from '@/components/controls/password-input/PasswordInput';\nimport {\n type PasswordSegment,\n PasswordStrengthInput,\n} from '@/components/controls/password-input/PasswordStrengthInput';\nimport {\n type PasswordRuleDefinition,\n usePasswordRules,\n} from '@/components/controls/password-input/usePasswordRules';\n\nexport type FormPasswordProps = PasswordInputProps & {\n $rule?: string;\n isSubmitting?: boolean;\n strengthBar?: boolean;\n value?: string;\n name: string;\n rules?: PasswordRuleDefinition[];\n segments?: PasswordSegment[];\n};\n\nexport const FormPassword = ({\n $rule,\n isSubmitting = false,\n strengthBar = false,\n value,\n name,\n rules,\n ...props\n}: FormPasswordProps) => {\n const { t } = useFormContext() as unknown as {\n t?: (\n key: string,\n bindings?: Record<string, string>,\n fallback?: string,\n ) => string;\n };\n\n return (\n <Controller\n name={name}\n defaultValue={value || ''}\n render={({ field: { value, ...fieldProps } }) => {\n const computedRules = usePasswordRules(value || '', rules || [], t);\n\n const mergedProps = {\n disabled: isSubmitting,\n value,\n ...props,\n ...fieldProps,\n };\n\n if (strengthBar) {\n return (\n <PasswordStrengthInput\n segments={[]}\n rules={computedRules}\n {...mergedProps}\n />\n );\n }\n return <PasswordInput {...mergedProps} />;\n }}\n />\n );\n};\n\nFormPassword.displayName = 'Form.Password';\n"],"mappings":"+WAyBA,MAAa,GAAgB,CAC3B,QACA,eAAe,GACf,cAAc,GACd,QACA,OACA,QACA,GAAG,KACoB,CACvB,GAAM,CAAE,KAAM,GAAgB,CAQ9B,OACE,EAAC,EAAA,CACO,OACN,aAAc,GAAS,GACvB,QAAS,CAAE,MAAO,CAAE,QAAO,GAAG,MAAmB,CAC/C,IAAM,EAAgB,EAAiB,GAAS,GAAI,GAAS,EAAE,CAAE,EAAE,CAE7D,EAAc,CAClB,SAAU,EACV,QACA,GAAG,EACH,GAAG,EACJ,CAWD,OATI,EAEA,EAAC,EAAA,CACC,SAAU,EAAE,CACZ,MAAO,EACP,GAAI,GACJ,CAGC,EAAC,EAAA,CAAc,GAAI,EAAA,CAAe,GAE3C,EAIN,EAAa,YAAc"}
1
+ {"version":3,"file":"FormPassword.mjs","names":[],"sources":["../../../../src/components/forms/controls/FormPassword.tsx"],"sourcesContent":["import { Controller, useFormContext } from 'react-hook-form';\n\nimport {\n PasswordInput,\n type PasswordInputProps,\n} from '@/components/controls/password-input/PasswordInput';\nimport {\n type PasswordSegment,\n PasswordStrengthInput,\n} from '@/components/controls/password-input/PasswordStrengthInput';\nimport {\n type PasswordRuleDefinition,\n usePasswordRules,\n} from '@/components/controls/password-input/usePasswordRules';\n\nexport type FormPasswordProps = PasswordInputProps & {\n $rule?: string;\n isSubmitting?: boolean;\n strengthBar?: boolean;\n value?: string;\n name: string;\n rules?: PasswordRuleDefinition[];\n segments?: PasswordSegment[];\n};\n\nexport const FormPassword = ({\n $rule,\n isSubmitting = false,\n strengthBar = false,\n value,\n name,\n rules,\n ...props\n}: FormPasswordProps) => {\n const { t } = useFormContext() as unknown as {\n t?: (\n key: string,\n bindings?: Record<string, string>,\n fallback?: string,\n ) => string;\n };\n\n return (\n <Controller\n name={name}\n defaultValue={value || ''}\n render={({ field: { value, ...fieldProps } }) => {\n const computedRules = usePasswordRules(value || '', rules || [], t);\n\n const mergedProps = {\n disabled: isSubmitting,\n value,\n ...props,\n ...fieldProps,\n };\n\n if (strengthBar) {\n return (\n <PasswordStrengthInput\n segments={[]}\n rules={computedRules}\n {...mergedProps}\n />\n );\n }\n return <PasswordInput {...mergedProps} />;\n }}\n />\n );\n};\n\nFormPassword.displayName = 'Form.Password';\n"],"mappings":"+WAyBA,MAAa,GAAgB,CAC3B,QACA,eAAe,GACf,cAAc,GACd,QACA,OACA,QACA,GAAG,KACoB,CACvB,GAAM,CAAE,KAAM,GAAgB,CAQ9B,OACE,EAAC,EAAD,CACQ,OACN,aAAc,GAAS,GACvB,QAAS,CAAE,MAAO,CAAE,QAAO,GAAG,MAAmB,CAC/C,IAAM,EAAgB,EAAiB,GAAS,GAAI,GAAS,EAAE,CAAE,EAAE,CAE7D,EAAc,CAClB,SAAU,EACV,QACA,GAAG,EACH,GAAG,EACJ,CAWD,OATI,EAEA,EAAC,EAAD,CACE,SAAU,EAAE,CACZ,MAAO,EACP,GAAI,EACJ,CAAA,CAGC,EAAC,EAAD,CAAe,GAAI,EAAe,CAAA,EAE3C,CAAA,EAIN,EAAa,YAAc"}
@@ -1,7 +1,4 @@
1
1
  import { ButtonActionProps } from "../../buttons/button-action/ButtonAction.mjs";
2
- import "../../buttons/index.mjs";
3
- import "react/jsx-runtime";
4
-
5
2
  //#region src/components/forms/controls/FormSubmit.d.ts
6
3
  type FormSubmitProps = Omit<ButtonActionProps, 'loading'> & {};
7
4
  //#endregion