@onewelcome/react-lib-components 7.1.0 → 8.1.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 (146) hide show
  1. package/dist/cjs/DataGrid/DataGrid.cjs.js +1 -1
  2. package/dist/cjs/DataGrid/DataGrid.cjs.js.map +1 -1
  3. package/dist/cjs/DataGrid/DataGridBody/DataGridBody.cjs.js +1 -1
  4. package/dist/cjs/DataGrid/DataGridBody/DataGridBody.cjs.js.map +1 -1
  5. package/dist/cjs/DataGrid/DataGridBody/DataGridCell/DataGridCell.cjs.js +1 -1
  6. package/dist/cjs/DataGrid/DataGridBody/DataGridCell/DataGridCell.cjs.js.map +1 -1
  7. package/dist/cjs/DataGrid/DataGridBody/DataGridRow/DataGridRow.cjs.js +1 -1
  8. package/dist/cjs/DataGrid/DataGridBody/DataGridRow/DataGridRow.cjs.js.map +1 -1
  9. package/dist/cjs/DataGrid/DataGridFilters/DataGridFilter.cjs.js +1 -1
  10. package/dist/cjs/DataGrid/DataGridFilters/DataGridFilter.cjs.js.map +1 -1
  11. package/dist/cjs/DataGrid/DataGridFilters/DataGridFilter.module.scss.cjs.js +1 -1
  12. package/dist/cjs/DataGrid/DataGridFilters/DataGridFilterPopover.cjs.js +1 -1
  13. package/dist/cjs/DataGrid/DataGridFilters/DataGridFilterPopover.cjs.js.map +1 -1
  14. package/dist/cjs/DataGrid/DataGridFilters/DataGridFilterTag.cjs.js +1 -1
  15. package/dist/cjs/DataGrid/DataGridFilters/DataGridFilterTag.cjs.js.map +1 -1
  16. package/dist/cjs/DataGrid/DataGridFilters/DataGridSearchbar.cjs.js +2 -0
  17. package/dist/cjs/DataGrid/DataGridFilters/DataGridSearchbar.cjs.js.map +1 -0
  18. package/dist/cjs/DataGrid/DataGridFilters/DataGridToolbar.cjs.js +1 -1
  19. package/dist/cjs/DataGrid/DataGridFilters/DataGridToolbar.cjs.js.map +1 -1
  20. package/dist/cjs/DataGrid/DataGridFilters/DataGridToolbar.module.scss.cjs.js +1 -1
  21. package/dist/cjs/DataGrid/DataGridFilters/DataGridToolbarWrapper.cjs.js +2 -0
  22. package/dist/cjs/DataGrid/DataGridFilters/DataGridToolbarWrapper.cjs.js.map +1 -0
  23. package/dist/cjs/DataGrid/DataGridFilters/useFiltersReducer.cjs.js +2 -0
  24. package/dist/cjs/DataGrid/DataGridFilters/useFiltersReducer.cjs.js.map +1 -0
  25. package/dist/cjs/DataGrid/DataGridHeader/DataGridHeaderCell.cjs.js +1 -1
  26. package/dist/cjs/DataGrid/DataGridHeader/DataGridHeaderCell.cjs.js.map +1 -1
  27. package/dist/cjs/DataGrid/DataGridHeader/DataGridHeaderCell.module.scss.cjs.js +1 -1
  28. package/dist/cjs/Form/FileUpload/FileUpload.module.scss.cjs.js +1 -1
  29. package/dist/cjs/Form/Select/MultiSelect/MultiSelect.cjs.js +1 -1
  30. package/dist/cjs/Form/Select/MultiSelect/MultiSelect.cjs.js.map +1 -1
  31. package/dist/cjs/Form/Select/SingleSelect/Select.cjs.js +1 -1
  32. package/dist/cjs/Form/Select/SingleSelect/Select.cjs.js.map +1 -1
  33. package/dist/cjs/Icon/Icon.cjs.js +1 -1
  34. package/dist/cjs/Icon/Icon.cjs.js.map +1 -1
  35. package/dist/cjs/Icon/Icon.module.scss.cjs.js +1 -1
  36. package/dist/cjs/Notifications/BaseModal/BaseModal.cjs.js +1 -1
  37. package/dist/cjs/Notifications/BaseModal/BaseModal.cjs.js.map +1 -1
  38. package/dist/cjs/src/components/DataGrid/DataGrid.d.ts +8 -5
  39. package/dist/cjs/src/components/DataGrid/DataGridBody/DataGridBody.d.ts +1 -0
  40. package/dist/cjs/src/components/DataGrid/DataGridBody/DataGridCell/DataGridCell.d.ts +1 -0
  41. package/dist/cjs/src/components/DataGrid/DataGridBody/DataGridRow/DataGridRow.d.ts +1 -0
  42. package/dist/cjs/src/components/DataGrid/DataGridFilters/DataGridFilter.d.ts +3 -3
  43. package/dist/cjs/src/components/DataGrid/DataGridFilters/DataGridFilterPopover.d.ts +3 -2
  44. package/dist/cjs/src/components/DataGrid/DataGridFilters/DataGridFilterTag.d.ts +2 -1
  45. package/dist/cjs/src/components/DataGrid/DataGridFilters/DataGridSearchbar.d.ts +10 -0
  46. package/dist/cjs/src/components/DataGrid/DataGridFilters/DataGridToolbar.d.ts +4 -4
  47. package/dist/cjs/src/components/DataGrid/DataGridFilters/DataGridToolbarWrapper.d.ts +10 -0
  48. package/dist/cjs/src/components/DataGrid/DataGridFilters/useFiltersReducer.d.ts +8 -0
  49. package/dist/cjs/src/components/DataGrid/DataGridFilters/useFiltersReducer.test.d.ts +1 -0
  50. package/dist/cjs/src/components/DataGrid/testUtils.d.ts +1 -0
  51. package/dist/cjs/src/components/Icon/Icon.d.ts +2 -1
  52. package/dist/cjs/src/hooks/useRepeatFocus.cjs.js +2 -0
  53. package/dist/cjs/src/hooks/useRepeatFocus.cjs.js.map +1 -0
  54. package/dist/cjs/src/index.cjs.js +1 -1
  55. package/dist/cjs/src/index.d.ts +1 -0
  56. package/dist/esm/DataGrid/DataGrid.esm.js +8 -4
  57. package/dist/esm/DataGrid/DataGrid.esm.js.map +1 -1
  58. package/dist/esm/DataGrid/DataGridBody/DataGridBody.esm.js +2 -1
  59. package/dist/esm/DataGrid/DataGridBody/DataGridBody.esm.js.map +1 -1
  60. package/dist/esm/DataGrid/DataGridBody/DataGridCell/DataGridCell.esm.js +22 -3
  61. package/dist/esm/DataGrid/DataGridBody/DataGridCell/DataGridCell.esm.js.map +1 -1
  62. package/dist/esm/DataGrid/DataGridBody/DataGridRow/DataGridRow.esm.js +2 -1
  63. package/dist/esm/DataGrid/DataGridBody/DataGridRow/DataGridRow.esm.js.map +1 -1
  64. package/dist/esm/DataGrid/DataGridFilters/DataGridFilter.esm.js +7 -14
  65. package/dist/esm/DataGrid/DataGridFilters/DataGridFilter.esm.js.map +1 -1
  66. package/dist/esm/DataGrid/DataGridFilters/DataGridFilter.module.scss.esm.js +2 -2
  67. package/dist/esm/DataGrid/DataGridFilters/DataGridFilterPopover.esm.js +11 -3
  68. package/dist/esm/DataGrid/DataGridFilters/DataGridFilterPopover.esm.js.map +1 -1
  69. package/dist/esm/DataGrid/DataGridFilters/DataGridFilterTag.esm.js +5 -7
  70. package/dist/esm/DataGrid/DataGridFilters/DataGridFilterTag.esm.js.map +1 -1
  71. package/dist/esm/DataGrid/DataGridFilters/DataGridSearchbar.esm.js +43 -0
  72. package/dist/esm/DataGrid/DataGridFilters/DataGridSearchbar.esm.js.map +1 -0
  73. package/dist/esm/DataGrid/DataGridFilters/DataGridToolbar.esm.js +18 -34
  74. package/dist/esm/DataGrid/DataGridFilters/DataGridToolbar.esm.js.map +1 -1
  75. package/dist/esm/DataGrid/DataGridFilters/DataGridToolbar.module.scss.esm.js +2 -2
  76. package/dist/esm/DataGrid/DataGridFilters/DataGridToolbarWrapper.esm.js +27 -0
  77. package/dist/esm/DataGrid/DataGridFilters/DataGridToolbarWrapper.esm.js.map +1 -0
  78. package/dist/esm/DataGrid/DataGridFilters/useFiltersReducer.esm.js +59 -0
  79. package/dist/esm/DataGrid/DataGridFilters/useFiltersReducer.esm.js.map +1 -0
  80. package/dist/esm/DataGrid/DataGridHeader/DataGridHeaderCell.esm.js +3 -5
  81. package/dist/esm/DataGrid/DataGridHeader/DataGridHeaderCell.esm.js.map +1 -1
  82. package/dist/esm/DataGrid/DataGridHeader/DataGridHeaderCell.module.scss.esm.js +2 -2
  83. package/dist/esm/Form/FileUpload/FileUpload.module.scss.esm.js +1 -1
  84. package/dist/esm/Form/Select/MultiSelect/MultiSelect.esm.js +1 -1
  85. package/dist/esm/Form/Select/MultiSelect/MultiSelect.esm.js.map +1 -1
  86. package/dist/esm/Form/Select/SingleSelect/Select.esm.js +1 -1
  87. package/dist/esm/Form/Select/SingleSelect/Select.esm.js.map +1 -1
  88. package/dist/esm/Icon/Icon.esm.js +1 -0
  89. package/dist/esm/Icon/Icon.esm.js.map +1 -1
  90. package/dist/esm/Icon/Icon.module.scss.esm.js +2 -2
  91. package/dist/esm/Notifications/BaseModal/BaseModal.esm.js +1 -1
  92. package/dist/esm/Notifications/BaseModal/BaseModal.esm.js.map +1 -1
  93. package/dist/esm/src/components/DataGrid/DataGrid.d.ts +8 -5
  94. package/dist/esm/src/components/DataGrid/DataGridBody/DataGridBody.d.ts +1 -0
  95. package/dist/esm/src/components/DataGrid/DataGridBody/DataGridCell/DataGridCell.d.ts +1 -0
  96. package/dist/esm/src/components/DataGrid/DataGridBody/DataGridRow/DataGridRow.d.ts +1 -0
  97. package/dist/esm/src/components/DataGrid/DataGridFilters/DataGridFilter.d.ts +3 -3
  98. package/dist/esm/src/components/DataGrid/DataGridFilters/DataGridFilterPopover.d.ts +3 -2
  99. package/dist/esm/src/components/DataGrid/DataGridFilters/DataGridFilterTag.d.ts +2 -1
  100. package/dist/esm/src/components/DataGrid/DataGridFilters/DataGridSearchbar.d.ts +10 -0
  101. package/dist/esm/src/components/DataGrid/DataGridFilters/DataGridToolbar.d.ts +4 -4
  102. package/dist/esm/src/components/DataGrid/DataGridFilters/DataGridToolbarWrapper.d.ts +10 -0
  103. package/dist/esm/src/components/DataGrid/DataGridFilters/useFiltersReducer.d.ts +8 -0
  104. package/dist/esm/src/components/DataGrid/DataGridFilters/useFiltersReducer.test.d.ts +1 -0
  105. package/dist/esm/src/components/DataGrid/testUtils.d.ts +1 -0
  106. package/dist/esm/src/components/Icon/Icon.d.ts +2 -1
  107. package/dist/esm/{Notifications/BaseModal → src/hooks}/useRepeatFocus.esm.js +12 -1
  108. package/dist/esm/src/hooks/useRepeatFocus.esm.js.map +1 -0
  109. package/dist/esm/src/index.d.ts +1 -0
  110. package/dist/esm/src/index.esm.js +1 -0
  111. package/dist/esm/src/index.esm.js.map +1 -1
  112. package/package.json +1 -1
  113. package/src/components/DataGrid/DataGrid.tsx +32 -8
  114. package/src/components/DataGrid/DataGridBody/DataGridBody.tsx +3 -0
  115. package/src/components/DataGrid/DataGridBody/DataGridCell/DataGridCell.tsx +34 -2
  116. package/src/components/DataGrid/DataGridBody/DataGridRow/DataGridRow.tsx +3 -0
  117. package/src/components/DataGrid/DataGridFilters/DataGridFilter.module.scss +21 -11
  118. package/src/components/DataGrid/DataGridFilters/DataGridFilter.tsx +15 -19
  119. package/src/components/DataGrid/DataGridFilters/DataGridFilterPopover.tsx +15 -2
  120. package/src/components/DataGrid/DataGridFilters/DataGridFilterTag.tsx +18 -7
  121. package/src/components/DataGrid/DataGridFilters/DataGridSearchbar.tsx +68 -0
  122. package/src/components/DataGrid/DataGridFilters/DataGridToolbar.module.scss +40 -18
  123. package/src/components/DataGrid/DataGridFilters/DataGridToolbar.tsx +34 -62
  124. package/src/components/DataGrid/DataGridFilters/DataGridToolbarWrapper.tsx +38 -0
  125. package/src/components/DataGrid/DataGridFilters/useFiltersReducer.tsx +66 -0
  126. package/src/components/DataGrid/DataGridHeader/DataGridHeaderCell.module.scss +8 -1
  127. package/src/components/DataGrid/DataGridHeader/DataGridHeaderCell.tsx +3 -8
  128. package/src/components/DataGrid/testUtils.ts +14 -16
  129. package/src/components/Form/FileUpload/FileUpload.module.scss +1 -2
  130. package/src/components/Form/Select/MultiSelect/MultiSelect.tsx +1 -3
  131. package/src/components/Form/Select/SingleSelect/Select.tsx +1 -3
  132. package/src/components/Icon/Icon.module.scss +5 -0
  133. package/src/components/Icon/Icon.tsx +2 -1
  134. package/src/components/Notifications/BaseModal/BaseModal.tsx +1 -1
  135. package/src/font/icomoon.eot +0 -0
  136. package/src/font/icomoon.svg +1 -0
  137. package/src/font/icomoon.ttf +0 -0
  138. package/src/font/icomoon.woff +0 -0
  139. package/src/font/selection.json +1 -1
  140. package/src/{components/Notifications/BaseModal → hooks}/useRepeatFocus.tsx +12 -2
  141. package/src/index.ts +1 -0
  142. package/dist/cjs/Notifications/BaseModal/useRepeatFocus.cjs.js +0 -2
  143. package/dist/cjs/Notifications/BaseModal/useRepeatFocus.cjs.js.map +0 -1
  144. package/dist/esm/Notifications/BaseModal/useRepeatFocus.esm.js.map +0 -1
  145. /package/dist/cjs/src/{components/Notifications/BaseModal → hooks}/useRepeatFocus.d.ts +0 -0
  146. /package/dist/esm/src/{components/Notifications/BaseModal → hooks}/useRepeatFocus.d.ts +0 -0
@@ -1,4 +1,4 @@
1
- import React, { createRef, useState, Fragment } from 'react';
1
+ import React, { useRef, useState, Fragment } from 'react';
2
2
  import { createPortal } from 'react-dom';
3
3
  import { useGetDomRoot } from '../../src/hooks/useGetDomRoot.esm.js';
4
4
  import { generateID } from '../../src/util/helper.esm.js';
@@ -21,26 +21,20 @@ import { useDataGridFilter } from './DataGridFilterService.esm.js';
21
21
  * See the License for the specific language governing permissions and
22
22
  * limitations under the License.
23
23
  */
24
- const DataGridFilter = ({ mode, filter, domRoot, columnsMetadata, dispatch, onFilterAdd, onFilterEdit, onFilterDelete, tagTranslations, popoverTranslations }) => {
25
- const wrappingDivRef = createRef();
24
+ const DataGridFilter = ({ mode, filter, domRoot, columnsMetadata, onFilterAdd, onFilterEdit, onFilterDelete, tagTranslations, popoverTranslations, customEditTagContent }) => {
25
+ const wrappingDivRef = useRef(null);
26
+ const triggerRef = useRef(null);
27
+ const popoverRef = useRef(null);
26
28
  const [filterOpen, setFilterOpen] = useState(false);
27
29
  const { root } = useGetDomRoot(domRoot, wrappingDivRef);
28
30
  const { resetFields, operator, setOperator, operators, setOperators, column, setColumn, values, setValues, pickedValues, setPickedValues, initialiseFilterValues } = useDataGridFilter(mode, columnsMetadata);
29
31
  const onFilterSubmit = () => {
30
32
  if (mode === "ADD") {
31
33
  const id = generateID();
32
- dispatch({
33
- type: "add",
34
- payload: { id, column, operator, value: pickedValues }
35
- });
36
34
  onFilterAdd && onFilterAdd({ id, column, operator, value: pickedValues });
37
35
  }
38
36
  else if (mode === "EDIT" && filter) {
39
37
  const { id } = filter;
40
- dispatch({
41
- type: "edit",
42
- payload: { id, column, operator, value: pickedValues }
43
- });
44
38
  onFilterEdit && onFilterEdit({ id, column, operator, value: pickedValues });
45
39
  }
46
40
  resetFields();
@@ -51,7 +45,6 @@ const DataGridFilter = ({ mode, filter, domRoot, columnsMetadata, dispatch, onFi
51
45
  return;
52
46
  }
53
47
  const { id } = filter;
54
- dispatch({ type: "remove", payload: { id } });
55
48
  onFilterDelete && onFilterDelete(id);
56
49
  resetFields();
57
50
  setFilterOpen(false);
@@ -63,8 +56,8 @@ const DataGridFilter = ({ mode, filter, domRoot, columnsMetadata, dispatch, onFi
63
56
  }
64
57
  };
65
58
  return (React.createElement(Fragment, null,
66
- React.createElement(DataGridFilterTag, { mode: mode, onFilterOpen: onFilterOpen, onFilterRemove: onFilterRemove, triggerRef: wrappingDivRef, filter: filter }),
67
- createPortal(React.createElement(DataGridFilterPopover, { anchorRef: wrappingDivRef, isOpen: filterOpen, column: column, columnsMetadata: columnsMetadata, values: values, pickedValues: pickedValues, operator: operator, operators: operators, onFilterSubmit: onFilterSubmit, resetFields: resetFields, setFilterOpen: setFilterOpen, setColumn: setColumn, setOperator: setOperator, setOperators: setOperators, setValues: setValues, setPickedValues: setPickedValues }), root)));
59
+ React.createElement(DataGridFilterTag, { mode: mode, onFilterOpen: onFilterOpen, onFilterRemove: onFilterRemove, triggerRef: triggerRef, ref: wrappingDivRef, filter: filter, translations: tagTranslations, customEditTagContent: customEditTagContent }),
60
+ createPortal(React.createElement(DataGridFilterPopover, { popoverRef: popoverRef, anchorRef: wrappingDivRef, isOpen: filterOpen, translations: popoverTranslations, column: column, columnsMetadata: columnsMetadata, values: values, pickedValues: pickedValues, operator: operator, operators: operators, onFilterSubmit: onFilterSubmit, resetFields: resetFields, setFilterOpen: setFilterOpen, setColumn: setColumn, setOperator: setOperator, setOperators: setOperators, setValues: setValues, setPickedValues: setPickedValues }), root)));
68
61
  };
69
62
 
70
63
  export { DataGridFilter };
@@ -1 +1 @@
1
- {"version":3,"file":"DataGridFilter.esm.js","sources":["../../../../../../src/components/DataGrid/DataGridFilters/DataGridFilter.tsx"],"sourcesContent":["/*\n * Copyright 2022 OneWelcome B.V.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport React, { Fragment, createRef, useState } from \"react\";\nimport { createPortal } from \"react-dom\";\nimport { useGetDomRoot } from \"../../../hooks/useGetDomRoot\";\nimport {\n DataGridColumnMetadata,\n Filter,\n FilterEditorMode,\n FiltersAction,\n PopoverTranslations,\n TagTranslations\n} from \"./DataGridFilters.interfaces\";\nimport { generateID } from \"../../../util/helper\";\nimport { DataGridFilterTag } from \"./DataGridFilterTag\";\nimport { DataGridFilterPopover } from \"./DataGridFilterPopover\";\nimport { useDataGridFilter } from \"./DataGridFilterService\";\n\nexport type Props = {\n mode: FilterEditorMode;\n domRoot?: HTMLElement;\n filter?: Filter;\n columnsMetadata: DataGridColumnMetadata[];\n dispatch: React.Dispatch<FiltersAction>;\n onFilterAdd?: (filter: Filter) => void;\n onFilterEdit?: (filter: Filter) => void;\n onFilterDelete?: (id: string) => void;\n tagTranslations?: TagTranslations;\n popoverTranslations?: PopoverTranslations;\n};\n\nexport const DataGridFilter = ({\n mode,\n filter,\n domRoot,\n columnsMetadata,\n dispatch,\n onFilterAdd,\n onFilterEdit,\n onFilterDelete,\n tagTranslations,\n popoverTranslations\n}: Props) => {\n const wrappingDivRef = createRef<HTMLDivElement>();\n const [filterOpen, setFilterOpen] = useState(false);\n const { root } = useGetDomRoot(domRoot, wrappingDivRef);\n const {\n resetFields,\n operator,\n setOperator,\n operators,\n setOperators,\n column,\n setColumn,\n values,\n setValues,\n pickedValues,\n setPickedValues,\n initialiseFilterValues\n } = useDataGridFilter(mode, columnsMetadata);\n\n const onFilterSubmit = () => {\n if (mode === \"ADD\") {\n const id = generateID();\n\n dispatch({\n type: \"add\",\n payload: { id, column, operator, value: pickedValues }\n });\n onFilterAdd && onFilterAdd({ id, column, operator, value: pickedValues });\n } else if (mode === \"EDIT\" && filter) {\n const { id } = filter;\n\n dispatch({\n type: \"edit\",\n payload: { id, column, operator, value: pickedValues }\n });\n onFilterEdit && onFilterEdit({ id, column, operator, value: pickedValues });\n }\n\n resetFields();\n setFilterOpen(false);\n };\n\n const onFilterRemove = () => {\n if (!filter) {\n return;\n }\n const { id } = filter;\n\n dispatch({ type: \"remove\", payload: { id } });\n onFilterDelete && onFilterDelete(id);\n\n resetFields();\n setFilterOpen(false);\n };\n const onFilterOpen = () => {\n setFilterOpen(!filterOpen);\n if (!filterOpen) {\n initialiseFilterValues(filter);\n }\n };\n\n return (\n <Fragment>\n <DataGridFilterTag\n mode={mode}\n onFilterOpen={onFilterOpen}\n onFilterRemove={onFilterRemove}\n triggerRef={wrappingDivRef}\n filter={filter}\n />\n {createPortal(\n <DataGridFilterPopover\n anchorRef={wrappingDivRef}\n isOpen={filterOpen}\n column={column}\n columnsMetadata={columnsMetadata}\n values={values}\n pickedValues={pickedValues}\n operator={operator}\n operators={operators}\n onFilterSubmit={onFilterSubmit}\n resetFields={resetFields}\n setFilterOpen={setFilterOpen}\n setColumn={setColumn}\n setOperator={setOperator}\n setOperators={setOperators}\n setValues={setValues}\n setPickedValues={setPickedValues}\n />,\n root\n )}\n </Fragment>\n );\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DataGridFilter.esm.js","sources":["../../../../../../src/components/DataGrid/DataGridFilters/DataGridFilter.tsx"],"sourcesContent":["/*\n * Copyright 2022 OneWelcome B.V.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport React, { Fragment, useRef, useState } from \"react\";\nimport { createPortal } from \"react-dom\";\nimport { useGetDomRoot } from \"../../../hooks/useGetDomRoot\";\nimport {\n DataGridColumnMetadata,\n Filter,\n FilterEditorMode,\n PopoverTranslations,\n TagTranslations\n} from \"./DataGridFilters.interfaces\";\nimport { generateID } from \"../../../util/helper\";\nimport { DataGridFilterTag } from \"./DataGridFilterTag\";\nimport { DataGridFilterPopover } from \"./DataGridFilterPopover\";\nimport { useDataGridFilter } from \"./DataGridFilterService\";\n\nexport type Props = {\n mode: FilterEditorMode;\n domRoot?: HTMLElement;\n filter?: Filter;\n columnsMetadata: DataGridColumnMetadata[];\n onFilterAdd?: (filter: Filter) => void;\n onFilterEdit?: (filter: Filter) => void;\n onFilterDelete?: (id: string) => void;\n tagTranslations?: TagTranslations;\n popoverTranslations?: PopoverTranslations;\n customEditTagContent?: React.ReactElement;\n};\n\nexport const DataGridFilter = ({\n mode,\n filter,\n domRoot,\n columnsMetadata,\n onFilterAdd,\n onFilterEdit,\n onFilterDelete,\n tagTranslations,\n popoverTranslations,\n customEditTagContent\n}: Props) => {\n const wrappingDivRef = useRef<HTMLDivElement>(null);\n const triggerRef = useRef<HTMLButtonElement>(null);\n const popoverRef = useRef<HTMLDivElement>(null);\n\n const [filterOpen, setFilterOpen] = useState(false);\n const { root } = useGetDomRoot(domRoot, wrappingDivRef);\n const {\n resetFields,\n operator,\n setOperator,\n operators,\n setOperators,\n column,\n setColumn,\n values,\n setValues,\n pickedValues,\n setPickedValues,\n initialiseFilterValues\n } = useDataGridFilter(mode, columnsMetadata);\n\n const onFilterSubmit = () => {\n if (mode === \"ADD\") {\n const id = generateID();\n onFilterAdd && onFilterAdd({ id, column, operator, value: pickedValues });\n } else if (mode === \"EDIT\" && filter) {\n const { id } = filter;\n onFilterEdit && onFilterEdit({ id, column, operator, value: pickedValues });\n }\n\n resetFields();\n setFilterOpen(false);\n };\n\n const onFilterRemove = () => {\n if (!filter) {\n return;\n }\n\n const { id } = filter;\n onFilterDelete && onFilterDelete(id);\n\n resetFields();\n setFilterOpen(false);\n };\n const onFilterOpen = () => {\n setFilterOpen(!filterOpen);\n if (!filterOpen) {\n initialiseFilterValues(filter);\n }\n };\n\n return (\n <Fragment>\n <DataGridFilterTag\n mode={mode}\n onFilterOpen={onFilterOpen}\n onFilterRemove={onFilterRemove}\n triggerRef={triggerRef}\n ref={wrappingDivRef}\n filter={filter}\n translations={tagTranslations}\n customEditTagContent={customEditTagContent}\n />\n {createPortal(\n <DataGridFilterPopover\n popoverRef={popoverRef}\n anchorRef={wrappingDivRef}\n isOpen={filterOpen}\n translations={popoverTranslations}\n column={column}\n columnsMetadata={columnsMetadata}\n values={values}\n pickedValues={pickedValues}\n operator={operator}\n operators={operators}\n onFilterSubmit={onFilterSubmit}\n resetFields={resetFields}\n setFilterOpen={setFilterOpen}\n setColumn={setColumn}\n setOperator={setOperator}\n setOperators={setOperators}\n setValues={setValues}\n setPickedValues={setPickedValues}\n />,\n root\n )}\n </Fragment>\n );\n};\n"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import styleInject from '../../node_modules/style-inject/dist/style-inject.es.esm.js';
2
2
 
3
- var css_248z = "/*!\n * Copyright 2022 OneWelcome B.V.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/*!\n * Copyright 2022 OneWelcome B.V.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */.DataGridFilter-module_sr-only__42Whj{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.DataGridFilter-module_hidden__-lmLz{display:none}.DataGridFilter-module_slide-in__Ab0c2{animation:DataGridFilter-module_slide-in__Ab0c2 .5s forwards}@media (prefers-reduced-motion:reduce){.DataGridFilter-module_slide-in__Ab0c2{animation-duration:.1ms}}.DataGridFilter-module_slide-out__znEjC{animation:DataGridFilter-module_slide-out__znEjC .5s forwards}@media (prefers-reduced-motion:reduce){.DataGridFilter-module_slide-out__znEjC{animation-duration:.1ms}}@keyframes DataGridFilter-module_slide-in__Ab0c2{0%{transform:translateY(100vh)}to{transform:translateY(0)}}@keyframes DataGridFilter-module_slide-out__znEjC{0%{transform:translateY(0)}to{transform:translateY(100vh)}}.DataGridFilter-module_filter-wrapper__qd5Al{align-items:center;background-color:var(--color-blue-grey100);border-radius:3.125rem;display:flex;gap:.375rem;justify-content:center;padding:.25rem .75rem .25rem .5rem}.DataGridFilter-module_filter-wrapper__qd5Al .DataGridFilter-module_filter-button__tBzMf{align-items:center;background:none;border:none;cursor:pointer;display:flex;gap:.375rem;justify-content:flex-start;padding:0 .25rem}.DataGridFilter-module_filter-wrapper__qd5Al .DataGridFilter-module_filter-button__tBzMf:only-child{margin-right:-.25rem}.DataGridFilter-module_filter-wrapper__qd5Al .DataGridFilter-module_filter-button__tBzMf:hover{background-color:var(--color-black10);border-radius:.125rem}.DataGridFilter-module_filter-wrapper__qd5Al .DataGridFilter-module_filter-button__tBzMf:active{background-color:var(--color-blue-grey400)}.DataGridFilter-module_filter-wrapper__qd5Al .DataGridFilter-module_filter-button__tBzMf:focus-visible{border-radius:var(--focus-border-radius);outline:.125rem solid var(--color-focus);outline-offset:0}.DataGridFilter-module_filter-wrapper__qd5Al .DataGridFilter-module_caption__vSlvk{font-size:var(--font-size-data-grid);font-weight:400;line-height:var(--data-grid-line-height);margin:0}.DataGridFilter-module_filter-wrapper__qd5Al .DataGridFilter-module_caption__vSlvk.DataGridFilter-module_bold__oaBQm{font-weight:600}.DataGridFilter-module_filter-wrapper__qd5Al .DataGridFilter-module_remove-icon__T5Kuo{font-size:.6rem}.DataGridFilter-module_column-select-option__epEFk{text-transform:capitalize}.DataGridFilter-module_popover__LXEBl{align-items:flex-start;display:flex;flex-direction:column;gap:1rem;min-width:40rem;padding:1rem .75rem}.DataGridFilter-module_popover__LXEBl .DataGridFilter-module_controls__TrlV2{display:flex;gap:1rem;width:100%}.DataGridFilter-module_popover__LXEBl .DataGridFilter-module_controls__TrlV2 :first-child,.DataGridFilter-module_popover__LXEBl .DataGridFilter-module_controls__TrlV2>:last-child{flex-grow:1.8;flex-shrink:0;margin-top:0}.DataGridFilter-module_popover__LXEBl .DataGridFilter-module_controls__TrlV2>:nth-child(2){flex-grow:1;flex-shrink:0;margin-top:0}.DataGridFilter-module_popover__LXEBl .DataGridFilter-module_actions__Mr5CH{display:flex;gap:1rem}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkRhdGFHcmlkRmlsdGVyLm1vZHVsZS5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWVBOzs7Ozs7Ozs7Ozs7OztFQWNFO0FBQ0Y7Ozs7Ozs7Ozs7Ozs7O0VBY0UsQ0FDRixzQ0FPRSxrQkFBc0IsQ0FDdEIsUUFBUyxDQUxULFVBQVcsQ0FFWCxXQUFZLENBQ1osZUFBZ0IsQ0FGaEIsU0FBVSxDQUhWLGlCQUFrQixDQUNsQixTQU9GLENBRUEscUNBQ0UsWUFDRixDQUVBLHVDQUNFLDREQUNGLENBQ0EsdUNBQ0UsdUNBQ0UsdUJBQ0YsQ0FDRixDQUVBLHdDQUNFLDZEQUNGLENBQ0EsdUNBQ0Usd0NBQ0UsdUJBQ0YsQ0FDRixDQUVBLGlEQUNFLEdBQ0UsMkJBQ0YsQ0FDQSxHQUNFLHVCQUNGLENBQ0YsQ0FDQSxrREFDRSxHQUNFLHVCQUNGLENBQ0EsR0FDRSwyQkFDRixDQUNGLENBQ0EsNkNBR0Usa0JBQW1CLENBSW5CLDBDQUEyQyxDQUQzQyxzQkFBdUIsQ0FMdkIsWUFBYSxDQUdiLFdBQWEsQ0FGYixzQkFBdUIsQ0FHdkIsa0NBR0YsQ0FDQSx5RkFHRSxrQkFBbUIsQ0FFbkIsZUFBZ0IsQ0FDaEIsV0FBWSxDQUVaLGNBQWUsQ0FQZixZQUFhLENBR2IsV0FBYSxDQUZiLDBCQUEyQixDQUszQixnQkFFRixDQUNBLG9HQUNFLG9CQUNGLENBQ0EsK0ZBRUUscUNBQXNDLENBRHRDLHFCQUVGLENBQ0EsZ0dBQ0UsMENBQ0YsQ0FDQSx1R0FHRSx3Q0FBeUMsQ0FGekMsd0NBQTBDLENBQzFDLGdCQUVGLENBQ0EsbUZBQ0Usb0NBQXFDLENBR3JDLGVBQWdCLENBRmhCLHdDQUF5QyxDQUN6QyxRQUVGLENBQ0EscUhBQ0UsZUFDRixDQUNBLHVGQUNFLGVBQ0YsQ0FFQSxtREFDRSx5QkFDRixDQUVBLHNDQUdFLHNCQUF1QixDQUZ2QixZQUFhLENBQ2IscUJBQXNCLENBRXRCLFFBQVMsQ0FFVCxlQUFnQixDQURoQixtQkFFRixDQUNBLDZFQUVFLFlBQWEsQ0FDYixRQUFTLENBRlQsVUFHRixDQUNBLG1MQUVFLGFBQWMsQ0FDZCxhQUFjLENBQ2QsWUFDRixDQUNBLDJGQUNFLFdBQVksQ0FDWixhQUFjLENBQ2QsWUFDRixDQUNBLDRFQUNFLFlBQWEsQ0FDYixRQUNGIiwiZmlsZSI6IkRhdGFHcmlkRmlsdGVyLm1vZHVsZS5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDIyIE9uZVdlbGNvbWUgQi5WLlxuICpcbiAqICAgIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiAgICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiAgICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogICAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogICAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogICAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiAgICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiAgICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLyohXG4gKiBDb3B5cmlnaHQgMjAyMiBPbmVXZWxjb21lIEIuVi5cbiAqXG4gKiAgICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogICAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogICAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqICAgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqICAgIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqICAgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogICAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogICAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8qIVxuICogQ29weXJpZ2h0IDIwMjIgT25lV2VsY29tZSBCLlYuXG4gKlxuICogICAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqICAgIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqICAgIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiAgICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiAgICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiAgICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqICAgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqICAgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG4uc3Itb25seSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogLTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgYm9yZGVyOiAwO1xufVxuXG4uaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnNsaWRlLWluIHtcbiAgYW5pbWF0aW9uOiBzbGlkZS1pbiAwLjVzIGZvcndhcmRzO1xufVxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLnNsaWRlLWluIHtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDAuMW1zO1xuICB9XG59XG5cbi5zbGlkZS1vdXQge1xuICBhbmltYXRpb246IHNsaWRlLW91dCAwLjVzIGZvcndhcmRzO1xufVxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLnNsaWRlLW91dCB7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjFtcztcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlLWluIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDB2aCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcbiAgfVxufVxuQGtleWZyYW1lcyBzbGlkZS1vdXQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwdmgpO1xuICB9XG59XG4uZmlsdGVyLXdyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAwLjM3NXJlbTtcbiAgcGFkZGluZzogMC4yNXJlbSAwLjc1cmVtIDAuMjVyZW0gMC41cmVtO1xuICBib3JkZXItcmFkaXVzOiAzLjEyNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmx1ZS1ncmV5MTAwKTtcbn1cbi5maWx0ZXItd3JhcHBlciAuZmlsdGVyLWJ1dHRvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAwLjM3NXJlbTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBwYWRkaW5nOiAwIDAuMjVyZW07XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5maWx0ZXItd3JhcHBlciAuZmlsdGVyLWJ1dHRvbjpvbmx5LWNoaWxkIHtcbiAgbWFyZ2luLXJpZ2h0OiAtMC4yNXJlbTtcbn1cbi5maWx0ZXItd3JhcHBlciAuZmlsdGVyLWJ1dHRvbjpob3ZlciB7XG4gIGJvcmRlci1yYWRpdXM6IDAuMTI1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ibGFjazEwKTtcbn1cbi5maWx0ZXItd3JhcHBlciAuZmlsdGVyLWJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ibHVlLWdyZXk0MDApO1xufVxuLmZpbHRlci13cmFwcGVyIC5maWx0ZXItYnV0dG9uOmZvY3VzLXZpc2libGUge1xuICBvdXRsaW5lOiAwLjEyNXJlbSBzb2xpZCB2YXIoLS1jb2xvci1mb2N1cyk7XG4gIG91dGxpbmUtb2Zmc2V0OiAwO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1mb2N1cy1ib3JkZXItcmFkaXVzKTtcbn1cbi5maWx0ZXItd3JhcHBlciAuY2FwdGlvbiB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWRhdGEtZ3JpZCk7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1kYXRhLWdyaWQtbGluZS1oZWlnaHQpO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uZmlsdGVyLXdyYXBwZXIgLmNhcHRpb24uYm9sZCB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG4uZmlsdGVyLXdyYXBwZXIgLnJlbW92ZS1pY29uIHtcbiAgZm9udC1zaXplOiAwLjZyZW07XG59XG5cbi5jb2x1bW4tc2VsZWN0LW9wdGlvbiB7XG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xufVxuXG4ucG9wb3ZlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBnYXA6IDFyZW07XG4gIHBhZGRpbmc6IDFyZW0gMC43NXJlbTtcbiAgbWluLXdpZHRoOiA0MHJlbTtcbn1cbi5wb3BvdmVyIC5jb250cm9scyB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDFyZW07XG59XG4ucG9wb3ZlciAuY29udHJvbHMgPiAqOmxhc3QtY2hpbGQsXG4ucG9wb3ZlciAuY29udHJvbHMgKjpmaXJzdC1jaGlsZCB7XG4gIGZsZXgtZ3JvdzogMS44O1xuICBmbGV4LXNocmluazogMDtcbiAgbWFyZ2luLXRvcDogMDtcbn1cbi5wb3BvdmVyIC5jb250cm9scyA+ICo6bnRoLWNoaWxkKDIpIHtcbiAgZmxleC1ncm93OiAxO1xuICBmbGV4LXNocmluazogMDtcbiAgbWFyZ2luLXRvcDogMDtcbn1cbi5wb3BvdmVyIC5hY3Rpb25zIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiAxcmVtO1xufSJdfQ== */";
4
- var classes = {"sr-only":"DataGridFilter-module_sr-only__42Whj","hidden":"DataGridFilter-module_hidden__-lmLz","slide-in":"DataGridFilter-module_slide-in__Ab0c2","slide-out":"DataGridFilter-module_slide-out__znEjC","filter-wrapper":"DataGridFilter-module_filter-wrapper__qd5Al","filter-button":"DataGridFilter-module_filter-button__tBzMf","caption":"DataGridFilter-module_caption__vSlvk","bold":"DataGridFilter-module_bold__oaBQm","remove-icon":"DataGridFilter-module_remove-icon__T5Kuo","column-select-option":"DataGridFilter-module_column-select-option__epEFk","popover":"DataGridFilter-module_popover__LXEBl","controls":"DataGridFilter-module_controls__TrlV2","actions":"DataGridFilter-module_actions__Mr5CH"};
3
+ var css_248z = "/*!\n * Copyright 2022 OneWelcome B.V.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/*!\n * Copyright 2022 OneWelcome B.V.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */.DataGridFilter-module_sr-only__42Whj{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.DataGridFilter-module_hidden__-lmLz{display:none}.DataGridFilter-module_slide-in__Ab0c2{animation:DataGridFilter-module_slide-in__Ab0c2 .5s forwards}@media (prefers-reduced-motion:reduce){.DataGridFilter-module_slide-in__Ab0c2{animation-duration:.1ms}}.DataGridFilter-module_slide-out__znEjC{animation:DataGridFilter-module_slide-out__znEjC .5s forwards}@media (prefers-reduced-motion:reduce){.DataGridFilter-module_slide-out__znEjC{animation-duration:.1ms}}@keyframes DataGridFilter-module_slide-in__Ab0c2{0%{transform:translateY(100vh)}to{transform:translateY(0)}}@keyframes DataGridFilter-module_slide-out__znEjC{0%{transform:translateY(0)}to{transform:translateY(100vh)}}.DataGridFilter-module_filter-wrapper__qd5Al{align-items:center;background-color:var(--color-blue-grey100);border-radius:3.125rem;display:flex;gap:.375rem;justify-content:center;min-height:1.5rem;padding:.25rem .75rem .25rem .5rem}.DataGridFilter-module_filter-wrapper__qd5Al:hover{background-color:var(--color-blue-grey200)}.DataGridFilter-module_filter-wrapper__qd5Al:active{background-color:var(--color-primary100)}.DataGridFilter-module_filter-wrapper__qd5Al .DataGridFilter-module_filter-button__tBzMf{align-items:center;background:none;border:none;cursor:pointer;display:flex;gap:.375rem;justify-content:flex-start;padding:0 .25rem}.DataGridFilter-module_filter-wrapper__qd5Al .DataGridFilter-module_filter-button__tBzMf:only-child{margin-right:-.25rem}.DataGridFilter-module_filter-wrapper__qd5Al .DataGridFilter-module_filter-button__tBzMf:focus-visible{border-radius:var(--focus-border-radius);outline:.125rem solid var(--color-focus);outline-offset:0}.DataGridFilter-module_filter-wrapper__qd5Al .DataGridFilter-module_remove-button__dh0WC{border-radius:1.25rem}.DataGridFilter-module_filter-wrapper__qd5Al .DataGridFilter-module_caption__vSlvk{font-size:var(--font-size-data-grid);font-weight:400;line-height:var(--data-grid-line-height);margin:0}.DataGridFilter-module_filter-wrapper__qd5Al .DataGridFilter-module_caption__vSlvk.DataGridFilter-module_bold__oaBQm{font-weight:600}.DataGridFilter-module_filter-wrapper__qd5Al .DataGridFilter-module_remove-icon__T5Kuo{font-size:.6rem}.DataGridFilter-module_column-select-option__epEFk{text-transform:capitalize}.DataGridFilter-module_popover__LXEBl{align-items:flex-start;display:flex;flex-direction:column;gap:1rem;min-width:40rem;padding:1rem .75rem}.DataGridFilter-module_popover__LXEBl .DataGridFilter-module_controls__TrlV2{display:flex;gap:1rem;width:100%}.DataGridFilter-module_popover__LXEBl .DataGridFilter-module_controls__TrlV2>:first-child{flex-grow:1.8;flex-shrink:0;margin-top:0}.DataGridFilter-module_popover__LXEBl .DataGridFilter-module_controls__TrlV2>:nth-child(2){flex-grow:1;flex-shrink:0;margin-top:0}.DataGridFilter-module_popover__LXEBl .DataGridFilter-module_controls__TrlV2>:last-child{flex-basis:15rem;flex-grow:1.8;flex-shrink:0;margin-top:0}.DataGridFilter-module_popover__LXEBl .DataGridFilter-module_actions__Mr5CH{display:flex;gap:1rem}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkRhdGFHcmlkRmlsdGVyLm1vZHVsZS5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWVBOzs7Ozs7Ozs7Ozs7OztFQWNFO0FBQ0Y7Ozs7Ozs7Ozs7Ozs7O0VBY0UsQ0FDRixzQ0FPRSxrQkFBc0IsQ0FDdEIsUUFBUyxDQUxULFVBQVcsQ0FFWCxXQUFZLENBQ1osZUFBZ0IsQ0FGaEIsU0FBVSxDQUhWLGlCQUFrQixDQUNsQixTQU9GLENBRUEscUNBQ0UsWUFDRixDQUVBLHVDQUNFLDREQUNGLENBQ0EsdUNBQ0UsdUNBQ0UsdUJBQ0YsQ0FDRixDQUVBLHdDQUNFLDZEQUNGLENBQ0EsdUNBQ0Usd0NBQ0UsdUJBQ0YsQ0FDRixDQUVBLGlEQUNFLEdBQ0UsMkJBQ0YsQ0FDQSxHQUNFLHVCQUNGLENBQ0YsQ0FDQSxrREFDRSxHQUNFLHVCQUNGLENBQ0EsR0FDRSwyQkFDRixDQUNGLENBQ0EsNkNBR0Usa0JBQW1CLENBS25CLDBDQUEyQyxDQUQzQyxzQkFBdUIsQ0FOdkIsWUFBYSxDQUdiLFdBQWEsQ0FGYixzQkFBdUIsQ0FHdkIsaUJBQWtCLENBQ2xCLGtDQUdGLENBQ0EsbURBQ0UsMENBQ0YsQ0FDQSxvREFDRSx3Q0FDRixDQUNBLHlGQUdFLGtCQUFtQixDQUVuQixlQUFnQixDQUNoQixXQUFZLENBRVosY0FBZSxDQVBmLFlBQWEsQ0FHYixXQUFhLENBRmIsMEJBQTJCLENBSzNCLGdCQUVGLENBQ0Esb0dBQ0Usb0JBQ0YsQ0FDQSx1R0FHRSx3Q0FBeUMsQ0FGekMsd0NBQTBDLENBQzFDLGdCQUVGLENBQ0EseUZBQ0UscUJBQ0YsQ0FDQSxtRkFDRSxvQ0FBcUMsQ0FHckMsZUFBZ0IsQ0FGaEIsd0NBQXlDLENBQ3pDLFFBRUYsQ0FDQSxxSEFDRSxlQUNGLENBQ0EsdUZBQ0UsZUFDRixDQUVBLG1EQUNFLHlCQUNGLENBRUEsc0NBR0Usc0JBQXVCLENBRnZCLFlBQWEsQ0FDYixxQkFBc0IsQ0FFdEIsUUFBUyxDQUVULGVBQWdCLENBRGhCLG1CQUVGLENBQ0EsNkVBRUUsWUFBYSxDQUNiLFFBQVMsQ0FGVCxVQUdGLENBQ0EsMEZBQ0UsYUFBYyxDQUNkLGFBQWMsQ0FDZCxZQUNGLENBQ0EsMkZBQ0UsV0FBWSxDQUNaLGFBQWMsQ0FDZCxZQUNGLENBQ0EseUZBQ0UsZ0JBQWlCLENBQ2pCLGFBQWMsQ0FDZCxhQUFjLENBQ2QsWUFDRixDQUNBLDRFQUNFLFlBQWEsQ0FDYixRQUNGIiwiZmlsZSI6IkRhdGFHcmlkRmlsdGVyLm1vZHVsZS5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDIyIE9uZVdlbGNvbWUgQi5WLlxuICpcbiAqICAgIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiAgICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiAgICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogICAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogICAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogICAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiAgICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiAgICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLyohXG4gKiBDb3B5cmlnaHQgMjAyMiBPbmVXZWxjb21lIEIuVi5cbiAqXG4gKiAgICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogICAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogICAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqICAgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqICAgIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqICAgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogICAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogICAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8qIVxuICogQ29weXJpZ2h0IDIwMjIgT25lV2VsY29tZSBCLlYuXG4gKlxuICogICAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqICAgIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqICAgIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiAgICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiAgICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiAgICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqICAgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqICAgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG4uc3Itb25seSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogLTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgYm9yZGVyOiAwO1xufVxuXG4uaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnNsaWRlLWluIHtcbiAgYW5pbWF0aW9uOiBzbGlkZS1pbiAwLjVzIGZvcndhcmRzO1xufVxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLnNsaWRlLWluIHtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDAuMW1zO1xuICB9XG59XG5cbi5zbGlkZS1vdXQge1xuICBhbmltYXRpb246IHNsaWRlLW91dCAwLjVzIGZvcndhcmRzO1xufVxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLnNsaWRlLW91dCB7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjFtcztcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlLWluIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDB2aCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcbiAgfVxufVxuQGtleWZyYW1lcyBzbGlkZS1vdXQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwdmgpO1xuICB9XG59XG4uZmlsdGVyLXdyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAwLjM3NXJlbTtcbiAgbWluLWhlaWdodDogMS41cmVtO1xuICBwYWRkaW5nOiAwLjI1cmVtIDAuNzVyZW0gMC4yNXJlbSAwLjVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDMuMTI1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ibHVlLWdyZXkxMDApO1xufVxuLmZpbHRlci13cmFwcGVyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmx1ZS1ncmV5MjAwKTtcbn1cbi5maWx0ZXItd3JhcHBlcjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5MTAwKTtcbn1cbi5maWx0ZXItd3JhcHBlciAuZmlsdGVyLWJ1dHRvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAwLjM3NXJlbTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBwYWRkaW5nOiAwIDAuMjVyZW07XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5maWx0ZXItd3JhcHBlciAuZmlsdGVyLWJ1dHRvbjpvbmx5LWNoaWxkIHtcbiAgbWFyZ2luLXJpZ2h0OiAtMC4yNXJlbTtcbn1cbi5maWx0ZXItd3JhcHBlciAuZmlsdGVyLWJ1dHRvbjpmb2N1cy12aXNpYmxlIHtcbiAgb3V0bGluZTogMC4xMjVyZW0gc29saWQgdmFyKC0tY29sb3ItZm9jdXMpO1xuICBvdXRsaW5lLW9mZnNldDogMDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tZm9jdXMtYm9yZGVyLXJhZGl1cyk7XG59XG4uZmlsdGVyLXdyYXBwZXIgLnJlbW92ZS1idXR0b24ge1xuICBib3JkZXItcmFkaXVzOiAxLjI1cmVtO1xufVxuLmZpbHRlci13cmFwcGVyIC5jYXB0aW9uIHtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtZGF0YS1ncmlkKTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWRhdGEtZ3JpZC1saW5lLWhlaWdodCk7XG4gIG1hcmdpbjogMDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi5maWx0ZXItd3JhcHBlciAuY2FwdGlvbi5ib2xkIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cbi5maWx0ZXItd3JhcHBlciAucmVtb3ZlLWljb24ge1xuICBmb250LXNpemU6IDAuNnJlbTtcbn1cblxuLmNvbHVtbi1zZWxlY3Qtb3B0aW9uIHtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG59XG5cbi5wb3BvdmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGdhcDogMXJlbTtcbiAgcGFkZGluZzogMXJlbSAwLjc1cmVtO1xuICBtaW4td2lkdGg6IDQwcmVtO1xufVxuLnBvcG92ZXIgLmNvbnRyb2xzIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogMXJlbTtcbn1cbi5wb3BvdmVyIC5jb250cm9scyA+ICo6Zmlyc3QtY2hpbGQge1xuICBmbGV4LWdyb3c6IDEuODtcbiAgZmxleC1zaHJpbms6IDA7XG4gIG1hcmdpbi10b3A6IDA7XG59XG4ucG9wb3ZlciAuY29udHJvbHMgPiAqOm50aC1jaGlsZCgyKSB7XG4gIGZsZXgtZ3JvdzogMTtcbiAgZmxleC1zaHJpbms6IDA7XG4gIG1hcmdpbi10b3A6IDA7XG59XG4ucG9wb3ZlciAuY29udHJvbHMgPiAqOmxhc3QtY2hpbGQge1xuICBmbGV4LWJhc2lzOiAxNXJlbTtcbiAgZmxleC1ncm93OiAxLjg7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBtYXJnaW4tdG9wOiAwO1xufVxuLnBvcG92ZXIgLmFjdGlvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDFyZW07XG59Il19 */";
4
+ var classes = {"sr-only":"DataGridFilter-module_sr-only__42Whj","hidden":"DataGridFilter-module_hidden__-lmLz","slide-in":"DataGridFilter-module_slide-in__Ab0c2","slide-out":"DataGridFilter-module_slide-out__znEjC","filter-wrapper":"DataGridFilter-module_filter-wrapper__qd5Al","filter-button":"DataGridFilter-module_filter-button__tBzMf","remove-button":"DataGridFilter-module_remove-button__dh0WC","caption":"DataGridFilter-module_caption__vSlvk","bold":"DataGridFilter-module_bold__oaBQm","remove-icon":"DataGridFilter-module_remove-icon__T5Kuo","column-select-option":"DataGridFilter-module_column-select-option__epEFk","popover":"DataGridFilter-module_popover__LXEBl","controls":"DataGridFilter-module_controls__TrlV2","actions":"DataGridFilter-module_actions__Mr5CH"};
5
5
  styleInject(css_248z);
6
6
 
7
7
  export { classes as default };
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import React, { useEffect } from 'react';
2
2
  import classes from './DataGridFilter.module.scss.esm.js';
3
3
  import { Button } from '../../Button/Button.esm.js';
4
4
  import { Option } from '../../Form/Select/SingleSelect/Option.esm.js';
@@ -7,6 +7,7 @@ import { MultiSelectWrapper } from '../../Form/Wrapper/MultiSelectWrapper/MultiS
7
7
  import { SelectWrapper } from '../../Form/Wrapper/SelectWrapper/SelectWrapper.esm.js';
8
8
  import { Popover } from '../../Popover/Popover.esm.js';
9
9
  import { DefaultOperators } from './DataGridFilters.interfaces.esm.js';
10
+ import { useRepeatFocus } from '../../src/hooks/useRepeatFocus.esm.js';
10
11
 
11
12
  /*
12
13
  * Copyright 2022 OneWelcome B.V.
@@ -23,9 +24,16 @@ import { DefaultOperators } from './DataGridFilters.interfaces.esm.js';
23
24
  * See the License for the specific language governing permissions and
24
25
  * limitations under the License.
25
26
  */
26
- const DataGridFilterPopover = ({ anchorRef, isOpen, column, columnsMetadata, values, pickedValues, operator, operators, onFilterSubmit, resetFields, setFilterOpen, setColumn, setOperator, setOperators, setValues, setPickedValues, translations }) => {
27
+ const DataGridFilterPopover = ({ popoverRef, anchorRef, isOpen, column, columnsMetadata, values, pickedValues, operator, operators, onFilterSubmit, resetFields, setFilterOpen, setColumn, setOperator, setOperators, setValues, setPickedValues, translations }) => {
27
28
  const { columnSelectLabel = "Filter by", operatorSelectLabel = "Operator", valueSelectLabel = "Value", addNewValueLabel = "Create new", addNewValueButtonTitle = "Add new select value", submitButtonTitle = "Apply", cancelButtonTitle = "Cancel" } = translations || {};
28
- return (React.createElement(Popover, { anchorEl: anchorRef, show: isOpen, placement: { horizontal: "left", vertical: "bottom" }, transformOrigin: { horizontal: "left", vertical: "top" } },
29
+ useRepeatFocus(popoverRef);
30
+ useEffect(() => {
31
+ var _a;
32
+ if (isOpen) {
33
+ (_a = popoverRef.current) === null || _a === void 0 ? void 0 : _a.focus();
34
+ }
35
+ }, [isOpen]);
36
+ return (React.createElement(Popover, { tabIndex: -1, anchorEl: anchorRef, ref: popoverRef, show: isOpen, placement: { horizontal: "left", vertical: "bottom" }, transformOrigin: { horizontal: "left", vertical: "top" } },
29
37
  React.createElement("div", { className: classes["popover"] },
30
38
  React.createElement("div", { className: classes["controls"] },
31
39
  React.createElement(SelectWrapper, { label: columnSelectLabel, value: column, name: "column", onChange: e => {
@@ -1 +1 @@
1
- {"version":3,"file":"DataGridFilterPopover.esm.js","sources":["../../../../../../src/components/DataGrid/DataGridFilters/DataGridFilterPopover.tsx"],"sourcesContent":["/*\n * Copyright 2022 OneWelcome B.V.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport React from \"react\";\nimport classes from \"./DataGridFilter.module.scss\";\nimport { Button } from \"../../Button/Button\";\nimport { Option } from \"../../Form/Select/SingleSelect/Option\";\nimport { MultiOption } from \"../../Form/Select/MultiSelect/MultiOption\";\nimport { MultiSelectWrapper } from \"../../Form/Wrapper/MultiSelectWrapper/MultiSelectWrapper\";\nimport { SelectWrapper } from \"../../Form/Wrapper/SelectWrapper/SelectWrapper\";\nimport { Popover } from \"../../Popover/Popover\";\nimport {\n DataGridColumnMetadata,\n DefaultOperators,\n PopoverTranslations\n} from \"./DataGridFilters.interfaces\";\n\nexport type Props = {\n anchorRef?: React.RefObject<HTMLOrSVGElement>;\n isOpen: boolean;\n column: string;\n columnsMetadata: DataGridColumnMetadata[];\n values: string[];\n pickedValues: string[];\n operator: string;\n operators: string[];\n onFilterSubmit: () => void;\n resetFields: () => void;\n setFilterOpen: (value: React.SetStateAction<boolean>) => void;\n setColumn: (column: React.SetStateAction<string>) => void;\n setOperator: (operator: React.SetStateAction<string>) => void;\n setOperators: (operators: React.SetStateAction<string[]>) => void;\n setValues: (values: React.SetStateAction<string[]>) => void;\n setPickedValues: (pickedValues: React.SetStateAction<string[]>) => void;\n translations?: PopoverTranslations;\n};\n\nexport const DataGridFilterPopover = ({\n anchorRef,\n isOpen,\n column,\n columnsMetadata,\n values,\n pickedValues,\n operator,\n operators,\n onFilterSubmit,\n resetFields,\n setFilterOpen,\n setColumn,\n setOperator,\n setOperators,\n setValues,\n setPickedValues,\n translations\n}: Props) => {\n const {\n columnSelectLabel = \"Filter by\",\n operatorSelectLabel = \"Operator\",\n valueSelectLabel = \"Value\",\n addNewValueLabel = \"Create new\",\n addNewValueButtonTitle = \"Add new select value\",\n submitButtonTitle = \"Apply\",\n cancelButtonTitle = \"Cancel\"\n } = translations || {};\n return (\n <Popover\n anchorEl={anchorRef}\n show={isOpen}\n placement={{ horizontal: \"left\", vertical: \"bottom\" }}\n transformOrigin={{ horizontal: \"left\", vertical: \"top\" }}\n >\n <div className={classes[\"popover\"]}>\n <div className={classes[\"controls\"]}>\n <SelectWrapper\n label={columnSelectLabel}\n value={column}\n name={\"column\"}\n onChange={e => {\n setColumn(e.target.value);\n const columnMetadata = columnsMetadata.find(({ name }) => name === e.target.value);\n\n if (columnMetadata?.operators) {\n setOperator(columnMetadata.operators[0]);\n setOperators(columnMetadata.operators);\n } else {\n setOperator(Object.values(DefaultOperators)[0]);\n setOperators(Object.values(DefaultOperators));\n }\n\n if (columnMetadata?.defaultValues) {\n setPickedValues([]);\n setValues(columnMetadata.defaultValues);\n } else {\n setPickedValues([]);\n setValues([]);\n }\n }}\n >\n {columnsMetadata.map(({ name, headline }) => (\n <Option className={classes[\"column-select-option\"]} key={name} value={name}>\n {headline}\n </Option>\n ))}\n </SelectWrapper>\n <SelectWrapper\n label={operatorSelectLabel}\n value={operator}\n name={\"operator\"}\n onChange={e => setOperator(e.target.value)}\n >\n {operators.map(operator => (\n <Option key={operator} value={operator}>\n {operator}\n </Option>\n ))}\n </SelectWrapper>\n <MultiSelectWrapper\n label={valueSelectLabel}\n name={\"value\"}\n value={pickedValues}\n onChange={e =>\n setPickedValues(\n [...Array.from(e.target.options)]\n .filter(option => option.selected)\n .map(option => option.value)\n )\n }\n selectProps={{\n addNew: {\n label: addNewValueLabel,\n onAddNew: value => {\n if (value) {\n setValues(prev => [...prev, value]);\n setPickedValues(prev => [...prev, value]);\n }\n },\n btnProps: { title: addNewValueButtonTitle, type: \"button\" }\n },\n search: {\n enabled: true,\n renderThreshold: 0\n }\n }}\n >\n {values.map(value => (\n <MultiOption key={value} value={value}>\n {value}\n </MultiOption>\n ))}\n </MultiSelectWrapper>\n </div>\n <div className={classes[\"actions\"]}>\n <Button onClick={onFilterSubmit}>{submitButtonTitle}</Button>\n <Button\n variant=\"text\"\n onClick={() => {\n resetFields();\n setFilterOpen(false);\n }}\n >\n {cancelButtonTitle}\n </Button>\n </div>\n </div>\n </Popover>\n );\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DataGridFilterPopover.esm.js","sources":["../../../../../../src/components/DataGrid/DataGridFilters/DataGridFilterPopover.tsx"],"sourcesContent":["/*\n * Copyright 2022 OneWelcome B.V.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport React, { useEffect } from \"react\";\nimport classes from \"./DataGridFilter.module.scss\";\nimport { Button } from \"../../Button/Button\";\nimport { Option } from \"../../Form/Select/SingleSelect/Option\";\nimport { MultiOption } from \"../../Form/Select/MultiSelect/MultiOption\";\nimport { MultiSelectWrapper } from \"../../Form/Wrapper/MultiSelectWrapper/MultiSelectWrapper\";\nimport { SelectWrapper } from \"../../Form/Wrapper/SelectWrapper/SelectWrapper\";\nimport { Popover } from \"../../Popover/Popover\";\nimport {\n DataGridColumnMetadata,\n DefaultOperators,\n PopoverTranslations\n} from \"./DataGridFilters.interfaces\";\nimport { useRepeatFocus } from \"../../../hooks/useRepeatFocus\";\n\nexport type Props = {\n popoverRef: React.RefObject<HTMLDivElement>;\n anchorRef?: React.RefObject<HTMLDivElement>;\n isOpen: boolean;\n column: string;\n columnsMetadata: DataGridColumnMetadata[];\n values: string[];\n pickedValues: string[];\n operator: string;\n operators: string[];\n onFilterSubmit: () => void;\n resetFields: () => void;\n setFilterOpen: (value: React.SetStateAction<boolean>) => void;\n setColumn: (column: React.SetStateAction<string>) => void;\n setOperator: (operator: React.SetStateAction<string>) => void;\n setOperators: (operators: React.SetStateAction<string[]>) => void;\n setValues: (values: React.SetStateAction<string[]>) => void;\n setPickedValues: (pickedValues: React.SetStateAction<string[]>) => void;\n translations?: PopoverTranslations;\n};\n\nexport const DataGridFilterPopover = ({\n popoverRef,\n anchorRef,\n isOpen,\n column,\n columnsMetadata,\n values,\n pickedValues,\n operator,\n operators,\n onFilterSubmit,\n resetFields,\n setFilterOpen,\n setColumn,\n setOperator,\n setOperators,\n setValues,\n setPickedValues,\n translations\n}: Props) => {\n const {\n columnSelectLabel = \"Filter by\",\n operatorSelectLabel = \"Operator\",\n valueSelectLabel = \"Value\",\n addNewValueLabel = \"Create new\",\n addNewValueButtonTitle = \"Add new select value\",\n submitButtonTitle = \"Apply\",\n cancelButtonTitle = \"Cancel\"\n } = translations || {};\n useRepeatFocus(popoverRef);\n\n useEffect(() => {\n if (isOpen) {\n popoverRef.current?.focus();\n }\n }, [isOpen]);\n\n return (\n <Popover\n tabIndex={-1}\n anchorEl={anchorRef}\n ref={popoverRef}\n show={isOpen}\n placement={{ horizontal: \"left\", vertical: \"bottom\" }}\n transformOrigin={{ horizontal: \"left\", vertical: \"top\" }}\n >\n <div className={classes[\"popover\"]}>\n <div className={classes[\"controls\"]}>\n <SelectWrapper\n label={columnSelectLabel}\n value={column}\n name={\"column\"}\n onChange={e => {\n setColumn(e.target.value);\n const columnMetadata = columnsMetadata.find(({ name }) => name === e.target.value);\n\n if (columnMetadata?.operators) {\n setOperator(columnMetadata.operators[0]);\n setOperators(columnMetadata.operators);\n } else {\n setOperator(Object.values(DefaultOperators)[0]);\n setOperators(Object.values(DefaultOperators));\n }\n\n if (columnMetadata?.defaultValues) {\n setPickedValues([]);\n setValues(columnMetadata.defaultValues);\n } else {\n setPickedValues([]);\n setValues([]);\n }\n }}\n >\n {columnsMetadata.map(({ name, headline }) => (\n <Option className={classes[\"column-select-option\"]} key={name} value={name}>\n {headline}\n </Option>\n ))}\n </SelectWrapper>\n <SelectWrapper\n label={operatorSelectLabel}\n value={operator}\n name={\"operator\"}\n onChange={e => setOperator(e.target.value)}\n >\n {operators.map(operator => (\n <Option key={operator} value={operator}>\n {operator}\n </Option>\n ))}\n </SelectWrapper>\n <MultiSelectWrapper\n label={valueSelectLabel}\n name={\"value\"}\n value={pickedValues}\n onChange={e =>\n setPickedValues(\n [...Array.from(e.target.options)]\n .filter(option => option.selected)\n .map(option => option.value)\n )\n }\n selectProps={{\n addNew: {\n label: addNewValueLabel,\n onAddNew: value => {\n if (value) {\n setValues(prev => [...prev, value]);\n setPickedValues(prev => [...prev, value]);\n }\n },\n btnProps: { title: addNewValueButtonTitle, type: \"button\" }\n },\n search: {\n enabled: true,\n renderThreshold: 0\n }\n }}\n >\n {values.map(value => (\n <MultiOption key={value} value={value}>\n {value}\n </MultiOption>\n ))}\n </MultiSelectWrapper>\n </div>\n <div className={classes[\"actions\"]}>\n <Button onClick={onFilterSubmit}>{submitButtonTitle}</Button>\n <Button\n variant=\"text\"\n onClick={() => {\n resetFields();\n setFilterOpen(false);\n }}\n >\n {cancelButtonTitle}\n </Button>\n </div>\n </div>\n </Popover>\n );\n};\n"],"names":[],"mappings":"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"}
@@ -28,25 +28,23 @@ const EditTagContent = ({ filter }) => {
28
28
  " ",
29
29
  value.length > 0 && React.createElement("b", null, value[0]),
30
30
  value.length >= 2 && (React.createElement(React.Fragment, null,
31
- " ",
32
31
  "or ",
33
32
  React.createElement("b", null,
34
33
  " ",
35
34
  value.length - 1,
36
35
  " other")))));
37
36
  };
38
- const DataGridFilterTagComponent = ({ triggerRef, filter, mode, onFilterRemove, onFilterOpen, translations, ...rest }, ref) => {
37
+ const DataGridFilterTagComponent = ({ triggerRef, filter, mode, onFilterRemove, onFilterOpen, translations, customEditTagContent, ...rest }, ref) => {
39
38
  const { addButtonCaption = "Add filter" } = translations || {};
40
39
  const shouldRenderAddTag = mode === "ADD";
41
40
  const shouldRenderEditTag = mode === "EDIT" && filter;
42
- return (React.createElement("div", { ...rest, ref: triggerRef, className: classes["filter-wrapper"] },
43
- React.createElement("button", { type: "button", className: classes["filter-button"], onClick: onFilterOpen },
41
+ return (React.createElement("div", { ...rest, ref: ref, className: classes["filter-wrapper"] },
42
+ React.createElement("button", { ref: triggerRef, type: "button", className: classes["filter-button"], onClick: onFilterOpen },
44
43
  shouldRenderAddTag && (React.createElement(Fragment, null,
45
44
  React.createElement(Icon, { icon: Icons.AddCircle }),
46
45
  React.createElement(Typography, { variant: "body", className: classes["caption"] }, addButtonCaption))),
47
- shouldRenderEditTag && (React.createElement(Typography, { variant: "body", className: classes["caption"] },
48
- React.createElement(EditTagContent, { filter: filter })))),
49
- shouldRenderEditTag && React.createElement(RemoveButton, { onRemove: onFilterRemove })));
46
+ shouldRenderEditTag && (React.createElement(Typography, { variant: "body", className: classes["caption"] }, customEditTagContent ? (React.cloneElement(customEditTagContent, { filter })) : (React.createElement(EditTagContent, { filter: filter }))))),
47
+ shouldRenderEditTag && (React.createElement(RemoveButton, { className: classes["remove-button"], onRemove: onFilterRemove }))));
50
48
  };
51
49
  const DataGridFilterTag = React.forwardRef(DataGridFilterTagComponent);
52
50
 
@@ -1 +1 @@
1
- {"version":3,"file":"DataGridFilterTag.esm.js","sources":["../../../../../../src/components/DataGrid/DataGridFilters/DataGridFilterTag.tsx"],"sourcesContent":["/*\n * Copyright 2022 OneWelcome B.V.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport React, { ComponentPropsWithRef, ForwardRefRenderFunction, Fragment } from \"react\";\nimport { Icon, Icons } from \"../../Icon/Icon\";\nimport { RemoveButton } from \"../../Tag/RemoveButton\";\nimport { Typography } from \"../../Typography/Typography\";\nimport classes from \"./DataGridFilter.module.scss\";\nimport { Filter, FilterEditorMode, TagTranslations } from \"./DataGridFilters.interfaces\";\n\nexport interface DataGridFilterTagProps extends ComponentPropsWithRef<\"div\"> {\n triggerRef: React.Ref<HTMLDivElement>;\n filter?: Filter;\n mode: FilterEditorMode;\n onFilterRemove: () => void;\n onFilterOpen: () => void;\n translations?: TagTranslations;\n}\n\nconst EditTagContent = ({ filter }: { filter: Filter }) => {\n const { column, operator, value } = filter;\n\n return (\n <Fragment>\n {column} {operator} {value.length > 0 && <b>{value[0]}</b>}\n {value.length >= 2 && (\n <>\n {\" \"}\n or <b> {value.length - 1} other</b>\n </>\n )}\n </Fragment>\n );\n};\n\nexport const DataGridFilterTagComponent: ForwardRefRenderFunction<\n HTMLDivElement,\n DataGridFilterTagProps\n> = (\n {\n triggerRef,\n filter,\n mode,\n onFilterRemove,\n onFilterOpen,\n translations,\n\n ...rest\n }: DataGridFilterTagProps,\n ref\n) => {\n const { addButtonCaption = \"Add filter\" } = translations || {};\n const shouldRenderAddTag = mode === \"ADD\";\n const shouldRenderEditTag = mode === \"EDIT\" && filter;\n\n return (\n <div {...rest} ref={triggerRef} className={classes[\"filter-wrapper\"]}>\n <button type=\"button\" className={classes[\"filter-button\"]} onClick={onFilterOpen}>\n {shouldRenderAddTag && (\n <Fragment>\n <Icon icon={Icons.AddCircle} />\n <Typography variant=\"body\" className={classes[\"caption\"]}>\n {addButtonCaption}\n </Typography>\n </Fragment>\n )}\n {shouldRenderEditTag && (\n <Typography variant=\"body\" className={classes[\"caption\"]}>\n <EditTagContent filter={filter} />\n </Typography>\n )}\n </button>\n {shouldRenderEditTag && <RemoveButton onRemove={onFilterRemove} />}\n </div>\n );\n};\n\nexport const DataGridFilterTag = React.forwardRef(DataGridFilterTagComponent);\n"],"names":[],"mappings":";;;;;;AAAA;;;;;;;;;;;;;;AAcG;AAkBH,MAAM,cAAc,GAAG,CAAC,EAAE,MAAM,EAAsB,KAAI;IACxD,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;IAE3C,QACE,oBAAC,QAAQ,EAAA,IAAA;QACN,MAAM;;QAAG,QAAQ;;QAAG,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,+BAAI,KAAK,CAAC,CAAC,CAAC,CAAK;AACzD,QAAA,KAAK,CAAC,MAAM,IAAI,CAAC,KAChB,KAAA,CAAA,aAAA,CAAA,KAAA,CAAA,QAAA,EAAA,IAAA;YACG,GAAG;;AACD,YAAA,KAAA,CAAA,aAAA,CAAA,GAAA,EAAA,IAAA;;gBAAK,KAAK,CAAC,MAAM,GAAG,CAAC;yBAAW,CAClC,CACJ,CACQ,EACX;AACJ,CAAC,CAAC;AAEW,MAAA,0BAA0B,GAGnC,CACF,EACE,UAAU,EACV,MAAM,EACN,IAAI,EACJ,cAAc,EACd,YAAY,EACZ,YAAY,EAEZ,GAAG,IAAI,EACgB,EACzB,GAAG,KACD;IACF,MAAM,EAAE,gBAAgB,GAAG,YAAY,EAAE,GAAG,YAAY,IAAI,EAAE,CAAC;AAC/D,IAAA,MAAM,kBAAkB,GAAG,IAAI,KAAK,KAAK,CAAC;AAC1C,IAAA,MAAM,mBAAmB,GAAG,IAAI,KAAK,MAAM,IAAI,MAAM,CAAC;AAEtD,IAAA,QACE,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,GAAS,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,CAAC,gBAAgB,CAAC,EAAA;AAClE,QAAA,KAAA,CAAA,aAAA,CAAA,QAAA,EAAA,EAAQ,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAE,OAAO,CAAC,eAAe,CAAC,EAAE,OAAO,EAAE,YAAY,EAAA;YAC7E,kBAAkB,KACjB,KAAA,CAAA,aAAA,CAAC,QAAQ,EAAA,IAAA;AACP,gBAAA,KAAA,CAAA,aAAA,CAAC,IAAI,EAAC,EAAA,IAAI,EAAE,KAAK,CAAC,SAAS,EAAI,CAAA;AAC/B,gBAAA,KAAA,CAAA,aAAA,CAAC,UAAU,EAAC,EAAA,OAAO,EAAC,MAAM,EAAC,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,EAAA,EACrD,gBAAgB,CACN,CACJ,CACZ;AACA,YAAA,mBAAmB,KAClB,KAAC,CAAA,aAAA,CAAA,UAAU,IAAC,OAAO,EAAC,MAAM,EAAC,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,EAAA;gBACtD,KAAC,CAAA,aAAA,CAAA,cAAc,IAAC,MAAM,EAAE,MAAM,EAAI,CAAA,CACvB,CACd,CACM;QACR,mBAAmB,IAAI,KAAC,CAAA,aAAA,CAAA,YAAY,EAAC,EAAA,QAAQ,EAAE,cAAc,EAAA,CAAI,CAC9D,EACN;AACJ,EAAE;AAEW,MAAA,iBAAiB,GAAG,KAAK,CAAC,UAAU,CAAC,0BAA0B;;;;"}
1
+ {"version":3,"file":"DataGridFilterTag.esm.js","sources":["../../../../../../src/components/DataGrid/DataGridFilters/DataGridFilterTag.tsx"],"sourcesContent":["/*\n * Copyright 2022 OneWelcome B.V.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport React, { ComponentPropsWithRef, ForwardRefRenderFunction, Fragment } from \"react\";\nimport { Icon, Icons } from \"../../Icon/Icon\";\nimport { RemoveButton } from \"../../Tag/RemoveButton\";\nimport { Typography } from \"../../Typography/Typography\";\nimport classes from \"./DataGridFilter.module.scss\";\nimport { Filter, FilterEditorMode, TagTranslations } from \"./DataGridFilters.interfaces\";\n\nexport interface DataGridFilterTagProps extends ComponentPropsWithRef<\"div\"> {\n customEditTagContent?: React.ReactElement;\n triggerRef: React.Ref<HTMLButtonElement>;\n filter?: Filter;\n mode: FilterEditorMode;\n onFilterRemove: () => void;\n onFilterOpen: () => void;\n translations?: TagTranslations;\n}\n\nconst EditTagContent = ({ filter }: { filter: Filter }) => {\n const { column, operator, value } = filter;\n\n return (\n <Fragment>\n {column} {operator} {value.length > 0 && <b>{value[0]}</b>}\n {value.length >= 2 && (\n <>\n or <b> {value.length - 1} other</b>\n </>\n )}\n </Fragment>\n );\n};\n\nexport const DataGridFilterTagComponent: ForwardRefRenderFunction<\n HTMLDivElement,\n DataGridFilterTagProps\n> = (\n {\n triggerRef,\n filter,\n mode,\n onFilterRemove,\n onFilterOpen,\n translations,\n customEditTagContent,\n ...rest\n }: DataGridFilterTagProps,\n ref\n) => {\n const { addButtonCaption = \"Add filter\" } = translations || {};\n const shouldRenderAddTag = mode === \"ADD\";\n const shouldRenderEditTag = mode === \"EDIT\" && filter;\n\n return (\n <div {...rest} ref={ref} className={classes[\"filter-wrapper\"]}>\n <button\n ref={triggerRef}\n type=\"button\"\n className={classes[\"filter-button\"]}\n onClick={onFilterOpen}\n >\n {shouldRenderAddTag && (\n <Fragment>\n <Icon icon={Icons.AddCircle} />\n <Typography variant=\"body\" className={classes[\"caption\"]}>\n {addButtonCaption}\n </Typography>\n </Fragment>\n )}\n {shouldRenderEditTag && (\n <Typography variant=\"body\" className={classes[\"caption\"]}>\n {customEditTagContent ? (\n React.cloneElement(customEditTagContent, { filter })\n ) : (\n <EditTagContent filter={filter} />\n )}\n </Typography>\n )}\n </button>\n {shouldRenderEditTag && (\n <RemoveButton className={classes[\"remove-button\"]} onRemove={onFilterRemove} />\n )}\n </div>\n );\n};\n\nexport const DataGridFilterTag = React.forwardRef(DataGridFilterTagComponent);\n"],"names":[],"mappings":";;;;;;AAAA;;;;;;;;;;;;;;AAcG;AAmBH,MAAM,cAAc,GAAG,CAAC,EAAE,MAAM,EAAsB,KAAI;IACxD,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;IAE3C,QACE,oBAAC,QAAQ,EAAA,IAAA;QACN,MAAM;;QAAG,QAAQ;;QAAG,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,+BAAI,KAAK,CAAC,CAAC,CAAC,CAAK;AACzD,QAAA,KAAK,CAAC,MAAM,IAAI,CAAC,KAChB,KAAA,CAAA,aAAA,CAAA,KAAA,CAAA,QAAA,EAAA,IAAA;;AACK,YAAA,KAAA,CAAA,aAAA,CAAA,GAAA,EAAA,IAAA;;gBAAK,KAAK,CAAC,MAAM,GAAG,CAAC;yBAAW,CAClC,CACJ,CACQ,EACX;AACJ,CAAC,CAAC;AAEW,MAAA,0BAA0B,GAGnC,CACF,EACE,UAAU,EACV,MAAM,EACN,IAAI,EACJ,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,oBAAoB,EACpB,GAAG,IAAI,EACgB,EACzB,GAAG,KACD;IACF,MAAM,EAAE,gBAAgB,GAAG,YAAY,EAAE,GAAG,YAAY,IAAI,EAAE,CAAC;AAC/D,IAAA,MAAM,kBAAkB,GAAG,IAAI,KAAK,KAAK,CAAC;AAC1C,IAAA,MAAM,mBAAmB,GAAG,IAAI,KAAK,MAAM,IAAI,MAAM,CAAC;AAEtD,IAAA,QACE,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,GAAS,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,gBAAgB,CAAC,EAAA;AAC3D,QAAA,KAAA,CAAA,aAAA,CAAA,QAAA,EAAA,EACE,GAAG,EAAE,UAAU,EACf,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,OAAO,CAAC,eAAe,CAAC,EACnC,OAAO,EAAE,YAAY,EAAA;YAEpB,kBAAkB,KACjB,KAAA,CAAA,aAAA,CAAC,QAAQ,EAAA,IAAA;AACP,gBAAA,KAAA,CAAA,aAAA,CAAC,IAAI,EAAC,EAAA,IAAI,EAAE,KAAK,CAAC,SAAS,EAAI,CAAA;AAC/B,gBAAA,KAAA,CAAA,aAAA,CAAC,UAAU,EAAC,EAAA,OAAO,EAAC,MAAM,EAAC,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,EAAA,EACrD,gBAAgB,CACN,CACJ,CACZ;YACA,mBAAmB,KAClB,KAAC,CAAA,aAAA,CAAA,UAAU,IAAC,OAAO,EAAC,MAAM,EAAC,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,EAAA,EACrD,oBAAoB,IACnB,KAAK,CAAC,YAAY,CAAC,oBAAoB,EAAE,EAAE,MAAM,EAAE,CAAC,KAEpD,KAAC,CAAA,aAAA,CAAA,cAAc,IAAC,MAAM,EAAE,MAAM,EAAI,CAAA,CACnC,CACU,CACd,CACM;AACR,QAAA,mBAAmB,KAClB,KAAA,CAAA,aAAA,CAAC,YAAY,EAAC,EAAA,SAAS,EAAE,OAAO,CAAC,eAAe,CAAC,EAAE,QAAQ,EAAE,cAAc,GAAI,CAChF,CACG,EACN;AACJ,EAAE;AAEW,MAAA,iBAAiB,GAAG,KAAK,CAAC,UAAU,CAAC,0BAA0B;;;;"}
@@ -0,0 +1,43 @@
1
+ import React, { useState, useEffect } from 'react';
2
+ import { InputWrapper } from '../../Form/Wrapper/InputWrapper/InputWrapper.esm.js';
3
+ import { Icon, Icons } from '../../Icon/Icon.esm.js';
4
+ import classes from './DataGridToolbar.module.scss.esm.js';
5
+ import { useDebouncedCallback } from '../../src/hooks/useDebouncedCallback.esm.js';
6
+
7
+ /*
8
+ * Copyright 2022 OneWelcome B.V.
9
+ *
10
+ * Licensed under the Apache License, Version 2.0 (the "License");
11
+ * you may not use this file except in compliance with the License.
12
+ * You may obtain a copy of the License at
13
+ *
14
+ * http://www.apache.org/licenses/LICENSE-2.0
15
+ *
16
+ * Unless required by applicable law or agreed to in writing, software
17
+ * distributed under the License is distributed on an "AS IS" BASIS,
18
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19
+ * See the License for the specific language governing permissions and
20
+ * limitations under the License.
21
+ */
22
+ const DataGridSearchbar = ({ onSearch, initialSearchValue, debounceTime, inputWrapperProps, placeholder }) => {
23
+ var _a, _b, _c;
24
+ const [search, setSearch] = useState(initialSearchValue !== null && initialSearchValue !== void 0 ? initialSearchValue : "");
25
+ const debouncedCallback = useDebouncedCallback(onSearch, debounceTime !== null && debounceTime !== void 0 ? debounceTime : 500);
26
+ const onSearchCallback = debounceTime ? debouncedCallback : onSearch;
27
+ const onChange = (event) => {
28
+ onSearchCallback(event.target.value);
29
+ setSearch(event.target.value);
30
+ };
31
+ useEffect(() => {
32
+ initialSearchValue && setSearch(initialSearchValue);
33
+ }, [initialSearchValue]);
34
+ return (React.createElement(InputWrapper, { ...inputWrapperProps, className: `${classes["searchbar"]} ${(_a = inputWrapperProps === null || inputWrapperProps === void 0 ? void 0 : inputWrapperProps.className) !== null && _a !== void 0 ? _a : ""}`, label: (_b = inputWrapperProps === null || inputWrapperProps === void 0 ? void 0 : inputWrapperProps.label) !== null && _b !== void 0 ? _b : "", onChange: onChange, type: "search", name: (_c = inputWrapperProps === null || inputWrapperProps === void 0 ? void 0 : inputWrapperProps.name) !== null && _c !== void 0 ? _c : "searchbar", value: search, inputProps: {
35
+ ...inputWrapperProps === null || inputWrapperProps === void 0 ? void 0 : inputWrapperProps.inputProps,
36
+ type: "search",
37
+ prefix: React.createElement(Icon, { icon: Icons.Search }),
38
+ placeholder: placeholder !== null && placeholder !== void 0 ? placeholder : "Search items"
39
+ } }));
40
+ };
41
+
42
+ export { DataGridSearchbar };
43
+ //# sourceMappingURL=DataGridSearchbar.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataGridSearchbar.esm.js","sources":["../../../../../../src/components/DataGrid/DataGridFilters/DataGridSearchbar.tsx"],"sourcesContent":["/*\n * Copyright 2022 OneWelcome B.V.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport React, { useState, useEffect } from \"react\";\nimport { InputWrapper } from \"../../Form/Wrapper/InputWrapper/InputWrapper\";\nimport { Icon, Icons } from \"../../Icon/Icon\";\nimport classes from \"./DataGridToolbar.module.scss\";\nimport { InputWrapperProps, useDebouncedCallback } from \"../../..\";\n\nexport interface DataGridSearchbarProps {\n onSearch: (value: string) => void;\n initialSearchValue?: string;\n debounceTime?: number;\n placeholder?: string;\n inputWrapperProps?: InputWrapperProps;\n}\n\nexport const DataGridSearchbar = ({\n onSearch,\n initialSearchValue,\n debounceTime,\n inputWrapperProps,\n placeholder\n}: DataGridSearchbarProps) => {\n const [search, setSearch] = useState(initialSearchValue ?? \"\");\n const debouncedCallback = useDebouncedCallback(onSearch, debounceTime ?? 500);\n const onSearchCallback = debounceTime ? debouncedCallback : onSearch;\n\n const onChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n onSearchCallback(event.target.value);\n setSearch(event.target.value);\n };\n\n useEffect(() => {\n initialSearchValue && setSearch(initialSearchValue);\n }, [initialSearchValue]);\n\n return (\n <InputWrapper\n {...inputWrapperProps}\n className={`${classes[\"searchbar\"]} ${inputWrapperProps?.className ?? \"\"}`}\n label={inputWrapperProps?.label ?? \"\"}\n onChange={onChange}\n type=\"search\"\n name={inputWrapperProps?.name ?? \"searchbar\"}\n value={search}\n inputProps={{\n ...inputWrapperProps?.inputProps,\n type: \"search\",\n prefix: <Icon icon={Icons.Search} />,\n placeholder: placeholder ?? \"Search items\"\n }}\n ></InputWrapper>\n );\n};\n"],"names":[],"mappings":";;;;;;AAAA;;;;;;;;;;;;;;AAcG;AAgBU,MAAA,iBAAiB,GAAG,CAAC,EAChC,QAAQ,EACR,kBAAkB,EAClB,YAAY,EACZ,iBAAiB,EACjB,WAAW,EACY,KAAI;;AAC3B,IAAA,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,kBAAkB,KAAA,IAAA,IAAlB,kBAAkB,KAAlB,KAAA,CAAA,GAAA,kBAAkB,GAAI,EAAE,CAAC,CAAC;AAC/D,IAAA,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,QAAQ,EAAE,YAAY,KAAZ,IAAA,IAAA,YAAY,KAAZ,KAAA,CAAA,GAAA,YAAY,GAAI,GAAG,CAAC,CAAC;IAC9E,MAAM,gBAAgB,GAAG,YAAY,GAAG,iBAAiB,GAAG,QAAQ,CAAC;AAErE,IAAA,MAAM,QAAQ,GAAG,CAAC,KAA0C,KAAI;AAC9D,QAAA,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACrC,QAAA,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAChC,KAAC,CAAC;IAEF,SAAS,CAAC,MAAK;AACb,QAAA,kBAAkB,IAAI,SAAS,CAAC,kBAAkB,CAAC,CAAC;AACtD,KAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC;AAEzB,IAAA,QACE,KAAA,CAAA,aAAA,CAAC,YAAY,EAAA,EAAA,GACP,iBAAiB,EACrB,SAAS,EAAE,CAAG,EAAA,OAAO,CAAC,WAAW,CAAC,CAAI,CAAA,EAAA,CAAA,EAAA,GAAA,iBAAiB,KAAA,IAAA,IAAjB,iBAAiB,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAjB,iBAAiB,CAAE,SAAS,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,EAAE,CAAA,CAAE,EAC1E,KAAK,EAAE,CAAA,EAAA,GAAA,iBAAiB,KAAjB,IAAA,IAAA,iBAAiB,KAAjB,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,iBAAiB,CAAE,KAAK,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,EAAE,EACrC,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAC,QAAQ,EACb,IAAI,EAAE,CAAA,EAAA,GAAA,iBAAiB,KAAjB,IAAA,IAAA,iBAAiB,KAAjB,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,iBAAiB,CAAE,IAAI,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,WAAW,EAC5C,KAAK,EAAE,MAAM,EACb,UAAU,EAAE;AACV,YAAA,GAAG,iBAAiB,KAAjB,IAAA,IAAA,iBAAiB,KAAjB,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,iBAAiB,CAAE,UAAU;AAChC,YAAA,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,oBAAC,IAAI,EAAA,EAAC,IAAI,EAAE,KAAK,CAAC,MAAM,EAAI,CAAA;AACpC,YAAA,WAAW,EAAE,WAAW,KAAA,IAAA,IAAX,WAAW,KAAX,KAAA,CAAA,GAAA,WAAW,GAAI,cAAc;AAC3C,SAAA,EAAA,CACa,EAChB;AACJ;;;;"}
@@ -1,7 +1,8 @@
1
- import React, { useReducer } from 'react';
1
+ import React, { Fragment } from 'react';
2
2
  import { DataGridFilter } from './DataGridFilter.esm.js';
3
3
  import classes from './DataGridToolbar.module.scss.esm.js';
4
4
  import { Typography } from '../../Typography/Typography.esm.js';
5
+ import { useFiltersReducer } from './useFiltersReducer.esm.js';
5
6
 
6
7
  /*
7
8
  * Copyright 2022 OneWelcome B.V.
@@ -18,45 +19,28 @@ import { Typography } from '../../Typography/Typography.esm.js';
18
19
  * See the License for the specific language governing permissions and
19
20
  * limitations under the License.
20
21
  */
21
- const filtersReducer = (state, action) => {
22
- switch (action.type) {
23
- case "add":
24
- return { ...state, filters: [...state.filters, { ...action.payload }] };
25
- case "edit":
26
- return {
27
- ...state,
28
- filters: [
29
- ...state.filters.map(value => {
30
- if (value.id === action.payload.id) {
31
- return action.payload;
32
- }
33
- return value;
34
- })
35
- ]
36
- };
37
- case "remove":
38
- return {
39
- ...state,
40
- filters: [...state.filters.filter(value => value.id !== action.payload.id)]
41
- };
42
- case "clear":
43
- return { ...state, filters: [] };
44
- }
45
- };
46
- const DataGridToolbarComponent = ({ columnsMetadata, filterValues, translations, onFilterAdd, onFilterEdit, onFilterDelete, onFiltersClear, ...rest }, ref) => {
47
- const [state, dispatch] = useReducer(filtersReducer, { filters: filterValues || [] });
22
+ const DataGridToolbar = ({ columnsMetadata, filterValues, translations, onFilterAdd, onFilterEdit, onFilterDelete, onFiltersClear, customEditTagContent }) => {
23
+ const { state, addFilter, editFilter, deleteFilter, clearFilters } = useFiltersReducer(filterValues);
48
24
  const { clearButtonCaption = "Clear all filters" } = (translations === null || translations === void 0 ? void 0 : translations.toolbar) || {};
49
- return (React.createElement("div", { ...rest, ref: ref, className: classes["toolbar"] },
50
- state.filters.map(filter => (React.createElement(DataGridFilter, { mode: "EDIT", key: filter.id, filter: filter, columnsMetadata: columnsMetadata, dispatch: dispatch, onFilterEdit: onFilterEdit, onFilterDelete: onFilterDelete, tagTranslations: translations === null || translations === void 0 ? void 0 : translations.tag, popoverTranslations: translations === null || translations === void 0 ? void 0 : translations.popover }))),
25
+ return (React.createElement(Fragment, null,
26
+ state.filters.map(filter => (React.createElement(DataGridFilter, { mode: "EDIT", key: filter.id, filter: filter, columnsMetadata: columnsMetadata, onFilterEdit: filter => {
27
+ editFilter(filter);
28
+ onFilterEdit && onFilterEdit(filter);
29
+ }, onFilterDelete: id => {
30
+ deleteFilter(id);
31
+ onFilterDelete && onFilterDelete(id);
32
+ }, tagTranslations: translations === null || translations === void 0 ? void 0 : translations.tag, popoverTranslations: translations === null || translations === void 0 ? void 0 : translations.popover, customEditTagContent: customEditTagContent }))),
51
33
  React.createElement("div", { className: classes["actions-wrapper"] },
52
- React.createElement(DataGridFilter, { mode: "ADD", columnsMetadata: columnsMetadata, dispatch: dispatch, onFilterAdd: onFilterAdd, tagTranslations: translations === null || translations === void 0 ? void 0 : translations.tag, popoverTranslations: translations === null || translations === void 0 ? void 0 : translations.popover }),
34
+ React.createElement(DataGridFilter, { mode: "ADD", customEditTagContent: customEditTagContent, columnsMetadata: columnsMetadata, onFilterAdd: filter => {
35
+ addFilter(filter);
36
+ onFilterAdd && onFilterAdd(filter);
37
+ }, tagTranslations: translations === null || translations === void 0 ? void 0 : translations.tag, popoverTranslations: translations === null || translations === void 0 ? void 0 : translations.popover }),
53
38
  state.filters.length >= 1 && (React.createElement("button", { type: "button", className: classes["clear-button"], onClick: () => {
54
- dispatch({ type: "clear" });
39
+ clearFilters();
55
40
  onFiltersClear && onFiltersClear();
56
41
  } },
57
42
  React.createElement(Typography, { variant: "body", className: classes["caption"] }, clearButtonCaption))))));
58
43
  };
59
- const DataGridToolbar = React.forwardRef(DataGridToolbarComponent);
60
44
 
61
- export { DataGridToolbar, DataGridToolbarComponent };
45
+ export { DataGridToolbar };
62
46
  //# sourceMappingURL=DataGridToolbar.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DataGridToolbar.esm.js","sources":["../../../../../../src/components/DataGrid/DataGridFilters/DataGridToolbar.tsx"],"sourcesContent":["/*\n * Copyright 2022 OneWelcome B.V.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport React, { ComponentPropsWithRef, ForwardRefRenderFunction, useReducer } from \"react\";\nimport { DataGridFilter } from \"./DataGridFilter\";\nimport classes from \"./DataGridToolbar.module.scss\";\nimport {\n DataGridColumnMetadata,\n Filter,\n FiltersAction,\n FiltersState,\n FiltersTranslations\n} from \"./DataGridFilters.interfaces\";\nimport { Typography } from \"../../Typography/Typography\";\n\nexport interface DataGridToolbarProps extends ComponentPropsWithRef<\"div\"> {\n columnsMetadata: DataGridColumnMetadata[];\n filterValues?: Filter[];\n translations?: FiltersTranslations;\n onFilterAdd?: (filter: Filter) => void;\n onFilterEdit?: (filter: Filter) => void;\n onFilterDelete?: (id: string) => void;\n onFiltersClear?: () => void;\n}\n\nconst filtersReducer = (state: FiltersState, action: FiltersAction): FiltersState => {\n switch (action.type) {\n case \"add\":\n return { ...state, filters: [...state.filters, { ...action.payload }] };\n case \"edit\":\n return {\n ...state,\n filters: [\n ...state.filters.map(value => {\n if (value.id === action.payload.id) {\n return action.payload;\n }\n return value;\n })\n ]\n };\n case \"remove\":\n return {\n ...state,\n filters: [...state.filters.filter(value => value.id !== action.payload.id)]\n };\n case \"clear\":\n return { ...state, filters: [] };\n }\n};\n\nexport const DataGridToolbarComponent: ForwardRefRenderFunction<\n HTMLDivElement,\n DataGridToolbarProps\n> = (\n {\n columnsMetadata,\n filterValues,\n translations,\n onFilterAdd,\n onFilterEdit,\n onFilterDelete,\n onFiltersClear,\n ...rest\n },\n ref\n) => {\n const [state, dispatch] = useReducer(filtersReducer, { filters: filterValues || [] });\n const { clearButtonCaption = \"Clear all filters\" } = translations?.toolbar || {};\n return (\n <div {...rest} ref={ref} className={classes[\"toolbar\"]}>\n {state.filters.map(filter => (\n <DataGridFilter\n mode=\"EDIT\"\n key={filter.id}\n filter={filter}\n columnsMetadata={columnsMetadata}\n dispatch={dispatch}\n onFilterEdit={onFilterEdit}\n onFilterDelete={onFilterDelete}\n tagTranslations={translations?.tag}\n popoverTranslations={translations?.popover}\n />\n ))}\n <div className={classes[\"actions-wrapper\"]}>\n <DataGridFilter\n mode=\"ADD\"\n columnsMetadata={columnsMetadata}\n dispatch={dispatch}\n onFilterAdd={onFilterAdd}\n tagTranslations={translations?.tag}\n popoverTranslations={translations?.popover}\n />\n {state.filters.length >= 1 && (\n <button\n type=\"button\"\n className={classes[\"clear-button\"]}\n onClick={() => {\n dispatch({ type: \"clear\" });\n onFiltersClear && onFiltersClear();\n }}\n >\n <Typography variant=\"body\" className={classes[\"caption\"]}>\n {clearButtonCaption}\n </Typography>\n </button>\n )}\n </div>\n </div>\n );\n};\n\nexport const DataGridToolbar = React.forwardRef(DataGridToolbarComponent);\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DataGridToolbar.esm.js","sources":["../../../../../../src/components/DataGrid/DataGridFilters/DataGridToolbar.tsx"],"sourcesContent":["/*\n * Copyright 2022 OneWelcome B.V.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport React, { Fragment } from \"react\";\nimport { DataGridFilter } from \"./DataGridFilter\";\nimport classes from \"./DataGridToolbar.module.scss\";\nimport { DataGridColumnMetadata, Filter, FiltersTranslations } from \"./DataGridFilters.interfaces\";\nimport { Typography } from \"../../Typography/Typography\";\nimport { useFiltersReducer } from \"./useFiltersReducer\";\n\nexport interface DataGridToolbarProps {\n columnsMetadata: DataGridColumnMetadata[];\n customEditTagContent?: React.ReactElement;\n filterValues?: Filter[];\n translations?: FiltersTranslations;\n onFilterAdd?: (filter: Filter) => void;\n onFilterEdit?: (filter: Filter) => void;\n onFilterDelete?: (id: string) => void;\n onFiltersClear?: () => void;\n}\n\nexport const DataGridToolbar = ({\n columnsMetadata,\n filterValues,\n translations,\n onFilterAdd,\n onFilterEdit,\n onFilterDelete,\n onFiltersClear,\n customEditTagContent\n}: DataGridToolbarProps) => {\n const { state, addFilter, editFilter, deleteFilter, clearFilters } =\n useFiltersReducer(filterValues);\n const { clearButtonCaption = \"Clear all filters\" } = translations?.toolbar || {};\n return (\n <Fragment>\n {state.filters.map(filter => (\n <DataGridFilter\n mode=\"EDIT\"\n key={filter.id}\n filter={filter}\n columnsMetadata={columnsMetadata}\n onFilterEdit={filter => {\n editFilter(filter);\n onFilterEdit && onFilterEdit(filter);\n }}\n onFilterDelete={id => {\n deleteFilter(id);\n onFilterDelete && onFilterDelete(id);\n }}\n tagTranslations={translations?.tag}\n popoverTranslations={translations?.popover}\n customEditTagContent={customEditTagContent}\n />\n ))}\n <div className={classes[\"actions-wrapper\"]}>\n <DataGridFilter\n mode=\"ADD\"\n customEditTagContent={customEditTagContent}\n columnsMetadata={columnsMetadata}\n onFilterAdd={filter => {\n addFilter(filter);\n onFilterAdd && onFilterAdd(filter);\n }}\n tagTranslations={translations?.tag}\n popoverTranslations={translations?.popover}\n />\n {state.filters.length >= 1 && (\n <button\n type=\"button\"\n className={classes[\"clear-button\"]}\n onClick={() => {\n clearFilters();\n onFiltersClear && onFiltersClear();\n }}\n >\n <Typography variant=\"body\" className={classes[\"caption\"]}>\n {clearButtonCaption}\n </Typography>\n </button>\n )}\n </div>\n </Fragment>\n );\n};\n"],"names":[],"mappings":";;;;;;AAAA;;;;;;;;;;;;;;AAcG;MAoBU,eAAe,GAAG,CAAC,EAC9B,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,cAAc,EACd,cAAc,EACd,oBAAoB,EACC,KAAI;AACzB,IAAA,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,GAChE,iBAAiB,CAAC,YAAY,CAAC,CAAC;AAClC,IAAA,MAAM,EAAE,kBAAkB,GAAG,mBAAmB,EAAE,GAAG,CAAA,YAAY,KAAZ,IAAA,IAAA,YAAY,uBAAZ,YAAY,CAAE,OAAO,KAAI,EAAE,CAAC;IACjF,QACE,oBAAC,QAAQ,EAAA,IAAA;AACN,QAAA,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,KACvB,KAAC,CAAA,aAAA,CAAA,cAAc,EACb,EAAA,IAAI,EAAC,MAAM,EACX,GAAG,EAAE,MAAM,CAAC,EAAE,EACd,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,eAAe,EAChC,YAAY,EAAE,MAAM,IAAG;gBACrB,UAAU,CAAC,MAAM,CAAC,CAAC;AACnB,gBAAA,YAAY,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC;AACvC,aAAC,EACD,cAAc,EAAE,EAAE,IAAG;gBACnB,YAAY,CAAC,EAAE,CAAC,CAAC;AACjB,gBAAA,cAAc,IAAI,cAAc,CAAC,EAAE,CAAC,CAAC;aACtC,EACD,eAAe,EAAE,YAAY,KAAA,IAAA,IAAZ,YAAY,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAZ,YAAY,CAAE,GAAG,EAClC,mBAAmB,EAAE,YAAY,KAAZ,IAAA,IAAA,YAAY,KAAZ,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,YAAY,CAAE,OAAO,EAC1C,oBAAoB,EAAE,oBAAoB,EAC1C,CAAA,CACH,CAAC;AACF,QAAA,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAE,OAAO,CAAC,iBAAiB,CAAC,EAAA;AACxC,YAAA,KAAA,CAAA,aAAA,CAAC,cAAc,EACb,EAAA,IAAI,EAAC,KAAK,EACV,oBAAoB,EAAE,oBAAoB,EAC1C,eAAe,EAAE,eAAe,EAChC,WAAW,EAAE,MAAM,IAAG;oBACpB,SAAS,CAAC,MAAM,CAAC,CAAC;AAClB,oBAAA,WAAW,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC;iBACpC,EACD,eAAe,EAAE,YAAY,aAAZ,YAAY,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAZ,YAAY,CAAE,GAAG,EAClC,mBAAmB,EAAE,YAAY,KAAZ,IAAA,IAAA,YAAY,uBAAZ,YAAY,CAAE,OAAO,EAC1C,CAAA;YACD,KAAK,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,KACxB,KAAA,CAAA,aAAA,CAAA,QAAA,EAAA,EACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,OAAO,CAAC,cAAc,CAAC,EAClC,OAAO,EAAE,MAAK;AACZ,oBAAA,YAAY,EAAE,CAAC;oBACf,cAAc,IAAI,cAAc,EAAE,CAAC;iBACpC,EAAA;gBAED,KAAC,CAAA,aAAA,CAAA,UAAU,IAAC,OAAO,EAAC,MAAM,EAAC,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,EAAA,EACrD,kBAAkB,CACR,CACN,CACV,CACG,CACG,EACX;AACJ;;;;"}
@@ -1,7 +1,7 @@
1
1
  import styleInject from '../../node_modules/style-inject/dist/style-inject.es.esm.js';
2
2
 
3
- var css_248z = "/*!\n * Copyright 2022 OneWelcome B.V.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/*!\n * Copyright 2022 OneWelcome B.V.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */.DataGridToolbar-module_sr-only__Xirwy{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.DataGridToolbar-module_hidden__cjs5x{display:none}.DataGridToolbar-module_slide-in__t3lbD{animation:DataGridToolbar-module_slide-in__t3lbD .5s forwards}@media (prefers-reduced-motion:reduce){.DataGridToolbar-module_slide-in__t3lbD{animation-duration:.1ms}}.DataGridToolbar-module_slide-out__-mEfY{animation:DataGridToolbar-module_slide-out__-mEfY .5s forwards}@media (prefers-reduced-motion:reduce){.DataGridToolbar-module_slide-out__-mEfY{animation-duration:.1ms}}@keyframes DataGridToolbar-module_slide-in__t3lbD{0%{transform:translateY(100vh)}to{transform:translateY(0)}}@keyframes DataGridToolbar-module_slide-out__-mEfY{0%{transform:translateY(0)}to{transform:translateY(100vh)}}.DataGridToolbar-module_toolbar__SeZ6y{flex-wrap:wrap;padding-bottom:1rem;width:100%}.DataGridToolbar-module_toolbar__SeZ6y,.DataGridToolbar-module_toolbar__SeZ6y .DataGridToolbar-module_actions-wrapper__oEYeN{align-items:center;display:flex;gap:.5rem;justify-content:flex-start}.DataGridToolbar-module_toolbar__SeZ6y .DataGridToolbar-module_clear-button__4Zdc7{background:none;border:none;cursor:pointer}.DataGridToolbar-module_toolbar__SeZ6y .DataGridToolbar-module_clear-button__4Zdc7:focus-visible{border-radius:var(--focus-border-radius);outline:.125rem solid var(--color-focus);outline-offset:0}.DataGridToolbar-module_toolbar__SeZ6y .DataGridToolbar-module_clear-button__4Zdc7 .DataGridToolbar-module_caption__Jf-jO{color:var(--color-primary500);font-size:var(--font-size-data-grid);line-height:var(--data-grid-line-height);margin:0;text-decoration:underline}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkRhdGFHcmlkVG9vbGJhci5tb2R1bGUuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFlQTs7Ozs7Ozs7Ozs7Ozs7RUFjRTtBQUNGOzs7Ozs7Ozs7Ozs7OztFQWNFLENBQ0YsdUNBT0Usa0JBQXNCLENBQ3RCLFFBQVMsQ0FMVCxVQUFXLENBRVgsV0FBWSxDQUNaLGVBQWdCLENBRmhCLFNBQVUsQ0FIVixpQkFBa0IsQ0FDbEIsU0FPRixDQUVBLHNDQUNFLFlBQ0YsQ0FFQSx3Q0FDRSw2REFDRixDQUNBLHVDQUNFLHdDQUNFLHVCQUNGLENBQ0YsQ0FFQSx5Q0FDRSw4REFDRixDQUNBLHVDQUNFLHlDQUNFLHVCQUNGLENBQ0YsQ0FFQSxrREFDRSxHQUNFLDJCQUNGLENBQ0EsR0FDRSx1QkFDRixDQUNGLENBQ0EsbURBQ0UsR0FDRSx1QkFDRixDQUNBLEdBQ0UsMkJBQ0YsQ0FDRixDQUNBLHVDQUlFLGNBQWUsQ0FHZixtQkFBb0IsQ0FEcEIsVUFFRixDQUNBLDZIQVBFLGtCQUFtQixDQURuQixZQUFhLENBSWIsU0FBVyxDQUZYLDBCQVdGLENBQ0EsbUZBQ0UsZUFBZ0IsQ0FDaEIsV0FBWSxDQUNaLGNBQ0YsQ0FDQSxpR0FHRSx3Q0FBeUMsQ0FGekMsd0NBQTBDLENBQzFDLGdCQUVGLENBQ0EsMEhBS0UsNkJBQThCLENBSDlCLG9DQUFxQyxDQUNyQyx3Q0FBeUMsQ0FGekMsUUFBUyxDQUdULHlCQUVGIiwiZmlsZSI6IkRhdGFHcmlkVG9vbGJhci5tb2R1bGUuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAyMiBPbmVXZWxjb21lIEIuVi5cbiAqXG4gKiAgICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogICAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogICAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqICAgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqICAgIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqICAgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogICAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogICAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8qIVxuICogQ29weXJpZ2h0IDIwMjIgT25lV2VsY29tZSBCLlYuXG4gKlxuICogICAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqICAgIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqICAgIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiAgICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiAgICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiAgICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqICAgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqICAgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG4vKiFcbiAqIENvcHlyaWdodCAyMDIyIE9uZVdlbGNvbWUgQi5WLlxuICpcbiAqICAgIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiAgICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiAgICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogICAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogICAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogICAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiAgICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiAgICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLnNyLW9ubHkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIGJvcmRlcjogMDtcbn1cblxuLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5zbGlkZS1pbiB7XG4gIGFuaW1hdGlvbjogc2xpZGUtaW4gMC41cyBmb3J3YXJkcztcbn1cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5zbGlkZS1pbiB7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjFtcztcbiAgfVxufVxuXG4uc2xpZGUtb3V0IHtcbiAgYW5pbWF0aW9uOiBzbGlkZS1vdXQgMC41cyBmb3J3YXJkcztcbn1cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5zbGlkZS1vdXQge1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC4xbXM7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZS1pbiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwdmgpO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgc2xpZGUtb3V0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMHZoKTtcbiAgfVxufVxuLnRvb2xiYXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZ2FwOiAwLjVyZW07XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbn1cbi50b29sYmFyIC5hY3Rpb25zLXdyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGdhcDogMC41cmVtO1xufVxuLnRvb2xiYXIgLmNsZWFyLWJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLnRvb2xiYXIgLmNsZWFyLWJ1dHRvbjpmb2N1cy12aXNpYmxlIHtcbiAgb3V0bGluZTogMC4xMjVyZW0gc29saWQgdmFyKC0tY29sb3ItZm9jdXMpO1xuICBvdXRsaW5lLW9mZnNldDogMDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tZm9jdXMtYm9yZGVyLXJhZGl1cyk7XG59XG4udG9vbGJhciAuY2xlYXItYnV0dG9uIC5jYXB0aW9uIHtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1kYXRhLWdyaWQpO1xuICBsaW5lLWhlaWdodDogdmFyKC0tZGF0YS1ncmlkLWxpbmUtaGVpZ2h0KTtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5NTAwKTtcbn0iXX0= */";
4
- var classes = {"sr-only":"DataGridToolbar-module_sr-only__Xirwy","hidden":"DataGridToolbar-module_hidden__cjs5x","slide-in":"DataGridToolbar-module_slide-in__t3lbD","slide-out":"DataGridToolbar-module_slide-out__-mEfY","toolbar":"DataGridToolbar-module_toolbar__SeZ6y","actions-wrapper":"DataGridToolbar-module_actions-wrapper__oEYeN","clear-button":"DataGridToolbar-module_clear-button__4Zdc7","caption":"DataGridToolbar-module_caption__Jf-jO"};
3
+ var css_248z = "/*!\n * Copyright 2022 OneWelcome B.V.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/*!\n * Copyright 2022 OneWelcome B.V.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */.DataGridToolbar-module_sr-only__Xirwy{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.DataGridToolbar-module_hidden__cjs5x{display:none}.DataGridToolbar-module_slide-in__t3lbD{animation:DataGridToolbar-module_slide-in__t3lbD .5s forwards}@media (prefers-reduced-motion:reduce){.DataGridToolbar-module_slide-in__t3lbD{animation-duration:.1ms}}.DataGridToolbar-module_slide-out__-mEfY{animation:DataGridToolbar-module_slide-out__-mEfY .5s forwards}@media (prefers-reduced-motion:reduce){.DataGridToolbar-module_slide-out__-mEfY{animation-duration:.1ms}}@keyframes DataGridToolbar-module_slide-in__t3lbD{0%{transform:translateY(100vh)}to{transform:translateY(0)}}@keyframes DataGridToolbar-module_slide-out__-mEfY{0%{transform:translateY(0)}to{transform:translateY(100vh)}}.DataGridToolbar-module_wrapper__wEHlo{align-items:flex-start;display:flex;gap:.5rem;justify-content:space-between;padding-bottom:1rem;width:100%}.DataGridToolbar-module_wrapper__wEHlo .DataGridToolbar-module_filter-section__G4nGc{align-items:center;display:flex;flex-grow:1;flex-wrap:wrap;gap:.5rem;justify-content:flex-start;width:100%}.DataGridToolbar-module_wrapper__wEHlo .DataGridToolbar-module_filter-section__G4nGc .DataGridToolbar-module_searchbar__PnKiv{flex-basis:15rem;min-width:7rem}.DataGridToolbar-module_wrapper__wEHlo .DataGridToolbar-module_filter-section__G4nGc .DataGridToolbar-module_actions-wrapper__oEYeN{align-items:center;display:flex;gap:.5rem;justify-content:flex-start}.DataGridToolbar-module_wrapper__wEHlo .DataGridToolbar-module_filter-section__G4nGc .DataGridToolbar-module_clear-button__4Zdc7{background:none;border:none;cursor:pointer}.DataGridToolbar-module_wrapper__wEHlo .DataGridToolbar-module_filter-section__G4nGc .DataGridToolbar-module_clear-button__4Zdc7:focus-visible{border-radius:var(--focus-border-radius);outline:.125rem solid var(--color-focus);outline-offset:0}.DataGridToolbar-module_wrapper__wEHlo .DataGridToolbar-module_filter-section__G4nGc .DataGridToolbar-module_clear-button__4Zdc7 .DataGridToolbar-module_caption__Jf-jO{color:var(--color-primary500);font-size:var(--font-size-data-grid);line-height:var(--data-grid-line-height);margin:0;text-decoration:underline}.DataGridToolbar-module_wrapper__wEHlo .DataGridToolbar-module_button-section__eyZvY{align-items:center;display:flex;flex-shrink:0;gap:.5rem;justify-content:center}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkRhdGFHcmlkVG9vbGJhci5tb2R1bGUuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFlQTs7Ozs7Ozs7Ozs7Ozs7RUFjRTtBQUNGOzs7Ozs7Ozs7Ozs7OztFQWNFLENBQ0YsdUNBT0Usa0JBQXNCLENBQ3RCLFFBQVMsQ0FMVCxVQUFXLENBRVgsV0FBWSxDQUNaLGVBQWdCLENBRmhCLFNBQVUsQ0FIVixpQkFBa0IsQ0FDbEIsU0FPRixDQUVBLHNDQUNFLFlBQ0YsQ0FFQSx3Q0FDRSw2REFDRixDQUNBLHVDQUNFLHdDQUNFLHVCQUNGLENBQ0YsQ0FFQSx5Q0FDRSw4REFDRixDQUNBLHVDQUNFLHlDQUNFLHVCQUNGLENBQ0YsQ0FFQSxrREFDRSxHQUNFLDJCQUNGLENBQ0EsR0FDRSx1QkFDRixDQUNGLENBQ0EsbURBQ0UsR0FDRSx1QkFDRixDQUNBLEdBQ0UsMkJBQ0YsQ0FDRixDQUNBLHVDQUVFLHNCQUF1QixDQUR2QixZQUFhLENBR2IsU0FBVyxDQURYLDZCQUE4QixDQUc5QixtQkFBb0IsQ0FEcEIsVUFFRixDQUNBLHFGQUVFLGtCQUFtQixDQURuQixZQUFhLENBTWIsV0FBWSxDQUhaLGNBQWUsQ0FDZixTQUFXLENBRlgsMEJBQTJCLENBRzNCLFVBRUYsQ0FDQSw4SEFFRSxnQkFBaUIsQ0FEakIsY0FFRixDQUNBLG9JQUVFLGtCQUFtQixDQURuQixZQUFhLENBR2IsU0FBVyxDQURYLDBCQUVGLENBQ0EsaUlBQ0UsZUFBZ0IsQ0FDaEIsV0FBWSxDQUNaLGNBQ0YsQ0FDQSwrSUFHRSx3Q0FBeUMsQ0FGekMsd0NBQTBDLENBQzFDLGdCQUVGLENBQ0Esd0tBS0UsNkJBQThCLENBSDlCLG9DQUFxQyxDQUNyQyx3Q0FBeUMsQ0FGekMsUUFBUyxDQUdULHlCQUVGLENBQ0EscUZBSUUsa0JBQW1CLENBRm5CLFlBQWEsQ0FEYixhQUFjLENBSWQsU0FBVyxDQUZYLHNCQUdGIiwiZmlsZSI6IkRhdGFHcmlkVG9vbGJhci5tb2R1bGUuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAyMiBPbmVXZWxjb21lIEIuVi5cbiAqXG4gKiAgICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogICAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogICAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqICAgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqICAgIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqICAgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogICAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogICAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8qIVxuICogQ29weXJpZ2h0IDIwMjIgT25lV2VsY29tZSBCLlYuXG4gKlxuICogICAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqICAgIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqICAgIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiAgICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiAgICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiAgICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqICAgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqICAgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG4vKiFcbiAqIENvcHlyaWdodCAyMDIyIE9uZVdlbGNvbWUgQi5WLlxuICpcbiAqICAgIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiAgICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiAgICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogICAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogICAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogICAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiAgICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiAgICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLnNyLW9ubHkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIGJvcmRlcjogMDtcbn1cblxuLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5zbGlkZS1pbiB7XG4gIGFuaW1hdGlvbjogc2xpZGUtaW4gMC41cyBmb3J3YXJkcztcbn1cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5zbGlkZS1pbiB7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjFtcztcbiAgfVxufVxuXG4uc2xpZGUtb3V0IHtcbiAgYW5pbWF0aW9uOiBzbGlkZS1vdXQgMC41cyBmb3J3YXJkcztcbn1cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5zbGlkZS1vdXQge1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC4xbXM7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZS1pbiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwdmgpO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgc2xpZGUtb3V0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMHZoKTtcbiAgfVxufVxuLndyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBnYXA6IDAuNXJlbTtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctYm90dG9tOiAxcmVtO1xufVxuLndyYXBwZXIgLmZpbHRlci1zZWN0aW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGdhcDogMC41cmVtO1xuICB3aWR0aDogMTAwJTtcbiAgZmxleC1ncm93OiAxO1xufVxuLndyYXBwZXIgLmZpbHRlci1zZWN0aW9uIC5zZWFyY2hiYXIge1xuICBtaW4td2lkdGg6IDdyZW07XG4gIGZsZXgtYmFzaXM6IDE1cmVtO1xufVxuLndyYXBwZXIgLmZpbHRlci1zZWN0aW9uIC5hY3Rpb25zLXdyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGdhcDogMC41cmVtO1xufVxuLndyYXBwZXIgLmZpbHRlci1zZWN0aW9uIC5jbGVhci1idXR0b24ge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi53cmFwcGVyIC5maWx0ZXItc2VjdGlvbiAuY2xlYXItYnV0dG9uOmZvY3VzLXZpc2libGUge1xuICBvdXRsaW5lOiAwLjEyNXJlbSBzb2xpZCB2YXIoLS1jb2xvci1mb2N1cyk7XG4gIG91dGxpbmUtb2Zmc2V0OiAwO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1mb2N1cy1ib3JkZXItcmFkaXVzKTtcbn1cbi53cmFwcGVyIC5maWx0ZXItc2VjdGlvbiAuY2xlYXItYnV0dG9uIC5jYXB0aW9uIHtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1kYXRhLWdyaWQpO1xuICBsaW5lLWhlaWdodDogdmFyKC0tZGF0YS1ncmlkLWxpbmUtaGVpZ2h0KTtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5NTAwKTtcbn1cbi53cmFwcGVyIC5idXR0b24tc2VjdGlvbiB7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAwLjVyZW07XG59Il19 */";
4
+ var classes = {"sr-only":"DataGridToolbar-module_sr-only__Xirwy","hidden":"DataGridToolbar-module_hidden__cjs5x","slide-in":"DataGridToolbar-module_slide-in__t3lbD","slide-out":"DataGridToolbar-module_slide-out__-mEfY","wrapper":"DataGridToolbar-module_wrapper__wEHlo","filter-section":"DataGridToolbar-module_filter-section__G4nGc","searchbar":"DataGridToolbar-module_searchbar__PnKiv","actions-wrapper":"DataGridToolbar-module_actions-wrapper__oEYeN","clear-button":"DataGridToolbar-module_clear-button__4Zdc7","caption":"DataGridToolbar-module_caption__Jf-jO","button-section":"DataGridToolbar-module_button-section__eyZvY"};
5
5
  styleInject(css_248z);
6
6
 
7
7
  export { classes as default };
@@ -0,0 +1,27 @@
1
+ import React from 'react';
2
+ import classes from './DataGridToolbar.module.scss.esm.js';
3
+
4
+ /*
5
+ * Copyright 2022 OneWelcome B.V.
6
+ *
7
+ * Licensed under the Apache License, Version 2.0 (the "License");
8
+ * you may not use this file except in compliance with the License.
9
+ * You may obtain a copy of the License at
10
+ *
11
+ * http://www.apache.org/licenses/LICENSE-2.0
12
+ *
13
+ * Unless required by applicable law or agreed to in writing, software
14
+ * distributed under the License is distributed on an "AS IS" BASIS,
15
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ * See the License for the specific language governing permissions and
17
+ * limitations under the License.
18
+ */
19
+ const DataGridToolbarWrapperComponent = ({ children, filters, buttons, ...rest }, ref) => {
20
+ return (React.createElement("div", { ref: ref, className: classes["wrapper"], ...rest },
21
+ React.createElement("div", { className: classes["filter-section"] }, filters),
22
+ React.createElement("div", { className: classes["button-section"] }, buttons)));
23
+ };
24
+ const DataGridToolbarWrapper = React.forwardRef(DataGridToolbarWrapperComponent);
25
+
26
+ export { DataGridToolbarWrapper, DataGridToolbarWrapperComponent };
27
+ //# sourceMappingURL=DataGridToolbarWrapper.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataGridToolbarWrapper.esm.js","sources":["../../../../../../src/components/DataGrid/DataGridFilters/DataGridToolbarWrapper.tsx"],"sourcesContent":["/*\n * Copyright 2022 OneWelcome B.V.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport React, { ComponentPropsWithRef, ForwardRefRenderFunction, ReactElement } from \"react\";\nimport classes from \"./DataGridToolbar.module.scss\";\nimport { Button } from \"../../Button/Button\";\nimport { ButtonProps } from \"../../..\";\ninterface Props extends ComponentPropsWithRef<\"div\"> {\n filters?: React.JSX.Element;\n buttons?: ReactElement<ButtonProps, typeof Button> | ReactElement<ButtonProps, typeof Button>[];\n}\n\nexport const DataGridToolbarWrapperComponent: ForwardRefRenderFunction<HTMLDivElement, Props> = (\n { children, filters, buttons, ...rest },\n ref\n) => {\n return (\n <div ref={ref} className={classes[\"wrapper\"]} {...rest}>\n <div className={classes[\"filter-section\"]}>{filters}</div>\n <div className={classes[\"button-section\"]}>{buttons}</div>\n </div>\n );\n};\n\nexport const DataGridToolbarWrapper = React.forwardRef(DataGridToolbarWrapperComponent);\n"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;AAcG;AAWU,MAAA,+BAA+B,GAAoD,CAC9F,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,EACvC,GAAG,KACD;AACF,IAAA,QACE,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAK,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,KAAM,IAAI,EAAA;QACpD,KAAK,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,SAAS,EAAE,OAAO,CAAC,gBAAgB,CAAC,EAAA,EAAG,OAAO,CAAO;QAC1D,KAAK,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,SAAS,EAAE,OAAO,CAAC,gBAAgB,CAAC,EAAA,EAAG,OAAO,CAAO,CACtD,EACN;AACJ,EAAE;AAEW,MAAA,sBAAsB,GAAG,KAAK,CAAC,UAAU,CAAC,+BAA+B;;;;"}