@onewelcome/react-lib-components 7.1.0 → 8.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) 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/DataGridSearchbar.cjs.js +2 -0
  10. package/dist/cjs/DataGrid/DataGridFilters/DataGridSearchbar.cjs.js.map +1 -0
  11. package/dist/cjs/DataGrid/DataGridFilters/DataGridToolbar.cjs.js +1 -1
  12. package/dist/cjs/DataGrid/DataGridFilters/DataGridToolbar.cjs.js.map +1 -1
  13. package/dist/cjs/DataGrid/DataGridFilters/DataGridToolbar.module.scss.cjs.js +1 -1
  14. package/dist/cjs/DataGrid/DataGridFilters/DataGridToolbarWrapper.cjs.js +2 -0
  15. package/dist/cjs/DataGrid/DataGridFilters/DataGridToolbarWrapper.cjs.js.map +1 -0
  16. package/dist/cjs/Form/FileUpload/FileUpload.module.scss.cjs.js +1 -1
  17. package/dist/cjs/Form/Select/MultiSelect/MultiSelect.cjs.js +1 -1
  18. package/dist/cjs/Form/Select/MultiSelect/MultiSelect.cjs.js.map +1 -1
  19. package/dist/cjs/Form/Select/SingleSelect/Select.cjs.js +1 -1
  20. package/dist/cjs/Form/Select/SingleSelect/Select.cjs.js.map +1 -1
  21. package/dist/cjs/src/components/DataGrid/DataGrid.d.ts +3 -4
  22. package/dist/cjs/src/components/DataGrid/DataGridBody/DataGridBody.d.ts +1 -0
  23. package/dist/cjs/src/components/DataGrid/DataGridBody/DataGridCell/DataGridCell.d.ts +1 -0
  24. package/dist/cjs/src/components/DataGrid/DataGridBody/DataGridRow/DataGridRow.d.ts +1 -0
  25. package/dist/cjs/src/components/DataGrid/DataGridFilters/DataGridSearchbar.d.ts +10 -0
  26. package/dist/cjs/src/components/DataGrid/DataGridFilters/DataGridToolbar.d.ts +3 -4
  27. package/dist/cjs/src/components/DataGrid/DataGridFilters/DataGridToolbarWrapper.d.ts +7 -0
  28. package/dist/esm/DataGrid/DataGrid.esm.js +7 -3
  29. package/dist/esm/DataGrid/DataGrid.esm.js.map +1 -1
  30. package/dist/esm/DataGrid/DataGridBody/DataGridBody.esm.js +2 -1
  31. package/dist/esm/DataGrid/DataGridBody/DataGridBody.esm.js.map +1 -1
  32. package/dist/esm/DataGrid/DataGridBody/DataGridCell/DataGridCell.esm.js +22 -3
  33. package/dist/esm/DataGrid/DataGridBody/DataGridCell/DataGridCell.esm.js.map +1 -1
  34. package/dist/esm/DataGrid/DataGridBody/DataGridRow/DataGridRow.esm.js +2 -1
  35. package/dist/esm/DataGrid/DataGridBody/DataGridRow/DataGridRow.esm.js.map +1 -1
  36. package/dist/esm/DataGrid/DataGridFilters/DataGridSearchbar.esm.js +43 -0
  37. package/dist/esm/DataGrid/DataGridFilters/DataGridSearchbar.esm.js.map +1 -0
  38. package/dist/esm/DataGrid/DataGridFilters/DataGridToolbar.esm.js +4 -5
  39. package/dist/esm/DataGrid/DataGridFilters/DataGridToolbar.esm.js.map +1 -1
  40. package/dist/esm/DataGrid/DataGridFilters/DataGridToolbar.module.scss.esm.js +2 -2
  41. package/dist/esm/DataGrid/DataGridFilters/DataGridToolbarWrapper.esm.js +25 -0
  42. package/dist/esm/DataGrid/DataGridFilters/DataGridToolbarWrapper.esm.js.map +1 -0
  43. package/dist/esm/Form/FileUpload/FileUpload.module.scss.esm.js +1 -1
  44. package/dist/esm/Form/Select/MultiSelect/MultiSelect.esm.js +1 -1
  45. package/dist/esm/Form/Select/MultiSelect/MultiSelect.esm.js.map +1 -1
  46. package/dist/esm/Form/Select/SingleSelect/Select.esm.js +1 -1
  47. package/dist/esm/Form/Select/SingleSelect/Select.esm.js.map +1 -1
  48. package/dist/esm/src/components/DataGrid/DataGrid.d.ts +3 -4
  49. package/dist/esm/src/components/DataGrid/DataGridBody/DataGridBody.d.ts +1 -0
  50. package/dist/esm/src/components/DataGrid/DataGridBody/DataGridCell/DataGridCell.d.ts +1 -0
  51. package/dist/esm/src/components/DataGrid/DataGridBody/DataGridRow/DataGridRow.d.ts +1 -0
  52. package/dist/esm/src/components/DataGrid/DataGridFilters/DataGridSearchbar.d.ts +10 -0
  53. package/dist/esm/src/components/DataGrid/DataGridFilters/DataGridToolbar.d.ts +3 -4
  54. package/dist/esm/src/components/DataGrid/DataGridFilters/DataGridToolbarWrapper.d.ts +7 -0
  55. package/package.json +1 -1
  56. package/src/components/DataGrid/DataGrid.tsx +11 -6
  57. package/src/components/DataGrid/DataGridBody/DataGridBody.tsx +3 -0
  58. package/src/components/DataGrid/DataGridBody/DataGridCell/DataGridCell.tsx +34 -2
  59. package/src/components/DataGrid/DataGridBody/DataGridRow/DataGridRow.tsx +3 -0
  60. package/src/components/DataGrid/DataGridFilters/DataGridSearchbar.tsx +68 -0
  61. package/src/components/DataGrid/DataGridFilters/DataGridToolbar.module.scss +6 -1
  62. package/src/components/DataGrid/DataGridFilters/DataGridToolbar.tsx +13 -22
  63. package/src/components/DataGrid/DataGridFilters/DataGridToolbarWrapper.tsx +33 -0
  64. package/src/components/Form/FileUpload/FileUpload.module.scss +1 -2
  65. package/src/components/Form/Select/MultiSelect/MultiSelect.tsx +1 -3
  66. package/src/components/Form/Select/SingleSelect/Select.tsx +1 -3
@@ -1,2 +1,2 @@
1
- "use strict";var e=require("react"),a=require("./DataGrid.module.scss.cjs.js"),t=require("./DataGridHeader/DataGridHeader.cjs.js"),i=require("./DataGridActions/DataGridActions.cjs.js"),d=require("./DataGridBody/DataGridBody.cjs.js"),n=require("../Pagination/Pagination.cjs.js"),r=require("../src/hooks/useSpacing.cjs.js"),l=require("./DataGridFilters/DataGridToolbar.cjs.js");const o=e.forwardRef((({children:o,data:s,initialSort:g,onSort:p,headers:u,actions:c={},paginationProps:m,disableContextMenuColumn:h,enableExpandableRow:f,filters:b,isLoading:v,enableMultiSorting:j,emptyLabel:D,spacing:G,style:E,...w},y)=>{var S;if(!u)throw new Error("Headers definition has to be provided");if(!o)throw new Error("DataGridBody should be provided with a template how to render rows");const[L,q]=e.useState(u),R=r.useSpacing(G,E);e.useEffect((()=>q(u)),[u]);if(null==R?void 0:R.padding){const e=R.padding.toString().split(" ");let a=0;e.length>=2&&(a=1),4===e.length&&(a=3),Object.defineProperties(R,{paddingTop:{value:e[0]},paddingRight:{value:e[e.length-1>0?1:0]},paddingBottom:{value:e[e.length/3>=1?2:0]},paddingLeft:{value:e[a]}})}return e.createElement("div",{...w,className:a.default["grid-wrapper"],ref:y,style:{paddingTop:null==R?void 0:R.paddingTop,paddingBottom:null==R?void 0:R.paddingBottom}},(null==b?void 0:b.enable)?e.createElement(l.DataGridToolbar,{...b.filtersProps}):e.createElement(i.DataGridActions,{...c,style:{paddingLeft:null==R?void 0:R.paddingLeft,paddingRight:null==R?void 0:R.paddingRight},headers:L,onColumnToggled:e=>{q(L.map((a=>a.name!==e?a:{...a,hidden:!a.hidden})))}}),e.createElement("div",{className:a.default["table-wrapper"]},e.createElement("table",{className:a.default.table},e.createElement(t.DataGridHeader,{headers:L,initialSort:g,onSort:p,disableContextMenuColumn:h,enableExpandableRow:f,enableMultiSorting:j,spacing:R}),e.createElement(d.DataGridBody,{data:s,headers:L,isLoading:v,disableContextMenuColumn:h,emptyLabel:D,spacing:R},o))),m&&!v&&e.createElement(n.Pagination,{...m,style:{...m.style,paddingLeft:null==R?void 0:R.paddingLeft,paddingRight:null==R?void 0:R.paddingRight},className:`${a.default.pagination} ${null!==(S=m.className)&&void 0!==S?S:""}`}))}));exports.DataGrid=o;
1
+ "use strict";var e=require("react"),a=require("./DataGrid.module.scss.cjs.js"),t=require("./DataGridHeader/DataGridHeader.cjs.js"),i=require("./DataGridActions/DataGridActions.cjs.js"),r=require("./DataGridBody/DataGridBody.cjs.js"),d=require("../Pagination/Pagination.cjs.js"),n=require("../src/hooks/useSpacing.cjs.js"),l=require("./DataGridFilters/DataGridToolbar.cjs.js"),o=require("./DataGridFilters/DataGridToolbarWrapper.cjs.js"),s=require("./DataGridFilters/DataGridSearchbar.cjs.js");const c=e.forwardRef((({children:c,data:p,initialSort:u,onSort:g,headers:h,actions:m={},paginationProps:b,disableContextMenuColumn:D,enableExpandableRow:G,filters:f,search:j,isLoading:v,enableMultiSorting:E,emptyLabel:S,spacing:w,style:y,...q},L)=>{var R;if(!h)throw new Error("Headers definition has to be provided");if(!c)throw new Error("DataGridBody should be provided with a template how to render rows");const[T,B]=e.useState(h),C=n.useSpacing(w,y);e.useEffect((()=>B(h)),[h]);if(null==C?void 0:C.padding){const e=C.padding.toString().split(" ");let a=0;e.length>=2&&(a=1),4===e.length&&(a=3),Object.defineProperties(C,{paddingTop:{value:e[0]},paddingRight:{value:e[e.length-1>0?1:0]},paddingBottom:{value:e[e.length/3>=1?2:0]},paddingLeft:{value:e[a]}})}return e.createElement("div",{...q,className:a.default["grid-wrapper"],ref:L,style:{paddingTop:null==C?void 0:C.paddingTop,paddingBottom:null==C?void 0:C.paddingBottom}},f||j?e.createElement(o.DataGridToolbarWrapper,null,j&&e.createElement(s.DataGridSearchbar,{...j}),f&&e.createElement(l.DataGridToolbar,{...f})):e.createElement(i.DataGridActions,{...m,style:{paddingLeft:null==C?void 0:C.paddingLeft,paddingRight:null==C?void 0:C.paddingRight},headers:T,onColumnToggled:e=>{B(T.map((a=>a.name!==e?a:{...a,hidden:!a.hidden})))}}),e.createElement("div",{className:a.default["table-wrapper"]},e.createElement("table",{className:a.default.table},e.createElement(t.DataGridHeader,{headers:T,initialSort:u,onSort:g,disableContextMenuColumn:D,enableExpandableRow:G,enableMultiSorting:E,spacing:C}),e.createElement(r.DataGridBody,{data:p,headers:T,isLoading:v,disableContextMenuColumn:D,emptyLabel:S,spacing:C,searchValue:null==j?void 0:j.initialSearchValue},c))),b&&!v&&e.createElement(d.Pagination,{...b,style:{...b.style,paddingLeft:null==C?void 0:C.paddingLeft,paddingRight:null==C?void 0:C.paddingRight},className:`${a.default.pagination} ${null!==(R=b.className)&&void 0!==R?R:""}`}))}));exports.DataGrid=c;
2
2
  //# sourceMappingURL=DataGrid.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DataGrid.cjs.js","sources":["../../../../../src/components/DataGrid/DataGrid.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, ReactElement, Ref, useEffect, useState } from \"react\";\nimport { Props as ButtonProps } from \"../Button/Button\";\nimport classes from \"./DataGrid.module.scss\";\nimport { DataGridHeader } from \"./DataGridHeader/DataGridHeader\";\nimport { DataGridActions } from \"./DataGridActions/DataGridActions\";\nimport { DataGridBody } from \"./DataGridBody/DataGridBody\";\nimport { HeaderCell, OnSortFunction, Sort } from \"./datagrid.interfaces\";\nimport { Pagination, Props as PaginationProps } from \"../Pagination/Pagination\";\nimport { Spacing, useSpacing } from \"../../hooks/useSpacing\";\nimport { DataGridToolbar, DataGridToolbarProps } from \"./DataGridFilters/DataGridToolbar\";\n\nexport interface Props<T> extends Omit<ComponentPropsWithRef<\"div\">, \"children\"> {\n children: ({ item, index }: { item: T; index: number }) => ReactElement;\n data?: T[];\n initialSort?: Sort;\n onSort?: OnSortFunction;\n headers: HeaderCell[];\n actions?: {\n enableAddBtn?: boolean;\n enableColumnsBtn?: boolean;\n enableSearchBtn?: boolean;\n addBtnProps?: ButtonProps;\n columnsBtnProps?: ButtonProps;\n searchBtnProps?: ButtonProps;\n searchIconBtnProps?: ButtonProps;\n };\n emptyLabel?: string;\n paginationProps?: PaginationProps;\n disableContextMenuColumn?: boolean;\n enableExpandableRow?: boolean;\n filters?: {\n enable: boolean;\n filtersProps: DataGridToolbarProps;\n };\n isLoading?: boolean;\n enableMultiSorting?: boolean;\n spacing?: Spacing;\n}\n\nconst DataGridInner = <T extends {}>(\n {\n children,\n data,\n initialSort,\n onSort,\n headers,\n actions = {},\n paginationProps,\n disableContextMenuColumn,\n enableExpandableRow,\n filters,\n isLoading,\n enableMultiSorting,\n emptyLabel,\n spacing,\n style,\n ...rest\n }: Props<T>,\n ref: Ref<HTMLDivElement>\n) => {\n if (!headers) {\n throw new Error(\"Headers definition has to be provided\");\n }\n if (!children) {\n throw new Error(\"DataGridBody should be provided with a template how to render rows\");\n }\n\n const [internalHeaders, setInternalHeaders] = useState(headers);\n const styleWithSpacing = useSpacing(spacing, style);\n\n useEffect(() => setInternalHeaders(headers), [headers]);\n\n const onColumnToggled = (colName: string) => {\n setInternalHeaders(\n internalHeaders.map(item =>\n item.name !== colName ? item : { ...item, hidden: !item.hidden }\n )\n );\n };\n\n if (styleWithSpacing?.padding) {\n const splitPaddings = styleWithSpacing.padding.toString().split(\" \");\n\n let paddingLeftIndex: number = 0;\n\n if (splitPaddings.length >= 2) {\n paddingLeftIndex = 1;\n }\n if (splitPaddings.length === 4) {\n paddingLeftIndex = 3;\n }\n\n Object.defineProperties(styleWithSpacing, {\n paddingTop: {\n value: splitPaddings[0]\n },\n paddingRight: {\n value: splitPaddings[splitPaddings.length - 1 > 0 ? 1 : 0]\n },\n paddingBottom: {\n value: splitPaddings[splitPaddings.length / 3 >= 1 ? 2 : 0]\n },\n paddingLeft: {\n value: splitPaddings[paddingLeftIndex]\n }\n });\n }\n\n return (\n <div\n {...rest}\n className={classes[\"grid-wrapper\"]}\n ref={ref}\n style={{\n paddingTop: styleWithSpacing?.paddingTop,\n paddingBottom: styleWithSpacing?.paddingBottom\n }}\n >\n {filters?.enable ? (\n <DataGridToolbar {...filters.filtersProps} />\n ) : (\n <DataGridActions\n {...actions}\n style={{\n paddingLeft: styleWithSpacing?.paddingLeft,\n paddingRight: styleWithSpacing?.paddingRight\n }}\n headers={internalHeaders}\n onColumnToggled={onColumnToggled}\n />\n )}\n\n <div className={classes[\"table-wrapper\"]}>\n <table className={classes[\"table\"]}>\n <DataGridHeader\n headers={internalHeaders}\n initialSort={initialSort}\n onSort={onSort}\n disableContextMenuColumn={disableContextMenuColumn}\n enableExpandableRow={enableExpandableRow}\n enableMultiSorting={enableMultiSorting}\n spacing={styleWithSpacing}\n />\n <DataGridBody\n data={data}\n headers={internalHeaders}\n isLoading={isLoading}\n disableContextMenuColumn={disableContextMenuColumn}\n emptyLabel={emptyLabel}\n spacing={styleWithSpacing}\n >\n {children}\n </DataGridBody>\n </table>\n </div>\n {paginationProps && !isLoading && (\n <Pagination\n {...paginationProps}\n style={{\n ...paginationProps.style,\n paddingLeft: styleWithSpacing?.paddingLeft,\n paddingRight: styleWithSpacing?.paddingRight\n }}\n className={`${classes[\"pagination\"]} ${paginationProps.className ?? \"\"}`}\n />\n )}\n </div>\n );\n};\n\nexport const DataGrid = React.forwardRef(DataGridInner) as <T extends {}>(\n p: Props<T> & { ref?: Ref<HTMLDivElement> }\n) => ReactElement;\n"],"names":["DataGrid","React","forwardRef","children","data","initialSort","onSort","headers","actions","paginationProps","disableContextMenuColumn","enableExpandableRow","filters","isLoading","enableMultiSorting","emptyLabel","spacing","style","rest","ref","Error","internalHeaders","setInternalHeaders","useState","styleWithSpacing","useSpacing","useEffect","padding","splitPaddings","toString","split","paddingLeftIndex","length","Object","defineProperties","paddingTop","value","paddingRight","paddingBottom","paddingLeft","createElement","className","classes","enable","DataGridToolbar","filtersProps","DataGridActions","onColumnToggled","colName","map","item","name","hidden","DataGridHeader","DataGridBody","Pagination","default","_a"],"mappings":"wXAuDA,MAmIaA,EAAWC,EAAMC,YAnIR,EAElBC,WACAC,OACAC,cACAC,SACAC,UACAC,UAAU,CAAA,EACVC,kBACAC,2BACAC,sBACAC,UACAC,YACAC,qBACAC,aACAC,UACAC,WACGC,GAELC,WAEA,IAAKZ,EACH,MAAM,IAAIa,MAAM,yCAElB,IAAKjB,EACH,MAAM,IAAIiB,MAAM,sEAGlB,MAAOC,EAAiBC,GAAsBC,EAAQA,SAAChB,GACjDiB,EAAmBC,EAAAA,WAAWT,EAASC,GAE7CS,EAASA,WAAC,IAAMJ,EAAmBf,IAAU,CAACA,IAU9C,GAAIiB,aAAgB,EAAhBA,EAAkBG,QAAS,CAC7B,MAAMC,EAAgBJ,EAAiBG,QAAQE,WAAWC,MAAM,KAEhE,IAAIC,EAA2B,EAE3BH,EAAcI,QAAU,IAC1BD,EAAmB,GAEQ,IAAzBH,EAAcI,SAChBD,EAAmB,GAGrBE,OAAOC,iBAAiBV,EAAkB,CACxCW,WAAY,CACVC,MAAOR,EAAc,IAEvBS,aAAc,CACZD,MAAOR,EAAcA,EAAcI,OAAS,EAAI,EAAI,EAAI,IAE1DM,cAAe,CACbF,MAAOR,EAAcA,EAAcI,OAAS,GAAK,EAAI,EAAI,IAE3DO,YAAa,CACXH,MAAOR,EAAcG,KAG1B,CAED,OACE9B,EACMuC,cAAA,MAAA,IAAAtB,EACJuB,UAAWC,EAAAA,QAAQ,gBACnBvB,IAAKA,EACLF,MAAO,CACLkB,WAAYX,aAAA,EAAAA,EAAkBW,WAC9BG,cAAed,aAAA,EAAAA,EAAkBc,iBAGlC1B,aAAO,EAAPA,EAAS+B,QACR1C,EAAAuC,cAACI,EAAeA,gBAAA,IAAKhC,EAAQiC,eAE7B5C,EAAAuC,cAACM,kBAAe,IACVtC,EACJS,MAAO,CACLsB,YAAaf,aAAA,EAAAA,EAAkBe,YAC/BF,aAAcb,aAAA,EAAAA,EAAkBa,cAElC9B,QAASc,EACT0B,gBAxDiBC,IACvB1B,EACED,EAAgB4B,KAAIC,GAClBA,EAAKC,OAASH,EAAUE,EAAO,IAAKA,EAAME,QAASF,EAAKE,UAE3D,IAuDCnD,EAAAuC,cAAA,MAAA,CAAKC,UAAWC,EAAAA,QAAQ,kBACtBzC,EAAAuC,cAAA,QAAA,CAAOC,UAAWC,EAAAA,QAAe,OAC/BzC,EAAAuC,cAACa,iBAAc,CACb9C,QAASc,EACThB,YAAaA,EACbC,OAAQA,EACRI,yBAA0BA,EAC1BC,oBAAqBA,EACrBG,mBAAoBA,EACpBE,QAASQ,IAEXvB,EAAAuC,cAACc,eAAY,CACXlD,KAAMA,EACNG,QAASc,EACTR,UAAWA,EACXH,yBAA0BA,EAC1BK,WAAYA,EACZC,QAASQ,GAERrB,KAINM,IAAoBI,GACnBZ,EAACuC,cAAAe,EAAAA,WACK,IAAA9C,EACJQ,MAAO,IACFR,EAAgBQ,MACnBsB,YAAaf,aAAA,EAAAA,EAAkBe,YAC/BF,aAAcb,aAAA,EAAAA,EAAkBa,cAElCI,UAAW,GAAGC,EAAOc,QAAa,sBAAKC,EAAAhD,EAAgBgC,yBAAa,OAI1E"}
1
+ {"version":3,"file":"DataGrid.cjs.js","sources":["../../../../../src/components/DataGrid/DataGrid.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, ReactElement, Ref, useEffect, useState } from \"react\";\nimport { Props as ButtonProps } from \"../Button/Button\";\nimport classes from \"./DataGrid.module.scss\";\nimport { DataGridHeader } from \"./DataGridHeader/DataGridHeader\";\nimport { DataGridActions } from \"./DataGridActions/DataGridActions\";\nimport { DataGridBody } from \"./DataGridBody/DataGridBody\";\nimport { HeaderCell, OnSortFunction, Sort } from \"./datagrid.interfaces\";\nimport { Pagination, Props as PaginationProps } from \"../Pagination/Pagination\";\nimport { Spacing, useSpacing } from \"../../hooks/useSpacing\";\nimport { DataGridToolbar, DataGridToolbarProps } from \"./DataGridFilters/DataGridToolbar\";\nimport { DataGridToolbarWrapper } from \"./DataGridFilters/DataGridToolbarWrapper\";\nimport { DataGridSearchbar, DataGridSearchbarProps } from \"./DataGridFilters/DataGridSearchbar\";\n\nexport interface Props<T> extends Omit<ComponentPropsWithRef<\"div\">, \"children\"> {\n children: ({ item, index }: { item: T; index: number }) => ReactElement;\n data?: T[];\n initialSort?: Sort;\n onSort?: OnSortFunction;\n headers: HeaderCell[];\n actions?: {\n enableAddBtn?: boolean;\n enableColumnsBtn?: boolean;\n enableSearchBtn?: boolean;\n addBtnProps?: ButtonProps;\n columnsBtnProps?: ButtonProps;\n searchBtnProps?: ButtonProps;\n searchIconBtnProps?: ButtonProps;\n };\n emptyLabel?: string;\n paginationProps?: PaginationProps;\n disableContextMenuColumn?: boolean;\n enableExpandableRow?: boolean;\n filters?: DataGridToolbarProps;\n search?: DataGridSearchbarProps;\n isLoading?: boolean;\n enableMultiSorting?: boolean;\n spacing?: Spacing;\n}\n\nconst DataGridInner = <T extends {}>(\n {\n children,\n data,\n initialSort,\n onSort,\n headers,\n actions = {},\n paginationProps,\n disableContextMenuColumn,\n enableExpandableRow,\n filters,\n search,\n isLoading,\n enableMultiSorting,\n emptyLabel,\n spacing,\n style,\n ...rest\n }: Props<T>,\n ref: Ref<HTMLDivElement>\n) => {\n if (!headers) {\n throw new Error(\"Headers definition has to be provided\");\n }\n if (!children) {\n throw new Error(\"DataGridBody should be provided with a template how to render rows\");\n }\n\n const [internalHeaders, setInternalHeaders] = useState(headers);\n const styleWithSpacing = useSpacing(spacing, style);\n\n useEffect(() => setInternalHeaders(headers), [headers]);\n\n const onColumnToggled = (colName: string) => {\n setInternalHeaders(\n internalHeaders.map(item =>\n item.name !== colName ? item : { ...item, hidden: !item.hidden }\n )\n );\n };\n\n if (styleWithSpacing?.padding) {\n const splitPaddings = styleWithSpacing.padding.toString().split(\" \");\n\n let paddingLeftIndex: number = 0;\n\n if (splitPaddings.length >= 2) {\n paddingLeftIndex = 1;\n }\n if (splitPaddings.length === 4) {\n paddingLeftIndex = 3;\n }\n\n Object.defineProperties(styleWithSpacing, {\n paddingTop: {\n value: splitPaddings[0]\n },\n paddingRight: {\n value: splitPaddings[splitPaddings.length - 1 > 0 ? 1 : 0]\n },\n paddingBottom: {\n value: splitPaddings[splitPaddings.length / 3 >= 1 ? 2 : 0]\n },\n paddingLeft: {\n value: splitPaddings[paddingLeftIndex]\n }\n });\n }\n\n return (\n <div\n {...rest}\n className={classes[\"grid-wrapper\"]}\n ref={ref}\n style={{\n paddingTop: styleWithSpacing?.paddingTop,\n paddingBottom: styleWithSpacing?.paddingBottom\n }}\n >\n {filters || search ? (\n <DataGridToolbarWrapper>\n {search && <DataGridSearchbar {...search} />}\n {filters && <DataGridToolbar {...filters} />}\n </DataGridToolbarWrapper>\n ) : (\n <DataGridActions\n {...actions}\n style={{\n paddingLeft: styleWithSpacing?.paddingLeft,\n paddingRight: styleWithSpacing?.paddingRight\n }}\n headers={internalHeaders}\n onColumnToggled={onColumnToggled}\n />\n )}\n\n <div className={classes[\"table-wrapper\"]}>\n <table className={classes[\"table\"]}>\n <DataGridHeader\n headers={internalHeaders}\n initialSort={initialSort}\n onSort={onSort}\n disableContextMenuColumn={disableContextMenuColumn}\n enableExpandableRow={enableExpandableRow}\n enableMultiSorting={enableMultiSorting}\n spacing={styleWithSpacing}\n />\n <DataGridBody\n data={data}\n headers={internalHeaders}\n isLoading={isLoading}\n disableContextMenuColumn={disableContextMenuColumn}\n emptyLabel={emptyLabel}\n spacing={styleWithSpacing}\n searchValue={search?.initialSearchValue}\n >\n {children}\n </DataGridBody>\n </table>\n </div>\n {paginationProps && !isLoading && (\n <Pagination\n {...paginationProps}\n style={{\n ...paginationProps.style,\n paddingLeft: styleWithSpacing?.paddingLeft,\n paddingRight: styleWithSpacing?.paddingRight\n }}\n className={`${classes[\"pagination\"]} ${paginationProps.className ?? \"\"}`}\n />\n )}\n </div>\n );\n};\n\nexport const DataGrid = React.forwardRef(DataGridInner) as <T extends {}>(\n p: Props<T> & { ref?: Ref<HTMLDivElement> }\n) => ReactElement;\n"],"names":["DataGrid","React","forwardRef","children","data","initialSort","onSort","headers","actions","paginationProps","disableContextMenuColumn","enableExpandableRow","filters","search","isLoading","enableMultiSorting","emptyLabel","spacing","style","rest","ref","Error","internalHeaders","setInternalHeaders","useState","styleWithSpacing","useSpacing","useEffect","padding","splitPaddings","toString","split","paddingLeftIndex","length","Object","defineProperties","paddingTop","value","paddingRight","paddingBottom","paddingLeft","createElement","className","classes","DataGridToolbarWrapper","DataGridSearchbar","DataGridToolbar","DataGridActions","onColumnToggled","colName","map","item","name","hidden","DataGridHeader","DataGridBody","searchValue","initialSearchValue","Pagination","default","_a"],"mappings":"6eAuDA,MAwIaA,EAAWC,EAAMC,YAxIR,EAElBC,WACAC,OACAC,cACAC,SACAC,UACAC,UAAU,CAAE,EACZC,kBACAC,2BACAC,sBACAC,UACAC,SACAC,YACAC,qBACAC,aACAC,UACAC,WACGC,GAELC,WAEA,IAAKb,EACH,MAAM,IAAIc,MAAM,yCAElB,IAAKlB,EACH,MAAM,IAAIkB,MAAM,sEAGlB,MAAOC,EAAiBC,GAAsBC,EAAQA,SAACjB,GACjDkB,EAAmBC,EAAAA,WAAWT,EAASC,GAE7CS,EAASA,WAAC,IAAMJ,EAAmBhB,IAAU,CAACA,IAU9C,GAAIkB,aAAgB,EAAhBA,EAAkBG,QAAS,CAC7B,MAAMC,EAAgBJ,EAAiBG,QAAQE,WAAWC,MAAM,KAEhE,IAAIC,EAA2B,EAE3BH,EAAcI,QAAU,IAC1BD,EAAmB,GAEQ,IAAzBH,EAAcI,SAChBD,EAAmB,GAGrBE,OAAOC,iBAAiBV,EAAkB,CACxCW,WAAY,CACVC,MAAOR,EAAc,IAEvBS,aAAc,CACZD,MAAOR,EAAcA,EAAcI,OAAS,EAAI,EAAI,EAAI,IAE1DM,cAAe,CACbF,MAAOR,EAAcA,EAAcI,OAAS,GAAK,EAAI,EAAI,IAE3DO,YAAa,CACXH,MAAOR,EAAcG,KAG1B,CAED,OACE/B,EACMwC,cAAA,MAAA,IAAAtB,EACJuB,UAAWC,EAAAA,QAAQ,gBACnBvB,IAAKA,EACLF,MAAO,CACLkB,WAAYX,aAAA,EAAAA,EAAkBW,WAC9BG,cAAed,aAAA,EAAAA,EAAkBc,gBAGlC3B,GAAWC,EACVZ,gBAAC2C,EAAsBA,uBAAA,KACpB/B,GAAUZ,EAAAwC,cAACI,EAAiBA,kBAAA,IAAKhC,IACjCD,GAAWX,EAACwC,cAAAK,EAAAA,oBAAoBlC,KAGnCX,EAACwC,cAAAM,EAAAA,oBACKvC,EACJU,MAAO,CACLsB,YAAaf,aAAA,EAAAA,EAAkBe,YAC/BF,aAAcb,aAAA,EAAAA,EAAkBa,cAElC/B,QAASe,EACT0B,gBA3DiBC,IACvB1B,EACED,EAAgB4B,KAAIC,GAClBA,EAAKC,OAASH,EAAUE,EAAO,IAAKA,EAAME,QAASF,EAAKE,UAE3D,IA0DCpD,EAAAwC,cAAA,MAAA,CAAKC,UAAWC,EAAAA,QAAQ,kBACtB1C,EAAAwC,cAAA,QAAA,CAAOC,UAAWC,EAAAA,QAAe,OAC/B1C,EAAAwC,cAACa,iBAAc,CACb/C,QAASe,EACTjB,YAAaA,EACbC,OAAQA,EACRI,yBAA0BA,EAC1BC,oBAAqBA,EACrBI,mBAAoBA,EACpBE,QAASQ,IAEXxB,EAAAwC,cAACc,EAAAA,aACC,CAAAnD,KAAMA,EACNG,QAASe,EACTR,UAAWA,EACXJ,yBAA0BA,EAC1BM,WAAYA,EACZC,QAASQ,EACT+B,YAAa3C,aAAM,EAANA,EAAQ4C,oBAEpBtD,KAINM,IAAoBK,GACnBb,EAACwC,cAAAiB,EAAAA,WACK,IAAAjD,EACJS,MAAO,IACFT,EAAgBS,MACnBsB,YAAaf,aAAA,EAAAA,EAAkBe,YAC/BF,aAAcb,aAAA,EAAAA,EAAkBa,cAElCI,UAAW,GAAGC,EAAOgB,QAAa,sBAAKC,EAAAnD,EAAgBiC,yBAAa,OAI1E"}
@@ -1,2 +1,2 @@
1
- "use strict";var e=require("react"),a=require("./DataGridCell/DataGridCell.cjs.js"),r=require("./DataGridRow/DataGridRow.cjs.js"),t=require("./DataGridBody.module.scss.cjs.js"),l=require("../../Typography/Typography.cjs.js");const n=e.forwardRef((({children:n,data:i,headers:d,isLoading:s,disableContextMenuColumn:o,emptyLabel:c,spacing:m,...y},u)=>e.createElement("tbody",{...y,ref:u},(()=>{const y=d.filter((e=>!e.hidden)).length;if(s)return Array.from(Array(9)).map(((t,l)=>e.createElement(r.DataGridRow,{key:l,isLoading:!0},Array.from(Array(y)).map(((r,t)=>e.createElement(a.DataGridCell,{key:t,isLoading:!0}))),!o&&e.createElement(a.DataGridCell,null))));return!i||0===i.length?e.createElement("tr",null,e.createElement("td",{className:t.default.empty,colSpan:y+(o?0:1)},e.createElement(l.Typography,{variant:"body",spacing:{margin:0}},c))):null==i?void 0:i.map(((a,r)=>e.cloneElement(n({item:a,index:r}),{headers:d,spacing:m,disableContextMenuColumn:o})))})())));exports.DataGridBody=n;
1
+ "use strict";var e=require("react"),a=require("./DataGridCell/DataGridCell.cjs.js"),r=require("./DataGridRow/DataGridRow.cjs.js"),t=require("./DataGridBody.module.scss.cjs.js"),l=require("../../Typography/Typography.cjs.js");const n=e.forwardRef((({children:n,data:i,headers:d,isLoading:s,disableContextMenuColumn:o,emptyLabel:c,spacing:m,searchValue:u,...y},p)=>e.createElement("tbody",{...y,ref:p},(()=>{const y=d.filter((e=>!e.hidden)).length;if(s)return Array.from(Array(9)).map(((t,l)=>e.createElement(r.DataGridRow,{key:l,isLoading:!0},Array.from(Array(y)).map(((r,t)=>e.createElement(a.DataGridCell,{key:t,isLoading:!0}))),!o&&e.createElement(a.DataGridCell,null))));return!i||0===i.length?e.createElement("tr",null,e.createElement("td",{className:t.default.empty,colSpan:y+(o?0:1)},e.createElement(l.Typography,{variant:"body",spacing:{margin:0}},c))):null==i?void 0:i.map(((a,r)=>e.cloneElement(n({item:a,index:r}),{searchValue:u,headers:d,spacing:m,disableContextMenuColumn:o})))})())));exports.DataGridBody=n;
2
2
  //# sourceMappingURL=DataGridBody.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DataGridBody.cjs.js","sources":["../../../../../../src/components/DataGrid/DataGridBody/DataGridBody.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, ReactElement, Ref } from \"react\";\nimport { HeaderCell } from \"../datagrid.interfaces\";\nimport { DataGridCell } from \"./DataGridCell/DataGridCell\";\nimport { DataGridRow } from \"./DataGridRow/DataGridRow\";\nimport classes from \"./DataGridBody.module.scss\";\nimport { Typography } from \"../../Typography/Typography\";\n\nexport interface Props<T> extends Omit<ComponentPropsWithRef<\"tbody\">, \"children\"> {\n children: ({ item, index }: { item: T; index: number }) => ReactElement;\n data?: T[];\n headers: HeaderCell[];\n isLoading?: boolean;\n disableContextMenuColumn?: boolean;\n emptyLabel?: string;\n spacing?: React.CSSProperties;\n}\n\nconst skeletonLoadingRows = 9;\n\nconst DataGridBodyInner = <T extends {}>(\n {\n children,\n data,\n headers,\n isLoading,\n disableContextMenuColumn,\n emptyLabel,\n spacing,\n ...rest\n }: Props<T>,\n ref: Ref<HTMLTableSectionElement>\n) => {\n const renderContent = () => {\n const visibleColumns = headers.filter(header => !header.hidden).length;\n if (isLoading) {\n return Array.from(Array(skeletonLoadingRows)).map((_, rowIdx) => (\n <DataGridRow key={rowIdx} isLoading>\n {Array.from(Array(visibleColumns)).map((__, colIdx) => (\n <DataGridCell key={colIdx} isLoading></DataGridCell>\n ))}\n {!disableContextMenuColumn && <DataGridCell></DataGridCell>}\n </DataGridRow>\n ));\n }\n\n const emptyData = !data || data.length === 0;\n if (emptyData) {\n return (\n <tr>\n <td\n className={classes[\"empty\"]}\n colSpan={visibleColumns + (disableContextMenuColumn ? 0 : 1)}\n >\n <Typography variant=\"body\" spacing={{ margin: 0 }}>\n {emptyLabel}\n </Typography>\n </td>\n </tr>\n );\n }\n\n return data?.map((item, index) => {\n return React.cloneElement(children({ item, index }), {\n headers,\n spacing,\n disableContextMenuColumn\n });\n });\n };\n\n return (\n <tbody {...rest} ref={ref}>\n {renderContent()}\n </tbody>\n );\n};\n\nexport const DataGridBody = React.forwardRef(DataGridBodyInner) as <T extends {}>(\n p: Props<T> & { ref?: Ref<HTMLTableSectionElement> }\n) => ReactElement;\n"],"names":["DataGridBody","React","forwardRef","children","data","headers","isLoading","disableContextMenuColumn","emptyLabel","spacing","rest","ref","createElement","visibleColumns","filter","header","hidden","length","Array","from","map","_","rowIdx","DataGridRow","key","__","colIdx","DataGridCell","className","classes","colSpan","Typography","variant","margin","item","index","cloneElement","renderContent"],"mappings":"iOAiCA,MA4DaA,EAAeC,EAAMC,YA1DR,EAEtBC,WACAC,OACAC,UACAC,YACAC,2BACAC,aACAC,aACGC,GAELC,IAyCEV,EAAAW,cAAA,QAAA,IAAWF,EAAMC,IAAKA,GAvCF,MACpB,MAAME,EAAiBR,EAAQS,QAAOC,IAAWA,EAAOC,SAAQC,OAChE,GAAIX,EACF,OAAOY,MAAMC,KAAKD,MAlBI,IAkBwBE,KAAI,CAACC,EAAGC,IACpDrB,EAAAW,cAACW,cAAW,CAACC,IAAKF,EAAQhB,WAAS,GAChCY,MAAMC,KAAKD,MAAML,IAAiBO,KAAI,CAACK,EAAIC,IAC1CzB,EAAAW,cAACe,EAAYA,aAAA,CAACH,IAAKE,EAAQpB,WAAS,OAEpCC,GAA4BN,EAACW,cAAAe,EAAYA,sBAMjD,OADmBvB,GAAwB,IAAhBA,EAAKa,OAG5BhB,EAAAW,cAAA,KAAA,KACEX,EACEW,cAAA,KAAA,CAAAgB,UAAWC,EAAAA,QAAe,MAC1BC,QAASjB,GAAkBN,EAA2B,EAAI,IAE1DN,EAAAW,cAACmB,EAAAA,WAAW,CAAAC,QAAQ,OAAOvB,QAAS,CAAEwB,OAAQ,IAC3CzB,KAOJJ,aAAI,EAAJA,EAAMgB,KAAI,CAACc,EAAMC,IACflC,EAAMmC,aAAajC,EAAS,CAAE+B,OAAMC,UAAU,CACnD9B,UACAI,UACAF,8BAEF,EAKC8B"}
1
+ {"version":3,"file":"DataGridBody.cjs.js","sources":["../../../../../../src/components/DataGrid/DataGridBody/DataGridBody.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, ReactElement, Ref } from \"react\";\nimport { HeaderCell } from \"../datagrid.interfaces\";\nimport { DataGridCell } from \"./DataGridCell/DataGridCell\";\nimport { DataGridRow } from \"./DataGridRow/DataGridRow\";\nimport classes from \"./DataGridBody.module.scss\";\nimport { Typography } from \"../../Typography/Typography\";\n\nexport interface Props<T> extends Omit<ComponentPropsWithRef<\"tbody\">, \"children\"> {\n children: ({ item, index }: { item: T; index: number }) => ReactElement;\n data?: T[];\n headers: HeaderCell[];\n isLoading?: boolean;\n disableContextMenuColumn?: boolean;\n searchValue?: string;\n emptyLabel?: string;\n spacing?: React.CSSProperties;\n}\n\nconst skeletonLoadingRows = 9;\n\nconst DataGridBodyInner = <T extends {}>(\n {\n children,\n data,\n headers,\n isLoading,\n disableContextMenuColumn,\n emptyLabel,\n spacing,\n searchValue,\n ...rest\n }: Props<T>,\n ref: Ref<HTMLTableSectionElement>\n) => {\n const renderContent = () => {\n const visibleColumns = headers.filter(header => !header.hidden).length;\n if (isLoading) {\n return Array.from(Array(skeletonLoadingRows)).map((_, rowIdx) => (\n <DataGridRow key={rowIdx} isLoading>\n {Array.from(Array(visibleColumns)).map((__, colIdx) => (\n <DataGridCell key={colIdx} isLoading></DataGridCell>\n ))}\n {!disableContextMenuColumn && <DataGridCell></DataGridCell>}\n </DataGridRow>\n ));\n }\n\n const emptyData = !data || data.length === 0;\n if (emptyData) {\n return (\n <tr>\n <td\n className={classes[\"empty\"]}\n colSpan={visibleColumns + (disableContextMenuColumn ? 0 : 1)}\n >\n <Typography variant=\"body\" spacing={{ margin: 0 }}>\n {emptyLabel}\n </Typography>\n </td>\n </tr>\n );\n }\n\n return data?.map((item, index) => {\n return React.cloneElement(children({ item, index }), {\n searchValue: searchValue,\n headers,\n spacing,\n disableContextMenuColumn\n });\n });\n };\n\n return (\n <tbody {...rest} ref={ref}>\n {renderContent()}\n </tbody>\n );\n};\n\nexport const DataGridBody = React.forwardRef(DataGridBodyInner) as <T extends {}>(\n p: Props<T> & { ref?: Ref<HTMLTableSectionElement> }\n) => ReactElement;\n"],"names":["DataGridBody","React","forwardRef","children","data","headers","isLoading","disableContextMenuColumn","emptyLabel","spacing","searchValue","rest","ref","createElement","visibleColumns","filter","header","hidden","length","Array","from","map","_","rowIdx","DataGridRow","key","__","colIdx","DataGridCell","className","classes","colSpan","Typography","variant","margin","item","index","cloneElement","renderContent"],"mappings":"iOAkCA,MA8DaA,EAAeC,EAAMC,YA5DR,EAEtBC,WACAC,OACAC,UACAC,YACAC,2BACAC,aACAC,UACAC,iBACGC,GAELC,IA0CEX,EAAAY,cAAA,QAAA,IAAWF,EAAMC,IAAKA,GAxCF,MACpB,MAAME,EAAiBT,EAAQU,QAAOC,IAAWA,EAAOC,SAAQC,OAChE,GAAIZ,EACF,OAAOa,MAAMC,KAAKD,MAnBI,IAmBwBE,KAAI,CAACC,EAAGC,IACpDtB,EAAAY,cAACW,cAAW,CAACC,IAAKF,EAAQjB,WAAS,GAChCa,MAAMC,KAAKD,MAAML,IAAiBO,KAAI,CAACK,EAAIC,IAC1C1B,EAAAY,cAACe,EAAYA,aAAA,CAACH,IAAKE,EAAQrB,WAAS,OAEpCC,GAA4BN,EAACY,cAAAe,EAAYA,sBAMjD,OADmBxB,GAAwB,IAAhBA,EAAKc,OAG5BjB,EAAAY,cAAA,KAAA,KACEZ,EACEY,cAAA,KAAA,CAAAgB,UAAWC,EAAAA,QAAe,MAC1BC,QAASjB,GAAkBP,EAA2B,EAAI,IAE1DN,EAAAY,cAACmB,EAAAA,WAAW,CAAAC,QAAQ,OAAOxB,QAAS,CAAEyB,OAAQ,IAC3C1B,KAOJJ,aAAI,EAAJA,EAAMiB,KAAI,CAACc,EAAMC,IACfnC,EAAMoC,aAAalC,EAAS,CAAEgC,OAAMC,UAAU,CACnD1B,YAAaA,EACbL,UACAI,UACAF,8BAEF,EAKC+B"}
@@ -1,2 +1,2 @@
1
- "use strict";var e=require("react"),a=require("../../../Typography/Typography.cjs.js"),l=require("./DataGridCell.module.scss.cjs.js");const t=e.forwardRef((({children:t,className:r,isLoading:i,spacing:s,cellIndex:d,columnLength:n,disableContextMenuColumn:c,...u},o)=>{let g={};return 0===d&&(g.paddingLeft=null==s?void 0:s.paddingLeft),(d===n&&!c||n&&d===n-1&&c)&&(g.paddingRight=null==s?void 0:s.paddingRight),e.createElement("td",{...u,ref:o,style:{...u.style,...g},className:`${l.default.cell} ${null!=r?r:""}`},i&&e.createElement("div",{className:l.default.loading,"aria-busy":"true","aria-live":"polite"}),!i&&e.createElement(a.Typography,{className:l.default.text,variant:"body",tag:"span"},t))}));exports.DataGridCell=t;
1
+ "use strict";var e=require("react"),a=require("../../../Typography/Typography.cjs.js"),t=require("./DataGridCell.module.scss.cjs.js");const l=e.forwardRef((({children:l,className:r,isLoading:n,spacing:i,searchValue:s,cellIndex:d,columnLength:c,disableContextMenuColumn:o,...u},g)=>{let m={};0===d&&(m.paddingLeft=null==i?void 0:i.paddingLeft),(d===c&&!o||c&&d===c-1&&o)&&(m.paddingRight=null==i?void 0:i.paddingRight);return e.createElement("td",{...u,ref:g,style:{...u.style,...m},className:`${t.default.cell} ${null!=r?r:""}`},n&&e.createElement("div",{className:t.default.loading,"aria-busy":"true","aria-live":"polite"}),!n&&e.createElement(a.Typography,{className:t.default.text,variant:"body",tag:"span"},(()=>{var a;if("string"==typeof l&&s){if(!l.toLowerCase().includes(s.toLowerCase()))return l;const t=new RegExp(s,"i").exec(l),r=l.split(null!==(a=null==t?void 0:t[0])&&void 0!==a?a:"");return r.map(((a,l)=>l===r.length-1?e.createElement(e.Fragment,{key:`${a}-${l}`},a):e.createElement(e.Fragment,{key:`${a}-${l}`},a,e.createElement("mark",{"data-testid":`${t}-mark`},t))))}return l})()))}));exports.DataGridCell=l;
2
2
  //# sourceMappingURL=DataGridCell.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DataGridCell.cjs.js","sources":["../../../../../../../src/components/DataGrid/DataGridBody/DataGridCell/DataGridCell.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, { ForwardRefRenderFunction, ComponentPropsWithRef, ReactElement } from \"react\";\nimport { Typography } from \"../../../Typography/Typography\";\nimport classes from \"./DataGridCell.module.scss\";\n\nexport interface Props extends ComponentPropsWithRef<\"td\"> {\n children?: ReactElement | string | number;\n isLoading?: boolean;\n spacing?: React.CSSProperties;\n cellIndex?: number;\n columnLength?: number;\n disableContextMenuColumn?: boolean;\n}\n\nconst DataGridCellComponent: ForwardRefRenderFunction<HTMLTableCellElement, Props> = (\n {\n children,\n className,\n isLoading,\n spacing,\n cellIndex,\n columnLength,\n disableContextMenuColumn,\n ...rest\n }: Props,\n ref\n) => {\n let cellStyle: React.CSSProperties = {};\n\n if (cellIndex === 0) {\n cellStyle.paddingLeft = spacing?.paddingLeft;\n }\n if (\n (cellIndex === columnLength && !disableContextMenuColumn) ||\n (columnLength && cellIndex === columnLength - 1 && disableContextMenuColumn)\n ) {\n cellStyle.paddingRight = spacing?.paddingRight;\n }\n\n return (\n <td\n {...rest}\n ref={ref}\n style={{ ...rest.style, ...cellStyle }}\n className={`${classes[\"cell\"]} ${className ?? \"\"}`}\n >\n {isLoading && <div className={classes[\"loading\"]} aria-busy=\"true\" aria-live=\"polite\"></div>}\n {!isLoading && (\n <Typography className={classes[\"text\"]} variant=\"body\" tag=\"span\">\n {children}\n </Typography>\n )}\n </td>\n );\n};\n\nexport const DataGridCell = React.forwardRef(DataGridCellComponent);\n"],"names":["DataGridCell","React","forwardRef","children","className","isLoading","spacing","cellIndex","columnLength","disableContextMenuColumn","rest","ref","cellStyle","paddingLeft","paddingRight","createElement","style","classes","default","Typography","variant","tag"],"mappings":"sIA6BA,MA0CaA,EAAeC,EAAMC,YA1CmD,EAEjFC,WACAC,YACAC,YACAC,UACAC,YACAC,eACAC,8BACGC,GAELC,KAEA,IAAIC,EAAiC,CAAA,EAYrC,OAVkB,IAAdL,IACFK,EAAUC,YAAcP,aAAA,EAAAA,EAASO,cAGhCN,IAAcC,IAAiBC,GAC/BD,GAAgBD,IAAcC,EAAe,GAAKC,KAEnDG,EAAUE,aAAeR,aAAA,EAAAA,EAASQ,cAIlCb,EAAAc,cAAA,KAAA,IACML,EACJC,IAAKA,EACLK,MAAO,IAAKN,EAAKM,SAAUJ,GAC3BR,UAAW,GAAGa,EAAOC,QAAO,QAAKd,QAAAA,EAAa,MAE7CC,GAAaJ,EAAAc,cAAA,MAAA,CAAKX,UAAWa,EAAAA,QAAiB,QAAa,YAAA,OAAiB,YAAA,YAC3EZ,GACAJ,EAACc,cAAAI,EAAAA,WAAW,CAAAf,UAAWa,UAAc,KAAGG,QAAQ,OAAOC,IAAI,QACxDlB,GAIP"}
1
+ {"version":3,"file":"DataGridCell.cjs.js","sources":["../../../../../../../src/components/DataGrid/DataGridBody/DataGridCell/DataGridCell.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, {\n ForwardRefRenderFunction,\n ComponentPropsWithRef,\n ReactElement,\n Fragment\n} from \"react\";\nimport { Typography } from \"../../../Typography/Typography\";\nimport classes from \"./DataGridCell.module.scss\";\n\nexport interface Props extends ComponentPropsWithRef<\"td\"> {\n children?: ReactElement | string | number;\n isLoading?: boolean;\n spacing?: React.CSSProperties;\n searchValue?: string;\n cellIndex?: number;\n columnLength?: number;\n disableContextMenuColumn?: boolean;\n}\n\nconst DataGridCellComponent: ForwardRefRenderFunction<HTMLTableCellElement, Props> = (\n {\n children,\n className,\n isLoading,\n spacing,\n searchValue,\n cellIndex,\n columnLength,\n disableContextMenuColumn,\n ...rest\n }: Props,\n ref\n) => {\n let cellStyle: React.CSSProperties = {};\n\n if (cellIndex === 0) {\n cellStyle.paddingLeft = spacing?.paddingLeft;\n }\n if (\n (cellIndex === columnLength && !disableContextMenuColumn) ||\n (columnLength && cellIndex === columnLength - 1 && disableContextMenuColumn)\n ) {\n cellStyle.paddingRight = spacing?.paddingRight;\n }\n\n //NOTE: we might want to migrate to Highlight API once it's supported by Firefox\n const renderContent = () => {\n if (typeof children === \"string\" && searchValue) {\n if (!children.toLowerCase().includes(searchValue.toLowerCase())) {\n return children;\n }\n\n const matchingSequence = new RegExp(searchValue, \"i\").exec(children);\n\n const parts = children.split(matchingSequence?.[0] ?? \"\");\n return parts.map((part, i) => {\n if (i === parts.length - 1) return <Fragment key={`${part}-${i}`}>{part}</Fragment>;\n\n return (\n <Fragment key={`${part}-${i}`}>\n {part}\n <mark data-testid={`${matchingSequence}-mark`}>{matchingSequence}</mark>\n </Fragment>\n );\n });\n }\n\n return children;\n };\n\n return (\n <td\n {...rest}\n ref={ref}\n style={{ ...rest.style, ...cellStyle }}\n className={`${classes[\"cell\"]} ${className ?? \"\"}`}\n >\n {isLoading && <div className={classes[\"loading\"]} aria-busy=\"true\" aria-live=\"polite\"></div>}\n {!isLoading && (\n <Typography className={classes[\"text\"]} variant=\"body\" tag=\"span\">\n {renderContent()}\n </Typography>\n )}\n </td>\n );\n};\n\nexport const DataGridCell = React.forwardRef(DataGridCellComponent);\n"],"names":["DataGridCell","React","forwardRef","children","className","isLoading","spacing","searchValue","cellIndex","columnLength","disableContextMenuColumn","rest","ref","cellStyle","paddingLeft","paddingRight","createElement","style","classes","default","Typography","variant","tag","toLowerCase","includes","matchingSequence","RegExp","exec","parts","split","_a","map","part","i","length","Fragment","key","renderContent"],"mappings":"sIAmCA,MAoEaA,EAAeC,EAAMC,YApEmD,EAEjFC,WACAC,YACAC,YACAC,UACAC,cACAC,YACAC,eACAC,8BACGC,GAELC,KAEA,IAAIC,EAAiC,CAAA,EAEnB,IAAdL,IACFK,EAAUC,YAAcR,aAAA,EAAAA,EAASQ,cAGhCN,IAAcC,IAAiBC,GAC/BD,GAAgBD,IAAcC,EAAe,GAAKC,KAEnDG,EAAUE,aAAeT,aAAA,EAAAA,EAASS,cA4BpC,OACEd,EAAAe,cAAA,KAAA,IACML,EACJC,IAAKA,EACLK,MAAO,IAAKN,EAAKM,SAAUJ,GAC3BT,UAAW,GAAGc,EAAOC,QAAO,QAAKf,QAAAA,EAAa,MAE7CC,GAAaJ,EAAAe,cAAA,MAAA,CAAKZ,UAAWc,EAAAA,QAAiB,QAAa,YAAA,OAAiB,YAAA,YAC3Eb,GACAJ,EAACe,cAAAI,EAAAA,WAAW,CAAAhB,UAAWc,UAAc,KAAGG,QAAQ,OAAOC,IAAI,QAjC3C,YACpB,GAAwB,iBAAbnB,GAAyBI,EAAa,CAC/C,IAAKJ,EAASoB,cAAcC,SAASjB,EAAYgB,eAC/C,OAAOpB,EAGT,MAAMsB,EAAmB,IAAIC,OAAOnB,EAAa,KAAKoB,KAAKxB,GAErDyB,EAAQzB,EAAS0B,MAA+B,UAAzBJ,aAAgB,EAAhBA,EAAmB,UAAM,IAAAK,EAAAA,EAAA,IACtD,OAAOF,EAAMG,KAAI,CAACC,EAAMC,IAClBA,IAAML,EAAMM,OAAS,EAAUjC,EAACe,cAAAmB,EAAQA,SAAC,CAAAC,IAAK,GAAGJ,KAAQC,KAAMD,GAGjE/B,EAACe,cAAAmB,EAAAA,SAAS,CAAAC,IAAK,GAAGJ,KAAQC,KACvBD,EACD/B,EAAmBe,cAAA,OAAA,CAAA,cAAA,GAAGS,UAA0BA,KAIvD,CAED,OAAOtB,CAAQ,EAaRkC,IAIP"}
@@ -1,2 +1,2 @@
1
- "use strict";var e=require("react"),r=require("./DataGridRow.module.scss.cjs.js"),a=require("../../../Button/IconButton.cjs.js"),t=require("../../../Icon/Icon.cjs.js"),n=require("../DataGridCell/DataGridCell.cjs.js"),l=require("../DataGridDrawer/DataGridDrawer.cjs.js"),d=require("../../../src/util/helper.cjs.js");const o=e.forwardRef((({children:o,className:s,headers:c,isLoading:i,spacing:u,expandableRowProps:p,disableContextMenuColumn:m,...w},h)=>{const{enableExpandableRow:D=!1,expandButtonId:x=`ID-${d.generateID()}`,expandButtonTitle:I="Expand row",drawerId:j=`ID-${d.generateID()}`,expandableRowContent:b}=p||{},[g,C]=e.useState(!1),E=e.Children.map(o,((r,a)=>{if(r){const t=e.cloneElement(r,{spacing:u,cellIndex:a,columnLength:null==c?void 0:c.length,disableContextMenuColumn:m});return(!(c&&c.length>a)||!c[a].hidden)&&t}return null})),f=[r.default.row];return s&&f.push(s),D?!g&&f.push(r.default["border-drawer"]):f.push(r.default.border),i&&f.push(r.default.loading),e.createElement(e.Fragment,null,e.createElement("tr",{...w,ref:h,className:f.join(" ")},D&&e.createElement(n.DataGridCell,{className:r.default["expand-button-cell"],onClick:()=>C(!g),style:{width:"1px"}},e.createElement(a.IconButton,{id:x,title:I,"aria-expanded":g,"aria-controls":j},e.createElement(t.Icon,{size:"0.75rem",icon:g?t.Icons.ChevronUp:t.Icons.ChevronDown}))),E),D&&e.createElement("tr",{className:`${r.default.row} ${g?r.default["border-drawer"]:""}`},e.createElement("td",{colSpan:E.length+1},e.createElement(l.DataGridDrawer,{id:j,role:"region","aria-labelledby":x,isExpanded:g},b))))}));exports.DataGridRow=o;
1
+ "use strict";var e=require("react"),r=require("./DataGridRow.module.scss.cjs.js"),a=require("../../../Button/IconButton.cjs.js"),t=require("../../../Icon/Icon.cjs.js"),n=require("../DataGridCell/DataGridCell.cjs.js"),l=require("../DataGridDrawer/DataGridDrawer.cjs.js"),d=require("../../../src/util/helper.cjs.js");const o=e.forwardRef((({children:o,className:s,headers:c,searchValue:i,isLoading:u,spacing:p,expandableRowProps:m,disableContextMenuColumn:h,...w},D)=>{const{enableExpandableRow:x=!1,expandButtonId:I=`ID-${d.generateID()}`,expandButtonTitle:j="Expand row",drawerId:b=`ID-${d.generateID()}`,expandableRowContent:g}=m||{},[C,E]=e.useState(!1),f=e.Children.map(o,((r,a)=>{if(r){const t=e.cloneElement(r,{searchValue:i,spacing:p,cellIndex:a,columnLength:null==c?void 0:c.length,disableContextMenuColumn:h});return(!(c&&c.length>a)||!c[a].hidden)&&t}return null})),G=[r.default.row];return s&&G.push(s),x?!C&&G.push(r.default["border-drawer"]):G.push(r.default.border),u&&G.push(r.default.loading),e.createElement(e.Fragment,null,e.createElement("tr",{...w,ref:D,className:G.join(" ")},x&&e.createElement(n.DataGridCell,{className:r.default["expand-button-cell"],onClick:()=>E(!C),style:{width:"1px"}},e.createElement(a.IconButton,{id:I,title:j,"aria-expanded":C,"aria-controls":b},e.createElement(t.Icon,{size:"0.75rem",icon:C?t.Icons.ChevronUp:t.Icons.ChevronDown}))),f),x&&e.createElement("tr",{className:`${r.default.row} ${C?r.default["border-drawer"]:""}`},e.createElement("td",{colSpan:f.length+1},e.createElement(l.DataGridDrawer,{id:b,role:"region","aria-labelledby":I,isExpanded:C},g))))}));exports.DataGridRow=o;
2
2
  //# sourceMappingURL=DataGridRow.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DataGridRow.cjs.js","sources":["../../../../../../../src/components/DataGrid/DataGridBody/DataGridRow/DataGridRow.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, useState, Fragment, ForwardRefRenderFunction } from \"react\";\nimport { HeaderCell } from \"../../datagrid.interfaces\";\nimport classes from \"./DataGridRow.module.scss\";\nimport { IconButton } from \"../../../Button/IconButton\";\nimport { Icon, Icons } from \"../../../Icon/Icon\";\nimport { DataGridCell } from \"../DataGridCell/DataGridCell\";\nimport { DataGridDrawer } from \"../DataGridDrawer/DataGridDrawer\";\nimport { generateID } from \"../../../../util/helper\";\n\nexport interface Props extends ComponentPropsWithRef<\"tr\"> {\n headers?: HeaderCell[];\n isLoading?: boolean;\n spacing?: React.CSSProperties;\n disableContextMenuColumn?: boolean;\n expandableRowProps?: {\n enableExpandableRow: boolean;\n expandableRowContent: React.ReactNode;\n expandButtonTitle?: string;\n expandButtonId?: string;\n drawerId?: string;\n };\n}\n\nconst DataGridRowComponent: ForwardRefRenderFunction<HTMLTableRowElement, Props> = (\n {\n children,\n className,\n headers,\n isLoading,\n spacing,\n expandableRowProps,\n disableContextMenuColumn,\n ...rest\n },\n ref\n) => {\n const {\n enableExpandableRow = false,\n expandButtonId = `ID-${generateID()}`,\n expandButtonTitle = \"Expand row\",\n drawerId = `ID-${generateID()}`,\n expandableRowContent\n } = expandableRowProps || {};\n const [isRowExpanded, setIsRowExpanded] = useState(false);\n const visibleCells = React.Children.map(children as React.ReactElement[], (child, index) => {\n if (child) {\n const cellWithSpacing = React.cloneElement(child, {\n spacing: spacing,\n cellIndex: index,\n columnLength: headers?.length,\n disableContextMenuColumn\n });\n\n const visible = headers && headers.length > index ? !headers[index].hidden : true;\n return visible && cellWithSpacing;\n }\n return null;\n });\n\n const classNames = [classes[\"row\"]];\n className && classNames.push(className);\n enableExpandableRow\n ? !isRowExpanded && classNames.push(classes[\"border-drawer\"])\n : classNames.push(classes[\"border\"]);\n isLoading && classNames.push(classes[\"loading\"]);\n\n return (\n <Fragment>\n <tr {...rest} ref={ref} className={classNames.join(\" \")}>\n {enableExpandableRow && (\n <DataGridCell\n className={classes[\"expand-button-cell\"]}\n onClick={() => setIsRowExpanded(!isRowExpanded)}\n style={{ width: \"1px\" }}\n >\n <IconButton\n id={expandButtonId}\n title={expandButtonTitle}\n aria-expanded={isRowExpanded}\n aria-controls={drawerId}\n >\n <Icon size=\"0.75rem\" icon={isRowExpanded ? Icons.ChevronUp : Icons.ChevronDown} />\n </IconButton>\n </DataGridCell>\n )}\n {visibleCells}\n </tr>\n {enableExpandableRow && (\n <tr className={`${classes[\"row\"]} ${isRowExpanded ? classes[\"border-drawer\"] : \"\"}`}>\n <td colSpan={visibleCells.length + 1}>\n <DataGridDrawer\n id={drawerId}\n role=\"region\"\n aria-labelledby={expandButtonId}\n isExpanded={isRowExpanded}\n >\n {expandableRowContent}\n </DataGridDrawer>\n </td>\n </tr>\n )}\n </Fragment>\n );\n};\n\nexport const DataGridRow = React.forwardRef(DataGridRowComponent);\n"],"names":["DataGridRow","React","forwardRef","children","className","headers","isLoading","spacing","expandableRowProps","disableContextMenuColumn","rest","ref","enableExpandableRow","expandButtonId","generateID","expandButtonTitle","drawerId","expandableRowContent","isRowExpanded","setIsRowExpanded","useState","visibleCells","Children","map","child","index","cellWithSpacing","cloneElement","cellIndex","columnLength","length","hidden","classNames","classes","push","default","Fragment","createElement","join","DataGridCell","onClick","style","width","IconButton","id","title","Icon","size","icon","Icons","ChevronUp","ChevronDown","colSpan","DataGridDrawer","role","isExpanded"],"mappings":"2TAuCA,MAkFaA,EAAcC,EAAMC,YAlFkD,EAE/EC,WACAC,YACAC,UACAC,YACAC,UACAC,qBACAC,8BACGC,GAELC,KAEA,MAAMC,oBACJA,GAAsB,EAAKC,eAC3BA,EAAiB,MAAMC,EAAUA,eAAIC,kBACrCA,EAAoB,aAAYC,SAChCA,EAAW,MAAMF,iBAAcG,qBAC/BA,GACET,GAAsB,IACnBU,EAAeC,GAAoBC,EAAQA,UAAC,GAC7CC,EAAepB,EAAMqB,SAASC,IAAIpB,GAAkC,CAACqB,EAAOC,KAChF,GAAID,EAAO,CACT,MAAME,EAAkBzB,EAAM0B,aAAaH,EAAO,CAChDjB,QAASA,EACTqB,UAAWH,EACXI,aAAcxB,aAAA,EAAAA,EAASyB,OACvBrB,6BAIF,SADgBJ,GAAWA,EAAQyB,OAASL,KAASpB,EAAQoB,GAAOM,SAClDL,CACnB,CACD,OAAO,IAAI,IAGPM,EAAa,CAACC,UAAa,KAOjC,OANA7B,GAAa4B,EAAWE,KAAK9B,GAC7BQ,GACKM,GAAiBc,EAAWE,KAAKD,EAAOE,QAAC,kBAC1CH,EAAWE,KAAKD,UAAgB,QACpC3B,GAAa0B,EAAWE,KAAKD,EAAAA,QAAiB,SAG5ChC,gBAACmC,EAAAA,SAAQ,KACPnC,EAAAoC,cAAA,KAAA,IAAQ3B,EAAMC,IAAKA,EAAKP,UAAW4B,EAAWM,KAAK,MAChD1B,GACCX,EAACoC,cAAAE,EAAAA,aACC,CAAAnC,UAAW6B,EAAOE,QAAC,sBACnBK,QAAS,IAAMrB,GAAkBD,GACjCuB,MAAO,CAAEC,MAAO,QAEhBzC,EAAAoC,cAACM,aAAU,CACTC,GAAI/B,EACJgC,MAAO9B,EAAiB,gBACTG,EAAa,gBACbF,GAEff,EAACoC,cAAAS,EAAAA,KAAK,CAAAC,KAAK,UAAUC,KAAM9B,EAAgB+B,EAAAA,MAAMC,UAAYD,EAAAA,MAAME,gBAIxE9B,GAEFT,GACCX,EAAIoC,cAAA,KAAA,CAAAjC,UAAW,GAAG6B,EAAOE,QAAM,OAAKjB,EAAgBe,EAAAA,QAAQ,iBAAmB,MAC7EhC,EAAAoC,cAAA,KAAA,CAAIe,QAAS/B,EAAaS,OAAS,GACjC7B,EAACoC,cAAAgB,EAAcA,gBACbT,GAAI5B,EACJsC,KAAK,SACY,kBAAAzC,EACjB0C,WAAYrC,GAEXD,KAMX"}
1
+ {"version":3,"file":"DataGridRow.cjs.js","sources":["../../../../../../../src/components/DataGrid/DataGridBody/DataGridRow/DataGridRow.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, useState, Fragment, ForwardRefRenderFunction } from \"react\";\nimport { HeaderCell } from \"../../datagrid.interfaces\";\nimport classes from \"./DataGridRow.module.scss\";\nimport { IconButton } from \"../../../Button/IconButton\";\nimport { Icon, Icons } from \"../../../Icon/Icon\";\nimport { DataGridCell } from \"../DataGridCell/DataGridCell\";\nimport { DataGridDrawer } from \"../DataGridDrawer/DataGridDrawer\";\nimport { generateID } from \"../../../../util/helper\";\n\nexport interface Props extends ComponentPropsWithRef<\"tr\"> {\n headers?: HeaderCell[];\n isLoading?: boolean;\n spacing?: React.CSSProperties;\n searchValue?: string;\n disableContextMenuColumn?: boolean;\n expandableRowProps?: {\n enableExpandableRow: boolean;\n expandableRowContent: React.ReactNode;\n expandButtonTitle?: string;\n expandButtonId?: string;\n drawerId?: string;\n };\n}\n\nconst DataGridRowComponent: ForwardRefRenderFunction<HTMLTableRowElement, Props> = (\n {\n children,\n className,\n headers,\n searchValue,\n isLoading,\n spacing,\n expandableRowProps,\n disableContextMenuColumn,\n ...rest\n },\n ref\n) => {\n const {\n enableExpandableRow = false,\n expandButtonId = `ID-${generateID()}`,\n expandButtonTitle = \"Expand row\",\n drawerId = `ID-${generateID()}`,\n expandableRowContent\n } = expandableRowProps || {};\n const [isRowExpanded, setIsRowExpanded] = useState(false);\n const visibleCells = React.Children.map(children as React.ReactElement[], (child, index) => {\n if (child) {\n const cellWithSpacing = React.cloneElement(child, {\n searchValue,\n spacing: spacing,\n cellIndex: index,\n columnLength: headers?.length,\n disableContextMenuColumn\n });\n\n const visible = headers && headers.length > index ? !headers[index].hidden : true;\n return visible && cellWithSpacing;\n }\n return null;\n });\n\n const classNames = [classes[\"row\"]];\n className && classNames.push(className);\n enableExpandableRow\n ? !isRowExpanded && classNames.push(classes[\"border-drawer\"])\n : classNames.push(classes[\"border\"]);\n isLoading && classNames.push(classes[\"loading\"]);\n\n return (\n <Fragment>\n <tr {...rest} ref={ref} className={classNames.join(\" \")}>\n {enableExpandableRow && (\n <DataGridCell\n className={classes[\"expand-button-cell\"]}\n onClick={() => setIsRowExpanded(!isRowExpanded)}\n style={{ width: \"1px\" }}\n >\n <IconButton\n id={expandButtonId}\n title={expandButtonTitle}\n aria-expanded={isRowExpanded}\n aria-controls={drawerId}\n >\n <Icon size=\"0.75rem\" icon={isRowExpanded ? Icons.ChevronUp : Icons.ChevronDown} />\n </IconButton>\n </DataGridCell>\n )}\n {visibleCells}\n </tr>\n {enableExpandableRow && (\n <tr className={`${classes[\"row\"]} ${isRowExpanded ? classes[\"border-drawer\"] : \"\"}`}>\n <td colSpan={visibleCells.length + 1}>\n <DataGridDrawer\n id={drawerId}\n role=\"region\"\n aria-labelledby={expandButtonId}\n isExpanded={isRowExpanded}\n >\n {expandableRowContent}\n </DataGridDrawer>\n </td>\n </tr>\n )}\n </Fragment>\n );\n};\n\nexport const DataGridRow = React.forwardRef(DataGridRowComponent);\n"],"names":["DataGridRow","React","forwardRef","children","className","headers","searchValue","isLoading","spacing","expandableRowProps","disableContextMenuColumn","rest","ref","enableExpandableRow","expandButtonId","generateID","expandButtonTitle","drawerId","expandableRowContent","isRowExpanded","setIsRowExpanded","useState","visibleCells","Children","map","child","index","cellWithSpacing","cloneElement","cellIndex","columnLength","length","hidden","classNames","classes","push","default","Fragment","createElement","join","DataGridCell","onClick","style","width","IconButton","id","title","Icon","size","icon","Icons","ChevronUp","ChevronDown","colSpan","DataGridDrawer","role","isExpanded"],"mappings":"2TAwCA,MAoFaA,EAAcC,EAAMC,YApFkD,EAE/EC,WACAC,YACAC,UACAC,cACAC,YACAC,UACAC,qBACAC,8BACGC,GAELC,KAEA,MAAMC,oBACJA,GAAsB,EAAKC,eAC3BA,EAAiB,MAAMC,EAAUA,eAAIC,kBACrCA,EAAoB,aAAYC,SAChCA,EAAW,MAAMF,iBAAcG,qBAC/BA,GACET,GAAsB,IACnBU,EAAeC,GAAoBC,EAAQA,UAAC,GAC7CC,EAAerB,EAAMsB,SAASC,IAAIrB,GAAkC,CAACsB,EAAOC,KAChF,GAAID,EAAO,CACT,MAAME,EAAkB1B,EAAM2B,aAAaH,EAAO,CAChDnB,cACAE,QAASA,EACTqB,UAAWH,EACXI,aAAczB,aAAA,EAAAA,EAAS0B,OACvBrB,6BAIF,SADgBL,GAAWA,EAAQ0B,OAASL,KAASrB,EAAQqB,GAAOM,SAClDL,CACnB,CACD,OAAO,IAAI,IAGPM,EAAa,CAACC,UAAa,KAOjC,OANA9B,GAAa6B,EAAWE,KAAK/B,GAC7BS,GACKM,GAAiBc,EAAWE,KAAKD,EAAOE,QAAC,kBAC1CH,EAAWE,KAAKD,UAAgB,QACpC3B,GAAa0B,EAAWE,KAAKD,EAAAA,QAAiB,SAG5CjC,gBAACoC,EAAAA,SAAQ,KACPpC,EAAAqC,cAAA,KAAA,IAAQ3B,EAAMC,IAAKA,EAAKR,UAAW6B,EAAWM,KAAK,MAChD1B,GACCZ,EAACqC,cAAAE,EAAAA,aACC,CAAApC,UAAW8B,EAAOE,QAAC,sBACnBK,QAAS,IAAMrB,GAAkBD,GACjCuB,MAAO,CAAEC,MAAO,QAEhB1C,EAAAqC,cAACM,aAAU,CACTC,GAAI/B,EACJgC,MAAO9B,EAAiB,gBACTG,EAAa,gBACbF,GAEfhB,EAACqC,cAAAS,EAAAA,KAAK,CAAAC,KAAK,UAAUC,KAAM9B,EAAgB+B,EAAAA,MAAMC,UAAYD,EAAAA,MAAME,gBAIxE9B,GAEFT,GACCZ,EAAIqC,cAAA,KAAA,CAAAlC,UAAW,GAAG8B,EAAOE,QAAM,OAAKjB,EAAgBe,EAAAA,QAAQ,iBAAmB,MAC7EjC,EAAAqC,cAAA,KAAA,CAAIe,QAAS/B,EAAaS,OAAS,GACjC9B,EAACqC,cAAAgB,EAAcA,gBACbT,GAAI5B,EACJsC,KAAK,SACY,kBAAAzC,EACjB0C,WAAYrC,GAEXD,KAMX"}
@@ -0,0 +1,2 @@
1
+ "use strict";var e=require("react"),r=require("../../Form/Wrapper/InputWrapper/InputWrapper.cjs.js"),a=require("../../Icon/Icon.cjs.js"),l=require("./DataGridToolbar.module.scss.cjs.js"),u=require("../../src/hooks/useDebouncedCallback.cjs.js");exports.DataGridSearchbar=({onSearch:c,initialSearchValue:n,debounceTime:s,inputWrapperProps:o,placeholder:t})=>{var i,p,d;const[h,v]=e.useState(null!=n?n:""),b=u.useDebouncedCallback(c,null!=s?s:500),m=s?b:c;return e.useEffect((()=>{n&&v(n)}),[n]),e.createElement(r.InputWrapper,{...o,className:`${l.default.searchbar} ${null!==(i=null==o?void 0:o.className)&&void 0!==i?i:""}`,label:null!==(p=null==o?void 0:o.label)&&void 0!==p?p:"",onChange:e=>{m(e.target.value),v(e.target.value)},type:"search",name:null!==(d=null==o?void 0:o.name)&&void 0!==d?d:"searchbar",value:h,inputProps:{...null==o?void 0:o.inputProps,type:"search",prefix:e.createElement(a.Icon,{icon:a.Icons.Search}),placeholder:null!=t?t:"Search items"}})};
2
+ //# sourceMappingURL=DataGridSearchbar.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataGridSearchbar.cjs.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":["onSearch","initialSearchValue","debounceTime","inputWrapperProps","placeholder","search","setSearch","useState","debouncedCallback","useDebouncedCallback","onSearchCallback","useEffect","React","createElement","InputWrapper","className","classes","_a","label","_b","onChange","event","target","value","type","name","_c","inputProps","prefix","Icon","icon","Icons","Search"],"mappings":"8QA8BiC,EAC/BA,WACAC,qBACAC,eACAC,oBACAC,4BAEA,MAAOC,EAAQC,GAAaC,EAAQA,SAACN,QAAAA,EAAsB,IACrDO,EAAoBC,EAAAA,qBAAqBT,EAAUE,QAAAA,EAAgB,KACnEQ,EAAmBR,EAAeM,EAAoBR,EAW5D,OAJAW,EAAAA,WAAU,KACRV,GAAsBK,EAAUL,EAAmB,GAClD,CAACA,IAGFW,EAAAC,cAACC,EAAAA,aAAY,IACPX,EACJY,UAAW,GAAGC,EAAAA,QAAmB,aAAiC,QAA5BC,EAAAd,aAAiB,EAAjBA,EAAmBY,iBAAS,IAAAE,EAAAA,EAAI,KACtEC,MAAmC,QAA5BC,EAAAhB,aAAA,EAAAA,EAAmBe,aAAS,IAAAC,EAAAA,EAAA,GACnCC,SAdcC,IAChBX,EAAiBW,EAAMC,OAAOC,OAC9BjB,EAAUe,EAAMC,OAAOC,MAAM,EAa3BC,KAAK,SACLC,KAA6B,QAAvBC,EAAAvB,aAAA,EAAAA,EAAmBsB,YAAI,IAAAC,EAAAA,EAAI,YACjCH,MAAOlB,EACPsB,WAAY,IACPxB,aAAA,EAAAA,EAAmBwB,WACtBH,KAAM,SACNI,OAAQhB,gBAACiB,EAAAA,KAAI,CAACC,KAAMC,EAAAA,MAAMC,SAC1B5B,YAAaA,QAAAA,EAAe,iBAGhC"}
@@ -1,2 +1,2 @@
1
- "use strict";var e=require("react"),t=require("./DataGridFilter.cjs.js"),a=require("./DataGridToolbar.module.scss.cjs.js"),r=require("../../Typography/Typography.cjs.js");const l=(e,t)=>{switch(t.type){case"add":return{...e,filters:[...e.filters,{...t.payload}]};case"edit":return{...e,filters:[...e.filters.map((e=>e.id===t.payload.id?t.payload:e))]};case"remove":return{...e,filters:[...e.filters.filter((e=>e.id!==t.payload.id))]};case"clear":return{...e,filters:[]}}},o=({columnsMetadata:o,filterValues:i,translations:s,onFilterAdd:n,onFilterEdit:d,onFilterDelete:c,onFiltersClear:p,...u},f)=>{const[m,y]=e.useReducer(l,{filters:i||[]}),{clearButtonCaption:v="Clear all filters"}=(null==s?void 0:s.toolbar)||{};return e.createElement("div",{...u,ref:f,className:a.default.toolbar},m.filters.map((a=>e.createElement(t.DataGridFilter,{mode:"EDIT",key:a.id,filter:a,columnsMetadata:o,dispatch:y,onFilterEdit:d,onFilterDelete:c,tagTranslations:null==s?void 0:s.tag,popoverTranslations:null==s?void 0:s.popover}))),e.createElement("div",{className:a.default["actions-wrapper"]},e.createElement(t.DataGridFilter,{mode:"ADD",columnsMetadata:o,dispatch:y,onFilterAdd:n,tagTranslations:null==s?void 0:s.tag,popoverTranslations:null==s?void 0:s.popover}),m.filters.length>=1&&e.createElement("button",{type:"button",className:a.default["clear-button"],onClick:()=>{y({type:"clear"}),p&&p()}},e.createElement(r.Typography,{variant:"body",className:a.default.caption},v))))},i=e.forwardRef(o);exports.DataGridToolbar=i,exports.DataGridToolbarComponent=o;
1
+ "use strict";var e=require("react"),t=require("./DataGridFilter.cjs.js"),a=require("./DataGridToolbar.module.scss.cjs.js"),r=require("../../Typography/Typography.cjs.js");const l=(e,t)=>{switch(t.type){case"add":return{...e,filters:[...e.filters,{...t.payload}]};case"edit":return{...e,filters:[...e.filters.map((e=>e.id===t.payload.id?t.payload:e))]};case"remove":return{...e,filters:[...e.filters.filter((e=>e.id!==t.payload.id))]};case"clear":return{...e,filters:[]}}};exports.DataGridToolbar=({columnsMetadata:i,filterValues:o,translations:s,onFilterAdd:n,onFilterEdit:d,onFilterDelete:c,onFiltersClear:p})=>{const[u,m]=e.useReducer(l,{filters:o||[]}),{clearButtonCaption:f="Clear all filters"}=(null==s?void 0:s.toolbar)||{};return e.createElement(e.Fragment,null,u.filters.map((a=>e.createElement(t.DataGridFilter,{mode:"EDIT",key:a.id,filter:a,columnsMetadata:i,dispatch:m,onFilterEdit:d,onFilterDelete:c,tagTranslations:null==s?void 0:s.tag,popoverTranslations:null==s?void 0:s.popover}))),e.createElement("div",{className:a.default["actions-wrapper"]},e.createElement(t.DataGridFilter,{mode:"ADD",columnsMetadata:i,dispatch:m,onFilterAdd:n,tagTranslations:null==s?void 0:s.tag,popoverTranslations:null==s?void 0:s.popover}),u.filters.length>=1&&e.createElement("button",{type:"button",className:a.default["clear-button"],onClick:()=>{m({type:"clear"}),p&&p()}},e.createElement(r.Typography,{variant:"body",className:a.default.caption},f))))};
2
2
  //# sourceMappingURL=DataGridToolbar.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DataGridToolbar.cjs.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":["filtersReducer","state","action","type","filters","payload","map","value","id","filter","DataGridToolbarComponent","columnsMetadata","filterValues","translations","onFilterAdd","onFilterEdit","onFilterDelete","onFiltersClear","rest","ref","dispatch","useReducer","clearButtonCaption","toolbar","React","createElement","className","classes","default","DataGridFilter","mode","key","tagTranslations","tag","popoverTranslations","popover","length","onClick","Typography","variant","DataGridToolbar","forwardRef"],"mappings":"2KAsCA,MAAMA,EAAiB,CAACC,EAAqBC,KAC3C,OAAQA,EAAOC,MACb,IAAK,MACH,MAAO,IAAKF,EAAOG,QAAS,IAAIH,EAAMG,QAAS,IAAKF,EAAOG,WAC7D,IAAK,OACH,MAAO,IACFJ,EACHG,QAAS,IACJH,EAAMG,QAAQE,KAAIC,GACfA,EAAMC,KAAON,EAAOG,QAAQG,GACvBN,EAAOG,QAETE,MAIf,IAAK,SACH,MAAO,IACFN,EACHG,QAAS,IAAIH,EAAMG,QAAQK,QAAOF,GAASA,EAAMC,KAAON,EAAOG,QAAQG,OAE3E,IAAK,QACH,MAAO,IAAKP,EAAOG,QAAS,IAC/B,EAGUM,EAGT,EAEAC,kBACAC,eACAC,eACAC,cACAC,eACAC,iBACAC,oBACGC,GAELC,KAEA,MAAOlB,EAAOmB,GAAYC,EAAUA,WAACrB,EAAgB,CAAEI,QAASQ,GAAgB,MAC1EU,mBAAEA,EAAqB,sBAAwBT,eAAAA,EAAcU,UAAW,CAAA,EAC9E,OACEC,EAAAC,cAAA,MAAA,IAASP,EAAMC,IAAKA,EAAKO,UAAWC,EAAOC,QAAU,SAClD3B,EAAMG,QAAQE,KAAIG,GACjBe,EAACC,cAAAI,EAAAA,gBACCC,KAAK,OACLC,IAAKtB,EAAOD,GACZC,OAAQA,EACRE,gBAAiBA,EACjBS,SAAUA,EACVL,aAAcA,EACdC,eAAgBA,EAChBgB,gBAAiBnB,aAAY,EAAZA,EAAcoB,IAC/BC,oBAAqBrB,aAAY,EAAZA,EAAcsB,YAGvCX,EAAAC,cAAA,MAAA,CAAKC,UAAWC,EAAAA,QAAQ,oBACtBH,EAAAC,cAACI,EAAAA,eACC,CAAAC,KAAK,MACLnB,gBAAiBA,EACjBS,SAAUA,EACVN,YAAaA,EACbkB,gBAAiBnB,aAAA,EAAAA,EAAcoB,IAC/BC,oBAAqBrB,eAAAA,EAAcsB,UAEpClC,EAAMG,QAAQgC,QAAU,GACvBZ,EAAAC,cAAA,SAAA,CACEtB,KAAK,SACLuB,UAAWC,EAAAA,QAAQ,gBACnBU,QAAS,KACPjB,EAAS,CAAEjB,KAAM,UACjBc,GAAkBA,GAAgB,GAGpCO,EAACC,cAAAa,EAAAA,YAAWC,QAAQ,OAAOb,UAAWC,EAAOC,QAAU,SACpDN,KAMX,EAGSkB,EAAkBhB,EAAMiB,WAAW/B"}
1
+ {"version":3,"file":"DataGridToolbar.cjs.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, 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 {\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 DataGridToolbar = ({\n columnsMetadata,\n filterValues,\n translations,\n onFilterAdd,\n onFilterEdit,\n onFilterDelete,\n onFiltersClear\n}: DataGridToolbarProps) => {\n const [state, dispatch] = useReducer(filtersReducer, { filters: 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 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 </Fragment>\n );\n};\n"],"names":["filtersReducer","state","action","type","filters","payload","map","value","id","filter","columnsMetadata","filterValues","translations","onFilterAdd","onFilterEdit","onFilterDelete","onFiltersClear","dispatch","useReducer","clearButtonCaption","toolbar","React","Fragment","createElement","DataGridFilter","mode","key","tagTranslations","tag","popoverTranslations","popover","className","classes","length","onClick","Typography","variant","default"],"mappings":"2KAsCA,MAAMA,EAAiB,CAACC,EAAqBC,KAC3C,OAAQA,EAAOC,MACb,IAAK,MACH,MAAO,IAAKF,EAAOG,QAAS,IAAIH,EAAMG,QAAS,IAAKF,EAAOG,WAC7D,IAAK,OACH,MAAO,IACFJ,EACHG,QAAS,IACJH,EAAMG,QAAQE,KAAIC,GACfA,EAAMC,KAAON,EAAOG,QAAQG,GACvBN,EAAOG,QAETE,MAIf,IAAK,SACH,MAAO,IACFN,EACHG,QAAS,IAAIH,EAAMG,QAAQK,QAAOF,GAASA,EAAMC,KAAON,EAAOG,QAAQG,OAE3E,IAAK,QACH,MAAO,IAAKP,EAAOG,QAAS,IAC/B,0BAG4B,EAC7BM,kBACAC,eACAC,eACAC,cACAC,eACAC,iBACAC,qBAEA,MAAOf,EAAOgB,GAAYC,EAAUA,WAAClB,EAAgB,CAAEI,QAASO,GAAgB,MAC1EQ,mBAAEA,EAAqB,sBAAwBP,eAAAA,EAAcQ,UAAW,CAAA,EAC9E,OACEC,gBAACC,EAAAA,SAAQ,KACNrB,EAAMG,QAAQE,KAAIG,GACjBY,EAACE,cAAAC,EAAAA,gBACCC,KAAK,OACLC,IAAKjB,EAAOD,GACZC,OAAQA,EACRC,gBAAiBA,EACjBO,SAAUA,EACVH,aAAcA,EACdC,eAAgBA,EAChBY,gBAAiBf,aAAY,EAAZA,EAAcgB,IAC/BC,oBAAqBjB,aAAY,EAAZA,EAAckB,YAGvCT,EAAAE,cAAA,MAAA,CAAKQ,UAAWC,EAAAA,QAAQ,oBACtBX,EAAAE,cAACC,EAAAA,eACC,CAAAC,KAAK,MACLf,gBAAiBA,EACjBO,SAAUA,EACVJ,YAAaA,EACbc,gBAAiBf,aAAA,EAAAA,EAAcgB,IAC/BC,oBAAqBjB,eAAAA,EAAckB,UAEpC7B,EAAMG,QAAQ6B,QAAU,GACvBZ,EAAAE,cAAA,SAAA,CACEpB,KAAK,SACL4B,UAAWC,EAAAA,QAAQ,gBACnBE,QAAS,KACPjB,EAAS,CAAEd,KAAM,UACjBa,GAAkBA,GAAgB,GAGpCK,EAACE,cAAAY,EAAAA,YAAWC,QAAQ,OAAOL,UAAWC,EAAOK,QAAU,SACpDlB,KAMX"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});require("../../node_modules/style-inject/dist/style-inject.es.cjs.js").default('/*!\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= */'),exports.default={"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"};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});require("../../node_modules/style-inject/dist/style-inject.es.cjs.js").default('/*!\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:center;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-start;padding-bottom:1rem;width:100%}.DataGridToolbar-module_wrapper__wEHlo .DataGridToolbar-module_searchbar__PnKiv{flex-basis:15rem;min-width:7rem}.DataGridToolbar-module_wrapper__wEHlo .DataGridToolbar-module_actions-wrapper__oEYeN{align-items:center;display:flex;gap:.5rem;justify-content:flex-start}.DataGridToolbar-module_wrapper__wEHlo .DataGridToolbar-module_clear-button__4Zdc7{background:none;border:none;cursor:pointer}.DataGridToolbar-module_wrapper__wEHlo .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_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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkRhdGFHcmlkVG9vbGJhci5tb2R1bGUuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFlQTs7Ozs7Ozs7Ozs7Ozs7RUFjRTtBQUNGOzs7Ozs7Ozs7Ozs7OztFQWNFLENBQ0YsdUNBT0Usa0JBQXNCLENBQ3RCLFFBQVMsQ0FMVCxVQUFXLENBRVgsV0FBWSxDQUNaLGVBQWdCLENBRmhCLFNBQVUsQ0FIVixpQkFBa0IsQ0FDbEIsU0FPRixDQUVBLHNDQUNFLFlBQ0YsQ0FFQSx3Q0FDRSw2REFDRixDQUNBLHVDQUNFLHdDQUNFLHVCQUNGLENBQ0YsQ0FFQSx5Q0FDRSw4REFDRixDQUNBLHVDQUNFLHlDQUNFLHVCQUNGLENBQ0YsQ0FFQSxrREFDRSxHQUNFLDJCQUNGLENBQ0EsR0FDRSx1QkFDRixDQUNGLENBQ0EsbURBQ0UsR0FDRSx1QkFDRixDQUNBLEdBQ0UsMkJBQ0YsQ0FDRixDQUNBLHVDQUVFLGtCQUFtQixDQURuQixZQUFhLENBR2IsY0FBZSxDQUNmLFNBQVcsQ0FGWCwwQkFBMkIsQ0FJM0IsbUJBQW9CLENBRHBCLFVBRUYsQ0FDQSxnRkFFRSxnQkFBaUIsQ0FEakIsY0FFRixDQUNBLHNGQUVFLGtCQUFtQixDQURuQixZQUFhLENBR2IsU0FBVyxDQURYLDBCQUVGLENBQ0EsbUZBQ0UsZUFBZ0IsQ0FDaEIsV0FBWSxDQUNaLGNBQ0YsQ0FDQSxpR0FHRSx3Q0FBeUMsQ0FGekMsd0NBQTBDLENBQzFDLGdCQUVGLENBQ0EsMEhBS0UsNkJBQThCLENBSDlCLG9DQUFxQyxDQUNyQyx3Q0FBeUMsQ0FGekMsUUFBUyxDQUdULHlCQUVGIiwiZmlsZSI6IkRhdGFHcmlkVG9vbGJhci5tb2R1bGUuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAyMiBPbmVXZWxjb21lIEIuVi5cbiAqXG4gKiAgICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogICAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogICAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqICAgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqICAgIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqICAgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogICAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogICAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8qIVxuICogQ29weXJpZ2h0IDIwMjIgT25lV2VsY29tZSBCLlYuXG4gKlxuICogICAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqICAgIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqICAgIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiAgICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiAgICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiAgICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqICAgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqICAgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG4vKiFcbiAqIENvcHlyaWdodCAyMDIyIE9uZVdlbGNvbWUgQi5WLlxuICpcbiAqICAgIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiAgICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiAgICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogICAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogICAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogICAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiAgICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiAgICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLnNyLW9ubHkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIGJvcmRlcjogMDtcbn1cblxuLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5zbGlkZS1pbiB7XG4gIGFuaW1hdGlvbjogc2xpZGUtaW4gMC41cyBmb3J3YXJkcztcbn1cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5zbGlkZS1pbiB7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjFtcztcbiAgfVxufVxuXG4uc2xpZGUtb3V0IHtcbiAgYW5pbWF0aW9uOiBzbGlkZS1vdXQgMC41cyBmb3J3YXJkcztcbn1cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5zbGlkZS1vdXQge1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC4xbXM7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZS1pbiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwdmgpO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgc2xpZGUtb3V0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMHZoKTtcbiAgfVxufVxuLndyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZ2FwOiAwLjVyZW07XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbn1cbi53cmFwcGVyIC5zZWFyY2hiYXIge1xuICBtaW4td2lkdGg6IDdyZW07XG4gIGZsZXgtYmFzaXM6IDE1cmVtO1xufVxuLndyYXBwZXIgLmFjdGlvbnMtd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgZ2FwOiAwLjVyZW07XG59XG4ud3JhcHBlciAuY2xlYXItYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4ud3JhcHBlciAuY2xlYXItYnV0dG9uOmZvY3VzLXZpc2libGUge1xuICBvdXRsaW5lOiAwLjEyNXJlbSBzb2xpZCB2YXIoLS1jb2xvci1mb2N1cyk7XG4gIG91dGxpbmUtb2Zmc2V0OiAwO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1mb2N1cy1ib3JkZXItcmFkaXVzKTtcbn1cbi53cmFwcGVyIC5jbGVhci1idXR0b24gLmNhcHRpb24ge1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWRhdGEtZ3JpZCk7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1kYXRhLWdyaWQtbGluZS1oZWlnaHQpO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnk1MDApO1xufSJdfQ== */'),exports.default={"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",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"};
2
2
  //# sourceMappingURL=DataGridToolbar.module.scss.cjs.js.map
@@ -0,0 +1,2 @@
1
+ "use strict";var r=require("react"),e=require("./DataGridToolbar.module.scss.cjs.js");const a=({children:a,...o},t)=>r.createElement("div",{ref:t,className:e.default.wrapper,...o},a),o=r.forwardRef(a);exports.DataGridToolbarWrapper=o,exports.DataGridToolbarWrapperComponent=a;
2
+ //# sourceMappingURL=DataGridToolbarWrapper.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataGridToolbarWrapper.cjs.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 } from \"react\";\nimport classes from \"./DataGridToolbar.module.scss\";\n\ntype Props = ComponentPropsWithRef<\"div\">;\n\nexport const DataGridToolbarWrapperComponent: ForwardRefRenderFunction<HTMLDivElement, Props> = (\n { children, ...rest },\n ref\n) => {\n return (\n <div ref={ref} className={classes[\"wrapper\"]} {...rest}>\n {children}\n </div>\n );\n};\n\nexport const DataGridToolbarWrapper = React.forwardRef(DataGridToolbarWrapperComponent);\n"],"names":["DataGridToolbarWrapperComponent","children","rest","ref","React","createElement","className","classes","DataGridToolbarWrapper","forwardRef"],"mappings":"sFAqBO,MAAMA,EAAmF,EAC5FC,cAAaC,GACfC,IAGEC,EAAKC,cAAA,MAAA,CAAAF,IAAKA,EAAKG,UAAWC,EAAAA,QAAiB,WAAOL,GAC/CD,GAKMO,EAAyBJ,EAAMK,WAAWT"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});require("../../node_modules/style-inject/dist/style-inject.es.cjs.js").default('/*!\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 */.FileUpload-module_sr-only__Awag4{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.FileUpload-module_hidden__JayBD{display:none}.FileUpload-module_slide-in__w7j8k{animation:FileUpload-module_slide-in__w7j8k .5s forwards}@media (prefers-reduced-motion:reduce){.FileUpload-module_slide-in__w7j8k{animation-duration:.1ms}}.FileUpload-module_slide-out__tZ-rV{animation:FileUpload-module_slide-out__tZ-rV .5s forwards}@media (prefers-reduced-motion:reduce){.FileUpload-module_slide-out__tZ-rV{animation-duration:.1ms}}@keyframes FileUpload-module_slide-in__w7j8k{0%{transform:translateY(100vh)}to{transform:translateY(0)}}@keyframes FileUpload-module_slide-out__tZ-rV{0%{transform:translateY(0)}to{transform:translateY(100vh)}}.FileUpload-module_file-upload-wrapper__CIx-a{display:flex;flex-direction:column}.FileUpload-module_file-dropzone__O-VP-{background-color:var(--input-background-color);border-radius:var(--input-border-radius);padding:.25rem 1.25rem;position:relative;transition-duration:.2s;transition-property:all;transition-timing-function:ease-in-out}.FileUpload-module_file-dropzone__O-VP- .FileUpload-module_file-upload-title__CEPD-{font-size:.875rem;font-weight:400;margin:0 0 .25rem}@media (prefers-reduced-motion:reduce){.FileUpload-module_file-dropzone__O-VP-{transition-duration:.1ms}}.FileUpload-module_file-dropzone__O-VP-.FileUpload-module_error__q2B-7 .FileUpload-module_file-upload-title__CEPD-,.FileUpload-module_file-dropzone__O-VP-.FileUpload-module_error__q2B-7 span[data-icon-status]{color:var(--error)}.FileUpload-module_file-dropzone__O-VP-.FileUpload-module_error__q2B-7 .FileUpload-module_file-select__sW1Pn{border-color:var(--error)}.FileUpload-module_file-dropzone__O-VP-.FileUpload-module_success__GqO-7 span[data-icon-status]{color:var(--success)}.FileUpload-module_file-dropzone__O-VP- .FileUpload-module_upload-button-wrapper__vVTvg.FileUpload-module_disabled__hvZQb{pointer-events:none}.FileUpload-module_file-dropzone__O-VP- .FileUpload-module_upload-button-wrapper__vVTvg.FileUpload-module_disabled__hvZQb p{color:var(--color-blue-grey400)}.FileUpload-module_file-dropzone__O-VP- span[data-icon-status]{font-size:1.25rem;position:absolute;right:2rem;top:auto}.FileUpload-module_file-dropzone__O-VP- .FileUpload-module_file-upload-title-mandatory__xEZ-6{color:var(--color-red500)}.FileUpload-module_upload-button-wrapper__vVTvg{background:var(--color-blue-grey25);padding:4px}.FileUpload-module_upload-button-wrapper__vVTvg.FileUpload-module_drag-active__MRJJR .FileUpload-module_outline__QfJ8U{background-color:var(--color-primary-light);border:var(--file-upload-border-width) var(--drag-drop-border-style) var(--color-blue-grey500);border-radius:var(--input-border-radius);inset:0;margin:0;padding:0;pointer-events:none;position:absolute;transition-duration:.2s;transition-property:all;transition-timing-function:ease-in-out}@media (prefers-reduced-motion:reduce){.FileUpload-module_upload-button-wrapper__vVTvg.FileUpload-module_drag-active__MRJJR .FileUpload-module_outline__QfJ8U{transition-duration:.1ms}}.FileUpload-module_upload-button-wrapper__vVTvg.FileUpload-module_drag-active__MRJJR .FileUpload-module_outline__QfJ8U:before{color:var(--color-primary);content:"Drop here";display:block;padding-top:2rem;text-align:center}.FileUpload-module_upload-button-wrapper__vVTvg.FileUpload-module_drag-active__MRJJR:hover .FileUpload-module_outline__QfJ8U{background-color:var(--color-primary-light)}.FileUpload-module_upload-button-wrapper__vVTvg.FileUpload-module_drag-active__MRJJR .FileUpload-module_file-select__sW1Pn{position:relative}.FileUpload-module_upload-button-wrapper__vVTvg.FileUpload-module_drag-active__MRJJR .FileUpload-module_error__q2B-7 .FileUpload-module_outline__QfJ8U{border-color:var(--error)}.FileUpload-module_file-selector-sub-text__nCXMq{color:var(--greyed-out);padding:0 1.25rem}.FileUpload-module_file-selector-sub-text__nCXMq.FileUpload-module_error__q2B-7{color:var(--error);display:block}.FileUpload-module_file-select__sW1Pn{align-items:center;border:var(--file-upload-border-width) var(--drag-drop-border-style) var(--color-blue-grey100);display:flex;flex-direction:row;justify-content:center;padding:1.25rem}.FileUpload-module_file-select__sW1Pn [class*=file]{font-size:1.25rem;margin-left:.5rem}.FileUpload-module_file-select__sW1Pn [class*=typography]{margin-bottom:0}.FileUpload-module_upload-input__wteSl{border:none;bottom:0;cursor:pointer;display:block;left:0;opacity:0;position:absolute;right:0;text-transform:none;top:0;width:100%}.FileUpload-module_upload-input__wteSl:focus{outline:none}.FileUpload-module_file-upload-btn__M2Fg-{position:relative}.FileUpload-module_file-list__GLggq{list-style:none;margin:.25rem 0;padding:0}.FileUpload-module_file-list__GLggq li:not(:last-child){margin-bottom:.5rem}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkZpbGVVcGxvYWQubW9kdWxlLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0VBY0U7QUFDRjs7Ozs7Ozs7Ozs7Ozs7RUFjRSxDQUNGLGtDQU9FLGtCQUFzQixDQUN0QixRQUFTLENBTFQsVUFBVyxDQUVYLFdBQVksQ0FDWixlQUFnQixDQUZoQixTQUFVLENBSFYsaUJBQWtCLENBQ2xCLFNBT0YsQ0FFQSxpQ0FDRSxZQUNGLENBRUEsbUNBQ0Usd0RBQ0YsQ0FFQSx1Q0FDRSxtQ0FDRSx1QkFDRixDQUNGLENBQ0Esb0NBQ0UseURBQ0YsQ0FFQSx1Q0FDRSxvQ0FDRSx1QkFDRixDQUNGLENBQ0EsNkNBQ0UsR0FDRSwyQkFDRixDQUNBLEdBQ0UsdUJBQ0YsQ0FDRixDQUNBLDhDQUNFLEdBQ0UsdUJBQ0YsQ0FDQSxHQUNFLDJCQUNGLENBQ0YsQ0FDQSw4Q0FDRSxZQUFhLENBQ2IscUJBQ0YsQ0FFQSx3Q0FFRSw4Q0FBK0MsQ0FEL0Msd0NBQXlDLENBRXpDLHNCQUF3QixDQUN4QixpQkFBa0IsQ0FFbEIsdUJBQXlCLENBRHpCLHVCQUF3QixDQUV4QixzQ0FDRixDQUNBLG9GQUVFLGlCQUFtQixDQUNuQixlQUFnQixDQUZoQixpQkFHRixDQUNBLHVDQUNFLHdDQUNFLHdCQUNGLENBQ0YsQ0FDQSxpTkFFRSxrQkFDRixDQUNBLDZHQUNFLHlCQUNGLENBQ0EsZ0dBQ0Usb0JBQ0YsQ0FDQSwwSEFDRSxtQkFDRixDQUNBLDRIQUNFLCtCQUNGLENBQ0EsK0RBQ0UsaUJBQWtCLENBQ2xCLGlCQUFrQixDQUVsQixVQUFXLENBRFgsUUFFRixDQUNBLDhGQUNFLHlCQUNGLENBRUEsZ0RBQ0UsbUNBQW9DLENBQ3BDLFdBQ0YsQ0FDQSx1SEFRRSwyQ0FBNEMsQ0FGNUMsOEZBQStGLENBQy9GLHdDQUF5QyxDQUZ6QyxPQUFRLENBRlIsUUFBUyxDQUNULFNBQVUsQ0FIVixtQkFBb0IsQ0FDcEIsaUJBQWtCLENBUWxCLHVCQUF5QixDQUR6Qix1QkFBd0IsQ0FFeEIsc0NBQ0YsQ0FDQSx1Q0FDRSx1SEFDRSx3QkFDRixDQUNGLENBQ0EsOEhBSUUsMEJBQTJCLENBSDNCLG1CQUFvQixDQUVwQixhQUFjLENBRWQsZ0JBQWlCLENBSGpCLGlCQUlGLENBQ0EsNkhBQ0UsMkNBQ0YsQ0FDQSwySEFDRSxpQkFDRixDQUNBLHVKQUNFLHlCQUNGLENBRUEsaURBQ0UsdUJBQXdCLENBQ3hCLGlCQUNGLENBQ0EsZ0ZBQ0Usa0JBQW1CLENBQ25CLGFBQ0YsQ0FFQSxzQ0FFRSxrQkFBbUIsQ0FHbkIsOEZBQStGLENBSi9GLFlBQWEsQ0FFYixrQkFBbUIsQ0FDbkIsc0JBQXVCLENBRXZCLGVBQ0YsQ0FDQSxvREFDRSxpQkFBa0IsQ0FDbEIsaUJBQ0YsQ0FDQSwwREFDRSxlQUNGLENBRUEsdUNBR0UsV0FBWSxDQU1aLFFBQVMsQ0FFVCxjQUFlLENBVmYsYUFBYyxDQU1kLE1BQU8sQ0FHUCxTQUFVLENBTFYsaUJBQWtCLENBR2xCLE9BQVEsQ0FKUixtQkFBb0IsQ0FFcEIsS0FBTSxDQUpOLFVBVUYsQ0FDQSw2Q0FDRSxZQUNGLENBRUEsMENBQ0UsaUJBQ0YsQ0FFQSxvQ0FDRSxlQUFnQixDQUVoQixlQUFpQixDQURqQixTQUVGLENBQ0Esd0RBQ0UsbUJBQ0YiLCJmaWxlIjoiRmlsZVVwbG9hZC5tb2R1bGUuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQ29weXJpZ2h0IDIwMjIgT25lV2VsY29tZSBCLlYuXG4gKlxuICogICAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqICAgIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqICAgIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiAgICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiAgICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiAgICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqICAgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqICAgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG4vKiFcbiAqIENvcHlyaWdodCAyMDIyIE9uZVdlbGNvbWUgQi5WLlxuICpcbiAqICAgIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiAgICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiAgICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogICAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogICAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogICAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiAgICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiAgICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLnNyLW9ubHkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIGJvcmRlcjogMDtcbn1cblxuLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5zbGlkZS1pbiB7XG4gIGFuaW1hdGlvbjogc2xpZGUtaW4gMC41cyBmb3J3YXJkcztcbn1cblxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLnNsaWRlLWluIHtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDAuMW1zO1xuICB9XG59XG4uc2xpZGUtb3V0IHtcbiAgYW5pbWF0aW9uOiBzbGlkZS1vdXQgMC41cyBmb3J3YXJkcztcbn1cblxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLnNsaWRlLW91dCB7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjFtcztcbiAgfVxufVxuQGtleWZyYW1lcyBzbGlkZS1pbiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwdmgpO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgc2xpZGUtb3V0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMHZoKTtcbiAgfVxufVxuLmZpbGUtdXBsb2FkLXdyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4uZmlsZS1kcm9wem9uZSB7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWlucHV0LWJvcmRlci1yYWRpdXMpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnB1dC1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgcGFkZGluZzogMC4yNXJlbSAxLjI1cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGFsbDtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4ycztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xufVxuLmZpbGUtZHJvcHpvbmUgLmZpbGUtdXBsb2FkLXRpdGxlIHtcbiAgbWFyZ2luOiAwIDAgMC4yNXJlbSAwO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLmZpbGUtZHJvcHpvbmUge1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMW1zO1xuICB9XG59XG4uZmlsZS1kcm9wem9uZS5lcnJvciBzcGFuW2RhdGEtaWNvbi1zdGF0dXNdLFxuLmZpbGUtZHJvcHpvbmUuZXJyb3IgLmZpbGUtdXBsb2FkLXRpdGxlIHtcbiAgY29sb3I6IHZhcigtLWVycm9yKTtcbn1cbi5maWxlLWRyb3B6b25lLmVycm9yIC5maWxlLXNlbGVjdCB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tZXJyb3IpO1xufVxuLmZpbGUtZHJvcHpvbmUuc3VjY2VzcyBzcGFuW2RhdGEtaWNvbi1zdGF0dXNdIHtcbiAgY29sb3I6IHZhcigtLXN1Y2Nlc3MpO1xufVxuLmZpbGUtZHJvcHpvbmUgLnVwbG9hZC1idXR0b24td3JhcHBlci5kaXNhYmxlZCB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLmZpbGUtZHJvcHpvbmUgLnVwbG9hZC1idXR0b24td3JhcHBlci5kaXNhYmxlZCBwIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWJsdWUtZ3JleTQwMCk7XG59XG4uZmlsZS1kcm9wem9uZSBzcGFuW2RhdGEtaWNvbi1zdGF0dXNdIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogYXV0bztcbiAgcmlnaHQ6IDJyZW07XG59XG4uZmlsZS1kcm9wem9uZSAuZmlsZS11cGxvYWQtdGl0bGUtbWFuZGF0b3J5IHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXJlZDUwMCk7XG59XG5cbi51cGxvYWQtYnV0dG9uLXdyYXBwZXIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ibHVlLWdyZXkyNSk7XG4gIHBhZGRpbmc6IDRweDtcbn1cbi51cGxvYWQtYnV0dG9uLXdyYXBwZXIuZHJhZy1hY3RpdmUgLm91dGxpbmUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGluc2V0OiAwO1xuICBib3JkZXI6IHZhcigtLWZpbGUtdXBsb2FkLWJvcmRlci13aWR0aCkgdmFyKC0tZHJhZy1kcm9wLWJvcmRlci1zdHlsZSkgdmFyKC0tY29sb3ItYmx1ZS1ncmV5NTAwKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0taW5wdXQtYm9yZGVyLXJhZGl1cyk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktbGlnaHQpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBhbGw7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMnM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbn1cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC51cGxvYWQtYnV0dG9uLXdyYXBwZXIuZHJhZy1hY3RpdmUgLm91dGxpbmUge1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMW1zO1xuICB9XG59XG4udXBsb2FkLWJ1dHRvbi13cmFwcGVyLmRyYWctYWN0aXZlIC5vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIkRyb3AgaGVyZVwiO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gIHBhZGRpbmctdG9wOiAycmVtO1xufVxuLnVwbG9hZC1idXR0b24td3JhcHBlci5kcmFnLWFjdGl2ZTpob3ZlciAub3V0bGluZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktbGlnaHQpO1xufVxuLnVwbG9hZC1idXR0b24td3JhcHBlci5kcmFnLWFjdGl2ZSAuZmlsZS1zZWxlY3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4udXBsb2FkLWJ1dHRvbi13cmFwcGVyLmRyYWctYWN0aXZlIC5lcnJvciAub3V0bGluZSB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tZXJyb3IpO1xufVxuXG4uZmlsZS1zZWxlY3Rvci1zdWItdGV4dCB7XG4gIGNvbG9yOiB2YXIoLS1ncmV5ZWQtb3V0KTtcbiAgcGFkZGluZzogMCAxLjI1cmVtO1xufVxuLmZpbGUtc2VsZWN0b3Itc3ViLXRleHQuZXJyb3Ige1xuICBjb2xvcjogdmFyKC0tZXJyb3IpO1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmZpbGUtc2VsZWN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGJvcmRlcjogdmFyKC0tZmlsZS11cGxvYWQtYm9yZGVyLXdpZHRoKSB2YXIoLS1kcmFnLWRyb3AtYm9yZGVyLXN0eWxlKSB2YXIoLS1jb2xvci1ibHVlLWdyZXkxMDApO1xuICBwYWRkaW5nOiAxLjI1cmVtO1xufVxuLmZpbGUtc2VsZWN0IFtjbGFzcyo9ZmlsZV0ge1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG59XG4uZmlsZS1zZWxlY3QgW2NsYXNzKj10eXBvZ3JhcGh5XSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi51cGxvYWQtaW5wdXQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlcjogbm9uZTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBvcGFjaXR5OiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4udXBsb2FkLWlucHV0OmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuLmZpbGUtdXBsb2FkLWJ0biB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmZpbGUtbGlzdCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMC4yNXJlbSAwO1xufVxuLmZpbGUtbGlzdCBsaTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xufSJdfQ== */'),exports.default={"sr-only":"FileUpload-module_sr-only__Awag4",hidden:"FileUpload-module_hidden__JayBD","slide-in":"FileUpload-module_slide-in__w7j8k","slide-out":"FileUpload-module_slide-out__tZ-rV","file-upload-wrapper":"FileUpload-module_file-upload-wrapper__CIx-a","file-dropzone":"FileUpload-module_file-dropzone__O-VP-","file-upload-title":"FileUpload-module_file-upload-title__CEPD-",error:"FileUpload-module_error__q2B-7","file-select":"FileUpload-module_file-select__sW1Pn",success:"FileUpload-module_success__GqO-7","upload-button-wrapper":"FileUpload-module_upload-button-wrapper__vVTvg",disabled:"FileUpload-module_disabled__hvZQb","file-upload-title-mandatory":"FileUpload-module_file-upload-title-mandatory__xEZ-6","drag-active":"FileUpload-module_drag-active__MRJJR",outline:"FileUpload-module_outline__QfJ8U","file-selector-sub-text":"FileUpload-module_file-selector-sub-text__nCXMq","upload-input":"FileUpload-module_upload-input__wteSl","file-upload-btn":"FileUpload-module_file-upload-btn__M2Fg-","file-list":"FileUpload-module_file-list__GLggq"};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});require("../../node_modules/style-inject/dist/style-inject.es.cjs.js").default('/*!\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 */.FileUpload-module_sr-only__Awag4{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.FileUpload-module_hidden__JayBD{display:none}.FileUpload-module_slide-in__w7j8k{animation:FileUpload-module_slide-in__w7j8k .5s forwards}@media (prefers-reduced-motion:reduce){.FileUpload-module_slide-in__w7j8k{animation-duration:.1ms}}.FileUpload-module_slide-out__tZ-rV{animation:FileUpload-module_slide-out__tZ-rV .5s forwards}@media (prefers-reduced-motion:reduce){.FileUpload-module_slide-out__tZ-rV{animation-duration:.1ms}}@keyframes FileUpload-module_slide-in__w7j8k{0%{transform:translateY(100vh)}to{transform:translateY(0)}}@keyframes FileUpload-module_slide-out__tZ-rV{0%{transform:translateY(0)}to{transform:translateY(100vh)}}.FileUpload-module_file-upload-wrapper__CIx-a{display:flex;flex-direction:column}.FileUpload-module_file-dropzone__O-VP-{background-color:var(--input-background-color);border-radius:var(--input-border-radius);position:relative;transition-duration:.2s;transition-property:all;transition-timing-function:ease-in-out}.FileUpload-module_file-dropzone__O-VP- .FileUpload-module_file-upload-title__CEPD-{font-size:.875rem;font-weight:400;margin:0 0 .25rem}@media (prefers-reduced-motion:reduce){.FileUpload-module_file-dropzone__O-VP-{transition-duration:.1ms}}.FileUpload-module_file-dropzone__O-VP-.FileUpload-module_error__q2B-7 .FileUpload-module_file-upload-title__CEPD-,.FileUpload-module_file-dropzone__O-VP-.FileUpload-module_error__q2B-7 span[data-icon-status]{color:var(--error)}.FileUpload-module_file-dropzone__O-VP-.FileUpload-module_error__q2B-7 .FileUpload-module_file-select__sW1Pn{border-color:var(--error)}.FileUpload-module_file-dropzone__O-VP-.FileUpload-module_success__GqO-7 span[data-icon-status]{color:var(--success)}.FileUpload-module_file-dropzone__O-VP- .FileUpload-module_upload-button-wrapper__vVTvg.FileUpload-module_disabled__hvZQb{pointer-events:none}.FileUpload-module_file-dropzone__O-VP- .FileUpload-module_upload-button-wrapper__vVTvg.FileUpload-module_disabled__hvZQb p{color:var(--color-blue-grey400)}.FileUpload-module_file-dropzone__O-VP- span[data-icon-status]{font-size:1.25rem;position:absolute;right:2rem;top:auto}.FileUpload-module_file-dropzone__O-VP- .FileUpload-module_file-upload-title-mandatory__xEZ-6{color:var(--color-red500)}.FileUpload-module_upload-button-wrapper__vVTvg{background:var(--color-blue-grey25);padding:4px}.FileUpload-module_upload-button-wrapper__vVTvg.FileUpload-module_drag-active__MRJJR .FileUpload-module_outline__QfJ8U{background-color:var(--color-primary-light);border:var(--file-upload-border-width) var(--drag-drop-border-style) var(--color-blue-grey500);border-radius:var(--input-border-radius);inset:0;margin:0;padding:0;pointer-events:none;position:absolute;transition-duration:.2s;transition-property:all;transition-timing-function:ease-in-out}@media (prefers-reduced-motion:reduce){.FileUpload-module_upload-button-wrapper__vVTvg.FileUpload-module_drag-active__MRJJR .FileUpload-module_outline__QfJ8U{transition-duration:.1ms}}.FileUpload-module_upload-button-wrapper__vVTvg.FileUpload-module_drag-active__MRJJR .FileUpload-module_outline__QfJ8U:before{color:var(--color-primary);content:"Drop here";display:block;padding-top:2rem;text-align:center}.FileUpload-module_upload-button-wrapper__vVTvg.FileUpload-module_drag-active__MRJJR:hover .FileUpload-module_outline__QfJ8U{background-color:var(--color-primary-light)}.FileUpload-module_upload-button-wrapper__vVTvg.FileUpload-module_drag-active__MRJJR .FileUpload-module_file-select__sW1Pn{position:relative}.FileUpload-module_upload-button-wrapper__vVTvg.FileUpload-module_drag-active__MRJJR .FileUpload-module_error__q2B-7 .FileUpload-module_outline__QfJ8U{border-color:var(--error)}.FileUpload-module_file-selector-sub-text__nCXMq{color:var(--greyed-out)}.FileUpload-module_file-selector-sub-text__nCXMq.FileUpload-module_error__q2B-7{color:var(--error);display:block}.FileUpload-module_file-select__sW1Pn{align-items:center;border:var(--file-upload-border-width) var(--drag-drop-border-style) var(--color-blue-grey100);display:flex;flex-direction:row;justify-content:center;padding:1.25rem}.FileUpload-module_file-select__sW1Pn [class*=file]{font-size:1.25rem;margin-left:.5rem}.FileUpload-module_file-select__sW1Pn [class*=typography]{margin-bottom:0}.FileUpload-module_upload-input__wteSl{border:none;bottom:0;cursor:pointer;display:block;left:0;opacity:0;position:absolute;right:0;text-transform:none;top:0;width:100%}.FileUpload-module_upload-input__wteSl:focus{outline:none}.FileUpload-module_file-upload-btn__M2Fg-{position:relative}.FileUpload-module_file-list__GLggq{list-style:none;margin:.25rem 0;padding:0}.FileUpload-module_file-list__GLggq li:not(:last-child){margin-bottom:.5rem}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkZpbGVVcGxvYWQubW9kdWxlLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0VBY0U7QUFDRjs7Ozs7Ozs7Ozs7Ozs7RUFjRSxDQUNGLGtDQU9FLGtCQUFzQixDQUN0QixRQUFTLENBTFQsVUFBVyxDQUVYLFdBQVksQ0FDWixlQUFnQixDQUZoQixTQUFVLENBSFYsaUJBQWtCLENBQ2xCLFNBT0YsQ0FFQSxpQ0FDRSxZQUNGLENBRUEsbUNBQ0Usd0RBQ0YsQ0FFQSx1Q0FDRSxtQ0FDRSx1QkFDRixDQUNGLENBQ0Esb0NBQ0UseURBQ0YsQ0FFQSx1Q0FDRSxvQ0FDRSx1QkFDRixDQUNGLENBQ0EsNkNBQ0UsR0FDRSwyQkFDRixDQUNBLEdBQ0UsdUJBQ0YsQ0FDRixDQUNBLDhDQUNFLEdBQ0UsdUJBQ0YsQ0FDQSxHQUNFLDJCQUNGLENBQ0YsQ0FDQSw4Q0FDRSxZQUFhLENBQ2IscUJBQ0YsQ0FFQSx3Q0FFRSw4Q0FBK0MsQ0FEL0Msd0NBQXlDLENBRXpDLGlCQUFrQixDQUVsQix1QkFBeUIsQ0FEekIsdUJBQXdCLENBRXhCLHNDQUNGLENBQ0Esb0ZBRUUsaUJBQW1CLENBQ25CLGVBQWdCLENBRmhCLGlCQUdGLENBQ0EsdUNBQ0Usd0NBQ0Usd0JBQ0YsQ0FDRixDQUNBLGlOQUVFLGtCQUNGLENBQ0EsNkdBQ0UseUJBQ0YsQ0FDQSxnR0FDRSxvQkFDRixDQUNBLDBIQUNFLG1CQUNGLENBQ0EsNEhBQ0UsK0JBQ0YsQ0FDQSwrREFDRSxpQkFBa0IsQ0FDbEIsaUJBQWtCLENBRWxCLFVBQVcsQ0FEWCxRQUVGLENBQ0EsOEZBQ0UseUJBQ0YsQ0FFQSxnREFDRSxtQ0FBb0MsQ0FDcEMsV0FDRixDQUNBLHVIQVFFLDJDQUE0QyxDQUY1Qyw4RkFBK0YsQ0FDL0Ysd0NBQXlDLENBRnpDLE9BQVEsQ0FGUixRQUFTLENBQ1QsU0FBVSxDQUhWLG1CQUFvQixDQUNwQixpQkFBa0IsQ0FRbEIsdUJBQXlCLENBRHpCLHVCQUF3QixDQUV4QixzQ0FDRixDQUNBLHVDQUNFLHVIQUNFLHdCQUNGLENBQ0YsQ0FDQSw4SEFJRSwwQkFBMkIsQ0FIM0IsbUJBQW9CLENBRXBCLGFBQWMsQ0FFZCxnQkFBaUIsQ0FIakIsaUJBSUYsQ0FDQSw2SEFDRSwyQ0FDRixDQUNBLDJIQUNFLGlCQUNGLENBQ0EsdUpBQ0UseUJBQ0YsQ0FFQSxpREFDRSx1QkFDRixDQUNBLGdGQUNFLGtCQUFtQixDQUNuQixhQUNGLENBRUEsc0NBRUUsa0JBQW1CLENBR25CLDhGQUErRixDQUovRixZQUFhLENBRWIsa0JBQW1CLENBQ25CLHNCQUF1QixDQUV2QixlQUNGLENBQ0Esb0RBQ0UsaUJBQWtCLENBQ2xCLGlCQUNGLENBQ0EsMERBQ0UsZUFDRixDQUVBLHVDQUdFLFdBQVksQ0FNWixRQUFTLENBRVQsY0FBZSxDQVZmLGFBQWMsQ0FNZCxNQUFPLENBR1AsU0FBVSxDQUxWLGlCQUFrQixDQUdsQixPQUFRLENBSlIsbUJBQW9CLENBRXBCLEtBQU0sQ0FKTixVQVVGLENBQ0EsNkNBQ0UsWUFDRixDQUVBLDBDQUNFLGlCQUNGLENBRUEsb0NBQ0UsZUFBZ0IsQ0FFaEIsZUFBaUIsQ0FEakIsU0FFRixDQUNBLHdEQUNFLG1CQUNGIiwiZmlsZSI6IkZpbGVVcGxvYWQubW9kdWxlLnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIENvcHlyaWdodCAyMDIyIE9uZVdlbGNvbWUgQi5WLlxuICpcbiAqICAgIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiAgICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiAgICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogICAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogICAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogICAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiAgICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiAgICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLyohXG4gKiBDb3B5cmlnaHQgMjAyMiBPbmVXZWxjb21lIEIuVi5cbiAqXG4gKiAgICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogICAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogICAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqICAgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqICAgIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqICAgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogICAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogICAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi5zci1vbmx5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICBib3JkZXI6IDA7XG59XG5cbi5oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uc2xpZGUtaW4ge1xuICBhbmltYXRpb246IHNsaWRlLWluIDAuNXMgZm9yd2FyZHM7XG59XG5cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5zbGlkZS1pbiB7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjFtcztcbiAgfVxufVxuLnNsaWRlLW91dCB7XG4gIGFuaW1hdGlvbjogc2xpZGUtb3V0IDAuNXMgZm9yd2FyZHM7XG59XG5cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5zbGlkZS1vdXQge1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC4xbXM7XG4gIH1cbn1cbkBrZXlmcmFtZXMgc2xpZGUtaW4ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMHZoKTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHNsaWRlLW91dCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDB2aCk7XG4gIH1cbn1cbi5maWxlLXVwbG9hZC13cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLmZpbGUtZHJvcHpvbmUge1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1pbnB1dC1ib3JkZXItcmFkaXVzKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW5wdXQtYmFja2dyb3VuZC1jb2xvcik7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYWxsO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjJzO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG59XG4uZmlsZS1kcm9wem9uZSAuZmlsZS11cGxvYWQtdGl0bGUge1xuICBtYXJnaW46IDAgMCAwLjI1cmVtIDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAuZmlsZS1kcm9wem9uZSB7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xbXM7XG4gIH1cbn1cbi5maWxlLWRyb3B6b25lLmVycm9yIHNwYW5bZGF0YS1pY29uLXN0YXR1c10sXG4uZmlsZS1kcm9wem9uZS5lcnJvciAuZmlsZS11cGxvYWQtdGl0bGUge1xuICBjb2xvcjogdmFyKC0tZXJyb3IpO1xufVxuLmZpbGUtZHJvcHpvbmUuZXJyb3IgLmZpbGUtc2VsZWN0IHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1lcnJvcik7XG59XG4uZmlsZS1kcm9wem9uZS5zdWNjZXNzIHNwYW5bZGF0YS1pY29uLXN0YXR1c10ge1xuICBjb2xvcjogdmFyKC0tc3VjY2Vzcyk7XG59XG4uZmlsZS1kcm9wem9uZSAudXBsb2FkLWJ1dHRvbi13cmFwcGVyLmRpc2FibGVkIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4uZmlsZS1kcm9wem9uZSAudXBsb2FkLWJ1dHRvbi13cmFwcGVyLmRpc2FibGVkIHAge1xuICBjb2xvcjogdmFyKC0tY29sb3ItYmx1ZS1ncmV5NDAwKTtcbn1cbi5maWxlLWRyb3B6b25lIHNwYW5bZGF0YS1pY29uLXN0YXR1c10ge1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBhdXRvO1xuICByaWdodDogMnJlbTtcbn1cbi5maWxlLWRyb3B6b25lIC5maWxlLXVwbG9hZC10aXRsZS1tYW5kYXRvcnkge1xuICBjb2xvcjogdmFyKC0tY29sb3ItcmVkNTAwKTtcbn1cblxuLnVwbG9hZC1idXR0b24td3JhcHBlciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJsdWUtZ3JleTI1KTtcbiAgcGFkZGluZzogNHB4O1xufVxuLnVwbG9hZC1idXR0b24td3JhcHBlci5kcmFnLWFjdGl2ZSAub3V0bGluZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgaW5zZXQ6IDA7XG4gIGJvcmRlcjogdmFyKC0tZmlsZS11cGxvYWQtYm9yZGVyLXdpZHRoKSB2YXIoLS1kcmFnLWRyb3AtYm9yZGVyLXN0eWxlKSB2YXIoLS1jb2xvci1ibHVlLWdyZXk1MDApO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1pbnB1dC1ib3JkZXItcmFkaXVzKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1saWdodCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGFsbDtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4ycztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xufVxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLnVwbG9hZC1idXR0b24td3JhcHBlci5kcmFnLWFjdGl2ZSAub3V0bGluZSB7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xbXM7XG4gIH1cbn1cbi51cGxvYWQtYnV0dG9uLXdyYXBwZXIuZHJhZy1hY3RpdmUgLm91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiRHJvcCBoZXJlXCI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgcGFkZGluZy10b3A6IDJyZW07XG59XG4udXBsb2FkLWJ1dHRvbi13cmFwcGVyLmRyYWctYWN0aXZlOmhvdmVyIC5vdXRsaW5lIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1saWdodCk7XG59XG4udXBsb2FkLWJ1dHRvbi13cmFwcGVyLmRyYWctYWN0aXZlIC5maWxlLXNlbGVjdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi51cGxvYWQtYnV0dG9uLXdyYXBwZXIuZHJhZy1hY3RpdmUgLmVycm9yIC5vdXRsaW5lIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1lcnJvcik7XG59XG5cbi5maWxlLXNlbGVjdG9yLXN1Yi10ZXh0IHtcbiAgY29sb3I6IHZhcigtLWdyZXllZC1vdXQpO1xufVxuLmZpbGUtc2VsZWN0b3Itc3ViLXRleHQuZXJyb3Ige1xuICBjb2xvcjogdmFyKC0tZXJyb3IpO1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmZpbGUtc2VsZWN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGJvcmRlcjogdmFyKC0tZmlsZS11cGxvYWQtYm9yZGVyLXdpZHRoKSB2YXIoLS1kcmFnLWRyb3AtYm9yZGVyLXN0eWxlKSB2YXIoLS1jb2xvci1ibHVlLWdyZXkxMDApO1xuICBwYWRkaW5nOiAxLjI1cmVtO1xufVxuLmZpbGUtc2VsZWN0IFtjbGFzcyo9ZmlsZV0ge1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG59XG4uZmlsZS1zZWxlY3QgW2NsYXNzKj10eXBvZ3JhcGh5XSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi51cGxvYWQtaW5wdXQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlcjogbm9uZTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBvcGFjaXR5OiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4udXBsb2FkLWlucHV0OmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuLmZpbGUtdXBsb2FkLWJ0biB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmZpbGUtbGlzdCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMC4yNXJlbSAwO1xufVxuLmZpbGUtbGlzdCBsaTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xufSJdfQ== */'),exports.default={"sr-only":"FileUpload-module_sr-only__Awag4",hidden:"FileUpload-module_hidden__JayBD","slide-in":"FileUpload-module_slide-in__w7j8k","slide-out":"FileUpload-module_slide-out__tZ-rV","file-upload-wrapper":"FileUpload-module_file-upload-wrapper__CIx-a","file-dropzone":"FileUpload-module_file-dropzone__O-VP-","file-upload-title":"FileUpload-module_file-upload-title__CEPD-",error:"FileUpload-module_error__q2B-7","file-select":"FileUpload-module_file-select__sW1Pn",success:"FileUpload-module_success__GqO-7","upload-button-wrapper":"FileUpload-module_upload-button-wrapper__vVTvg",disabled:"FileUpload-module_disabled__hvZQb","file-upload-title-mandatory":"FileUpload-module_file-upload-title-mandatory__xEZ-6","drag-active":"FileUpload-module_drag-active__MRJJR",outline:"FileUpload-module_outline__QfJ8U","file-selector-sub-text":"FileUpload-module_file-selector-sub-text__nCXMq","upload-input":"FileUpload-module_upload-input__wteSl","file-upload-btn":"FileUpload-module_file-upload-btn__M2Fg-","file-list":"FileUpload-module_file-list__GLggq"};
2
2
  //# sourceMappingURL=FileUpload.module.scss.cjs.js.map
@@ -1,2 +1,2 @@
1
- "use strict";var e=require("./MultiSelect.module.scss.cjs.js"),t=require("react"),s=require("../../../src/hooks/useBodyClick.cjs.js"),r=require("../../../src/hooks/useDetermineStatusIcon.cjs.js"),l=require("../../../src/readyclasses.module.scss.cjs.js"),a=require("../../../src/util/helper.cjs.js"),n=require("../../../Icon/Icon.cjs.js"),c=require("../useAddNewBtn.cjs.js"),o=require("../useSelectPositionList.cjs.js"),i=require("./SelectButton.cjs.js"),u=require("./SelectedOptions.cjs.js"),d=require("./useArrowNavigation.cjs.js"),p=require("./useSearch.cjs.js");const h=(e,t)=>`${e}_option${t}`,f=e=>`${e}_listbox`,m=t.forwardRef((({id:m,children:v,name:b,disabled:C=!1,labeledBy:S,placeholder:E,describedBy:j,selectButtonProps:g={},className:y,error:N=!1,success:I=!1,value:x,clearLabel:w="Clear selection",noResultsLabel:R="No results found",onChange:B,addNew:q,search:k={enabled:!0,renderThreshold:0,searchPlaceholder:"Search item"},...L},A)=>{const $=t.useRef(null!=m?m:a.generateID(20)),[P,O]=t.useState(!1),[D,F]=t.useState([]),H=t.useRef(null),M=t.useRef(null),[_,K]=t.useState(0),[T,U]=t.useState(!1),[V,z]=t.useState(!1),[G,J]=t.useState(t.Children.count(v)-D.length),{filter:Q,renderSearch:W,searchInputRef:X,resetSearchState:Y,searchVisible:Z}=p.useSearch({selectId:$.current,expanded:P,search:k,searchInputClassName:e.default["select-search"],optionsCount:G,focusedSelectItem:_,setFocusedSelectItem:K,describedBy:j,getOptionId:h,getListboxId:f}),{addBtnRef:ee,addNewBtnOptionsContainerClassName:te,renderAddNew:se}=c.useAddNewBtn({id:h($.current,G),addNew:q,filter:Q,focusedSelectItem:_,optionsCount:G,searchInputRef:X,shouldClick:T,onClickCallback:()=>{U(!1),Y()}}),re=A||t.createRef(),le=t.useRef(null),{onArrowNavigation:ae}=d.useArrowNavigation({expanded:P,setExpanded:O,setFocusedSelectItem:K,childrenCount:G,setShouldClick:U,addBtnRef:ee,searchInputRef:X,customSelectButtonRef:le,onClose:Y}),{listPosition:ne,opacity:ce,optionsListMaxHeight:oe,setListPosition:ie,setOpacity:ue}=o.useSelectPositionList({expanded:P,optionListReference:M,containerReference:H,addBtnRef:ee}),de=r.useDetermineStatusIcon({success:I,error:N});t.useEffect((()=>{P&&X.current&&(z(!0),X.current.focus()),!P&&le.current&&V&&(z(!1),le.current.focus())}),[P,le.current,V,X.current]),t.useEffect((()=>{var e;(e=>{const s=t.Children.map(v,(e=>e)),r=e.map((e=>{const t=s.find((t=>t.props.value===e));return{value:e,label:null==t?void 0:t.props.children,fixed:null==t?void 0:t.props.fixed}}));F(r)})(x),e=x,re.current&&[...re.current.options].forEach((t=>{e.includes(t.value)?t.selected=!0:t.selected=!1}))}),[x]),s.useBodyClick((e=>!e.target.closest(".custom-select")&&P),(()=>{O(!1),ie({top:0,bottom:"initial"}),ue(0)}),P);const pe=[];P&&pe.push(e.default.expanded),N&&pe.push(e.default.error),C&&pe.push(e.default.disabled),y&&pe.push(y),I&&pe.push(e.default.success);const he=()=>{O((e=>!e)),U(!1)};return t.createElement(t.Fragment,null,t.createElement("select",{...a.filterProps(L,/^data-/,!1),tabIndex:-1,multiple:!0,"aria-hidden":"true",ref:re,name:b,onChange:e=>{null==B||B(e)},className:l.default["sr-only"]},t.createElement("option",{value:""}),t.Children.map(v,(e=>t.createElement("option",{value:e.props.value})))),t.createElement("div",{...a.filterProps(L,/^data-/),id:$.current,ref:H,onKeyDown:ae,className:`custom-select ${e.default.select} ${pe.join(" ")} ${null!=y?y:""}`},t.createElement("div",{className:`${e.default["custom-select"]} ${pe.join(" ")} `,style:{display:"flex"}},t.createElement("div",{className:e.default["display-container"],"data-display":!0},t.createElement(i.SelectButton,{...g,onClick:he,name:b,ref:le,disabled:C,"aria-disabled":C,"aria-invalid":N,"aria-expanded":P,"aria-haspopup":"listbox","aria-labelledby":S,"aria-describedby":j}),0===(null==x?void 0:x.length)&&E&&t.createElement("span",{className:e.default.placeholder},E),(null==x?void 0:x.length)>0&&t.createElement(u.SelectedOptions,{disabled:C,display:D,onClick:he,onRemove:e=>{if(re.current){[...re.current.options].find((t=>t.value===e)).selected=!1,re.current.dispatchEvent(new Event("change",{bubbles:!0}))}}}),Z&&W()),t.createElement("div",{className:e.default.status},de||(P?t.createElement(n.Icon,{className:e.default["chevron-icon"],icon:n.Icons.ChevronUp}):t.createElement(n.Icon,{className:e.default["chevron-icon"],icon:n.Icons.ChevronDown})))),t.createElement("div",{ref:M,className:`list-wrapper ${e.default["list-wrapper"]}`,style:{display:P?"block":"none",opacity:ce,maxHeight:oe.wrapper,pointerEvents:P?"auto":"none",...ne}},t.createElement("ul",{id:f($.current),className:te,role:"listbox","aria-multiselectable":"true",style:{maxHeight:oe.list}},(()=>{const s=e=>e.filter((e=>"object"==typeof e&&"props"in e&&!D.find((t=>t.value===e.props.value))));let r;if(""!==Q){r=l(s(t.Children.toArray(v).filter((e=>null!==e.props.children.toLowerCase().match(a.escapeRegExp(Q.toLowerCase()))))))}else r=l(s(t.Children.toArray(v)));return G!==r.length&&J(r.length),0===r.length?t.createElement("li",{className:e.default["no-results"]},R):r;function l(e){return t.Children.map(e,((e,s)=>t.cloneElement(e,{onFocusChange:e=>{K(e)},onOptionSelect:e=>{(e=>{if(re.current&&e){const t=e.getAttribute("data-value"),s=[...re.current.options],r=s.filter((e=>e.selected)).map((e=>e.value));s.forEach((e=>{(e.value===t||r.includes(e.value))&&(e.selected=!0)})),re.current.dispatchEvent(new Event("change",{bubbles:!0}))}O(!1),Y()})(e.current),O(!1),U(!1)},isSearching:!1,selectOpened:P,childIndex:s,hasFocus:_===s,shouldClick:T,id:h($.current,s)})))}})()),se())))}));exports.MultiSelect=m;
1
+ "use strict";var e=require("./MultiSelect.module.scss.cjs.js"),t=require("react"),s=require("../../../src/hooks/useBodyClick.cjs.js"),r=require("../../../src/hooks/useDetermineStatusIcon.cjs.js"),l=require("../../../src/readyclasses.module.scss.cjs.js"),a=require("../../../src/util/helper.cjs.js"),n=require("../../../Icon/Icon.cjs.js"),c=require("../useAddNewBtn.cjs.js"),o=require("../useSelectPositionList.cjs.js"),i=require("./SelectButton.cjs.js"),u=require("./SelectedOptions.cjs.js"),d=require("./useArrowNavigation.cjs.js"),p=require("./useSearch.cjs.js");const h=(e,t)=>`${e}_option${t}`,f=e=>`${e}_listbox`,m=t.forwardRef((({id:m,children:v,name:b,disabled:C=!1,labeledBy:S,placeholder:E,describedBy:j,selectButtonProps:g={},className:y,error:N=!1,success:I=!1,value:x,clearLabel:w="Clear selection",noResultsLabel:R="No results found",onChange:B,addNew:q,search:k={enabled:!0,renderThreshold:0,searchPlaceholder:"Search item"},...L},A)=>{const P=t.useRef(null!=m?m:a.generateID(20)),[$,O]=t.useState(!1),[D,F]=t.useState([]),H=t.useRef(null),M=t.useRef(null),[_,K]=t.useState(0),[T,U]=t.useState(!1),[V,z]=t.useState(!1),[G,J]=t.useState(t.Children.count(v)-D.length),{filter:Q,renderSearch:W,searchInputRef:X,resetSearchState:Y,searchVisible:Z}=p.useSearch({selectId:P.current,expanded:$,search:k,searchInputClassName:e.default["select-search"],optionsCount:G,focusedSelectItem:_,setFocusedSelectItem:K,describedBy:j,getOptionId:h,getListboxId:f}),{addBtnRef:ee,addNewBtnOptionsContainerClassName:te,renderAddNew:se}=c.useAddNewBtn({id:h(P.current,G),addNew:q,filter:Q,focusedSelectItem:_,optionsCount:G,searchInputRef:X,shouldClick:T,onClickCallback:()=>{U(!1),Y()}}),re=A||t.createRef(),le=t.useRef(null),{onArrowNavigation:ae}=d.useArrowNavigation({expanded:$,setExpanded:O,setFocusedSelectItem:K,childrenCount:G,setShouldClick:U,addBtnRef:ee,searchInputRef:X,customSelectButtonRef:le,onClose:Y}),{listPosition:ne,opacity:ce,optionsListMaxHeight:oe,setListPosition:ie,setOpacity:ue}=o.useSelectPositionList({expanded:$,optionListReference:M,containerReference:H,addBtnRef:ee}),de=r.useDetermineStatusIcon({success:I,error:N});t.useEffect((()=>{$&&X.current&&(z(!0),X.current.focus()),!$&&le.current&&V&&(z(!1),le.current.focus())}),[$,le.current,V,X.current]),t.useEffect((()=>{var e;(e=>{const s=t.Children.map(v,(e=>e)),r=e.map((e=>{const t=s.find((t=>t.props.value===e));return{value:e,label:null==t?void 0:t.props.children,fixed:null==t?void 0:t.props.fixed}}));F(r)})(x),e=x,re.current&&[...re.current.options].forEach((t=>{e.includes(t.value)?t.selected=!0:t.selected=!1}))}),[x]),s.useBodyClick((e=>!e.target.closest(".custom-select")&&$),(()=>{O(!1),ie({top:0,bottom:"initial"}),ue(0)}),$);const pe=[];$&&pe.push(e.default.expanded),N&&pe.push(e.default.error),C&&pe.push(e.default.disabled),y&&pe.push(y),I&&pe.push(e.default.success);const he=()=>{O((e=>!e)),U(!1)};return t.createElement(t.Fragment,null,t.createElement("select",{...a.filterProps(L,/^data-/,!1),tabIndex:-1,multiple:!0,"aria-hidden":"true",ref:re,name:b,onChange:e=>{null==B||B(e)},className:l.default["sr-only"]},t.createElement("option",{value:""}),t.Children.map(v,(e=>t.createElement("option",{value:e.props.value})))),t.createElement("div",{...a.filterProps(L,/^data-/),id:P.current,ref:H,onKeyDown:ae,className:`custom-select ${e.default.select} ${pe.join(" ")}`},t.createElement("div",{className:`${e.default["custom-select"]} ${pe.join(" ")} `,style:{display:"flex"}},t.createElement("div",{className:e.default["display-container"],"data-display":!0},t.createElement(i.SelectButton,{...g,onClick:he,name:b,ref:le,disabled:C,"aria-disabled":C,"aria-invalid":N,"aria-expanded":$,"aria-haspopup":"listbox","aria-labelledby":S,"aria-describedby":j}),0===(null==x?void 0:x.length)&&E&&t.createElement("span",{className:e.default.placeholder},E),(null==x?void 0:x.length)>0&&t.createElement(u.SelectedOptions,{disabled:C,display:D,onClick:he,onRemove:e=>{if(re.current){[...re.current.options].find((t=>t.value===e)).selected=!1,re.current.dispatchEvent(new Event("change",{bubbles:!0}))}}}),Z&&W()),t.createElement("div",{className:e.default.status},de||($?t.createElement(n.Icon,{className:e.default["chevron-icon"],icon:n.Icons.ChevronUp}):t.createElement(n.Icon,{className:e.default["chevron-icon"],icon:n.Icons.ChevronDown})))),t.createElement("div",{ref:M,className:`list-wrapper ${e.default["list-wrapper"]}`,style:{display:$?"block":"none",opacity:ce,maxHeight:oe.wrapper,pointerEvents:$?"auto":"none",...ne}},t.createElement("ul",{id:f(P.current),className:te,role:"listbox","aria-multiselectable":"true",style:{maxHeight:oe.list}},(()=>{const s=e=>e.filter((e=>"object"==typeof e&&"props"in e&&!D.find((t=>t.value===e.props.value))));let r;if(""!==Q){r=l(s(t.Children.toArray(v).filter((e=>null!==e.props.children.toLowerCase().match(a.escapeRegExp(Q.toLowerCase()))))))}else r=l(s(t.Children.toArray(v)));return G!==r.length&&J(r.length),0===r.length?t.createElement("li",{className:e.default["no-results"]},R):r;function l(e){return t.Children.map(e,((e,s)=>t.cloneElement(e,{onFocusChange:e=>{K(e)},onOptionSelect:e=>{(e=>{if(re.current&&e){const t=e.getAttribute("data-value"),s=[...re.current.options],r=s.filter((e=>e.selected)).map((e=>e.value));s.forEach((e=>{(e.value===t||r.includes(e.value))&&(e.selected=!0)})),re.current.dispatchEvent(new Event("change",{bubbles:!0}))}O(!1),Y()})(e.current),O(!1),U(!1)},isSearching:!1,selectOpened:$,childIndex:s,hasFocus:_===s,shouldClick:T,id:h(P.current,s)})))}})()),se())))}));exports.MultiSelect=m;
2
2
  //# sourceMappingURL=MultiSelect.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MultiSelect.cjs.js","sources":["../../../../../../../src/components/Form/Select/MultiSelect/MultiSelect.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 classes from \"./MultiSelect.module.scss\";\n\nimport React, {\n ForwardRefRenderFunction,\n Fragment,\n ReactElement,\n createRef,\n useEffect,\n useRef,\n useState\n} from \"react\";\nimport { useBodyClick } from \"../../../../hooks/useBodyClick\";\nimport { useDetermineStatusIcon } from \"../../../../hooks/useDetermineStatusIcon\";\nimport readyclasses from \"../../../../readyclasses.module.scss\";\nimport { escapeRegExp, filterProps, generateID } from \"../../../../util/helper\";\nimport { Icon, Icons } from \"../../../Icon/Icon\";\nimport { MultiSelectProps } from \"../Select.interfaces\";\nimport { useAddNewBtn } from \"../useAddNewBtn\";\nimport { useSelectPositionList } from \"../useSelectPositionList\";\nimport { SelectButton } from \"./SelectButton\";\nimport { Display, SelectedOptions } from \"./SelectedOptions\";\nimport { useArrowNavigation } from \"./useArrowNavigation\";\nimport { useSearch } from \"./useSearch\";\n\nconst getOptionId = (multiSelectId: string, optionIndex: number) =>\n `${multiSelectId}_option${optionIndex}`;\n\nconst getListboxId = (multiSelectId: string) => `${multiSelectId}_listbox`;\n\nconst MultiSelectComponent: ForwardRefRenderFunction<HTMLSelectElement, MultiSelectProps> = (\n {\n id,\n children,\n name,\n disabled = false,\n labeledBy,\n placeholder,\n describedBy,\n selectButtonProps = {},\n className,\n error = false,\n success = false,\n value,\n clearLabel = \"Clear selection\",\n noResultsLabel = \"No results found\",\n onChange,\n addNew,\n search = { enabled: true, renderThreshold: 0, searchPlaceholder: \"Search item\" },\n ...rest\n }: MultiSelectProps,\n ref\n) => {\n const multiSelectId = useRef(id ?? generateID(20));\n const [expanded, setExpanded] = useState(false);\n const [display, setDisplay] = useState<Display[]>([]);\n const containerReference = useRef<HTMLDivElement>(null);\n const optionListReference = useRef<HTMLDivElement>(null);\n const [focusedSelectItem, setFocusedSelectItem] = useState(0);\n const [shouldClick, setShouldClick] =\n useState(\n false\n ); /** We need this, because whenever we use the arrow keys to select the select item, and we focus the currently selected item it fires the \"click\" listener in Option component. Instead, we only want this to fire if we press \"enter\" or \"spacebar\" so we set this to true whenever that is the case, and back to false when it has been executed. */\n const [shouldFocusButtonAfterClose, setShouldFocusButtonAfterClose] = useState(false);\n const [optionsVisibleCount, setOptionsVisibleCount] = useState(\n React.Children.count(children) - display.length\n );\n const { filter, renderSearch, searchInputRef, resetSearchState, searchVisible } = useSearch({\n selectId: multiSelectId.current,\n expanded,\n search,\n searchInputClassName: classes[\"select-search\"],\n optionsCount: optionsVisibleCount,\n focusedSelectItem,\n setFocusedSelectItem,\n describedBy,\n getOptionId,\n getListboxId\n });\n const { addBtnRef, addNewBtnOptionsContainerClassName, renderAddNew } = useAddNewBtn({\n id: getOptionId(multiSelectId.current, optionsVisibleCount),\n addNew,\n filter,\n focusedSelectItem,\n optionsCount: optionsVisibleCount,\n searchInputRef,\n shouldClick,\n onClickCallback: () => {\n setShouldClick(false);\n resetSearchState();\n }\n });\n\n const nativeSelect = (ref as React.RefObject<HTMLSelectElement>) || createRef();\n\n const onOptionChangeHandler = (optionElement: HTMLElement | null) => {\n if (nativeSelect.current && optionElement) {\n const value = optionElement.getAttribute(\"data-value\")!;\n const options = [...nativeSelect.current.options];\n const lastSelectedOptionValues = options\n .filter(option => option.selected)\n .map(option => option.value);\n options.forEach(option => {\n if (option.value === value || lastSelectedOptionValues.includes(option.value)) {\n option.selected = true;\n }\n });\n nativeSelect.current.dispatchEvent(new Event(\"change\", { bubbles: true }));\n }\n setExpanded(false);\n resetSearchState();\n };\n\n const onSelectedOptionRemoveHandler = (value: string) => {\n if (nativeSelect.current) {\n const options = [...nativeSelect.current.options];\n options.find(option => option.value === value)!.selected = false;\n nativeSelect.current.dispatchEvent(new Event(\"change\", { bubbles: true }));\n }\n };\n\n const customSelectButtonRef = useRef<HTMLButtonElement>(null);\n const { onArrowNavigation } = useArrowNavigation({\n expanded,\n setExpanded,\n setFocusedSelectItem,\n childrenCount: optionsVisibleCount,\n setShouldClick,\n addBtnRef,\n searchInputRef,\n customSelectButtonRef,\n onClose: resetSearchState\n });\n\n const { listPosition, opacity, optionsListMaxHeight, setListPosition, setOpacity } =\n useSelectPositionList({ expanded, optionListReference, containerReference, addBtnRef });\n\n const syncDisplayValue = (values: string[]) => {\n const options = React.Children.map(children, child => child);\n const displayArray: Display[] = values.map(value => {\n const option = options.find(option => option.props.value === value);\n return { value, label: option?.props.children, fixed: option?.props.fixed };\n });\n setDisplay(displayArray);\n };\n\n const syncSelectedOption = (vals: string[]) => {\n if (nativeSelect.current) {\n const options = [...nativeSelect.current.options];\n options.forEach(option => {\n if (vals.includes(option.value)) {\n option.selected = true;\n } else {\n option.selected = false;\n }\n });\n }\n };\n\n /**\n * @description We have to modify the children (Option component) to have a additional props that allows us to keep track of which one is selected and focused at all times and if a filter is active.\n * The `children` prop can be either a single object (1 child) or an array of multiple children.\n */\n const renderOptions = () => {\n type ReactChildrenType = ReturnType<typeof React.Children.toArray>;\n\n const filterOutSelectedChildren = (internalChildren: ReactChildrenType) => {\n return internalChildren.filter(\n child =>\n typeof child === \"object\" &&\n \"props\" in child &&\n !display.find(option => option.value === child.props.value)\n );\n };\n\n let results;\n if (filter !== \"\") {\n const filteredChildren = React.Children.toArray(children).filter(\n child =>\n (child as ReactElement).props.children\n .toLowerCase()\n .match(escapeRegExp(filter.toLowerCase())) !== null\n );\n\n results = _internalRenderChildren(filterOutSelectedChildren(filteredChildren));\n } else {\n results = _internalRenderChildren(\n filterOutSelectedChildren(React.Children.toArray(children))\n );\n }\n\n optionsVisibleCount !== results.length && setOptionsVisibleCount(results.length);\n\n if (results.length === 0) {\n return <li className={classes[\"no-results\"]}>{noResultsLabel}</li>;\n }\n\n return results;\n\n function _internalRenderChildren(internalChildren: ReactChildrenType) {\n return React.Children.map(internalChildren, (child, index) => {\n return React.cloneElement(child as ReactElement, {\n onFocusChange: (childIndex: number) => {\n setFocusedSelectItem(childIndex);\n },\n onOptionSelect: (optionRef: React.RefObject<HTMLLIElement>) => {\n onOptionChangeHandler(optionRef.current);\n setExpanded(false);\n setShouldClick(false);\n },\n isSearching: false,\n selectOpened: expanded,\n childIndex: index,\n hasFocus: focusedSelectItem === index,\n shouldClick: shouldClick,\n id: getOptionId(multiSelectId.current, index)\n });\n });\n }\n };\n\n const renderChevronIcon = () => {\n return expanded ? (\n <Icon className={classes[\"chevron-icon\"]} icon={Icons.ChevronUp} />\n ) : (\n <Icon className={classes[\"chevron-icon\"]} icon={Icons.ChevronDown} />\n );\n };\n\n const icon = useDetermineStatusIcon({ success, error });\n\n const nativeOnChangeHandler = (event: React.ChangeEvent<HTMLSelectElement>) => {\n onChange?.(event);\n };\n\n useEffect(() => {\n if (expanded && searchInputRef.current) {\n setShouldFocusButtonAfterClose(true);\n searchInputRef.current.focus();\n }\n\n if (!expanded && customSelectButtonRef.current && shouldFocusButtonAfterClose) {\n setShouldFocusButtonAfterClose(false);\n customSelectButtonRef.current.focus();\n }\n }, [\n expanded,\n customSelectButtonRef.current,\n shouldFocusButtonAfterClose,\n searchInputRef.current\n ]);\n\n useEffect(() => {\n syncDisplayValue(value);\n syncSelectedOption(value);\n }, [value]);\n\n useBodyClick(\n (event: MouseEvent) => !(event.target as Element).closest(\".custom-select\") && expanded,\n () => {\n setExpanded(false);\n setListPosition({ top: 0, bottom: \"initial\" });\n setOpacity(0);\n },\n expanded\n );\n\n const additionalClasses = [];\n expanded && additionalClasses.push(classes.expanded);\n error && additionalClasses.push(classes.error);\n disabled && additionalClasses.push(classes.disabled);\n className && additionalClasses.push(className);\n success && additionalClasses.push(classes.success);\n\n const onSelectButtonClick = () => {\n setExpanded(expanded => !expanded);\n setShouldClick(false);\n };\n\n /** The native select is purely for external form libraries. We use it to emit an onChange with native select event object so they know exactly what's happening. */\n return (\n <Fragment>\n <select\n {...filterProps(rest, /^data-/, false)}\n tabIndex={-1}\n multiple={true}\n aria-hidden=\"true\"\n ref={nativeSelect}\n name={name}\n onChange={nativeOnChangeHandler}\n className={readyclasses[\"sr-only\"]}\n >\n <option value=\"\"></option>\n {React.Children.map(children, child => (\n <option value={child.props.value}></option>\n ))}\n </select>\n <div\n {...filterProps(rest, /^data-/)}\n id={multiSelectId.current}\n ref={containerReference}\n onKeyDown={onArrowNavigation}\n className={`custom-select ${classes.select} ${additionalClasses.join(\" \")} ${\n className ?? \"\"\n }`}\n >\n <div\n className={`${classes[\"custom-select\"]} ${additionalClasses.join(\" \")} `}\n style={{ display: \"flex\" }}\n >\n <div className={classes[\"display-container\"]} data-display>\n <SelectButton\n {...selectButtonProps}\n onClick={onSelectButtonClick}\n name={name}\n ref={customSelectButtonRef}\n disabled={disabled}\n aria-disabled={disabled}\n aria-invalid={error}\n aria-expanded={expanded}\n aria-haspopup=\"listbox\"\n aria-labelledby={labeledBy}\n aria-describedby={describedBy}\n />\n {value?.length === 0 && placeholder && (\n <span className={classes[\"placeholder\"]}>{placeholder}</span>\n )}\n {value?.length > 0 && (\n <SelectedOptions\n disabled={disabled}\n display={display}\n onClick={onSelectButtonClick}\n onRemove={onSelectedOptionRemoveHandler}\n />\n )}\n {searchVisible && renderSearch()}\n </div>\n <div className={classes[\"status\"]}>{icon || renderChevronIcon()}</div>\n </div>\n <div\n ref={optionListReference}\n className={`list-wrapper ${classes[\"list-wrapper\"]}`}\n style={{\n display: expanded ? \"block\" : \"none\",\n opacity: opacity,\n maxHeight: optionsListMaxHeight.wrapper,\n pointerEvents: expanded ? \"auto\" : \"none\",\n ...listPosition\n }}\n >\n <ul\n id={getListboxId(multiSelectId.current)}\n className={addNewBtnOptionsContainerClassName}\n role=\"listbox\"\n aria-multiselectable=\"true\"\n style={{ maxHeight: optionsListMaxHeight.list }}\n >\n {renderOptions()}\n </ul>\n {renderAddNew()}\n </div>\n </div>\n </Fragment>\n );\n};\n\nexport const MultiSelect = React.forwardRef(MultiSelectComponent);\n"],"names":["getOptionId","multiSelectId","optionIndex","getListboxId","MultiSelect","React","forwardRef","id","children","name","disabled","labeledBy","placeholder","describedBy","selectButtonProps","className","error","success","value","clearLabel","noResultsLabel","onChange","addNew","search","enabled","renderThreshold","searchPlaceholder","rest","ref","useRef","generateID","expanded","setExpanded","useState","display","setDisplay","containerReference","optionListReference","focusedSelectItem","setFocusedSelectItem","shouldClick","setShouldClick","shouldFocusButtonAfterClose","setShouldFocusButtonAfterClose","optionsVisibleCount","setOptionsVisibleCount","Children","count","length","filter","renderSearch","searchInputRef","resetSearchState","searchVisible","useSearch","selectId","current","searchInputClassName","classes","default","optionsCount","addBtnRef","addNewBtnOptionsContainerClassName","renderAddNew","useAddNewBtn","onClickCallback","nativeSelect","createRef","customSelectButtonRef","onArrowNavigation","useArrowNavigation","childrenCount","onClose","listPosition","opacity","optionsListMaxHeight","setListPosition","setOpacity","useSelectPositionList","icon","useDetermineStatusIcon","useEffect","focus","vals","values","options","map","child","displayArray","option","find","props","label","fixed","syncDisplayValue","forEach","includes","selected","useBodyClick","event","target","closest","top","bottom","additionalClasses","push","onSelectButtonClick","Fragment","createElement","filterProps","tabIndex","multiple","readyclasses","onKeyDown","select","join","style","SelectButton","onClick","SelectedOptions","onRemove","dispatchEvent","Event","bubbles","Icon","Icons","ChevronUp","ChevronDown","maxHeight","wrapper","pointerEvents","role","list","filterOutSelectedChildren","internalChildren","results","_internalRenderChildren","toArray","toLowerCase","match","escapeRegExp","index","cloneElement","onFocusChange","childIndex","onOptionSelect","optionRef","optionElement","getAttribute","lastSelectedOptionValues","onOptionChangeHandler","isSearching","selectOpened","hasFocus","renderOptions"],"mappings":"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"}
1
+ {"version":3,"file":"MultiSelect.cjs.js","sources":["../../../../../../../src/components/Form/Select/MultiSelect/MultiSelect.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 classes from \"./MultiSelect.module.scss\";\n\nimport React, {\n ForwardRefRenderFunction,\n Fragment,\n ReactElement,\n createRef,\n useEffect,\n useRef,\n useState\n} from \"react\";\nimport { useBodyClick } from \"../../../../hooks/useBodyClick\";\nimport { useDetermineStatusIcon } from \"../../../../hooks/useDetermineStatusIcon\";\nimport readyclasses from \"../../../../readyclasses.module.scss\";\nimport { escapeRegExp, filterProps, generateID } from \"../../../../util/helper\";\nimport { Icon, Icons } from \"../../../Icon/Icon\";\nimport { MultiSelectProps } from \"../Select.interfaces\";\nimport { useAddNewBtn } from \"../useAddNewBtn\";\nimport { useSelectPositionList } from \"../useSelectPositionList\";\nimport { SelectButton } from \"./SelectButton\";\nimport { Display, SelectedOptions } from \"./SelectedOptions\";\nimport { useArrowNavigation } from \"./useArrowNavigation\";\nimport { useSearch } from \"./useSearch\";\n\nconst getOptionId = (multiSelectId: string, optionIndex: number) =>\n `${multiSelectId}_option${optionIndex}`;\n\nconst getListboxId = (multiSelectId: string) => `${multiSelectId}_listbox`;\n\nconst MultiSelectComponent: ForwardRefRenderFunction<HTMLSelectElement, MultiSelectProps> = (\n {\n id,\n children,\n name,\n disabled = false,\n labeledBy,\n placeholder,\n describedBy,\n selectButtonProps = {},\n className,\n error = false,\n success = false,\n value,\n clearLabel = \"Clear selection\",\n noResultsLabel = \"No results found\",\n onChange,\n addNew,\n search = { enabled: true, renderThreshold: 0, searchPlaceholder: \"Search item\" },\n ...rest\n }: MultiSelectProps,\n ref\n) => {\n const multiSelectId = useRef(id ?? generateID(20));\n const [expanded, setExpanded] = useState(false);\n const [display, setDisplay] = useState<Display[]>([]);\n const containerReference = useRef<HTMLDivElement>(null);\n const optionListReference = useRef<HTMLDivElement>(null);\n const [focusedSelectItem, setFocusedSelectItem] = useState(0);\n const [shouldClick, setShouldClick] =\n useState(\n false\n ); /** We need this, because whenever we use the arrow keys to select the select item, and we focus the currently selected item it fires the \"click\" listener in Option component. Instead, we only want this to fire if we press \"enter\" or \"spacebar\" so we set this to true whenever that is the case, and back to false when it has been executed. */\n const [shouldFocusButtonAfterClose, setShouldFocusButtonAfterClose] = useState(false);\n const [optionsVisibleCount, setOptionsVisibleCount] = useState(\n React.Children.count(children) - display.length\n );\n const { filter, renderSearch, searchInputRef, resetSearchState, searchVisible } = useSearch({\n selectId: multiSelectId.current,\n expanded,\n search,\n searchInputClassName: classes[\"select-search\"],\n optionsCount: optionsVisibleCount,\n focusedSelectItem,\n setFocusedSelectItem,\n describedBy,\n getOptionId,\n getListboxId\n });\n const { addBtnRef, addNewBtnOptionsContainerClassName, renderAddNew } = useAddNewBtn({\n id: getOptionId(multiSelectId.current, optionsVisibleCount),\n addNew,\n filter,\n focusedSelectItem,\n optionsCount: optionsVisibleCount,\n searchInputRef,\n shouldClick,\n onClickCallback: () => {\n setShouldClick(false);\n resetSearchState();\n }\n });\n\n const nativeSelect = (ref as React.RefObject<HTMLSelectElement>) || createRef();\n\n const onOptionChangeHandler = (optionElement: HTMLElement | null) => {\n if (nativeSelect.current && optionElement) {\n const value = optionElement.getAttribute(\"data-value\")!;\n const options = [...nativeSelect.current.options];\n const lastSelectedOptionValues = options\n .filter(option => option.selected)\n .map(option => option.value);\n options.forEach(option => {\n if (option.value === value || lastSelectedOptionValues.includes(option.value)) {\n option.selected = true;\n }\n });\n nativeSelect.current.dispatchEvent(new Event(\"change\", { bubbles: true }));\n }\n setExpanded(false);\n resetSearchState();\n };\n\n const onSelectedOptionRemoveHandler = (value: string) => {\n if (nativeSelect.current) {\n const options = [...nativeSelect.current.options];\n options.find(option => option.value === value)!.selected = false;\n nativeSelect.current.dispatchEvent(new Event(\"change\", { bubbles: true }));\n }\n };\n\n const customSelectButtonRef = useRef<HTMLButtonElement>(null);\n const { onArrowNavigation } = useArrowNavigation({\n expanded,\n setExpanded,\n setFocusedSelectItem,\n childrenCount: optionsVisibleCount,\n setShouldClick,\n addBtnRef,\n searchInputRef,\n customSelectButtonRef,\n onClose: resetSearchState\n });\n\n const { listPosition, opacity, optionsListMaxHeight, setListPosition, setOpacity } =\n useSelectPositionList({ expanded, optionListReference, containerReference, addBtnRef });\n\n const syncDisplayValue = (values: string[]) => {\n const options = React.Children.map(children, child => child);\n const displayArray: Display[] = values.map(value => {\n const option = options.find(option => option.props.value === value);\n return { value, label: option?.props.children, fixed: option?.props.fixed };\n });\n setDisplay(displayArray);\n };\n\n const syncSelectedOption = (vals: string[]) => {\n if (nativeSelect.current) {\n const options = [...nativeSelect.current.options];\n options.forEach(option => {\n if (vals.includes(option.value)) {\n option.selected = true;\n } else {\n option.selected = false;\n }\n });\n }\n };\n\n /**\n * @description We have to modify the children (Option component) to have a additional props that allows us to keep track of which one is selected and focused at all times and if a filter is active.\n * The `children` prop can be either a single object (1 child) or an array of multiple children.\n */\n const renderOptions = () => {\n type ReactChildrenType = ReturnType<typeof React.Children.toArray>;\n\n const filterOutSelectedChildren = (internalChildren: ReactChildrenType) => {\n return internalChildren.filter(\n child =>\n typeof child === \"object\" &&\n \"props\" in child &&\n !display.find(option => option.value === child.props.value)\n );\n };\n\n let results;\n if (filter !== \"\") {\n const filteredChildren = React.Children.toArray(children).filter(\n child =>\n (child as ReactElement).props.children\n .toLowerCase()\n .match(escapeRegExp(filter.toLowerCase())) !== null\n );\n\n results = _internalRenderChildren(filterOutSelectedChildren(filteredChildren));\n } else {\n results = _internalRenderChildren(\n filterOutSelectedChildren(React.Children.toArray(children))\n );\n }\n\n optionsVisibleCount !== results.length && setOptionsVisibleCount(results.length);\n\n if (results.length === 0) {\n return <li className={classes[\"no-results\"]}>{noResultsLabel}</li>;\n }\n\n return results;\n\n function _internalRenderChildren(internalChildren: ReactChildrenType) {\n return React.Children.map(internalChildren, (child, index) => {\n return React.cloneElement(child as ReactElement, {\n onFocusChange: (childIndex: number) => {\n setFocusedSelectItem(childIndex);\n },\n onOptionSelect: (optionRef: React.RefObject<HTMLLIElement>) => {\n onOptionChangeHandler(optionRef.current);\n setExpanded(false);\n setShouldClick(false);\n },\n isSearching: false,\n selectOpened: expanded,\n childIndex: index,\n hasFocus: focusedSelectItem === index,\n shouldClick: shouldClick,\n id: getOptionId(multiSelectId.current, index)\n });\n });\n }\n };\n\n const renderChevronIcon = () => {\n return expanded ? (\n <Icon className={classes[\"chevron-icon\"]} icon={Icons.ChevronUp} />\n ) : (\n <Icon className={classes[\"chevron-icon\"]} icon={Icons.ChevronDown} />\n );\n };\n\n const icon = useDetermineStatusIcon({ success, error });\n\n const nativeOnChangeHandler = (event: React.ChangeEvent<HTMLSelectElement>) => {\n onChange?.(event);\n };\n\n useEffect(() => {\n if (expanded && searchInputRef.current) {\n setShouldFocusButtonAfterClose(true);\n searchInputRef.current.focus();\n }\n\n if (!expanded && customSelectButtonRef.current && shouldFocusButtonAfterClose) {\n setShouldFocusButtonAfterClose(false);\n customSelectButtonRef.current.focus();\n }\n }, [\n expanded,\n customSelectButtonRef.current,\n shouldFocusButtonAfterClose,\n searchInputRef.current\n ]);\n\n useEffect(() => {\n syncDisplayValue(value);\n syncSelectedOption(value);\n }, [value]);\n\n useBodyClick(\n (event: MouseEvent) => !(event.target as Element).closest(\".custom-select\") && expanded,\n () => {\n setExpanded(false);\n setListPosition({ top: 0, bottom: \"initial\" });\n setOpacity(0);\n },\n expanded\n );\n\n const additionalClasses = [];\n expanded && additionalClasses.push(classes.expanded);\n error && additionalClasses.push(classes.error);\n disabled && additionalClasses.push(classes.disabled);\n className && additionalClasses.push(className);\n success && additionalClasses.push(classes.success);\n\n const onSelectButtonClick = () => {\n setExpanded(expanded => !expanded);\n setShouldClick(false);\n };\n\n /** The native select is purely for external form libraries. We use it to emit an onChange with native select event object so they know exactly what's happening. */\n return (\n <Fragment>\n <select\n {...filterProps(rest, /^data-/, false)}\n tabIndex={-1}\n multiple={true}\n aria-hidden=\"true\"\n ref={nativeSelect}\n name={name}\n onChange={nativeOnChangeHandler}\n className={readyclasses[\"sr-only\"]}\n >\n <option value=\"\"></option>\n {React.Children.map(children, child => (\n <option value={child.props.value}></option>\n ))}\n </select>\n <div\n {...filterProps(rest, /^data-/)}\n id={multiSelectId.current}\n ref={containerReference}\n onKeyDown={onArrowNavigation}\n className={`custom-select ${classes.select} ${additionalClasses.join(\" \")}`}\n >\n <div\n className={`${classes[\"custom-select\"]} ${additionalClasses.join(\" \")} `}\n style={{ display: \"flex\" }}\n >\n <div className={classes[\"display-container\"]} data-display>\n <SelectButton\n {...selectButtonProps}\n onClick={onSelectButtonClick}\n name={name}\n ref={customSelectButtonRef}\n disabled={disabled}\n aria-disabled={disabled}\n aria-invalid={error}\n aria-expanded={expanded}\n aria-haspopup=\"listbox\"\n aria-labelledby={labeledBy}\n aria-describedby={describedBy}\n />\n {value?.length === 0 && placeholder && (\n <span className={classes[\"placeholder\"]}>{placeholder}</span>\n )}\n {value?.length > 0 && (\n <SelectedOptions\n disabled={disabled}\n display={display}\n onClick={onSelectButtonClick}\n onRemove={onSelectedOptionRemoveHandler}\n />\n )}\n {searchVisible && renderSearch()}\n </div>\n <div className={classes[\"status\"]}>{icon || renderChevronIcon()}</div>\n </div>\n <div\n ref={optionListReference}\n className={`list-wrapper ${classes[\"list-wrapper\"]}`}\n style={{\n display: expanded ? \"block\" : \"none\",\n opacity: opacity,\n maxHeight: optionsListMaxHeight.wrapper,\n pointerEvents: expanded ? \"auto\" : \"none\",\n ...listPosition\n }}\n >\n <ul\n id={getListboxId(multiSelectId.current)}\n className={addNewBtnOptionsContainerClassName}\n role=\"listbox\"\n aria-multiselectable=\"true\"\n style={{ maxHeight: optionsListMaxHeight.list }}\n >\n {renderOptions()}\n </ul>\n {renderAddNew()}\n </div>\n </div>\n </Fragment>\n );\n};\n\nexport const MultiSelect = React.forwardRef(MultiSelectComponent);\n"],"names":["getOptionId","multiSelectId","optionIndex","getListboxId","MultiSelect","React","forwardRef","id","children","name","disabled","labeledBy","placeholder","describedBy","selectButtonProps","className","error","success","value","clearLabel","noResultsLabel","onChange","addNew","search","enabled","renderThreshold","searchPlaceholder","rest","ref","useRef","generateID","expanded","setExpanded","useState","display","setDisplay","containerReference","optionListReference","focusedSelectItem","setFocusedSelectItem","shouldClick","setShouldClick","shouldFocusButtonAfterClose","setShouldFocusButtonAfterClose","optionsVisibleCount","setOptionsVisibleCount","Children","count","length","filter","renderSearch","searchInputRef","resetSearchState","searchVisible","useSearch","selectId","current","searchInputClassName","classes","default","optionsCount","addBtnRef","addNewBtnOptionsContainerClassName","renderAddNew","useAddNewBtn","onClickCallback","nativeSelect","createRef","customSelectButtonRef","onArrowNavigation","useArrowNavigation","childrenCount","onClose","listPosition","opacity","optionsListMaxHeight","setListPosition","setOpacity","useSelectPositionList","icon","useDetermineStatusIcon","useEffect","focus","vals","values","options","map","child","displayArray","option","find","props","label","fixed","syncDisplayValue","forEach","includes","selected","useBodyClick","event","target","closest","top","bottom","additionalClasses","push","onSelectButtonClick","Fragment","createElement","filterProps","tabIndex","multiple","readyclasses","onKeyDown","select","join","style","SelectButton","onClick","SelectedOptions","onRemove","dispatchEvent","Event","bubbles","Icon","Icons","ChevronUp","ChevronDown","maxHeight","wrapper","pointerEvents","role","list","filterOutSelectedChildren","internalChildren","results","_internalRenderChildren","toArray","toLowerCase","match","escapeRegExp","index","cloneElement","onFocusChange","childIndex","onOptionSelect","optionRef","optionElement","getAttribute","lastSelectedOptionValues","onOptionChangeHandler","isSearching","selectOpened","hasFocus","renderOptions"],"mappings":"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"}