@coveord/plasma-mantine 52.8.1 → 52.10.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 (202) hide show
  1. package/.turbo/turbo-build.log +3 -3
  2. package/.turbo/turbo-test.log +33 -32
  3. package/dist/.tsbuildinfo +1 -1
  4. package/dist/cjs/components/blank-slate/BlankSlate.js.map +1 -1
  5. package/dist/cjs/components/button/Button.js +2 -2
  6. package/dist/cjs/components/button/Button.js.map +1 -1
  7. package/dist/cjs/components/button/ButtonWithDisabledTooltip.js.map +1 -1
  8. package/dist/cjs/components/code-editor/CodeEditor.d.ts.map +1 -1
  9. package/dist/cjs/components/code-editor/CodeEditor.js +4 -2
  10. package/dist/cjs/components/code-editor/CodeEditor.js.map +1 -1
  11. package/dist/cjs/components/code-editor/languages/xml.js.map +1 -1
  12. package/dist/cjs/components/code-editor/search/Search.js.map +1 -1
  13. package/dist/cjs/components/collection/Collection.js +13 -9
  14. package/dist/cjs/components/collection/Collection.js.map +1 -1
  15. package/dist/cjs/components/collection/Collection.styles.js.map +1 -1
  16. package/dist/cjs/components/collection/CollectionItem.js.map +1 -1
  17. package/dist/cjs/components/copyToClipboard/CopyToClipboard.js +4 -3
  18. package/dist/cjs/components/copyToClipboard/CopyToClipboard.js.map +1 -1
  19. package/dist/cjs/components/date-range-picker/DateRangePickerInlineCalendar.js.map +1 -1
  20. package/dist/cjs/components/date-range-picker/DateRangePickerPopoverCalendar.js +2 -1
  21. package/dist/cjs/components/date-range-picker/DateRangePickerPopoverCalendar.js.map +1 -1
  22. package/dist/cjs/components/date-range-picker/DateRangePickerPresetSelect.d.ts.map +1 -1
  23. package/dist/cjs/components/date-range-picker/DateRangePickerPresetSelect.js +4 -2
  24. package/dist/cjs/components/date-range-picker/DateRangePickerPresetSelect.js.map +1 -1
  25. package/dist/cjs/components/date-range-picker/EditableDateRangePicker.js +9 -6
  26. package/dist/cjs/components/date-range-picker/EditableDateRangePicker.js.map +1 -1
  27. package/dist/cjs/components/header/Header.js.map +1 -1
  28. package/dist/cjs/components/inline-confirm/InlineConfirm.js.map +1 -1
  29. package/dist/cjs/components/inline-confirm/InlineConfirmButton.js +2 -1
  30. package/dist/cjs/components/inline-confirm/InlineConfirmButton.js.map +1 -1
  31. package/dist/cjs/components/inline-confirm/InlineConfirmContext.js.map +1 -1
  32. package/dist/cjs/components/inline-confirm/InlineConfirmMenuItem.js +2 -1
  33. package/dist/cjs/components/inline-confirm/InlineConfirmMenuItem.js.map +1 -1
  34. package/dist/cjs/components/inline-confirm/InlineConfirmPrompt.js.map +1 -1
  35. package/dist/cjs/components/inline-confirm/useInlineConfirm.js.map +1 -1
  36. package/dist/cjs/components/menu/Menu.js.map +1 -1
  37. package/dist/cjs/components/modal-wizard/ModalWizard.js +16 -10
  38. package/dist/cjs/components/modal-wizard/ModalWizard.js.map +1 -1
  39. package/dist/cjs/components/modal-wizard/ModalWizardStep.js.map +1 -1
  40. package/dist/cjs/components/prompt/Prompt.js.map +1 -1
  41. package/dist/cjs/components/prompt/PromptFooter.js.map +1 -1
  42. package/dist/cjs/components/sticky-footer/StickyFooter.js.map +1 -1
  43. package/dist/cjs/components/table/Table.d.ts.map +1 -1
  44. package/dist/cjs/components/table/Table.js +33 -20
  45. package/dist/cjs/components/table/Table.js.map +1 -1
  46. package/dist/cjs/components/table/Table.styles.d.ts.map +1 -1
  47. package/dist/cjs/components/table/Table.styles.js +1 -10
  48. package/dist/cjs/components/table/Table.styles.js.map +1 -1
  49. package/dist/cjs/components/table/Table.types.d.ts +14 -3
  50. package/dist/cjs/components/table/Table.types.d.ts.map +1 -1
  51. package/dist/cjs/components/table/TableActions.js.map +1 -1
  52. package/dist/cjs/components/table/TableCollapsibleColumn.js +2 -1
  53. package/dist/cjs/components/table/TableCollapsibleColumn.js.map +1 -1
  54. package/dist/cjs/components/table/TableContext.js.map +1 -1
  55. package/dist/cjs/components/table/TableDateRangePicker.js.map +1 -1
  56. package/dist/cjs/components/table/TableFilter.js.map +1 -1
  57. package/dist/cjs/components/table/TableFooter.js +2 -2
  58. package/dist/cjs/components/table/TableFooter.js.map +1 -1
  59. package/dist/cjs/components/table/TableHeader.js +1 -1
  60. package/dist/cjs/components/table/TableHeader.js.map +1 -1
  61. package/dist/cjs/components/table/TableLastUpdated.d.ts +24 -0
  62. package/dist/cjs/components/table/TableLastUpdated.d.ts.map +1 -0
  63. package/dist/cjs/components/table/TableLastUpdated.js +73 -0
  64. package/dist/cjs/components/table/TableLastUpdated.js.map +1 -0
  65. package/dist/cjs/components/table/TableLayoutControl.js.map +1 -1
  66. package/dist/cjs/components/table/TableLoading.js.map +1 -1
  67. package/dist/cjs/components/table/TablePagination.d.ts.map +1 -1
  68. package/dist/cjs/components/table/TablePagination.js +1 -0
  69. package/dist/cjs/components/table/TablePagination.js.map +1 -1
  70. package/dist/cjs/components/table/TablePerPage.js +5 -2
  71. package/dist/cjs/components/table/TablePerPage.js.map +1 -1
  72. package/dist/cjs/components/table/TablePredicate.js.map +1 -1
  73. package/dist/cjs/components/table/TableSelectableColumn.js.map +1 -1
  74. package/dist/cjs/components/table/Th.js.map +1 -1
  75. package/dist/cjs/components/table/index.js.map +1 -1
  76. package/dist/cjs/components/table/layouts/RowLayout.d.ts.map +1 -1
  77. package/dist/cjs/components/table/layouts/RowLayout.js +45 -11
  78. package/dist/cjs/components/table/layouts/RowLayout.js.map +1 -1
  79. package/dist/cjs/components/table/layouts/TableLayouts.js.map +1 -1
  80. package/dist/cjs/components/table/useRowSelection.d.ts +2 -2
  81. package/dist/cjs/components/table/useRowSelection.d.ts.map +1 -1
  82. package/dist/cjs/components/table/useRowSelection.js +10 -4
  83. package/dist/cjs/components/table/useRowSelection.js.map +1 -1
  84. package/dist/cjs/form/FormProvider.js.map +1 -1
  85. package/dist/cjs/form/useForm.js.map +1 -1
  86. package/dist/cjs/hooks/useControlledList.js +6 -3
  87. package/dist/cjs/hooks/useControlledList.js.map +1 -1
  88. package/dist/cjs/hooks/useParentHeight.js.map +1 -1
  89. package/dist/cjs/index.js.map +1 -1
  90. package/dist/cjs/theme/PlasmaColors.js.map +1 -1
  91. package/dist/cjs/theme/Plasmantine.js.map +1 -1
  92. package/dist/cjs/theme/Theme.d.ts.map +1 -1
  93. package/dist/cjs/theme/Theme.js +28 -1
  94. package/dist/cjs/theme/Theme.js.map +1 -1
  95. package/dist/cjs/utils/createPolymorphicComponent.js.map +1 -1
  96. package/dist/cjs/utils/overrideComponent.js.map +1 -1
  97. package/dist/esm/components/button/Button.js +2 -2
  98. package/dist/esm/components/button/Button.js.map +1 -1
  99. package/dist/esm/components/code-editor/CodeEditor.d.ts.map +1 -1
  100. package/dist/esm/components/code-editor/CodeEditor.js +4 -2
  101. package/dist/esm/components/code-editor/CodeEditor.js.map +1 -1
  102. package/dist/esm/components/code-editor/languages/xml.js.map +1 -1
  103. package/dist/esm/components/collection/Collection.js +13 -9
  104. package/dist/esm/components/collection/Collection.js.map +1 -1
  105. package/dist/esm/components/collection/Collection.styles.js.map +1 -1
  106. package/dist/esm/components/collection/CollectionItem.js.map +1 -1
  107. package/dist/esm/components/copyToClipboard/CopyToClipboard.js +4 -3
  108. package/dist/esm/components/copyToClipboard/CopyToClipboard.js.map +1 -1
  109. package/dist/esm/components/date-range-picker/DateRangePickerInlineCalendar.js.map +1 -1
  110. package/dist/esm/components/date-range-picker/DateRangePickerPopoverCalendar.js +2 -1
  111. package/dist/esm/components/date-range-picker/DateRangePickerPopoverCalendar.js.map +1 -1
  112. package/dist/esm/components/date-range-picker/DateRangePickerPresetSelect.d.ts.map +1 -1
  113. package/dist/esm/components/date-range-picker/DateRangePickerPresetSelect.js +4 -2
  114. package/dist/esm/components/date-range-picker/DateRangePickerPresetSelect.js.map +1 -1
  115. package/dist/esm/components/date-range-picker/EditableDateRangePicker.js +9 -6
  116. package/dist/esm/components/date-range-picker/EditableDateRangePicker.js.map +1 -1
  117. package/dist/esm/components/header/Header.js.map +1 -1
  118. package/dist/esm/components/inline-confirm/InlineConfirm.js.map +1 -1
  119. package/dist/esm/components/inline-confirm/InlineConfirmButton.js +2 -1
  120. package/dist/esm/components/inline-confirm/InlineConfirmButton.js.map +1 -1
  121. package/dist/esm/components/inline-confirm/InlineConfirmMenuItem.js +2 -1
  122. package/dist/esm/components/inline-confirm/InlineConfirmMenuItem.js.map +1 -1
  123. package/dist/esm/components/menu/Menu.js.map +1 -1
  124. package/dist/esm/components/modal-wizard/ModalWizard.js +16 -10
  125. package/dist/esm/components/modal-wizard/ModalWizard.js.map +1 -1
  126. package/dist/esm/components/modal-wizard/ModalWizardStep.js.map +1 -1
  127. package/dist/esm/components/prompt/Prompt.js.map +1 -1
  128. package/dist/esm/components/sticky-footer/StickyFooter.js.map +1 -1
  129. package/dist/esm/components/table/Table.d.ts.map +1 -1
  130. package/dist/esm/components/table/Table.js +35 -22
  131. package/dist/esm/components/table/Table.js.map +1 -1
  132. package/dist/esm/components/table/Table.styles.d.ts.map +1 -1
  133. package/dist/esm/components/table/Table.styles.js +1 -10
  134. package/dist/esm/components/table/Table.styles.js.map +1 -1
  135. package/dist/esm/components/table/Table.types.d.ts +14 -3
  136. package/dist/esm/components/table/Table.types.d.ts.map +1 -1
  137. package/dist/esm/components/table/Table.types.js.map +1 -1
  138. package/dist/esm/components/table/TableActions.js.map +1 -1
  139. package/dist/esm/components/table/TableCollapsibleColumn.js +2 -1
  140. package/dist/esm/components/table/TableCollapsibleColumn.js.map +1 -1
  141. package/dist/esm/components/table/TableDateRangePicker.js.map +1 -1
  142. package/dist/esm/components/table/TableFilter.js.map +1 -1
  143. package/dist/esm/components/table/TableFooter.js +2 -2
  144. package/dist/esm/components/table/TableFooter.js.map +1 -1
  145. package/dist/esm/components/table/TableHeader.js +1 -1
  146. package/dist/esm/components/table/TableHeader.js.map +1 -1
  147. package/dist/esm/components/table/TableLastUpdated.d.ts +24 -0
  148. package/dist/esm/components/table/TableLastUpdated.d.ts.map +1 -0
  149. package/dist/esm/components/table/TableLastUpdated.js +62 -0
  150. package/dist/esm/components/table/TableLastUpdated.js.map +1 -0
  151. package/dist/esm/components/table/TableLayoutControl.js.map +1 -1
  152. package/dist/esm/components/table/TableLoading.js.map +1 -1
  153. package/dist/esm/components/table/TablePagination.d.ts.map +1 -1
  154. package/dist/esm/components/table/TablePagination.js +1 -0
  155. package/dist/esm/components/table/TablePagination.js.map +1 -1
  156. package/dist/esm/components/table/TablePerPage.js +5 -2
  157. package/dist/esm/components/table/TablePerPage.js.map +1 -1
  158. package/dist/esm/components/table/TablePredicate.js.map +1 -1
  159. package/dist/esm/components/table/TableSelectableColumn.js.map +1 -1
  160. package/dist/esm/components/table/Th.js.map +1 -1
  161. package/dist/esm/components/table/layouts/RowLayout.d.ts.map +1 -1
  162. package/dist/esm/components/table/layouts/RowLayout.js +46 -12
  163. package/dist/esm/components/table/layouts/RowLayout.js.map +1 -1
  164. package/dist/esm/components/table/useRowSelection.d.ts +2 -2
  165. package/dist/esm/components/table/useRowSelection.d.ts.map +1 -1
  166. package/dist/esm/components/table/useRowSelection.js +10 -4
  167. package/dist/esm/components/table/useRowSelection.js.map +1 -1
  168. package/dist/esm/form/FormProvider.js.map +1 -1
  169. package/dist/esm/form/useForm.js.map +1 -1
  170. package/dist/esm/hooks/useControlledList.js +6 -3
  171. package/dist/esm/hooks/useControlledList.js.map +1 -1
  172. package/dist/esm/hooks/useParentHeight.js.map +1 -1
  173. package/dist/esm/theme/PlasmaColors.js.map +1 -1
  174. package/dist/esm/theme/Theme.d.ts.map +1 -1
  175. package/dist/esm/theme/Theme.js +28 -1
  176. package/dist/esm/theme/Theme.js.map +1 -1
  177. package/dist/esm/utils/overrideComponent.js.map +1 -1
  178. package/package.json +20 -20
  179. package/src/__tests__/VitestSetup.ts +12 -0
  180. package/src/components/code-editor/CodeEditor.tsx +4 -2
  181. package/src/components/code-editor/__tests__/CodeEditor.spec.tsx +1 -0
  182. package/src/components/date-range-picker/DateRangePickerPresetSelect.tsx +1 -0
  183. package/src/components/date-range-picker/__tests__/DateRangePickerInlineCalendar.spec.tsx +2 -0
  184. package/src/components/date-range-picker/__tests__/DateRangePickerPopoverCalendar.spec.tsx +4 -19
  185. package/src/components/date-range-picker/__tests__/EditableDateRangePicker.spec.tsx +3 -3
  186. package/src/components/modal-wizard/__tests__/ModalWizard.spec.tsx +19 -4
  187. package/src/components/table/Table.styles.ts +0 -9
  188. package/src/components/table/Table.tsx +22 -13
  189. package/src/components/table/Table.types.ts +14 -3
  190. package/src/components/table/TableFooter.tsx +1 -1
  191. package/src/components/table/TableHeader.tsx +1 -1
  192. package/src/components/table/TableLastUpdated.tsx +51 -0
  193. package/src/components/table/TablePagination.tsx +1 -0
  194. package/src/components/table/TablePerPage.tsx +3 -3
  195. package/src/components/table/__tests__/Table.spec.tsx +44 -5
  196. package/src/components/table/__tests__/TableActions.spec.tsx +4 -3
  197. package/src/components/table/__tests__/TableDateRangePicker.spec.tsx +26 -59
  198. package/src/components/table/__tests__/TableLastUpdated.spec.tsx +97 -0
  199. package/src/components/table/__tests__/TablePredicate.spec.tsx +7 -55
  200. package/src/components/table/layouts/RowLayout.tsx +45 -11
  201. package/src/components/table/useRowSelection.ts +13 -6
  202. package/src/theme/Theme.tsx +20 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/date-range-picker/EditableDateRangePicker.tsx"],"sourcesContent":["import {DateInput, DatePickerProps} from '@mantine/dates';\nimport dayjs from 'dayjs';\nimport {ReactNode} from 'react';\nimport {DateRangePickerValue} from './DateRangePickerInlineCalendar';\n\nexport interface EditableDateRangePickerProps {\n value: DateRangePickerValue;\n onChange?(value: DateRangePickerValue): void;\n onFocus?: () => void;\n separator?: ReactNode;\n /**\n * Props for the start input\n */\n startProps?: Omit<Partial<DatePickerProps>, 'value' | 'onChange' | 'onFocus'>;\n /**\n * Props for the end input\n */\n endProps?: Omit<Partial<DatePickerProps>, 'value' | 'onChange' | 'onFocus'>;\n}\n\nexport const EditableDateRangePicker = ({\n value,\n onChange,\n onFocus,\n separator = 'to',\n startProps = {},\n endProps = {},\n}: EditableDateRangePickerProps) => {\n const onChangeStart = (date: Date) => {\n onChange?.([dayjs(date).startOf('day').toDate(), value?.[1]]);\n };\n const onChangeEnd = (date: Date) => {\n onChange?.([value?.[0], dayjs(date).endOf('day').toDate()]);\n };\n\n return (\n <>\n <DateInput\n clearable={false}\n label=\"Start\"\n value={value?.[0]}\n onChange={onChangeStart}\n onFocus={onFocus}\n popoverProps={{styles: {dropdown: {display: 'none'}}}}\n styles={{...startProps.styles}}\n />\n {separator}\n <DateInput\n clearable={false}\n label=\"End\"\n value={value?.[1]}\n onChange={onChangeEnd}\n onFocus={onFocus}\n popoverProps={{styles: {dropdown: {display: 'none'}}}}\n styles={{...endProps.styles}}\n />\n </>\n );\n};\n"],"names":["EditableDateRangePicker","value","onChange","onFocus","separator","startProps","endProps","onChangeStart","date","dayjs","startOf","toDate","onChangeEnd","endOf","DateInput","clearable","label","popoverProps","styles","dropdown","display"],"mappings":";;;;+BAoBaA;;;eAAAA;;;;;;qBApB4B;8DACvB;AAmBX,IAAMA,0BAA0B;QACnCC,cAAAA,OACAC,iBAAAA,UACAC,gBAAAA,kCACAC,WAAAA,0CAAY,mDACZC,YAAAA,4CAAa,CAAC,+CACdC,UAAAA,wCAAW,CAAC;IAEZ,IAAMC,gBAAgB,SAACC;QACnBN,qBAAAA,sBAAAA,KAAAA,IAAAA,SAAW;YAACO,IAAAA,gBAAMD,MAAME,QAAQ,OAAOC;YAAUV,kBAAAA,mBAAAA,KAAAA,IAAAA,KAAO,CAAC,EAAE;SAAC;IAChE;IACA,IAAMW,cAAc,SAACJ;QACjBN,qBAAAA,sBAAAA,KAAAA,IAAAA,SAAW;YAACD,kBAAAA,mBAAAA,KAAAA,IAAAA,KAAO,CAAC,EAAE;YAAEQ,IAAAA,gBAAMD,MAAMK,MAAM,OAAOF;SAAS;IAC9D;IAEA,qBACI;;0BACI,qBAACG;gBACGC,WAAW;gBACXC,OAAM;gBACNf,OAAOA,kBAAAA,mBAAAA,KAAAA,IAAAA,KAAO,CAAC,EAAE;gBACjBC,UAAUK;gBACVJ,SAASA;gBACTc,cAAc;oBAACC,QAAQ;wBAACC,UAAU;4BAACC,SAAS;wBAAM;oBAAC;gBAAC;gBACpDF,QAAQ,qBAAIb,WAAWa;;YAE1Bd;0BACD,qBAACU;gBACGC,WAAW;gBACXC,OAAM;gBACNf,OAAOA,kBAAAA,mBAAAA,KAAAA,IAAAA,KAAO,CAAC,EAAE;gBACjBC,UAAUU;gBACVT,SAASA;gBACTc,cAAc;oBAACC,QAAQ;wBAACC,UAAU;4BAACC,SAAS;wBAAM;oBAAC;gBAAC;gBACpDF,QAAQ,qBAAIZ,SAASY;;;;AAIrC"}
1
+ {"version":3,"sources":["../../../../src/components/date-range-picker/EditableDateRangePicker.tsx"],"sourcesContent":["import {DateInput, DatePickerProps} from '@mantine/dates';\nimport dayjs from 'dayjs';\nimport {ReactNode} from 'react';\nimport {DateRangePickerValue} from './DateRangePickerInlineCalendar';\n\nexport interface EditableDateRangePickerProps {\n value: DateRangePickerValue;\n onChange?(value: DateRangePickerValue): void;\n onFocus?: () => void;\n separator?: ReactNode;\n /**\n * Props for the start input\n */\n startProps?: Omit<Partial<DatePickerProps>, 'value' | 'onChange' | 'onFocus'>;\n /**\n * Props for the end input\n */\n endProps?: Omit<Partial<DatePickerProps>, 'value' | 'onChange' | 'onFocus'>;\n}\n\nexport const EditableDateRangePicker = ({\n value,\n onChange,\n onFocus,\n separator = 'to',\n startProps = {},\n endProps = {},\n}: EditableDateRangePickerProps) => {\n const onChangeStart = (date: Date) => {\n onChange?.([dayjs(date).startOf('day').toDate(), value?.[1]]);\n };\n const onChangeEnd = (date: Date) => {\n onChange?.([value?.[0], dayjs(date).endOf('day').toDate()]);\n };\n\n return (\n <>\n <DateInput\n clearable={false}\n label=\"Start\"\n value={value?.[0]}\n onChange={onChangeStart}\n onFocus={onFocus}\n popoverProps={{styles: {dropdown: {display: 'none'}}}}\n styles={{...startProps.styles}}\n />\n {separator}\n <DateInput\n clearable={false}\n label=\"End\"\n value={value?.[1]}\n onChange={onChangeEnd}\n onFocus={onFocus}\n popoverProps={{styles: {dropdown: {display: 'none'}}}}\n styles={{...endProps.styles}}\n />\n </>\n );\n};\n"],"names":["EditableDateRangePicker","value","onChange","onFocus","separator","startProps","endProps","onChangeStart","date","dayjs","startOf","toDate","onChangeEnd","endOf","DateInput","clearable","label","popoverProps","styles","dropdown","display"],"mappings":";;;;+BAoBaA;;;eAAAA;;;;;;qBApB4B;8DACvB;AAmBX,IAAMA,0BAA0B;QACnCC,cAAAA,OACAC,iBAAAA,UACAC,gBAAAA,kCACAC,WAAAA,0CAAY,mDACZC,YAAAA,4CAAa,CAAC,+CACdC,UAAAA,wCAAW,CAAC;QAcOL,QAUAA;IAtBnB,IAAMM,gBAAgB,SAACC;YACnBN,WAAiDD;SAAjDC,YAAAA,sBAAAA,gCAAAA,UAAW;YAACO,IAAAA,cAAK,EAACD,MAAME,OAAO,CAAC,OAAOC,MAAM;aAAIV,SAAAA,mBAAAA,6BAAAA,MAAO,CAAC,EAAE;SAAC;IAChE;IACA,IAAMW,cAAc,SAACJ;YACjBN,WAAYD;SAAZC,YAAAA,sBAAAA,gCAAAA,UAAW;aAACD,SAAAA,mBAAAA,6BAAAA,MAAO,CAAC,EAAE;YAAEQ,IAAAA,cAAK,EAACD,MAAMK,KAAK,CAAC,OAAOF,MAAM;SAAG;IAC9D;IAEA,qBACI;;0BACI,qBAACG,gBAAS;gBACNC,WAAW;gBACXC,OAAM;gBACNf,KAAK,GAAEA,SAAAA,mBAAAA,6BAAAA,MAAO,CAAC,EAAE;gBACjBC,UAAUK;gBACVJ,SAASA;gBACTc,cAAc;oBAACC,QAAQ;wBAACC,UAAU;4BAACC,SAAS;wBAAM;oBAAC;gBAAC;gBACpDF,QAAQ,qBAAIb,WAAWa,MAAM;;YAEhCd;0BACD,qBAACU,gBAAS;gBACNC,WAAW;gBACXC,OAAM;gBACNf,KAAK,GAAEA,UAAAA,mBAAAA,8BAAAA,OAAO,CAAC,EAAE;gBACjBC,UAAUU;gBACVT,SAASA;gBACTc,cAAc;oBAACC,QAAQ;wBAACC,UAAU;4BAACC,SAAS;wBAAM;oBAAC;gBAAC;gBACpDF,QAAQ,qBAAIZ,SAASY,MAAM;;;;AAI3C"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/header/Header.tsx"],"sourcesContent":["import {QuestionSize16Px} from '@coveord/plasma-react-icons';\nimport {Anchor, Breadcrumbs, DefaultProps, Divider, Group, Stack, Text, Title, Tooltip} from '@mantine/core';\nimport {Children, FunctionComponent, ReactElement, ReactNode} from 'react';\n\nexport interface HeaderProps extends DefaultProps {\n /**\n * The description text displayed inside the header underneath the title\n */\n description?: ReactNode;\n /**\n * Whether the header should have a border on the bottom\n */\n borderBottom?: boolean;\n /**\n * Use the modal variant when displaying the header inside a modal\n *\n * @default 'page'\n */\n variant?: 'page' | 'modal';\n /**\n * The title of the header.\n */\n children: ReactNode;\n}\n\ninterface HeaderType {\n (props: HeaderProps): ReactElement;\n Breadcrumbs: typeof HeaderBreadcrumbs;\n Actions: typeof HeaderActions;\n DocAnchor: typeof HeaderDocAnchor;\n}\n\nexport const Header: HeaderType = ({description, borderBottom, children, variant = 'page', ...others}) => {\n const convertedChildren = Children.toArray(children) as ReactElement[];\n const breadcrumbs = convertedChildren.find((child) => child.type === HeaderBreadcrumbs);\n const actions = convertedChildren.find((child) => child.type === HeaderActions);\n const docAnchor = convertedChildren.find((child) => child.type === HeaderDocAnchor);\n const otherChildren = convertedChildren.filter(\n (child) => child.type !== HeaderBreadcrumbs && child.type !== HeaderActions && child.type !== HeaderDocAnchor\n );\n return (\n <>\n <Group\n position=\"apart\"\n p={variant === 'page' ? 'xl' : undefined}\n pb={variant === 'page' ? 'lg' : undefined}\n {...others}\n >\n <Stack spacing={0}>\n {breadcrumbs}\n <Title\n order={variant === 'page' ? 1 : 3}\n color={variant === 'page' ? 'gray.5' : undefined}\n sx={{wordBreak: 'break-word'}}\n >\n {otherChildren}\n {docAnchor}\n </Title>\n <Text size={variant === 'page' ? 'md' : 'sm'} color=\"gray.6\">\n {description}\n </Text>\n </Stack>\n {actions}\n </Group>\n {borderBottom ? <Divider size=\"xs\" /> : null}\n </>\n );\n};\n\nconst HeaderBreadcrumbs: FunctionComponent<{children: ReactNode}> = ({children}) => (\n <Breadcrumbs\n styles={(theme) => ({\n breadcrumb: {fontSize: theme.fontSizes.sm, fontWeight: 300},\n separator: {color: theme.colors.gray[5]},\n })}\n >\n {children}\n </Breadcrumbs>\n);\n\nconst HeaderActions: FunctionComponent<{children: ReactNode}> = ({children}) => <Group spacing=\"sm\">{children}</Group>;\n\nexport interface HeaderDocAnchorProps {\n /**\n * A href pointing to documentation related to the current panel.\n * When provided, an info icon is rendered next to the title as link to this documentation\n */\n href: string;\n /**\n * The tooltip text shown when hovering over the doc link icon\n */\n label?: string;\n}\n\nconst HeaderDocAnchor: FunctionComponent<HeaderDocAnchorProps> = ({href: docLink, label: docLinkTooltipLabel}) => (\n <Tooltip label={docLinkTooltipLabel} disabled={!docLinkTooltipLabel} position=\"right\">\n <Anchor inline href={docLink} target=\"_blank\" ml=\"xs\" style={{verticalAlign: 'middle'}}>\n <QuestionSize16Px height={16} />\n </Anchor>\n </Tooltip>\n);\n\nHeader.Breadcrumbs = HeaderBreadcrumbs;\nHeader.Actions = HeaderActions;\nHeader.DocAnchor = HeaderDocAnchor;\n"],"names":["Header","description","borderBottom","children","variant","others","convertedChildren","Children","toArray","breadcrumbs","find","child","type","HeaderBreadcrumbs","actions","HeaderActions","docAnchor","HeaderDocAnchor","otherChildren","filter","Group","position","p","undefined","pb","Stack","spacing","Title","order","color","sx","wordBreak","Text","size","Divider","Breadcrumbs","styles","theme","breadcrumb","fontSize","fontSizes","sm","fontWeight","separator","colors","gray","href","docLink","label","docLinkTooltipLabel","Tooltip","disabled","Anchor","inline","target","ml","style","verticalAlign","QuestionSize16Px","height","Actions","DocAnchor"],"mappings":";;;;+BAgCaA;;;eAAAA;;;;;;;gCAhCkB;oBAC8D;qBAC1B;AA8B5D,IAAMA,SAAqB;QAAEC,qBAAAA,aAAaC,sBAAAA,cAAcC,kBAAAA,kCAAUC,SAAAA,sCAAU,yBAAWC;QAA1DJ;QAAaC;QAAcC;QAAUC;;IACrE,IAAME,oBAAoBC,gBAASC,QAAQL;IAC3C,IAAMM,cAAcH,kBAAkBI,KAAK,SAACC;eAAUA,MAAMC,SAASC;;IACrE,IAAMC,UAAUR,kBAAkBI,KAAK,SAACC;eAAUA,MAAMC,SAASG;;IACjE,IAAMC,YAAYV,kBAAkBI,KAAK,SAACC;eAAUA,MAAMC,SAASK;;IACnE,IAAMC,gBAAgBZ,kBAAkBa,OACpC,SAACR;eAAUA,MAAMC,SAASC,qBAAqBF,MAAMC,SAASG,iBAAiBJ,MAAMC,SAASK;;IAElG,qBACI;;0BACI,sBAACG;gBACGC,UAAS;gBACTC,GAAGlB,YAAY,SAAS,OAAOmB;gBAC/BC,IAAIpB,YAAY,SAAS,OAAOmB;eAC5BlB;;kCAEJ,sBAACoB;wBAAMC,SAAS;;4BACXjB;0CACD,sBAACkB;gCACGC,OAAOxB,YAAY,SAAS,IAAI;gCAChCyB,OAAOzB,YAAY,SAAS,WAAWmB;gCACvCO,IAAI;oCAACC,WAAW;gCAAY;;oCAE3Bb;oCACAF;;;0CAEL,qBAACgB;gCAAKC,MAAM7B,YAAY,SAAS,OAAO;gCAAMyB,OAAM;0CAC/C5B;;;;oBAGRa;;;YAEJZ,6BAAe,qBAACgC;gBAAQD,MAAK;iBAAU;;;AAGpD;AAEA,IAAMpB,oBAA8D;QAAEV,iBAAAA;yBAClE,qBAACgC;QACGC,QAAQ,SAACC;mBAAW;gBAChBC,YAAY;oBAACC,UAAUF,MAAMG,UAAUC;oBAAIC,YAAY;gBAAG;gBAC1DC,WAAW;oBAACd,OAAOQ,MAAMO,OAAOC,IAAI,CAAC,EAAE;gBAAA;YAC3C;;kBAEC1C;;;AAIT,IAAMY,gBAA0D;QAAEZ,iBAAAA;yBAAc,qBAACiB;QAAMM,SAAQ;kBAAMvB;;;AAcrG,IAAMc,kBAA2D;QAAE6B,AAAMC,gBAAND,MAAeE,AAAOC,4BAAPD;yBAC9E,qBAACE;QAAQF,OAAOC;QAAqBE,UAAU,CAACF;QAAqB5B,UAAS;kBAC1E,cAAA,qBAAC+B;YAAOC,MAAM;YAACP,MAAMC;YAASO,QAAO;YAASC,IAAG;YAAKC,OAAO;gBAACC,eAAe;YAAQ;sBACjF,cAAA,qBAACC;gBAAiBC,QAAQ;;;;;AAKtC3D,OAAOmC,cAActB;AACrBb,OAAO4D,UAAU7C;AACjBf,OAAO6D,YAAY5C"}
1
+ {"version":3,"sources":["../../../../src/components/header/Header.tsx"],"sourcesContent":["import {QuestionSize16Px} from '@coveord/plasma-react-icons';\nimport {Anchor, Breadcrumbs, DefaultProps, Divider, Group, Stack, Text, Title, Tooltip} from '@mantine/core';\nimport {Children, FunctionComponent, ReactElement, ReactNode} from 'react';\n\nexport interface HeaderProps extends DefaultProps {\n /**\n * The description text displayed inside the header underneath the title\n */\n description?: ReactNode;\n /**\n * Whether the header should have a border on the bottom\n */\n borderBottom?: boolean;\n /**\n * Use the modal variant when displaying the header inside a modal\n *\n * @default 'page'\n */\n variant?: 'page' | 'modal';\n /**\n * The title of the header.\n */\n children: ReactNode;\n}\n\ninterface HeaderType {\n (props: HeaderProps): ReactElement;\n Breadcrumbs: typeof HeaderBreadcrumbs;\n Actions: typeof HeaderActions;\n DocAnchor: typeof HeaderDocAnchor;\n}\n\nexport const Header: HeaderType = ({description, borderBottom, children, variant = 'page', ...others}) => {\n const convertedChildren = Children.toArray(children) as ReactElement[];\n const breadcrumbs = convertedChildren.find((child) => child.type === HeaderBreadcrumbs);\n const actions = convertedChildren.find((child) => child.type === HeaderActions);\n const docAnchor = convertedChildren.find((child) => child.type === HeaderDocAnchor);\n const otherChildren = convertedChildren.filter(\n (child) => child.type !== HeaderBreadcrumbs && child.type !== HeaderActions && child.type !== HeaderDocAnchor\n );\n return (\n <>\n <Group\n position=\"apart\"\n p={variant === 'page' ? 'xl' : undefined}\n pb={variant === 'page' ? 'lg' : undefined}\n {...others}\n >\n <Stack spacing={0}>\n {breadcrumbs}\n <Title\n order={variant === 'page' ? 1 : 3}\n color={variant === 'page' ? 'gray.5' : undefined}\n sx={{wordBreak: 'break-word'}}\n >\n {otherChildren}\n {docAnchor}\n </Title>\n <Text size={variant === 'page' ? 'md' : 'sm'} color=\"gray.6\">\n {description}\n </Text>\n </Stack>\n {actions}\n </Group>\n {borderBottom ? <Divider size=\"xs\" /> : null}\n </>\n );\n};\n\nconst HeaderBreadcrumbs: FunctionComponent<{children: ReactNode}> = ({children}) => (\n <Breadcrumbs\n styles={(theme) => ({\n breadcrumb: {fontSize: theme.fontSizes.sm, fontWeight: 300},\n separator: {color: theme.colors.gray[5]},\n })}\n >\n {children}\n </Breadcrumbs>\n);\n\nconst HeaderActions: FunctionComponent<{children: ReactNode}> = ({children}) => <Group spacing=\"sm\">{children}</Group>;\n\nexport interface HeaderDocAnchorProps {\n /**\n * A href pointing to documentation related to the current panel.\n * When provided, an info icon is rendered next to the title as link to this documentation\n */\n href: string;\n /**\n * The tooltip text shown when hovering over the doc link icon\n */\n label?: string;\n}\n\nconst HeaderDocAnchor: FunctionComponent<HeaderDocAnchorProps> = ({href: docLink, label: docLinkTooltipLabel}) => (\n <Tooltip label={docLinkTooltipLabel} disabled={!docLinkTooltipLabel} position=\"right\">\n <Anchor inline href={docLink} target=\"_blank\" ml=\"xs\" style={{verticalAlign: 'middle'}}>\n <QuestionSize16Px height={16} />\n </Anchor>\n </Tooltip>\n);\n\nHeader.Breadcrumbs = HeaderBreadcrumbs;\nHeader.Actions = HeaderActions;\nHeader.DocAnchor = HeaderDocAnchor;\n"],"names":["Header","description","borderBottom","children","variant","others","convertedChildren","Children","toArray","breadcrumbs","find","child","type","HeaderBreadcrumbs","actions","HeaderActions","docAnchor","HeaderDocAnchor","otherChildren","filter","Group","position","p","undefined","pb","Stack","spacing","Title","order","color","sx","wordBreak","Text","size","Divider","Breadcrumbs","styles","theme","breadcrumb","fontSize","fontSizes","sm","fontWeight","separator","colors","gray","href","docLink","label","docLinkTooltipLabel","Tooltip","disabled","Anchor","inline","target","ml","style","verticalAlign","QuestionSize16Px","height","Actions","DocAnchor"],"mappings":";;;;+BAgCaA;;;eAAAA;;;;;;;gCAhCkB;oBAC8D;qBAC1B;AA8B5D,IAAMA,SAAqB;QAAEC,qBAAAA,aAAaC,sBAAAA,cAAcC,kBAAAA,kCAAUC,SAAAA,sCAAU,yBAAWC;QAA1DJ;QAAaC;QAAcC;QAAUC;;IACrE,IAAME,oBAAoBC,eAAQ,CAACC,OAAO,CAACL;IAC3C,IAAMM,cAAcH,kBAAkBI,IAAI,CAAC,SAACC;eAAUA,MAAMC,IAAI,KAAKC;;IACrE,IAAMC,UAAUR,kBAAkBI,IAAI,CAAC,SAACC;eAAUA,MAAMC,IAAI,KAAKG;;IACjE,IAAMC,YAAYV,kBAAkBI,IAAI,CAAC,SAACC;eAAUA,MAAMC,IAAI,KAAKK;;IACnE,IAAMC,gBAAgBZ,kBAAkBa,MAAM,CAC1C,SAACR;eAAUA,MAAMC,IAAI,KAAKC,qBAAqBF,MAAMC,IAAI,KAAKG,iBAAiBJ,MAAMC,IAAI,KAAKK;;IAElG,qBACI;;0BACI,sBAACG,WAAK;gBACFC,UAAS;gBACTC,GAAGlB,YAAY,SAAS,OAAOmB;gBAC/BC,IAAIpB,YAAY,SAAS,OAAOmB;eAC5BlB;;kCAEJ,sBAACoB,WAAK;wBAACC,SAAS;;4BACXjB;0CACD,sBAACkB,WAAK;gCACFC,OAAOxB,YAAY,SAAS,IAAI;gCAChCyB,OAAOzB,YAAY,SAAS,WAAWmB;gCACvCO,IAAI;oCAACC,WAAW;gCAAY;;oCAE3Bb;oCACAF;;;0CAEL,qBAACgB,UAAI;gCAACC,MAAM7B,YAAY,SAAS,OAAO;gCAAMyB,OAAM;0CAC/C5B;;;;oBAGRa;;;YAEJZ,6BAAe,qBAACgC,aAAO;gBAACD,MAAK;iBAAU;;;AAGpD;AAEA,IAAMpB,oBAA8D;QAAEV,iBAAAA;yBAClE,qBAACgC,iBAAW;QACRC,QAAQ,SAACC;mBAAW;gBAChBC,YAAY;oBAACC,UAAUF,MAAMG,SAAS,CAACC,EAAE;oBAAEC,YAAY;gBAAG;gBAC1DC,WAAW;oBAACd,OAAOQ,MAAMO,MAAM,CAACC,IAAI,CAAC,EAAE;gBAAA;YAC3C;;kBAEC1C;;;AAIT,IAAMY,gBAA0D;QAAEZ,iBAAAA;yBAAc,qBAACiB,WAAK;QAACM,SAAQ;kBAAMvB;;;AAcrG,IAAMc,kBAA2D;QAAE6B,AAAMC,gBAAND,MAAeE,AAAOC,4BAAPD;yBAC9E,qBAACE,aAAO;QAACF,OAAOC;QAAqBE,UAAU,CAACF;QAAqB5B,UAAS;kBAC1E,cAAA,qBAAC+B,YAAM;YAACC,MAAM;YAACP,MAAMC;YAASO,QAAO;YAASC,IAAG;YAAKC,OAAO;gBAACC,eAAe;YAAQ;sBACjF,cAAA,qBAACC,kCAAgB;gBAACC,QAAQ;;;;;AAKtC3D,OAAOmC,WAAW,GAAGtB;AACrBb,OAAO4D,OAAO,GAAG7C;AACjBf,OAAO6D,SAAS,GAAG5C"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/inline-confirm/InlineConfirm.tsx"],"sourcesContent":["import {Children, FunctionComponent, PropsWithChildren, ReactElement, useState} from 'react';\n\nimport {InlineConfirmButton} from './InlineConfirmButton';\nimport {InlineConfirmContext} from './InlineConfirmContext';\nimport {InlineConfirmMenuItem} from './InlineConfirmMenuItem';\nimport {InlineConfirmPrompt} from './InlineConfirmPrompt';\n\ntype InlineConfirmType = FunctionComponent<PropsWithChildren> & {\n Prompt: typeof InlineConfirmPrompt;\n Button: typeof InlineConfirmButton;\n MenuItem: typeof InlineConfirmMenuItem;\n};\n\nexport const InlineConfirm: InlineConfirmType = ({children}) => {\n const [confirmingId, setConfirmingId] = useState<string | null>(null);\n\n const convertedChildren = Children.toArray(children) as ReactElement[];\n const prompt = convertedChildren.find(\n (child) => child.type === InlineConfirmPrompt && child.props.id === confirmingId\n );\n const clearConfirm = () => setConfirmingId(null);\n\n return (\n <InlineConfirmContext.Provider value={{confirmingId, setConfirmingId, clearConfirm}}>\n {prompt ?? children}\n </InlineConfirmContext.Provider>\n );\n};\n\nInlineConfirm.Prompt = InlineConfirmPrompt;\nInlineConfirm.Button = InlineConfirmButton;\nInlineConfirm.MenuItem = InlineConfirmMenuItem;\n"],"names":["InlineConfirm","children","useState","confirmingId","setConfirmingId","convertedChildren","Children","toArray","prompt","find","child","type","InlineConfirmPrompt","props","id","clearConfirm","InlineConfirmContext","Provider","value","Prompt","Button","InlineConfirmButton","MenuItem","InlineConfirmMenuItem"],"mappings":";;;;+BAaaA;;;eAAAA;;;;;qBAbwE;mCAEnD;oCACC;qCACC;mCACF;AAQ3B,IAAMA,gBAAmC;QAAEC,iBAAAA;IAC9C,IAAwCC,+BAAAA,IAAAA,iBAAwB,WAAzDC,eAAiCD,cAAnBE,kBAAmBF;IAExC,IAAMG,oBAAoBC,gBAASC,QAAQN;IAC3C,IAAMO,SAASH,kBAAkBI,KAC7B,SAACC;eAAUA,MAAMC,SAASC,4CAAuBF,MAAMG,MAAMC,OAAOX;;IAExE,IAAMY,eAAe;eAAMX,gBAAgB;;IAE3C,qBACI,qBAACY,2CAAqBC;QAASC,OAAO;YAACf,cAAAA;YAAcC,iBAAAA;YAAiBW,cAAAA;QAAY;kBAC7EP,mBAAAA,oBAAAA,SAAUP;;AAGvB;AAEAD,cAAcmB,SAASP;AACvBZ,cAAcoB,SAASC;AACvBrB,cAAcsB,WAAWC"}
1
+ {"version":3,"sources":["../../../../src/components/inline-confirm/InlineConfirm.tsx"],"sourcesContent":["import {Children, FunctionComponent, PropsWithChildren, ReactElement, useState} from 'react';\n\nimport {InlineConfirmButton} from './InlineConfirmButton';\nimport {InlineConfirmContext} from './InlineConfirmContext';\nimport {InlineConfirmMenuItem} from './InlineConfirmMenuItem';\nimport {InlineConfirmPrompt} from './InlineConfirmPrompt';\n\ntype InlineConfirmType = FunctionComponent<PropsWithChildren> & {\n Prompt: typeof InlineConfirmPrompt;\n Button: typeof InlineConfirmButton;\n MenuItem: typeof InlineConfirmMenuItem;\n};\n\nexport const InlineConfirm: InlineConfirmType = ({children}) => {\n const [confirmingId, setConfirmingId] = useState<string | null>(null);\n\n const convertedChildren = Children.toArray(children) as ReactElement[];\n const prompt = convertedChildren.find(\n (child) => child.type === InlineConfirmPrompt && child.props.id === confirmingId\n );\n const clearConfirm = () => setConfirmingId(null);\n\n return (\n <InlineConfirmContext.Provider value={{confirmingId, setConfirmingId, clearConfirm}}>\n {prompt ?? children}\n </InlineConfirmContext.Provider>\n );\n};\n\nInlineConfirm.Prompt = InlineConfirmPrompt;\nInlineConfirm.Button = InlineConfirmButton;\nInlineConfirm.MenuItem = InlineConfirmMenuItem;\n"],"names":["InlineConfirm","children","useState","confirmingId","setConfirmingId","convertedChildren","Children","toArray","prompt","find","child","type","InlineConfirmPrompt","props","id","clearConfirm","InlineConfirmContext","Provider","value","Prompt","Button","InlineConfirmButton","MenuItem","InlineConfirmMenuItem"],"mappings":";;;;+BAaaA;;;eAAAA;;;;;qBAbwE;mCAEnD;oCACC;qCACC;mCACF;AAQ3B,IAAMA,gBAAmC;QAAEC,iBAAAA;IAC9C,IAAwCC,+BAAAA,IAAAA,eAAQ,EAAgB,WAAzDC,eAAiCD,cAAnBE,kBAAmBF;IAExC,IAAMG,oBAAoBC,eAAQ,CAACC,OAAO,CAACN;IAC3C,IAAMO,SAASH,kBAAkBI,IAAI,CACjC,SAACC;eAAUA,MAAMC,IAAI,KAAKC,wCAAmB,IAAIF,MAAMG,KAAK,CAACC,EAAE,KAAKX;;IAExE,IAAMY,eAAe;eAAMX,gBAAgB;;IAE3C,qBACI,qBAACY,0CAAoB,CAACC,QAAQ;QAACC,OAAO;YAACf,cAAAA;YAAcC,iBAAAA;YAAiBW,cAAAA;QAAY;kBAC7EP,mBAAAA,oBAAAA,SAAUP;;AAGvB;AAEAD,cAAcmB,MAAM,GAAGP,wCAAmB;AAC1CZ,cAAcoB,MAAM,GAAGC,wCAAmB;AAC1CrB,cAAcsB,QAAQ,GAAGC,4CAAqB"}
@@ -21,8 +21,9 @@ var InlineConfirmButton = /*#__PURE__*/ (0, _react.forwardRef)(function(_param,
21
21
  ]);
22
22
  var setConfirmingId = (0, _useInlineConfirm.useInlineConfirm)().setConfirmingId;
23
23
  var handleOnClick = function(e) {
24
+ var _onClick;
24
25
  setConfirmingId(id);
25
- onClick === null || onClick === void 0 ? void 0 : onClick(e);
26
+ (_onClick = onClick) === null || _onClick === void 0 ? void 0 : _onClick(e);
26
27
  };
27
28
  return /*#__PURE__*/ (0, _jsxruntime.jsx)(_core.Button, _object_spread._({
28
29
  ref: ref,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/inline-confirm/InlineConfirmButton.tsx"],"sourcesContent":["import {Button} from '@mantine/core';\nimport {forwardRef, MouseEventHandler} from 'react';\n\nimport {ButtonProps} from '../button';\nimport {useInlineConfirm} from './useInlineConfirm';\n\nexport interface InlineConfirmButtonProps extends ButtonProps {\n id: string;\n onClick?: MouseEventHandler<HTMLButtonElement>;\n}\n\nexport const InlineConfirmButton = forwardRef<HTMLButtonElement, InlineConfirmButtonProps>(\n ({onClick, id, ...others}, ref) => {\n const {setConfirmingId} = useInlineConfirm();\n const handleOnClick: MouseEventHandler<HTMLButtonElement> = (e) => {\n setConfirmingId(id);\n onClick?.(e);\n };\n\n return <Button ref={ref} onClick={handleOnClick} {...others} />;\n }\n);\n"],"names":["InlineConfirmButton","forwardRef","ref","onClick","id","others","setConfirmingId","useInlineConfirm","handleOnClick","e","Button"],"mappings":";;;;+BAWaA;;;eAAAA;;;;;;oBAXQ;qBACuB;gCAGb;AAOxB,IAAMA,oCAAsBC,IAAAA,mBAC/B,iBAA2BC;QAAzBC,iBAAAA,SAASC,YAAAA,IAAOC;QAAhBF;QAASC;;IACP,IAAM,AAACE,kBAAmBC,IAAAA,sCAAnBD;IACP,IAAME,gBAAsD,SAACC;QACzDH,gBAAgBF;QAChBD,oBAAAA,qBAAAA,KAAAA,IAAAA,QAAUM;IACd;IAEA,qBAAO,qBAACC;QAAOR,KAAKA;QAAKC,SAASK;OAAmBH;AACzD"}
1
+ {"version":3,"sources":["../../../../src/components/inline-confirm/InlineConfirmButton.tsx"],"sourcesContent":["import {Button} from '@mantine/core';\nimport {forwardRef, MouseEventHandler} from 'react';\n\nimport {ButtonProps} from '../button';\nimport {useInlineConfirm} from './useInlineConfirm';\n\nexport interface InlineConfirmButtonProps extends ButtonProps {\n id: string;\n onClick?: MouseEventHandler<HTMLButtonElement>;\n}\n\nexport const InlineConfirmButton = forwardRef<HTMLButtonElement, InlineConfirmButtonProps>(\n ({onClick, id, ...others}, ref) => {\n const {setConfirmingId} = useInlineConfirm();\n const handleOnClick: MouseEventHandler<HTMLButtonElement> = (e) => {\n setConfirmingId(id);\n onClick?.(e);\n };\n\n return <Button ref={ref} onClick={handleOnClick} {...others} />;\n }\n);\n"],"names":["InlineConfirmButton","forwardRef","ref","onClick","id","others","setConfirmingId","useInlineConfirm","handleOnClick","e","Button"],"mappings":";;;;+BAWaA;;;eAAAA;;;;;;oBAXQ;qBACuB;gCAGb;AAOxB,IAAMA,oCAAsBC,IAAAA,iBAAU,EACzC,iBAA2BC;QAAzBC,iBAAAA,SAASC,YAAAA,IAAOC;QAAhBF;QAASC;;IACP,IAAM,AAACE,kBAAmBC,IAAAA,kCAAgB,IAAnCD;IACP,IAAME,gBAAsD,SAACC;YAEzDN;QADAG,gBAAgBF;SAChBD,WAAAA,qBAAAA,+BAAAA,SAAUM;IACd;IAEA,qBAAO,qBAACC,YAAM;QAACR,KAAKA;QAAKC,SAASK;OAAmBH;AACzD"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/inline-confirm/InlineConfirmContext.ts"],"sourcesContent":["import {createContext} from 'react';\n\ntype InlineConfirmContextType = {\n confirmingId: string;\n setConfirmingId: (id: string) => void;\n clearConfirm: () => void;\n};\n\nexport const InlineConfirmContext = createContext<InlineConfirmContextType | null>(null);\n"],"names":["InlineConfirmContext","createContext"],"mappings":";;;;+BAQaA;;;eAAAA;;;qBARe;AAQrB,IAAMA,uBAAuBC,IAAAA,sBAA+C"}
1
+ {"version":3,"sources":["../../../../src/components/inline-confirm/InlineConfirmContext.ts"],"sourcesContent":["import {createContext} from 'react';\n\ntype InlineConfirmContextType = {\n confirmingId: string;\n setConfirmingId: (id: string) => void;\n clearConfirm: () => void;\n};\n\nexport const InlineConfirmContext = createContext<InlineConfirmContextType | null>(null);\n"],"names":["InlineConfirmContext","createContext"],"mappings":";;;;+BAQaA;;;eAAAA;;;qBARe;AAQrB,IAAMA,uBAAuBC,IAAAA,oBAAa,EAAkC"}
@@ -21,8 +21,9 @@ var InlineConfirmMenuItem = /*#__PURE__*/ (0, _react.forwardRef)(function(_param
21
21
  ]);
22
22
  var setConfirmingId = (0, _useInlineConfirm.useInlineConfirm)().setConfirmingId;
23
23
  var handleOnClick = function(e) {
24
+ var _onClick;
24
25
  setConfirmingId(id);
25
- onClick === null || onClick === void 0 ? void 0 : onClick(e);
26
+ (_onClick = onClick) === null || _onClick === void 0 ? void 0 : _onClick(e);
26
27
  };
27
28
  return /*#__PURE__*/ (0, _jsxruntime.jsx)(_menu.Menu.Item, _object_spread._({
28
29
  ref: ref,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/inline-confirm/InlineConfirmMenuItem.tsx"],"sourcesContent":["import {forwardRef, MouseEventHandler} from 'react';\n\nimport {Menu, MenuItemProps} from '../menu';\nimport {useInlineConfirm} from './useInlineConfirm';\n\nexport interface InlineConfirmMenuItemProps extends MenuItemProps {\n id: string;\n onClick?: MouseEventHandler<HTMLButtonElement>;\n}\n\nexport const InlineConfirmMenuItem = forwardRef<HTMLButtonElement, InlineConfirmMenuItemProps>(\n ({onClick, id, ...others}, ref) => {\n const {setConfirmingId} = useInlineConfirm();\n const handleOnClick: MouseEventHandler<HTMLButtonElement> = (e) => {\n setConfirmingId(id);\n onClick?.(e);\n };\n\n return <Menu.Item ref={ref} onClick={handleOnClick} {...others} />;\n }\n);\n"],"names":["InlineConfirmMenuItem","forwardRef","ref","onClick","id","others","setConfirmingId","useInlineConfirm","handleOnClick","e","Menu","Item"],"mappings":";;;;+BAUaA;;;eAAAA;;;;;;qBAV+B;oBAEV;gCACH;AAOxB,IAAMA,sCAAwBC,IAAAA,mBACjC,iBAA2BC;QAAzBC,iBAAAA,SAASC,YAAAA,IAAOC;QAAhBF;QAASC;;IACP,IAAM,AAACE,kBAAmBC,IAAAA,sCAAnBD;IACP,IAAME,gBAAsD,SAACC;QACzDH,gBAAgBF;QAChBD,oBAAAA,qBAAAA,KAAAA,IAAAA,QAAUM;IACd;IAEA,qBAAO,qBAACC,WAAKC;QAAKT,KAAKA;QAAKC,SAASK;OAAmBH;AAC5D"}
1
+ {"version":3,"sources":["../../../../src/components/inline-confirm/InlineConfirmMenuItem.tsx"],"sourcesContent":["import {forwardRef, MouseEventHandler} from 'react';\n\nimport {Menu, MenuItemProps} from '../menu';\nimport {useInlineConfirm} from './useInlineConfirm';\n\nexport interface InlineConfirmMenuItemProps extends MenuItemProps {\n id: string;\n onClick?: MouseEventHandler<HTMLButtonElement>;\n}\n\nexport const InlineConfirmMenuItem = forwardRef<HTMLButtonElement, InlineConfirmMenuItemProps>(\n ({onClick, id, ...others}, ref) => {\n const {setConfirmingId} = useInlineConfirm();\n const handleOnClick: MouseEventHandler<HTMLButtonElement> = (e) => {\n setConfirmingId(id);\n onClick?.(e);\n };\n\n return <Menu.Item ref={ref} onClick={handleOnClick} {...others} />;\n }\n);\n"],"names":["InlineConfirmMenuItem","forwardRef","ref","onClick","id","others","setConfirmingId","useInlineConfirm","handleOnClick","e","Menu","Item"],"mappings":";;;;+BAUaA;;;eAAAA;;;;;;qBAV+B;oBAEV;gCACH;AAOxB,IAAMA,sCAAwBC,IAAAA,iBAAU,EAC3C,iBAA2BC;QAAzBC,iBAAAA,SAASC,YAAAA,IAAOC;QAAhBF;QAASC;;IACP,IAAM,AAACE,kBAAmBC,IAAAA,kCAAgB,IAAnCD;IACP,IAAME,gBAAsD,SAACC;YAEzDN;QADAG,gBAAgBF;SAChBD,WAAAA,qBAAAA,+BAAAA,SAAUM;IACd;IAEA,qBAAO,qBAACC,UAAI,CAACC,IAAI;QAACT,KAAKA;QAAKC,SAASK;OAAmBH;AAC5D"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/inline-confirm/InlineConfirmPrompt.tsx"],"sourcesContent":["import {Group} from '@mantine/core';\nimport {FunctionComponent, ReactNode, useEffect} from 'react';\n\nimport {Button} from '../button';\nimport {useInlineConfirm} from './useInlineConfirm';\n\ninterface InlineConfirmPromptProps {\n id: string;\n label: ReactNode;\n onConfirm: () => void;\n confirmLabel?: ReactNode;\n cancelLabel?: ReactNode;\n}\n\nexport const InlineConfirmPrompt: FunctionComponent<InlineConfirmPromptProps> = ({\n id,\n label,\n confirmLabel = 'Delete',\n cancelLabel = 'Cancel',\n onConfirm,\n}) => {\n const {confirmingId, clearConfirm} = useInlineConfirm();\n\n const onClickConfirm = () => {\n onConfirm();\n clearConfirm();\n };\n\n useEffect(() => {\n if (confirmingId !== id) {\n clearConfirm();\n }\n }, []);\n\n if (confirmingId === id) {\n return (\n <Group spacing=\"xs\">\n {label}\n <Button onClick={onClickConfirm} color=\"red\">\n {confirmLabel}\n </Button>\n <Button onClick={clearConfirm} variant=\"outline\">\n {cancelLabel}\n </Button>\n </Group>\n );\n }\n return null;\n};\n"],"names":["InlineConfirmPrompt","id","label","confirmLabel","cancelLabel","onConfirm","useInlineConfirm","confirmingId","clearConfirm","onClickConfirm","useEffect","Group","spacing","Button","onClick","color","variant"],"mappings":";;;;+BAcaA;;;eAAAA;;;;oBAdO;qBACkC;sBAEjC;gCACU;AAUxB,IAAMA,sBAAmE;QAC5EC,WAAAA,IACAC,cAAAA,mCACAC,cAAAA,gDAAe,2DACfC,aAAAA,8CAAc,+BACdC,kBAAAA;IAEA,IAAqCC,qBAAAA,IAAAA,uCAA9BC,eAA8BD,mBAA9BC,cAAcC,eAAgBF,mBAAhBE;IAErB,IAAMC,iBAAiB;QACnBJ;QACAG;IACJ;IAEAE,IAAAA,kBAAU;QACN,IAAIH,iBAAiBN,IAAI;YACrBO;QACJ;IACJ,GAAG,EAAE;IAEL,IAAID,iBAAiBN,IAAI;QACrB,qBACI,sBAACU;YAAMC,SAAQ;;gBACVV;8BACD,qBAACW;oBAAOC,SAASL;oBAAgBM,OAAM;8BAClCZ;;8BAEL,qBAACU;oBAAOC,SAASN;oBAAcQ,SAAQ;8BAClCZ;;;;IAIjB;IACA,OAAO;AACX"}
1
+ {"version":3,"sources":["../../../../src/components/inline-confirm/InlineConfirmPrompt.tsx"],"sourcesContent":["import {Group} from '@mantine/core';\nimport {FunctionComponent, ReactNode, useEffect} from 'react';\n\nimport {Button} from '../button';\nimport {useInlineConfirm} from './useInlineConfirm';\n\ninterface InlineConfirmPromptProps {\n id: string;\n label: ReactNode;\n onConfirm: () => void;\n confirmLabel?: ReactNode;\n cancelLabel?: ReactNode;\n}\n\nexport const InlineConfirmPrompt: FunctionComponent<InlineConfirmPromptProps> = ({\n id,\n label,\n confirmLabel = 'Delete',\n cancelLabel = 'Cancel',\n onConfirm,\n}) => {\n const {confirmingId, clearConfirm} = useInlineConfirm();\n\n const onClickConfirm = () => {\n onConfirm();\n clearConfirm();\n };\n\n useEffect(() => {\n if (confirmingId !== id) {\n clearConfirm();\n }\n }, []);\n\n if (confirmingId === id) {\n return (\n <Group spacing=\"xs\">\n {label}\n <Button onClick={onClickConfirm} color=\"red\">\n {confirmLabel}\n </Button>\n <Button onClick={clearConfirm} variant=\"outline\">\n {cancelLabel}\n </Button>\n </Group>\n );\n }\n return null;\n};\n"],"names":["InlineConfirmPrompt","id","label","confirmLabel","cancelLabel","onConfirm","useInlineConfirm","confirmingId","clearConfirm","onClickConfirm","useEffect","Group","spacing","Button","onClick","color","variant"],"mappings":";;;;+BAcaA;;;eAAAA;;;;oBAdO;qBACkC;sBAEjC;gCACU;AAUxB,IAAMA,sBAAmE;QAC5EC,WAAAA,IACAC,cAAAA,mCACAC,cAAAA,gDAAe,2DACfC,aAAAA,8CAAc,+BACdC,kBAAAA;IAEA,IAAqCC,qBAAAA,IAAAA,kCAAgB,KAA9CC,eAA8BD,mBAA9BC,cAAcC,eAAgBF,mBAAhBE;IAErB,IAAMC,iBAAiB;QACnBJ;QACAG;IACJ;IAEAE,IAAAA,gBAAS,EAAC;QACN,IAAIH,iBAAiBN,IAAI;YACrBO;QACJ;IACJ,GAAG,EAAE;IAEL,IAAID,iBAAiBN,IAAI;QACrB,qBACI,sBAACU,WAAK;YAACC,SAAQ;;gBACVV;8BACD,qBAACW,cAAM;oBAACC,SAASL;oBAAgBM,OAAM;8BAClCZ;;8BAEL,qBAACU,cAAM;oBAACC,SAASN;oBAAcQ,SAAQ;8BAClCZ;;;;IAIjB;IACA,OAAO;AACX"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/inline-confirm/useInlineConfirm.ts"],"sourcesContent":["import {useContext} from 'react';\nimport {InlineConfirmContext} from './InlineConfirmContext';\n\nexport const useInlineConfirm = () => {\n const ctx = useContext(InlineConfirmContext);\n\n if (ctx === null) {\n throw new Error('useConfirm must be used inside of a InlineConfirmContext.Provider');\n }\n\n return ctx;\n};\n"],"names":["useInlineConfirm","ctx","useContext","InlineConfirmContext","Error"],"mappings":";;;;+BAGaA;;;eAAAA;;;qBAHY;oCACU;AAE5B,IAAMA,mBAAmB;IAC5B,IAAMC,MAAMC,IAAAA,mBAAWC;IAEvB,IAAIF,QAAQ,MAAM;QACd,MAAM,IAAIG,MAAM;IACpB;IAEA,OAAOH;AACX"}
1
+ {"version":3,"sources":["../../../../src/components/inline-confirm/useInlineConfirm.ts"],"sourcesContent":["import {useContext} from 'react';\nimport {InlineConfirmContext} from './InlineConfirmContext';\n\nexport const useInlineConfirm = () => {\n const ctx = useContext(InlineConfirmContext);\n\n if (ctx === null) {\n throw new Error('useConfirm must be used inside of a InlineConfirmContext.Provider');\n }\n\n return ctx;\n};\n"],"names":["useInlineConfirm","ctx","useContext","InlineConfirmContext","Error"],"mappings":";;;;+BAGaA;;;eAAAA;;;qBAHY;oCACU;AAE5B,IAAMA,mBAAmB;IAC5B,IAAMC,MAAMC,IAAAA,iBAAU,EAACC,0CAAoB;IAE3C,IAAIF,QAAQ,MAAM;QACd,MAAM,IAAIG,MAAM;IACpB;IAEA,OAAOH;AACX"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/menu/Menu.tsx"],"sourcesContent":["import {Menu as MantineMenu, MenuItemProps as MantineMenuItemProps} from '@mantine/core';\nimport {forwardRef} from 'react';\n\nimport {createPolymorphicComponent, overrideComponent} from '../../utils';\nimport {ButtonWithDisabledTooltipProps} from '../button';\nimport {ButtonWithDisabledTooltip} from '../button/ButtonWithDisabledTooltip';\n\nexport interface MenuItemProps extends MantineMenuItemProps, ButtonWithDisabledTooltipProps {}\n\nconst _MenuItem = forwardRef<HTMLButtonElement, MenuItemProps>(\n ({disabledTooltip, disabled, disabledTooltipProps, ...others}, ref) => (\n <ButtonWithDisabledTooltip\n disabled={disabled}\n disabledTooltip={disabledTooltip}\n disabledTooltipProps={disabledTooltipProps}\n >\n <MantineMenu.Item ref={ref} disabled={disabled} {...others} />\n </ButtonWithDisabledTooltip>\n )\n);\n\nconst MenuItem = createPolymorphicComponent<'button', MenuItemProps>(_MenuItem);\n\nexport const Menu = overrideComponent(MantineMenu, {\n displayName: '@coveord/plasma-mantine/Menu',\n Item: MenuItem,\n});\n"],"names":["Menu","_MenuItem","forwardRef","ref","disabledTooltip","disabled","disabledTooltipProps","others","ButtonWithDisabledTooltip","MantineMenu","Item","MenuItem","createPolymorphicComponent","overrideComponent","displayName"],"mappings":";;;;+BAuBaA;;;eAAAA;;;;;;oBAvB4D;qBAChD;qBAEmC;yCAEpB;AAIxC,IAAMC,0BAAYC,IAAAA,mBACd,iBAA+DC;QAA7DC,yBAAAA,iBAAiBC,kBAAAA,UAAUC,8BAAAA,sBAAyBC;QAApDH;QAAiBC;QAAUC;;WACzB,qBAACE;QACGH,UAAUA;QACVD,iBAAiBA;QACjBE,sBAAsBA;kBAEtB,cAAA,qBAACG,WAAYC;YAAKP,KAAKA;YAAKE,UAAUA;WAAcE;;AAC7B;AAInC,IAAMI,WAAWC,IAAAA,mCAAoDX;AAE9D,IAAMD,OAAOa,IAAAA,0BAAkBJ,YAAa;IAC/CK,aAAa;IACbJ,MAAMC;AACV"}
1
+ {"version":3,"sources":["../../../../src/components/menu/Menu.tsx"],"sourcesContent":["import {Menu as MantineMenu, MenuItemProps as MantineMenuItemProps} from '@mantine/core';\nimport {forwardRef} from 'react';\n\nimport {createPolymorphicComponent, overrideComponent} from '../../utils';\nimport {ButtonWithDisabledTooltipProps} from '../button';\nimport {ButtonWithDisabledTooltip} from '../button/ButtonWithDisabledTooltip';\n\nexport interface MenuItemProps extends MantineMenuItemProps, ButtonWithDisabledTooltipProps {}\n\nconst _MenuItem = forwardRef<HTMLButtonElement, MenuItemProps>(\n ({disabledTooltip, disabled, disabledTooltipProps, ...others}, ref) => (\n <ButtonWithDisabledTooltip\n disabled={disabled}\n disabledTooltip={disabledTooltip}\n disabledTooltipProps={disabledTooltipProps}\n >\n <MantineMenu.Item ref={ref} disabled={disabled} {...others} />\n </ButtonWithDisabledTooltip>\n )\n);\n\nconst MenuItem = createPolymorphicComponent<'button', MenuItemProps>(_MenuItem);\n\nexport const Menu = overrideComponent(MantineMenu, {\n displayName: '@coveord/plasma-mantine/Menu',\n Item: MenuItem,\n});\n"],"names":["Menu","_MenuItem","forwardRef","ref","disabledTooltip","disabled","disabledTooltipProps","others","ButtonWithDisabledTooltip","MantineMenu","Item","MenuItem","createPolymorphicComponent","overrideComponent","displayName"],"mappings":";;;;+BAuBaA;;;eAAAA;;;;;;oBAvB4D;qBAChD;qBAEmC;yCAEpB;AAIxC,IAAMC,0BAAYC,IAAAA,iBAAU,EACxB,iBAA+DC;QAA7DC,yBAAAA,iBAAiBC,kBAAAA,UAAUC,8BAAAA,sBAAyBC;QAApDH;QAAiBC;QAAUC;;WACzB,qBAACE,oDAAyB;QACtBH,UAAUA;QACVD,iBAAiBA;QACjBE,sBAAsBA;kBAEtB,cAAA,qBAACG,UAAW,CAACC,IAAI;YAACP,KAAKA;YAAKE,UAAUA;WAAcE;;AAC7B;AAInC,IAAMI,WAAWC,IAAAA,iCAA0B,EAA0BX;AAE9D,IAAMD,OAAOa,IAAAA,wBAAiB,EAACJ,UAAW,EAAE;IAC/CK,aAAa;IACbJ,MAAMC;AACV"}
@@ -51,7 +51,7 @@ var ModalWizard = function(_param) {
51
51
  "children",
52
52
  "isStepValidatedOnNext"
53
53
  ]);
54
- var _currentStep_props, _currentStep_props_validateStep;
54
+ var _currentStep_props_validateStep, _object, _currentStep, _classNames, _classNames1;
55
55
  var _useStyles = useStyles(null, {
56
56
  name: "ModalWizard",
57
57
  classNames: classNames,
@@ -71,7 +71,7 @@ var ModalWizard = function(_param) {
71
71
  var _currentStep_props_validateStep1;
72
72
  var isValid = (isStepValidatedOnNext ? {
73
73
  isValid: true
74
- } : (_currentStep_props_validateStep1 = currentStep === null || currentStep === void 0 ? void 0 : (_currentStep_props = currentStep.props) === null || _currentStep_props === void 0 ? void 0 : (_currentStep_props_validateStep = _currentStep_props.validateStep) === null || _currentStep_props_validateStep === void 0 ? void 0 : _currentStep_props_validateStep.call(_currentStep_props, currentStepIndex, numberOfSteps)) !== null && _currentStep_props_validateStep1 !== void 0 ? _currentStep_props_validateStep1 : {
74
+ } : (_currentStep_props_validateStep1 = (_object = (_currentStep = currentStep) === null || _currentStep === void 0 ? void 0 : _currentStep.props) === null || _object === void 0 ? void 0 : (_currentStep_props_validateStep = _object.validateStep) === null || _currentStep_props_validateStep === void 0 ? void 0 : _currentStep_props_validateStep.call(_object, currentStepIndex, numberOfSteps)) !== null && _currentStep_props_validateStep1 !== void 0 ? _currentStep_props_validateStep1 : {
75
75
  isValid: true
76
76
  }).isValid;
77
77
  (0, _react.useEffect)(function() {
@@ -82,18 +82,21 @@ var ModalWizard = function(_param) {
82
82
  opened
83
83
  ]);
84
84
  var handleClose = function(confirmDirty) {
85
+ var _onClose;
85
86
  if (confirmDirty) {
86
87
  var _isDirty;
87
- var isModalDirty = (_isDirty = isDirty === null || isDirty === void 0 ? void 0 : isDirty()) !== null && _isDirty !== void 0 ? _isDirty : false;
88
+ var _isDirty1;
89
+ var isModalDirty = (_isDirty1 = (_isDirty = isDirty) === null || _isDirty === void 0 ? void 0 : _isDirty()) !== null && _isDirty1 !== void 0 ? _isDirty1 : false;
88
90
  if (isModalDirty) {
89
91
  var _handleDirtyState;
90
- var discardChanges = (_handleDirtyState = handleDirtyState === null || handleDirtyState === void 0 ? void 0 : handleDirtyState()) !== null && _handleDirtyState !== void 0 ? _handleDirtyState : true;
92
+ var _handleDirtyState1;
93
+ var discardChanges = (_handleDirtyState1 = (_handleDirtyState = handleDirtyState) === null || _handleDirtyState === void 0 ? void 0 : _handleDirtyState()) !== null && _handleDirtyState1 !== void 0 ? _handleDirtyState1 : true;
91
94
  if (!discardChanges) {
92
95
  return;
93
96
  }
94
97
  }
95
98
  }
96
- onClose === null || onClose === void 0 ? void 0 : onClose();
99
+ (_onClose = onClose) === null || _onClose === void 0 ? void 0 : _onClose();
97
100
  };
98
101
  var resolveStepDependentProp = function(prop) {
99
102
  return typeof currentStep.props[prop] === "function" ? currentStep.props[prop](currentStepIndex + 1, numberOfSteps) : currentStep.props[prop];
@@ -112,8 +115,8 @@ var ModalWizard = function(_param) {
112
115
  return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_core.Modal, _object_spread_props._(_object_spread._({
113
116
  opened: opened,
114
117
  classNames: {
115
- content: cx(content, classNames === null || classNames === void 0 ? void 0 : classNames.content),
116
- body: cx(body, classNames === null || classNames === void 0 ? void 0 : classNames.body)
118
+ content: cx(content, (_classNames = classNames) === null || _classNames === void 0 ? void 0 : _classNames.content),
119
+ body: cx(body, (_classNames1 = classNames) === null || _classNames1 === void 0 ? void 0 : _classNames1.body)
117
120
  },
118
121
  centered: true,
119
122
  onClose: function() {
@@ -169,7 +172,8 @@ var ModalWizard = function(_param) {
169
172
  if (isFirstStep) {
170
173
  handleClose(true);
171
174
  } else {
172
- onPrevious === null || onPrevious === void 0 ? void 0 : onPrevious(currentStepIndex - 1);
175
+ var _onPrevious;
176
+ (_onPrevious = onPrevious) === null || _onPrevious === void 0 ? void 0 : _onPrevious(currentStepIndex - 1);
173
177
  setCurrentStepIndex(currentStepIndex - 1);
174
178
  }
175
179
  },
@@ -180,9 +184,11 @@ var ModalWizard = function(_param) {
180
184
  onClick: function() {
181
185
  if (isLastStep) {
182
186
  var _onFinish;
183
- (_onFinish = onFinish === null || onFinish === void 0 ? void 0 : onFinish()) !== null && _onFinish !== void 0 ? _onFinish : handleClose(false);
187
+ var _onFinish1;
188
+ (_onFinish1 = (_onFinish = onFinish) === null || _onFinish === void 0 ? void 0 : _onFinish()) !== null && _onFinish1 !== void 0 ? _onFinish1 : handleClose(false);
184
189
  } else {
185
- onNext === null || onNext === void 0 ? void 0 : onNext(currentStepIndex + 1, setCurrentStepIndex);
190
+ var _onNext;
191
+ (_onNext = onNext) === null || _onNext === void 0 ? void 0 : _onNext(currentStepIndex + 1, setCurrentStepIndex);
186
192
  if (!isStepValidatedOnNext) {
187
193
  setCurrentStepIndex(currentStepIndex + 1);
188
194
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/modal-wizard/ModalWizard.tsx"],"sourcesContent":["import {Box, CloseButton, createStyles, DefaultProps, Modal, ModalProps, Progress, Selectors} from '@mantine/core';\nimport {Children, ReactElement, useEffect, useMemo, useState} from 'react';\n\nimport {Button} from '../button';\nimport {Header} from '../header';\nimport {StickyFooter} from '../sticky-footer';\nimport {ModalWizardStep, ModalWizardStepProps, ResolveStep} from './ModalWizardStep';\n\nconst useStyles = createStyles(() => ({\n content: {\n display: 'flex',\n flexDirection: 'column',\n },\n body: {\n flex: 1,\n display: 'flex',\n flexDirection: 'column',\n },\n}));\n\ntype ModalWizardStylesNames = Selectors<typeof useStyles>;\n\nexport interface ModalWizardProps\n extends Omit<DefaultProps<ModalWizardStylesNames>, 'classNames' | 'styles'>,\n Omit<ModalProps, 'centered' | 'title'> {\n /**\n * The label of the cancel button\n *\n * @default \"Cancel\"\n */\n cancelButtonLabel?: string;\n\n /**\n * The label of the next button\n *\n * @default \"Next\"\n */\n nextButtonLabel?: string;\n\n /**\n * The label of the previous button\n *\n * @default \"Previous\"\n */\n previousButtonLabel?: string;\n\n /**\n * The label of the finish button\n *\n * @default \"Finish\"\n */\n finishButtonLabel?: string;\n\n /**\n * A callback function that is executed when the user clicks on the next button\n */\n onNext?: (newStep: number, setCurrentStep?: React.Dispatch<number>) => unknown;\n\n /**\n * A callback function that is executed when the user clicks on the previous button\n */\n onPrevious?: (newStep: number) => unknown;\n\n /**\n * A function that is executed when user completes all the steps.\n *\n * @param close A function that closes the modal when called.\n */\n onFinish?: () => unknown;\n\n /**\n * Determine if user interacted with any steps in the modal wizard\n */\n isDirty?: () => boolean;\n\n /**\n * A function to confirm close if the state is dirty before closing\n */\n handleDirtyState?: () => boolean;\n\n /**\n * Children to display in modal wizard\n * */\n children?: Array<ReturnType<typeof ModalWizardStep>>;\n\n /**\n * Indicates if step validation should be performed when clicking on to the next step\n * If true, the next step will always be enabled\n *\n * @default false\n */\n isStepValidatedOnNext?: boolean;\n}\n\ninterface ModalWizardType {\n (props: ModalWizardProps): ReactElement;\n\n Step: typeof ModalWizardStep;\n}\n\nexport const ModalWizard: ModalWizardType = ({\n cancelButtonLabel = 'Cancel',\n nextButtonLabel = 'Next',\n previousButtonLabel = 'Previous',\n finishButtonLabel = 'Finish',\n opened,\n onNext,\n onPrevious,\n onClose,\n onFinish,\n isDirty,\n handleDirtyState,\n classNames,\n styles,\n unstyled,\n children,\n isStepValidatedOnNext,\n ...modalProps\n}) => {\n const {\n classes: {content, body},\n cx,\n } = useStyles(null, {\n name: 'ModalWizard',\n classNames,\n styles,\n unstyled,\n });\n\n const [currentStepIndex, setCurrentStepIndex] = useState(0);\n const modalSteps = (Children.toArray(children) as ReactElement[]).filter((child) => child.type === ModalWizardStep);\n\n const numberOfSteps = modalSteps.length;\n const isFirstStep = currentStepIndex === 0;\n const isLastStep = currentStepIndex === numberOfSteps - 1;\n const currentStep = modalSteps.filter((step: ReactElement, index: number) => index === currentStepIndex)[0];\n\n const {isValid} = isStepValidatedOnNext\n ? {isValid: true}\n : currentStep?.props?.validateStep?.(currentStepIndex, numberOfSteps) ?? {isValid: true};\n\n useEffect(() => {\n if (opened) {\n setCurrentStepIndex(0);\n }\n }, [opened]);\n\n const handleClose = (confirmDirty: boolean) => {\n if (confirmDirty) {\n const isModalDirty = isDirty?.() ?? false;\n if (isModalDirty) {\n const discardChanges = handleDirtyState?.() ?? true;\n if (!discardChanges) {\n return;\n }\n }\n }\n onClose?.();\n };\n\n const resolveStepDependentProp = <P extends keyof ModalWizardStepProps>(\n prop: P\n ): ResolveStep<ModalWizardStepProps[P]> =>\n typeof currentStep.props[prop] === 'function'\n ? currentStep.props[prop](currentStepIndex + 1, numberOfSteps)\n : currentStep.props[prop];\n\n const getProgress = useMemo(\n () => (currStepIndex: number) => {\n const totalNumberOfSteps = modalSteps.filter((step) => step.props.countsAsProgress).length;\n const numberOfCompletedSteps = modalSteps.filter(\n (step, index) => step.props.countsAsProgress && index <= currStepIndex\n ).length;\n return (numberOfCompletedSteps / totalNumberOfSteps) * 100;\n },\n []\n );\n\n return (\n <Modal\n opened={opened}\n classNames={{content: cx(content, classNames?.content), body: cx(body, classNames?.body)}}\n centered\n onClose={() => handleClose(true)}\n withCloseButton={false}\n padding={0}\n {...modalProps}\n >\n <Header\n p=\"lg\"\n pr=\"md\"\n variant=\"modal\"\n description={resolveStepDependentProp('description')}\n borderBottom={!currentStep.props.showProgressBar}\n >\n {resolveStepDependentProp('title')}\n {resolveStepDependentProp('docLink') ? (\n <Header.DocAnchor\n href={resolveStepDependentProp('docLink')}\n label={resolveStepDependentProp('docLinkTooltipLabel')}\n />\n ) : null}\n <Header.Actions>\n <CloseButton aria-label={'close-modal'} onClick={() => handleClose(true)} />\n </Header.Actions>\n </Header>\n {currentStep.props.showProgressBar && (\n <Progress color=\"navy.5\" size=\"sm\" radius={0} value={getProgress(currentStepIndex)} />\n )}\n <Box p=\"lg\">{currentStep}</Box>\n <Box\n sx={{\n marginTop: 'auto',\n }}\n >\n <StickyFooter borderTop>\n <Button\n name={isFirstStep ? cancelButtonLabel : previousButtonLabel}\n variant=\"outline\"\n onClick={() => {\n if (isFirstStep) {\n handleClose(true);\n } else {\n onPrevious?.(currentStepIndex - 1);\n setCurrentStepIndex(currentStepIndex - 1);\n }\n }}\n >\n {isFirstStep ? cancelButtonLabel : previousButtonLabel}\n </Button>\n\n <Button\n disabled={!isValid}\n onClick={() => {\n if (isLastStep) {\n onFinish?.() ?? handleClose(false);\n } else {\n onNext?.(currentStepIndex + 1, setCurrentStepIndex);\n\n if (!isStepValidatedOnNext) {\n setCurrentStepIndex(currentStepIndex + 1);\n }\n }\n }}\n >\n {isLastStep ? finishButtonLabel : nextButtonLabel}\n </Button>\n </StickyFooter>\n </Box>\n </Modal>\n );\n};\n\nModalWizard.Step = ModalWizardStep;\n"],"names":["ModalWizard","useStyles","createStyles","content","display","flexDirection","body","flex","cancelButtonLabel","nextButtonLabel","previousButtonLabel","finishButtonLabel","opened","onNext","onPrevious","onClose","onFinish","isDirty","handleDirtyState","classNames","styles","unstyled","children","isStepValidatedOnNext","modalProps","currentStep","name","classes","cx","useState","currentStepIndex","setCurrentStepIndex","modalSteps","Children","toArray","filter","child","type","ModalWizardStep","numberOfSteps","length","isFirstStep","isLastStep","step","index","isValid","props","validateStep","useEffect","handleClose","confirmDirty","isModalDirty","discardChanges","resolveStepDependentProp","prop","getProgress","useMemo","currStepIndex","totalNumberOfSteps","countsAsProgress","numberOfCompletedSteps","Modal","centered","withCloseButton","padding","Header","p","pr","variant","description","borderBottom","showProgressBar","DocAnchor","href","label","Actions","CloseButton","aria-label","onClick","Progress","color","size","radius","value","Box","sx","marginTop","StickyFooter","borderTop","Button","disabled","Step"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/components/modal-wizard/ModalWizard.tsx"],"sourcesContent":["import {Box, CloseButton, createStyles, DefaultProps, Modal, ModalProps, Progress, Selectors} from '@mantine/core';\nimport {Children, ReactElement, useEffect, useMemo, useState} from 'react';\n\nimport {Button} from '../button';\nimport {Header} from '../header';\nimport {StickyFooter} from '../sticky-footer';\nimport {ModalWizardStep, ModalWizardStepProps, ResolveStep} from './ModalWizardStep';\n\nconst useStyles = createStyles(() => ({\n content: {\n display: 'flex',\n flexDirection: 'column',\n },\n body: {\n flex: 1,\n display: 'flex',\n flexDirection: 'column',\n },\n}));\n\ntype ModalWizardStylesNames = Selectors<typeof useStyles>;\n\nexport interface ModalWizardProps\n extends Omit<DefaultProps<ModalWizardStylesNames>, 'classNames' | 'styles'>,\n Omit<ModalProps, 'centered' | 'title'> {\n /**\n * The label of the cancel button\n *\n * @default \"Cancel\"\n */\n cancelButtonLabel?: string;\n\n /**\n * The label of the next button\n *\n * @default \"Next\"\n */\n nextButtonLabel?: string;\n\n /**\n * The label of the previous button\n *\n * @default \"Previous\"\n */\n previousButtonLabel?: string;\n\n /**\n * The label of the finish button\n *\n * @default \"Finish\"\n */\n finishButtonLabel?: string;\n\n /**\n * A callback function that is executed when the user clicks on the next button\n */\n onNext?: (newStep: number, setCurrentStep?: React.Dispatch<number>) => unknown;\n\n /**\n * A callback function that is executed when the user clicks on the previous button\n */\n onPrevious?: (newStep: number) => unknown;\n\n /**\n * A function that is executed when user completes all the steps.\n *\n * @param close A function that closes the modal when called.\n */\n onFinish?: () => unknown;\n\n /**\n * Determine if user interacted with any steps in the modal wizard\n */\n isDirty?: () => boolean;\n\n /**\n * A function to confirm close if the state is dirty before closing\n */\n handleDirtyState?: () => boolean;\n\n /**\n * Children to display in modal wizard\n * */\n children?: Array<ReturnType<typeof ModalWizardStep>>;\n\n /**\n * Indicates if step validation should be performed when clicking on to the next step\n * If true, the next step will always be enabled\n *\n * @default false\n */\n isStepValidatedOnNext?: boolean;\n}\n\ninterface ModalWizardType {\n (props: ModalWizardProps): ReactElement;\n\n Step: typeof ModalWizardStep;\n}\n\nexport const ModalWizard: ModalWizardType = ({\n cancelButtonLabel = 'Cancel',\n nextButtonLabel = 'Next',\n previousButtonLabel = 'Previous',\n finishButtonLabel = 'Finish',\n opened,\n onNext,\n onPrevious,\n onClose,\n onFinish,\n isDirty,\n handleDirtyState,\n classNames,\n styles,\n unstyled,\n children,\n isStepValidatedOnNext,\n ...modalProps\n}) => {\n const {\n classes: {content, body},\n cx,\n } = useStyles(null, {\n name: 'ModalWizard',\n classNames,\n styles,\n unstyled,\n });\n\n const [currentStepIndex, setCurrentStepIndex] = useState(0);\n const modalSteps = (Children.toArray(children) as ReactElement[]).filter((child) => child.type === ModalWizardStep);\n\n const numberOfSteps = modalSteps.length;\n const isFirstStep = currentStepIndex === 0;\n const isLastStep = currentStepIndex === numberOfSteps - 1;\n const currentStep = modalSteps.filter((step: ReactElement, index: number) => index === currentStepIndex)[0];\n\n const {isValid} = isStepValidatedOnNext\n ? {isValid: true}\n : currentStep?.props?.validateStep?.(currentStepIndex, numberOfSteps) ?? {isValid: true};\n\n useEffect(() => {\n if (opened) {\n setCurrentStepIndex(0);\n }\n }, [opened]);\n\n const handleClose = (confirmDirty: boolean) => {\n if (confirmDirty) {\n const isModalDirty = isDirty?.() ?? false;\n if (isModalDirty) {\n const discardChanges = handleDirtyState?.() ?? true;\n if (!discardChanges) {\n return;\n }\n }\n }\n onClose?.();\n };\n\n const resolveStepDependentProp = <P extends keyof ModalWizardStepProps>(\n prop: P\n ): ResolveStep<ModalWizardStepProps[P]> =>\n typeof currentStep.props[prop] === 'function'\n ? currentStep.props[prop](currentStepIndex + 1, numberOfSteps)\n : currentStep.props[prop];\n\n const getProgress = useMemo(\n () => (currStepIndex: number) => {\n const totalNumberOfSteps = modalSteps.filter((step) => step.props.countsAsProgress).length;\n const numberOfCompletedSteps = modalSteps.filter(\n (step, index) => step.props.countsAsProgress && index <= currStepIndex\n ).length;\n return (numberOfCompletedSteps / totalNumberOfSteps) * 100;\n },\n []\n );\n\n return (\n <Modal\n opened={opened}\n classNames={{content: cx(content, classNames?.content), body: cx(body, classNames?.body)}}\n centered\n onClose={() => handleClose(true)}\n withCloseButton={false}\n padding={0}\n {...modalProps}\n >\n <Header\n p=\"lg\"\n pr=\"md\"\n variant=\"modal\"\n description={resolveStepDependentProp('description')}\n borderBottom={!currentStep.props.showProgressBar}\n >\n {resolveStepDependentProp('title')}\n {resolveStepDependentProp('docLink') ? (\n <Header.DocAnchor\n href={resolveStepDependentProp('docLink')}\n label={resolveStepDependentProp('docLinkTooltipLabel')}\n />\n ) : null}\n <Header.Actions>\n <CloseButton aria-label={'close-modal'} onClick={() => handleClose(true)} />\n </Header.Actions>\n </Header>\n {currentStep.props.showProgressBar && (\n <Progress color=\"navy.5\" size=\"sm\" radius={0} value={getProgress(currentStepIndex)} />\n )}\n <Box p=\"lg\">{currentStep}</Box>\n <Box\n sx={{\n marginTop: 'auto',\n }}\n >\n <StickyFooter borderTop>\n <Button\n name={isFirstStep ? cancelButtonLabel : previousButtonLabel}\n variant=\"outline\"\n onClick={() => {\n if (isFirstStep) {\n handleClose(true);\n } else {\n onPrevious?.(currentStepIndex - 1);\n setCurrentStepIndex(currentStepIndex - 1);\n }\n }}\n >\n {isFirstStep ? cancelButtonLabel : previousButtonLabel}\n </Button>\n\n <Button\n disabled={!isValid}\n onClick={() => {\n if (isLastStep) {\n onFinish?.() ?? handleClose(false);\n } else {\n onNext?.(currentStepIndex + 1, setCurrentStepIndex);\n\n if (!isStepValidatedOnNext) {\n setCurrentStepIndex(currentStepIndex + 1);\n }\n }\n }}\n >\n {isLastStep ? finishButtonLabel : nextButtonLabel}\n </Button>\n </StickyFooter>\n </Box>\n </Modal>\n );\n};\n\nModalWizard.Step = ModalWizardStep;\n"],"names":["ModalWizard","useStyles","createStyles","content","display","flexDirection","body","flex","cancelButtonLabel","nextButtonLabel","previousButtonLabel","finishButtonLabel","opened","onNext","onPrevious","onClose","onFinish","isDirty","handleDirtyState","classNames","styles","unstyled","children","isStepValidatedOnNext","modalProps","currentStep","name","classes","cx","useState","currentStepIndex","setCurrentStepIndex","modalSteps","Children","toArray","filter","child","type","ModalWizardStep","numberOfSteps","length","isFirstStep","isLastStep","step","index","isValid","props","validateStep","useEffect","handleClose","confirmDirty","isModalDirty","discardChanges","resolveStepDependentProp","prop","getProgress","useMemo","currStepIndex","totalNumberOfSteps","countsAsProgress","numberOfCompletedSteps","Modal","centered","withCloseButton","padding","Header","p","pr","variant","description","borderBottom","showProgressBar","DocAnchor","href","label","Actions","CloseButton","aria-label","onClick","Progress","color","size","radius","value","Box","sx","marginTop","StickyFooter","borderTop","Button","disabled","Step"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/modal-wizard/ModalWizardStep.tsx"],"sourcesContent":["import {FunctionComponent, PropsWithChildren, ReactNode} from 'react';\n\ntype DependsOnStep<T> = (currentStep: number, numberOfSteps: number) => T;\nexport type ResolveStep<P> = P extends infer T | DependsOnStep<infer T> ? T : never;\n\nexport interface ModalWizardStepProps {\n /**\n * The title of the current step. The title can be dependent on the current step if needed\n */\n title?: ReactNode | DependsOnStep<ReactNode>;\n\n /**\n * The description of the current step. The description can be dependent on the current step if needed\n */\n description?: string | DependsOnStep<string>;\n\n /**\n * A link to the documentation for the current step\n */\n docLink?: string | DependsOnStep<string>;\n\n /**\n * A tooltip label for the docLink\n */\n docLinkTooltipLabel?: string | DependsOnStep<string>;\n\n /**\n * A function to validate the current step, it determines if the next step should be enabled or not.\n */\n validateStep?: (currentStep: any, numberOfSteps: any) => {isValid: boolean; messsage?: unknown};\n\n /**\n * Show progress bar at this step\n *\n * @default true\n */\n showProgressBar?: boolean;\n\n /**\n * Does completion of current step count moves the progress bar\n *\n * @default true\n */\n countsAsProgress?: boolean;\n}\n\nconst ModalWizardStep: FunctionComponent<PropsWithChildren<ModalWizardStepProps>> = ({children}) => <>{children}</>;\n\nModalWizardStep.defaultProps = {\n showProgressBar: true,\n countsAsProgress: true,\n};\n\nexport {ModalWizardStep};\n"],"names":["ModalWizardStep","children","defaultProps","showProgressBar","countsAsProgress"],"mappings":";;;;+BAqDQA;;;eAAAA;;;;AAPR,IAAMA,kBAA8E;QAAEC,iBAAAA;yBAAc;kBAAGA;;;AAEvGD,gBAAgBE,eAAe;IAC3BC,iBAAiB;IACjBC,kBAAkB;AACtB"}
1
+ {"version":3,"sources":["../../../../src/components/modal-wizard/ModalWizardStep.tsx"],"sourcesContent":["import {FunctionComponent, PropsWithChildren, ReactNode} from 'react';\n\ntype DependsOnStep<T> = (currentStep: number, numberOfSteps: number) => T;\nexport type ResolveStep<P> = P extends infer T | DependsOnStep<infer T> ? T : never;\n\nexport interface ModalWizardStepProps {\n /**\n * The title of the current step. The title can be dependent on the current step if needed\n */\n title?: ReactNode | DependsOnStep<ReactNode>;\n\n /**\n * The description of the current step. The description can be dependent on the current step if needed\n */\n description?: string | DependsOnStep<string>;\n\n /**\n * A link to the documentation for the current step\n */\n docLink?: string | DependsOnStep<string>;\n\n /**\n * A tooltip label for the docLink\n */\n docLinkTooltipLabel?: string | DependsOnStep<string>;\n\n /**\n * A function to validate the current step, it determines if the next step should be enabled or not.\n */\n validateStep?: (currentStep: any, numberOfSteps: any) => {isValid: boolean; messsage?: unknown};\n\n /**\n * Show progress bar at this step\n *\n * @default true\n */\n showProgressBar?: boolean;\n\n /**\n * Does completion of current step count moves the progress bar\n *\n * @default true\n */\n countsAsProgress?: boolean;\n}\n\nconst ModalWizardStep: FunctionComponent<PropsWithChildren<ModalWizardStepProps>> = ({children}) => <>{children}</>;\n\nModalWizardStep.defaultProps = {\n showProgressBar: true,\n countsAsProgress: true,\n};\n\nexport {ModalWizardStep};\n"],"names":["ModalWizardStep","children","defaultProps","showProgressBar","countsAsProgress"],"mappings":";;;;+BAqDQA;;;eAAAA;;;;AAPR,IAAMA,kBAA8E;QAAEC,iBAAAA;yBAAc;kBAAGA;;;AAEvGD,gBAAgBE,YAAY,GAAG;IAC3BC,iBAAiB;IACjBC,kBAAkB;AACtB"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/prompt/Prompt.tsx"],"sourcesContent":["import {color} from '@coveord/plasma-tokens';\nimport {createStyles, Modal, ModalProps} from '@mantine/core';\nimport {Children, ReactElement, ReactNode} from 'react';\nimport {PromptFooter} from './PromptFooter';\n\nconst useStyles = createStyles((theme) => ({\n body: {\n padding: 0,\n },\n modalType: {overflow: 'hidden', width: 550},\n innerBody: {\n padding: `${theme.spacing.md} ${theme.spacing.xl} ${theme.spacing.lg}`,\n },\n header: {\n padding: `${theme.spacing.md} ${theme.spacing.xl}`,\n width: '100%',\n borderBottom: `1px solid ${theme.colors.gray[3]}`,\n fontSize: theme.headings.sizes.h3.fontSize,\n lineHeight: theme.headings.sizes.h3.lineHeight,\n },\n success: {backgroundColor: theme.colors.lime[6], color: color.primary.pureWhite},\n warning: {backgroundColor: theme.colors.yellow[5], color: color.primary.pureWhite},\n critical: {\n backgroundColor: theme.colors.red[6],\n color: color.primary.pureWhite,\n },\n info: {backgroundColor: theme.colors.navy[5], color: color.primary.pureWhite},\n whiteClose: {color: color.primary.pureWhite, '&:hover': {backgroundColor: 'transparent'}},\n title: {\n color: color.primary.pureWhite,\n },\n}));\n\nexport interface PromptProps extends ModalProps {\n /**\n * Controls prompt appearance\n *\n * @default \"info\"\n */\n variant?: 'success' | 'warning' | 'critical' | 'info';\n children: ReactNode;\n}\ninterface PromptType {\n (props: PromptProps): ReactElement;\n Footer: typeof PromptFooter;\n}\n\nexport const Prompt: PromptType = ({children, variant = 'info', ...otherProps}) => {\n const {classes, cx} = useStyles();\n const convertedChildren = Children.toArray(children) as ReactElement[];\n\n const otherChildren = convertedChildren.filter((child) => child.type !== PromptFooter);\n const footer = convertedChildren.find((child) => child.type === PromptFooter);\n\n const classNames = {\n header: cx(classes.header, classes[variant]),\n close: classes.whiteClose,\n body: classes.body,\n modal: classes.modalType,\n title: classes.title,\n };\n\n return (\n <Modal variant=\"prompt\" padding={0} classNames={classNames} size={'sm'} {...otherProps}>\n <div className={classes.innerBody}>{otherChildren}</div>\n {footer}\n </Modal>\n );\n};\n\nPrompt.Footer = PromptFooter;\n"],"names":["Prompt","useStyles","createStyles","theme","body","padding","modalType","overflow","width","innerBody","spacing","md","xl","lg","header","borderBottom","colors","gray","fontSize","headings","sizes","h3","lineHeight","success","backgroundColor","lime","color","primary","pureWhite","warning","yellow","critical","red","info","navy","whiteClose","title","children","variant","otherProps","classes","cx","convertedChildren","Children","toArray","otherChildren","filter","child","type","PromptFooter","footer","find","classNames","close","modal","Modal","size","div","className","Footer"],"mappings":";;;;+BA+CaA;;;eAAAA;;;;;;;4BA/CO;oBAC0B;qBACE;4BACrB;AAE3B,IAAMC,YAAYC,IAAAA,oBAAa,SAACC;WAAW;QACvCC,MAAM;YACFC,SAAS;QACb;QACAC,WAAW;YAACC,UAAU;YAAUC,OAAO;QAAG;QAC1CC,WAAW;YACPJ,SAAS,AAAC,GAAsBF,OAApBA,MAAMO,QAAQC,IAAG,KAAuBR,OAApBA,MAAMO,QAAQE,IAAG,KAAoB,OAAjBT,MAAMO,QAAQG;QACtE;QACAC,QAAQ;YACJT,SAAS,AAAC,GAAsBF,OAApBA,MAAMO,QAAQC,IAAG,KAAoB,OAAjBR,MAAMO,QAAQE;YAC9CJ,OAAO;YACPO,cAAc,AAAC,aAAiC,OAArBZ,MAAMa,OAAOC,IAAI,CAAC,EAAE;YAC/CC,UAAUf,MAAMgB,SAASC,MAAMC,GAAGH;YAClCI,YAAYnB,MAAMgB,SAASC,MAAMC,GAAGC;QACxC;QACAC,SAAS;YAACC,iBAAiBrB,MAAMa,OAAOS,IAAI,CAAC,EAAE;YAAEC,OAAOA,oBAAMC,QAAQC;QAAS;QAC/EC,SAAS;YAACL,iBAAiBrB,MAAMa,OAAOc,MAAM,CAAC,EAAE;YAAEJ,OAAOA,oBAAMC,QAAQC;QAAS;QACjFG,UAAU;YACNP,iBAAiBrB,MAAMa,OAAOgB,GAAG,CAAC,EAAE;YACpCN,OAAOA,oBAAMC,QAAQC;QACzB;QACAK,MAAM;YAACT,iBAAiBrB,MAAMa,OAAOkB,IAAI,CAAC,EAAE;YAAER,OAAOA,oBAAMC,QAAQC;QAAS;QAC5EO,YAAY;YAACT,OAAOA,oBAAMC,QAAQC;YAAW,WAAW;gBAACJ,iBAAiB;YAAa;QAAC;QACxFY,OAAO;YACHV,OAAOA,oBAAMC,QAAQC;QACzB;IACJ;;AAgBO,IAAM5B,SAAqB;QAAEqC,kBAAAA,kCAAUC,SAAAA,sCAAU,yBAAWC;QAA/BF;QAAUC;;IAC1C,IAAsBrC,aAAAA,aAAfuC,UAAevC,WAAfuC,SAASC,KAAMxC,WAANwC;IAChB,IAAMC,oBAAoBC,gBAASC,QAAQP;IAE3C,IAAMQ,gBAAgBH,kBAAkBI,OAAO,SAACC;eAAUA,MAAMC,SAASC;;IACzE,IAAMC,SAASR,kBAAkBS,KAAK,SAACJ;eAAUA,MAAMC,SAASC;;IAEhE,IAAMG,aAAa;QACftC,QAAQ2B,GAAGD,QAAQ1B,QAAQ0B,OAAO,CAACF,QAAQ;QAC3Ce,OAAOb,QAAQL;QACf/B,MAAMoC,QAAQpC;QACdkD,OAAOd,QAAQlC;QACf8B,OAAOI,QAAQJ;IACnB;IAEA,qBACI,sBAACmB;QAAMjB,SAAQ;QAASjC,SAAS;QAAG+C,YAAYA;QAAYI,MAAM;OAAUjB;;0BACxE,qBAACkB;gBAAIC,WAAWlB,QAAQ/B;0BAAYoC;;YACnCK;;;AAGb;AAEAlD,OAAO2D,SAASV"}
1
+ {"version":3,"sources":["../../../../src/components/prompt/Prompt.tsx"],"sourcesContent":["import {color} from '@coveord/plasma-tokens';\nimport {createStyles, Modal, ModalProps} from '@mantine/core';\nimport {Children, ReactElement, ReactNode} from 'react';\nimport {PromptFooter} from './PromptFooter';\n\nconst useStyles = createStyles((theme) => ({\n body: {\n padding: 0,\n },\n modalType: {overflow: 'hidden', width: 550},\n innerBody: {\n padding: `${theme.spacing.md} ${theme.spacing.xl} ${theme.spacing.lg}`,\n },\n header: {\n padding: `${theme.spacing.md} ${theme.spacing.xl}`,\n width: '100%',\n borderBottom: `1px solid ${theme.colors.gray[3]}`,\n fontSize: theme.headings.sizes.h3.fontSize,\n lineHeight: theme.headings.sizes.h3.lineHeight,\n },\n success: {backgroundColor: theme.colors.lime[6], color: color.primary.pureWhite},\n warning: {backgroundColor: theme.colors.yellow[5], color: color.primary.pureWhite},\n critical: {\n backgroundColor: theme.colors.red[6],\n color: color.primary.pureWhite,\n },\n info: {backgroundColor: theme.colors.navy[5], color: color.primary.pureWhite},\n whiteClose: {color: color.primary.pureWhite, '&:hover': {backgroundColor: 'transparent'}},\n title: {\n color: color.primary.pureWhite,\n },\n}));\n\nexport interface PromptProps extends ModalProps {\n /**\n * Controls prompt appearance\n *\n * @default \"info\"\n */\n variant?: 'success' | 'warning' | 'critical' | 'info';\n children: ReactNode;\n}\ninterface PromptType {\n (props: PromptProps): ReactElement;\n Footer: typeof PromptFooter;\n}\n\nexport const Prompt: PromptType = ({children, variant = 'info', ...otherProps}) => {\n const {classes, cx} = useStyles();\n const convertedChildren = Children.toArray(children) as ReactElement[];\n\n const otherChildren = convertedChildren.filter((child) => child.type !== PromptFooter);\n const footer = convertedChildren.find((child) => child.type === PromptFooter);\n\n const classNames = {\n header: cx(classes.header, classes[variant]),\n close: classes.whiteClose,\n body: classes.body,\n modal: classes.modalType,\n title: classes.title,\n };\n\n return (\n <Modal variant=\"prompt\" padding={0} classNames={classNames} size={'sm'} {...otherProps}>\n <div className={classes.innerBody}>{otherChildren}</div>\n {footer}\n </Modal>\n );\n};\n\nPrompt.Footer = PromptFooter;\n"],"names":["Prompt","useStyles","createStyles","theme","body","padding","modalType","overflow","width","innerBody","spacing","md","xl","lg","header","borderBottom","colors","gray","fontSize","headings","sizes","h3","lineHeight","success","backgroundColor","lime","color","primary","pureWhite","warning","yellow","critical","red","info","navy","whiteClose","title","children","variant","otherProps","classes","cx","convertedChildren","Children","toArray","otherChildren","filter","child","type","PromptFooter","footer","find","classNames","close","modal","Modal","size","div","className","Footer"],"mappings":";;;;+BA+CaA;;;eAAAA;;;;;;;4BA/CO;oBAC0B;qBACE;4BACrB;AAE3B,IAAMC,YAAYC,IAAAA,kBAAY,EAAC,SAACC;WAAW;QACvCC,MAAM;YACFC,SAAS;QACb;QACAC,WAAW;YAACC,UAAU;YAAUC,OAAO;QAAG;QAC1CC,WAAW;YACPJ,SAAS,AAAC,GAAsBF,OAApBA,MAAMO,OAAO,CAACC,EAAE,EAAC,KAAuBR,OAApBA,MAAMO,OAAO,CAACE,EAAE,EAAC,KAAoB,OAAjBT,MAAMO,OAAO,CAACG,EAAE;QACxE;QACAC,QAAQ;YACJT,SAAS,AAAC,GAAsBF,OAApBA,MAAMO,OAAO,CAACC,EAAE,EAAC,KAAoB,OAAjBR,MAAMO,OAAO,CAACE,EAAE;YAChDJ,OAAO;YACPO,cAAc,AAAC,aAAiC,OAArBZ,MAAMa,MAAM,CAACC,IAAI,CAAC,EAAE;YAC/CC,UAAUf,MAAMgB,QAAQ,CAACC,KAAK,CAACC,EAAE,CAACH,QAAQ;YAC1CI,YAAYnB,MAAMgB,QAAQ,CAACC,KAAK,CAACC,EAAE,CAACC,UAAU;QAClD;QACAC,SAAS;YAACC,iBAAiBrB,MAAMa,MAAM,CAACS,IAAI,CAAC,EAAE;YAAEC,OAAOA,mBAAK,CAACC,OAAO,CAACC,SAAS;QAAA;QAC/EC,SAAS;YAACL,iBAAiBrB,MAAMa,MAAM,CAACc,MAAM,CAAC,EAAE;YAAEJ,OAAOA,mBAAK,CAACC,OAAO,CAACC,SAAS;QAAA;QACjFG,UAAU;YACNP,iBAAiBrB,MAAMa,MAAM,CAACgB,GAAG,CAAC,EAAE;YACpCN,OAAOA,mBAAK,CAACC,OAAO,CAACC,SAAS;QAClC;QACAK,MAAM;YAACT,iBAAiBrB,MAAMa,MAAM,CAACkB,IAAI,CAAC,EAAE;YAAER,OAAOA,mBAAK,CAACC,OAAO,CAACC,SAAS;QAAA;QAC5EO,YAAY;YAACT,OAAOA,mBAAK,CAACC,OAAO,CAACC,SAAS;YAAE,WAAW;gBAACJ,iBAAiB;YAAa;QAAC;QACxFY,OAAO;YACHV,OAAOA,mBAAK,CAACC,OAAO,CAACC,SAAS;QAClC;IACJ;;AAgBO,IAAM5B,SAAqB;QAAEqC,kBAAAA,kCAAUC,SAAAA,sCAAU,yBAAWC;QAA/BF;QAAUC;;IAC1C,IAAsBrC,aAAAA,aAAfuC,UAAevC,WAAfuC,SAASC,KAAMxC,WAANwC;IAChB,IAAMC,oBAAoBC,eAAQ,CAACC,OAAO,CAACP;IAE3C,IAAMQ,gBAAgBH,kBAAkBI,MAAM,CAAC,SAACC;eAAUA,MAAMC,IAAI,KAAKC,0BAAY;;IACrF,IAAMC,SAASR,kBAAkBS,IAAI,CAAC,SAACJ;eAAUA,MAAMC,IAAI,KAAKC,0BAAY;;IAE5E,IAAMG,aAAa;QACftC,QAAQ2B,GAAGD,QAAQ1B,MAAM,EAAE0B,OAAO,CAACF,QAAQ;QAC3Ce,OAAOb,QAAQL,UAAU;QACzB/B,MAAMoC,QAAQpC,IAAI;QAClBkD,OAAOd,QAAQlC,SAAS;QACxB8B,OAAOI,QAAQJ,KAAK;IACxB;IAEA,qBACI,sBAACmB,WAAK;QAACjB,SAAQ;QAASjC,SAAS;QAAG+C,YAAYA;QAAYI,MAAM;OAAUjB;;0BACxE,qBAACkB;gBAAIC,WAAWlB,QAAQ/B,SAAS;0BAAGoC;;YACnCK;;;AAGb;AAEAlD,OAAO2D,MAAM,GAAGV,0BAAY"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/prompt/PromptFooter.tsx"],"sourcesContent":["import {FunctionComponent, PropsWithChildren} from 'react';\nimport {StickyFooter, StickyFooterProps} from '../sticky-footer';\n\nexport interface PromptFooterProps extends StickyFooterProps {}\n\nexport const PromptFooter: FunctionComponent<PropsWithChildren<PromptFooterProps>> = ({children, ...otherProps}) => (\n <StickyFooter {...otherProps}>{children}</StickyFooter>\n);\n"],"names":["PromptFooter","children","otherProps","StickyFooter"],"mappings":";;;;+BAKaA;;;eAAAA;;;;;;;4BAJiC;AAIvC,IAAMA,eAAwE;QAAEC,kBAAAA,UAAaC;QAAbD;;WACnF,qBAACE,wEAAiBD;kBAAaD;;AAAuB"}
1
+ {"version":3,"sources":["../../../../src/components/prompt/PromptFooter.tsx"],"sourcesContent":["import {FunctionComponent, PropsWithChildren} from 'react';\nimport {StickyFooter, StickyFooterProps} from '../sticky-footer';\n\nexport interface PromptFooterProps extends StickyFooterProps {}\n\nexport const PromptFooter: FunctionComponent<PropsWithChildren<PromptFooterProps>> = ({children, ...otherProps}) => (\n <StickyFooter {...otherProps}>{children}</StickyFooter>\n);\n"],"names":["PromptFooter","children","otherProps","StickyFooter"],"mappings":";;;;+BAKaA;;;eAAAA;;;;;;;4BAJiC;AAIvC,IAAMA,eAAwE;QAAEC,kBAAAA,UAAaC;QAAbD;;WACnF,qBAACE,0BAAY,8CAAKD;kBAAaD;;AAAuB"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/sticky-footer/StickyFooter.tsx"],"sourcesContent":["import {Box, createStyles, DefaultProps, Divider, Group} from '@mantine/core';\nimport {FunctionComponent, PropsWithChildren} from 'react';\n\nexport interface StickyFooterProps extends DefaultProps {\n /**\n * Whether a border is render on top of the footer\n */\n borderTop?: boolean;\n}\n\nconst useStyles = createStyles(() => ({\n footer: {\n position: 'sticky',\n bottom: 0,\n zIndex: 1,\n backgroundColor: 'white',\n },\n}));\n\nexport const StickyFooter: FunctionComponent<PropsWithChildren<StickyFooterProps>> = ({\n borderTop,\n children,\n ...others\n}) => {\n const {classes} = useStyles();\n\n return (\n <Box className={classes.footer}>\n {borderTop ? <Divider size=\"xs\" /> : null}\n <Group position=\"right\" spacing=\"sm\" p=\"lg\" {...others}>\n {children}\n </Group>\n </Box>\n );\n};\n"],"names":["StickyFooter","useStyles","createStyles","footer","position","bottom","zIndex","backgroundColor","borderTop","children","others","classes","Box","className","Divider","size","Group","spacing","p"],"mappings":";;;;+BAmBaA;;;eAAAA;;;;;;;oBAnBiD;AAU9D,IAAMC,YAAYC,IAAAA,oBAAa;WAAO;QAClCC,QAAQ;YACJC,UAAU;YACVC,QAAQ;YACRC,QAAQ;YACRC,iBAAiB;QACrB;IACJ;;AAEO,IAAMP,eAAwE;QACjFQ,mBAAAA,WACAC,kBAAAA,UACGC;QAFHF;QACAC;;IAGA,IAAM,AAACE,UAAWV,YAAXU;IAEP,qBACI,sBAACC;QAAIC,WAAWF,QAAQR;;YACnBK,0BAAY,qBAACM;gBAAQC,MAAK;iBAAU;0BACrC,qBAACC;gBAAMZ,UAAS;gBAAQa,SAAQ;gBAAKC,GAAE;eAASR;0BAC3CD;;;;AAIjB"}
1
+ {"version":3,"sources":["../../../../src/components/sticky-footer/StickyFooter.tsx"],"sourcesContent":["import {Box, createStyles, DefaultProps, Divider, Group} from '@mantine/core';\nimport {FunctionComponent, PropsWithChildren} from 'react';\n\nexport interface StickyFooterProps extends DefaultProps {\n /**\n * Whether a border is render on top of the footer\n */\n borderTop?: boolean;\n}\n\nconst useStyles = createStyles(() => ({\n footer: {\n position: 'sticky',\n bottom: 0,\n zIndex: 1,\n backgroundColor: 'white',\n },\n}));\n\nexport const StickyFooter: FunctionComponent<PropsWithChildren<StickyFooterProps>> = ({\n borderTop,\n children,\n ...others\n}) => {\n const {classes} = useStyles();\n\n return (\n <Box className={classes.footer}>\n {borderTop ? <Divider size=\"xs\" /> : null}\n <Group position=\"right\" spacing=\"sm\" p=\"lg\" {...others}>\n {children}\n </Group>\n </Box>\n );\n};\n"],"names":["StickyFooter","useStyles","createStyles","footer","position","bottom","zIndex","backgroundColor","borderTop","children","others","classes","Box","className","Divider","size","Group","spacing","p"],"mappings":";;;;+BAmBaA;;;eAAAA;;;;;;;oBAnBiD;AAU9D,IAAMC,YAAYC,IAAAA,kBAAY,EAAC;WAAO;QAClCC,QAAQ;YACJC,UAAU;YACVC,QAAQ;YACRC,QAAQ;YACRC,iBAAiB;QACrB;IACJ;;AAEO,IAAMP,eAAwE;QACjFQ,mBAAAA,WACAC,kBAAAA,UACGC;QAFHF;QACAC;;IAGA,IAAM,AAACE,UAAWV,YAAXU;IAEP,qBACI,sBAACC,SAAG;QAACC,WAAWF,QAAQR,MAAM;;YACzBK,0BAAY,qBAACM,aAAO;gBAACC,MAAK;iBAAU;0BACrC,qBAACC,WAAK;gBAACZ,UAAS;gBAAQa,SAAQ;gBAAKC,GAAE;eAASR;0BAC3CD;;;;AAIjB"}
@@ -1 +1 @@
1
- {"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../../../../src/components/table/Table.tsx"],"names":[],"mappings":"AASA,OAAO,EAAwC,SAAS,EAAC,MAAM,eAAe,CAAC;AAiB/E,eAAO,MAAM,KAAK,EAAE,SAwKnB,CAAC"}
1
+ {"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../../../../src/components/table/Table.tsx"],"names":[],"mappings":"AAUA,OAAO,EAAwC,SAAS,EAAC,MAAM,eAAe,CAAC;AAiB/E,eAAO,MAAM,KAAK,EAAE,SA+KnB,CAAC"}
@@ -13,6 +13,7 @@ var _object_spread = require("@swc/helpers/_/_object_spread");
13
13
  var _object_spread_props = require("@swc/helpers/_/_object_spread_props");
14
14
  var _object_without_properties = require("@swc/helpers/_/_object_without_properties");
15
15
  var _sliced_to_array = require("@swc/helpers/_/_sliced_to_array");
16
+ var _to_consumable_array = require("@swc/helpers/_/_to_consumable_array");
16
17
  var _jsxruntime = require("react/jsx-runtime");
17
18
  var _core = require("@mantine/core");
18
19
  var _form = require("@mantine/form");
@@ -21,6 +22,7 @@ var _reacttable = require("@tanstack/react-table");
21
22
  var _lodashdebounce = /*#__PURE__*/ _interop_require_default._(require("lodash.debounce"));
22
23
  var _lodashdefaultsdeep = /*#__PURE__*/ _interop_require_default._(require("lodash.defaultsdeep"));
23
24
  var _react = require("react");
25
+ var _TableLayouts = require("./layouts/TableLayouts");
24
26
  var _Tablestyles = /*#__PURE__*/ _interop_require_default._(require("./Table.styles"));
25
27
  var _TableActions = require("./TableActions");
26
28
  var _TableCollapsibleColumn = require("./TableCollapsibleColumn");
@@ -30,18 +32,18 @@ var _TableDateRangePicker = require("./TableDateRangePicker");
30
32
  var _TableFilter = require("./TableFilter");
31
33
  var _TableFooter = require("./TableFooter");
32
34
  var _TableHeader = require("./TableHeader");
35
+ var _TableLastUpdated = require("./TableLastUpdated");
36
+ var _TableLoading = require("./TableLoading");
33
37
  var _TablePagination = require("./TablePagination");
34
38
  var _TablePerPage = require("./TablePerPage");
35
39
  var _TablePredicate = require("./TablePredicate");
36
40
  var _TableSelectableColumn = require("./TableSelectableColumn");
37
41
  var _useRowSelection = require("./useRowSelection");
38
- var _TableLoading = require("./TableLoading");
39
- var _TableLayouts = require("./layouts/TableLayouts");
40
42
  var Table = function(param) {
41
43
  var data = param.data, getRowId = param.getRowId, noDataChildren = param.noDataChildren, getExpandChildren = param.getExpandChildren, _param_initialState = param.initialState, initialState = _param_initialState === void 0 ? {} : _param_initialState, columns = param.columns, _param_layouts = param.layouts, layouts = _param_layouts === void 0 ? [
42
44
  _TableLayouts.TableLayouts.Rows
43
- ] : _param_layouts, onMount = param.onMount, onChange = param.onChange, children = param.children, _param_loading = param.loading, loading = _param_loading === void 0 ? false : _param_loading, doubleClickAction = param.doubleClickAction, multiRowSelectionEnabled = param.multiRowSelectionEnabled, disableRowSelection = param.disableRowSelection, onRowSelectionChange = param.onRowSelectionChange, _param_options = param.options, options = _param_options === void 0 ? {} : _param_options;
44
- var _form_values, _form_values_dateRange, _form_values_dateRange1;
45
+ ] : _param_layouts, onMount = param.onMount, onChange = param.onChange, children = param.children, _param_loading = param.loading, loading = _param_loading === void 0 ? false : _param_loading, doubleClickAction = param.doubleClickAction, multiRowSelectionEnabled = param.multiRowSelectionEnabled, disableRowSelection = param.disableRowSelection, onRowSelectionChange = param.onRowSelectionChange, additionalRootNodes = param.additionalRootNodes, _param_options = param.options, options = _param_options === void 0 ? {} : _param_options;
46
+ var _initialState, _initialState1, _initialState2, _options, _getExpandChildren, _form_values, _form_values_dateRange, _form_values_dateRange1;
45
47
  var convertedChildren = _react.Children.toArray(children);
46
48
  var header = convertedChildren.find(function(child) {
47
49
  return child.type === _TableHeader.TableHeader;
@@ -52,6 +54,9 @@ var Table = function(param) {
52
54
  var consumer = convertedChildren.find(function(child) {
53
55
  return child.type === _TableConsumer.TableConsumer;
54
56
  });
57
+ var lastUpdated = convertedChildren.find(function(child) {
58
+ return child.type === _TableLastUpdated.TableLastUpdated;
59
+ });
55
60
  var predicates = initialState.predicates, dateRange = initialState.dateRange, initialStateWithoutForm = _object_without_properties._(initialState, [
56
61
  "predicates",
57
62
  "dateRange"
@@ -59,12 +64,12 @@ var Table = function(param) {
59
64
  var _initialState_predicates, _initialState_dateRange, _initialState_layout;
60
65
  var form = (0, _form.useForm)({
61
66
  initialValues: {
62
- predicates: (_initialState_predicates = initialState === null || initialState === void 0 ? void 0 : initialState.predicates) !== null && _initialState_predicates !== void 0 ? _initialState_predicates : {},
63
- dateRange: (_initialState_dateRange = initialState === null || initialState === void 0 ? void 0 : initialState.dateRange) !== null && _initialState_dateRange !== void 0 ? _initialState_dateRange : [
67
+ predicates: (_initialState_predicates = (_initialState = initialState) === null || _initialState === void 0 ? void 0 : _initialState.predicates) !== null && _initialState_predicates !== void 0 ? _initialState_predicates : {},
68
+ dateRange: (_initialState_dateRange = (_initialState1 = initialState) === null || _initialState1 === void 0 ? void 0 : _initialState1.dateRange) !== null && _initialState_dateRange !== void 0 ? _initialState_dateRange : [
64
69
  null,
65
70
  null
66
71
  ],
67
- layout: (_initialState_layout = initialState === null || initialState === void 0 ? void 0 : initialState.layout) !== null && _initialState_layout !== void 0 ? _initialState_layout : layouts[0].name
72
+ layout: (_initialState_layout = (_initialState2 = initialState) === null || _initialState2 === void 0 ? void 0 : _initialState2.layout) !== null && _initialState_layout !== void 0 ? _initialState_layout : layouts[0].name
68
73
  }
69
74
  });
70
75
  var classes = (0, _Tablestyles.default)().classes;
@@ -73,18 +78,19 @@ var Table = function(param) {
73
78
  initialState: (0, _lodashdefaultsdeep.default)(initialStateWithoutForm, {
74
79
  pagination: {
75
80
  pageSize: _TablePerPage.TablePerPage.DEFAULT_SIZE
76
- }
81
+ },
82
+ globalFilter: ""
77
83
  }),
78
84
  data: data,
79
85
  columns: multiRowSelectionEnabled ? [
80
86
  _TableSelectableColumn.TableSelectableColumn
81
87
  ].concat(columns) : columns,
82
88
  getCoreRowModel: (0, _reacttable.getCoreRowModel)(),
83
- manualPagination: (options === null || options === void 0 ? void 0 : options.getPaginationRowModel) === undefined,
89
+ manualPagination: ((_options = options) === null || _options === void 0 ? void 0 : _options.getPaginationRowModel) === undefined,
84
90
  enableMultiRowSelection: !!multiRowSelectionEnabled,
85
91
  getRowId: getRowId,
86
92
  getRowCanExpand: function(row) {
87
- return (_ref = !!(getExpandChildren === null || getExpandChildren === void 0 ? void 0 : getExpandChildren(row.original))) !== null && _ref !== void 0 ? _ref : false;
93
+ return (_ref = !!((_getExpandChildren = getExpandChildren) === null || _getExpandChildren === void 0 ? void 0 : _getExpandChildren(row.original))) !== null && _ref !== void 0 ? _ref : false;
88
94
  },
89
95
  enableRowSelection: !loading
90
96
  }, options));
@@ -97,17 +103,20 @@ var Table = function(param) {
97
103
  });
98
104
  var _useRowSelection1 = (0, _useRowSelection.useRowSelection)(table, {
99
105
  multiRowSelectionEnabled: multiRowSelectionEnabled,
100
- onRowSelectionChange: onRowSelectionChange
106
+ onRowSelectionChange: onRowSelectionChange,
107
+ additionalRootNodes: additionalRootNodes
101
108
  }), clearSelection = _useRowSelection1.clearSelection, getSelectedRow = _useRowSelection1.getSelectedRow, getSelectedRows = _useRowSelection1.getSelectedRows, outsideClickRef = _useRowSelection1.outsideClickRef;
102
109
  var _form_values_predicates;
103
110
  var isFiltered = !!state.globalFilter || Object.keys((_form_values_predicates = (_form_values = form.values) === null || _form_values === void 0 ? void 0 : _form_values.predicates) !== null && _form_values_predicates !== void 0 ? _form_values_predicates : {}).some(function(predicate) {
104
111
  return !!form.values.predicates[predicate];
105
112
  }) || !!((_form_values_dateRange = form.values.dateRange) === null || _form_values_dateRange === void 0 ? void 0 : _form_values_dateRange[0]) || !!((_form_values_dateRange1 = form.values.dateRange) === null || _form_values_dateRange1 === void 0 ? void 0 : _form_values_dateRange1[1]);
106
113
  var triggerChange = (0, _lodashdebounce.default)(function() {
107
- return onChange === null || onChange === void 0 ? void 0 : onChange(_object_spread._({}, state, form.values));
114
+ var _onChange;
115
+ return (_onChange = onChange) === null || _onChange === void 0 ? void 0 : _onChange(_object_spread._({}, state, form.values));
108
116
  }, 500);
109
117
  (0, _react.useEffect)(function() {
110
- onMount === null || onMount === void 0 ? void 0 : onMount(_object_spread._({}, state, form.values));
118
+ var _onMount;
119
+ (_onMount = onMount) === null || _onMount === void 0 ? void 0 : _onMount(_object_spread._({}, state, form.values));
111
120
  return function() {
112
121
  triggerChange.cancel();
113
122
  };
@@ -146,6 +155,7 @@ var Table = function(param) {
146
155
  return name === form.values.layout;
147
156
  });
148
157
  var hasRows = table.getRowModel().rows.length > 0;
158
+ var _lastUpdated_props_dependencies;
149
159
  return /*#__PURE__*/ (0, _jsxruntime.jsx)(_core.Box, {
150
160
  ref: outsideClickRef,
151
161
  children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_TableContext.TableContext.Provider, {
@@ -169,10 +179,9 @@ var Table = function(param) {
169
179
  consumer,
170
180
  !hasRows && !isFiltered && !loading ? noDataChildren : /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {
171
181
  children: [
172
- /*#__PURE__*/ (0, _jsxruntime.jsxs)(_core.Table, {
182
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_core.Box, {
183
+ component: "table",
173
184
  className: classes.table,
174
- horizontalSpacing: "sm",
175
- verticalSpacing: "xs",
176
185
  pb: "sm",
177
186
  children: [
178
187
  /*#__PURE__*/ (0, _jsxruntime.jsxs)("thead", {
@@ -180,10 +189,8 @@ var Table = function(param) {
180
189
  children: [
181
190
  !!header ? /*#__PURE__*/ (0, _jsxruntime.jsx)("tr", {
182
191
  children: /*#__PURE__*/ (0, _jsxruntime.jsx)("th", {
183
- // need to use inline style because Mantine define style on `.mantine-{id} thead tr th`
184
192
  style: {
185
- padding: 0,
186
- fontWeight: "unset"
193
+ padding: 0
187
194
  },
188
195
  colSpan: table.getAllColumns().length,
189
196
  children: header
@@ -215,7 +222,12 @@ var Table = function(param) {
215
222
  })
216
223
  ]
217
224
  }),
218
- footer
225
+ footer,
226
+ lastUpdated ? /*#__PURE__*/ (0, _react.cloneElement)(lastUpdated, {
227
+ dependencies: [
228
+ data
229
+ ].concat(_to_consumable_array._((_lastUpdated_props_dependencies = lastUpdated.props.dependencies) !== null && _lastUpdated_props_dependencies !== void 0 ? _lastUpdated_props_dependencies : []))
230
+ }) : null
219
231
  ]
220
232
  })
221
233
  ]
@@ -226,6 +238,7 @@ Table.Actions = _TableActions.TableActions;
226
238
  Table.Filter = _TableFilter.TableFilter;
227
239
  Table.Footer = _TableFooter.TableFooter;
228
240
  Table.Header = _TableHeader.TableHeader;
241
+ Table.LastUpdated = _TableLastUpdated.TableLastUpdated;
229
242
  Table.Pagination = _TablePagination.TablePagination;
230
243
  Table.Predicate = _TablePredicate.TablePredicate;
231
244
  Table.PerPage = _TablePerPage.TablePerPage;