@coveord/plasma-mantine 55.8.0 → 56.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (813) hide show
  1. package/.turbo/turbo-build.log +3 -3
  2. package/.turbo/turbo-test.log +62 -56
  3. package/__mocks__/@monaco-editor/react.tsx +1 -0
  4. package/dist/.tsbuildinfo +1 -1
  5. package/dist/cjs/components/accordion/Accordion.d.ts +13 -0
  6. package/dist/cjs/components/accordion/Accordion.d.ts.map +1 -0
  7. package/dist/cjs/components/accordion/Accordion.js +29 -0
  8. package/dist/cjs/components/accordion/Accordion.js.map +1 -0
  9. package/dist/cjs/components/accordion/Accordion.module.css +3 -0
  10. package/dist/cjs/components/accordion/index.d.ts +2 -0
  11. package/dist/cjs/components/accordion/index.d.ts.map +1 -0
  12. package/dist/cjs/components/accordion/index.js +13 -0
  13. package/dist/cjs/components/accordion/index.js.map +1 -0
  14. package/dist/cjs/components/action-icon/ActionIcon.d.ts +41 -0
  15. package/dist/cjs/components/action-icon/ActionIcon.d.ts.map +1 -1
  16. package/dist/cjs/components/action-icon/ActionIcon.js +49 -0
  17. package/dist/cjs/components/action-icon/ActionIcon.js.map +1 -1
  18. package/dist/cjs/components/alert/Alert.d.ts +60 -0
  19. package/dist/cjs/components/alert/Alert.d.ts.map +1 -0
  20. package/dist/cjs/components/alert/Alert.js +80 -0
  21. package/dist/cjs/components/alert/Alert.js.map +1 -0
  22. package/dist/cjs/components/alert/index.d.ts +2 -0
  23. package/dist/cjs/components/alert/index.d.ts.map +1 -0
  24. package/dist/cjs/components/alert/index.js +8 -0
  25. package/dist/cjs/components/alert/index.js.map +1 -0
  26. package/dist/cjs/components/badge/Badge.d.ts +92 -0
  27. package/dist/cjs/components/badge/Badge.d.ts.map +1 -0
  28. package/dist/cjs/components/badge/Badge.js +97 -0
  29. package/dist/cjs/components/badge/Badge.js.map +1 -0
  30. package/dist/cjs/components/badge/index.d.ts +2 -0
  31. package/dist/cjs/components/badge/index.d.ts.map +1 -0
  32. package/dist/cjs/components/badge/index.js +8 -0
  33. package/dist/cjs/components/badge/index.js.map +1 -0
  34. package/dist/cjs/components/browser-preview/BrowserPreview.d.ts.map +1 -1
  35. package/dist/cjs/components/browser-preview/BrowserPreview.js +37 -50
  36. package/dist/cjs/components/browser-preview/BrowserPreview.js.map +1 -1
  37. package/dist/cjs/components/browser-preview/BrowserPreview.module.css +3 -12
  38. package/dist/cjs/components/button/Button.d.ts +41 -0
  39. package/dist/cjs/components/button/Button.d.ts.map +1 -1
  40. package/dist/cjs/components/button/Button.js +53 -0
  41. package/dist/cjs/components/button/Button.js.map +1 -1
  42. package/dist/cjs/components/button/ButtonWithDisabledTooltip.d.ts +1 -1
  43. package/dist/cjs/components/checkbox/CheckboxIcon.d.ts +7 -0
  44. package/dist/cjs/components/checkbox/CheckboxIcon.d.ts.map +1 -0
  45. package/dist/cjs/components/checkbox/CheckboxIcon.js +29 -0
  46. package/dist/cjs/components/checkbox/CheckboxIcon.js.map +1 -0
  47. package/dist/cjs/components/checkbox/index.d.ts +2 -0
  48. package/dist/cjs/components/checkbox/index.d.ts.map +1 -0
  49. package/dist/cjs/components/checkbox/index.js +8 -0
  50. package/dist/cjs/components/checkbox/index.js.map +1 -0
  51. package/dist/cjs/components/child-form/ChildForm.js +0 -1
  52. package/dist/cjs/components/child-form/ChildForm.js.map +1 -1
  53. package/dist/cjs/components/child-form/ChildForm.module.css +3 -2
  54. package/dist/cjs/components/chip/Chip.d.ts +12 -0
  55. package/dist/cjs/components/chip/Chip.d.ts.map +1 -0
  56. package/dist/cjs/components/chip/Chip.js +26 -0
  57. package/dist/cjs/components/chip/Chip.js.map +1 -0
  58. package/dist/cjs/components/chip/index.d.ts +2 -0
  59. package/dist/cjs/components/chip/index.d.ts.map +1 -0
  60. package/dist/cjs/components/chip/index.js +8 -0
  61. package/dist/cjs/components/chip/index.js.map +1 -0
  62. package/dist/cjs/components/code-editor/CodeEditor.d.ts.map +1 -1
  63. package/dist/cjs/components/code-editor/CodeEditor.js +25 -24
  64. package/dist/cjs/components/code-editor/CodeEditor.js.map +1 -1
  65. package/dist/cjs/components/code-editor/CodeEditor.module.css +18 -17
  66. package/dist/cjs/components/code-editor/search/Search.d.ts +2 -1
  67. package/dist/cjs/components/code-editor/search/Search.d.ts.map +1 -1
  68. package/dist/cjs/components/code-editor/search/Search.js +5 -6
  69. package/dist/cjs/components/code-editor/search/Search.js.map +1 -1
  70. package/dist/cjs/components/collection/Collection.d.ts +4 -3
  71. package/dist/cjs/components/collection/Collection.d.ts.map +1 -1
  72. package/dist/cjs/components/collection/Collection.js +20 -25
  73. package/dist/cjs/components/collection/Collection.js.map +1 -1
  74. package/dist/cjs/components/collection/Collection.module.css +7 -0
  75. package/dist/cjs/components/collection/CollectionItem.d.ts.map +1 -1
  76. package/dist/cjs/components/collection/CollectionItem.js +66 -16
  77. package/dist/cjs/components/collection/CollectionItem.js.map +1 -1
  78. package/dist/cjs/components/copyToClipboard/CopyToClipboard.d.ts +16 -4
  79. package/dist/cjs/components/copyToClipboard/CopyToClipboard.d.ts.map +1 -1
  80. package/dist/cjs/components/copyToClipboard/CopyToClipboard.js +23 -16
  81. package/dist/cjs/components/copyToClipboard/CopyToClipboard.js.map +1 -1
  82. package/dist/cjs/components/date-range-picker/DateRange.module.css +2 -2
  83. package/dist/cjs/components/date-range-picker/DateRangePickerInlineCalendar.d.ts +3 -4
  84. package/dist/cjs/components/date-range-picker/DateRangePickerInlineCalendar.d.ts.map +1 -1
  85. package/dist/cjs/components/date-range-picker/DateRangePickerInlineCalendar.js +12 -7
  86. package/dist/cjs/components/date-range-picker/DateRangePickerInlineCalendar.js.map +1 -1
  87. package/dist/cjs/components/date-range-picker/DateRangePickerPopoverCalendar.d.ts +4 -5
  88. package/dist/cjs/components/date-range-picker/DateRangePickerPopoverCalendar.d.ts.map +1 -1
  89. package/dist/cjs/components/date-range-picker/DateRangePickerPopoverCalendar.js +8 -0
  90. package/dist/cjs/components/date-range-picker/DateRangePickerPopoverCalendar.js.map +1 -1
  91. package/dist/cjs/components/date-range-picker/DateRangePickerPresetSelect.d.ts +4 -4
  92. package/dist/cjs/components/date-range-picker/DateRangePickerPresetSelect.d.ts.map +1 -1
  93. package/dist/cjs/components/date-range-picker/DateRangePickerPresetSelect.js +1 -1
  94. package/dist/cjs/components/date-range-picker/DateRangePickerPresetSelect.js.map +1 -1
  95. package/dist/cjs/components/date-range-picker/EditableDateRangePicker.d.ts +3 -4
  96. package/dist/cjs/components/date-range-picker/EditableDateRangePicker.d.ts.map +1 -1
  97. package/dist/cjs/components/date-range-picker/EditableDateRangePicker.js +2 -2
  98. package/dist/cjs/components/date-range-picker/EditableDateRangePicker.js.map +1 -1
  99. package/dist/cjs/components/date-time-range-picker/DateTimeRangePicker.d.ts +25 -0
  100. package/dist/cjs/components/date-time-range-picker/DateTimeRangePicker.d.ts.map +1 -0
  101. package/dist/cjs/components/date-time-range-picker/DateTimeRangePicker.js +49 -0
  102. package/dist/cjs/components/date-time-range-picker/DateTimeRangePicker.js.map +1 -0
  103. package/dist/cjs/components/date-time-range-picker/EditableDateTimeRangePicker.d.ts +15 -0
  104. package/dist/cjs/components/date-time-range-picker/EditableDateTimeRangePicker.d.ts.map +1 -0
  105. package/dist/cjs/components/date-time-range-picker/EditableDateTimeRangePicker.js +59 -0
  106. package/dist/cjs/components/date-time-range-picker/EditableDateTimeRangePicker.js.map +1 -0
  107. package/dist/cjs/components/date-time-range-picker/index.d.ts +2 -0
  108. package/dist/cjs/components/date-time-range-picker/index.d.ts.map +1 -0
  109. package/dist/cjs/components/date-time-range-picker/index.js +8 -0
  110. package/dist/cjs/components/date-time-range-picker/index.js.map +1 -0
  111. package/dist/cjs/components/header/Header.d.ts +20 -7
  112. package/dist/cjs/components/header/Header.d.ts.map +1 -1
  113. package/dist/cjs/components/header/Header.js +18 -9
  114. package/dist/cjs/components/header/Header.js.map +1 -1
  115. package/dist/cjs/components/header/Header.module.css +2 -17
  116. package/dist/cjs/components/header/HeaderBreadcrumbs/HeaderBreadcrumbAnchor.d.ts +41 -0
  117. package/dist/cjs/components/header/HeaderBreadcrumbs/HeaderBreadcrumbAnchor.d.ts.map +1 -0
  118. package/dist/cjs/components/header/HeaderBreadcrumbs/HeaderBreadcrumbAnchor.js +37 -0
  119. package/dist/cjs/components/header/HeaderBreadcrumbs/HeaderBreadcrumbAnchor.js.map +1 -0
  120. package/dist/cjs/components/header/HeaderBreadcrumbs/HeaderBreadcrumbText.d.ts +41 -0
  121. package/dist/cjs/components/header/HeaderBreadcrumbs/HeaderBreadcrumbText.d.ts.map +1 -0
  122. package/dist/cjs/components/header/HeaderBreadcrumbs/HeaderBreadcrumbText.js +37 -0
  123. package/dist/cjs/components/header/HeaderBreadcrumbs/HeaderBreadcrumbText.js.map +1 -0
  124. package/dist/cjs/components/header/HeaderDocAnchor/HeaderDocAnchor.d.ts.map +1 -1
  125. package/dist/cjs/components/header/HeaderDocAnchor/HeaderDocAnchor.js +3 -3
  126. package/dist/cjs/components/header/HeaderDocAnchor/HeaderDocAnchor.js.map +1 -1
  127. package/dist/cjs/components/header/HeaderRight/HeaderRight.d.ts +19 -0
  128. package/dist/cjs/components/header/HeaderRight/HeaderRight.d.ts.map +1 -0
  129. package/dist/cjs/components/header/{HeaderActions/HeaderActions.js → HeaderRight/HeaderRight.js} +6 -6
  130. package/dist/cjs/components/header/HeaderRight/HeaderRight.js.map +1 -0
  131. package/dist/cjs/components/index.d.ts +10 -1
  132. package/dist/cjs/components/index.d.ts.map +1 -1
  133. package/dist/cjs/components/index.js +10 -1
  134. package/dist/cjs/components/index.js.map +1 -1
  135. package/dist/cjs/components/info-token/InfoToken.d.ts +45 -0
  136. package/dist/cjs/components/info-token/InfoToken.d.ts.map +1 -0
  137. package/dist/cjs/components/info-token/InfoToken.js +148 -0
  138. package/dist/cjs/components/info-token/InfoToken.js.map +1 -0
  139. package/dist/cjs/components/info-token/InfoToken.module.css +8 -0
  140. package/dist/cjs/components/info-token/index.d.ts +2 -0
  141. package/dist/cjs/components/info-token/index.d.ts.map +1 -0
  142. package/dist/cjs/components/info-token/index.js +8 -0
  143. package/dist/cjs/components/info-token/index.js.map +1 -0
  144. package/dist/cjs/components/inline-confirm/InlineConfirmPrompt.d.ts +2 -2
  145. package/dist/cjs/components/inline-confirm/InlineConfirmPrompt.js +2 -4
  146. package/dist/cjs/components/inline-confirm/InlineConfirmPrompt.js.map +1 -1
  147. package/dist/cjs/components/inline-confirm/InlineConfirmTarget.d.ts +32 -0
  148. package/dist/cjs/components/inline-confirm/InlineConfirmTarget.d.ts.map +1 -1
  149. package/dist/cjs/components/last-updated/LastUpdated.d.ts +33 -0
  150. package/dist/cjs/components/last-updated/LastUpdated.d.ts.map +1 -0
  151. package/dist/cjs/components/last-updated/LastUpdated.js +77 -0
  152. package/dist/cjs/components/last-updated/LastUpdated.js.map +1 -0
  153. package/dist/cjs/components/last-updated/index.d.ts +2 -0
  154. package/dist/cjs/components/last-updated/index.d.ts.map +1 -0
  155. package/dist/cjs/components/last-updated/index.js +8 -0
  156. package/dist/cjs/components/last-updated/index.js.map +1 -0
  157. package/dist/cjs/components/loader/CircleLoader.d.ts +3 -0
  158. package/dist/cjs/components/loader/CircleLoader.d.ts.map +1 -0
  159. package/dist/cjs/components/loader/CircleLoader.js +32 -0
  160. package/dist/cjs/components/loader/CircleLoader.js.map +1 -0
  161. package/dist/cjs/components/loader/CircleLoader.module.css +29 -0
  162. package/dist/cjs/components/loader/index.d.ts +2 -0
  163. package/dist/cjs/components/loader/index.d.ts.map +1 -0
  164. package/dist/cjs/components/loader/index.js +8 -0
  165. package/dist/cjs/components/loader/index.js.map +1 -0
  166. package/dist/cjs/components/menu/Menu.d.ts.map +1 -1
  167. package/dist/cjs/components/menu/Menu.js +5 -2
  168. package/dist/cjs/components/menu/Menu.js.map +1 -1
  169. package/dist/cjs/components/modal/Modal.d.ts +15 -1
  170. package/dist/cjs/components/modal/Modal.d.ts.map +1 -1
  171. package/dist/cjs/components/modal/Modal.js +20 -3
  172. package/dist/cjs/components/modal/Modal.js.map +1 -1
  173. package/dist/cjs/components/modal/ModalFooter.d.ts +0 -4
  174. package/dist/cjs/components/modal/ModalFooter.d.ts.map +1 -1
  175. package/dist/cjs/components/modal/ModalFooter.js +3 -9
  176. package/dist/cjs/components/modal/ModalFooter.js.map +1 -1
  177. package/dist/cjs/components/modal/ModalFooter.module.css +10 -0
  178. package/dist/cjs/components/prompt/Prompt.d.ts +1 -2
  179. package/dist/cjs/components/prompt/Prompt.d.ts.map +1 -1
  180. package/dist/cjs/components/prompt/Prompt.js +21 -31
  181. package/dist/cjs/components/prompt/Prompt.js.map +1 -1
  182. package/dist/cjs/components/prompt/Prompt.module.css +6 -21
  183. package/dist/cjs/components/prompt/PromptCancelButton.d.ts.map +1 -1
  184. package/dist/cjs/components/prompt/PromptCancelButton.js +3 -3
  185. package/dist/cjs/components/prompt/PromptCancelButton.js.map +1 -1
  186. package/dist/cjs/components/prompt/PromptConfirmButton.d.ts.map +1 -1
  187. package/dist/cjs/components/prompt/PromptConfirmButton.js +7 -8
  188. package/dist/cjs/components/prompt/PromptConfirmButton.js.map +1 -1
  189. package/dist/cjs/components/prompt/icons/CriticalIcon.d.ts +3 -0
  190. package/dist/cjs/components/prompt/icons/CriticalIcon.d.ts.map +1 -0
  191. package/dist/cjs/components/prompt/icons/CriticalIcon.js +29 -0
  192. package/dist/cjs/components/prompt/icons/CriticalIcon.js.map +1 -0
  193. package/dist/cjs/components/prompt/icons/InfoIcon.d.ts +3 -0
  194. package/dist/cjs/components/prompt/icons/InfoIcon.d.ts.map +1 -0
  195. package/dist/cjs/components/prompt/icons/InfoIcon.js +29 -0
  196. package/dist/cjs/components/prompt/icons/InfoIcon.js.map +1 -0
  197. package/dist/cjs/components/prompt/icons/SuccessIcon.d.ts +3 -0
  198. package/dist/cjs/components/prompt/icons/SuccessIcon.d.ts.map +1 -0
  199. package/dist/cjs/components/prompt/icons/SuccessIcon.js +29 -0
  200. package/dist/cjs/components/prompt/icons/SuccessIcon.js.map +1 -0
  201. package/dist/cjs/components/prompt/icons/WarningIcon.d.ts +3 -0
  202. package/dist/cjs/components/prompt/icons/WarningIcon.d.ts.map +1 -0
  203. package/dist/cjs/components/prompt/icons/WarningIcon.js +29 -0
  204. package/dist/cjs/components/prompt/icons/WarningIcon.js.map +1 -0
  205. package/dist/cjs/components/read-only/ReadOnlyInputStyles.js +2 -2
  206. package/dist/cjs/components/read-only/ReadOnlyInputStyles.js.map +1 -1
  207. package/dist/cjs/components/sticky-footer/StickyFooter.module.css +2 -9
  208. package/dist/cjs/components/table/Table.module.css +10 -6
  209. package/dist/cjs/components/table/Table.types.d.ts +2 -2
  210. package/dist/cjs/components/table/Table.types.d.ts.map +1 -1
  211. package/dist/cjs/components/table/layouts/TableLayoutControl.js +1 -1
  212. package/dist/cjs/components/table/layouts/TableLayoutControl.js.map +1 -1
  213. package/dist/cjs/components/table/layouts/row-layout/RowLayout.d.ts.map +1 -1
  214. package/dist/cjs/components/table/layouts/row-layout/RowLayout.js +2 -2
  215. package/dist/cjs/components/table/layouts/row-layout/RowLayout.js.map +1 -1
  216. package/dist/cjs/components/table/layouts/row-layout/RowLayout.module.css +11 -17
  217. package/dist/cjs/components/table/table-actions/TableActionItem.d.ts +2 -1
  218. package/dist/cjs/components/table/table-actions/TableActionItem.d.ts.map +1 -1
  219. package/dist/cjs/components/table/table-actions/TableActionItem.js +4 -4
  220. package/dist/cjs/components/table/table-actions/TableActionItem.js.map +1 -1
  221. package/dist/cjs/components/table/table-actions/TableActionsList.d.ts.map +1 -1
  222. package/dist/cjs/components/table/table-actions/TableActionsList.js +4 -4
  223. package/dist/cjs/components/table/table-actions/TableActionsList.js.map +1 -1
  224. package/dist/cjs/components/table/table-column/TableCollapsibleColumn.js +7 -6
  225. package/dist/cjs/components/table/table-column/TableCollapsibleColumn.js.map +1 -1
  226. package/dist/cjs/components/table/table-date-range-picker/TableDateRangePicker.d.ts.map +1 -1
  227. package/dist/cjs/components/table/table-date-range-picker/TableDateRangePicker.js +1 -3
  228. package/dist/cjs/components/table/table-date-range-picker/TableDateRangePicker.js.map +1 -1
  229. package/dist/cjs/components/table/table-filter/TableFilter.d.ts.map +1 -1
  230. package/dist/cjs/components/table/table-filter/TableFilter.js +7 -7
  231. package/dist/cjs/components/table/table-filter/TableFilter.js.map +1 -1
  232. package/dist/cjs/components/table/table-header/TableHeader.d.ts +6 -0
  233. package/dist/cjs/components/table/table-header/TableHeader.d.ts.map +1 -1
  234. package/dist/cjs/components/table/table-header/TableHeader.js +8 -4
  235. package/dist/cjs/components/table/table-header/TableHeader.js.map +1 -1
  236. package/dist/cjs/components/table/table-last-updated/TableLastUpdated.d.ts +2 -7
  237. package/dist/cjs/components/table/table-last-updated/TableLastUpdated.d.ts.map +1 -1
  238. package/dist/cjs/components/table/table-last-updated/TableLastUpdated.js +23 -36
  239. package/dist/cjs/components/table/table-last-updated/TableLastUpdated.js.map +1 -1
  240. package/dist/cjs/components/table/use-table.d.ts +2 -2
  241. package/dist/cjs/components/table/use-table.d.ts.map +1 -1
  242. package/dist/cjs/components/table/use-table.js +4 -5
  243. package/dist/cjs/components/table/use-table.js.map +1 -1
  244. package/dist/cjs/images/placeholder.svg +4 -0
  245. package/dist/cjs/index.d.ts +2 -1
  246. package/dist/cjs/index.d.ts.map +1 -1
  247. package/dist/cjs/index.js +12 -0
  248. package/dist/cjs/index.js.map +1 -1
  249. package/dist/cjs/styles/Accordion.module.css +48 -0
  250. package/dist/cjs/styles/ActionIcon.module.css +4 -3
  251. package/dist/cjs/styles/Alert.module.css +6 -27
  252. package/dist/cjs/styles/Badge.module.css +4 -3
  253. package/dist/cjs/styles/Breadcrumbs.module.css +12 -0
  254. package/dist/cjs/styles/Button.module.css +9 -1
  255. package/dist/cjs/styles/Card.module.css +22 -0
  256. package/dist/cjs/styles/Checkbox.module.css +34 -13
  257. package/dist/cjs/styles/CheckboxIndicator.module.css +12 -0
  258. package/dist/cjs/styles/Chip.module.css +41 -0
  259. package/dist/cjs/styles/Combobox.module.css +3 -2
  260. package/dist/cjs/styles/DatePicker.module.css +14 -2
  261. package/dist/cjs/styles/Input.module.css +32 -2
  262. package/dist/cjs/styles/InputWrapper.module.css +9 -7
  263. package/dist/cjs/styles/Modal.module.css +5 -59
  264. package/dist/cjs/styles/MonthPicker.module.css +11 -0
  265. package/dist/cjs/styles/NavLink.module.css +9 -13
  266. package/dist/cjs/styles/Notifications.module.css +37 -0
  267. package/dist/cjs/styles/NumberInput.module.css +7 -0
  268. package/dist/cjs/styles/Pagination.module.css +23 -16
  269. package/dist/cjs/styles/Paper.module.css +5 -0
  270. package/dist/cjs/styles/Pill.module.css +4 -0
  271. package/dist/cjs/styles/Popover.module.css +6 -0
  272. package/dist/cjs/styles/Radio.module.css +36 -3
  273. package/dist/cjs/styles/RadioCard.module.css +11 -0
  274. package/dist/cjs/styles/ReadOnlyInput.module.css +12 -4
  275. package/dist/cjs/styles/SegmentedControl.module.css +38 -17
  276. package/dist/cjs/styles/Select.module.css +32 -24
  277. package/dist/cjs/styles/Skeleton.module.css +1 -0
  278. package/dist/cjs/styles/Slider.module.css +23 -0
  279. package/dist/cjs/styles/Stepper.module.css +12 -60
  280. package/dist/cjs/styles/Table.module.css +3 -0
  281. package/dist/cjs/styles/Tabs.module.css +47 -9
  282. package/dist/cjs/styles/Text.module.css +5 -1
  283. package/dist/cjs/styles/TimePicker.module.css +8 -0
  284. package/dist/cjs/styles/Tooltip.module.css +1 -0
  285. package/dist/cjs/styles/YearPicker.module.css +11 -0
  286. package/dist/cjs/styles/global.css +14 -0
  287. package/dist/cjs/theme/PlasmaColors.d.ts +12 -8
  288. package/dist/cjs/theme/PlasmaColors.d.ts.map +1 -1
  289. package/dist/cjs/theme/PlasmaColors.js +143 -18
  290. package/dist/cjs/theme/PlasmaColors.js.map +1 -1
  291. package/dist/cjs/theme/Plasmantine.d.ts +1 -0
  292. package/dist/cjs/theme/Plasmantine.d.ts.map +1 -1
  293. package/dist/cjs/theme/Plasmantine.js +1 -0
  294. package/dist/cjs/theme/Plasmantine.js.map +1 -1
  295. package/dist/cjs/theme/Theme.d.ts.map +1 -1
  296. package/dist/cjs/theme/Theme.js +278 -135
  297. package/dist/cjs/theme/Theme.js.map +1 -1
  298. package/dist/cjs/theme/index.d.ts +1 -0
  299. package/dist/cjs/theme/index.d.ts.map +1 -1
  300. package/dist/cjs/theme/index.js +1 -0
  301. package/dist/cjs/theme/index.js.map +1 -1
  302. package/dist/cjs/theme/plasmaCSSVariablesResolver.d.ts.map +1 -1
  303. package/dist/cjs/theme/plasmaCSSVariablesResolver.js +58 -7
  304. package/dist/cjs/theme/plasmaCSSVariablesResolver.js.map +1 -1
  305. package/dist/cjs/theme/plasmaVariantColorResolver.d.ts +3 -0
  306. package/dist/cjs/theme/plasmaVariantColorResolver.d.ts.map +1 -0
  307. package/dist/cjs/theme/plasmaVariantColorResolver.js +37 -0
  308. package/dist/cjs/theme/plasmaVariantColorResolver.js.map +1 -0
  309. package/dist/esm/components/accordion/Accordion.d.ts +13 -0
  310. package/dist/esm/components/accordion/Accordion.d.ts.map +1 -0
  311. package/dist/esm/components/accordion/Accordion.js +11 -0
  312. package/dist/esm/components/accordion/Accordion.js.map +1 -0
  313. package/dist/esm/components/accordion/Accordion.module.css +3 -0
  314. package/dist/esm/components/accordion/index.d.ts +2 -0
  315. package/dist/esm/components/accordion/index.d.ts.map +1 -0
  316. package/dist/esm/components/accordion/index.js +3 -0
  317. package/dist/esm/components/accordion/index.js.map +1 -0
  318. package/dist/esm/components/action-icon/ActionIcon.d.ts +41 -0
  319. package/dist/esm/components/action-icon/ActionIcon.d.ts.map +1 -1
  320. package/dist/esm/components/action-icon/ActionIcon.js +45 -0
  321. package/dist/esm/components/action-icon/ActionIcon.js.map +1 -1
  322. package/dist/esm/components/alert/Alert.d.ts +60 -0
  323. package/dist/esm/components/alert/Alert.d.ts.map +1 -0
  324. package/dist/esm/components/alert/Alert.js +59 -0
  325. package/dist/esm/components/alert/Alert.js.map +1 -0
  326. package/dist/esm/components/alert/index.d.ts +2 -0
  327. package/dist/esm/components/alert/index.d.ts.map +1 -0
  328. package/dist/esm/components/alert/index.js +3 -0
  329. package/dist/esm/components/alert/index.js.map +1 -0
  330. package/dist/esm/components/badge/Badge.d.ts +92 -0
  331. package/dist/esm/components/badge/Badge.d.ts.map +1 -0
  332. package/dist/esm/components/badge/Badge.js +82 -0
  333. package/dist/esm/components/badge/Badge.js.map +1 -0
  334. package/dist/esm/components/badge/index.d.ts +2 -0
  335. package/dist/esm/components/badge/index.d.ts.map +1 -0
  336. package/dist/esm/components/badge/index.js +3 -0
  337. package/dist/esm/components/badge/index.js.map +1 -0
  338. package/dist/esm/components/browser-preview/BrowserPreview.d.ts.map +1 -1
  339. package/dist/esm/components/browser-preview/BrowserPreview.js +39 -54
  340. package/dist/esm/components/browser-preview/BrowserPreview.js.map +1 -1
  341. package/dist/esm/components/browser-preview/BrowserPreview.module.css +3 -12
  342. package/dist/esm/components/button/Button.d.ts +41 -0
  343. package/dist/esm/components/button/Button.d.ts.map +1 -1
  344. package/dist/esm/components/button/Button.js +49 -0
  345. package/dist/esm/components/button/Button.js.map +1 -1
  346. package/dist/esm/components/button/ButtonWithDisabledTooltip.d.ts +1 -1
  347. package/dist/esm/components/checkbox/CheckboxIcon.d.ts +7 -0
  348. package/dist/esm/components/checkbox/CheckboxIcon.d.ts.map +1 -0
  349. package/dist/esm/components/checkbox/CheckboxIcon.js +16 -0
  350. package/dist/esm/components/checkbox/CheckboxIcon.js.map +1 -0
  351. package/dist/esm/components/checkbox/index.d.ts +2 -0
  352. package/dist/esm/components/checkbox/index.d.ts.map +1 -0
  353. package/dist/esm/components/checkbox/index.js +3 -0
  354. package/dist/esm/components/checkbox/index.js.map +1 -0
  355. package/dist/esm/components/child-form/ChildForm.js +0 -1
  356. package/dist/esm/components/child-form/ChildForm.js.map +1 -1
  357. package/dist/esm/components/child-form/ChildForm.module.css +3 -2
  358. package/dist/esm/components/chip/Chip.d.ts +12 -0
  359. package/dist/esm/components/chip/Chip.d.ts.map +1 -0
  360. package/dist/esm/components/chip/Chip.js +9 -0
  361. package/dist/esm/components/chip/Chip.js.map +1 -0
  362. package/dist/esm/components/chip/index.d.ts +2 -0
  363. package/dist/esm/components/chip/index.d.ts.map +1 -0
  364. package/dist/esm/components/chip/index.js +3 -0
  365. package/dist/esm/components/chip/index.js.map +1 -0
  366. package/dist/esm/components/code-editor/CodeEditor.d.ts.map +1 -1
  367. package/dist/esm/components/code-editor/CodeEditor.js +25 -25
  368. package/dist/esm/components/code-editor/CodeEditor.js.map +1 -1
  369. package/dist/esm/components/code-editor/CodeEditor.module.css +18 -17
  370. package/dist/esm/components/code-editor/search/Search.d.ts +2 -1
  371. package/dist/esm/components/code-editor/search/Search.d.ts.map +1 -1
  372. package/dist/esm/components/code-editor/search/Search.js +6 -7
  373. package/dist/esm/components/code-editor/search/Search.js.map +1 -1
  374. package/dist/esm/components/collection/Collection.d.ts +4 -3
  375. package/dist/esm/components/collection/Collection.d.ts.map +1 -1
  376. package/dist/esm/components/collection/Collection.js +17 -22
  377. package/dist/esm/components/collection/Collection.js.map +1 -1
  378. package/dist/esm/components/collection/Collection.module.css +7 -0
  379. package/dist/esm/components/collection/CollectionItem.d.ts.map +1 -1
  380. package/dist/esm/components/collection/CollectionItem.js +42 -13
  381. package/dist/esm/components/collection/CollectionItem.js.map +1 -1
  382. package/dist/esm/components/copyToClipboard/CopyToClipboard.d.ts +16 -4
  383. package/dist/esm/components/copyToClipboard/CopyToClipboard.d.ts.map +1 -1
  384. package/dist/esm/components/copyToClipboard/CopyToClipboard.js +14 -13
  385. package/dist/esm/components/copyToClipboard/CopyToClipboard.js.map +1 -1
  386. package/dist/esm/components/date-range-picker/DateRange.module.css +2 -2
  387. package/dist/esm/components/date-range-picker/DateRangePickerInlineCalendar.d.ts +3 -4
  388. package/dist/esm/components/date-range-picker/DateRangePickerInlineCalendar.d.ts.map +1 -1
  389. package/dist/esm/components/date-range-picker/DateRangePickerInlineCalendar.js +12 -7
  390. package/dist/esm/components/date-range-picker/DateRangePickerInlineCalendar.js.map +1 -1
  391. package/dist/esm/components/date-range-picker/DateRangePickerPopoverCalendar.d.ts +4 -5
  392. package/dist/esm/components/date-range-picker/DateRangePickerPopoverCalendar.d.ts.map +1 -1
  393. package/dist/esm/components/date-range-picker/DateRangePickerPopoverCalendar.js +7 -0
  394. package/dist/esm/components/date-range-picker/DateRangePickerPopoverCalendar.js.map +1 -1
  395. package/dist/esm/components/date-range-picker/DateRangePickerPresetSelect.d.ts +4 -4
  396. package/dist/esm/components/date-range-picker/DateRangePickerPresetSelect.d.ts.map +1 -1
  397. package/dist/esm/components/date-range-picker/DateRangePickerPresetSelect.js +1 -1
  398. package/dist/esm/components/date-range-picker/DateRangePickerPresetSelect.js.map +1 -1
  399. package/dist/esm/components/date-range-picker/EditableDateRangePicker.d.ts +3 -4
  400. package/dist/esm/components/date-range-picker/EditableDateRangePicker.d.ts.map +1 -1
  401. package/dist/esm/components/date-range-picker/EditableDateRangePicker.js +2 -2
  402. package/dist/esm/components/date-range-picker/EditableDateRangePicker.js.map +1 -1
  403. package/dist/esm/components/date-time-range-picker/DateTimeRangePicker.d.ts +25 -0
  404. package/dist/esm/components/date-time-range-picker/DateTimeRangePicker.d.ts.map +1 -0
  405. package/dist/esm/components/date-time-range-picker/DateTimeRangePicker.js +37 -0
  406. package/dist/esm/components/date-time-range-picker/DateTimeRangePicker.js.map +1 -0
  407. package/dist/esm/components/date-time-range-picker/EditableDateTimeRangePicker.d.ts +15 -0
  408. package/dist/esm/components/date-time-range-picker/EditableDateTimeRangePicker.d.ts.map +1 -0
  409. package/dist/esm/components/date-time-range-picker/EditableDateTimeRangePicker.js +48 -0
  410. package/dist/esm/components/date-time-range-picker/EditableDateTimeRangePicker.js.map +1 -0
  411. package/dist/esm/components/date-time-range-picker/index.d.ts +2 -0
  412. package/dist/esm/components/date-time-range-picker/index.d.ts.map +1 -0
  413. package/dist/esm/components/date-time-range-picker/index.js +3 -0
  414. package/dist/esm/components/date-time-range-picker/index.js.map +1 -0
  415. package/dist/esm/components/header/Header.d.ts +20 -7
  416. package/dist/esm/components/header/Header.d.ts.map +1 -1
  417. package/dist/esm/components/header/Header.js +13 -7
  418. package/dist/esm/components/header/Header.js.map +1 -1
  419. package/dist/esm/components/header/Header.module.css +2 -17
  420. package/dist/esm/components/header/HeaderBreadcrumbs/HeaderBreadcrumbAnchor.d.ts +41 -0
  421. package/dist/esm/components/header/HeaderBreadcrumbs/HeaderBreadcrumbAnchor.d.ts.map +1 -0
  422. package/dist/esm/components/header/HeaderBreadcrumbs/HeaderBreadcrumbAnchor.js +22 -0
  423. package/dist/esm/components/header/HeaderBreadcrumbs/HeaderBreadcrumbAnchor.js.map +1 -0
  424. package/dist/esm/components/header/HeaderBreadcrumbs/HeaderBreadcrumbText.d.ts +41 -0
  425. package/dist/esm/components/header/HeaderBreadcrumbs/HeaderBreadcrumbText.d.ts.map +1 -0
  426. package/dist/esm/components/header/HeaderBreadcrumbs/HeaderBreadcrumbText.js +22 -0
  427. package/dist/esm/components/header/HeaderBreadcrumbs/HeaderBreadcrumbText.js.map +1 -0
  428. package/dist/esm/components/header/HeaderDocAnchor/HeaderDocAnchor.d.ts.map +1 -1
  429. package/dist/esm/components/header/HeaderDocAnchor/HeaderDocAnchor.js +3 -3
  430. package/dist/esm/components/header/HeaderDocAnchor/HeaderDocAnchor.js.map +1 -1
  431. package/dist/esm/components/header/HeaderRight/HeaderRight.d.ts +19 -0
  432. package/dist/esm/components/header/HeaderRight/HeaderRight.d.ts.map +1 -0
  433. package/dist/esm/components/header/{HeaderActions/HeaderActions.js → HeaderRight/HeaderRight.js} +4 -4
  434. package/dist/esm/components/header/HeaderRight/HeaderRight.js.map +1 -0
  435. package/dist/esm/components/index.d.ts +10 -1
  436. package/dist/esm/components/index.d.ts.map +1 -1
  437. package/dist/esm/components/index.js +10 -1
  438. package/dist/esm/components/index.js.map +1 -1
  439. package/dist/esm/components/info-token/InfoToken.d.ts +45 -0
  440. package/dist/esm/components/info-token/InfoToken.d.ts.map +1 -0
  441. package/dist/esm/components/info-token/InfoToken.js +125 -0
  442. package/dist/esm/components/info-token/InfoToken.js.map +1 -0
  443. package/dist/esm/components/info-token/InfoToken.module.css +8 -0
  444. package/dist/esm/components/info-token/index.d.ts +2 -0
  445. package/dist/esm/components/info-token/index.d.ts.map +1 -0
  446. package/dist/esm/components/info-token/index.js +3 -0
  447. package/dist/esm/components/info-token/index.js.map +1 -0
  448. package/dist/esm/components/inline-confirm/InlineConfirmPrompt.d.ts +2 -2
  449. package/dist/esm/components/inline-confirm/InlineConfirmPrompt.js +2 -4
  450. package/dist/esm/components/inline-confirm/InlineConfirmPrompt.js.map +1 -1
  451. package/dist/esm/components/inline-confirm/InlineConfirmTarget.d.ts +32 -0
  452. package/dist/esm/components/inline-confirm/InlineConfirmTarget.d.ts.map +1 -1
  453. package/dist/esm/components/last-updated/LastUpdated.d.ts +33 -0
  454. package/dist/esm/components/last-updated/LastUpdated.d.ts.map +1 -0
  455. package/dist/esm/components/last-updated/LastUpdated.js +54 -0
  456. package/dist/esm/components/last-updated/LastUpdated.js.map +1 -0
  457. package/dist/esm/components/last-updated/index.d.ts +2 -0
  458. package/dist/esm/components/last-updated/index.d.ts.map +1 -0
  459. package/dist/esm/components/last-updated/index.js +3 -0
  460. package/dist/esm/components/last-updated/index.js.map +1 -0
  461. package/dist/esm/components/loader/CircleLoader.d.ts +3 -0
  462. package/dist/esm/components/loader/CircleLoader.d.ts.map +1 -0
  463. package/dist/esm/components/loader/CircleLoader.js +13 -0
  464. package/dist/esm/components/loader/CircleLoader.js.map +1 -0
  465. package/dist/esm/components/loader/CircleLoader.module.css +29 -0
  466. package/dist/esm/components/loader/index.d.ts +2 -0
  467. package/dist/esm/components/loader/index.d.ts.map +1 -0
  468. package/dist/esm/components/loader/index.js +3 -0
  469. package/dist/esm/components/loader/index.js.map +1 -0
  470. package/dist/esm/components/menu/Menu.d.ts.map +1 -1
  471. package/dist/esm/components/menu/Menu.js +5 -1
  472. package/dist/esm/components/menu/Menu.js.map +1 -1
  473. package/dist/esm/components/modal/Modal.d.ts +15 -1
  474. package/dist/esm/components/modal/Modal.d.ts.map +1 -1
  475. package/dist/esm/components/modal/Modal.js +19 -4
  476. package/dist/esm/components/modal/Modal.js.map +1 -1
  477. package/dist/esm/components/modal/ModalFooter.d.ts +0 -4
  478. package/dist/esm/components/modal/ModalFooter.d.ts.map +1 -1
  479. package/dist/esm/components/modal/ModalFooter.js +3 -6
  480. package/dist/esm/components/modal/ModalFooter.js.map +1 -1
  481. package/dist/esm/components/modal/ModalFooter.module.css +10 -0
  482. package/dist/esm/components/prompt/Prompt.d.ts +1 -2
  483. package/dist/esm/components/prompt/Prompt.d.ts.map +1 -1
  484. package/dist/esm/components/prompt/Prompt.js +20 -27
  485. package/dist/esm/components/prompt/Prompt.js.map +1 -1
  486. package/dist/esm/components/prompt/Prompt.module.css +6 -21
  487. package/dist/esm/components/prompt/PromptCancelButton.d.ts.map +1 -1
  488. package/dist/esm/components/prompt/PromptCancelButton.js +3 -3
  489. package/dist/esm/components/prompt/PromptCancelButton.js.map +1 -1
  490. package/dist/esm/components/prompt/PromptConfirmButton.d.ts.map +1 -1
  491. package/dist/esm/components/prompt/PromptConfirmButton.js +7 -8
  492. package/dist/esm/components/prompt/PromptConfirmButton.js.map +1 -1
  493. package/dist/esm/components/prompt/icons/CriticalIcon.d.ts +3 -0
  494. package/dist/esm/components/prompt/icons/CriticalIcon.d.ts.map +1 -0
  495. package/dist/esm/components/prompt/icons/CriticalIcon.js +17 -0
  496. package/dist/esm/components/prompt/icons/CriticalIcon.js.map +1 -0
  497. package/dist/esm/components/prompt/icons/InfoIcon.d.ts +3 -0
  498. package/dist/esm/components/prompt/icons/InfoIcon.d.ts.map +1 -0
  499. package/dist/esm/components/prompt/icons/InfoIcon.js +17 -0
  500. package/dist/esm/components/prompt/icons/InfoIcon.js.map +1 -0
  501. package/dist/esm/components/prompt/icons/SuccessIcon.d.ts +3 -0
  502. package/dist/esm/components/prompt/icons/SuccessIcon.d.ts.map +1 -0
  503. package/dist/esm/components/prompt/icons/SuccessIcon.js +17 -0
  504. package/dist/esm/components/prompt/icons/SuccessIcon.js.map +1 -0
  505. package/dist/esm/components/prompt/icons/WarningIcon.d.ts +3 -0
  506. package/dist/esm/components/prompt/icons/WarningIcon.d.ts.map +1 -0
  507. package/dist/esm/components/prompt/icons/WarningIcon.js +17 -0
  508. package/dist/esm/components/prompt/icons/WarningIcon.js.map +1 -0
  509. package/dist/esm/components/read-only/ReadOnlyInputStyles.js +2 -2
  510. package/dist/esm/components/read-only/ReadOnlyInputStyles.js.map +1 -1
  511. package/dist/esm/components/sticky-footer/StickyFooter.module.css +2 -9
  512. package/dist/esm/components/table/Table.module.css +10 -6
  513. package/dist/esm/components/table/Table.types.d.ts +2 -2
  514. package/dist/esm/components/table/Table.types.d.ts.map +1 -1
  515. package/dist/esm/components/table/Table.types.js.map +1 -1
  516. package/dist/esm/components/table/layouts/TableLayoutControl.js +1 -1
  517. package/dist/esm/components/table/layouts/TableLayoutControl.js.map +1 -1
  518. package/dist/esm/components/table/layouts/row-layout/RowLayout.d.ts.map +1 -1
  519. package/dist/esm/components/table/layouts/row-layout/RowLayout.js +2 -2
  520. package/dist/esm/components/table/layouts/row-layout/RowLayout.js.map +1 -1
  521. package/dist/esm/components/table/layouts/row-layout/RowLayout.module.css +11 -17
  522. package/dist/esm/components/table/table-actions/TableActionItem.d.ts +2 -1
  523. package/dist/esm/components/table/table-actions/TableActionItem.d.ts.map +1 -1
  524. package/dist/esm/components/table/table-actions/TableActionItem.js +3 -3
  525. package/dist/esm/components/table/table-actions/TableActionItem.js.map +1 -1
  526. package/dist/esm/components/table/table-actions/TableActionsList.d.ts.map +1 -1
  527. package/dist/esm/components/table/table-actions/TableActionsList.js +5 -5
  528. package/dist/esm/components/table/table-actions/TableActionsList.js.map +1 -1
  529. package/dist/esm/components/table/table-column/TableCollapsibleColumn.js +8 -7
  530. package/dist/esm/components/table/table-column/TableCollapsibleColumn.js.map +1 -1
  531. package/dist/esm/components/table/table-date-range-picker/TableDateRangePicker.d.ts.map +1 -1
  532. package/dist/esm/components/table/table-date-range-picker/TableDateRangePicker.js +2 -3
  533. package/dist/esm/components/table/table-date-range-picker/TableDateRangePicker.js.map +1 -1
  534. package/dist/esm/components/table/table-filter/TableFilter.d.ts.map +1 -1
  535. package/dist/esm/components/table/table-filter/TableFilter.js +9 -9
  536. package/dist/esm/components/table/table-filter/TableFilter.js.map +1 -1
  537. package/dist/esm/components/table/table-header/TableHeader.d.ts +6 -0
  538. package/dist/esm/components/table/table-header/TableHeader.d.ts.map +1 -1
  539. package/dist/esm/components/table/table-header/TableHeader.js +7 -4
  540. package/dist/esm/components/table/table-header/TableHeader.js.map +1 -1
  541. package/dist/esm/components/table/table-last-updated/TableLastUpdated.d.ts +2 -7
  542. package/dist/esm/components/table/table-last-updated/TableLastUpdated.d.ts.map +1 -1
  543. package/dist/esm/components/table/table-last-updated/TableLastUpdated.js +25 -35
  544. package/dist/esm/components/table/table-last-updated/TableLastUpdated.js.map +1 -1
  545. package/dist/esm/components/table/use-table.d.ts +2 -2
  546. package/dist/esm/components/table/use-table.d.ts.map +1 -1
  547. package/dist/esm/components/table/use-table.js +4 -4
  548. package/dist/esm/components/table/use-table.js.map +1 -1
  549. package/dist/esm/images/placeholder.svg +4 -0
  550. package/dist/esm/index.d.ts +2 -1
  551. package/dist/esm/index.d.ts.map +1 -1
  552. package/dist/esm/index.js +1 -1
  553. package/dist/esm/index.js.map +1 -1
  554. package/dist/esm/styles/Accordion.module.css +48 -0
  555. package/dist/esm/styles/ActionIcon.module.css +4 -3
  556. package/dist/esm/styles/Alert.module.css +6 -27
  557. package/dist/esm/styles/Badge.module.css +4 -3
  558. package/dist/esm/styles/Breadcrumbs.module.css +12 -0
  559. package/dist/esm/styles/Button.module.css +9 -1
  560. package/dist/esm/styles/Card.module.css +22 -0
  561. package/dist/esm/styles/Checkbox.module.css +34 -13
  562. package/dist/esm/styles/CheckboxIndicator.module.css +12 -0
  563. package/dist/esm/styles/Chip.module.css +41 -0
  564. package/dist/esm/styles/Combobox.module.css +3 -2
  565. package/dist/esm/styles/DatePicker.module.css +14 -2
  566. package/dist/esm/styles/Input.module.css +32 -2
  567. package/dist/esm/styles/InputWrapper.module.css +9 -7
  568. package/dist/esm/styles/Modal.module.css +5 -59
  569. package/dist/esm/styles/MonthPicker.module.css +11 -0
  570. package/dist/esm/styles/NavLink.module.css +9 -13
  571. package/dist/esm/styles/Notifications.module.css +37 -0
  572. package/dist/esm/styles/NumberInput.module.css +7 -0
  573. package/dist/esm/styles/Pagination.module.css +23 -16
  574. package/dist/esm/styles/Paper.module.css +5 -0
  575. package/dist/esm/styles/Pill.module.css +4 -0
  576. package/dist/esm/styles/Popover.module.css +6 -0
  577. package/dist/esm/styles/Radio.module.css +36 -3
  578. package/dist/esm/styles/RadioCard.module.css +11 -0
  579. package/dist/esm/styles/ReadOnlyInput.module.css +12 -4
  580. package/dist/esm/styles/SegmentedControl.module.css +38 -17
  581. package/dist/esm/styles/Select.module.css +32 -24
  582. package/dist/esm/styles/Skeleton.module.css +1 -0
  583. package/dist/esm/styles/Slider.module.css +23 -0
  584. package/dist/esm/styles/Stepper.module.css +12 -60
  585. package/dist/esm/styles/Table.module.css +3 -0
  586. package/dist/esm/styles/Tabs.module.css +47 -9
  587. package/dist/esm/styles/Text.module.css +5 -1
  588. package/dist/esm/styles/TimePicker.module.css +8 -0
  589. package/dist/esm/styles/Tooltip.module.css +1 -0
  590. package/dist/esm/styles/YearPicker.module.css +11 -0
  591. package/dist/esm/styles/global.css +14 -0
  592. package/dist/esm/theme/PlasmaColors.d.ts +12 -8
  593. package/dist/esm/theme/PlasmaColors.d.ts.map +1 -1
  594. package/dist/esm/theme/PlasmaColors.js +143 -18
  595. package/dist/esm/theme/PlasmaColors.js.map +1 -1
  596. package/dist/esm/theme/Plasmantine.d.ts +1 -0
  597. package/dist/esm/theme/Plasmantine.d.ts.map +1 -1
  598. package/dist/esm/theme/Plasmantine.js +1 -0
  599. package/dist/esm/theme/Plasmantine.js.map +1 -1
  600. package/dist/esm/theme/Theme.d.ts.map +1 -1
  601. package/dist/esm/theme/Theme.js +275 -137
  602. package/dist/esm/theme/Theme.js.map +1 -1
  603. package/dist/esm/theme/index.d.ts +1 -0
  604. package/dist/esm/theme/index.d.ts.map +1 -1
  605. package/dist/esm/theme/index.js +1 -0
  606. package/dist/esm/theme/index.js.map +1 -1
  607. package/dist/esm/theme/plasmaCSSVariablesResolver.d.ts.map +1 -1
  608. package/dist/esm/theme/plasmaCSSVariablesResolver.js +67 -8
  609. package/dist/esm/theme/plasmaCSSVariablesResolver.js.map +1 -1
  610. package/dist/esm/theme/plasmaVariantColorResolver.d.ts +3 -0
  611. package/dist/esm/theme/plasmaVariantColorResolver.d.ts.map +1 -0
  612. package/dist/esm/theme/plasmaVariantColorResolver.js +27 -0
  613. package/dist/esm/theme/plasmaVariantColorResolver.js.map +1 -0
  614. package/package.json +25 -21
  615. package/src/__tests__/Utils.tsx +20 -3
  616. package/src/__tests__/VitestSetup.ts +1 -0
  617. package/src/components/accordion/Accordion.module.css +3 -0
  618. package/src/components/accordion/Accordion.tsx +22 -0
  619. package/src/components/accordion/index.ts +1 -0
  620. package/src/components/action-icon/ActionIcon.tsx +33 -0
  621. package/src/components/alert/Alert.tsx +73 -0
  622. package/src/components/alert/index.ts +1 -0
  623. package/src/components/badge/Badge.tsx +146 -0
  624. package/src/components/badge/index.ts +1 -0
  625. package/src/components/browser-preview/BrowserPreview.module.css +3 -12
  626. package/src/components/browser-preview/BrowserPreview.tsx +26 -34
  627. package/src/components/browser-preview/__tests__/BrowserPreview.spec.tsx +4 -3
  628. package/src/components/button/Button.tsx +47 -0
  629. package/src/components/checkbox/CheckboxIcon.tsx +14 -0
  630. package/src/components/checkbox/index.ts +1 -0
  631. package/src/components/child-form/ChildForm.module.css +3 -2
  632. package/src/components/child-form/ChildForm.tsx +1 -1
  633. package/src/components/chip/Chip.tsx +5 -0
  634. package/src/components/chip/index.ts +1 -0
  635. package/src/components/code-editor/CodeEditor.module.css +18 -17
  636. package/src/components/code-editor/CodeEditor.tsx +27 -30
  637. package/src/components/code-editor/__tests__/CodeEditor.spec.tsx +1 -1
  638. package/src/components/code-editor/search/Search.tsx +8 -7
  639. package/src/components/collection/Collection.module.css +7 -0
  640. package/src/components/collection/Collection.tsx +18 -25
  641. package/src/components/collection/CollectionItem.tsx +69 -19
  642. package/src/components/collection/__tests__/Collection.spec.tsx +165 -44
  643. package/src/components/copyToClipboard/CopyToClipboard.tsx +35 -14
  644. package/src/components/date-range-picker/DateRange.module.css +2 -2
  645. package/src/components/date-range-picker/DateRangePickerInlineCalendar.tsx +15 -19
  646. package/src/components/date-range-picker/DateRangePickerPopoverCalendar.tsx +13 -8
  647. package/src/components/date-range-picker/DateRangePickerPresetSelect.tsx +7 -6
  648. package/src/components/date-range-picker/EditableDateRangePicker.tsx +7 -8
  649. package/src/components/date-range-picker/__tests__/DateRangePickerInlineCalendar.spec.tsx +3 -11
  650. package/src/components/date-range-picker/__tests__/EditableDateRangePicker.spec.tsx +2 -2
  651. package/src/components/date-time-range-picker/DateTimeRangePicker.tsx +61 -0
  652. package/src/components/date-time-range-picker/EditableDateTimeRangePicker.tsx +52 -0
  653. package/src/components/date-time-range-picker/__tests__/DateTimeRangePicker.spec.tsx +45 -0
  654. package/src/components/date-time-range-picker/index.ts +1 -0
  655. package/src/components/header/Header.module.css +2 -17
  656. package/src/components/header/Header.tsx +37 -11
  657. package/src/components/header/HeaderBreadcrumbs/HeaderBreadcrumbAnchor.tsx +28 -0
  658. package/src/components/header/HeaderBreadcrumbs/HeaderBreadcrumbText.tsx +28 -0
  659. package/src/components/header/HeaderDocAnchor/HeaderDocAnchor.tsx +2 -2
  660. package/src/components/header/{HeaderActions/HeaderActions.tsx → HeaderRight/HeaderRight.tsx} +10 -10
  661. package/src/components/header/__tests__/Header.spec.tsx +17 -4
  662. package/src/components/index.ts +10 -1
  663. package/src/components/info-token/InfoToken.module.css +8 -0
  664. package/src/components/info-token/InfoToken.tsx +177 -0
  665. package/src/components/info-token/index.ts +1 -0
  666. package/src/components/inline-confirm/InlineConfirmPrompt.tsx +4 -4
  667. package/src/components/last-updated/LastUpdated.tsx +75 -0
  668. package/src/components/last-updated/__tests__/LastUpdated.spec.tsx +37 -0
  669. package/src/components/last-updated/index.ts +1 -0
  670. package/src/components/loader/CircleLoader.module.css +29 -0
  671. package/src/components/loader/CircleLoader.tsx +8 -0
  672. package/src/components/loader/index.ts +1 -0
  673. package/src/components/menu/Menu.tsx +7 -1
  674. package/src/components/menu/__tests__/Menu.spec.tsx +18 -0
  675. package/src/components/modal/Modal.tsx +27 -3
  676. package/src/components/modal/ModalFooter.module.css +10 -0
  677. package/src/components/modal/ModalFooter.tsx +4 -16
  678. package/src/components/modal/__tests__/Modal.spec.tsx +1 -1
  679. package/src/components/modal/__tests__/ModalFooter.spec.tsx +0 -10
  680. package/src/components/prompt/Prompt.module.css +6 -21
  681. package/src/components/prompt/Prompt.tsx +22 -34
  682. package/src/components/prompt/PromptCancelButton.tsx +3 -10
  683. package/src/components/prompt/PromptConfirmButton.tsx +14 -10
  684. package/src/components/prompt/__tests__/Prompt.spec.tsx +13 -18
  685. package/src/components/prompt/icons/CriticalIcon.tsx +18 -0
  686. package/src/components/prompt/icons/InfoIcon.tsx +18 -0
  687. package/src/components/prompt/icons/SuccessIcon.tsx +17 -0
  688. package/src/components/prompt/icons/WarningIcon.tsx +18 -0
  689. package/src/components/read-only/ReadOnlyInputStyles.ts +2 -2
  690. package/src/components/sticky-footer/StickyFooter.module.css +2 -9
  691. package/src/components/table/Table.module.css +10 -6
  692. package/src/components/table/Table.types.ts +2 -2
  693. package/src/components/table/__tests__/TableDateRangePicker.spec.tsx +7 -4
  694. package/src/components/table/__tests__/TableFilter.spec.tsx +1 -1
  695. package/src/components/table/layouts/TableLayoutControl.tsx +1 -1
  696. package/src/components/table/layouts/__tests__/RowLayout.spec.tsx +7 -7
  697. package/src/components/table/layouts/row-layout/RowLayout.module.css +11 -17
  698. package/src/components/table/layouts/row-layout/RowLayout.tsx +2 -2
  699. package/src/components/table/table-actions/TableActionItem.tsx +4 -11
  700. package/src/components/table/table-actions/TableActionsList.tsx +7 -9
  701. package/src/components/table/table-column/TableCollapsibleColumn.tsx +5 -6
  702. package/src/components/table/table-date-range-picker/TableDateRangePicker.tsx +8 -6
  703. package/src/components/table/table-filter/TableFilter.tsx +7 -6
  704. package/src/components/table/table-header/TableHeader.tsx +16 -4
  705. package/src/components/table/table-last-updated/TableLastUpdated.tsx +26 -32
  706. package/src/components/table/use-table.ts +6 -6
  707. package/src/images/placeholder.svg +4 -0
  708. package/src/index.ts +6 -0
  709. package/src/styles/Accordion.module.css +48 -0
  710. package/src/styles/ActionIcon.module.css +4 -3
  711. package/src/styles/Alert.module.css +6 -27
  712. package/src/styles/Badge.module.css +4 -3
  713. package/src/styles/Breadcrumbs.module.css +12 -0
  714. package/src/styles/Button.module.css +9 -1
  715. package/src/styles/Card.module.css +22 -0
  716. package/src/styles/Checkbox.module.css +34 -13
  717. package/src/styles/CheckboxIndicator.module.css +12 -0
  718. package/src/styles/Chip.module.css +41 -0
  719. package/src/styles/Combobox.module.css +3 -2
  720. package/src/styles/DatePicker.module.css +14 -2
  721. package/src/styles/Input.module.css +32 -2
  722. package/src/styles/InputWrapper.module.css +9 -7
  723. package/src/styles/Modal.module.css +5 -59
  724. package/src/styles/MonthPicker.module.css +11 -0
  725. package/src/styles/NavLink.module.css +9 -13
  726. package/src/styles/Notifications.module.css +37 -0
  727. package/src/styles/NumberInput.module.css +7 -0
  728. package/src/styles/Pagination.module.css +23 -16
  729. package/src/styles/Paper.module.css +5 -0
  730. package/src/styles/Pill.module.css +4 -0
  731. package/src/styles/Popover.module.css +6 -0
  732. package/src/styles/Radio.module.css +36 -3
  733. package/src/styles/RadioCard.module.css +11 -0
  734. package/src/styles/ReadOnlyInput.module.css +12 -4
  735. package/src/styles/SegmentedControl.module.css +38 -17
  736. package/src/styles/Select.module.css +32 -24
  737. package/src/styles/Skeleton.module.css +1 -0
  738. package/src/styles/Slider.module.css +23 -0
  739. package/src/styles/Stepper.module.css +12 -60
  740. package/src/styles/Table.module.css +3 -0
  741. package/src/styles/Tabs.module.css +47 -9
  742. package/src/styles/Text.module.css +5 -1
  743. package/src/styles/TimePicker.module.css +8 -0
  744. package/src/styles/Tooltip.module.css +1 -0
  745. package/src/styles/YearPicker.module.css +11 -0
  746. package/src/styles/global.css +14 -0
  747. package/src/theme/PlasmaColors.ts +144 -19
  748. package/src/theme/Plasmantine.tsx +1 -0
  749. package/src/theme/Theme.tsx +251 -96
  750. package/src/theme/__tests__/plasmaCSSVariablesResolver.spec.ts +16 -60
  751. package/src/theme/index.ts +1 -0
  752. package/src/theme/plasmaCSSVariablesResolver.ts +88 -8
  753. package/src/theme/plasmaVariantColorResolver.ts +26 -0
  754. package/dist/cjs/components/header/HeaderActions/HeaderActions.d.ts +0 -19
  755. package/dist/cjs/components/header/HeaderActions/HeaderActions.d.ts.map +0 -1
  756. package/dist/cjs/components/header/HeaderActions/HeaderActions.js.map +0 -1
  757. package/dist/cjs/components/header/__tests__/__snapshots__/Header.spec.tsx.snap +0 -73
  758. package/dist/cjs/components/modal/Modal.module.css +0 -9
  759. package/dist/cjs/components/prompt/icons/critical.svg +0 -29
  760. package/dist/cjs/components/prompt/icons/info.svg +0 -27
  761. package/dist/cjs/components/prompt/icons/success.svg +0 -27
  762. package/dist/cjs/components/prompt/icons/warning.svg +0 -27
  763. package/dist/cjs/components/table/layouts/row-layout/RowLayoutIcon.d.ts +0 -16
  764. package/dist/cjs/components/table/layouts/row-layout/RowLayoutIcon.d.ts.map +0 -1
  765. package/dist/cjs/components/table/layouts/row-layout/RowLayoutIcon.js +0 -24
  766. package/dist/cjs/components/table/layouts/row-layout/RowLayoutIcon.js.map +0 -1
  767. package/dist/cjs/styles/Anchor.module.css +0 -6
  768. package/dist/cjs/styles/AppShellNavBar.module.css +0 -3
  769. package/dist/cjs/styles/Notification.module.css +0 -20
  770. package/dist/cjs/vars/Notification.vars.d.ts +0 -3
  771. package/dist/cjs/vars/Notification.vars.d.ts.map +0 -1
  772. package/dist/cjs/vars/Notification.vars.js +0 -44
  773. package/dist/cjs/vars/Notification.vars.js.map +0 -1
  774. package/dist/cjs/vars/Text.vars.d.ts +0 -3
  775. package/dist/cjs/vars/Text.vars.d.ts.map +0 -1
  776. package/dist/cjs/vars/Text.vars.js +0 -25
  777. package/dist/cjs/vars/Text.vars.js.map +0 -1
  778. package/dist/esm/components/header/HeaderActions/HeaderActions.d.ts +0 -19
  779. package/dist/esm/components/header/HeaderActions/HeaderActions.d.ts.map +0 -1
  780. package/dist/esm/components/header/HeaderActions/HeaderActions.js.map +0 -1
  781. package/dist/esm/components/header/__tests__/__snapshots__/Header.spec.tsx.snap +0 -73
  782. package/dist/esm/components/modal/Modal.module.css +0 -9
  783. package/dist/esm/components/prompt/icons/critical.svg +0 -29
  784. package/dist/esm/components/prompt/icons/info.svg +0 -27
  785. package/dist/esm/components/prompt/icons/success.svg +0 -27
  786. package/dist/esm/components/prompt/icons/warning.svg +0 -27
  787. package/dist/esm/components/table/layouts/row-layout/RowLayoutIcon.d.ts +0 -16
  788. package/dist/esm/components/table/layouts/row-layout/RowLayoutIcon.d.ts.map +0 -1
  789. package/dist/esm/components/table/layouts/row-layout/RowLayoutIcon.js +0 -14
  790. package/dist/esm/components/table/layouts/row-layout/RowLayoutIcon.js.map +0 -1
  791. package/dist/esm/styles/Anchor.module.css +0 -6
  792. package/dist/esm/styles/AppShellNavBar.module.css +0 -3
  793. package/dist/esm/styles/Notification.module.css +0 -20
  794. package/dist/esm/vars/Notification.vars.d.ts +0 -3
  795. package/dist/esm/vars/Notification.vars.d.ts.map +0 -1
  796. package/dist/esm/vars/Notification.vars.js +0 -34
  797. package/dist/esm/vars/Notification.vars.js.map +0 -1
  798. package/dist/esm/vars/Text.vars.d.ts +0 -3
  799. package/dist/esm/vars/Text.vars.d.ts.map +0 -1
  800. package/dist/esm/vars/Text.vars.js +0 -15
  801. package/dist/esm/vars/Text.vars.js.map +0 -1
  802. package/src/components/header/__tests__/__snapshots__/Header.spec.tsx.snap +0 -73
  803. package/src/components/modal/Modal.module.css +0 -9
  804. package/src/components/prompt/icons/critical.svg +0 -29
  805. package/src/components/prompt/icons/info.svg +0 -27
  806. package/src/components/prompt/icons/success.svg +0 -27
  807. package/src/components/prompt/icons/warning.svg +0 -27
  808. package/src/components/table/layouts/row-layout/RowLayoutIcon.tsx +0 -22
  809. package/src/styles/Anchor.module.css +0 -6
  810. package/src/styles/AppShellNavBar.module.css +0 -3
  811. package/src/styles/Notification.module.css +0 -20
  812. package/src/vars/Notification.vars.ts +0 -14
  813. package/src/vars/Text.vars.ts +0 -8
@@ -103,20 +103,12 @@ var CodeEditor = function(props) {
103
103
  }
104
104
  };
105
105
  var registerThemes = function(monaco) {
106
- monaco.editor.defineTheme('light-disabled', {
106
+ monaco.editor.defineTheme('light', {
107
107
  base: 'vs',
108
108
  inherit: true,
109
109
  rules: [],
110
110
  colors: {
111
- 'editor.background': theme.colors.gray[2]
112
- }
113
- });
114
- monaco.editor.defineTheme('vs-dark-disabled', {
115
- base: 'vs-dark',
116
- inherit: true,
117
- rules: [],
118
- colors: {
119
- 'editor.background': theme.colors.navy[7]
111
+ 'editor.background': theme.colors.gray[0]
120
112
  }
121
113
  });
122
114
  };
@@ -130,7 +122,7 @@ var CodeEditor = function(props) {
130
122
  var _useState1 = _sliced_to_array._((0, _react1.useState)(false), 2), hasMonacoError = _useState1[0], setHasMonacoError = _useState1[1];
131
123
  var hasMonacoErrorRef = (0, _react1.useRef)(false);
132
124
  hasMonacoErrorRef.current = hasMonacoError;
133
- var renderErrorOutline = !!error || hasMonacoError;
125
+ var hasError = !!error || hasMonacoError;
134
126
  var theme = (0, _core.useMantineTheme)();
135
127
  var colorScheme = (0, _core.useMantineColorScheme)().colorScheme;
136
128
  (0, _react1.useEffect)(function() {
@@ -153,14 +145,13 @@ var CodeEditor = function(props) {
153
145
  var _description = description ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_core.Input.Description, _object_spread_props._(_object_spread._({}, descriptionProps), {
154
146
  children: description
155
147
  })) : null;
156
- var _error = error ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_core.Input.Error, _object_spread_props._(_object_spread._({
157
- mt: "xs"
158
- }, errorProps), {
148
+ var _error = error ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_core.Input.Error, _object_spread_props._(_object_spread._({}, errorProps), {
159
149
  children: error
160
150
  })) : /*#__PURE__*/ (0, _jsxruntime.jsx)(_core.Space, {
161
- h: "xs"
151
+ h: "sm"
162
152
  });
163
- var _header = _label || _description ? /*#__PURE__*/ (0, _jsxruntime.jsxs)(_core.Box, {
153
+ var _header = _label || _description ? /*#__PURE__*/ (0, _jsxruntime.jsxs)(_core.Stack, {
154
+ gap: "xxs",
164
155
  children: [
165
156
  _label,
166
157
  _description
@@ -168,7 +159,7 @@ var CodeEditor = function(props) {
168
159
  }) : null;
169
160
  var _buttons = /*#__PURE__*/ (0, _jsxruntime.jsxs)(_core.Group, {
170
161
  justify: "right",
171
- gap: 0,
162
+ gap: "xs",
172
163
  children: [
173
164
  /*#__PURE__*/ (0, _jsxruntime.jsx)(_search.Search, {
174
165
  handleSearch: handleSearch
@@ -188,7 +179,7 @@ var CodeEditor = function(props) {
188
179
  var _editor = loaded ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_core.Box, {
189
180
  p: "md",
190
181
  pl: "xs",
191
- className: (0, _clsx.default)(_CodeEditormodulecss.default.editor, _define_property._({}, _CodeEditormodulecss.default.valid, !renderErrorOutline), _define_property._({}, _CodeEditormodulecss.default.error, renderErrorOutline), _define_property._({}, _CodeEditormodulecss.default.disabled, disabled)),
182
+ className: (0, _clsx.default)(_CodeEditormodulecss.default.root, _define_property._({}, _CodeEditormodulecss.default.error, hasError), _define_property._({}, _CodeEditormodulecss.default.disabled, disabled)),
192
183
  "data-testid": "editor-wrapper",
193
184
  children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_react.default, {
194
185
  onValidate: handleValidate,
@@ -203,17 +194,22 @@ var CodeEditor = function(props) {
203
194
  formatOnPaste: true,
204
195
  fontSize: (0, _core.px)(theme.fontSizes.xs),
205
196
  readOnly: disabled,
197
+ stickyScroll: {
198
+ enabled: false
199
+ },
206
200
  tabSize: tabSize
207
201
  },
208
202
  value: _value,
209
203
  onChange: handleChange,
210
- onMount: function(editor, monaco) {
204
+ beforeMount: function(monaco) {
205
+ registerLanguages(monaco);
206
+ registerThemes(monaco);
207
+ },
208
+ onMount: function(editor) {
211
209
  editorRef.current = editor;
212
210
  if (editorHandle) {
213
211
  editorHandle.current = editor;
214
212
  }
215
- registerLanguages(monaco);
216
- registerThemes(monaco);
217
213
  editor.onDidFocusEditorText(function() {
218
214
  return onFocus === null || onFocus === void 0 ? void 0 : onFocus();
219
215
  });
@@ -256,14 +252,19 @@ var CodeEditor = function(props) {
256
252
  });
257
253
  return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_core.Stack, _object_spread_props._(_object_spread._({
258
254
  justify: "flex-start",
259
- gap: 0,
255
+ gap: "sm",
260
256
  h: Math.max(parentHeight, minHeight),
261
257
  mah: maxHeight,
262
258
  ref: ref
263
259
  }, others), {
264
260
  children: [
265
- _header,
266
- _buttons,
261
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_core.Group, {
262
+ justify: "space-between",
263
+ children: [
264
+ _header,
265
+ _buttons
266
+ ]
267
+ }),
267
268
  _editor,
268
269
  _error
269
270
  ]
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/code-editor/CodeEditor.tsx"],"sourcesContent":["import {\n Box,\n Center,\n Group,\n Input,\n InputWrapperProps,\n Loader,\n Space,\n Stack,\n StackProps,\n px,\n useMantineColorScheme,\n useMantineTheme,\n useProps,\n} from '@mantine/core';\nimport {useUncontrolled} from '@mantine/hooks';\nimport Editor, {Monaco, loader} from '@monaco-editor/react';\nimport {MarkerSeverity, editor as monacoEditor} from 'monaco-editor';\nimport {FunctionComponent, useEffect, useRef, useState} from 'react';\n\nimport cx from 'clsx';\nimport {useParentHeight} from '../../hooks';\nimport {CopyToClipboard} from '../copyToClipboard';\nimport CodeEditorClasses from './CodeEditor.module.css';\nimport {XML} from './languages/xml';\nimport {Search} from './search';\ninterface CodeEditorProps\n extends Omit<\n InputWrapperProps,\n 'inputContainer' | 'inputWrapperOrder' | 'classNames' | 'styles' | 'vars' | 'onChange'\n >,\n Omit<StackProps, 'onChange'> {\n /**\n * The language syntax of the editor\n *\n * @default 'plaintext'\n */\n language?: 'plaintext' | 'json' | 'markdown' | 'python' | 'xml' | (string & unknown);\n /** Default value for uncontrolled input */\n defaultValue?: string;\n /** Value for controlled input */\n value?: string;\n /** onChange value for controlled input */\n onChange?(value: string): void;\n /** Called whenever the search icon is clicked */\n onSearch?(): void;\n /** Called whenever the copy icon is clicked */\n onCopy?(): void;\n /** Called whenever the code editor gets the focus */\n onFocus?(): void;\n /** Ref object that provides access to the editor's functionality */\n editorHandle?: React.MutableRefObject<monacoEditor.IStandaloneCodeEditor | null>;\n /**\n * The minimal height of the CodeEditor (label and description included)\n *\n * By default the CodeEditor is adjusted to fill its parent height.\n * In the case where the parent height is too short, it will use this value as minimum.\n *\n * @default 300\n */\n minHeight?: number;\n /**\n * The maximal height of the CodeEditor (label and description included)\n *\n * By default the CodeEditor is adjusted to fill its parent height.\n * In the case where the parent height would be too high for your liking, you can use this prop to set a maximum.\n */\n maxHeight?: number;\n disabled?: boolean;\n /**\n * Defines how the monaco editor files will be loaded.\n * Note that using `'local'` requires [some additional configuration](https://github.com/suren-atoyan/monaco-react#use-monaco-editor-as-an-npm-package).\n *\n * @default 'local'\n */\n monacoLoader?: 'cdn' | 'local';\n /**\n * Options to pass to the monaco editor.\n * Currently only supporting [`tabSize`](https://microsoft.github.io/monaco-editor/typedoc/interfaces/editor.IStandaloneEditorConstructionOptions.html#tabSize).\n *\n */\n options?: Pick<monacoEditor.IStandaloneEditorConstructionOptions, 'tabSize'>;\n}\n\nconst defaultProps: Partial<CodeEditorProps> = {\n language: 'plaintext',\n monacoLoader: 'local',\n defaultValue: '',\n minHeight: 300,\n};\n\nexport const CodeEditor: FunctionComponent<CodeEditorProps> = (props) => {\n const {\n language,\n defaultValue,\n onChange,\n onCopy,\n onSearch,\n onFocus,\n value,\n label,\n required,\n labelProps,\n error,\n errorProps,\n description,\n descriptionProps,\n minHeight,\n maxHeight,\n disabled,\n monacoLoader,\n options: {tabSize} = {tabSize: 2},\n editorHandle,\n ...others\n } = useProps('CodeEditor', defaultProps, props);\n const [loaded, setLoaded] = useState(false);\n const [_value, handleChange] = useUncontrolled<string>({\n value,\n defaultValue,\n onChange,\n finalValue: '',\n });\n const [parentHeight, ref] = useParentHeight();\n const editorRef = useRef(null);\n\n const loadLocalMonaco = async () => {\n const monacoInstance = await import('monaco-editor');\n loader.config({monaco: monacoInstance});\n setLoaded(true);\n };\n\n const registerLanguages = (monaco: Monaco) => {\n if (monaco && language === 'xml') {\n XML.register(monaco);\n }\n };\n\n const registerThemes = (monaco: Monaco) => {\n monaco.editor.defineTheme('light-disabled', {\n base: 'vs',\n inherit: true,\n rules: [],\n colors: {\n 'editor.background': theme.colors.gray[2],\n },\n });\n monaco.editor.defineTheme('vs-dark-disabled', {\n base: 'vs-dark',\n inherit: true,\n rules: [],\n colors: {\n 'editor.background': theme.colors.navy[7],\n },\n });\n };\n\n const handleSearch = () => {\n if (editorRef.current) {\n editorRef.current.focus();\n editorRef.current.trigger('editor', 'actions.find', '');\n onSearch?.();\n }\n };\n\n const [hasMonacoError, setHasMonacoError] = useState(false);\n const hasMonacoErrorRef = useRef(false);\n\n hasMonacoErrorRef.current = hasMonacoError;\n\n const renderErrorOutline = !!error || hasMonacoError;\n const theme = useMantineTheme();\n const {colorScheme} = useMantineColorScheme();\n\n useEffect(() => {\n if (monacoLoader === 'local') {\n loadLocalMonaco();\n } else {\n setLoaded(true);\n }\n }, []);\n\n const handleValidate = (markers: monacoEditor.IMarker[]) => {\n setHasMonacoError(markers.some((marker) => marker.severity === MarkerSeverity.Error));\n };\n\n const _label = label ? (\n <Input.Label required={required} {...labelProps}>\n {label}\n </Input.Label>\n ) : null;\n\n const _description = description ? (\n <Input.Description {...descriptionProps}>{description}</Input.Description>\n ) : null;\n\n const _error = error ? (\n <Input.Error mt=\"xs\" {...errorProps}>\n {error}\n </Input.Error>\n ) : (\n <Space h=\"xs\" />\n );\n\n const _header =\n _label || _description ? (\n <Box>\n {_label}\n {_description}\n </Box>\n ) : null;\n\n const _buttons = (\n <Group justify=\"right\" gap={0}>\n <Search handleSearch={handleSearch} />\n <CopyToClipboard value={_value} onCopy={() => onCopy?.()} />\n </Group>\n );\n let editorTheme = colorScheme === 'light' ? 'light' : 'vs-dark';\n if (disabled) {\n editorTheme += '-disabled';\n }\n\n const _editor = loaded ? (\n <Box\n p=\"md\"\n pl=\"xs\"\n className={cx(\n CodeEditorClasses.editor,\n {[CodeEditorClasses.valid]: !renderErrorOutline},\n {[CodeEditorClasses.error]: renderErrorOutline},\n {[CodeEditorClasses.disabled]: disabled},\n )}\n data-testid=\"editor-wrapper\"\n >\n <Editor\n onValidate={handleValidate}\n defaultLanguage={language}\n theme={editorTheme}\n options={{\n minimap: {enabled: false},\n wordWrap: 'on',\n scrollBeyondLastLine: false,\n formatOnPaste: true,\n fontSize: px(theme.fontSizes.xs) as number,\n readOnly: disabled,\n tabSize,\n }}\n value={_value}\n onChange={handleChange}\n onMount={(editor, monaco) => {\n editorRef.current = editor;\n if (editorHandle) {\n editorHandle.current = editor;\n }\n registerLanguages(monaco);\n registerThemes(monaco);\n editor.onDidFocusEditorText(() => onFocus?.());\n editor.onDidBlurEditorText(async () => {\n // monaco editor has a timeout of 500ms populating errors, we want to ensure that checking errors happen after that\n setTimeout(async () => {\n if (!hasMonacoErrorRef.current) {\n await editor?.getAction('editor.action.formatDocument')?.run();\n }\n }, 550);\n });\n }}\n />\n </Box>\n ) : (\n <Center className={CodeEditorClasses.editor}>\n <Loader />\n </Center>\n );\n\n return (\n <Stack justify=\"flex-start\" gap={0} h={Math.max(parentHeight, minHeight)} mah={maxHeight} ref={ref} {...others}>\n {_header}\n {_buttons}\n {_editor}\n {_error}\n </Stack>\n );\n};\n"],"names":["CodeEditor","defaultProps","language","monacoLoader","defaultValue","minHeight","props","useProps","onChange","onCopy","onSearch","onFocus","value","label","required","labelProps","error","errorProps","description","descriptionProps","maxHeight","disabled","options","tabSize","editorHandle","others","useState","loaded","setLoaded","useUncontrolled","finalValue","_value","handleChange","useParentHeight","parentHeight","ref","editorRef","useRef","loadLocalMonaco","monacoInstance","loader","config","monaco","registerLanguages","XML","register","registerThemes","editor","defineTheme","base","inherit","rules","colors","theme","gray","navy","handleSearch","current","focus","trigger","hasMonacoError","setHasMonacoError","hasMonacoErrorRef","renderErrorOutline","useMantineTheme","colorScheme","useMantineColorScheme","useEffect","handleValidate","markers","some","marker","severity","MarkerSeverity","Error","_label","Input","Label","_description","Description","_error","mt","Space","h","_header","Box","_buttons","Group","justify","gap","Search","CopyToClipboard","editorTheme","_editor","p","pl","className","cx","CodeEditorClasses","valid","data-testid","Editor","onValidate","defaultLanguage","minimap","enabled","wordWrap","scrollBeyondLastLine","formatOnPaste","fontSize","px","fontSizes","xs","readOnly","onMount","onDidFocusEditorText","onDidBlurEditorText","setTimeout","getAction","run","Center","Loader","Stack","Math","max","mah"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/components/code-editor/CodeEditor.tsx"],"sourcesContent":["import {\n Box,\n Center,\n Group,\n Input,\n InputWrapperProps,\n Loader,\n Space,\n Stack,\n StackProps,\n px,\n useMantineColorScheme,\n useMantineTheme,\n useProps,\n} from '@mantine/core';\nimport {useUncontrolled} from '@mantine/hooks';\nimport Editor, {Monaco, loader} from '@monaco-editor/react';\nimport {MarkerSeverity, editor as monacoEditor} from 'monaco-editor';\nimport {FunctionComponent, useEffect, useRef, useState} from 'react';\n\nimport cx from 'clsx';\nimport {useParentHeight} from '../../hooks';\nimport {CopyToClipboard} from '../copyToClipboard';\nimport CodeEditorClasses from './CodeEditor.module.css';\nimport {XML} from './languages/xml';\nimport {Search} from './search';\ninterface CodeEditorProps\n extends Omit<\n InputWrapperProps,\n 'inputContainer' | 'inputWrapperOrder' | 'classNames' | 'styles' | 'vars' | 'onChange'\n >,\n Omit<StackProps, 'onChange'> {\n /**\n * The language syntax of the editor\n *\n * @default 'plaintext'\n */\n language?: 'plaintext' | 'json' | 'markdown' | 'python' | 'xml' | (string & unknown);\n /** Default value for uncontrolled input */\n defaultValue?: string;\n /** Value for controlled input */\n value?: string;\n /** onChange value for controlled input */\n onChange?(value: string): void;\n /** Called whenever the search icon is clicked */\n onSearch?(): void;\n /** Called whenever the copy icon is clicked */\n onCopy?(): void;\n /** Called whenever the code editor gets the focus */\n onFocus?(): void;\n /** Ref object that provides access to the editor's functionality */\n editorHandle?: React.MutableRefObject<monacoEditor.IStandaloneCodeEditor | null>;\n /**\n * The minimal height of the CodeEditor (label and description included)\n *\n * By default the CodeEditor is adjusted to fill its parent height.\n * In the case where the parent height is too short, it will use this value as minimum.\n *\n * @default 300\n */\n minHeight?: number;\n /**\n * The maximal height of the CodeEditor (label and description included)\n *\n * By default the CodeEditor is adjusted to fill its parent height.\n * In the case where the parent height would be too high for your liking, you can use this prop to set a maximum.\n */\n maxHeight?: number;\n disabled?: boolean;\n /**\n * Defines how the monaco editor files will be loaded.\n * Note that using `'local'` requires [some additional configuration](https://github.com/suren-atoyan/monaco-react#use-monaco-editor-as-an-npm-package).\n *\n * @default 'local'\n */\n monacoLoader?: 'cdn' | 'local';\n /**\n * Options to pass to the monaco editor.\n * Currently only supporting [`tabSize`](https://microsoft.github.io/monaco-editor/typedoc/interfaces/editor.IStandaloneEditorConstructionOptions.html#tabSize).\n *\n */\n options?: Pick<monacoEditor.IStandaloneEditorConstructionOptions, 'tabSize'>;\n}\n\nconst defaultProps: Partial<CodeEditorProps> = {\n language: 'plaintext',\n monacoLoader: 'local',\n defaultValue: '',\n minHeight: 300,\n};\n\nexport const CodeEditor: FunctionComponent<CodeEditorProps> = (props) => {\n const {\n language,\n defaultValue,\n onChange,\n onCopy,\n onSearch,\n onFocus,\n value,\n label,\n required,\n labelProps,\n error,\n errorProps,\n description,\n descriptionProps,\n minHeight,\n maxHeight,\n disabled,\n monacoLoader,\n options: {tabSize} = {tabSize: 2},\n editorHandle,\n ...others\n } = useProps('CodeEditor', defaultProps, props);\n const [loaded, setLoaded] = useState(false);\n const [_value, handleChange] = useUncontrolled<string>({\n value,\n defaultValue,\n onChange,\n finalValue: '',\n });\n const [parentHeight, ref] = useParentHeight();\n const editorRef = useRef(null);\n\n const loadLocalMonaco = async () => {\n const monacoInstance = await import('monaco-editor');\n loader.config({monaco: monacoInstance});\n setLoaded(true);\n };\n\n const registerLanguages = (monaco: Monaco) => {\n if (monaco && language === 'xml') {\n XML.register(monaco);\n }\n };\n\n const registerThemes = (monaco: Monaco) => {\n monaco.editor.defineTheme('light', {\n base: 'vs',\n inherit: true,\n rules: [],\n colors: {\n 'editor.background': theme.colors.gray[0],\n },\n });\n };\n\n const handleSearch = () => {\n if (editorRef.current) {\n editorRef.current.focus();\n editorRef.current.trigger('editor', 'actions.find', '');\n onSearch?.();\n }\n };\n\n const [hasMonacoError, setHasMonacoError] = useState(false);\n const hasMonacoErrorRef = useRef(false);\n\n hasMonacoErrorRef.current = hasMonacoError;\n\n const hasError = !!error || hasMonacoError;\n const theme = useMantineTheme();\n const {colorScheme} = useMantineColorScheme();\n\n useEffect(() => {\n if (monacoLoader === 'local') {\n loadLocalMonaco();\n } else {\n setLoaded(true);\n }\n }, []);\n\n const handleValidate = (markers: monacoEditor.IMarker[]) => {\n setHasMonacoError(markers.some((marker) => marker.severity === MarkerSeverity.Error));\n };\n\n const _label = label ? (\n <Input.Label required={required} {...labelProps}>\n {label}\n </Input.Label>\n ) : null;\n\n const _description = description ? (\n <Input.Description {...descriptionProps}>{description}</Input.Description>\n ) : null;\n\n const _error = error ? <Input.Error {...errorProps}>{error}</Input.Error> : <Space h=\"sm\" />;\n\n const _header =\n _label || _description ? (\n <Stack gap=\"xxs\">\n {_label}\n {_description}\n </Stack>\n ) : null;\n\n const _buttons = (\n <Group justify=\"right\" gap=\"xs\">\n <Search handleSearch={handleSearch} />\n <CopyToClipboard value={_value} onCopy={() => onCopy?.()} />\n </Group>\n );\n let editorTheme = colorScheme === 'light' ? 'light' : 'vs-dark';\n if (disabled) {\n editorTheme += '-disabled';\n }\n\n const _editor = loaded ? (\n <Box\n p=\"md\"\n pl=\"xs\"\n className={cx(\n CodeEditorClasses.root,\n {[CodeEditorClasses.error]: hasError},\n {[CodeEditorClasses.disabled]: disabled},\n )}\n data-testid=\"editor-wrapper\"\n >\n <Editor\n onValidate={handleValidate}\n defaultLanguage={language}\n theme={editorTheme}\n options={{\n minimap: {enabled: false},\n wordWrap: 'on',\n scrollBeyondLastLine: false,\n formatOnPaste: true,\n fontSize: px(theme.fontSizes.xs) as number,\n readOnly: disabled,\n stickyScroll: {enabled: false},\n tabSize,\n }}\n value={_value}\n onChange={handleChange}\n beforeMount={(monaco) => {\n registerLanguages(monaco);\n registerThemes(monaco);\n }}\n onMount={(editor) => {\n editorRef.current = editor;\n if (editorHandle) {\n editorHandle.current = editor;\n }\n editor.onDidFocusEditorText(() => onFocus?.());\n editor.onDidBlurEditorText(async () => {\n // monaco editor has a timeout of 500ms populating errors, we want to ensure that checking errors happen after that\n setTimeout(async () => {\n if (!hasMonacoErrorRef.current) {\n await editor?.getAction('editor.action.formatDocument')?.run();\n }\n }, 550);\n });\n }}\n />\n </Box>\n ) : (\n <Center className={CodeEditorClasses.editor}>\n <Loader />\n </Center>\n );\n\n return (\n <Stack\n justify=\"flex-start\"\n gap=\"sm\"\n h={Math.max(parentHeight, minHeight)}\n mah={maxHeight}\n ref={ref}\n {...others}\n >\n <Group justify=\"space-between\">\n {_header}\n {_buttons}\n </Group>\n {_editor}\n {_error}\n </Stack>\n );\n};\n"],"names":["CodeEditor","defaultProps","language","monacoLoader","defaultValue","minHeight","props","useProps","onChange","onCopy","onSearch","onFocus","value","label","required","labelProps","error","errorProps","description","descriptionProps","maxHeight","disabled","options","tabSize","editorHandle","others","useState","loaded","setLoaded","useUncontrolled","finalValue","_value","handleChange","useParentHeight","parentHeight","ref","editorRef","useRef","loadLocalMonaco","monacoInstance","loader","config","monaco","registerLanguages","XML","register","registerThemes","editor","defineTheme","base","inherit","rules","colors","theme","gray","handleSearch","current","focus","trigger","hasMonacoError","setHasMonacoError","hasMonacoErrorRef","hasError","useMantineTheme","colorScheme","useMantineColorScheme","useEffect","handleValidate","markers","some","marker","severity","MarkerSeverity","Error","_label","Input","Label","_description","Description","_error","Space","h","_header","Stack","gap","_buttons","Group","justify","Search","CopyToClipboard","editorTheme","_editor","Box","p","pl","className","cx","CodeEditorClasses","root","data-testid","Editor","onValidate","defaultLanguage","minimap","enabled","wordWrap","scrollBeyondLastLine","formatOnPaste","fontSize","px","fontSizes","xs","readOnly","stickyScroll","beforeMount","onMount","onDidFocusEditorText","onDidBlurEditorText","setTimeout","getAction","run","Center","Loader","Math","max","mah"],"mappings":"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"}
@@ -1,35 +1,36 @@
1
- .editor {
2
- border: 1px solid var(--mantine-color-gray-3);
3
- border-radius: var(--mantine-radius-default);
1
+ .root {
2
+ --ce-bg: var(--mantine-color-gray-0);
3
+ --ce-border-color: var(--mantine-color-default-border);
4
+
5
+ border: 1px solid var(--ce-border-color);
6
+ border-radius: var(--mantine-radius-lg);
4
7
  z-index: 1;
5
8
  height: 100%;
6
- outline-width: thin;
9
+ background-color: var(--ce-bg);
7
10
 
8
11
  @mixin light {
9
- background-color: var(--mantine-color-white);
12
+ --ce-bg: var(--mantine-color-gray-0);
10
13
  }
11
14
 
12
15
  @mixin dark {
13
- background-color: var(--mantine-color-black);
16
+ --ce-bg: var(--mantine-color-black);
14
17
  }
15
18
  }
16
19
 
17
- .valid {
18
- outline-color: auto;
19
- outline-style: none;
20
- }
21
-
22
20
  .error {
23
- outline-color: var(--mantine-color-red-6);
24
- outline-style: solid;
21
+ --ce-border-color: var(--mantine-color-error);
25
22
  }
26
23
 
27
24
  .disabled {
28
25
  @mixin light {
29
- background-color: var(--mantine-color-gray-2);
30
- }
26
+ --ce-bg: var(--mantine-color-gray-1);
27
+ --ce-border-color: var(--mantine-color-gray-1);
31
28
 
32
- @mixin dark {
33
- background-color: var(--mantine-color-navy-7);
29
+ :global {
30
+ .monaco-editor {
31
+ --vscode-editor-background: var(--ce-bg);
32
+ --vscode-editorGutter-background: var(--ce-bg);
33
+ }
34
+ }
34
35
  }
35
36
  }
@@ -1,5 +1,6 @@
1
+ import { FunctionComponent } from 'react';
1
2
  export interface SearchProps {
2
3
  handleSearch: () => void;
3
4
  }
4
- export declare const Search: React.FunctionComponent<SearchProps>;
5
+ export declare const Search: FunctionComponent<SearchProps>;
5
6
  //# sourceMappingURL=Search.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Search.d.ts","sourceRoot":"","sources":["../../../../../src/components/code-editor/search/Search.tsx"],"names":[],"mappings":"AAGA,MAAM,WAAW,WAAW;IACxB,YAAY,EAAE,MAAM,IAAI,CAAC;CAC5B;AAQD,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,iBAAiB,CAAC,WAAW,CAAiD,CAAC"}
1
+ {"version":3,"file":"Search.d.ts","sourceRoot":"","sources":["../../../../../src/components/code-editor/search/Search.tsx"],"names":[],"mappings":"AACA,OAAO,EAAC,iBAAiB,EAAC,MAAM,OAAO,CAAC;AAGxC,MAAM,WAAW,WAAW;IACxB,YAAY,EAAE,MAAM,IAAI,CAAC;CAC5B;AAQD,eAAO,MAAM,MAAM,EAAE,iBAAiB,CAAC,WAAW,CAAiD,CAAC"}
@@ -13,15 +13,14 @@ var _object_destructuring_empty = require("@swc/helpers/_/_object_destructuring_
13
13
  var _object_spread = require("@swc/helpers/_/_object_spread");
14
14
  var _jsxruntime = require("react/jsx-runtime");
15
15
  var _plasmareacticons = require("@coveord/plasma-react-icons");
16
- var _core = require("@mantine/core");
16
+ var _actionicon = require("../../action-icon");
17
17
  var SearchButton = function(param) {
18
18
  var handleSearch = param.handleSearch;
19
- return /*#__PURE__*/ (0, _jsxruntime.jsx)(_core.ActionIcon, {
19
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)(_actionicon.ActionIcon.Quaternary, {
20
20
  onClick: handleSearch,
21
- variant: "subtle",
22
- color: "gray",
23
- children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_plasmareacticons.SearchSize16Px, {
24
- height: 16
21
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_plasmareacticons.IconSearch, {
22
+ "aria-label": "Search",
23
+ size: 16
25
24
  })
26
25
  });
27
26
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/code-editor/search/Search.tsx"],"sourcesContent":["import {SearchSize16Px} from '@coveord/plasma-react-icons';\nimport {ActionIcon} from '@mantine/core';\n\nexport interface SearchProps {\n handleSearch: () => void;\n}\n\nconst SearchButton: React.FunctionComponent<SearchProps> = ({handleSearch}) => (\n <ActionIcon onClick={handleSearch} variant=\"subtle\" color=\"gray\">\n <SearchSize16Px height={16}></SearchSize16Px>\n </ActionIcon>\n);\n\nexport const Search: React.FunctionComponent<SearchProps> = ({...params}) => <SearchButton {...params} />;\n"],"names":["Search","SearchButton","handleSearch","ActionIcon","onClick","variant","color","SearchSize16Px","height","params"],"mappings":";;;;+BAaaA;;;eAAAA;;;;;;;gCAbgB;oBACJ;AAMzB,IAAMC,eAAqD;QAAEC,qBAAAA;yBACzD,qBAACC,gBAAU;QAACC,SAASF;QAAcG,SAAQ;QAASC,OAAM;kBACtD,cAAA,qBAACC,gCAAc;YAACC,QAAQ;;;;AAIzB,IAAMR,SAA+C;QAAKS;yBAAY,qBAACR,mCAAiBQ"}
1
+ {"version":3,"sources":["../../../../../src/components/code-editor/search/Search.tsx"],"sourcesContent":["import {IconSearch} from '@coveord/plasma-react-icons';\nimport {FunctionComponent} from 'react';\nimport {ActionIcon} from '../../action-icon';\n\nexport interface SearchProps {\n handleSearch: () => void;\n}\n\nconst SearchButton: FunctionComponent<SearchProps> = ({handleSearch}) => (\n <ActionIcon.Quaternary onClick={handleSearch}>\n <IconSearch aria-label=\"Search\" size={16} />\n </ActionIcon.Quaternary>\n);\n\nexport const Search: FunctionComponent<SearchProps> = ({...params}) => <SearchButton {...params} />;\n"],"names":["Search","SearchButton","handleSearch","ActionIcon","Quaternary","onClick","IconSearch","aria-label","size","params"],"mappings":";;;;+BAcaA;;;eAAAA;;;;;;;gCAdY;0BAEA;AAMzB,IAAMC,eAA+C;QAAEC,qBAAAA;yBACnD,qBAACC,sBAAU,CAACC,UAAU;QAACC,SAASH;kBAC5B,cAAA,qBAACI,4BAAU;YAACC,cAAW;YAASC,MAAM;;;;AAIvC,IAAMR,SAAyC;QAAKS;yBAAY,qBAACR,mCAAiBQ"}
@@ -1,4 +1,4 @@
1
- import { BoxProps, Factory, MantineSpacing, StylesApiProps, __InputWrapperProps } from '@mantine/core';
1
+ import { __InputWrapperProps, BoxProps, Factory, MantineSpacing, StylesApiProps } from '@mantine/core';
2
2
  import { ReorderPayload } from '@mantine/form/lib/types';
3
3
  import { ForwardedRef, ReactNode } from 'react';
4
4
  import { CustomComponentThemeExtend } from '../../utils';
@@ -28,8 +28,9 @@ export interface CollectionProps<T> extends __InputWrapperProps, BoxProps, Style
28
28
  * @see {@link https://react-hook-form.com/api/usefieldarray/} for using a collection with ReactHookForm.
29
29
  *
30
30
  * @param originalItem The original item
31
+ * @param itemIndex The index of the original item
31
32
  */
32
- getItemId?: (originalItem: T) => string;
33
+ getItemId?: (originalItem: T, itemIndex: number) => string;
33
34
  /**
34
35
  * Unused, has no effect
35
36
  */
@@ -109,7 +110,7 @@ export interface CollectionProps<T> extends __InputWrapperProps, BoxProps, Style
109
110
  */
110
111
  required?: boolean;
111
112
  }
112
- export type CollectionStylesNames = 'root' | 'item' | 'itemDragging' | 'dragHandle';
113
+ export type CollectionStylesNames = 'root' | 'item' | 'items' | 'itemDragging' | 'dragHandle';
113
114
  export type CollectionFactory = Factory<{
114
115
  props: CollectionProps<unknown>;
115
116
  ref: HTMLDivElement;
@@ -1 +1 @@
1
- {"version":3,"file":"Collection.d.ts","sourceRoot":"","sources":["../../../../src/components/collection/Collection.tsx"],"names":[],"mappings":"AAIA,OAAO,EAEH,QAAQ,EACR,OAAO,EAGP,cAAc,EAEd,cAAc,EAEd,mBAAmB,EAGtB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAC,cAAc,EAAC,MAAM,yBAAyB,CAAC;AAEvD,OAAO,EAAC,YAAY,EAAE,SAAS,EAAC,MAAM,OAAO,CAAC;AAE9C,OAAO,EAAC,0BAA0B,EAAW,MAAM,aAAa,CAAC;AAMjE,MAAM,WAAW,eAAe,CAAC,CAAC,CAAE,SAAQ,mBAAmB,EAAE,QAAQ,EAAE,cAAc,CAAC,iBAAiB,CAAC;IACxG;;OAEG;IACH,OAAO,EAAE,CAAC,CAAC;IACX;;;;;OAKG;IACH,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,SAAS,CAAC;IAChD;;;;OAIG;IACH,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;IACZ;;;;;;;;OAQG;IACH,SAAS,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,KAAK,MAAM,CAAC;IACxC;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC;IAChC;;;;OAIG;IACH,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C;;;;OAIG;IACH,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,IAAI,CAAC;IAClD;;;;;OAKG;IACH,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACjD;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,OAAO,CAAC;IACpC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;;OAIG;IACH,GAAG,CAAC,EAAE,cAAc,CAAC;IACrB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,MAAM,qBAAqB,GAAG,MAAM,GAAG,MAAM,GAAG,cAAc,GAAG,YAAY,CAAC;AAEpF,MAAM,MAAM,iBAAiB,GAAG,OAAO,CAAC;IACpC,KAAK,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC;IAChC,GAAG,EAAE,cAAc,CAAC;IACpB,WAAW,EAAE,qBAAqB,CAAC;CACtC,CAAC,CAAC;AAaH,eAAO,MAAM,UAAU;KAAI,CAAC,SAAU,eAAe,CAAC,CAAC,CAAC,GAAG;QAAC,GAAG,CAAC,EAAE,YAAY,CAAC,cAAc,CAAC,CAAA;KAAC;;eAhBpF,eAAe,CAAC,OAAO,CAAC;aAC1B,cAAc;qBACN,qBAAqB;;CAkKrC,CAAC"}
1
+ {"version":3,"file":"Collection.d.ts","sourceRoot":"","sources":["../../../../src/components/collection/Collection.tsx"],"names":[],"mappings":"AAIA,OAAO,EACH,mBAAmB,EAEnB,QAAQ,EACR,OAAO,EAEP,cAAc,EAEd,cAAc,EAGjB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAC,cAAc,EAAC,MAAM,yBAAyB,CAAC;AAEvD,OAAO,EAAC,YAAY,EAAE,SAAS,EAAC,MAAM,OAAO,CAAC;AAE9C,OAAO,EAAC,0BAA0B,EAAW,MAAM,aAAa,CAAC;AAMjE,MAAM,WAAW,eAAe,CAAC,CAAC,CAAE,SAAQ,mBAAmB,EAAE,QAAQ,EAAE,cAAc,CAAC,iBAAiB,CAAC;IACxG;;OAEG;IACH,OAAO,EAAE,CAAC,CAAC;IACX;;;;;OAKG;IACH,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,SAAS,CAAC;IAChD;;;;OAIG;IACH,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;IACZ;;;;;;;;;OASG;IACH,SAAS,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC;IAC3D;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC;IAChC;;;;OAIG;IACH,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C;;;;OAIG;IACH,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,IAAI,CAAC;IAClD;;;;;OAKG;IACH,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACjD;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,OAAO,CAAC;IACpC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;;OAIG;IACH,GAAG,CAAC,EAAE,cAAc,CAAC;IACrB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,MAAM,qBAAqB,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,cAAc,GAAG,YAAY,CAAC;AAE9F,MAAM,MAAM,iBAAiB,GAAG,OAAO,CAAC;IACpC,KAAK,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC;IAChC,GAAG,EAAE,cAAc,CAAC;IACpB,WAAW,EAAE,qBAAqB,CAAC;CACtC,CAAC,CAAC;AAaH,eAAO,MAAM,UAAU;KAAI,CAAC,SAAU,eAAe,CAAC,CAAC,CAAC,GAAG;QAAC,GAAG,CAAC,EAAE,YAAY,CAAC,cAAc,CAAC,CAAA;KAAC;;eAhBpF,eAAe,CAAC,OAAO,CAAC;aAC1B,cAAc;qBACN,qBAAqB;;CA4JrC,CAAC"}
@@ -30,7 +30,7 @@ var defaultProps = {
30
30
  addDisabledTooltip: 'There is already an empty item',
31
31
  disabled: false,
32
32
  readOnly: false,
33
- gap: 'xs',
33
+ gap: 'md',
34
34
  required: false,
35
35
  getItemId: function(param) {
36
36
  var id = param.id;
@@ -104,7 +104,9 @@ var Collection = function(props) {
104
104
  var _error = error ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_core1.Input.Error, _object_spread_props._(_object_spread._({}, errorProps), {
105
105
  children: error
106
106
  })) : null;
107
- var _header = _label || _description ? /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {
107
+ var _header = _label || _description ? /*#__PURE__*/ (0, _jsxruntime.jsxs)(_core1.Stack, {
108
+ gap: "xxs",
109
+ pb: "xs",
108
110
  children: [
109
111
  _label,
110
112
  _description
@@ -113,7 +115,7 @@ var Collection = function(props) {
113
115
  var standardizedItems = value.map(function(item, index) {
114
116
  var _getItemId;
115
117
  return {
116
- id: (_getItemId = getItemId === null || getItemId === void 0 ? void 0 : getItemId(item)) !== null && _getItemId !== void 0 ? _getItemId : String(index),
118
+ id: (_getItemId = getItemId === null || getItemId === void 0 ? void 0 : getItemId(item, index)) !== null && _getItemId !== void 0 ? _getItemId : String(index),
117
119
  data: item
118
120
  };
119
121
  });
@@ -131,25 +133,17 @@ var Collection = function(props) {
131
133
  });
132
134
  var _allowAdd;
133
135
  var addAllowed = (_allowAdd = allowAdd === null || allowAdd === void 0 ? void 0 : allowAdd(value)) !== null && _allowAdd !== void 0 ? _allowAdd : true;
134
- var _addButton = canEdit ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_core1.Group, {
135
- children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_core1.Tooltip, {
136
- label: addDisabledTooltip,
137
- disabled: addAllowed,
138
- children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_core1.Box, {
139
- children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_button.Button, {
140
- variant: "subtle",
141
- leftSection: /*#__PURE__*/ (0, _jsxruntime.jsx)(_plasmareacticons.AddSize16Px, {
142
- height: 16
143
- }),
144
- onClick: function() {
145
- var _value_length;
146
- return onInsertItem(newItem, (_value_length = value === null || value === void 0 ? void 0 : value.length) !== null && _value_length !== void 0 ? _value_length : 0);
147
- },
148
- disabled: !addAllowed,
149
- children: addLabel
150
- })
151
- })
152
- })
136
+ var _addButton = canEdit ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_button.Button.Quaternary, {
137
+ leftSection: /*#__PURE__*/ (0, _jsxruntime.jsx)(_plasmareacticons.IconPlus, {
138
+ size: 16
139
+ }),
140
+ onClick: function() {
141
+ var _value_length;
142
+ return onInsertItem(newItem, (_value_length = value === null || value === void 0 ? void 0 : value.length) !== null && _value_length !== void 0 ? _value_length : 0);
143
+ },
144
+ disabled: !addAllowed,
145
+ disabledTooltip: addDisabledTooltip,
146
+ children: addLabel
153
147
  }) : null;
154
148
  var getIndex = function(id) {
155
149
  return standardizedItems.findIndex(function(item) {
@@ -188,14 +182,15 @@ var Collection = function(props) {
188
182
  }, others, getStyles('root')), {
189
183
  children: [
190
184
  _header,
191
- /*#__PURE__*/ (0, _jsxruntime.jsxs)(_core1.Stack, {
192
- gap: gap,
185
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_core1.Stack, _object_spread_props._(_object_spread._({
186
+ gap: gap
187
+ }, getStyles('items')), {
193
188
  children: [
194
189
  items,
195
190
  _addButton,
196
191
  _error
197
192
  ]
198
- })
193
+ }))
199
194
  ]
200
195
  }))
201
196
  })
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/collection/Collection.tsx"],"sourcesContent":["import {AddSize16Px} from '@coveord/plasma-react-icons';\nimport {DndContext, DragEndEvent, KeyboardSensor, PointerSensor, useSensor, useSensors} from '@dnd-kit/core';\nimport {restrictToParentElement, restrictToVerticalAxis} from '@dnd-kit/modifiers';\nimport {SortableContext, sortableKeyboardCoordinates, verticalListSortingStrategy} from '@dnd-kit/sortable';\nimport {\n Box,\n BoxProps,\n Factory,\n Group,\n Input,\n MantineSpacing,\n Stack,\n StylesApiProps,\n Tooltip,\n __InputWrapperProps,\n useProps,\n useStyles,\n} from '@mantine/core';\nimport {ReorderPayload} from '@mantine/form/lib/types';\nimport {useDidUpdate} from '@mantine/hooks';\nimport {ForwardedRef, ReactNode} from 'react';\n\nimport {CustomComponentThemeExtend, identity} from '../../utils';\nimport {Button} from '../button';\nimport classes from './Collection.module.css';\nimport {CollectionProvider} from './CollectionContext';\nimport {CollectionItem} from './CollectionItem';\n\nexport interface CollectionProps<T> extends __InputWrapperProps, BoxProps, StylesApiProps<CollectionFactory> {\n /**\n * The default value each new item should have\n */\n newItem: T;\n /**\n * A render function called for each item passed in the `value` prop.\n *\n * @param item The current item's value\n * @param index The current item's index\n */\n children: (item: T, index: number) => ReactNode;\n /**\n * The list of items to display inside the collection\n *\n * @default []\n */\n value?: T[];\n /**\n * Defines how each item is uniquely identified. It is highly recommended that you specify this prop to an ID that makes sense.\n *\n * This method is required when using this component with ReactHookForm.\n *\n * @see {@link https://react-hook-form.com/api/usefieldarray/} for using a collection with ReactHookForm.\n *\n * @param originalItem The original item\n */\n getItemId?: (originalItem: T) => string;\n /**\n * Unused, has no effect\n */\n onFocus?: () => void;\n /**\n * Function called whenever the value needs to be updated\n *\n * @param value The whole list of items after the change\n */\n onChange?: (value: T[]) => void;\n /**\n * Function called after an item is removed from the collection using the remove button\n *\n * @param itemIndex The index of the item that was removed\n */\n onRemoveItem?: (itemIndex: number) => void;\n /**\n * Function that gets called whenever a collection item needs to be reordered\n *\n * @param payload The origin and destination index of the item to reorder\n */\n onReorderItem?: (payload: ReorderPayload) => void;\n /**\n * Function that gets called when a new item needs to be added to the collection\n *\n * @param value The value of the item to insert\n * @param index The index of the new item to insert\n */\n onInsertItem?: (value: T, index: number) => void;\n /**\n * Whether the collection should have drag and drop behavior enabled\n *\n * @default false\n */\n draggable?: boolean;\n /**\n * Whether the collection is disabled, or in other words in read only mode\n *\n * @default false\n */\n disabled?: boolean;\n /**\n * Whether the collection is readOnly. If true, the collection will not allow adding or removing items\n *\n * @default false\n */\n readOnly?: boolean;\n /**\n * Function that determines if the add item button should be enabled given the current items of the collection.\n * The button is always enabled if this props remains undefined\n *\n * @param values The current items of the collection\n */\n allowAdd?: (values: T[]) => boolean;\n /**\n * The label of the add item button\n *\n * @default \"Add item\"\n */\n addLabel?: string;\n /**\n * The tooltip text displayed when hovering over the disabled add item button\n *\n * @default 'There is already an empty item'\n */\n addDisabledTooltip?: string;\n /**\n * The gap between the colleciton items\n *\n * @default 'xs'\n */\n gap?: MantineSpacing;\n /**\n * Whether the collection is required. When required is true, the collection will hide the remove button if there is only one item\n *\n * @default false\n */\n required?: boolean;\n}\n\nexport type CollectionStylesNames = 'root' | 'item' | 'itemDragging' | 'dragHandle';\n\nexport type CollectionFactory = Factory<{\n props: CollectionProps<unknown>;\n ref: HTMLDivElement;\n stylesNames: CollectionStylesNames;\n}>;\n\nconst defaultProps: Partial<CollectionProps<unknown>> = {\n draggable: false,\n addLabel: 'Add item',\n addDisabledTooltip: 'There is already an empty item',\n disabled: false,\n readOnly: false,\n gap: 'xs',\n required: false,\n getItemId: ({id}: any) => id,\n};\n\nexport const Collection = <T,>(props: CollectionProps<T> & {ref?: ForwardedRef<HTMLDivElement>}) => {\n const {\n value,\n onChange,\n onRemoveItem,\n onReorderItem,\n onInsertItem,\n disabled,\n readOnly,\n draggable,\n children,\n gap,\n required,\n newItem,\n addLabel,\n addDisabledTooltip,\n allowAdd,\n label,\n labelProps,\n withAsterisk,\n description,\n descriptionProps,\n error,\n errorProps,\n getItemId,\n ref,\n\n // Style props\n style,\n className,\n classNames,\n styles,\n unstyled,\n ...others\n } = useProps('Collection', defaultProps as CollectionProps<T>, props);\n\n const getStyles = useStyles<CollectionFactory>({\n name: 'Collection',\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n });\n const sensors = useSensors(\n useSensor(PointerSensor),\n useSensor(KeyboardSensor, {\n coordinateGetter: sortableKeyboardCoordinates,\n }),\n );\n\n const canEdit = !disabled && !readOnly;\n const hasOnlyOneItem = value.length === 1;\n\n /**\n * Enforcing onChange when the value is modified will make sure the errors are carried through.\n */\n useDidUpdate(() => {\n onChange?.(value);\n }, [JSON.stringify(value)]);\n\n const isRequired = typeof withAsterisk === 'boolean' ? withAsterisk : required;\n const _label = label ? (\n <Input.Label required={isRequired} {...labelProps}>\n {label}\n </Input.Label>\n ) : null;\n\n const _description = description ? (\n <Input.Description {...descriptionProps}>{description}</Input.Description>\n ) : null;\n const _error = error ? <Input.Error {...errorProps}>{error}</Input.Error> : null;\n const _header =\n _label || _description ? (\n <>\n {_label}\n {_description}\n </>\n ) : null;\n\n const standardizedItems = value.map((item, index) => ({id: getItemId?.(item) ?? String(index), data: item}));\n\n const items = standardizedItems.map((item, index) => (\n <CollectionItem\n key={item.id}\n id={item.id}\n disabled={!canEdit}\n draggable={draggable}\n onRemove={() => onRemoveItem?.(index)}\n removable={!(required && hasOnlyOneItem)}\n >\n {children(item.data, index)}\n </CollectionItem>\n ));\n\n const addAllowed = allowAdd?.(value) ?? true;\n\n const _addButton = canEdit ? (\n <Group>\n <Tooltip label={addDisabledTooltip} disabled={addAllowed}>\n <Box>\n <Button\n variant=\"subtle\"\n leftSection={<AddSize16Px height={16} />}\n onClick={() => onInsertItem(newItem, value?.length ?? 0)}\n disabled={!addAllowed}\n >\n {addLabel}\n </Button>\n </Box>\n </Tooltip>\n </Group>\n ) : null;\n\n const getIndex = (id: string) => standardizedItems.findIndex((item) => item.id === id);\n\n const handleDragEnd = ({over, active}: DragEndEvent): void => {\n if (over) {\n const activeIndex = getIndex(String(active.id));\n const overIndex = getIndex(String(over.id));\n if (activeIndex !== overIndex) {\n onReorderItem?.({from: activeIndex, to: overIndex});\n }\n }\n };\n\n return (\n <CollectionProvider value={{getStyles}}>\n <DndContext\n onDragEnd={handleDragEnd}\n sensors={sensors}\n modifiers={[restrictToVerticalAxis, restrictToParentElement]}\n >\n <SortableContext items={standardizedItems} strategy={verticalListSortingStrategy}>\n <Box ref={ref} {...others} {...getStyles('root')}>\n {_header}\n <Stack gap={gap}>\n {items}\n {_addButton}\n {_error}\n </Stack>\n </Box>\n </SortableContext>\n </DndContext>\n </CollectionProvider>\n );\n};\n\nCollection.extend = identity as CustomComponentThemeExtend<CollectionFactory>;\n"],"names":["Collection","defaultProps","draggable","addLabel","addDisabledTooltip","disabled","readOnly","gap","required","getItemId","id","props","useProps","value","onChange","onRemoveItem","onReorderItem","onInsertItem","children","newItem","allowAdd","label","labelProps","withAsterisk","description","descriptionProps","error","errorProps","ref","style","className","classNames","styles","unstyled","others","getStyles","useStyles","name","classes","sensors","useSensors","useSensor","PointerSensor","KeyboardSensor","coordinateGetter","sortableKeyboardCoordinates","canEdit","hasOnlyOneItem","length","useDidUpdate","JSON","stringify","isRequired","_label","Input","Label","_description","Description","_error","Error","_header","standardizedItems","map","item","index","String","data","items","CollectionItem","onRemove","removable","addAllowed","_addButton","Group","Tooltip","Box","Button","variant","leftSection","AddSize16Px","height","onClick","getIndex","findIndex","handleDragEnd","over","active","activeIndex","overIndex","from","to","CollectionProvider","DndContext","onDragEnd","modifiers","restrictToVerticalAxis","restrictToParentElement","SortableContext","strategy","verticalListSortingStrategy","Stack","extend","identity"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/components/collection/Collection.tsx"],"sourcesContent":["import {IconPlus} from '@coveord/plasma-react-icons';\nimport {DndContext, DragEndEvent, KeyboardSensor, PointerSensor, useSensor, useSensors} from '@dnd-kit/core';\nimport {restrictToParentElement, restrictToVerticalAxis} from '@dnd-kit/modifiers';\nimport {SortableContext, sortableKeyboardCoordinates, verticalListSortingStrategy} from '@dnd-kit/sortable';\nimport {\n __InputWrapperProps,\n Box,\n BoxProps,\n Factory,\n Input,\n MantineSpacing,\n Stack,\n StylesApiProps,\n useProps,\n useStyles,\n} from '@mantine/core';\nimport {ReorderPayload} from '@mantine/form/lib/types';\nimport {useDidUpdate} from '@mantine/hooks';\nimport {ForwardedRef, ReactNode} from 'react';\n\nimport {CustomComponentThemeExtend, identity} from '../../utils';\nimport {Button} from '../button';\nimport classes from './Collection.module.css';\nimport {CollectionProvider} from './CollectionContext';\nimport {CollectionItem} from './CollectionItem';\n\nexport interface CollectionProps<T> extends __InputWrapperProps, BoxProps, StylesApiProps<CollectionFactory> {\n /**\n * The default value each new item should have\n */\n newItem: T;\n /**\n * A render function called for each item passed in the `value` prop.\n *\n * @param item The current item's value\n * @param index The current item's index\n */\n children: (item: T, index: number) => ReactNode;\n /**\n * The list of items to display inside the collection\n *\n * @default []\n */\n value?: T[];\n /**\n * Defines how each item is uniquely identified. It is highly recommended that you specify this prop to an ID that makes sense.\n *\n * This method is required when using this component with ReactHookForm.\n *\n * @see {@link https://react-hook-form.com/api/usefieldarray/} for using a collection with ReactHookForm.\n *\n * @param originalItem The original item\n * @param itemIndex The index of the original item\n */\n getItemId?: (originalItem: T, itemIndex: number) => string;\n /**\n * Unused, has no effect\n */\n onFocus?: () => void;\n /**\n * Function called whenever the value needs to be updated\n *\n * @param value The whole list of items after the change\n */\n onChange?: (value: T[]) => void;\n /**\n * Function called after an item is removed from the collection using the remove button\n *\n * @param itemIndex The index of the item that was removed\n */\n onRemoveItem?: (itemIndex: number) => void;\n /**\n * Function that gets called whenever a collection item needs to be reordered\n *\n * @param payload The origin and destination index of the item to reorder\n */\n onReorderItem?: (payload: ReorderPayload) => void;\n /**\n * Function that gets called when a new item needs to be added to the collection\n *\n * @param value The value of the item to insert\n * @param index The index of the new item to insert\n */\n onInsertItem?: (value: T, index: number) => void;\n /**\n * Whether the collection should have drag and drop behavior enabled\n *\n * @default false\n */\n draggable?: boolean;\n /**\n * Whether the collection is disabled, or in other words in read only mode\n *\n * @default false\n */\n disabled?: boolean;\n /**\n * Whether the collection is readOnly. If true, the collection will not allow adding or removing items\n *\n * @default false\n */\n readOnly?: boolean;\n /**\n * Function that determines if the add item button should be enabled given the current items of the collection.\n * The button is always enabled if this props remains undefined\n *\n * @param values The current items of the collection\n */\n allowAdd?: (values: T[]) => boolean;\n /**\n * The label of the add item button\n *\n * @default \"Add item\"\n */\n addLabel?: string;\n /**\n * The tooltip text displayed when hovering over the disabled add item button\n *\n * @default 'There is already an empty item'\n */\n addDisabledTooltip?: string;\n /**\n * The gap between the colleciton items\n *\n * @default 'xs'\n */\n gap?: MantineSpacing;\n /**\n * Whether the collection is required. When required is true, the collection will hide the remove button if there is only one item\n *\n * @default false\n */\n required?: boolean;\n}\n\nexport type CollectionStylesNames = 'root' | 'item' | 'items' | 'itemDragging' | 'dragHandle';\n\nexport type CollectionFactory = Factory<{\n props: CollectionProps<unknown>;\n ref: HTMLDivElement;\n stylesNames: CollectionStylesNames;\n}>;\n\nconst defaultProps: Partial<CollectionProps<unknown>> = {\n draggable: false,\n addLabel: 'Add item',\n addDisabledTooltip: 'There is already an empty item',\n disabled: false,\n readOnly: false,\n gap: 'md',\n required: false,\n getItemId: ({id}: any) => id,\n};\n\nexport const Collection = <T,>(props: CollectionProps<T> & {ref?: ForwardedRef<HTMLDivElement>}) => {\n const {\n value,\n onChange,\n onRemoveItem,\n onReorderItem,\n onInsertItem,\n disabled,\n readOnly,\n draggable,\n children,\n gap,\n required,\n newItem,\n addLabel,\n addDisabledTooltip,\n allowAdd,\n label,\n labelProps,\n withAsterisk,\n description,\n descriptionProps,\n error,\n errorProps,\n getItemId,\n ref,\n\n // Style props\n style,\n className,\n classNames,\n styles,\n unstyled,\n ...others\n } = useProps('Collection', defaultProps as CollectionProps<T>, props);\n\n const getStyles = useStyles<CollectionFactory>({\n name: 'Collection',\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n });\n const sensors = useSensors(\n useSensor(PointerSensor),\n useSensor(KeyboardSensor, {\n coordinateGetter: sortableKeyboardCoordinates,\n }),\n );\n\n const canEdit = !disabled && !readOnly;\n const hasOnlyOneItem = value.length === 1;\n\n /**\n * Enforcing onChange when the value is modified will make sure the errors are carried through.\n */\n useDidUpdate(() => {\n onChange?.(value);\n }, [JSON.stringify(value)]);\n\n const isRequired = typeof withAsterisk === 'boolean' ? withAsterisk : required;\n const _label = label ? (\n <Input.Label required={isRequired} {...labelProps}>\n {label}\n </Input.Label>\n ) : null;\n\n const _description = description ? (\n <Input.Description {...descriptionProps}>{description}</Input.Description>\n ) : null;\n const _error = error ? <Input.Error {...errorProps}>{error}</Input.Error> : null;\n const _header =\n _label || _description ? (\n <Stack gap=\"xxs\" pb=\"xs\">\n {_label}\n {_description}\n </Stack>\n ) : null;\n\n const standardizedItems = value.map((item, index) => ({id: getItemId?.(item, index) ?? String(index), data: item}));\n\n const items = standardizedItems.map((item, index) => (\n <CollectionItem\n key={item.id}\n id={item.id}\n disabled={!canEdit}\n draggable={draggable}\n onRemove={() => onRemoveItem?.(index)}\n removable={!(required && hasOnlyOneItem)}\n >\n {children(item.data, index)}\n </CollectionItem>\n ));\n\n const addAllowed = allowAdd?.(value) ?? true;\n\n const _addButton = canEdit ? (\n <Button.Quaternary\n leftSection={<IconPlus size={16} />}\n onClick={() => onInsertItem(newItem, value?.length ?? 0)}\n disabled={!addAllowed}\n disabledTooltip={addDisabledTooltip}\n >\n {addLabel}\n </Button.Quaternary>\n ) : null;\n\n const getIndex = (id: string) => standardizedItems.findIndex((item) => item.id === id);\n\n const handleDragEnd = ({over, active}: DragEndEvent): void => {\n if (over) {\n const activeIndex = getIndex(String(active.id));\n const overIndex = getIndex(String(over.id));\n if (activeIndex !== overIndex) {\n onReorderItem?.({from: activeIndex, to: overIndex});\n }\n }\n };\n\n return (\n <CollectionProvider value={{getStyles}}>\n <DndContext\n onDragEnd={handleDragEnd}\n sensors={sensors}\n modifiers={[restrictToVerticalAxis, restrictToParentElement]}\n >\n <SortableContext items={standardizedItems} strategy={verticalListSortingStrategy}>\n <Box ref={ref} {...others} {...getStyles('root')}>\n {_header}\n <Stack gap={gap} {...getStyles('items')}>\n {items}\n {_addButton}\n {_error}\n </Stack>\n </Box>\n </SortableContext>\n </DndContext>\n </CollectionProvider>\n );\n};\n\nCollection.extend = identity as CustomComponentThemeExtend<CollectionFactory>;\n"],"names":["Collection","defaultProps","draggable","addLabel","addDisabledTooltip","disabled","readOnly","gap","required","getItemId","id","props","useProps","value","onChange","onRemoveItem","onReorderItem","onInsertItem","children","newItem","allowAdd","label","labelProps","withAsterisk","description","descriptionProps","error","errorProps","ref","style","className","classNames","styles","unstyled","others","getStyles","useStyles","name","classes","sensors","useSensors","useSensor","PointerSensor","KeyboardSensor","coordinateGetter","sortableKeyboardCoordinates","canEdit","hasOnlyOneItem","length","useDidUpdate","JSON","stringify","isRequired","_label","Input","Label","_description","Description","_error","Error","_header","Stack","pb","standardizedItems","map","item","index","String","data","items","CollectionItem","onRemove","removable","addAllowed","_addButton","Button","Quaternary","leftSection","IconPlus","size","onClick","disabledTooltip","getIndex","findIndex","handleDragEnd","over","active","activeIndex","overIndex","from","to","CollectionProvider","DndContext","onDragEnd","modifiers","restrictToVerticalAxis","restrictToParentElement","SortableContext","strategy","verticalListSortingStrategy","Box","extend","identity"],"mappings":"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"}
@@ -2,6 +2,13 @@
2
2
  position: relative;
3
3
  }
4
4
 
5
+ .items {
6
+ background-color: var(--mantine-color-gray-light);
7
+ padding: var(--mantine-spacing-md);
8
+ border: 1px solid var(--mantine-color-default-border);
9
+ border-radius: var(--mantine-radius-default);
10
+ }
11
+
5
12
  .item {
6
13
  align-items: baseline;
7
14
 
@@ -1 +1 @@
1
- {"version":3,"file":"CollectionItem.d.ts","sourceRoot":"","sources":["../../../../src/components/collection/CollectionItem.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAoB,UAAU,EAAC,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAC,iBAAiB,EAAE,iBAAiB,EAAC,MAAM,OAAO,CAAC;AAI3D,UAAU,mBAAoB,SAAQ,yBAAyB;IAC3D,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;CACrB;AAED,UAAU,yBAA0B,SAAQ,UAAU;IAClD,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;IACtD,SAAS,CAAC,EAAE,OAAO,CAAC;CACvB;AAmED,eAAO,MAAM,cAAc,EAAE,iBAAiB,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,CAYpF,CAAC"}
1
+ {"version":3,"file":"CollectionItem.d.ts","sourceRoot":"","sources":["../../../../src/components/collection/CollectionItem.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAQ,UAAU,EAAW,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAC,iBAAiB,EAAE,iBAAiB,EAAC,MAAM,OAAO,CAAC;AAK3D,UAAU,mBAAoB,SAAQ,yBAAyB;IAC3D,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;CACrB;AAED,UAAU,yBAA0B,SAAQ,UAAU;IAClD,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;IACtD,SAAS,CAAC,EAAE,OAAO,CAAC;CACvB;AAoHD,eAAO,MAAM,cAAc,EAAE,iBAAiB,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,CAYpF,CAAC"}