@coveord/plasma-mantine 56.21.0 → 57.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (181) hide show
  1. package/.turbo/turbo-build.log +4 -4
  2. package/.turbo/turbo-test.log +104 -116
  3. package/dist/.tsbuildinfo +1 -1
  4. package/dist/cjs/components/ActionIcon/ActionIcon.js +9 -4
  5. package/dist/cjs/components/ActionIcon/ActionIcon.js.map +1 -1
  6. package/dist/cjs/components/Alert/Alert.js +4 -4
  7. package/dist/cjs/components/Alert/Alert.js.map +1 -1
  8. package/dist/cjs/components/Badge/Badge.js +1 -1
  9. package/dist/cjs/components/Badge/Badge.js.map +1 -1
  10. package/dist/cjs/components/BlankSlate/BlankSlate.js +1 -1
  11. package/dist/cjs/components/BrowserPreview/BrowserPreview.js +2 -2
  12. package/dist/cjs/components/BrowserPreview/BrowserPreview.js.map +1 -1
  13. package/dist/cjs/components/Button/Button.js +10 -5
  14. package/dist/cjs/components/Button/Button.js.map +1 -1
  15. package/dist/cjs/components/Button/ButtonWithDisabledTooltip.js +8 -3
  16. package/dist/cjs/components/Button/ButtonWithDisabledTooltip.js.map +1 -1
  17. package/dist/cjs/components/CheckboxIcon/CheckboxIcon.js +2 -2
  18. package/dist/cjs/components/CheckboxIcon/CheckboxIcon.js.map +1 -1
  19. package/dist/cjs/components/ChildForm/ChildForm.js.map +1 -1
  20. package/dist/cjs/components/Chip/Chip.js +8 -3
  21. package/dist/cjs/components/Chip/Chip.js.map +1 -1
  22. package/dist/cjs/components/CircleLoader/CircleLoader.js +8 -3
  23. package/dist/cjs/components/CircleLoader/CircleLoader.js.map +1 -1
  24. package/dist/cjs/components/CodeEditor/CodeEditor.js +9 -9
  25. package/dist/cjs/components/CodeEditor/CodeEditor.js.map +1 -1
  26. package/dist/cjs/components/CodeEditor/languages/xml.js +3 -3
  27. package/dist/cjs/components/CodeEditor/languages/xml.js.map +1 -1
  28. package/dist/cjs/components/CodeEditor/search/Search.js +3 -3
  29. package/dist/cjs/components/CodeEditor/search/Search.js.map +1 -1
  30. package/dist/cjs/components/Collection/Collection.js +12 -12
  31. package/dist/cjs/components/Collection/Collection.js.map +1 -1
  32. package/dist/cjs/components/Collection/CollectionAddButton.js +1 -1
  33. package/dist/cjs/components/Collection/CollectionItem.js +5 -5
  34. package/dist/cjs/components/Collection/CollectionItem.js.map +1 -1
  35. package/dist/cjs/components/Collection/enhanceWithCollectionProps.js +4 -4
  36. package/dist/cjs/components/Collection/enhanceWithCollectionProps.js.map +1 -1
  37. package/dist/cjs/components/Collection/layouts/horizontal-layout/HorizontalLayout.js +1 -1
  38. package/dist/cjs/components/Collection/layouts/horizontal-layout/HorizontalLayoutBody.js +2 -2
  39. package/dist/cjs/components/Collection/layouts/horizontal-layout/HorizontalLayoutBody.js.map +1 -1
  40. package/dist/cjs/components/Collection/layouts/horizontal-layout/HorizontalLayoutHeader.js +1 -1
  41. package/dist/cjs/components/Collection/layouts/horizontal-layout/HorizontalLayoutHeader.js.map +1 -1
  42. package/dist/cjs/components/Collection/layouts/shared/DragHandle.js +1 -1
  43. package/dist/cjs/components/Collection/layouts/shared/RemoveButton.js +1 -1
  44. package/dist/cjs/components/Collection/layouts/shared/columnUtils.js +2 -2
  45. package/dist/cjs/components/Collection/layouts/shared/columnUtils.js.map +1 -1
  46. package/dist/cjs/components/Collection/layouts/shared/headerUtils.js +1 -1
  47. package/dist/cjs/components/Collection/layouts/shared/headerUtils.js.map +1 -1
  48. package/dist/cjs/components/Collection/layouts/shared/itemRenderer.js +7 -7
  49. package/dist/cjs/components/Collection/layouts/shared/itemRenderer.js.map +1 -1
  50. package/dist/cjs/components/Collection/layouts/vertical-layout/VerticalLayout.js +1 -1
  51. package/dist/cjs/components/Collection/layouts/vertical-layout/VerticalLayoutBody.js +4 -4
  52. package/dist/cjs/components/Collection/layouts/vertical-layout/VerticalLayoutBody.js.map +1 -1
  53. package/dist/cjs/components/Collection/layouts/vertical-layout/VerticalLayoutHeader.js +1 -1
  54. package/dist/cjs/components/Collection/layouts/vertical-layout/VerticalLayoutHeader.js.map +1 -1
  55. package/dist/cjs/components/CopyToClipboard/CopyToClipboard.js +6 -6
  56. package/dist/cjs/components/CopyToClipboard/CopyToClipboard.js.map +1 -1
  57. package/dist/cjs/components/DateRangePicker/DateRangePicker.js +7 -7
  58. package/dist/cjs/components/DateRangePicker/DateRangePicker.js.map +1 -1
  59. package/dist/cjs/components/DateRangePicker/DateRangePickerInlineCalendar.js +5 -5
  60. package/dist/cjs/components/DateRangePicker/DateRangePickerInlineCalendar.js.map +1 -1
  61. package/dist/cjs/components/DateRangePicker/DateRangePickerPopoverCalendar.js +3 -3
  62. package/dist/cjs/components/DateRangePicker/DateRangePickerPopoverCalendar.js.map +1 -1
  63. package/dist/cjs/components/DateRangePicker/DateRangePickerPresetSelect.js +3 -3
  64. package/dist/cjs/components/DateRangePicker/DateRangePickerPresetSelect.js.map +1 -1
  65. package/dist/cjs/components/DateRangePicker/EditableDateRangePicker.js +3 -3
  66. package/dist/cjs/components/DateRangePicker/EditableDateRangePicker.js.map +1 -1
  67. package/dist/cjs/components/DateTimeRangePicker/DateTimeRangePicker.js +1 -1
  68. package/dist/cjs/components/DateTimeRangePicker/EditableDateTimeRangePicker.js +3 -3
  69. package/dist/cjs/components/DateTimeRangePicker/EditableDateTimeRangePicker.js.map +1 -1
  70. package/dist/cjs/components/EllipsisText/EllipsisText.js +3 -3
  71. package/dist/cjs/components/EllipsisText/EllipsisText.js.map +1 -1
  72. package/dist/cjs/components/Facet/DefaultFacetItem.js +3 -3
  73. package/dist/cjs/components/Facet/DefaultFacetItem.js.map +1 -1
  74. package/dist/cjs/components/Facet/Facet.js +5 -5
  75. package/dist/cjs/components/Facet/Facet.js.map +1 -1
  76. package/dist/cjs/components/Facet/FacetScrollArea.js +8 -3
  77. package/dist/cjs/components/Facet/FacetScrollArea.js.map +1 -1
  78. package/dist/cjs/components/Header/Header.js +1 -1
  79. package/dist/cjs/components/Header/Header.js.map +1 -1
  80. package/dist/cjs/components/Header/HeaderBreadcrumbs/HeaderBreadcrumbAnchor.js.map +1 -1
  81. package/dist/cjs/components/Header/HeaderBreadcrumbs/HeaderBreadcrumbText.js.map +1 -1
  82. package/dist/cjs/components/Header/HeaderBreadcrumbs/HeaderBreadcrumbs.js.map +1 -1
  83. package/dist/cjs/components/Header/HeaderDocAnchor/HeaderDocAnchor.js.map +1 -1
  84. package/dist/cjs/components/Header/HeaderRight/HeaderRight.js.map +1 -1
  85. package/dist/cjs/components/InfoToken/InfoToken.js +3 -3
  86. package/dist/cjs/components/InfoToken/InfoToken.js.map +1 -1
  87. package/dist/cjs/components/InlineConfirm/InlineConfirm.js +2 -2
  88. package/dist/cjs/components/InlineConfirm/InlineConfirm.js.map +1 -1
  89. package/dist/cjs/components/InlineConfirm/InlineConfirmPrompt.js +2 -2
  90. package/dist/cjs/components/InlineConfirm/InlineConfirmPrompt.js.map +1 -1
  91. package/dist/cjs/components/InlineConfirm/InlineConfirmTarget.js +9 -4
  92. package/dist/cjs/components/InlineConfirm/InlineConfirmTarget.js.map +1 -1
  93. package/dist/cjs/components/LastUpdated/LastUpdated.js +1 -1
  94. package/dist/cjs/components/LastUpdated/LastUpdated.js.map +1 -1
  95. package/dist/cjs/components/Menu/Menu.js +8 -3
  96. package/dist/cjs/components/Menu/Menu.js.map +1 -1
  97. package/dist/cjs/components/Modal/Modal.js +8 -3
  98. package/dist/cjs/components/Modal/Modal.js.map +1 -1
  99. package/dist/cjs/components/Modal/ModalFooter.js +1 -1
  100. package/dist/cjs/components/Modal/ModalFooter.js.map +1 -1
  101. package/dist/cjs/components/Prompt/Prompt.js.map +1 -1
  102. package/dist/cjs/components/Prompt/PromptCancelButton.js.map +1 -1
  103. package/dist/cjs/components/Prompt/PromptConfirmButton.js.map +1 -1
  104. package/dist/cjs/components/Prompt/icons/CriticalIcon.js +1 -1
  105. package/dist/cjs/components/Prompt/icons/InfoIcon.js +1 -1
  106. package/dist/cjs/components/Prompt/icons/SuccessIcon.js +1 -1
  107. package/dist/cjs/components/Prompt/icons/WarningIcon.js +1 -1
  108. package/dist/cjs/components/RadioCard/RadioCard.js.map +1 -1
  109. package/dist/cjs/components/ReadOnly/ReadOnlyInputStyles.js +1 -1
  110. package/dist/cjs/components/ReadOnly/ReadOnlyInputStyles.js.map +1 -1
  111. package/dist/cjs/components/StatusToken/StatusToken.js +3 -3
  112. package/dist/cjs/components/StatusToken/StatusToken.js.map +1 -1
  113. package/dist/cjs/components/StickyFooter/StickyFooter.js.map +1 -1
  114. package/dist/cjs/components/Table/Table.js +6 -6
  115. package/dist/cjs/components/Table/Table.js.map +1 -1
  116. package/dist/cjs/components/Table/layouts/TableLayoutControl.js +1 -1
  117. package/dist/cjs/components/Table/layouts/row-layout/RowLayout.js +1 -1
  118. package/dist/cjs/components/Table/layouts/row-layout/RowLayout.js.map +1 -1
  119. package/dist/cjs/components/Table/layouts/row-layout/RowLayoutBody.js +8 -9
  120. package/dist/cjs/components/Table/layouts/row-layout/RowLayoutBody.js.map +1 -1
  121. package/dist/cjs/components/Table/layouts/row-layout/RowLayoutHeader.js +1 -1
  122. package/dist/cjs/components/Table/layouts/row-layout/RowLayoutHeader.js.map +1 -1
  123. package/dist/cjs/components/Table/table-actions/TableActionItem.js.map +1 -1
  124. package/dist/cjs/components/Table/table-actions/TableActionsList.js +4 -4
  125. package/dist/cjs/components/Table/table-actions/TableActionsList.js.map +1 -1
  126. package/dist/cjs/components/Table/table-actions/TableHeaderActions.js.map +1 -1
  127. package/dist/cjs/components/Table/table-column/TableActionsColumn.js +3 -3
  128. package/dist/cjs/components/Table/table-column/TableActionsColumn.js.map +1 -1
  129. package/dist/cjs/components/Table/table-column/TableCollapsibleColumn.js +4 -4
  130. package/dist/cjs/components/Table/table-column/TableCollapsibleColumn.js.map +1 -1
  131. package/dist/cjs/components/Table/table-column/TableSelectableColumn.js +3 -3
  132. package/dist/cjs/components/Table/table-column/TableSelectableColumn.js.map +1 -1
  133. package/dist/cjs/components/Table/table-columns-selector/TableColumnsSelector.js +3 -3
  134. package/dist/cjs/components/Table/table-columns-selector/TableColumnsSelector.js.map +1 -1
  135. package/dist/cjs/components/Table/table-date-range-picker/TableDateRangePicker.js +1 -1
  136. package/dist/cjs/components/Table/table-date-range-picker/TableDateRangePicker.js.map +1 -1
  137. package/dist/cjs/components/Table/table-filter/TableFilter.js +2 -2
  138. package/dist/cjs/components/Table/table-filter/TableFilter.js.map +1 -1
  139. package/dist/cjs/components/Table/table-footer/TableFooter.js +2 -2
  140. package/dist/cjs/components/Table/table-footer/TableFooter.js.map +1 -1
  141. package/dist/cjs/components/Table/table-header/TableHeader.js +1 -1
  142. package/dist/cjs/components/Table/table-header/TableHeader.js.map +1 -1
  143. package/dist/cjs/components/Table/table-header/Th.js +1 -1
  144. package/dist/cjs/components/Table/table-header/Th.js.map +1 -1
  145. package/dist/cjs/components/Table/table-last-updated/TableLastUpdated.js.map +1 -1
  146. package/dist/cjs/components/Table/table-loading/TableLoading.js +1 -1
  147. package/dist/cjs/components/Table/table-loading/TableLoading.js.map +1 -1
  148. package/dist/cjs/components/Table/table-no-data/TableNoData.js +1 -1
  149. package/dist/cjs/components/Table/table-pagination/TablePagination.js +3 -3
  150. package/dist/cjs/components/Table/table-pagination/TablePagination.js.map +1 -1
  151. package/dist/cjs/components/Table/table-per-page/TablePerPage.js +3 -3
  152. package/dist/cjs/components/Table/table-per-page/TablePerPage.js.map +1 -1
  153. package/dist/cjs/components/Table/table-predicate/TablePredicate.js +1 -1
  154. package/dist/cjs/components/Table/table-predicate/TablePredicate.js.map +1 -1
  155. package/dist/cjs/components/Table/use-table.js +22 -23
  156. package/dist/cjs/components/Table/use-table.js.map +1 -1
  157. package/dist/cjs/hooks/use-url-synced-state.js +6 -6
  158. package/dist/cjs/hooks/use-url-synced-state.js.map +1 -1
  159. package/dist/cjs/hooks/useClickWithLoading.js +2 -2
  160. package/dist/cjs/hooks/useClickWithLoading.js.map +1 -1
  161. package/dist/cjs/hooks/useControlledList.js +4 -4
  162. package/dist/cjs/hooks/useControlledList.js.map +1 -1
  163. package/dist/cjs/hooks/useParentHeight.js +2 -2
  164. package/dist/cjs/hooks/useParentHeight.js.map +1 -1
  165. package/dist/cjs/theme/PlasmaColors.js +1 -1
  166. package/dist/cjs/theme/PlasmaColors.js.map +1 -1
  167. package/dist/cjs/theme/Plasmantine.js +2 -2
  168. package/dist/cjs/theme/Plasmantine.js.map +1 -1
  169. package/dist/cjs/theme/Theme.js +12 -12
  170. package/dist/cjs/theme/Theme.js.map +1 -1
  171. package/dist/cjs/theme/mergeCSSVariablesResolvers.js +1 -1
  172. package/dist/cjs/theme/plasmaCSSVariablesResolver.js +2 -2
  173. package/dist/cjs/theme/plasmaCSSVariablesResolver.js.map +1 -1
  174. package/dist/cjs/theme/plasmaVariantColorResolver.js +1 -1
  175. package/dist/cjs/theme/plasmaVariantColorResolver.js.map +1 -1
  176. package/dist/cjs/utils/createFactoryComponent.js +1 -1
  177. package/dist/cjs/utils/createFactoryComponent.js.map +1 -1
  178. package/dist/cjs/utils/groupOptions.js +1 -1
  179. package/dist/cjs/utils/overrideComponent.js +2 -2
  180. package/dist/cjs/utils/overrideComponent.js.map +1 -1
  181. package/package.json +26 -26
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/Table/table-column/TableSelectableColumn.tsx"],"sourcesContent":["import {Checkbox, Tooltip} from '@mantine/core';\nimport {ColumnDef} from '@tanstack/table-core';\n\n/**\n * Generic column to use when your table needs multi selection of rows\n */\nexport const TableSelectableColumn: ColumnDef<unknown> = {\n id: 'select',\n enableSorting: false,\n enableHiding: false,\n meta: {\n controlColumn: true,\n },\n header: ({table}) => {\n const label = table.getIsAllRowsSelected() ? 'Unselect all from this page' : 'Select all from this page';\n return (\n <Tooltip label={label}>\n <Checkbox\n checked={table.getIsAllPageRowsSelected()}\n indeterminate={table.getIsSomePageRowsSelected()}\n onChange={table.getToggleAllPageRowsSelectedHandler()}\n flex={1}\n aria-label={label}\n />\n </Tooltip>\n );\n },\n cell: ({row}) => (\n <Checkbox\n checked={row.getIsSelected()}\n indeterminate={row.getIsSomeSelected()}\n onChange={row.getToggleSelectedHandler()}\n flex={1}\n aria-label=\"Select row\"\n onDoubleClick={(event) => {\n event.preventDefault();\n event.stopPropagation();\n }}\n />\n ),\n};\n"],"names":["TableSelectableColumn","id","enableSorting","enableHiding","meta","controlColumn","header","table","label","getIsAllRowsSelected","Tooltip","Checkbox","checked","getIsAllPageRowsSelected","indeterminate","getIsSomePageRowsSelected","onChange","getToggleAllPageRowsSelectedHandler","flex","aria-label","cell","row","getIsSelected","getIsSomeSelected","getToggleSelectedHandler","onDoubleClick","event","preventDefault","stopPropagation"],"mappings":";;;;+BAMaA;;;eAAAA;;;;oBANmB;AAMzB,IAAMA,wBAA4C;IACrDC,IAAI;IACJC,eAAe;IACfC,cAAc;IACdC,MAAM;QACFC,eAAe;IACnB;IACAC,QAAQ;YAAEC,cAAAA;QACN,IAAMC,QAAQD,MAAME,oBAAoB,KAAK,gCAAgC;QAC7E,qBACI,qBAACC,aAAO;YAACF,OAAOA;sBACZ,cAAA,qBAACG,cAAQ;gBACLC,SAASL,MAAMM,wBAAwB;gBACvCC,eAAeP,MAAMQ,yBAAyB;gBAC9CC,UAAUT,MAAMU,mCAAmC;gBACnDC,MAAM;gBACNC,cAAYX;;;IAI5B;IACAY,MAAM;YAAEC,YAAAA;6BACJ,qBAACV,cAAQ;YACLC,SAASS,IAAIC,aAAa;YAC1BR,eAAeO,IAAIE,iBAAiB;YACpCP,UAAUK,IAAIG,wBAAwB;YACtCN,MAAM;YACNC,cAAW;YACXM,eAAe,SAACC;gBACZA,MAAMC,cAAc;gBACpBD,MAAME,eAAe;YACzB;;;AAGZ"}
1
+ {"version":3,"sources":["../../../../../src/components/Table/table-column/TableSelectableColumn.tsx"],"sourcesContent":["import {Checkbox, Tooltip} from '@mantine/core';\nimport {ColumnDef} from '@tanstack/table-core';\n\n/**\n * Generic column to use when your table needs multi selection of rows\n */\nexport const TableSelectableColumn: ColumnDef<unknown> = {\n id: 'select',\n enableSorting: false,\n enableHiding: false,\n meta: {\n controlColumn: true,\n },\n header: ({table}) => {\n const label = table.getIsAllRowsSelected() ? 'Unselect all from this page' : 'Select all from this page';\n return (\n <Tooltip label={label}>\n <Checkbox\n checked={table.getIsAllPageRowsSelected()}\n indeterminate={table.getIsSomePageRowsSelected()}\n onChange={table.getToggleAllPageRowsSelectedHandler()}\n flex={1}\n aria-label={label}\n />\n </Tooltip>\n );\n },\n cell: ({row}) => (\n <Checkbox\n checked={row.getIsSelected()}\n indeterminate={row.getIsSomeSelected()}\n onChange={row.getToggleSelectedHandler()}\n flex={1}\n aria-label=\"Select row\"\n onDoubleClick={(event) => {\n event.preventDefault();\n event.stopPropagation();\n }}\n />\n ),\n};\n"],"names":["TableSelectableColumn","id","enableSorting","enableHiding","meta","controlColumn","header","table","label","getIsAllRowsSelected","Tooltip","Checkbox","checked","getIsAllPageRowsSelected","indeterminate","getIsSomePageRowsSelected","onChange","getToggleAllPageRowsSelectedHandler","flex","aria-label","cell","row","getIsSelected","getIsSomeSelected","getToggleSelectedHandler","onDoubleClick","event","preventDefault","stopPropagation"],"mappings":";;;;+BAMaA;;;eAAAA;;;;oBANmB;AAMzB,IAAMA,wBAA4C;IACrDC,IAAI;IACJC,eAAe;IACfC,cAAc;IACdC,MAAM;QACFC,eAAe;IACnB;IACAC,QAAQ,SAARA;YAAUC,cAAAA;QACN,IAAMC,QAAQD,MAAME,oBAAoB,KAAK,gCAAgC;QAC7E,qBACI,qBAACC,aAAO;YAACF,OAAOA;sBACZ,cAAA,qBAACG,cAAQ;gBACLC,SAASL,MAAMM,wBAAwB;gBACvCC,eAAeP,MAAMQ,yBAAyB;gBAC9CC,UAAUT,MAAMU,mCAAmC;gBACnDC,MAAM;gBACNC,cAAYX;;;IAI5B;IACAY,MAAM,SAANA;YAAQC,YAAAA;6BACJ,qBAACV,cAAQ;YACLC,SAASS,IAAIC,aAAa;YAC1BR,eAAeO,IAAIE,iBAAiB;YACpCP,UAAUK,IAAIG,wBAAwB;YACtCN,MAAM;YACNC,cAAW;YACXM,eAAe,SAAfA,cAAgBC;gBACZA,MAAMC,cAAc;gBACpBD,MAAME,eAAe;YACzB;;;AAGZ"}
@@ -15,13 +15,13 @@ var _core = require("@mantine/core");
15
15
  var _reacttable = require("@tanstack/react-table");
16
16
  var _ActionIcon = require("../../ActionIcon/ActionIcon");
17
17
  var DEFAULT_OPTIONS = {
18
- footer: function(max) {
18
+ footer: function footer(max) {
19
19
  return "You can display up to ".concat(max, " columns.");
20
20
  },
21
21
  limitReachedTooltip: 'You have reached the maximum display limit.',
22
22
  alwaysVisibleTooltip: 'This column is always visible.'
23
23
  };
24
- var TableColumnsSelector = function(param) {
24
+ var TableColumnsSelector = function TableColumnsSelector(param) {
25
25
  var table = param.table, options = param.options;
26
26
  var _$_object_spread = _object_spread._({}, DEFAULT_OPTIONS, options), maxSelectableColumns = _$_object_spread.maxSelectableColumns, footer = _$_object_spread.footer, limitReachedTooltip = _$_object_spread.limitReachedTooltip, alwaysVisibleTooltip = _$_object_spread.alwaysVisibleTooltip;
27
27
  var allColumns = table.getAllLeafColumns();
@@ -37,7 +37,7 @@ var TableColumnsSelector = function(param) {
37
37
  if (filteredColumns.length <= 0) {
38
38
  return null;
39
39
  }
40
- var getColumnState = function(column) {
40
+ var getColumnState = function getColumnState(column) {
41
41
  var alwaysVisible = !column.getCanHide();
42
42
  var isDisabled = effectiveMaxColumns !== undefined && selectedColumnsCount >= effectiveMaxColumns && !column.getIsVisible() || alwaysVisible;
43
43
  var isVisible = column.getIsVisible() || alwaysVisible;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/Table/table-columns-selector/TableColumnsSelector.tsx"],"sourcesContent":["import {IconSettings} from '@coveord/plasma-react-icons';\nimport {Checkbox, Divider, Popover, ScrollArea, Stack, Text, Tooltip} from '@mantine/core';\nimport {flexRender, Header, Table} from '@tanstack/react-table';\nimport {ActionIcon} from '../../ActionIcon/ActionIcon';\n\nexport interface TableColumnsSelectorOptions {\n /**\n * The maximum number of columns that can be selected at the same time.\n * If defined a footer will render with the remaining number of columns that can be selected.\n * Must be a positive integer (greater than 0).\n */\n maxSelectableColumns?: number;\n /**\n * The content to display in the footer when maxSelectableColumns is defined.\n * Can be a string or a function that receives the maxSelectableColumns value.\n * @default (max) => `You can display up to ${max} columns.`\n */\n footer?: string | ((maxSelectableColumns: number) => string);\n /**\n * The tooltip to display when the user hovers over a disabled checkbox because of the limit.\n * @default 'You have reached the maximum display limit.'\n */\n limitReachedTooltip?: string;\n /**\n * The tooltip to display when the user hovers over a disabled checkbox because a column cannot be hidden.\n * @default 'This column is always visible.'\n */\n alwaysVisibleTooltip?: string;\n}\n\nexport interface TableColumnsSelectorProps {\n table: Table<unknown>;\n options?: TableColumnsSelectorOptions;\n}\n\nconst DEFAULT_OPTIONS: Omit<TableColumnsSelectorOptions, 'footer'> & {\n footer: (maxSelectableColumns: number) => string;\n} = {\n footer: (max) => `You can display up to ${max} columns.`,\n limitReachedTooltip: 'You have reached the maximum display limit.',\n alwaysVisibleTooltip: 'This column is always visible.',\n};\n\nexport const TableColumnsSelector = ({table, options}: TableColumnsSelectorProps) => {\n const {maxSelectableColumns, footer, limitReachedTooltip, alwaysVisibleTooltip} = {\n ...DEFAULT_OPTIONS,\n ...options,\n };\n\n const allColumns = table.getAllLeafColumns();\n const filteredColumns = allColumns.filter((column) => !column.columnDef.meta?.controlColumn);\n const selectedColumnsCount = filteredColumns.filter((column) => column.getIsVisible()).length;\n\n // Validate maxSelectableColumns - must be a positive integer to be effective\n const effectiveMaxColumns =\n maxSelectableColumns !== undefined && maxSelectableColumns > 0 ? maxSelectableColumns : undefined;\n\n if (filteredColumns.length <= 0) {\n return null;\n }\n\n const getColumnState = (column: (typeof filteredColumns)[number]) => {\n const alwaysVisible = !column.getCanHide();\n const isDisabled =\n (effectiveMaxColumns !== undefined &&\n selectedColumnsCount >= effectiveMaxColumns &&\n !column.getIsVisible()) ||\n alwaysVisible;\n const isVisible = column.getIsVisible() || alwaysVisible;\n return {alwaysVisible, isDisabled, isVisible};\n };\n\n const columnOptions = filteredColumns.map((column) => {\n const {alwaysVisible, isDisabled, isVisible} = getColumnState(column);\n\n return (\n <Tooltip\n label={alwaysVisible ? alwaysVisibleTooltip : limitReachedTooltip}\n disabled={!isDisabled}\n position=\"left\"\n key={column.id}\n >\n <div>\n <Checkbox\n label={flexRender(column.columnDef.header, {\n table,\n column,\n header: {column} as Header<unknown, unknown>,\n })}\n name={column.id}\n checked={isVisible}\n disabled={isDisabled}\n onChange={column.getToggleVisibilityHandler()}\n />\n </div>\n </Tooltip>\n );\n });\n\n return (\n <Popover position=\"bottom-end\" shadow=\"md\">\n <Popover.Target>\n <Tooltip label=\"Edit columns\">\n <ActionIcon.Tertiary aria-label=\"settings\">\n <IconSettings height={16} />\n </ActionIcon.Tertiary>\n </Tooltip>\n </Popover.Target>\n <Popover.Dropdown miw={270} pb=\"xs\">\n <ScrollArea.Autosize mah={200} type=\"auto\">\n <Stack gap=\"xs\">{columnOptions}</Stack>\n </ScrollArea.Autosize>\n {effectiveMaxColumns && (\n <>\n <Divider my=\"xs\" mx=\"-sm\" />\n <Text size=\"sm\" c=\"dimmed\">\n {typeof footer === 'function' ? footer(effectiveMaxColumns) : footer}\n </Text>\n </>\n )}\n </Popover.Dropdown>\n </Popover>\n );\n};\n"],"names":["TableColumnsSelector","DEFAULT_OPTIONS","footer","max","limitReachedTooltip","alwaysVisibleTooltip","table","options","maxSelectableColumns","allColumns","getAllLeafColumns","filteredColumns","filter","column","columnDef","meta","controlColumn","selectedColumnsCount","getIsVisible","length","effectiveMaxColumns","undefined","getColumnState","alwaysVisible","getCanHide","isDisabled","isVisible","columnOptions","map","Tooltip","label","disabled","position","div","Checkbox","flexRender","header","name","id","checked","onChange","getToggleVisibilityHandler","Popover","shadow","Target","ActionIcon","Tertiary","aria-label","IconSettings","height","Dropdown","miw","pb","ScrollArea","Autosize","mah","type","Stack","gap","Divider","my","mx","Text","size","c"],"mappings":";;;;+BA2CaA;;;eAAAA;;;;;gCA3Cc;oBACgD;0BACnC;0BACf;AAgCzB,IAAMC,kBAEF;IACAC,QAAQ,SAACC;eAAQ,AAAC,yBAA4B,OAAJA,KAAI;;IAC9CC,qBAAqB;IACrBC,sBAAsB;AAC1B;AAEO,IAAML,uBAAuB;QAAEM,cAAAA,OAAOC,gBAAAA;IACzC,IAAkF,mBAAA,qBAC3EN,iBACAM,UAFAC,uBAA2E,iBAA3EA,sBAAsBN,SAAqD,iBAArDA,QAAQE,sBAA6C,iBAA7CA,qBAAqBC,uBAAwB,iBAAxBA;IAK1D,IAAMI,aAAaH,MAAMI,iBAAiB;IAC1C,IAAMC,kBAAkBF,WAAWG,MAAM,CAAC,SAACC;YAAYA;eAAD,GAACA,yBAAAA,OAAOC,SAAS,CAACC,IAAI,cAArBF,6CAAAA,uBAAuBG,aAAa;;IAC3F,IAAMC,uBAAuBN,gBAAgBC,MAAM,CAAC,SAACC;eAAWA,OAAOK,YAAY;OAAIC,MAAM;IAE7F,6EAA6E;IAC7E,IAAMC,sBACFZ,yBAAyBa,aAAab,uBAAuB,IAAIA,uBAAuBa;IAE5F,IAAIV,gBAAgBQ,MAAM,IAAI,GAAG;QAC7B,OAAO;IACX;IAEA,IAAMG,iBAAiB,SAACT;QACpB,IAAMU,gBAAgB,CAACV,OAAOW,UAAU;QACxC,IAAMC,aACF,AAACL,wBAAwBC,aACrBJ,wBAAwBG,uBACxB,CAACP,OAAOK,YAAY,MACxBK;QACJ,IAAMG,YAAYb,OAAOK,YAAY,MAAMK;QAC3C,OAAO;YAACA,eAAAA;YAAeE,YAAAA;YAAYC,WAAAA;QAAS;IAChD;IAEA,IAAMC,gBAAgBhB,gBAAgBiB,GAAG,CAAC,SAACf;QACvC,IAA+CS,kBAAAA,eAAeT,SAAvDU,gBAAwCD,gBAAxCC,eAAeE,aAAyBH,gBAAzBG,YAAYC,YAAaJ,gBAAbI;QAElC,qBACI,qBAACG,aAAO;YACJC,OAAOP,gBAAgBlB,uBAAuBD;YAC9C2B,UAAU,CAACN;YACXO,UAAS;sBAGT,cAAA,qBAACC;0BACG,cAAA,qBAACC,cAAQ;oBACLJ,OAAOK,IAAAA,sBAAU,EAACtB,OAAOC,SAAS,CAACsB,MAAM,EAAE;wBACvC9B,OAAAA;wBACAO,QAAAA;wBACAuB,QAAQ;4BAACvB,QAAAA;wBAAM;oBACnB;oBACAwB,MAAMxB,OAAOyB,EAAE;oBACfC,SAASb;oBACTK,UAAUN;oBACVe,UAAU3B,OAAO4B,0BAA0B;;;WAZ9C5B,OAAOyB,EAAE;IAiB1B;IAEA,qBACI,sBAACI,aAAO;QAACV,UAAS;QAAaW,QAAO;;0BAClC,qBAACD,aAAO,CAACE,MAAM;0BACX,cAAA,qBAACf,aAAO;oBAACC,OAAM;8BACX,cAAA,qBAACe,sBAAU,CAACC,QAAQ;wBAACC,cAAW;kCAC5B,cAAA,qBAACC,8BAAY;4BAACC,QAAQ;;;;;0BAIlC,sBAACP,aAAO,CAACQ,QAAQ;gBAACC,KAAK;gBAAKC,IAAG;;kCAC3B,qBAACC,gBAAU,CAACC,QAAQ;wBAACC,KAAK;wBAAKC,MAAK;kCAChC,cAAA,qBAACC,WAAK;4BAACC,KAAI;sCAAM/B;;;oBAEpBP,qCACG;;0CACI,qBAACuC,aAAO;gCAACC,IAAG;gCAAKC,IAAG;;0CACpB,qBAACC,UAAI;gCAACC,MAAK;gCAAKC,GAAE;0CACb,OAAO9D,WAAW,aAAaA,OAAOkB,uBAAuBlB;;;;;;;;AAO1F"}
1
+ {"version":3,"sources":["../../../../../src/components/Table/table-columns-selector/TableColumnsSelector.tsx"],"sourcesContent":["import {IconSettings} from '@coveord/plasma-react-icons';\nimport {Checkbox, Divider, Popover, ScrollArea, Stack, Text, Tooltip} from '@mantine/core';\nimport {flexRender, Header, Table} from '@tanstack/react-table';\nimport {ActionIcon} from '../../ActionIcon/ActionIcon';\n\nexport interface TableColumnsSelectorOptions {\n /**\n * The maximum number of columns that can be selected at the same time.\n * If defined a footer will render with the remaining number of columns that can be selected.\n * Must be a positive integer (greater than 0).\n */\n maxSelectableColumns?: number;\n /**\n * The content to display in the footer when maxSelectableColumns is defined.\n * Can be a string or a function that receives the maxSelectableColumns value.\n * @default (max) => `You can display up to ${max} columns.`\n */\n footer?: string | ((maxSelectableColumns: number) => string);\n /**\n * The tooltip to display when the user hovers over a disabled checkbox because of the limit.\n * @default 'You have reached the maximum display limit.'\n */\n limitReachedTooltip?: string;\n /**\n * The tooltip to display when the user hovers over a disabled checkbox because a column cannot be hidden.\n * @default 'This column is always visible.'\n */\n alwaysVisibleTooltip?: string;\n}\n\nexport interface TableColumnsSelectorProps {\n table: Table<unknown>;\n options?: TableColumnsSelectorOptions;\n}\n\nconst DEFAULT_OPTIONS: Omit<TableColumnsSelectorOptions, 'footer'> & {\n footer: (maxSelectableColumns: number) => string;\n} = {\n footer: (max) => `You can display up to ${max} columns.`,\n limitReachedTooltip: 'You have reached the maximum display limit.',\n alwaysVisibleTooltip: 'This column is always visible.',\n};\n\nexport const TableColumnsSelector = ({table, options}: TableColumnsSelectorProps) => {\n const {maxSelectableColumns, footer, limitReachedTooltip, alwaysVisibleTooltip} = {\n ...DEFAULT_OPTIONS,\n ...options,\n };\n\n const allColumns = table.getAllLeafColumns();\n const filteredColumns = allColumns.filter((column) => !column.columnDef.meta?.controlColumn);\n const selectedColumnsCount = filteredColumns.filter((column) => column.getIsVisible()).length;\n\n // Validate maxSelectableColumns - must be a positive integer to be effective\n const effectiveMaxColumns =\n maxSelectableColumns !== undefined && maxSelectableColumns > 0 ? maxSelectableColumns : undefined;\n\n if (filteredColumns.length <= 0) {\n return null;\n }\n\n const getColumnState = (column: (typeof filteredColumns)[number]) => {\n const alwaysVisible = !column.getCanHide();\n const isDisabled =\n (effectiveMaxColumns !== undefined &&\n selectedColumnsCount >= effectiveMaxColumns &&\n !column.getIsVisible()) ||\n alwaysVisible;\n const isVisible = column.getIsVisible() || alwaysVisible;\n return {alwaysVisible, isDisabled, isVisible};\n };\n\n const columnOptions = filteredColumns.map((column) => {\n const {alwaysVisible, isDisabled, isVisible} = getColumnState(column);\n\n return (\n <Tooltip\n label={alwaysVisible ? alwaysVisibleTooltip : limitReachedTooltip}\n disabled={!isDisabled}\n position=\"left\"\n key={column.id}\n >\n <div>\n <Checkbox\n label={flexRender(column.columnDef.header, {\n table,\n column,\n header: {column} as Header<unknown, unknown>,\n })}\n name={column.id}\n checked={isVisible}\n disabled={isDisabled}\n onChange={column.getToggleVisibilityHandler()}\n />\n </div>\n </Tooltip>\n );\n });\n\n return (\n <Popover position=\"bottom-end\" shadow=\"md\">\n <Popover.Target>\n <Tooltip label=\"Edit columns\">\n <ActionIcon.Tertiary aria-label=\"settings\">\n <IconSettings height={16} />\n </ActionIcon.Tertiary>\n </Tooltip>\n </Popover.Target>\n <Popover.Dropdown miw={270} pb=\"xs\">\n <ScrollArea.Autosize mah={200} type=\"auto\">\n <Stack gap=\"xs\">{columnOptions}</Stack>\n </ScrollArea.Autosize>\n {effectiveMaxColumns && (\n <>\n <Divider my=\"xs\" mx=\"-sm\" />\n <Text size=\"sm\" c=\"dimmed\">\n {typeof footer === 'function' ? footer(effectiveMaxColumns) : footer}\n </Text>\n </>\n )}\n </Popover.Dropdown>\n </Popover>\n );\n};\n"],"names":["TableColumnsSelector","DEFAULT_OPTIONS","footer","max","limitReachedTooltip","alwaysVisibleTooltip","table","options","maxSelectableColumns","allColumns","getAllLeafColumns","filteredColumns","filter","column","columnDef","meta","controlColumn","selectedColumnsCount","getIsVisible","length","effectiveMaxColumns","undefined","getColumnState","alwaysVisible","getCanHide","isDisabled","isVisible","columnOptions","map","Tooltip","label","disabled","position","div","Checkbox","flexRender","header","name","id","checked","onChange","getToggleVisibilityHandler","Popover","shadow","Target","ActionIcon","Tertiary","aria-label","IconSettings","height","Dropdown","miw","pb","ScrollArea","Autosize","mah","type","Stack","gap","Divider","my","mx","Text","size","c"],"mappings":";;;;+BA2CaA;;;eAAAA;;;;;gCA3Cc;oBACgD;0BACnC;0BACf;AAgCzB,IAAMC,kBAEF;IACAC,QAAQ,SAARA,OAASC;eAAQ,AAAC,yBAA4B,OAAJA,KAAI;;IAC9CC,qBAAqB;IACrBC,sBAAsB;AAC1B;AAEO,IAAML,uBAAuB;QAAEM,cAAAA,OAAOC,gBAAAA;IACzC,IAAkF,mBAAA,qBAC3EN,iBACAM,UAFAC,uBAA2E,iBAA3EA,sBAAsBN,SAAqD,iBAArDA,QAAQE,sBAA6C,iBAA7CA,qBAAqBC,uBAAwB,iBAAxBA;IAK1D,IAAMI,aAAaH,MAAMI,iBAAiB;IAC1C,IAAMC,kBAAkBF,WAAWG,MAAM,CAAC,SAACC;YAAYA;eAAD,GAACA,yBAAAA,OAAOC,SAAS,CAACC,IAAI,cAArBF,6CAAAA,uBAAuBG,aAAa;;IAC3F,IAAMC,uBAAuBN,gBAAgBC,MAAM,CAAC,SAACC;eAAWA,OAAOK,YAAY;OAAIC,MAAM;IAE7F,6EAA6E;IAC7E,IAAMC,sBACFZ,yBAAyBa,aAAab,uBAAuB,IAAIA,uBAAuBa;IAE5F,IAAIV,gBAAgBQ,MAAM,IAAI,GAAG;QAC7B,OAAO;IACX;IAEA,IAAMG,iBAAiB,wBAACT;QACpB,IAAMU,gBAAgB,CAACV,OAAOW,UAAU;QACxC,IAAMC,aACF,AAACL,wBAAwBC,aACrBJ,wBAAwBG,uBACxB,CAACP,OAAOK,YAAY,MACxBK;QACJ,IAAMG,YAAYb,OAAOK,YAAY,MAAMK;QAC3C,OAAO;YAACA,eAAAA;YAAeE,YAAAA;YAAYC,WAAAA;QAAS;IAChD;IAEA,IAAMC,gBAAgBhB,gBAAgBiB,GAAG,CAAC,SAACf;QACvC,IAA+CS,kBAAAA,eAAeT,SAAvDU,gBAAwCD,gBAAxCC,eAAeE,aAAyBH,gBAAzBG,YAAYC,YAAaJ,gBAAbI;QAElC,qBACI,qBAACG,aAAO;YACJC,OAAOP,gBAAgBlB,uBAAuBD;YAC9C2B,UAAU,CAACN;YACXO,UAAS;sBAGT,cAAA,qBAACC;0BACG,cAAA,qBAACC,cAAQ;oBACLJ,OAAOK,IAAAA,sBAAU,EAACtB,OAAOC,SAAS,CAACsB,MAAM,EAAE;wBACvC9B,OAAAA;wBACAO,QAAAA;wBACAuB,QAAQ;4BAACvB,QAAAA;wBAAM;oBACnB;oBACAwB,MAAMxB,OAAOyB,EAAE;oBACfC,SAASb;oBACTK,UAAUN;oBACVe,UAAU3B,OAAO4B,0BAA0B;;;WAZ9C5B,OAAOyB,EAAE;IAiB1B;IAEA,qBACI,sBAACI,aAAO;QAACV,UAAS;QAAaW,QAAO;;0BAClC,qBAACD,aAAO,CAACE,MAAM;0BACX,cAAA,qBAACf,aAAO;oBAACC,OAAM;8BACX,cAAA,qBAACe,sBAAU,CAACC,QAAQ;wBAACC,cAAW;kCAC5B,cAAA,qBAACC,8BAAY;4BAACC,QAAQ;;;;;0BAIlC,sBAACP,aAAO,CAACQ,QAAQ;gBAACC,KAAK;gBAAKC,IAAG;;kCAC3B,qBAACC,gBAAU,CAACC,QAAQ;wBAACC,KAAK;wBAAKC,MAAK;kCAChC,cAAA,qBAACC,WAAK;4BAACC,KAAI;sCAAM/B;;;oBAEpBP,qCACG;;0CACI,qBAACuC,aAAO;gCAACC,IAAG;gCAAKC,IAAG;;0CACpB,qBAACC,UAAI;gCAACC,MAAK;gCAAKC,GAAE;0CACb,OAAO9D,WAAW,aAAaA,OAAOkB,uBAAuBlB;;;;;;;;AAO1F"}
@@ -33,7 +33,7 @@ var TableDateRangePicker = (0, _core.factory)(function(props, ref) {
33
33
  "style",
34
34
  "vars"
35
35
  ]);
36
- var onChange = function(dates) {
36
+ var onChange = function onChange(dates) {
37
37
  store.setDateRange(dates);
38
38
  store.setPagination({
39
39
  pageIndex: 0,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/Table/table-date-range-picker/TableDateRangePicker.tsx"],"sourcesContent":["import {BoxProps, CompoundStylesApiProps, Factory, factory, Grid, useProps} from '@mantine/core';\nimport {type DatesRangeValue, type DateStringValue} from '@mantine/dates';\nimport {DateRangePicker, type DateRangePickerProps} from '../../DateRangePicker/DateRangePicker.js';\nimport {DateRangePickerPreset} from '../../DateRangePicker/DateRangePickerPresetSelect.js';\nimport {TableComponentsOrder} from '../Table.js';\nimport {useTableContext} from '../TableContext.js';\n\nexport type TableDateRangePickerStylesNames = 'dateRangeRoot';\n\nexport interface TableDateRangePickerProps\n extends\n BoxProps,\n CompoundStylesApiProps<TableDateRangePickerFactory>,\n Pick<DateRangePickerProps, 'placeholder' | 'startProps' | 'endProps' | 'rangeCalendarProps'> {\n /**\n * An object containing date presets.\n * If empty the preset dropdown won't be shown\n *\n * @example\n * {\n * january: {label: 'January', range: [new Date(2022, 0, 1), new Date(2022, 0, 31)]},\n * february: {label: 'February', range: [new Date(2022, 1, 1), new Date(2022, 1, 28)]}\n * }\n * @default {}\n */\n presets?: Record<string, DateRangePickerPreset>;\n}\n\nexport type TableDateRangePickerFactory = Factory<{\n props: TableDateRangePickerProps;\n ref: HTMLDivElement;\n stylesNames: TableDateRangePickerStylesNames;\n compound: true;\n}>;\n\nconst defaultProps: Partial<TableDateRangePickerProps> = {\n presets: {},\n};\n\nexport const TableDateRangePicker = factory<TableDateRangePickerFactory>((props, ref) => {\n const {store, getStyles} = useTableContext();\n const {\n presets,\n rangeCalendarProps,\n startProps,\n endProps,\n placeholder,\n classNames,\n className,\n styles,\n style,\n vars,\n ...others\n } = useProps('PlasmaTableDateRangePicker', defaultProps, props);\n\n const onChange = (dates: DatesRangeValue<DateStringValue | null>) => {\n store.setDateRange(dates);\n store.setPagination({pageIndex: 0, pageSize: store.state.pagination.pageSize});\n };\n\n const stylesApiProps = {classNames, styles};\n\n return (\n <Grid.Col\n span=\"content\"\n order={TableComponentsOrder.DateRangePicker}\n ref={ref}\n {...getStyles('dateRangeRoot', {className, style, ...stylesApiProps})}\n {...others}\n >\n <DateRangePicker\n value={store.state.dateRange}\n onChange={onChange}\n presets={presets}\n rangeCalendarProps={rangeCalendarProps}\n startProps={startProps}\n endProps={endProps}\n placeholder={placeholder}\n miw={220}\n />\n </Grid.Col>\n );\n});\n\nTableDateRangePicker.displayName = 'Table.DateRangePicker';\n"],"names":["TableDateRangePicker","defaultProps","presets","factory","props","ref","useTableContext","store","getStyles","useProps","rangeCalendarProps","startProps","endProps","placeholder","classNames","className","styles","style","vars","others","onChange","dates","setDateRange","setPagination","pageIndex","pageSize","state","pagination","stylesApiProps","Grid","Col","span","order","TableComponentsOrder","DateRangePicker","value","dateRange","miw","displayName"],"mappings":";;;;+BAuCaA;;;eAAAA;;;;;;;oBAvCoE;+BAExB;qBAEtB;4BACL;AA8B9B,IAAMC,eAAmD;IACrDC,SAAS,CAAC;AACd;AAEO,IAAMF,uBAAuBG,IAAAA,aAAO,EAA8B,SAACC,OAAOC;IAC7E,IAA2BC,mBAAAA,IAAAA,6BAAe,KAAnCC,QAAoBD,iBAApBC,OAAOC,YAAaF,iBAAbE;IACd,IAYIC,YAAAA,IAAAA,cAAQ,EAAC,8BAA8BR,cAAcG,QAXrDF,UAWAO,UAXAP,SACAQ,qBAUAD,UAVAC,oBACAC,aASAF,UATAE,YACAC,WAQAH,UARAG,UACAC,cAOAJ,UAPAI,aACAC,aAMAL,UANAK,YACAC,YAKAN,UALAM,WACAC,SAIAP,UAJAO,QACAC,QAGAR,UAHAQ,OACAC,OAEAT,UAFAS,MACGC,sCACHV;QAXAP;QACAQ;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;;IAIJ,IAAME,WAAW,SAACC;QACdd,MAAMe,YAAY,CAACD;QACnBd,MAAMgB,aAAa,CAAC;YAACC,WAAW;YAAGC,UAAUlB,MAAMmB,KAAK,CAACC,UAAU,CAACF,QAAQ;QAAA;IAChF;IAEA,IAAMG,iBAAiB;QAACd,YAAAA;QAAYE,QAAAA;IAAM;IAE1C,qBACI,qBAACa,UAAI,CAACC,GAAG;QACLC,MAAK;QACLC,OAAOC,2BAAoB,CAACC,eAAe;QAC3C7B,KAAKA;OACDG,UAAU,iBAAiB;QAACO,WAAAA;QAAWE,OAAAA;OAAUW,kBACjDT;kBAEJ,cAAA,qBAACe,gCAAe;YACZC,OAAO5B,MAAMmB,KAAK,CAACU,SAAS;YAC5BhB,UAAUA;YACVlB,SAASA;YACTQ,oBAAoBA;YACpBC,YAAYA;YACZC,UAAUA;YACVC,aAAaA;YACbwB,KAAK;;;AAIrB;AAEArC,qBAAqBsC,WAAW,GAAG"}
1
+ {"version":3,"sources":["../../../../../src/components/Table/table-date-range-picker/TableDateRangePicker.tsx"],"sourcesContent":["import {BoxProps, CompoundStylesApiProps, Factory, factory, Grid, useProps} from '@mantine/core';\nimport {type DatesRangeValue, type DateStringValue} from '@mantine/dates';\nimport {DateRangePicker, type DateRangePickerProps} from '../../DateRangePicker/DateRangePicker.js';\nimport {DateRangePickerPreset} from '../../DateRangePicker/DateRangePickerPresetSelect.js';\nimport {TableComponentsOrder} from '../Table.js';\nimport {useTableContext} from '../TableContext.js';\n\nexport type TableDateRangePickerStylesNames = 'dateRangeRoot';\n\nexport interface TableDateRangePickerProps\n extends\n BoxProps,\n CompoundStylesApiProps<TableDateRangePickerFactory>,\n Pick<DateRangePickerProps, 'placeholder' | 'startProps' | 'endProps' | 'rangeCalendarProps'> {\n /**\n * An object containing date presets.\n * If empty the preset dropdown won't be shown\n *\n * @example\n * {\n * january: {label: 'January', range: [new Date(2022, 0, 1), new Date(2022, 0, 31)]},\n * february: {label: 'February', range: [new Date(2022, 1, 1), new Date(2022, 1, 28)]}\n * }\n * @default {}\n */\n presets?: Record<string, DateRangePickerPreset>;\n}\n\nexport type TableDateRangePickerFactory = Factory<{\n props: TableDateRangePickerProps;\n ref: HTMLDivElement;\n stylesNames: TableDateRangePickerStylesNames;\n compound: true;\n}>;\n\nconst defaultProps: Partial<TableDateRangePickerProps> = {\n presets: {},\n};\n\nexport const TableDateRangePicker = factory<TableDateRangePickerFactory>((props, ref) => {\n const {store, getStyles} = useTableContext();\n const {\n presets,\n rangeCalendarProps,\n startProps,\n endProps,\n placeholder,\n classNames,\n className,\n styles,\n style,\n vars,\n ...others\n } = useProps('PlasmaTableDateRangePicker', defaultProps, props);\n\n const onChange = (dates: DatesRangeValue<DateStringValue | null>) => {\n store.setDateRange(dates);\n store.setPagination({pageIndex: 0, pageSize: store.state.pagination.pageSize});\n };\n\n const stylesApiProps = {classNames, styles};\n\n return (\n <Grid.Col\n span=\"content\"\n order={TableComponentsOrder.DateRangePicker}\n ref={ref}\n {...getStyles('dateRangeRoot', {className, style, ...stylesApiProps})}\n {...others}\n >\n <DateRangePicker\n value={store.state.dateRange}\n onChange={onChange}\n presets={presets}\n rangeCalendarProps={rangeCalendarProps}\n startProps={startProps}\n endProps={endProps}\n placeholder={placeholder}\n miw={220}\n />\n </Grid.Col>\n );\n});\n\nTableDateRangePicker.displayName = 'Table.DateRangePicker';\n"],"names":["TableDateRangePicker","defaultProps","presets","factory","props","ref","useTableContext","store","getStyles","useProps","rangeCalendarProps","startProps","endProps","placeholder","classNames","className","styles","style","vars","others","onChange","dates","setDateRange","setPagination","pageIndex","pageSize","state","pagination","stylesApiProps","Grid","Col","span","order","TableComponentsOrder","DateRangePicker","value","dateRange","miw","displayName"],"mappings":";;;;+BAuCaA;;;eAAAA;;;;;;;oBAvCoE;+BAExB;qBAEtB;4BACL;AA8B9B,IAAMC,eAAmD;IACrDC,SAAS,CAAC;AACd;AAEO,IAAMF,uBAAuBG,IAAAA,aAAO,EAA8B,SAACC,OAAOC;IAC7E,IAA2BC,mBAAAA,IAAAA,6BAAe,KAAnCC,QAAoBD,iBAApBC,OAAOC,YAAaF,iBAAbE;IACd,IAYIC,YAAAA,IAAAA,cAAQ,EAAC,8BAA8BR,cAAcG,QAXrDF,UAWAO,UAXAP,SACAQ,qBAUAD,UAVAC,oBACAC,aASAF,UATAE,YACAC,WAQAH,UARAG,UACAC,cAOAJ,UAPAI,aACAC,aAMAL,UANAK,YACAC,YAKAN,UALAM,WACAC,SAIAP,UAJAO,QACAC,QAGAR,UAHAQ,OACAC,OAEAT,UAFAS,MACGC,sCACHV;;;;;;;;;;;;IAEJ,IAAMW,WAAW,kBAACC;QACdd,MAAMe,YAAY,CAACD;QACnBd,MAAMgB,aAAa,CAAC;YAACC,WAAW;YAAGC,UAAUlB,MAAMmB,KAAK,CAACC,UAAU,CAACF,QAAQ;QAAA;IAChF;IAEA,IAAMG,iBAAiB;QAACd,YAAAA;QAAYE,QAAAA;IAAM;IAE1C,qBACI,qBAACa,UAAI,CAACC,GAAG;QACLC,MAAK;QACLC,OAAOC,2BAAoB,CAACC,eAAe;QAC3C7B,KAAKA;OACDG,UAAU,iBAAiB;QAACO,WAAAA;QAAWE,OAAAA;OAAUW,kBACjDT;kBAEJ,cAAA,qBAACe,gCAAe;YACZC,OAAO5B,MAAMmB,KAAK,CAACU,SAAS;YAC5BhB,UAAUA;YACVlB,SAASA;YACTQ,oBAAoBA;YACpBC,YAAYA;YACZC,UAAUA;YACVC,aAAaA;YACbwB,KAAK;;;AAIrB;AAEArC,qBAAqBsC,WAAW,GAAG"}
@@ -45,11 +45,11 @@ var TableFilter = (0, _core.factory)(function(props, ref) {
45
45
  }, [
46
46
  debounced
47
47
  ]);
48
- var handleChange = function(event) {
48
+ var handleChange = function handleChange(event) {
49
49
  var value = event.currentTarget.value;
50
50
  setFilter(value);
51
51
  };
52
- var handleClear = function() {
52
+ var handleClear = function handleClear() {
53
53
  setFilter('');
54
54
  };
55
55
  (0, _react.useEffect)(function() {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/Table/table-filter/TableFilter.tsx"],"sourcesContent":["import {IconSearch, IconX} from '@coveord/plasma-react-icons';\nimport {BoxProps, CompoundStylesApiProps, Factory, factory, Grid, TextInput, useProps} from '@mantine/core';\nimport {useDebouncedValue, useDidUpdate} from '@mantine/hooks';\nimport {ChangeEventHandler, MouseEventHandler, useEffect, useState} from 'react';\n\nimport {ActionIcon} from '../../ActionIcon/ActionIcon.js';\nimport {TableComponentsOrder} from '../Table.js';\nimport {useTableContext} from '../TableContext.js';\n\nexport type TableFilterStylesNames = 'filterRoot' | 'filterWrapper' | 'filterEmpty';\n\nexport interface TableFilterProps extends BoxProps, CompoundStylesApiProps<TableFilterFactory> {\n /**\n * The placeholder for the filter input\n *\n * @default \"Search by any field\"\n */\n placeholder?: string;\n}\n\nexport type TableFilterFactory = Factory<{\n props: TableFilterProps;\n ref: HTMLDivElement;\n stylesNames: TableFilterStylesNames;\n compound: true;\n}>;\n\nconst defaultProps: Partial<TableFilterProps> = {\n placeholder: 'Search by any field',\n};\n\nexport const TableFilter = factory<TableFilterFactory>((props, ref) => {\n const {store, getStyles} = useTableContext();\n const {placeholder, classNames, className, styles, style, vars, ...others} = useProps(\n 'PlasmaTableFilter',\n defaultProps,\n props,\n );\n const [filter, setFilter] = useState(store.state.globalFilter);\n const [debounced, cancel] = useDebouncedValue(filter, 300);\n\n useDidUpdate(() => {\n store.setGlobalFilter(debounced);\n store.setPagination({pageIndex: 0, pageSize: store.state.pagination.pageSize});\n\n return cancel;\n }, [debounced]);\n\n const handleChange: ChangeEventHandler<HTMLInputElement> = (event) => {\n const {value} = event.currentTarget;\n setFilter(value);\n };\n\n const handleClear: MouseEventHandler<HTMLButtonElement> = () => {\n setFilter('');\n };\n\n useEffect(() => {\n setFilter(store.state.globalFilter);\n }, [store.state.globalFilter]);\n\n const stylesApiProps = {classNames, styles};\n\n return (\n <Grid.Col\n span=\"content\"\n order={TableComponentsOrder.Filter}\n ref={ref}\n {...getStyles('filterRoot', {className, style, ...stylesApiProps})}\n {...others}\n >\n <TextInput\n {...getStyles('filterWrapper', stylesApiProps)}\n placeholder={placeholder}\n autoComplete=\"off\"\n rightSection={\n filter ? (\n <ActionIcon.Quaternary onClick={handleClear}>\n <IconX aria-label=\"clear\" size={16} />\n </ActionIcon.Quaternary>\n ) : (\n <IconSearch size={16} {...getStyles('filterEmpty', stylesApiProps)} />\n )\n }\n value={filter}\n onChange={handleChange}\n />\n </Grid.Col>\n );\n});\n\nTableFilter.displayName = 'Table.Filter';\n"],"names":["TableFilter","defaultProps","placeholder","factory","props","ref","useTableContext","store","getStyles","useProps","classNames","className","styles","style","vars","others","useState","state","globalFilter","filter","setFilter","useDebouncedValue","debounced","cancel","useDidUpdate","setGlobalFilter","setPagination","pageIndex","pageSize","pagination","handleChange","event","value","currentTarget","handleClear","useEffect","stylesApiProps","Grid","Col","span","order","TableComponentsOrder","Filter","TextInput","autoComplete","rightSection","ActionIcon","Quaternary","onClick","IconX","aria-label","size","IconSearch","onChange","displayName"],"mappings":";;;;+BA+BaA;;;eAAAA;;;;;;;;gCA/BmB;oBAC4D;qBAC9C;qBAC2B;0BAEhD;qBACU;4BACL;AAoB9B,IAAMC,eAA0C;IAC5CC,aAAa;AACjB;AAEO,IAAMF,cAAcG,IAAAA,aAAO,EAAqB,SAACC,OAAOC;IAC3D,IAA2BC,mBAAAA,IAAAA,6BAAe,KAAnCC,QAAoBD,iBAApBC,OAAOC,YAAaF,iBAAbE;IACd,IAA6EC,YAAAA,IAAAA,cAAQ,EACjF,qBACAR,cACAG,QAHGF,cAAsEO,UAAtEP,aAAaQ,aAAyDD,UAAzDC,YAAYC,YAA6CF,UAA7CE,WAAWC,SAAkCH,UAAlCG,QAAQC,QAA0BJ,UAA1BI,OAAOC,OAAmBL,UAAnBK,MAASC,sCAAUN;QAAtEP;QAAaQ;QAAYC;QAAWC;QAAQC;QAAOC;;IAK1D,IAA4BE,+BAAAA,IAAAA,eAAQ,EAACT,MAAMU,KAAK,CAACC,YAAY,OAAtDC,SAAqBH,cAAbI,YAAaJ;IAC5B,IAA4BK,wCAAAA,IAAAA,wBAAiB,EAACF,QAAQ,UAA/CG,YAAqBD,uBAAVE,SAAUF;IAE5BG,IAAAA,mBAAY,EAAC;QACTjB,MAAMkB,eAAe,CAACH;QACtBf,MAAMmB,aAAa,CAAC;YAACC,WAAW;YAAGC,UAAUrB,MAAMU,KAAK,CAACY,UAAU,CAACD,QAAQ;QAAA;QAE5E,OAAOL;IACX,GAAG;QAACD;KAAU;IAEd,IAAMQ,eAAqD,SAACC;QACxD,IAAM,AAACC,QAASD,MAAME,aAAa,CAA5BD;QACPZ,UAAUY;IACd;IAEA,IAAME,cAAoD;QACtDd,UAAU;IACd;IAEAe,IAAAA,gBAAS,EAAC;QACNf,UAAUb,MAAMU,KAAK,CAACC,YAAY;IACtC,GAAG;QAACX,MAAMU,KAAK,CAACC,YAAY;KAAC;IAE7B,IAAMkB,iBAAiB;QAAC1B,YAAAA;QAAYE,QAAAA;IAAM;IAE1C,qBACI,qBAACyB,UAAI,CAACC,GAAG;QACLC,MAAK;QACLC,OAAOC,2BAAoB,CAACC,MAAM;QAClCrC,KAAKA;OACDG,UAAU,cAAc;QAACG,WAAAA;QAAWE,OAAAA;OAAUuB,kBAC9CrB;kBAEJ,cAAA,qBAAC4B,eAAS,8CACFnC,UAAU,iBAAiB4B;YAC/BlC,aAAaA;YACb0C,cAAa;YACbC,cACI1B,uBACI,qBAAC2B,sBAAU,CAACC,UAAU;gBAACC,SAASd;0BAC5B,cAAA,qBAACe,uBAAK;oBAACC,cAAW;oBAAQC,MAAM;;+BAGpC,qBAACC,4BAAU;gBAACD,MAAM;eAAQ3C,UAAU,eAAe4B;YAG3DJ,OAAOb;YACPkC,UAAUvB;;;AAI1B;AAEA9B,YAAYsD,WAAW,GAAG"}
1
+ {"version":3,"sources":["../../../../../src/components/Table/table-filter/TableFilter.tsx"],"sourcesContent":["import {IconSearch, IconX} from '@coveord/plasma-react-icons';\nimport {BoxProps, CompoundStylesApiProps, Factory, factory, Grid, TextInput, useProps} from '@mantine/core';\nimport {useDebouncedValue, useDidUpdate} from '@mantine/hooks';\nimport {ChangeEventHandler, MouseEventHandler, useEffect, useState} from 'react';\n\nimport {ActionIcon} from '../../ActionIcon/ActionIcon.js';\nimport {TableComponentsOrder} from '../Table.js';\nimport {useTableContext} from '../TableContext.js';\n\nexport type TableFilterStylesNames = 'filterRoot' | 'filterWrapper' | 'filterEmpty';\n\nexport interface TableFilterProps extends BoxProps, CompoundStylesApiProps<TableFilterFactory> {\n /**\n * The placeholder for the filter input\n *\n * @default \"Search by any field\"\n */\n placeholder?: string;\n}\n\nexport type TableFilterFactory = Factory<{\n props: TableFilterProps;\n ref: HTMLDivElement;\n stylesNames: TableFilterStylesNames;\n compound: true;\n}>;\n\nconst defaultProps: Partial<TableFilterProps> = {\n placeholder: 'Search by any field',\n};\n\nexport const TableFilter = factory<TableFilterFactory>((props, ref) => {\n const {store, getStyles} = useTableContext();\n const {placeholder, classNames, className, styles, style, vars, ...others} = useProps(\n 'PlasmaTableFilter',\n defaultProps,\n props,\n );\n const [filter, setFilter] = useState(store.state.globalFilter);\n const [debounced, cancel] = useDebouncedValue(filter, 300);\n\n useDidUpdate(() => {\n store.setGlobalFilter(debounced);\n store.setPagination({pageIndex: 0, pageSize: store.state.pagination.pageSize});\n\n return cancel;\n }, [debounced]);\n\n const handleChange: ChangeEventHandler<HTMLInputElement> = (event) => {\n const {value} = event.currentTarget;\n setFilter(value);\n };\n\n const handleClear: MouseEventHandler<HTMLButtonElement> = () => {\n setFilter('');\n };\n\n useEffect(() => {\n setFilter(store.state.globalFilter);\n }, [store.state.globalFilter]);\n\n const stylesApiProps = {classNames, styles};\n\n return (\n <Grid.Col\n span=\"content\"\n order={TableComponentsOrder.Filter}\n ref={ref}\n {...getStyles('filterRoot', {className, style, ...stylesApiProps})}\n {...others}\n >\n <TextInput\n {...getStyles('filterWrapper', stylesApiProps)}\n placeholder={placeholder}\n autoComplete=\"off\"\n rightSection={\n filter ? (\n <ActionIcon.Quaternary onClick={handleClear}>\n <IconX aria-label=\"clear\" size={16} />\n </ActionIcon.Quaternary>\n ) : (\n <IconSearch size={16} {...getStyles('filterEmpty', stylesApiProps)} />\n )\n }\n value={filter}\n onChange={handleChange}\n />\n </Grid.Col>\n );\n});\n\nTableFilter.displayName = 'Table.Filter';\n"],"names":["TableFilter","defaultProps","placeholder","factory","props","ref","useTableContext","store","getStyles","useProps","classNames","className","styles","style","vars","others","useState","state","globalFilter","filter","setFilter","useDebouncedValue","debounced","cancel","useDidUpdate","setGlobalFilter","setPagination","pageIndex","pageSize","pagination","handleChange","event","value","currentTarget","handleClear","useEffect","stylesApiProps","Grid","Col","span","order","TableComponentsOrder","Filter","TextInput","autoComplete","rightSection","ActionIcon","Quaternary","onClick","IconX","aria-label","size","IconSearch","onChange","displayName"],"mappings":";;;;+BA+BaA;;;eAAAA;;;;;;;;gCA/BmB;oBAC4D;qBAC9C;qBAC2B;0BAEhD;qBACU;4BACL;AAoB9B,IAAMC,eAA0C;IAC5CC,aAAa;AACjB;AAEO,IAAMF,cAAcG,IAAAA,aAAO,EAAqB,SAACC,OAAOC;IAC3D,IAA2BC,mBAAAA,IAAAA,6BAAe,KAAnCC,QAAoBD,iBAApBC,OAAOC,YAAaF,iBAAbE;IACd,IAA6EC,YAAAA,IAAAA,cAAQ,EACjF,qBACAR,cACAG,QAHGF,cAAsEO,UAAtEP,aAAaQ,aAAyDD,UAAzDC,YAAYC,YAA6CF,UAA7CE,WAAWC,SAAkCH,UAAlCG,QAAQC,QAA0BJ,UAA1BI,OAAOC,OAAmBL,UAAnBK,MAASC,sCAAUN;;;;;;;;IAK7E,IAA4BO,+BAAAA,IAAAA,eAAQ,EAACT,MAAMU,KAAK,CAACC,YAAY,OAAtDC,SAAqBH,cAAbI,YAAaJ;IAC5B,IAA4BK,wCAAAA,IAAAA,wBAAiB,EAACF,QAAQ,UAA/CG,YAAqBD,uBAAVE,SAAUF;IAE5BG,IAAAA,mBAAY,EAAC;QACTjB,MAAMkB,eAAe,CAACH;QACtBf,MAAMmB,aAAa,CAAC;YAACC,WAAW;YAAGC,UAAUrB,MAAMU,KAAK,CAACY,UAAU,CAACD,QAAQ;QAAA;QAE5E,OAAOL;IACX,GAAG;QAACD;KAAU;IAEd,IAAMQ,eAAqD,sBAACC;QACxD,IAAM,AAACC,QAASD,MAAME,aAAa,CAA5BD;QACPZ,UAAUY;IACd;IAEA,IAAME,cAAoD;QACtDd,UAAU;IACd;IAEAe,IAAAA,gBAAS,EAAC;QACNf,UAAUb,MAAMU,KAAK,CAACC,YAAY;IACtC,GAAG;QAACX,MAAMU,KAAK,CAACC,YAAY;KAAC;IAE7B,IAAMkB,iBAAiB;QAAC1B,YAAAA;QAAYE,QAAAA;IAAM;IAE1C,qBACI,qBAACyB,UAAI,CAACC,GAAG;QACLC,MAAK;QACLC,OAAOC,2BAAoB,CAACC,MAAM;QAClCrC,KAAKA;OACDG,UAAU,cAAc;QAACG,WAAAA;QAAWE,OAAAA;OAAUuB,kBAC9CrB;kBAEJ,cAAA,qBAAC4B,eAAS,8CACFnC,UAAU,iBAAiB4B;YAC/BlC,aAAaA;YACb0C,cAAa;YACbC,cACI1B,uBACI,qBAAC2B,sBAAU,CAACC,UAAU;gBAACC,SAASd;0BAC5B,cAAA,qBAACe,uBAAK;oBAACC,cAAW;oBAAQC,MAAM;;+BAGpC,qBAACC,4BAAU;gBAACD,MAAM;eAAQ3C,UAAU,eAAe4B;YAG3DJ,OAAOb;YACPkC,UAAUvB;;;AAI1B;AAEA9B,YAAYsD,WAAW,GAAG"}
@@ -13,8 +13,8 @@ var _object_destructuring_empty = require("@swc/helpers/_/_object_destructuring_
13
13
  var _object_spread = require("@swc/helpers/_/_object_spread");
14
14
  var _jsxruntime = require("react/jsx-runtime");
15
15
  var _core = require("@mantine/core");
16
- var TableFooter = function(_param) {
17
- var others = _extends._({}, _object_destructuring_empty._(_param));
16
+ var TableFooter = function TableFooter(_0) {
17
+ var ref = _object_destructuring_empty._(_0), others = _extends._({}, _0);
18
18
  return /*#__PURE__*/ (0, _jsxruntime.jsx)(_core.Group, _object_spread._({
19
19
  justify: "space-between",
20
20
  px: "xl",
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/Table/table-footer/TableFooter.tsx"],"sourcesContent":["import {Group, GroupProps} from '@mantine/core';\nimport {FunctionComponent, ReactNode} from 'react';\n\nexport interface TableFooterProps extends GroupProps {\n children?: ReactNode;\n}\n\nexport const TableFooter: FunctionComponent<TableFooterProps> = ({...others}) => (\n <Group justify=\"space-between\" px=\"xl\" py=\"md\" {...others} />\n);\n\nTableFooter.displayName = 'Table.Footer';\n"],"names":["TableFooter","others","Group","justify","px","py","displayName"],"mappings":";;;;+BAOaA;;;eAAAA;;;;;;;oBAPmB;AAOzB,IAAMA,cAAmD;QAAKC;yBACjE,qBAACC,WAAK;QAACC,SAAQ;QAAgBC,IAAG;QAAKC,IAAG;OAASJ;;AAGvDD,YAAYM,WAAW,GAAG"}
1
+ {"version":3,"sources":["../../../../../src/components/Table/table-footer/TableFooter.tsx"],"sourcesContent":["import {Group, GroupProps} from '@mantine/core';\nimport {FunctionComponent, ReactNode} from 'react';\n\nexport interface TableFooterProps extends GroupProps {\n children?: ReactNode;\n}\n\nexport const TableFooter: FunctionComponent<TableFooterProps> = ({...others}) => (\n <Group justify=\"space-between\" px=\"xl\" py=\"md\" {...others} />\n);\n\nTableFooter.displayName = 'Table.Footer';\n"],"names":["TableFooter","others","Group","justify","px","py","displayName"],"mappings":";;;;+BAOaA;;;eAAAA;;;;;;;oBAPmB;AAOzB,IAAMA,cAAmD;QAAC,yCAAIC;yBACjE,qBAACC,WAAK;QAACC,SAAQ;QAAgBC,IAAG;QAAKC,IAAG;OAASJ;;AAGvDD,YAAYM,WAAW,GAAG"}
@@ -21,7 +21,7 @@ var _Table = require("../Table.js");
21
21
  var _TableContext = require("../TableContext.js");
22
22
  var defaultProps = {
23
23
  unselectAllLabel: 'Unselect all',
24
- selectedCountLabel: function(count) {
24
+ selectedCountLabel: function selectedCountLabel(count) {
25
25
  return "".concat(count, " selected");
26
26
  },
27
27
  showActions: true,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/Table/table-header/TableHeader.tsx"],"sourcesContent":["import {CrossSize16Px} from '@coveord/plasma-react-icons';\nimport {Box, BoxProps, CompoundStylesApiProps, factory, Factory, Grid, Tooltip, useProps} from '@mantine/core';\nimport {ReactNode} from 'react';\n\nimport {Button} from '../../Button/Button.js';\nimport {TableLayoutControl} from '../layouts/TableLayoutControl.js';\nimport {TableHeaderActions} from '../table-actions/TableHeaderActions.js';\nimport {TableComponentsOrder} from '../Table.js';\nimport {useTableContext} from '../TableContext.js';\n\nexport type TableHeaderStylesNames = 'headerRoot' | 'headerGrid' | 'headerGridInner' | 'headerCol';\n\nexport interface TableHeaderProps\n extends Omit<BoxProps, 'classNames' | 'styles' | 'vars'>, CompoundStylesApiProps<TableHeaderFactory> {\n /* Children of header (ie: actions, datepicker, etc.) */\n children?: ReactNode;\n unselectAllLabel?: string;\n selectedCountLabel?: (count: number) => string;\n /**\n * Whether to show actions when rows are selected\n *\n * default true\n */\n showActions?: boolean;\n /**\n * Whether to show a border on top of the header\n *\n * default true\n */\n borderTop?: boolean;\n}\n\nexport type TableHeaderFactory = Factory<{\n props: TableHeaderProps;\n ref: HTMLDivElement;\n stylesNames: TableHeaderStylesNames;\n compound: true;\n}>;\n\nconst defaultProps: Partial<TableHeaderProps> = {\n unselectAllLabel: 'Unselect all',\n selectedCountLabel: (count) => `${count} selected`,\n showActions: true,\n borderTop: true,\n};\n\nexport const TableHeader = factory<TableHeaderFactory>((props, ref) => {\n const {store, getStyles} = useTableContext();\n const {\n showActions,\n unselectAllLabel,\n selectedCountLabel,\n borderTop,\n children,\n classNames,\n className,\n styles,\n style,\n vars: _vars,\n ...others\n } = useProps('PlasmaTableHeader', defaultProps, props);\n const selectedRows = store.getSelectedRows();\n\n const stylesApiProps = {classNames, styles};\n const innerStyles = getStyles('headerGridInner', stylesApiProps);\n const gridStyles = getStyles('headerGrid', stylesApiProps);\n\n return (\n <Box\n ref={ref}\n {...getStyles('headerRoot', {className, style, ...stylesApiProps})}\n {...others}\n mod={{'with-border-top': borderTop}}\n >\n <Grid\n justify=\"flex-start\"\n align=\"center\"\n classNames={{inner: innerStyles.className, root: gridStyles.className}}\n styles={{inner: innerStyles.style, root: gridStyles.style}}\n >\n {store.multiRowSelectionEnabled && selectedRows.length > 0 ? (\n <Grid.Col\n span=\"auto\"\n {...getStyles('headerCol', stylesApiProps)}\n order={TableComponentsOrder.MultiSelectInfo}\n >\n <Tooltip label={unselectAllLabel}>\n <Button.Quaternary\n onClick={store.clearRowSelection}\n disabled={!store.rowSelectionEnabled}\n leftSection={<CrossSize16Px height={16} />}\n >\n {selectedCountLabel(selectedRows.length)}\n </Button.Quaternary>\n </Tooltip>\n </Grid.Col>\n ) : null}\n {children}\n {showActions ? <TableHeaderActions /> : null}\n <TableLayoutControl />\n </Grid>\n </Box>\n );\n});\n\nTableHeader.displayName = 'Table.Header';\n"],"names":["TableHeader","defaultProps","unselectAllLabel","selectedCountLabel","count","showActions","borderTop","factory","props","ref","useTableContext","store","getStyles","useProps","children","classNames","className","styles","style","vars","_vars","others","selectedRows","getSelectedRows","stylesApiProps","innerStyles","gridStyles","Box","mod","Grid","justify","align","inner","root","multiRowSelectionEnabled","length","Col","span","order","TableComponentsOrder","MultiSelectInfo","Tooltip","label","Button","Quaternary","onClick","clearRowSelection","disabled","rowSelectionEnabled","leftSection","CrossSize16Px","height","TableHeaderActions","TableLayoutControl","displayName"],"mappings":";;;;+BA8CaA;;;eAAAA;;;;;;;gCA9Ce;oBACmE;sBAG1E;kCACY;kCACA;qBACE;4BACL;AA+B9B,IAAMC,eAA0C;IAC5CC,kBAAkB;IAClBC,oBAAoB,SAACC;eAAU,AAAC,GAAQ,OAANA,OAAM;;IACxCC,aAAa;IACbC,WAAW;AACf;AAEO,IAAMN,cAAcO,IAAAA,aAAO,EAAqB,SAACC,OAAOC;IAC3D,IAA2BC,mBAAAA,IAAAA,6BAAe,KAAnCC,QAAoBD,iBAApBC,OAAOC,YAAaF,iBAAbE;IACd,IAYIC,YAAAA,IAAAA,cAAQ,EAAC,qBAAqBZ,cAAcO,QAX5CH,cAWAQ,UAXAR,aACAH,mBAUAW,UAVAX,kBACAC,qBASAU,UATAV,oBACAG,YAQAO,UARAP,WACAQ,WAOAD,UAPAC,UACAC,aAMAF,UANAE,YACAC,YAKAH,UALAG,WACAC,SAIAJ,UAJAI,QACAC,QAGAL,UAHAK,OACAC,AAAMC,QAENP,UAFAM,MACGE,sCACHR;QAXAR;QACAH;QACAC;QACAG;QACAQ;QACAC;QACAC;QACAC;QACAC;QACAC;;IAGJ,IAAMG,eAAeX,MAAMY,eAAe;IAE1C,IAAMC,iBAAiB;QAACT,YAAAA;QAAYE,QAAAA;IAAM;IAC1C,IAAMQ,cAAcb,UAAU,mBAAmBY;IACjD,IAAME,aAAad,UAAU,cAAcY;IAE3C,qBACI,qBAACG,SAAG;QACAlB,KAAKA;OACDG,UAAU,cAAc;QAACI,WAAAA;QAAWE,OAAAA;OAAUM,kBAC9CH;QACJO,KAAK;YAAC,mBAAmBtB;QAAS;kBAElC,cAAA,sBAACuB,UAAI;YACDC,SAAQ;YACRC,OAAM;YACNhB,YAAY;gBAACiB,OAAOP,YAAYT,SAAS;gBAAEiB,MAAMP,WAAWV,SAAS;YAAA;YACrEC,QAAQ;gBAACe,OAAOP,YAAYP,KAAK;gBAAEe,MAAMP,WAAWR,KAAK;YAAA;;gBAExDP,MAAMuB,wBAAwB,IAAIZ,aAAaa,MAAM,GAAG,kBACrD,qBAACN,UAAI,CAACO,GAAG;oBACLC,MAAK;mBACDzB,UAAU,aAAaY;oBAC3Bc,OAAOC,2BAAoB,CAACC,eAAe;8BAE3C,cAAA,qBAACC,aAAO;wBAACC,OAAOxC;kCACZ,cAAA,qBAACyC,cAAM,CAACC,UAAU;4BACdC,SAASlC,MAAMmC,iBAAiB;4BAChCC,UAAU,CAACpC,MAAMqC,mBAAmB;4BACpCC,2BAAa,qBAACC,+BAAa;gCAACC,QAAQ;;sCAEnChD,mBAAmBmB,aAAaa,MAAM;;;sBAInD;gBACHrB;gBACAT,4BAAc,qBAAC+C,sCAAkB,QAAM;8BACxC,qBAACC,sCAAkB;;;;AAInC;AAEArD,YAAYsD,WAAW,GAAG"}
1
+ {"version":3,"sources":["../../../../../src/components/Table/table-header/TableHeader.tsx"],"sourcesContent":["import {CrossSize16Px} from '@coveord/plasma-react-icons';\nimport {Box, BoxProps, CompoundStylesApiProps, factory, Factory, Grid, Tooltip, useProps} from '@mantine/core';\nimport {ReactNode} from 'react';\n\nimport {Button} from '../../Button/Button.js';\nimport {TableLayoutControl} from '../layouts/TableLayoutControl.js';\nimport {TableHeaderActions} from '../table-actions/TableHeaderActions.js';\nimport {TableComponentsOrder} from '../Table.js';\nimport {useTableContext} from '../TableContext.js';\n\nexport type TableHeaderStylesNames = 'headerRoot' | 'headerGrid' | 'headerGridInner' | 'headerCol';\n\nexport interface TableHeaderProps\n extends Omit<BoxProps, 'classNames' | 'styles' | 'vars'>, CompoundStylesApiProps<TableHeaderFactory> {\n /* Children of header (ie: actions, datepicker, etc.) */\n children?: ReactNode;\n unselectAllLabel?: string;\n selectedCountLabel?: (count: number) => string;\n /**\n * Whether to show actions when rows are selected\n *\n * default true\n */\n showActions?: boolean;\n /**\n * Whether to show a border on top of the header\n *\n * default true\n */\n borderTop?: boolean;\n}\n\nexport type TableHeaderFactory = Factory<{\n props: TableHeaderProps;\n ref: HTMLDivElement;\n stylesNames: TableHeaderStylesNames;\n compound: true;\n}>;\n\nconst defaultProps: Partial<TableHeaderProps> = {\n unselectAllLabel: 'Unselect all',\n selectedCountLabel: (count) => `${count} selected`,\n showActions: true,\n borderTop: true,\n};\n\nexport const TableHeader = factory<TableHeaderFactory>((props, ref) => {\n const {store, getStyles} = useTableContext();\n const {\n showActions,\n unselectAllLabel,\n selectedCountLabel,\n borderTop,\n children,\n classNames,\n className,\n styles,\n style,\n vars: _vars,\n ...others\n } = useProps('PlasmaTableHeader', defaultProps, props);\n const selectedRows = store.getSelectedRows();\n\n const stylesApiProps = {classNames, styles};\n const innerStyles = getStyles('headerGridInner', stylesApiProps);\n const gridStyles = getStyles('headerGrid', stylesApiProps);\n\n return (\n <Box\n ref={ref}\n {...getStyles('headerRoot', {className, style, ...stylesApiProps})}\n {...others}\n mod={{'with-border-top': borderTop}}\n >\n <Grid\n justify=\"flex-start\"\n align=\"center\"\n classNames={{inner: innerStyles.className, root: gridStyles.className}}\n styles={{inner: innerStyles.style, root: gridStyles.style}}\n >\n {store.multiRowSelectionEnabled && selectedRows.length > 0 ? (\n <Grid.Col\n span=\"auto\"\n {...getStyles('headerCol', stylesApiProps)}\n order={TableComponentsOrder.MultiSelectInfo}\n >\n <Tooltip label={unselectAllLabel}>\n <Button.Quaternary\n onClick={store.clearRowSelection}\n disabled={!store.rowSelectionEnabled}\n leftSection={<CrossSize16Px height={16} />}\n >\n {selectedCountLabel(selectedRows.length)}\n </Button.Quaternary>\n </Tooltip>\n </Grid.Col>\n ) : null}\n {children}\n {showActions ? <TableHeaderActions /> : null}\n <TableLayoutControl />\n </Grid>\n </Box>\n );\n});\n\nTableHeader.displayName = 'Table.Header';\n"],"names":["TableHeader","defaultProps","unselectAllLabel","selectedCountLabel","count","showActions","borderTop","factory","props","ref","useTableContext","store","getStyles","useProps","children","classNames","className","styles","style","vars","_vars","others","selectedRows","getSelectedRows","stylesApiProps","innerStyles","gridStyles","Box","mod","Grid","justify","align","inner","root","multiRowSelectionEnabled","length","Col","span","order","TableComponentsOrder","MultiSelectInfo","Tooltip","label","Button","Quaternary","onClick","clearRowSelection","disabled","rowSelectionEnabled","leftSection","CrossSize16Px","height","TableHeaderActions","TableLayoutControl","displayName"],"mappings":";;;;+BA8CaA;;;eAAAA;;;;;;;gCA9Ce;oBACmE;sBAG1E;kCACY;kCACA;qBACE;4BACL;AA+B9B,IAAMC,eAA0C;IAC5CC,kBAAkB;IAClBC,oBAAoB,SAApBA,mBAAqBC;eAAU,AAAC,GAAQ,OAANA,OAAM;;IACxCC,aAAa;IACbC,WAAW;AACf;AAEO,IAAMN,cAAcO,IAAAA,aAAO,EAAqB,SAACC,OAAOC;IAC3D,IAA2BC,mBAAAA,IAAAA,6BAAe,KAAnCC,QAAoBD,iBAApBC,OAAOC,YAAaF,iBAAbE;IACd,IAYIC,YAAAA,IAAAA,cAAQ,EAAC,qBAAqBZ,cAAcO,QAX5CH,cAWAQ,UAXAR,aACAH,mBAUAW,UAVAX,kBACAC,qBASAU,UATAV,oBACAG,YAQAO,UARAP,WACAQ,WAOAD,UAPAC,UACAC,aAMAF,UANAE,YACAC,YAKAH,UALAG,WACAC,SAIAJ,UAJAI,QACAC,QAGAL,UAHAK,OACAC,AAAMC,QAENP,UAFAM,MACGE,sCACHR;;;;;;;;;;;;IACJ,IAAMS,eAAeX,MAAMY,eAAe;IAE1C,IAAMC,iBAAiB;QAACT,YAAAA;QAAYE,QAAAA;IAAM;IAC1C,IAAMQ,cAAcb,UAAU,mBAAmBY;IACjD,IAAME,aAAad,UAAU,cAAcY;IAE3C,qBACI,qBAACG,SAAG;QACAlB,KAAKA;OACDG,UAAU,cAAc;QAACI,WAAAA;QAAWE,OAAAA;OAAUM,kBAC9CH;QACJO,KAAK;YAAC,mBAAmBtB;QAAS;kBAElC,cAAA,sBAACuB,UAAI;YACDC,SAAQ;YACRC,OAAM;YACNhB,YAAY;gBAACiB,OAAOP,YAAYT,SAAS;gBAAEiB,MAAMP,WAAWV,SAAS;YAAA;YACrEC,QAAQ;gBAACe,OAAOP,YAAYP,KAAK;gBAAEe,MAAMP,WAAWR,KAAK;YAAA;;gBAExDP,MAAMuB,wBAAwB,IAAIZ,aAAaa,MAAM,GAAG,kBACrD,qBAACN,UAAI,CAACO,GAAG;oBACLC,MAAK;mBACDzB,UAAU,aAAaY;oBAC3Bc,OAAOC,2BAAoB,CAACC,eAAe;8BAE3C,cAAA,qBAACC,aAAO;wBAACC,OAAOxC;kCACZ,cAAA,qBAACyC,cAAM,CAACC,UAAU;4BACdC,SAASlC,MAAMmC,iBAAiB;4BAChCC,UAAU,CAACpC,MAAMqC,mBAAmB;4BACpCC,2BAAa,qBAACC,+BAAa;gCAACC,QAAQ;;sCAEnChD,mBAAmBmB,aAAaa,MAAM;;;sBAInD;gBACHrB;gBACAT,4BAAc,qBAAC+C,sCAAkB,QAAM;8BACxC,qBAACC,sCAAkB;;;;AAInC;AAEArD,YAAYsD,WAAW,GAAG"}
@@ -30,7 +30,7 @@ var SortingLabels = {
30
30
  var defaultProps = {
31
31
  sortingIcons: SortingIcons
32
32
  };
33
- var Th = function(props) {
33
+ var Th = function Th(props) {
34
34
  var getStyles = (0, _TableContext.useTableContext)().getStyles;
35
35
  var _useProps = (0, _core.useProps)('PlasmaTableTh', defaultProps, props), header = _useProps.header, sortingIcons = _useProps.sortingIcons, classNames = _useProps.classNames, className = _useProps.className, styles = _useProps.styles, style = _useProps.style, vars = _useProps.vars, others = _object_without_properties._(_useProps, [
36
36
  "header",
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/Table/table-header/Th.tsx"],"sourcesContent":["import {ArrowDownSize16Px, ArrowUpSize16Px, DoubleArrowHeadVSize16Px} from '@coveord/plasma-react-icons';\nimport {BoxProps, CompoundStylesApiProps, Factory, Group, UnstyledButton, useProps} from '@mantine/core';\nimport {Header, defaultColumnSizing, flexRender} from '@tanstack/react-table';\nimport {AriaAttributes, ComponentType, ForwardedRef, SVGProps} from 'react';\nimport {CustomComponentThemeExtend, identity} from '../../../utils/createFactoryComponent.js';\nimport {useTableContext} from '../TableContext.js';\n\nexport type TableThStylesNames = 'th';\n\nexport type SortState = 'asc' | 'desc' | 'none';\n\nexport interface ThProps<T = unknown> extends BoxProps, CompoundStylesApiProps<TableThFactory> {\n header: Header<T, unknown>;\n sortingIcons?: Record<SortState, ComponentType<SVGProps<SVGSVGElement>>>;\n}\n\nconst SortingIcons: ThProps['sortingIcons'] = {\n asc: ArrowUpSize16Px,\n desc: ArrowDownSize16Px,\n none: DoubleArrowHeadVSize16Px,\n};\n\nconst SortingLabels: Record<SortState, AriaAttributes['aria-sort']> = {\n asc: 'ascending',\n desc: 'descending',\n none: 'none',\n} as const;\n\nexport type TableThFactory = Factory<{\n props: ThProps;\n ref: HTMLTableCellElement;\n stylesNames: TableThStylesNames;\n compound: true;\n}>;\n\nconst defaultProps: Partial<ThProps> = {\n sortingIcons: SortingIcons,\n};\n\nexport const Th = <T,>(props: ThProps<T> & {ref?: ForwardedRef<HTMLTableCellElement>}) => {\n const {getStyles} = useTableContext();\n const {header, sortingIcons, classNames, className, styles, style, vars, ...others} = useProps(\n 'PlasmaTableTh',\n defaultProps as Partial<ThProps<T>>,\n props,\n );\n\n const columnSizing = {\n ...defaultColumnSizing,\n size: header.column.columnDef.size,\n minSize: header.column.columnDef.minSize,\n maxSize: header.column.columnDef.maxSize,\n };\n\n const thStyles = getStyles('th', {classNames, className, styles, style});\n\n if (header.isPlaceholder) {\n return null;\n }\n\n if (!header.column.getCanSort()) {\n return (\n <th\n className={thStyles.className}\n style={{\n ...thStyles.style,\n width: columnSizing.size ?? 'auto',\n minWidth: columnSizing.minSize,\n maxWidth: columnSizing.maxSize,\n }}\n {...others}\n >\n <Group wrap=\"nowrap\" gap=\"xs\">\n {flexRender(header.column.columnDef.header, header.getContext())}\n </Group>\n </th>\n );\n }\n\n const onSort = header.column.getToggleSortingHandler();\n const sortingOrder = header.column.getIsSorted() || 'none';\n const Icon = sortingIcons[sortingOrder];\n\n return (\n <UnstyledButton\n component=\"th\"\n onClick={onSort}\n aria-sort={SortingLabels[sortingOrder]}\n data-control={true}\n {...thStyles}\n {...others}\n >\n <Group wrap=\"nowrap\" gap=\"xs\">\n {flexRender(header.column.columnDef.header, header.getContext())}\n <Icon height={16} width={16} />\n </Group>\n </UnstyledButton>\n );\n};\nTh.extend = identity as CustomComponentThemeExtend<TableThFactory>;\n"],"names":["Th","SortingIcons","asc","ArrowUpSize16Px","desc","ArrowDownSize16Px","none","DoubleArrowHeadVSize16Px","SortingLabels","defaultProps","sortingIcons","props","getStyles","useTableContext","useProps","header","classNames","className","styles","style","vars","others","columnSizing","defaultColumnSizing","size","column","columnDef","minSize","maxSize","thStyles","isPlaceholder","getCanSort","th","width","minWidth","maxWidth","Group","wrap","gap","flexRender","getContext","onSort","getToggleSortingHandler","sortingOrder","getIsSorted","Icon","UnstyledButton","component","onClick","aria-sort","data-control","height","extend","identity"],"mappings":";;;;+BAuCaA;;;eAAAA;;;;;;;gCAvC8D;oBACc;0BACnC;sCAEH;4BACrB;AAW9B,IAAMC,eAAwC;IAC1CC,KAAKC,iCAAe;IACpBC,MAAMC,mCAAiB;IACvBC,MAAMC,0CAAwB;AAClC;AAEA,IAAMC,gBAAgE;IAClEN,KAAK;IACLE,MAAM;IACNE,MAAM;AACV;AASA,IAAMG,eAAiC;IACnCC,cAAcT;AAClB;AAEO,IAAMD,KAAK,SAAKW;IACnB,IAAM,AAACC,YAAaC,IAAAA,6BAAe,IAA5BD;IACP,IAAsFE,YAAAA,IAAAA,cAAQ,EAC1F,iBACAL,cACAE,QAHGI,SAA+ED,UAA/EC,QAAQL,eAAuEI,UAAvEJ,cAAcM,aAAyDF,UAAzDE,YAAYC,YAA6CH,UAA7CG,WAAWC,SAAkCJ,UAAlCI,QAAQC,QAA0BL,UAA1BK,OAAOC,OAAmBN,UAAnBM,MAASC,sCAAUP;QAA/EC;QAAQL;QAAcM;QAAYC;QAAWC;QAAQC;QAAOC;;IAMnE,IAAME,eAAe,4CACdC,+BAAmB;QACtBC,MAAMT,OAAOU,MAAM,CAACC,SAAS,CAACF,IAAI;QAClCG,SAASZ,OAAOU,MAAM,CAACC,SAAS,CAACC,OAAO;QACxCC,SAASb,OAAOU,MAAM,CAACC,SAAS,CAACE,OAAO;;IAG5C,IAAMC,WAAWjB,UAAU,MAAM;QAACI,YAAAA;QAAYC,WAAAA;QAAWC,QAAAA;QAAQC,OAAAA;IAAK;IAEtE,IAAIJ,OAAOe,aAAa,EAAE;QACtB,OAAO;IACX;IAEA,IAAI,CAACf,OAAOU,MAAM,CAACM,UAAU,IAAI;YAMVT;QALnB,qBACI,qBAACU;YACGf,WAAWY,SAASZ,SAAS;YAC7BE,OAAO,4CACAU,SAASV,KAAK;gBACjBc,OAAOX,CAAAA,qBAAAA,aAAaE,IAAI,cAAjBF,gCAAAA,qBAAqB;gBAC5BY,UAAUZ,aAAaK,OAAO;gBAC9BQ,UAAUb,aAAaM,OAAO;;WAE9BP;sBAEJ,cAAA,qBAACe,WAAK;gBAACC,MAAK;gBAASC,KAAI;0BACpBC,IAAAA,sBAAU,EAACxB,OAAOU,MAAM,CAACC,SAAS,CAACX,MAAM,EAAEA,OAAOyB,UAAU;;;IAI7E;IAEA,IAAMC,SAAS1B,OAAOU,MAAM,CAACiB,uBAAuB;IACpD,IAAMC,eAAe5B,OAAOU,MAAM,CAACmB,WAAW,MAAM;IACpD,IAAMC,OAAOnC,YAAY,CAACiC,aAAa;IAEvC,qBACI,qBAACG,oBAAc;QACXC,WAAU;QACVC,SAASP;QACTQ,aAAWzC,aAAa,CAACmC,aAAa;QACtCO,gBAAc;OACVrB,UACAR;kBAEJ,cAAA,sBAACe,WAAK;YAACC,MAAK;YAASC,KAAI;;gBACpBC,IAAAA,sBAAU,EAACxB,OAAOU,MAAM,CAACC,SAAS,CAACX,MAAM,EAAEA,OAAOyB,UAAU;8BAC7D,qBAACK;oBAAKM,QAAQ;oBAAIlB,OAAO;;;;;AAIzC;AACAjC,GAAGoD,MAAM,GAAGC,gCAAQ"}
1
+ {"version":3,"sources":["../../../../../src/components/Table/table-header/Th.tsx"],"sourcesContent":["import {ArrowDownSize16Px, ArrowUpSize16Px, DoubleArrowHeadVSize16Px} from '@coveord/plasma-react-icons';\nimport {BoxProps, CompoundStylesApiProps, Factory, Group, UnstyledButton, useProps} from '@mantine/core';\nimport {Header, defaultColumnSizing, flexRender} from '@tanstack/react-table';\nimport {AriaAttributes, ComponentType, ForwardedRef, SVGProps} from 'react';\nimport {CustomComponentThemeExtend, identity} from '../../../utils/createFactoryComponent.js';\nimport {useTableContext} from '../TableContext.js';\n\nexport type TableThStylesNames = 'th';\n\nexport type SortState = 'asc' | 'desc' | 'none';\n\nexport interface ThProps<T = unknown> extends BoxProps, CompoundStylesApiProps<TableThFactory> {\n header: Header<T, unknown>;\n sortingIcons?: Record<SortState, ComponentType<SVGProps<SVGSVGElement>>>;\n}\n\nconst SortingIcons: ThProps['sortingIcons'] = {\n asc: ArrowUpSize16Px,\n desc: ArrowDownSize16Px,\n none: DoubleArrowHeadVSize16Px,\n};\n\nconst SortingLabels: Record<SortState, AriaAttributes['aria-sort']> = {\n asc: 'ascending',\n desc: 'descending',\n none: 'none',\n} as const;\n\nexport type TableThFactory = Factory<{\n props: ThProps;\n ref: HTMLTableCellElement;\n stylesNames: TableThStylesNames;\n compound: true;\n}>;\n\nconst defaultProps: Partial<ThProps> = {\n sortingIcons: SortingIcons,\n};\n\nexport const Th = <T,>(props: ThProps<T> & {ref?: ForwardedRef<HTMLTableCellElement>}) => {\n const {getStyles} = useTableContext();\n const {header, sortingIcons, classNames, className, styles, style, vars, ...others} = useProps(\n 'PlasmaTableTh',\n defaultProps as Partial<ThProps<T>>,\n props,\n );\n\n const columnSizing = {\n ...defaultColumnSizing,\n size: header.column.columnDef.size,\n minSize: header.column.columnDef.minSize,\n maxSize: header.column.columnDef.maxSize,\n };\n\n const thStyles = getStyles('th', {classNames, className, styles, style});\n\n if (header.isPlaceholder) {\n return null;\n }\n\n if (!header.column.getCanSort()) {\n return (\n <th\n className={thStyles.className}\n style={{\n ...thStyles.style,\n width: columnSizing.size ?? 'auto',\n minWidth: columnSizing.minSize,\n maxWidth: columnSizing.maxSize,\n }}\n {...others}\n >\n <Group wrap=\"nowrap\" gap=\"xs\">\n {flexRender(header.column.columnDef.header, header.getContext())}\n </Group>\n </th>\n );\n }\n\n const onSort = header.column.getToggleSortingHandler();\n const sortingOrder = header.column.getIsSorted() || 'none';\n const Icon = sortingIcons[sortingOrder];\n\n return (\n <UnstyledButton\n component=\"th\"\n onClick={onSort}\n aria-sort={SortingLabels[sortingOrder]}\n data-control={true}\n {...thStyles}\n {...others}\n >\n <Group wrap=\"nowrap\" gap=\"xs\">\n {flexRender(header.column.columnDef.header, header.getContext())}\n <Icon height={16} width={16} />\n </Group>\n </UnstyledButton>\n );\n};\nTh.extend = identity as CustomComponentThemeExtend<TableThFactory>;\n"],"names":["Th","SortingIcons","asc","ArrowUpSize16Px","desc","ArrowDownSize16Px","none","DoubleArrowHeadVSize16Px","SortingLabels","defaultProps","sortingIcons","props","getStyles","useTableContext","useProps","header","classNames","className","styles","style","vars","others","columnSizing","defaultColumnSizing","size","column","columnDef","minSize","maxSize","thStyles","isPlaceholder","getCanSort","th","width","minWidth","maxWidth","Group","wrap","gap","flexRender","getContext","onSort","getToggleSortingHandler","sortingOrder","getIsSorted","Icon","UnstyledButton","component","onClick","aria-sort","data-control","height","extend","identity"],"mappings":";;;;+BAuCaA;;;eAAAA;;;;;;;gCAvC8D;oBACc;0BACnC;sCAEH;4BACrB;AAW9B,IAAMC,eAAwC;IAC1CC,KAAKC,iCAAe;IACpBC,MAAMC,mCAAiB;IACvBC,MAAMC,0CAAwB;AAClC;AAEA,IAAMC,gBAAgE;IAClEN,KAAK;IACLE,MAAM;IACNE,MAAM;AACV;AASA,IAAMG,eAAiC;IACnCC,cAAcT;AAClB;AAEO,IAAMD,KAAK,YAAKW;IACnB,IAAM,AAACC,YAAaC,IAAAA,6BAAe,IAA5BD;IACP,IAAsFE,YAAAA,IAAAA,cAAQ,EAC1F,iBACAL,cACAE,QAHGI,SAA+ED,UAA/EC,QAAQL,eAAuEI,UAAvEJ,cAAcM,aAAyDF,UAAzDE,YAAYC,YAA6CH,UAA7CG,WAAWC,SAAkCJ,UAAlCI,QAAQC,QAA0BL,UAA1BK,OAAOC,OAAmBN,UAAnBM,MAASC,sCAAUP;;;;;;;;;IAMtF,IAAMQ,eAAe,4CACdC,+BAAmB;QACtBC,MAAMT,OAAOU,MAAM,CAACC,SAAS,CAACF,IAAI;QAClCG,SAASZ,OAAOU,MAAM,CAACC,SAAS,CAACC,OAAO;QACxCC,SAASb,OAAOU,MAAM,CAACC,SAAS,CAACE,OAAO;;IAG5C,IAAMC,WAAWjB,UAAU,MAAM;QAACI,YAAAA;QAAYC,WAAAA;QAAWC,QAAAA;QAAQC,OAAAA;IAAK;IAEtE,IAAIJ,OAAOe,aAAa,EAAE;QACtB,OAAO;IACX;IAEA,IAAI,CAACf,OAAOU,MAAM,CAACM,UAAU,IAAI;YAMVT;QALnB,qBACI,qBAACU;YACGf,WAAWY,SAASZ,SAAS;YAC7BE,OAAO,4CACAU,SAASV,KAAK;gBACjBc,KAAK,GAAEX,qBAAAA,aAAaE,IAAI,cAAjBF,gCAAAA,qBAAqB;gBAC5BY,UAAUZ,aAAaK,OAAO;gBAC9BQ,UAAUb,aAAaM,OAAO;;WAE9BP;sBAEJ,cAAA,qBAACe,WAAK;gBAACC,MAAK;gBAASC,KAAI;0BACpBC,IAAAA,sBAAU,EAACxB,OAAOU,MAAM,CAACC,SAAS,CAACX,MAAM,EAAEA,OAAOyB,UAAU;;;IAI7E;IAEA,IAAMC,SAAS1B,OAAOU,MAAM,CAACiB,uBAAuB;IACpD,IAAMC,eAAe5B,OAAOU,MAAM,CAACmB,WAAW,MAAM;IACpD,IAAMC,OAAOnC,YAAY,CAACiC,aAAa;IAEvC,qBACI,qBAACG,oBAAc;QACXC,WAAU;QACVC,SAASP;QACTQ,aAAWzC,aAAa,CAACmC,aAAa;QACtCO,gBAAc;OACVrB,UACAR;kBAEJ,cAAA,sBAACe,WAAK;YAACC,MAAK;YAASC,KAAI;;gBACpBC,IAAAA,sBAAU,EAACxB,OAAOU,MAAM,CAACC,SAAS,CAACX,MAAM,EAAEA,OAAOyB,UAAU;8BAC7D,qBAACK;oBAAKM,QAAQ;oBAAIlB,OAAO;;;;;AAIzC;AACAjC,GAAGoD,MAAM,GAAGC,gCAAQ"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/Table/table-last-updated/TableLastUpdated.tsx"],"sourcesContent":["import {BoxProps, CompoundStylesApiProps, factory, Factory} from '@mantine/core';\nimport {useDidUpdate} from '@mantine/hooks';\nimport {useState} from 'react';\nimport {LastUpdated, LastUpdatedProps} from '../../LastUpdated/LastUpdated.js';\nimport {useTableContext} from '../TableContext.js';\n\nexport type TableLastUpdatedStylesNames = 'lastUpdatedRoot' | 'lastUpdatedLabel';\n\nexport interface TableLastUpdatedProps\n extends BoxProps, CompoundStylesApiProps<TableLastUpdatedFactory>, Pick<LastUpdatedProps, 'label'> {}\n\nexport type TableLastUpdatedFactory = Factory<{\n props: TableLastUpdatedProps;\n ref: HTMLDivElement;\n stylesNames: TableLastUpdatedStylesNames;\n compound: true;\n}>;\n\nexport const TableLastUpdated = factory<TableLastUpdatedFactory>((props, ref) => {\n const {table, getStyles} = useTableContext();\n const {classNames: _classNames, styles: _styles, vars: _vars, ...lastUpdatedProps} = props;\n const [time, setTime] = useState(new Date());\n\n const {className: rootClassName, style: rootStyle} = getStyles('lastUpdatedRoot', {\n classNames: _classNames,\n styles: _styles,\n });\n\n const {className: labelClassName, style: labelStyle} = getStyles('lastUpdatedLabel', {\n classNames: _classNames,\n styles: _styles,\n });\n\n useDidUpdate(() => {\n setTime(new Date());\n }, [table.options.data]);\n\n return (\n <LastUpdated\n time={time}\n ref={ref}\n justify=\"right\"\n px=\"lg\"\n classNames={{root: rootClassName, label: labelClassName}}\n styles={{root: rootStyle, label: labelStyle}}\n {...lastUpdatedProps}\n />\n );\n});\n\nTableLastUpdated.displayName = 'Table.LastUpdated';\n"],"names":["TableLastUpdated","factory","props","ref","useTableContext","table","getStyles","classNames","_classNames","styles","_styles","vars","_vars","lastUpdatedProps","useState","Date","time","setTime","className","rootClassName","style","rootStyle","labelClassName","labelStyle","useDidUpdate","options","data","LastUpdated","justify","px","root","label","displayName"],"mappings":";;;;+BAkBaA;;;eAAAA;;;;;;;oBAlBoD;qBACtC;qBACJ;2BACqB;4BACd;AAcvB,IAAMA,mBAAmBC,IAAAA,aAAO,EAA0B,SAACC,OAAOC;IACrE,IAA2BC,mBAAAA,IAAAA,6BAAe,KAAnCC,QAAoBD,iBAApBC,OAAOC,YAAaF,iBAAbE;IACd,IAAOC,AAAYC,cAAkEN,MAA9EK,YAAyBE,AAAQC,UAA6CR,MAArDO,QAAiBE,AAAMC,QAA8BV,MAApCS,MAAgBE,gDAAoBX;QAA9EK;QAAyBE;QAAiBE;;IACjD,IAAwBG,+BAAAA,IAAAA,eAAQ,EAAC,IAAIC,aAA9BC,OAAiBF,cAAXG,UAAWH;IAExB,IAAqDR,aAAAA,UAAU,mBAAmB;QAC9EC,YAAYC;QACZC,QAAQC;IACZ,IAHOQ,AAAWC,gBAAmCb,WAA9CY,WAA0BE,AAAOC,YAAaf,WAApBc;IAKjC,IAAuDd,cAAAA,UAAU,oBAAoB;QACjFC,YAAYC;QACZC,QAAQC;IACZ,IAHOQ,AAAWI,iBAAqChB,YAAhDY,WAA2BE,AAAOG,aAAcjB,YAArBc;IAKlCI,IAAAA,mBAAY,EAAC;QACTP,QAAQ,IAAIF;IAChB,GAAG;QAACV,MAAMoB,OAAO,CAACC,IAAI;KAAC;IAEvB,qBACI,qBAACC,wBAAW;QACRX,MAAMA;QACNb,KAAKA;QACLyB,SAAQ;QACRC,IAAG;QACHtB,YAAY;YAACuB,MAAMX;YAAeY,OAAOT;QAAc;QACvDb,QAAQ;YAACqB,MAAMT;YAAWU,OAAOR;QAAU;OACvCV;AAGhB;AAEAb,iBAAiBgC,WAAW,GAAG"}
1
+ {"version":3,"sources":["../../../../../src/components/Table/table-last-updated/TableLastUpdated.tsx"],"sourcesContent":["import {BoxProps, CompoundStylesApiProps, factory, Factory} from '@mantine/core';\nimport {useDidUpdate} from '@mantine/hooks';\nimport {useState} from 'react';\nimport {LastUpdated, LastUpdatedProps} from '../../LastUpdated/LastUpdated.js';\nimport {useTableContext} from '../TableContext.js';\n\nexport type TableLastUpdatedStylesNames = 'lastUpdatedRoot' | 'lastUpdatedLabel';\n\nexport interface TableLastUpdatedProps\n extends BoxProps, CompoundStylesApiProps<TableLastUpdatedFactory>, Pick<LastUpdatedProps, 'label'> {}\n\nexport type TableLastUpdatedFactory = Factory<{\n props: TableLastUpdatedProps;\n ref: HTMLDivElement;\n stylesNames: TableLastUpdatedStylesNames;\n compound: true;\n}>;\n\nexport const TableLastUpdated = factory<TableLastUpdatedFactory>((props, ref) => {\n const {table, getStyles} = useTableContext();\n const {classNames: _classNames, styles: _styles, vars: _vars, ...lastUpdatedProps} = props;\n const [time, setTime] = useState(new Date());\n\n const {className: rootClassName, style: rootStyle} = getStyles('lastUpdatedRoot', {\n classNames: _classNames,\n styles: _styles,\n });\n\n const {className: labelClassName, style: labelStyle} = getStyles('lastUpdatedLabel', {\n classNames: _classNames,\n styles: _styles,\n });\n\n useDidUpdate(() => {\n setTime(new Date());\n }, [table.options.data]);\n\n return (\n <LastUpdated\n time={time}\n ref={ref}\n justify=\"right\"\n px=\"lg\"\n classNames={{root: rootClassName, label: labelClassName}}\n styles={{root: rootStyle, label: labelStyle}}\n {...lastUpdatedProps}\n />\n );\n});\n\nTableLastUpdated.displayName = 'Table.LastUpdated';\n"],"names":["TableLastUpdated","factory","props","ref","useTableContext","table","getStyles","classNames","_classNames","styles","_styles","vars","_vars","lastUpdatedProps","useState","Date","time","setTime","className","rootClassName","style","rootStyle","labelClassName","labelStyle","useDidUpdate","options","data","LastUpdated","justify","px","root","label","displayName"],"mappings":";;;;+BAkBaA;;;eAAAA;;;;;;;oBAlBoD;qBACtC;qBACJ;2BACqB;4BACd;AAcvB,IAAMA,mBAAmBC,IAAAA,aAAO,EAA0B,SAACC,OAAOC;IACrE,IAA2BC,mBAAAA,IAAAA,6BAAe,KAAnCC,QAAoBD,iBAApBC,OAAOC,YAAaF,iBAAbE;IACd,IAAOC,AAAYC,cAAkEN,MAA9EK,YAAyBE,AAAQC,UAA6CR,MAArDO,QAAiBE,AAAMC,QAA8BV,MAApCS,MAAgBE,gDAAoBX;;;;;IACrF,IAAwBY,+BAAAA,IAAAA,eAAQ,EAAC,IAAIC,aAA9BC,OAAiBF,cAAXG,UAAWH;IAExB,IAAqDR,aAAAA,UAAU,mBAAmB;QAC9EC,YAAYC;QACZC,QAAQC;IACZ,IAHOQ,AAAWC,gBAAmCb,WAA9CY,WAA0BE,AAAOC,YAAaf,WAApBc;IAKjC,IAAuDd,cAAAA,UAAU,oBAAoB;QACjFC,YAAYC;QACZC,QAAQC;IACZ,IAHOQ,AAAWI,iBAAqChB,YAAhDY,WAA2BE,AAAOG,aAAcjB,YAArBc;IAKlCI,IAAAA,mBAAY,EAAC;QACTP,QAAQ,IAAIF;IAChB,GAAG;QAACV,MAAMoB,OAAO,CAACC,IAAI;KAAC;IAEvB,qBACI,qBAACC,wBAAW;QACRX,MAAMA;QACNb,KAAKA;QACLyB,SAAQ;QACRC,IAAG;QACHtB,YAAY;YAACuB,MAAMX;YAAeY,OAAOT;QAAc;QACvDb,QAAQ;YAACqB,MAAMT;YAAWU,OAAOR;QAAU;OACvCV;AAGhB;AAEAb,iBAAiBgC,WAAW,GAAG"}
@@ -12,7 +12,7 @@ var _object_spread = require("@swc/helpers/_/_object_spread");
12
12
  var _object_spread_props = require("@swc/helpers/_/_object_spread_props");
13
13
  var _jsxruntime = require("react/jsx-runtime");
14
14
  var _core = require("@mantine/core");
15
- var TableLoading = function(props) {
15
+ var TableLoading = function TableLoading(props) {
16
16
  return /*#__PURE__*/ (0, _jsxruntime.jsx)(_core.Skeleton, _object_spread_props._(_object_spread._({}, props), {
17
17
  style: !props.visible ? {
18
18
  borderRadius: 0
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/Table/table-loading/TableLoading.tsx"],"sourcesContent":["import {Skeleton, SkeletonProps} from '@mantine/core';\nimport {FunctionComponent} from 'react';\n\nexport const TableLoading: FunctionComponent<SkeletonProps> = (props) => (\n <Skeleton {...props} style={!props.visible ? {borderRadius: 0} : undefined}>\n {props.children}\n </Skeleton>\n);\n\nTableLoading.displayName = 'Table.Loading';\n"],"names":["TableLoading","props","Skeleton","style","visible","borderRadius","undefined","children","displayName"],"mappings":";;;;+BAGaA;;;eAAAA;;;;;;oBAHyB;AAG/B,IAAMA,eAAiD,SAACC;yBAC3D,qBAACC,cAAQ,8CAAKD;QAAOE,OAAO,CAACF,MAAMG,OAAO,GAAG;YAACC,cAAc;QAAC,IAAIC;kBAC5DL,MAAMM,QAAQ;;;AAIvBP,aAAaQ,WAAW,GAAG"}
1
+ {"version":3,"sources":["../../../../../src/components/Table/table-loading/TableLoading.tsx"],"sourcesContent":["import {Skeleton, SkeletonProps} from '@mantine/core';\nimport {FunctionComponent} from 'react';\n\nexport const TableLoading: FunctionComponent<SkeletonProps> = (props) => (\n <Skeleton {...props} style={!props.visible ? {borderRadius: 0} : undefined}>\n {props.children}\n </Skeleton>\n);\n\nTableLoading.displayName = 'Table.Loading';\n"],"names":["TableLoading","props","Skeleton","style","visible","borderRadius","undefined","children","displayName"],"mappings":";;;;+BAGaA;;;eAAAA;;;;;;oBAHyB;AAG/B,IAAMA,eAAiD,sBAACC;yBAC3D,qBAACC,cAAQ,8CAAKD;QAAOE,OAAO,CAACF,MAAMG,OAAO,GAAG;YAACC,cAAc;QAAC,IAAIC;kBAC5DL,MAAMM,QAAQ;;;AAIvBP,aAAaQ,WAAW,GAAG"}
@@ -9,7 +9,7 @@ Object.defineProperty(exports, "TableNoData", {
9
9
  }
10
10
  });
11
11
  var _jsxruntime = require("react/jsx-runtime");
12
- var TableNoData = function(param) {
12
+ var TableNoData = function TableNoData(param) {
13
13
  var children = param.children;
14
14
  return /*#__PURE__*/ (0, _jsxruntime.jsx)(_jsxruntime.Fragment, {
15
15
  children: children
@@ -14,10 +14,10 @@ var _jsxruntime = require("react/jsx-runtime");
14
14
  var _core = require("@mantine/core");
15
15
  var _hooks = require("@mantine/hooks");
16
16
  var _TableContext = require("../TableContext.js");
17
- var TablePagination = function(param) {
17
+ var TablePagination = function TablePagination(param) {
18
18
  var onPageChange = param.onPageChange;
19
19
  var _useTableContext = (0, _TableContext.useTableContext)(), store = _useTableContext.store, table = _useTableContext.table, containerRef = _useTableContext.containerRef;
20
- var updatePage = function(newPage) {
20
+ var updatePage = function updatePage(newPage) {
21
21
  onPageChange === null || onPageChange === void 0 ? void 0 : onPageChange(newPage - 1);
22
22
  store.setPagination(function(prev) {
23
23
  return _object_spread_props._(_object_spread._({}, prev), {
@@ -44,7 +44,7 @@ var TablePagination = function(param) {
44
44
  boundaries: 1,
45
45
  size: "md",
46
46
  gap: "xs",
47
- getControlProps: function(control) {
47
+ getControlProps: function getControlProps(control) {
48
48
  switch(control){
49
49
  case 'previous':
50
50
  return {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/Table/table-pagination/TablePagination.tsx"],"sourcesContent":["import {Pagination} from '@mantine/core';\nimport {useDidUpdate} from '@mantine/hooks';\nimport {FunctionComponent} from 'react';\n\nimport {useTableContext} from '../TableContext.js';\nimport {TablePaginationProps} from './TablePagination.types.js';\n\nexport const TablePagination: FunctionComponent<TablePaginationProps> = ({onPageChange}) => {\n const {store, table, containerRef} = useTableContext();\n\n const updatePage = (newPage: number) => {\n onPageChange?.(newPage - 1);\n store.setPagination((prev) => ({...prev, pageIndex: newPage - 1}));\n containerRef.current.scrollIntoView({behavior: 'smooth'});\n };\n\n const total = table.getPageCount();\n\n useDidUpdate(() => {\n if (store.state.pagination.pageIndex + 1 > total && total > 0) {\n updatePage(total);\n }\n }, [store.state.pagination.pageIndex, total]);\n\n return (\n <Pagination\n value={store.state.pagination.pageIndex + 1}\n onChange={updatePage}\n total={total}\n boundaries={1}\n size=\"md\"\n gap=\"xs\"\n getControlProps={(control) => {\n switch (control) {\n case 'previous':\n return {\n component: 'button',\n 'aria-label': 'previous page',\n };\n case 'next':\n return {component: 'button', 'aria-label': 'next page'};\n default:\n return {};\n }\n }}\n />\n );\n};\n\nTablePagination.displayName = 'Table.Pagination';\n"],"names":["TablePagination","onPageChange","useTableContext","store","table","containerRef","updatePage","newPage","setPagination","prev","pageIndex","current","scrollIntoView","behavior","total","getPageCount","useDidUpdate","state","pagination","Pagination","value","onChange","boundaries","size","gap","getControlProps","control","component","displayName"],"mappings":";;;;+BAOaA;;;eAAAA;;;;;;oBAPY;qBACE;4BAGG;AAGvB,IAAMA,kBAA2D;QAAEC,qBAAAA;IACtE,IAAqCC,mBAAAA,IAAAA,6BAAe,KAA7CC,QAA8BD,iBAA9BC,OAAOC,QAAuBF,iBAAvBE,OAAOC,eAAgBH,iBAAhBG;IAErB,IAAMC,aAAa,SAACC;QAChBN,yBAAAA,mCAAAA,aAAeM,UAAU;QACzBJ,MAAMK,aAAa,CAAC,SAACC;mBAAU,4CAAIA;gBAAMC,WAAWH,UAAU;;;QAC9DF,aAAaM,OAAO,CAACC,cAAc,CAAC;YAACC,UAAU;QAAQ;IAC3D;IAEA,IAAMC,QAAQV,MAAMW,YAAY;IAEhCC,IAAAA,mBAAY,EAAC;QACT,IAAIb,MAAMc,KAAK,CAACC,UAAU,CAACR,SAAS,GAAG,IAAII,SAASA,QAAQ,GAAG;YAC3DR,WAAWQ;QACf;IACJ,GAAG;QAACX,MAAMc,KAAK,CAACC,UAAU,CAACR,SAAS;QAAEI;KAAM;IAE5C,qBACI,qBAACK,gBAAU;QACPC,OAAOjB,MAAMc,KAAK,CAACC,UAAU,CAACR,SAAS,GAAG;QAC1CW,UAAUf;QACVQ,OAAOA;QACPQ,YAAY;QACZC,MAAK;QACLC,KAAI;QACJC,iBAAiB,SAACC;YACd,OAAQA;gBACJ,KAAK;oBACD,OAAO;wBACHC,WAAW;wBACX,cAAc;oBAClB;gBACJ,KAAK;oBACD,OAAO;wBAACA,WAAW;wBAAU,cAAc;oBAAW;gBAC1D;oBACI,OAAO,CAAC;YAChB;QACJ;;AAGZ;AAEA3B,gBAAgB4B,WAAW,GAAG"}
1
+ {"version":3,"sources":["../../../../../src/components/Table/table-pagination/TablePagination.tsx"],"sourcesContent":["import {Pagination} from '@mantine/core';\nimport {useDidUpdate} from '@mantine/hooks';\nimport {FunctionComponent} from 'react';\n\nimport {useTableContext} from '../TableContext.js';\nimport {TablePaginationProps} from './TablePagination.types.js';\n\nexport const TablePagination: FunctionComponent<TablePaginationProps> = ({onPageChange}) => {\n const {store, table, containerRef} = useTableContext();\n\n const updatePage = (newPage: number) => {\n onPageChange?.(newPage - 1);\n store.setPagination((prev) => ({...prev, pageIndex: newPage - 1}));\n containerRef.current.scrollIntoView({behavior: 'smooth'});\n };\n\n const total = table.getPageCount();\n\n useDidUpdate(() => {\n if (store.state.pagination.pageIndex + 1 > total && total > 0) {\n updatePage(total);\n }\n }, [store.state.pagination.pageIndex, total]);\n\n return (\n <Pagination\n value={store.state.pagination.pageIndex + 1}\n onChange={updatePage}\n total={total}\n boundaries={1}\n size=\"md\"\n gap=\"xs\"\n getControlProps={(control) => {\n switch (control) {\n case 'previous':\n return {\n component: 'button',\n 'aria-label': 'previous page',\n };\n case 'next':\n return {component: 'button', 'aria-label': 'next page'};\n default:\n return {};\n }\n }}\n />\n );\n};\n\nTablePagination.displayName = 'Table.Pagination';\n"],"names":["TablePagination","onPageChange","useTableContext","store","table","containerRef","updatePage","newPage","setPagination","prev","pageIndex","current","scrollIntoView","behavior","total","getPageCount","useDidUpdate","state","pagination","Pagination","value","onChange","boundaries","size","gap","getControlProps","control","component","displayName"],"mappings":";;;;+BAOaA;;;eAAAA;;;;;;oBAPY;qBACE;4BAGG;AAGvB,IAAMA,kBAA2D;QAAEC,qBAAAA;IACtE,IAAqCC,mBAAAA,IAAAA,6BAAe,KAA7CC,QAA8BD,iBAA9BC,OAAOC,QAAuBF,iBAAvBE,OAAOC,eAAgBH,iBAAhBG;IAErB,IAAMC,aAAa,oBAACC;QAChBN,yBAAAA,mCAAAA,aAAeM,UAAU;QACzBJ,MAAMK,aAAa,CAAC,SAACC;mBAAU,4CAAIA;gBAAMC,WAAWH,UAAU;;;QAC9DF,aAAaM,OAAO,CAACC,cAAc,CAAC;YAACC,UAAU;QAAQ;IAC3D;IAEA,IAAMC,QAAQV,MAAMW,YAAY;IAEhCC,IAAAA,mBAAY,EAAC;QACT,IAAIb,MAAMc,KAAK,CAACC,UAAU,CAACR,SAAS,GAAG,IAAII,SAASA,QAAQ,GAAG;YAC3DR,WAAWQ;QACf;IACJ,GAAG;QAACX,MAAMc,KAAK,CAACC,UAAU,CAACR,SAAS;QAAEI;KAAM;IAE5C,qBACI,qBAACK,gBAAU;QACPC,OAAOjB,MAAMc,KAAK,CAACC,UAAU,CAACR,SAAS,GAAG;QAC1CW,UAAUf;QACVQ,OAAOA;QACPQ,YAAY;QACZC,MAAK;QACLC,KAAI;QACJC,iBAAiB,SAAjBA,gBAAkBC;YACd,OAAQA;gBACJ,KAAK;oBACD,OAAO;wBACHC,WAAW;wBACX,cAAc;oBAClB;gBACJ,KAAK;oBACD,OAAO;wBAACA,WAAW;wBAAU,cAAc;oBAAW;gBAC1D;oBACI,OAAO,CAAC;YAChB;QACJ;;AAGZ;AAEA3B,gBAAgB4B,WAAW,GAAG"}
@@ -12,12 +12,13 @@ var _jsxruntime = require("react/jsx-runtime");
12
12
  var _core = require("@mantine/core");
13
13
  var _react = require("react");
14
14
  var _TableContext = require("../TableContext.js");
15
- var TablePerPage = function(param) {
15
+ var TablePerPage = function TablePerPage(param) {
16
16
  var _param_label = param.label, label = _param_label === void 0 ? 'Results per page' : _param_label, _param_values = param.values, values = _param_values === void 0 ? [
17
17
  25,
18
18
  50,
19
19
  100
20
20
  ] : _param_values, onPerPageChange = param.onPerPageChange;
21
+ var _ref, _store_state_pagination_pageSize_toString;
21
22
  var _useTableContext = (0, _TableContext.useTableContext)(), store = _useTableContext.store, table = _useTableContext.table;
22
23
  var choices = (0, _react.useMemo)(function() {
23
24
  return values.map(function(value) {
@@ -26,14 +27,13 @@ var TablePerPage = function(param) {
26
27
  }, [
27
28
  values
28
29
  ]);
29
- var updatePerPage = function(newPerPage) {
30
+ var updatePerPage = function updatePerPage(newPerPage) {
30
31
  onPerPageChange === null || onPerPageChange === void 0 ? void 0 : onPerPageChange(Number(newPerPage));
31
32
  store.setPagination({
32
33
  pageIndex: 0,
33
34
  pageSize: parseInt(newPerPage, 10)
34
35
  });
35
36
  };
36
- var _store_state_pagination_pageSize_toString, _ref;
37
37
  return table.getPageCount() > 0 ? /*#__PURE__*/ (0, _jsxruntime.jsxs)(_core.Group, {
38
38
  gap: "sm",
39
39
  children: [
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/Table/table-per-page/TablePerPage.tsx"],"sourcesContent":["import {Group, SegmentedControl, Text} from '@mantine/core';\nimport {FunctionComponent, useMemo} from 'react';\n\nimport {useTableContext} from '../TableContext.js';\nimport {TablePerPageProps} from './TablePerPage.types.js';\n\nexport const TablePerPage: FunctionComponent<TablePerPageProps> & {DEFAULT_SIZE: number} = ({\n label = 'Results per page',\n values = [25, 50, 100],\n onPerPageChange,\n}) => {\n const {store, table} = useTableContext();\n const choices = useMemo(() => values.map((value) => value.toString()), [values]);\n\n const updatePerPage = (newPerPage: string) => {\n onPerPageChange?.(Number(newPerPage));\n store.setPagination({pageIndex: 0, pageSize: parseInt(newPerPage, 10)});\n };\n\n return table.getPageCount() > 0 ? (\n <Group gap=\"sm\">\n <Text fw={500}>{label}</Text>\n <SegmentedControl\n value={store.state.pagination.pageSize.toString() ?? choices[1] ?? choices[0]}\n onChange={updatePerPage}\n data={choices}\n size=\"sm\"\n />\n </Group>\n ) : null;\n};\n\nTablePerPage.displayName = 'Table.PerPage';\nTablePerPage.DEFAULT_SIZE = 50;\n"],"names":["TablePerPage","label","values","onPerPageChange","useTableContext","store","table","choices","useMemo","map","value","toString","updatePerPage","newPerPage","Number","setPagination","pageIndex","pageSize","parseInt","getPageCount","Group","gap","Text","fw","SegmentedControl","state","pagination","onChange","data","size","displayName","DEFAULT_SIZE"],"mappings":";;;;+BAMaA;;;eAAAA;;;;oBAN+B;qBACH;4BAEX;AAGvB,IAAMA,eAA8E;6BACvFC,OAAAA,kCAAQ,yDACRC,QAAAA,oCAAS;QAAC;QAAI;QAAI;KAAI,kBACtBC,wBAAAA;IAEA,IAAuBC,mBAAAA,IAAAA,6BAAe,KAA/BC,QAAgBD,iBAAhBC,OAAOC,QAASF,iBAATE;IACd,IAAMC,UAAUC,IAAAA,cAAO,EAAC;eAAMN,OAAOO,GAAG,CAAC,SAACC;mBAAUA,MAAMC,QAAQ;;OAAK;QAACT;KAAO;IAE/E,IAAMU,gBAAgB,SAACC;QACnBV,4BAAAA,sCAAAA,gBAAkBW,OAAOD;QACzBR,MAAMU,aAAa,CAAC;YAACC,WAAW;YAAGC,UAAUC,SAASL,YAAY;QAAG;IACzE;QAMmBR,2CAAAA;IAJnB,OAAOC,MAAMa,YAAY,KAAK,kBAC1B,sBAACC,WAAK;QAACC,KAAI;;0BACP,qBAACC,UAAI;gBAACC,IAAI;0BAAMtB;;0BAChB,qBAACuB,sBAAgB;gBACbd,OAAOL,CAAAA,OAAAA,CAAAA,4CAAAA,MAAMoB,KAAK,CAACC,UAAU,CAACT,QAAQ,CAACN,QAAQ,gBAAxCN,uDAAAA,4CAA8CE,OAAO,CAAC,EAAE,cAAxDF,kBAAAA,OAA4DE,OAAO,CAAC,EAAE;gBAC7EoB,UAAUf;gBACVgB,MAAMrB;gBACNsB,MAAK;;;SAGb;AACR;AAEA7B,aAAa8B,WAAW,GAAG;AAC3B9B,aAAa+B,YAAY,GAAG"}
1
+ {"version":3,"sources":["../../../../../src/components/Table/table-per-page/TablePerPage.tsx"],"sourcesContent":["import {Group, SegmentedControl, Text} from '@mantine/core';\nimport {FunctionComponent, useMemo} from 'react';\n\nimport {useTableContext} from '../TableContext.js';\nimport {TablePerPageProps} from './TablePerPage.types.js';\n\nexport const TablePerPage: FunctionComponent<TablePerPageProps> & {DEFAULT_SIZE: number} = ({\n label = 'Results per page',\n values = [25, 50, 100],\n onPerPageChange,\n}) => {\n const {store, table} = useTableContext();\n const choices = useMemo(() => values.map((value) => value.toString()), [values]);\n\n const updatePerPage = (newPerPage: string) => {\n onPerPageChange?.(Number(newPerPage));\n store.setPagination({pageIndex: 0, pageSize: parseInt(newPerPage, 10)});\n };\n\n return table.getPageCount() > 0 ? (\n <Group gap=\"sm\">\n <Text fw={500}>{label}</Text>\n <SegmentedControl\n value={store.state.pagination.pageSize.toString() ?? choices[1] ?? choices[0]}\n onChange={updatePerPage}\n data={choices}\n size=\"sm\"\n />\n </Group>\n ) : null;\n};\n\nTablePerPage.displayName = 'Table.PerPage';\nTablePerPage.DEFAULT_SIZE = 50;\n"],"names":["TablePerPage","label","values","onPerPageChange","store","useTableContext","table","choices","useMemo","map","value","toString","updatePerPage","newPerPage","Number","setPagination","pageIndex","pageSize","parseInt","getPageCount","Group","gap","Text","fw","SegmentedControl","state","pagination","onChange","data","size","displayName","DEFAULT_SIZE"],"mappings":";;;;+BAMaA;;;eAAAA;;;;oBAN+B;qBACH;4BAEX;AAGvB,IAAMA,eAA8E;6BACvFC,OAAAA,kCAAQ,yDACRC,QAAAA,oCAAS;QAAC;QAAI;QAAI;KAAI,kBACtBC,wBAAAA;QAcmBC,MAAAA;IAZnB,IAAuBC,mBAAAA,IAAAA,6BAAe,KAA/BD,QAAgBC,iBAAhBD,OAAOE,QAASD,iBAATC;IACd,IAAMC,UAAUC,IAAAA,cAAO,EAAC;eAAMN,OAAOO,GAAG,CAAC,SAACC;mBAAUA,MAAMC,QAAQ;;OAAK;QAACT;KAAO;IAE/E,IAAMU,gBAAgB,uBAACC;QACnBV,4BAAAA,sCAAAA,gBAAkBW,OAAOD;QACzBT,MAAMW,aAAa,CAAC;YAACC,WAAW;YAAGC,UAAUC,SAASL,YAAY;QAAG;IACzE;IAEA,OAAOP,MAAMa,YAAY,KAAK,kBAC1B,sBAACC,WAAK;QAACC,KAAI;;0BACP,qBAACC,UAAI;gBAACC,IAAI;0BAAMtB;;0BAChB,qBAACuB,sBAAgB;gBACbd,KAAK,GAAEN,QAAAA,4CAAAA,MAAMqB,KAAK,CAACC,UAAU,CAACT,QAAQ,CAACN,QAAQ,gBAAxCP,uDAAAA,4CAA8CG,OAAO,CAAC,EAAE,cAAxDH,kBAAAA,OAA4DG,OAAO,CAAC,EAAE;gBAC7EoB,UAAUf;gBACVgB,MAAMrB;gBACNsB,MAAK;;;SAGb;AACR;AAEA7B,aAAa8B,WAAW,GAAG;AAC3B9B,aAAa+B,YAAY,GAAG"}
@@ -31,7 +31,7 @@ var TablePredicate = (0, _core.factory)(function(props, ref) {
31
31
  "comboboxProps",
32
32
  "vars"
33
33
  ]);
34
- var handleChange = function(newValue) {
34
+ var handleChange = function handleChange(newValue) {
35
35
  store.setPredicates(function(prev) {
36
36
  return _object_spread_props._(_object_spread._({}, prev), _define_property._({}, id, newValue));
37
37
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/Table/table-predicate/TablePredicate.tsx"],"sourcesContent":["import {\n BoxProps,\n ComboboxData,\n CompoundStylesApiProps,\n factory,\n Factory,\n Grid,\n Group,\n Select,\n SelectProps,\n Text,\n useProps,\n} from '@mantine/core';\nimport {FunctionComponent} from 'react';\n\nimport {TableComponentsOrder} from '../Table.js';\nimport {useTableContext} from '../TableContext.js';\n\nexport type TablePredicateStylesNames = 'predicate' | 'predicateWrapper' | 'predicateLabel' | 'predicateSelect';\n\nexport interface TablePredicateProps\n extends\n BoxProps,\n Pick<SelectProps, 'renderOption' | 'comboboxProps'>,\n CompoundStylesApiProps<TablePredicateFactory> {\n /**\n * Unique identifier for this predicate. Will be used to access the selected value in the table state\n */\n id: string;\n /**\n * The values to display in the predicate\n */\n data: ComboboxData;\n /**\n * The label to display next to the Select\n *\n */\n label: string;\n}\n\nexport type TablePredicateFactory = Factory<{\n props: TablePredicateProps;\n ref: HTMLDivElement;\n stylesNames: TablePredicateStylesNames;\n compound: true;\n}>;\n\nconst defaultProps: Partial<TablePredicateProps> = {};\n\nexport const TablePredicate: FunctionComponent<TablePredicateProps> = factory<TablePredicateFactory>((props, ref) => {\n const {store, getStyles} = useTableContext();\n const {id, data, label, classNames, className, styles, style, renderOption, comboboxProps, vars, ...others} =\n useProps('PlasmaTablePredicate', defaultProps, props);\n\n const handleChange = (newValue: string) => {\n store.setPredicates((prev) => ({...prev, [id]: newValue}));\n store.setPagination((prev) => ({...prev, pageIndex: 0}));\n };\n\n const stylesApiProps = {classNames, styles};\n\n return (\n <Grid.Col\n span=\"content\"\n order={TableComponentsOrder.Predicate}\n ref={ref}\n {...getStyles('predicate', {className, style, ...stylesApiProps})}\n {...others}\n >\n <Group gap=\"xs\" wrap=\"nowrap\" {...getStyles('predicateWrapper', stylesApiProps)}>\n {label ? <Text {...getStyles('predicateLabel', stylesApiProps)}>{label}:</Text> : null}\n <Select\n comboboxProps={{withinPortal: true, ...comboboxProps}}\n value={store.state.predicates[id]}\n onChange={handleChange}\n data={data}\n aria-label={label ?? id}\n searchable={data.length > 7}\n renderOption={renderOption}\n scrollAreaProps={{type: 'always'}}\n {...getStyles('predicateSelect', stylesApiProps)}\n />\n </Group>\n </Grid.Col>\n );\n});\n\nTablePredicate.displayName = 'Table.Predicate';\n"],"names":["TablePredicate","defaultProps","factory","props","ref","useTableContext","store","getStyles","useProps","id","data","label","classNames","className","styles","style","renderOption","comboboxProps","vars","others","handleChange","newValue","setPredicates","prev","setPagination","pageIndex","stylesApiProps","Grid","Col","span","order","TableComponentsOrder","Predicate","Group","gap","wrap","Text","Select","withinPortal","value","state","predicates","onChange","aria-label","searchable","length","scrollAreaProps","type","displayName"],"mappings":";;;;+BAiDaA;;;eAAAA;;;;;;;;oBArCN;qBAG4B;4BACL;AA+B9B,IAAMC,eAA6C,CAAC;AAE7C,IAAMD,iBAAyDE,IAAAA,aAAO,EAAwB,SAACC,OAAOC;IACzG,IAA2BC,mBAAAA,IAAAA,6BAAe,KAAnCC,QAAoBD,iBAApBC,OAAOC,YAAaF,iBAAbE;IACd,IACIC,YAAAA,IAAAA,cAAQ,EAAC,wBAAwBP,cAAcE,QAD5CM,KACHD,UADGC,IAAIC,OACPF,UADOE,MAAMC,QACbH,UADaG,OAAOC,aACpBJ,UADoBI,YAAYC,YAChCL,UADgCK,WAAWC,SAC3CN,UAD2CM,QAAQC,QACnDP,UADmDO,OAAOC,eAC1DR,UAD0DQ,cAAcC,gBACxET,UADwES,eAAeC,OACvFV,UADuFU,MAASC,sCAChGX;QADGC;QAAIC;QAAMC;QAAOC;QAAYC;QAAWC;QAAQC;QAAOC;QAAcC;QAAeC;;IAG3F,IAAME,eAAe,SAACC;QAClBf,MAAMgB,aAAa,CAAC,SAACC;mBAAU,4CAAIA,OAAM,uBAACd,IAAKY;;QAC/Cf,MAAMkB,aAAa,CAAC,SAACD;mBAAU,4CAAIA;gBAAME,WAAW;;;IACxD;IAEA,IAAMC,iBAAiB;QAACd,YAAAA;QAAYE,QAAAA;IAAM;IAE1C,qBACI,qBAACa,UAAI,CAACC,GAAG;QACLC,MAAK;QACLC,OAAOC,2BAAoB,CAACC,SAAS;QACrC5B,KAAKA;OACDG,UAAU,aAAa;QAACM,WAAAA;QAAWE,OAAAA;OAAUW,kBAC7CP;kBAEJ,cAAA,sBAACc,WAAK;YAACC,KAAI;YAAKC,MAAK;WAAa5B,UAAU,oBAAoBmB;;gBAC3Df,sBAAQ,sBAACyB,UAAI,8CAAK7B,UAAU,kBAAkBmB;;wBAAkBf;wBAAM;;sBAAW;8BAClF,qBAAC0B,YAAM;oBACHpB,eAAe;wBAACqB,cAAc;uBAASrB;oBACvCsB,OAAOjC,MAAMkC,KAAK,CAACC,UAAU,CAAChC,GAAG;oBACjCiC,UAAUtB;oBACVV,MAAMA;oBACNiC,cAAYhC,kBAAAA,mBAAAA,QAASF;oBACrBmC,YAAYlC,KAAKmC,MAAM,GAAG;oBAC1B7B,cAAcA;oBACd8B,iBAAiB;wBAACC,MAAM;oBAAQ;mBAC5BxC,UAAU,mBAAmBmB;;;;AAKrD;AAEA1B,eAAegD,WAAW,GAAG"}
1
+ {"version":3,"sources":["../../../../../src/components/Table/table-predicate/TablePredicate.tsx"],"sourcesContent":["import {\n BoxProps,\n ComboboxData,\n CompoundStylesApiProps,\n factory,\n Factory,\n Grid,\n Group,\n Select,\n SelectProps,\n Text,\n useProps,\n} from '@mantine/core';\nimport {FunctionComponent} from 'react';\n\nimport {TableComponentsOrder} from '../Table.js';\nimport {useTableContext} from '../TableContext.js';\n\nexport type TablePredicateStylesNames = 'predicate' | 'predicateWrapper' | 'predicateLabel' | 'predicateSelect';\n\nexport interface TablePredicateProps\n extends\n BoxProps,\n Pick<SelectProps, 'renderOption' | 'comboboxProps'>,\n CompoundStylesApiProps<TablePredicateFactory> {\n /**\n * Unique identifier for this predicate. Will be used to access the selected value in the table state\n */\n id: string;\n /**\n * The values to display in the predicate\n */\n data: ComboboxData;\n /**\n * The label to display next to the Select\n *\n */\n label: string;\n}\n\nexport type TablePredicateFactory = Factory<{\n props: TablePredicateProps;\n ref: HTMLDivElement;\n stylesNames: TablePredicateStylesNames;\n compound: true;\n}>;\n\nconst defaultProps: Partial<TablePredicateProps> = {};\n\nexport const TablePredicate: FunctionComponent<TablePredicateProps> = factory<TablePredicateFactory>((props, ref) => {\n const {store, getStyles} = useTableContext();\n const {id, data, label, classNames, className, styles, style, renderOption, comboboxProps, vars, ...others} =\n useProps('PlasmaTablePredicate', defaultProps, props);\n\n const handleChange = (newValue: string) => {\n store.setPredicates((prev) => ({...prev, [id]: newValue}));\n store.setPagination((prev) => ({...prev, pageIndex: 0}));\n };\n\n const stylesApiProps = {classNames, styles};\n\n return (\n <Grid.Col\n span=\"content\"\n order={TableComponentsOrder.Predicate}\n ref={ref}\n {...getStyles('predicate', {className, style, ...stylesApiProps})}\n {...others}\n >\n <Group gap=\"xs\" wrap=\"nowrap\" {...getStyles('predicateWrapper', stylesApiProps)}>\n {label ? <Text {...getStyles('predicateLabel', stylesApiProps)}>{label}:</Text> : null}\n <Select\n comboboxProps={{withinPortal: true, ...comboboxProps}}\n value={store.state.predicates[id]}\n onChange={handleChange}\n data={data}\n aria-label={label ?? id}\n searchable={data.length > 7}\n renderOption={renderOption}\n scrollAreaProps={{type: 'always'}}\n {...getStyles('predicateSelect', stylesApiProps)}\n />\n </Group>\n </Grid.Col>\n );\n});\n\nTablePredicate.displayName = 'Table.Predicate';\n"],"names":["TablePredicate","defaultProps","factory","props","ref","useTableContext","store","getStyles","useProps","id","data","label","classNames","className","styles","style","renderOption","comboboxProps","vars","others","handleChange","newValue","setPredicates","prev","setPagination","pageIndex","stylesApiProps","Grid","Col","span","order","TableComponentsOrder","Predicate","Group","gap","wrap","Text","Select","withinPortal","value","state","predicates","onChange","aria-label","searchable","length","scrollAreaProps","type","displayName"],"mappings":";;;;+BAiDaA;;;eAAAA;;;;;;;;oBArCN;qBAG4B;4BACL;AA+B9B,IAAMC,eAA6C,CAAC;AAE7C,IAAMD,iBAAyDE,IAAAA,aAAO,EAAwB,SAACC,OAAOC;IACzG,IAA2BC,mBAAAA,IAAAA,6BAAe,KAAnCC,QAAoBD,iBAApBC,OAAOC,YAAaF,iBAAbE;IACd,IACIC,YAAAA,IAAAA,cAAQ,EAAC,wBAAwBP,cAAcE,QAD5CM,KACHD,UADGC,IAAIC,OACPF,UADOE,MAAMC,QACbH,UADaG,OAAOC,aACpBJ,UADoBI,YAAYC,YAChCL,UADgCK,WAAWC,SAC3CN,UAD2CM,QAAQC,QACnDP,UADmDO,OAAOC,eAC1DR,UAD0DQ,cAAcC,gBACxET,UADwES,eAAeC,OACvFV,UADuFU,MAASC,sCAChGX;;;;;;;;;;;;IAEJ,IAAMY,eAAe,sBAACC;QAClBf,MAAMgB,aAAa,CAAC,SAACC;mBAAU,4CAAIA,OAAM,uBAACd,IAAKY;;QAC/Cf,MAAMkB,aAAa,CAAC,SAACD;mBAAU,4CAAIA;gBAAME,WAAW;;;IACxD;IAEA,IAAMC,iBAAiB;QAACd,YAAAA;QAAYE,QAAAA;IAAM;IAE1C,qBACI,qBAACa,UAAI,CAACC,GAAG;QACLC,MAAK;QACLC,OAAOC,2BAAoB,CAACC,SAAS;QACrC5B,KAAKA;OACDG,UAAU,aAAa;QAACM,WAAAA;QAAWE,OAAAA;OAAUW,kBAC7CP;kBAEJ,cAAA,sBAACc,WAAK;YAACC,KAAI;YAAKC,MAAK;WAAa5B,UAAU,oBAAoBmB;;gBAC3Df,sBAAQ,sBAACyB,UAAI,8CAAK7B,UAAU,kBAAkBmB;;wBAAkBf;wBAAM;;sBAAW;8BAClF,qBAAC0B,YAAM;oBACHpB,eAAe;wBAACqB,cAAc;uBAASrB;oBACvCsB,OAAOjC,MAAMkC,KAAK,CAACC,UAAU,CAAChC,GAAG;oBACjCiC,UAAUtB;oBACVV,MAAMA;oBACNiC,YAAU,EAAEhC,kBAAAA,mBAAAA,QAASF;oBACrBmC,YAAYlC,KAAKmC,MAAM,GAAG;oBAC1B7B,cAAcA;oBACd8B,iBAAiB;wBAACC,MAAM;oBAAQ;mBAC5BxC,UAAU,mBAAmBmB;;;;AAKrD;AAEA1B,eAAegD,WAAW,GAAG"}