@redsift/table 11.6.0-muiv5-alpha.4 → 11.6.0-muiv5-alpha.6

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 (223) hide show
  1. package/_internal/BaseComponents.d.ts +3 -0
  2. package/_internal/BaseComponents.js +3 -0
  3. package/_internal/BaseComponents.js.map +1 -0
  4. package/_internal/BasePopper.js +2448 -0
  5. package/_internal/BasePopper.js.map +1 -0
  6. package/_internal/BaseTextField.d.ts +15 -0
  7. package/{components/BaseComponents → _internal}/BaseTextField.js +1 -1
  8. package/_internal/BaseTextField.js.map +1 -0
  9. package/_internal/ControlledPagination.js +10484 -0
  10. package/_internal/ControlledPagination.js.map +1 -0
  11. package/_internal/DataGrid.d.ts +6 -0
  12. package/{components/DataGrid/DataGrid.d.ts → _internal/DataGrid.d2.ts} +2 -2
  13. package/_internal/DataGrid.js +2 -0
  14. package/_internal/DataGrid.js.map +1 -0
  15. package/{components/DataGrid/DataGrid.js → _internal/DataGrid2.js} +9 -17
  16. package/_internal/DataGrid2.js.map +1 -0
  17. package/_internal/GridToolbarFilterSemanticField.d.ts +5 -0
  18. package/{components/GridToolbarFilterSemanticField/GridToolbarFilterSemanticField.d.ts → _internal/GridToolbarFilterSemanticField.d2.ts} +2 -2
  19. package/_internal/GridToolbarFilterSemanticField.js +2 -0
  20. package/_internal/GridToolbarFilterSemanticField.js.map +1 -0
  21. package/_internal/GridToolbarFilterSemanticField2.js +5581 -0
  22. package/_internal/GridToolbarFilterSemanticField2.js.map +1 -0
  23. package/_internal/Pagination.d.ts +7 -0
  24. package/_internal/Pagination.js +2 -0
  25. package/_internal/Pagination.js.map +1 -0
  26. package/_internal/Portal.js +4363 -0
  27. package/_internal/Portal.js.map +1 -0
  28. package/{components/Pagination → _internal}/ServerSideControlledPagination.d.ts +19 -3
  29. package/_internal/StatefulDataGrid.d.ts +6 -0
  30. package/{components/StatefulDataGrid/types.d.ts → _internal/StatefulDataGrid.d2.ts} +5 -2
  31. package/_internal/StatefulDataGrid.js +2 -0
  32. package/_internal/StatefulDataGrid.js.map +1 -0
  33. package/{utils/urlLocalStorageSync.js → _internal/StatefulDataGrid2.js} +671 -5
  34. package/_internal/StatefulDataGrid2.js.map +1 -0
  35. package/_internal/TextCell.d.ts +3 -0
  36. package/{components/TextCell/types.d.ts → _internal/TextCell.d2.ts} +7 -2
  37. package/_internal/TextCell.js +2 -0
  38. package/_internal/TextCell.js.map +1 -0
  39. package/{components/TextCell/TextCell.js → _internal/TextCell2.js} +22 -4
  40. package/_internal/TextCell2.js.map +1 -0
  41. package/_internal/Toolbar.d.ts +4 -0
  42. package/{components/Toolbar/types.d.ts → _internal/Toolbar.d2.ts} +19 -3
  43. package/_internal/Toolbar.js +2 -0
  44. package/_internal/Toolbar.js.map +1 -0
  45. package/{components/Toolbar/Toolbar.js → _internal/Toolbar2.js} +18 -5
  46. package/_internal/Toolbar2.js.map +1 -0
  47. package/_internal/ToolbarWrapper.d.ts +6 -0
  48. package/{components/ToolbarWrapper/ToolbarWrapper.d.ts → _internal/ToolbarWrapper.d2.ts} +2 -2
  49. package/_internal/ToolbarWrapper.js +2 -0
  50. package/_internal/ToolbarWrapper.js.map +1 -0
  51. package/{components/ToolbarWrapper/ToolbarWrapper.js → _internal/ToolbarWrapper2.js} +4 -5
  52. package/_internal/ToolbarWrapper2.js.map +1 -0
  53. package/{_virtual → _internal}/_rollupPluginBabelHelpers.js +1 -1
  54. package/_internal/jsx-runtime.js +1342 -0
  55. package/_internal/jsx-runtime.js.map +1 -0
  56. package/{components/DataGrid → _internal}/types.d.ts +1 -2
  57. package/{components/GridToolbarFilterSemanticField/types.d.ts → _internal/types.d2.ts} +1 -1
  58. package/_internal/useControlledDatagridState.js +2175 -0
  59. package/_internal/useControlledDatagridState.js.map +1 -0
  60. package/index.d.ts +405 -39
  61. package/index.js +17 -36
  62. package/index.js.map +1 -1
  63. package/package.json +2 -2
  64. package/_virtual/_commonjsHelpers.js +0 -6
  65. package/_virtual/_commonjsHelpers.js.map +0 -1
  66. package/_virtual/index.js +0 -4
  67. package/_virtual/index.js.map +0 -1
  68. package/_virtual/index2.js +0 -4
  69. package/_virtual/index2.js.map +0 -1
  70. package/_virtual/index3.js +0 -4
  71. package/_virtual/index3.js.map +0 -1
  72. package/_virtual/jsx-runtime.js +0 -4
  73. package/_virtual/jsx-runtime.js.map +0 -1
  74. package/_virtual/react-is.development.js +0 -4
  75. package/_virtual/react-is.development.js.map +0 -1
  76. package/_virtual/react-is.development2.js +0 -4
  77. package/_virtual/react-is.development2.js.map +0 -1
  78. package/_virtual/react-is.production.min.js +0 -4
  79. package/_virtual/react-is.production.min.js.map +0 -1
  80. package/_virtual/react-is.production.min2.js +0 -4
  81. package/_virtual/react-is.production.min2.js.map +0 -1
  82. package/_virtual/react-jsx-runtime.development.js +0 -4
  83. package/_virtual/react-jsx-runtime.development.js.map +0 -1
  84. package/_virtual/react-jsx-runtime.production.min.js +0 -4
  85. package/_virtual/react-jsx-runtime.production.min.js.map +0 -1
  86. package/components/BaseComponents/BaseButton.d.ts +0 -5
  87. package/components/BaseComponents/BaseButton.js +0 -41
  88. package/components/BaseComponents/BaseButton.js.map +0 -1
  89. package/components/BaseComponents/BaseCheckbox.d.ts +0 -5
  90. package/components/BaseComponents/BaseCheckbox.js +0 -24
  91. package/components/BaseComponents/BaseCheckbox.js.map +0 -1
  92. package/components/BaseComponents/BaseIcon.d.ts +0 -7
  93. package/components/BaseComponents/BaseIcon.js +0 -33
  94. package/components/BaseComponents/BaseIcon.js.map +0 -1
  95. package/components/BaseComponents/BasePopper.d.ts +0 -5
  96. package/components/BaseComponents/BasePopper.js +0 -13
  97. package/components/BaseComponents/BasePopper.js.map +0 -1
  98. package/components/BaseComponents/BaseTextField.d.ts +0 -5
  99. package/components/BaseComponents/BaseTextField.js.map +0 -1
  100. package/components/DataGrid/DataGrid.js.map +0 -1
  101. package/components/DataGrid/styles.js +0 -74
  102. package/components/DataGrid/styles.js.map +0 -1
  103. package/components/GridToolbarFilterSemanticField/GridToolbarFilterSemanticField.js +0 -183
  104. package/components/GridToolbarFilterSemanticField/GridToolbarFilterSemanticField.js.map +0 -1
  105. package/components/GridToolbarFilterSemanticField/styles.js +0 -20
  106. package/components/GridToolbarFilterSemanticField/styles.js.map +0 -1
  107. package/components/Pagination/ControlledPagination.d.ts +0 -21
  108. package/components/Pagination/ControlledPagination.js +0 -74
  109. package/components/Pagination/ControlledPagination.js.map +0 -1
  110. package/components/Pagination/ServerSideControlledPagination.js +0 -102
  111. package/components/Pagination/ServerSideControlledPagination.js.map +0 -1
  112. package/components/StatefulDataGrid/StatefulDataGrid.d.ts +0 -6
  113. package/components/StatefulDataGrid/StatefulDataGrid.js +0 -373
  114. package/components/StatefulDataGrid/StatefulDataGrid.js.map +0 -1
  115. package/components/TextCell/TextCell.d.ts +0 -9
  116. package/components/TextCell/TextCell.js.map +0 -1
  117. package/components/TextCell/styles.js +0 -22
  118. package/components/TextCell/styles.js.map +0 -1
  119. package/components/Toolbar/Toolbar.d.ts +0 -20
  120. package/components/Toolbar/Toolbar.js.map +0 -1
  121. package/components/Toolbar/styles.js +0 -17
  122. package/components/Toolbar/styles.js.map +0 -1
  123. package/components/ToolbarWrapper/ToolbarWrapper.js.map +0 -1
  124. package/hooks/useControlledDatagridState.js +0 -109
  125. package/hooks/useControlledDatagridState.js.map +0 -1
  126. package/hooks/useFetchState.js +0 -34
  127. package/hooks/useFetchState.js.map +0 -1
  128. package/hooks/useStatefulTable.d.ts +0 -12
  129. package/hooks/useStatefulTable.js +0 -182
  130. package/hooks/useStatefulTable.js.map +0 -1
  131. package/hooks/useTableStates.js +0 -52
  132. package/hooks/useTableStates.js.map +0 -1
  133. package/packages/design-system/src/components/theme/context.js +0 -7
  134. package/packages/design-system/src/components/theme/context.js.map +0 -1
  135. package/packages/popovers/src/components/tooltip/Tooltip.js +0 -60
  136. package/packages/popovers/src/components/tooltip/Tooltip.js.map +0 -1
  137. package/packages/popovers/src/components/tooltip/context.js +0 -6
  138. package/packages/popovers/src/components/tooltip/context.js.map +0 -1
  139. package/packages/popovers/src/components/tooltip/types.js +0 -28
  140. package/packages/popovers/src/components/tooltip/types.js.map +0 -1
  141. package/packages/popovers/src/components/tooltip/useTooltip.js +0 -78
  142. package/packages/popovers/src/components/tooltip/useTooltip.js.map +0 -1
  143. package/packages/popovers/src/components/tooltip/useTooltipContext.js +0 -13
  144. package/packages/popovers/src/components/tooltip/useTooltipContext.js.map +0 -1
  145. package/packages/popovers/src/components/tooltip-content/TooltipContent.js +0 -79
  146. package/packages/popovers/src/components/tooltip-content/TooltipContent.js.map +0 -1
  147. package/packages/popovers/src/components/tooltip-content/styles.js +0 -127
  148. package/packages/popovers/src/components/tooltip-content/styles.js.map +0 -1
  149. package/packages/popovers/src/components/tooltip-trigger/TooltipTrigger.js +0 -47
  150. package/packages/popovers/src/components/tooltip-trigger/TooltipTrigger.js.map +0 -1
  151. package/utils/columnTypes/index.d.ts +0 -78
  152. package/utils/columnTypes/index.js +0 -49
  153. package/utils/columnTypes/index.js.map +0 -1
  154. package/utils/columns/detailPanelToggleColDef.d.ts +0 -5
  155. package/utils/columns/detailPanelToggleColDef.js +0 -8
  156. package/utils/columns/detailPanelToggleColDef.js.map +0 -1
  157. package/utils/fields/InputNumberInterval.js +0 -85
  158. package/utils/fields/InputNumberInterval.js.map +0 -1
  159. package/utils/gpt.d.ts +0 -3
  160. package/utils/gpt.js +0 -33
  161. package/utils/gpt.js.map +0 -1
  162. package/utils/localStorage.d.ts +0 -17
  163. package/utils/localStorage.js +0 -59
  164. package/utils/localStorage.js.map +0 -1
  165. package/utils/operators/index.d.ts +0 -68
  166. package/utils/operators/index.js +0 -52
  167. package/utils/operators/index.js.map +0 -1
  168. package/utils/operators/numeric/getGridNumericOperators.d.ts +0 -5
  169. package/utils/operators/numeric/getGridNumericOperators.js +0 -7
  170. package/utils/operators/numeric/getGridNumericOperators.js.map +0 -1
  171. package/utils/operators/numeric/isBetween.d.ts +0 -10
  172. package/utils/operators/numeric/isBetween.js +0 -28
  173. package/utils/operators/numeric/isBetween.js.map +0 -1
  174. package/utils/operators/string/doesNotContain.d.ts +0 -10
  175. package/utils/operators/string/doesNotContain.js +0 -25
  176. package/utils/operators/string/doesNotContain.js.map +0 -1
  177. package/utils/operators/string/doesNotEqual.d.ts +0 -10
  178. package/utils/operators/string/doesNotEqual.js +0 -25
  179. package/utils/operators/string/doesNotEqual.js.map +0 -1
  180. package/utils/operators/string/doesNotHave.d.ts +0 -16
  181. package/utils/operators/string/doesNotHave.js +0 -24
  182. package/utils/operators/string/doesNotHave.js.map +0 -1
  183. package/utils/operators/string/getGridStringOperators.d.ts +0 -5
  184. package/utils/operators/string/getGridStringOperators.js +0 -9
  185. package/utils/operators/string/getGridStringOperators.js.map +0 -1
  186. package/utils/operators/string/has.d.ts +0 -16
  187. package/utils/operators/string/has.js +0 -24
  188. package/utils/operators/string/has.js.map +0 -1
  189. package/utils/operators/string/hasOnly.d.ts +0 -16
  190. package/utils/operators/string/hasOnly.js +0 -24
  191. package/utils/operators/string/hasOnly.js.map +0 -1
  192. package/utils/operators/string/is.d.ts +0 -16
  193. package/utils/operators/string/is.js +0 -26
  194. package/utils/operators/string/is.js.map +0 -1
  195. package/utils/operators/string/isNot.d.ts +0 -16
  196. package/utils/operators/string/isNot.js +0 -26
  197. package/utils/operators/string/isNot.js.map +0 -1
  198. package/utils/operators/string-array/containsAnyOf.d.ts +0 -16
  199. package/utils/operators/string-array/containsAnyOf.js +0 -56
  200. package/utils/operators/string-array/containsAnyOf.js.map +0 -1
  201. package/utils/operators/string-array/doesNotHaveAnyOf.js +0 -26
  202. package/utils/operators/string-array/doesNotHaveAnyOf.js.map +0 -1
  203. package/utils/operators/string-array/endsWithAnyOf.d.ts +0 -10
  204. package/utils/operators/string-array/endsWithAnyOf.js +0 -31
  205. package/utils/operators/string-array/endsWithAnyOf.js.map +0 -1
  206. package/utils/operators/string-array/getGridStringArrayOperators.d.ts +0 -7
  207. package/utils/operators/string-array/getGridStringArrayOperators.js +0 -19
  208. package/utils/operators/string-array/getGridStringArrayOperators.js.map +0 -1
  209. package/utils/operators/string-array/hasAnyOf.d.ts +0 -16
  210. package/utils/operators/string-array/hasAnyOf.js +0 -28
  211. package/utils/operators/string-array/hasAnyOf.js.map +0 -1
  212. package/utils/operators/string-array/isAnyOf.d.ts +0 -16
  213. package/utils/operators/string-array/isAnyOf.js +0 -32
  214. package/utils/operators/string-array/isAnyOf.js.map +0 -1
  215. package/utils/operators/string-array/isNotAnyOf.d.ts +0 -10
  216. package/utils/operators/string-array/isNotAnyOf.js +0 -28
  217. package/utils/operators/string-array/isNotAnyOf.js.map +0 -1
  218. package/utils/operators/string-array/startsWithAnyOf.d.ts +0 -10
  219. package/utils/operators/string-array/startsWithAnyOf.js +0 -31
  220. package/utils/operators/string-array/startsWithAnyOf.js.map +0 -1
  221. package/utils/urlLocalStorageSync.d.ts +0 -73
  222. package/utils/urlLocalStorageSync.js.map +0 -1
  223. /package/{_virtual → _internal}/_rollupPluginBabelHelpers.js.map +0 -0
@@ -1,4 +0,0 @@
1
- var reactJsxRuntime_development = {};
2
-
3
- export { reactJsxRuntime_development as __exports };
4
- //# sourceMappingURL=react-jsx-runtime.development.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"react-jsx-runtime.development.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -1,4 +0,0 @@
1
- var reactJsxRuntime_production_min = {};
2
-
3
- export { reactJsxRuntime_production_min as __exports };
4
- //# sourceMappingURL=react-jsx-runtime.production.min.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"react-jsx-runtime.production.min.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -1,5 +0,0 @@
1
- import React from 'react';
2
-
3
- declare const BaseButton: React.JSXElementConstructor<any>;
4
-
5
- export { BaseButton };
@@ -1,41 +0,0 @@
1
- import { objectWithoutProperties as _objectWithoutProperties, extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
2
- import React__default, { forwardRef } from 'react';
3
- import { ButtonsColorPalette, IconButton, Button } from '@redsift/design-system';
4
-
5
- const _excluded = ["children", "color", "onClick", "startIcon"];
6
- const BaseButton = /*#__PURE__*/forwardRef((props, ref) => {
7
- var _props$className;
8
- const {
9
- children,
10
- color: propsColor,
11
- onClick,
12
- startIcon
13
- } = props,
14
- forwardedProps = _objectWithoutProperties(props, _excluded);
15
- const color = Object.keys(ButtonsColorPalette).includes(propsColor) ? propsColor : 'primary';
16
- if ((_props$className = props.className) !== null && _props$className !== void 0 && _props$className.includes('redsift-condensed')) {
17
- return /*#__PURE__*/React__default.createElement(IconButton, _extends({}, forwardedProps, {
18
- color: color,
19
- onClick: onClick,
20
- ref: ref,
21
- variant: "unstyled",
22
- isActive: props['aria-expanded'] === 'true',
23
- icon: typeof startIcon !== 'string' ? /*#__PURE__*/React__default.cloneElement(startIcon, {
24
- fontSize: 'medium'
25
- }) : startIcon,
26
- "aria-label": children,
27
- size: "medium"
28
- }));
29
- }
30
- return /*#__PURE__*/React__default.createElement(Button, _extends({}, forwardedProps, {
31
- color: color,
32
- onClick: onClick,
33
- ref: ref,
34
- variant: "unstyled",
35
- isActive: props['aria-expanded'] === 'true',
36
- leftIcon: startIcon
37
- }), children);
38
- });
39
-
40
- export { BaseButton };
41
- //# sourceMappingURL=BaseButton.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BaseButton.js","sources":["../../../src/components/BaseComponents/BaseButton.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { Button, ButtonsColorPalette, IconButton } from '@redsift/design-system';\n\nexport const BaseButton: React.JSXElementConstructor<any> = forwardRef((props, ref) => {\n const { children, color: propsColor, onClick, startIcon, ...forwardedProps } = props;\n\n const color = Object.keys(ButtonsColorPalette).includes(propsColor) ? propsColor : 'primary';\n\n if (props.className?.includes('redsift-condensed')) {\n return (\n <IconButton\n {...forwardedProps}\n color={color}\n onClick={onClick}\n ref={ref}\n variant=\"unstyled\"\n isActive={props['aria-expanded'] === 'true'}\n icon={typeof startIcon !== 'string' ? React.cloneElement(startIcon, { fontSize: 'medium' }) : startIcon}\n aria-label={children}\n size=\"medium\"\n />\n );\n }\n\n return (\n <Button\n {...forwardedProps}\n color={color}\n onClick={onClick}\n ref={ref}\n variant=\"unstyled\"\n isActive={props['aria-expanded'] === 'true'}\n leftIcon={startIcon}\n >\n {children}\n </Button>\n );\n});\n"],"names":["BaseButton","forwardRef","props","ref","_props$className","children","color","propsColor","onClick","startIcon","forwardedProps","_objectWithoutProperties","_excluded","Object","keys","ButtonsColorPalette","includes","className","React","createElement","IconButton","_extends","variant","isActive","icon","cloneElement","fontSize","size","Button","leftIcon"],"mappings":";;;;;AAGO,MAAMA,UAA4C,gBAAGC,UAAU,CAAC,CAACC,KAAK,EAAEC,GAAG,KAAK;AAAA,EAAA,IAAAC,gBAAA,CAAA;EACrF,MAAM;MAAEC,QAAQ;AAAEC,MAAAA,KAAK,EAAEC,UAAU;MAAEC,OAAO;AAAEC,MAAAA,SAAAA;AAA6B,KAAC,GAAGP,KAAK;AAAxBQ,IAAAA,cAAc,GAAAC,wBAAA,CAAKT,KAAK,EAAAU,SAAA,CAAA,CAAA;AAEpF,EAAA,MAAMN,KAAK,GAAGO,MAAM,CAACC,IAAI,CAACC,mBAAmB,CAAC,CAACC,QAAQ,CAACT,UAAU,CAAC,GAAGA,UAAU,GAAG,SAAS,CAAA;AAE5F,EAAA,IAAA,CAAAH,gBAAA,GAAIF,KAAK,CAACe,SAAS,MAAAb,IAAAA,IAAAA,gBAAA,KAAfA,KAAAA,CAAAA,IAAAA,gBAAA,CAAiBY,QAAQ,CAAC,mBAAmB,CAAC,EAAE;IAClD,oBACEE,cAAA,CAAAC,aAAA,CAACC,UAAU,EAAAC,QAAA,KACLX,cAAc,EAAA;AAClBJ,MAAAA,KAAK,EAAEA,KAAM;AACbE,MAAAA,OAAO,EAAEA,OAAQ;AACjBL,MAAAA,GAAG,EAAEA,GAAI;AACTmB,MAAAA,OAAO,EAAC,UAAU;AAClBC,MAAAA,QAAQ,EAAErB,KAAK,CAAC,eAAe,CAAC,KAAK,MAAO;MAC5CsB,IAAI,EAAE,OAAOf,SAAS,KAAK,QAAQ,gBAAGS,cAAK,CAACO,YAAY,CAAChB,SAAS,EAAE;AAAEiB,QAAAA,QAAQ,EAAE,QAAA;OAAU,CAAC,GAAGjB,SAAU;AACxG,MAAA,YAAA,EAAYJ,QAAS;AACrBsB,MAAAA,IAAI,EAAC,QAAA;AAAQ,KAAA,CACd,CAAC,CAAA;AAEN,GAAA;EAEA,oBACET,cAAA,CAAAC,aAAA,CAACS,MAAM,EAAAP,QAAA,KACDX,cAAc,EAAA;AAClBJ,IAAAA,KAAK,EAAEA,KAAM;AACbE,IAAAA,OAAO,EAAEA,OAAQ;AACjBL,IAAAA,GAAG,EAAEA,GAAI;AACTmB,IAAAA,OAAO,EAAC,UAAU;AAClBC,IAAAA,QAAQ,EAAErB,KAAK,CAAC,eAAe,CAAC,KAAK,MAAO;AAC5C2B,IAAAA,QAAQ,EAAEpB,SAAAA;AAAU,GAAA,CAAA,EAEnBJ,QACK,CAAC,CAAA;AAEb,CAAC;;;;"}
@@ -1,5 +0,0 @@
1
- import React from 'react';
2
-
3
- declare const BaseCheckbox: React.JSXElementConstructor<any>;
4
-
5
- export { BaseCheckbox };
@@ -1,24 +0,0 @@
1
- import { objectWithoutProperties as _objectWithoutProperties, extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
2
- import React__default, { forwardRef } from 'react';
3
- import { Checkbox } from '@redsift/design-system';
4
-
5
- const _excluded = ["checked", "indeterminate", "disabled", "onChange"];
6
- const BaseCheckbox = /*#__PURE__*/forwardRef((props, ref) => {
7
- const {
8
- checked,
9
- indeterminate,
10
- disabled,
11
- onChange
12
- } = props,
13
- forwardedProps = _objectWithoutProperties(props, _excluded);
14
- return /*#__PURE__*/React__default.createElement(Checkbox, _extends({}, forwardedProps, forwardedProps.inputProps, {
15
- isSelected: checked && !indeterminate,
16
- isDisabled: disabled,
17
- isIndeterminate: indeterminate,
18
- ref: ref,
19
- onChange: (isChecked, value, name, event) => onChange(event)
20
- }));
21
- });
22
-
23
- export { BaseCheckbox };
24
- //# sourceMappingURL=BaseCheckbox.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BaseCheckbox.js","sources":["../../../src/components/BaseComponents/BaseCheckbox.tsx"],"sourcesContent":["import React, { forwardRef, MutableRefObject } from 'react';\nimport { Checkbox } from '@redsift/design-system';\n\nexport const BaseCheckbox: React.JSXElementConstructor<any> = forwardRef((props, ref) => {\n const { checked, indeterminate, disabled, onChange, ...forwardedProps } = props;\n\n return (\n <Checkbox\n {...forwardedProps}\n {...forwardedProps.inputProps}\n isSelected={checked && !indeterminate}\n isDisabled={disabled}\n isIndeterminate={indeterminate}\n ref={ref as MutableRefObject<HTMLLabelElement>}\n onChange={(isChecked, value, name, event) => onChange(event)}\n />\n );\n});\n"],"names":["BaseCheckbox","forwardRef","props","ref","checked","indeterminate","disabled","onChange","forwardedProps","_objectWithoutProperties","_excluded","React","createElement","Checkbox","_extends","inputProps","isSelected","isDisabled","isIndeterminate","isChecked","value","name","event"],"mappings":";;;;;AAGO,MAAMA,YAA8C,gBAAGC,UAAU,CAAC,CAACC,KAAK,EAAEC,GAAG,KAAK;EACvF,MAAM;MAAEC,OAAO;MAAEC,aAAa;MAAEC,QAAQ;AAAEC,MAAAA,QAAAA;AAA4B,KAAC,GAAGL,KAAK;AAAxBM,IAAAA,cAAc,GAAAC,wBAAA,CAAKP,KAAK,EAAAQ,SAAA,CAAA,CAAA;AAE/E,EAAA,oBACEC,cAAA,CAAAC,aAAA,CAACC,QAAQ,EAAAC,QAAA,CAAA,EAAA,EACHN,cAAc,EACdA,cAAc,CAACO,UAAU,EAAA;AAC7BC,IAAAA,UAAU,EAAEZ,OAAO,IAAI,CAACC,aAAc;AACtCY,IAAAA,UAAU,EAAEX,QAAS;AACrBY,IAAAA,eAAe,EAAEb,aAAc;AAC/BF,IAAAA,GAAG,EAAEA,GAA0C;AAC/CI,IAAAA,QAAQ,EAAEA,CAACY,SAAS,EAAEC,KAAK,EAAEC,IAAI,EAAEC,KAAK,KAAKf,QAAQ,CAACe,KAAK,CAAA;AAAE,GAAA,CAC9D,CAAC,CAAA;AAEN,CAAC;;;;"}
@@ -1,7 +0,0 @@
1
- import React from 'react';
2
- import { GridSlotsComponent } from '@mui/x-data-grid-pro';
3
-
4
- declare const muiIconToDSIcon: Partial<Record<keyof GridSlotsComponent, string>>;
5
- declare const BaseIcon: React.JSXElementConstructor<any>;
6
-
7
- export { BaseIcon, muiIconToDSIcon };
@@ -1,33 +0,0 @@
1
- import { objectWithoutProperties as _objectWithoutProperties, extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
2
- import React__default, { forwardRef } from 'react';
3
- import { Icon } from '@redsift/design-system';
4
- import { mdiFilterVariant, mdiViewColumn, mdiChevronUp, mdiChevronDown, mdiViewHeadline, mdiViewSequential, mdiViewStream, mdiChevronRight, mdiTrayArrowDown } from '@redsift/icons';
5
-
6
- const _excluded = ["displayName"];
7
- const muiIconToDSIcon = {
8
- ColumnFilteredIcon: mdiFilterVariant,
9
- ColumnSelectorIcon: mdiViewColumn,
10
- ColumnSortedAscendingIcon: mdiChevronUp,
11
- ColumnSortedDescendingIcon: mdiChevronDown,
12
- DensityCompactIcon: mdiViewHeadline,
13
- DensityStandardIcon: mdiViewSequential,
14
- DensityComfortableIcon: mdiViewStream,
15
- DetailPanelCollapseIcon: mdiChevronDown,
16
- DetailPanelExpandIcon: mdiChevronRight,
17
- ExportIcon: mdiTrayArrowDown,
18
- OpenFilterButtonIcon: mdiFilterVariant
19
- };
20
- const BaseIcon = /*#__PURE__*/forwardRef((props, ref) => {
21
- const {
22
- displayName
23
- } = props,
24
- forwardedProps = _objectWithoutProperties(props, _excluded);
25
- return /*#__PURE__*/React__default.createElement(Icon, _extends({}, forwardedProps, forwardedProps.inputProps, {
26
- ref: ref,
27
- size: forwardedProps.fontSize,
28
- icon: muiIconToDSIcon[displayName]
29
- }));
30
- });
31
-
32
- export { BaseIcon, muiIconToDSIcon };
33
- //# sourceMappingURL=BaseIcon.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BaseIcon.js","sources":["../../../src/components/BaseComponents/BaseIcon.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { Icon } from '@redsift/design-system';\nimport {\n mdiChevronDown,\n mdiChevronRight,\n mdiChevronUp,\n mdiFilterVariant,\n mdiTrayArrowDown,\n mdiViewColumn,\n mdiViewHeadline,\n mdiViewSequential,\n mdiViewStream,\n} from '@redsift/icons';\nimport { GridSlotsComponent } from '@mui/x-data-grid-pro';\n\nexport const muiIconToDSIcon: Partial<Record<keyof GridSlotsComponent, string>> = {\n ColumnFilteredIcon: mdiFilterVariant,\n ColumnSelectorIcon: mdiViewColumn,\n ColumnSortedAscendingIcon: mdiChevronUp,\n ColumnSortedDescendingIcon: mdiChevronDown,\n DensityCompactIcon: mdiViewHeadline,\n DensityStandardIcon: mdiViewSequential,\n DensityComfortableIcon: mdiViewStream,\n DetailPanelCollapseIcon: mdiChevronDown,\n DetailPanelExpandIcon: mdiChevronRight,\n ExportIcon: mdiTrayArrowDown,\n OpenFilterButtonIcon: mdiFilterVariant,\n};\n\nexport const BaseIcon: React.JSXElementConstructor<any> = forwardRef((props, ref) => {\n const { displayName, ...forwardedProps } = props;\n\n return (\n <Icon\n {...forwardedProps}\n {...forwardedProps.inputProps}\n ref={ref}\n size={forwardedProps.fontSize}\n icon={muiIconToDSIcon[displayName as keyof GridSlotsComponent]}\n />\n );\n});\n"],"names":["muiIconToDSIcon","ColumnFilteredIcon","mdiFilterVariant","ColumnSelectorIcon","mdiViewColumn","ColumnSortedAscendingIcon","mdiChevronUp","ColumnSortedDescendingIcon","mdiChevronDown","DensityCompactIcon","mdiViewHeadline","DensityStandardIcon","mdiViewSequential","DensityComfortableIcon","mdiViewStream","DetailPanelCollapseIcon","DetailPanelExpandIcon","mdiChevronRight","ExportIcon","mdiTrayArrowDown","OpenFilterButtonIcon","BaseIcon","forwardRef","props","ref","displayName","forwardedProps","_objectWithoutProperties","_excluded","React","createElement","Icon","_extends","inputProps","size","fontSize","icon"],"mappings":";;;;;;AAeO,MAAMA,eAAkE,GAAG;AAChFC,EAAAA,kBAAkB,EAAEC,gBAAgB;AACpCC,EAAAA,kBAAkB,EAAEC,aAAa;AACjCC,EAAAA,yBAAyB,EAAEC,YAAY;AACvCC,EAAAA,0BAA0B,EAAEC,cAAc;AAC1CC,EAAAA,kBAAkB,EAAEC,eAAe;AACnCC,EAAAA,mBAAmB,EAAEC,iBAAiB;AACtCC,EAAAA,sBAAsB,EAAEC,aAAa;AACrCC,EAAAA,uBAAuB,EAAEP,cAAc;AACvCQ,EAAAA,qBAAqB,EAAEC,eAAe;AACtCC,EAAAA,UAAU,EAAEC,gBAAgB;AAC5BC,EAAAA,oBAAoB,EAAElB,gBAAAA;AACxB,EAAC;AAEM,MAAMmB,QAA0C,gBAAGC,UAAU,CAAC,CAACC,KAAK,EAAEC,GAAG,KAAK;EACnF,MAAM;AAAEC,MAAAA,WAAAA;AAA+B,KAAC,GAAGF,KAAK;AAAxBG,IAAAA,cAAc,GAAAC,wBAAA,CAAKJ,KAAK,EAAAK,SAAA,CAAA,CAAA;AAEhD,EAAA,oBACEC,cAAA,CAAAC,aAAA,CAACC,IAAI,EAAAC,QAAA,CAAA,EAAA,EACCN,cAAc,EACdA,cAAc,CAACO,UAAU,EAAA;AAC7BT,IAAAA,GAAG,EAAEA,GAAI;IACTU,IAAI,EAAER,cAAc,CAACS,QAAS;IAC9BC,IAAI,EAAEpC,eAAe,CAACyB,WAAW,CAAA;AAA8B,GAAA,CAChE,CAAC,CAAA;AAEN,CAAC;;;;"}
@@ -1,5 +0,0 @@
1
- import React from 'react';
2
-
3
- declare const BasePopper: React.JSXElementConstructor<any>;
4
-
5
- export { BasePopper };
@@ -1,13 +0,0 @@
1
- import { extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
2
- import React__default, { forwardRef } from 'react';
3
- import Popper from '../../node_modules/@mui/material/Popper/Popper.js';
4
-
5
- const BasePopper = /*#__PURE__*/forwardRef((props, ref) => {
6
- return /*#__PURE__*/React__default.createElement(Popper, _extends({}, props, {
7
- ref: ref,
8
- container: () => document.getElementById('redsift-app-container')
9
- }));
10
- });
11
-
12
- export { BasePopper };
13
- //# sourceMappingURL=BasePopper.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BasePopper.js","sources":["../../../src/components/BaseComponents/BasePopper.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport Popper from '@mui/material/Popper';\n\nexport const BasePopper: React.JSXElementConstructor<any> = forwardRef((props, ref) => {\n return <Popper {...props} ref={ref} container={() => document.getElementById('redsift-app-container')} />;\n});\n"],"names":["BasePopper","forwardRef","props","ref","React","createElement","Popper","_extends","container","document","getElementById"],"mappings":";;;;AAGO,MAAMA,UAA4C,gBAAGC,UAAU,CAAC,CAACC,KAAK,EAAEC,GAAG,KAAK;EACrF,oBAAOC,cAAA,CAAAC,aAAA,CAACC,MAAM,EAAAC,QAAA,KAAKL,KAAK,EAAA;AAAEC,IAAAA,GAAG,EAAEA,GAAI;AAACK,IAAAA,SAAS,EAAEA,MAAMC,QAAQ,CAACC,cAAc,CAAC,uBAAuB,CAAA;AAAE,GAAA,CAAE,CAAC,CAAA;AAC3G,CAAC;;;;"}
@@ -1,5 +0,0 @@
1
- import React from 'react';
2
-
3
- declare const BaseTextField: React.JSXElementConstructor<any>;
4
-
5
- export { BaseTextField };
@@ -1 +0,0 @@
1
- {"version":3,"file":"BaseTextField.js","sources":["../../../src/components/BaseComponents/BaseTextField.tsx"],"sourcesContent":["import React, { forwardRef, MutableRefObject } from 'react';\nimport { TextField } from '@redsift/design-system';\n\nexport const BaseTextField: React.JSXElementConstructor<any> = forwardRef((props, ref) => {\n const { label, id, value, onChange, placeholder } = props;\n return (\n <TextField\n marginTop=\"6px\"\n inputRef={ref as MutableRefObject<HTMLInputElement>}\n label={label}\n id={id}\n value={value}\n variant=\"underline\"\n onChange={(value, name, event) => onChange(event)}\n autoFocus\n placeholder={placeholder}\n />\n );\n});\n"],"names":["BaseTextField","forwardRef","props","ref","label","id","value","onChange","placeholder","React","createElement","TextField","marginTop","inputRef","variant","name","event","autoFocus"],"mappings":";;;AAGO,MAAMA,aAA+C,gBAAGC,UAAU,CAAC,CAACC,KAAK,EAAEC,GAAG,KAAK;EACxF,MAAM;IAAEC,KAAK;IAAEC,EAAE;IAAEC,KAAK;IAAEC,QAAQ;AAAEC,IAAAA,WAAAA;AAAY,GAAC,GAAGN,KAAK,CAAA;AACzD,EAAA,oBACEO,cAAA,CAAAC,aAAA,CAACC,SAAS,EAAA;AACRC,IAAAA,SAAS,EAAC,KAAK;AACfC,IAAAA,QAAQ,EAAEV,GAA0C;AACpDC,IAAAA,KAAK,EAAEA,KAAM;AACbC,IAAAA,EAAE,EAAEA,EAAG;AACPC,IAAAA,KAAK,EAAEA,KAAM;AACbQ,IAAAA,OAAO,EAAC,WAAW;IACnBP,QAAQ,EAAEA,CAACD,KAAK,EAAES,IAAI,EAAEC,KAAK,KAAKT,QAAQ,CAACS,KAAK,CAAE;IAClDC,SAAS,EAAA,IAAA;AACTT,IAAAA,WAAW,EAAEA,WAAAA;AAAY,GAC1B,CAAC,CAAA;AAEN,CAAC;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"DataGrid.js","sources":["../../../src/components/DataGrid/DataGrid.tsx"],"sourcesContent":["import React, { forwardRef, RefObject, useEffect, useMemo, useRef, useState } from 'react';\nimport { ThemeProvider as MuiThemeProvider, createTheme } from '@mui/material/styles';\nimport classNames from 'classnames';\nimport { LicenseInfo } from '@mui/x-license-pro';\nimport {\n Comp,\n RedsiftColorBlueN,\n RedsiftColorNeutralWhite,\n RedsiftColorNeutralXDarkGrey,\n ThemeProvider,\n useTheme,\n} from '@redsift/design-system';\nimport {\n DataGridPro,\n GridCallbackDetails,\n gridFilteredSortedRowEntriesSelector,\n gridFilteredSortedRowIdsSelector,\n gridPaginatedVisibleSortedGridRowEntriesSelector,\n gridPaginatedVisibleSortedGridRowIdsSelector,\n GridRowParams,\n GridSelectionModel,\n useGridApiRef,\n} from '@mui/x-data-grid-pro';\n\nimport { StyledDataGrid } from './styles';\nimport { DataGridProps, SelectionStatus } from './types';\nimport { Toolbar as DefaultToolbar } from '../Toolbar';\nimport { BaseIcon, BaseButton, BaseCheckbox, BasePopper } from '../BaseComponents';\nimport { ToolbarWrapper } from '../ToolbarWrapper';\nimport { onServerSideSelectionStatusChange, ServerSideControlledPagination, ControlledPagination } from '../Pagination';\nimport { customColumnTypes } from '../../utils/columnTypes';\nimport { useControlledDatagridState } from '../../hooks/useControlledDatagridState';\n\nconst COMPONENT_NAME = 'DataGrid';\nconst CLASSNAME = 'redsift-datagrid';\n\nexport const DataGrid: Comp<DataGridProps, HTMLDivElement> = forwardRef((props, ref) => {\n const datagridRef = ref || useRef<HTMLDivElement>();\n\n const {\n apiRef: propsApiRef,\n autoHeight,\n className,\n columnTypes: propsColumnTypes,\n components,\n componentsProps,\n filterModel: propsFilterModel,\n columnVisibilityModel: propsColumnVisibilityModel,\n pinnedColumns: propsPinnedColumns,\n sortModel: propsSortModel,\n height: propsHeight,\n hideToolbar,\n initialState,\n isRowSelectable,\n license = process.env.MUI_LICENSE_KEY,\n onFilterModelChange: propsOnFilterModelChange,\n onPageChange: propsOnPageChange,\n onPageSizeChange: propsOnPageSizeChange,\n onColumnVisibilityModelChange: propsOnColumnVisibilityModelChange,\n onPinnedColumnsChange: propsOnPinnedColumnsChange,\n onSortModelChange: propsOnSortModelChange,\n selectionModel: propsSelectionModel,\n onSelectionModelChange: propsOnSelectionModelChange,\n page: propsPage,\n pageSize: propsPageSize,\n pagination,\n paginationPlacement = 'both',\n paginationProps,\n rows,\n rowsPerPageOptions,\n sx,\n theme: propsTheme,\n paginationMode = 'client',\n rowCount,\n ...forwardedProps\n } = props;\n\n const theme = useTheme(propsTheme);\n\n const _apiRef = useGridApiRef();\n const apiRef = propsApiRef ?? _apiRef;\n const RenderedToolbar = components?.Toolbar ? components.Toolbar : DefaultToolbar;\n\n LicenseInfo.setLicenseKey(license!);\n\n const height = propsHeight ?? (autoHeight ? undefined : '500px');\n\n const {\n columnVisibilityModel,\n filterModel,\n onColumnVisibilityModelChange,\n onFilterModelChange,\n onPageChange,\n onPageSizeChange,\n onPinnedColumnsChange,\n onSortModelChange,\n page,\n pageSize,\n pinnedColumns,\n sortModel,\n } = useControlledDatagridState({\n initialState,\n rowsPerPageOptions,\n propsColumnVisibilityModel,\n propsFilterModel,\n propsOnColumnVisibilityModelChange,\n propsOnFilterModelChange,\n propsOnPinnedColumnsChange,\n propsOnSortModelChange,\n propsPage,\n propsPageSize,\n propsPinnedColumns,\n propsSortModel,\n propsOnPageChange,\n propsOnPageSizeChange,\n });\n\n const [selectionModel, setSelectionModel] = useState(propsSelectionModel ?? []);\n useEffect(() => {\n setSelectionModel(propsSelectionModel ?? []);\n }, [propsSelectionModel]);\n\n const onSelectionModelChange = (selectionModel: GridSelectionModel, details: GridCallbackDetails) => {\n if (propsOnSelectionModelChange) {\n propsOnSelectionModelChange(selectionModel, details);\n } else {\n setSelectionModel(selectionModel);\n }\n };\n\n const selectionStatus = useRef<SelectionStatus>({\n type: 'none',\n numberOfSelectedRows: 0,\n numberOfSelectedRowsInPage: 0,\n page,\n pageSize,\n });\n\n // in server-side pagination we want to update the selection status\n // every time we navigate between pages, resize our page or select something\n useEffect(() => {\n if (paginationMode == 'server') {\n onServerSideSelectionStatusChange(\n Array.isArray(selectionModel) ? selectionModel : [selectionModel],\n apiRef,\n selectionStatus,\n isRowSelectable,\n page,\n pageSize\n );\n }\n }, [selectionModel, page, pageSize]);\n\n if (!Array.isArray(rows)) {\n return null;\n }\n\n const muiTheme = useMemo(\n () =>\n createTheme({\n palette: {\n mode: theme,\n primary: { main: RedsiftColorBlueN },\n background: {\n default: theme === 'dark' ? RedsiftColorNeutralXDarkGrey : RedsiftColorNeutralWhite,\n paper: theme === 'dark' ? RedsiftColorNeutralXDarkGrey : RedsiftColorNeutralWhite,\n },\n },\n }),\n [theme]\n );\n\n return (\n <ThemeProvider value={{ theme }}>\n <MuiThemeProvider theme={muiTheme}>\n {/* <pre>{JSON.stringify(selectionStatus, null, 2)}</pre> */}\n <StyledDataGrid\n ref={datagridRef as RefObject<HTMLDivElement>}\n className={classNames(DataGrid.className, className)}\n $height={height}\n >\n <DataGridPro\n {...forwardedProps}\n rowCount={rowCount!}\n apiRef={apiRef}\n autoHeight={autoHeight}\n checkboxSelectionVisibleOnly={Boolean(pagination)}\n columnTypes={{ ...customColumnTypes, ...propsColumnTypes }}\n components={{\n BaseButton,\n BaseCheckbox,\n // BaseTextField,\n BasePopper,\n ColumnFilteredIcon: (props) => <BaseIcon {...props} displayName=\"ColumnFilteredIcon\" />,\n ColumnSelectorIcon: (props) => <BaseIcon {...props} displayName=\"ColumnSelectorIcon\" />,\n ColumnSortedAscendingIcon: (props) => <BaseIcon {...props} displayName=\"ColumnSortedAscendingIcon\" />,\n ColumnSortedDescendingIcon: (props) => <BaseIcon {...props} displayName=\"ColumnSortedDescendingIcon\" />,\n DensityCompactIcon: (props) => <BaseIcon {...props} displayName=\"DensityCompactIcon\" />,\n DensityStandardIcon: (props) => <BaseIcon {...props} displayName=\"DensityStandardIcon\" />,\n DensityComfortableIcon: (props) => <BaseIcon {...props} displayName=\"DensityComfortableIcon\" />,\n DetailPanelCollapseIcon: (props) => <BaseIcon {...props} displayName=\"DetailPanelCollapseIcon\" />,\n DetailPanelExpandIcon: (props) => <BaseIcon {...props} displayName=\"DetailPanelExpandIcon\" />,\n ExportIcon: (props) => <BaseIcon {...props} displayName=\"ExportIcon\" />,\n OpenFilterButtonIcon: (props) => <BaseIcon displayName=\"OpenFilterButtonIcon\" {...props} />,\n ...components,\n Toolbar: ToolbarWrapper,\n Pagination: (props) =>\n pagination ? (\n paginationMode == 'server' ? (\n <ServerSideControlledPagination\n {...props}\n displaySelection={false}\n displayRowsPerPage={['bottom', 'both'].includes(paginationPlacement!)}\n displayPagination={['bottom', 'both'].includes(paginationPlacement!)}\n selectionStatus={selectionStatus.current}\n page={page}\n onPageChange={onPageChange}\n pageSize={pageSize}\n onPageSizeChange={onPageSizeChange}\n rowsPerPageOptions={rowsPerPageOptions}\n paginationProps={paginationProps}\n paginationMode={paginationMode}\n rowCount={rowCount!}\n />\n ) : (\n <ControlledPagination\n {...props}\n displaySelection={false}\n displayRowsPerPage={['bottom', 'both'].includes(paginationPlacement!)}\n displayPagination={['bottom', 'both'].includes(paginationPlacement!)}\n selectionStatus={selectionStatus.current}\n apiRef={apiRef}\n isRowSelectable={isRowSelectable}\n page={page}\n onPageChange={onPageChange}\n pageSize={pageSize}\n onPageSizeChange={onPageSizeChange}\n rowsPerPageOptions={rowsPerPageOptions}\n paginationProps={paginationProps}\n paginationMode={paginationMode}\n />\n )\n ) : null,\n }}\n componentsProps={{\n ...componentsProps,\n toolbar: {\n hideToolbar,\n RenderedToolbar,\n filterModel,\n onFilterModelChange,\n pagination,\n paginationPlacement,\n selectionStatus,\n apiRef,\n isRowSelectable,\n page,\n onPageChange,\n pageSize,\n onPageSizeChange,\n rowsPerPageOptions,\n paginationProps,\n paginationMode,\n rowCount,\n ...componentsProps?.toolbar,\n },\n }}\n filterModel={filterModel}\n columnVisibilityModel={columnVisibilityModel}\n pinnedColumns={pinnedColumns}\n sortModel={sortModel}\n initialState={initialState}\n isRowSelectable={isRowSelectable}\n onFilterModelChange={onFilterModelChange}\n onColumnVisibilityModelChange={onColumnVisibilityModelChange}\n onPinnedColumnsChange={onPinnedColumnsChange}\n onSortModelChange={onSortModelChange}\n pagination={pagination}\n paginationMode={paginationMode}\n keepNonExistentRowsSelected={paginationMode == 'server'}\n rows={rows}\n rowsPerPageOptions={rowsPerPageOptions}\n page={page}\n onPageChange={onPageChange}\n pageSize={pageSize}\n onPageSizeChange={onPageSizeChange}\n selectionModel={selectionModel}\n onSelectionModelChange={(newSelectionModel, details) => {\n if (pagination && paginationMode != 'server') {\n const selectableRowsInPage = isRowSelectable\n ? gridPaginatedVisibleSortedGridRowEntriesSelector(apiRef)\n .filter(({ model }) => isRowSelectable({ row: model } as GridRowParams))\n .map(({ id }) => id)\n : gridPaginatedVisibleSortedGridRowIdsSelector(apiRef);\n const numberOfSelectableRowsInPage = selectableRowsInPage.length;\n\n const selectableRowsInTable = isRowSelectable\n ? gridFilteredSortedRowEntriesSelector(apiRef)\n .filter(({ model }) => isRowSelectable({ row: model } as GridRowParams))\n .map(({ id }) => id)\n : gridFilteredSortedRowIdsSelector(apiRef);\n const numberOfSelectableRowsInTable = selectableRowsInTable.length;\n\n const numberOfSelectedRows = newSelectionModel.length;\n\n if (\n (selectionStatus.current.type === 'table' &&\n numberOfSelectedRows === numberOfSelectableRowsInTable - numberOfSelectableRowsInPage) ||\n (selectionStatus.current.type === 'table' &&\n numberOfSelectedRows === numberOfSelectableRowsInTable) ||\n (selectionStatus.current.type === 'page' && numberOfSelectedRows === numberOfSelectableRowsInPage)\n ) {\n setTimeout(() => {\n apiRef.current.selectRows([], true, true);\n }, 0);\n }\n\n if (\n numberOfSelectedRows === numberOfSelectableRowsInPage &&\n numberOfSelectableRowsInPage < numberOfSelectableRowsInTable\n ) {\n selectionStatus.current = {\n type: 'page',\n numberOfSelectedRows,\n };\n } else if (\n numberOfSelectedRows === numberOfSelectableRowsInTable &&\n numberOfSelectableRowsInPage < numberOfSelectableRowsInTable\n ) {\n selectionStatus.current = {\n type: 'table',\n numberOfSelectedRows,\n };\n } else if (numberOfSelectedRows > 0) {\n selectionStatus.current = {\n type: 'other',\n numberOfSelectedRows,\n };\n } else {\n selectionStatus.current = {\n type: 'none',\n numberOfSelectedRows,\n };\n }\n }\n onSelectionModelChange?.(newSelectionModel, details);\n }}\n sx={{\n ...sx,\n '.MuiDataGrid-columnHeaders': {\n flexDirection: 'column',\n alignItems: 'normal',\n },\n '.MuiDataGrid-selectedRowCount': {\n margin: 'none',\n },\n }}\n />\n </StyledDataGrid>\n </MuiThemeProvider>\n </ThemeProvider>\n );\n});\nDataGrid.className = CLASSNAME;\nDataGrid.displayName = COMPONENT_NAME;\n"],"names":["COMPONENT_NAME","CLASSNAME","DataGrid","forwardRef","props","ref","datagridRef","useRef","apiRef","propsApiRef","autoHeight","className","columnTypes","propsColumnTypes","components","componentsProps","filterModel","propsFilterModel","columnVisibilityModel","propsColumnVisibilityModel","pinnedColumns","propsPinnedColumns","sortModel","propsSortModel","height","propsHeight","hideToolbar","initialState","isRowSelectable","license","process","env","MUI_LICENSE_KEY","onFilterModelChange","propsOnFilterModelChange","onPageChange","propsOnPageChange","onPageSizeChange","propsOnPageSizeChange","onColumnVisibilityModelChange","propsOnColumnVisibilityModelChange","onPinnedColumnsChange","propsOnPinnedColumnsChange","onSortModelChange","propsOnSortModelChange","selectionModel","propsSelectionModel","onSelectionModelChange","propsOnSelectionModelChange","page","propsPage","pageSize","propsPageSize","pagination","paginationPlacement","paginationProps","rows","rowsPerPageOptions","sx","theme","propsTheme","paginationMode","rowCount","forwardedProps","_objectWithoutProperties","_excluded","useTheme","_apiRef","useGridApiRef","RenderedToolbar","Toolbar","DefaultToolbar","LicenseInfo","setLicenseKey","undefined","useControlledDatagridState","setSelectionModel","useState","useEffect","details","selectionStatus","type","numberOfSelectedRows","numberOfSelectedRowsInPage","onServerSideSelectionStatusChange","Array","isArray","muiTheme","useMemo","createTheme","palette","mode","primary","main","RedsiftColorBlueN","background","default","RedsiftColorNeutralXDarkGrey","RedsiftColorNeutralWhite","paper","React","createElement","ThemeProvider","value","MuiThemeProvider","StyledDataGrid","classNames","$height","DataGridPro","_extends","checkboxSelectionVisibleOnly","Boolean","_objectSpread","customColumnTypes","BaseButton","BaseCheckbox","BasePopper","ColumnFilteredIcon","BaseIcon","displayName","ColumnSelectorIcon","ColumnSortedAscendingIcon","ColumnSortedDescendingIcon","DensityCompactIcon","DensityStandardIcon","DensityComfortableIcon","DetailPanelCollapseIcon","DetailPanelExpandIcon","ExportIcon","OpenFilterButtonIcon","ToolbarWrapper","Pagination","ServerSideControlledPagination","displaySelection","displayRowsPerPage","includes","displayPagination","current","ControlledPagination","toolbar","keepNonExistentRowsSelected","newSelectionModel","selectableRowsInPage","gridPaginatedVisibleSortedGridRowEntriesSelector","filter","_ref","model","row","map","_ref2","id","gridPaginatedVisibleSortedGridRowIdsSelector","numberOfSelectableRowsInPage","length","selectableRowsInTable","gridFilteredSortedRowEntriesSelector","_ref3","_ref4","gridFilteredSortedRowIdsSelector","numberOfSelectableRowsInTable","setTimeout","selectRows","flexDirection","alignItems","margin"],"mappings":"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"}
@@ -1,74 +0,0 @@
1
- import styled, { css } from 'styled-components';
2
-
3
- /**
4
- * Component style.
5
- */
6
- const StyledDataGrid = styled.div`
7
- ${_ref => {
8
- let {
9
- $height
10
- } = _ref;
11
- return $height ? css`
12
- height: ${$height};
13
- ` : '';
14
- }}
15
-
16
- width: 100%;
17
-
18
- .MuiDataGrid-root {
19
- font-family: var(--redsift-typography-datagrid-header-font-family);
20
- border: none;
21
- }
22
-
23
- .MuiDataGrid-row {
24
- font-family: var(--redsift-typography-datagrid-cell-font-family);
25
- font-size: var(--redsift-typography-datagrid-cell-font-size);
26
- font-weight: var(--redsift-typography-datagrid-cell-font-weight);
27
- }
28
-
29
- .MuiDataGrid-columnHeaderTitle {
30
- font-family: var(--redsift-typography-datagrid-header-font-family);
31
- font-size: var(--redsift-typography-datagrid-header-font-size);
32
- font-weight: var(--redsift-typography-datagrid-header-font-weight);
33
- }
34
-
35
- .MuiDataGrid-columnHeaders {
36
- border-bottom-color: var(--redsift-color-primary-n);
37
- }
38
-
39
- .MuiDataGrid-columnSeparator {
40
- display: none;
41
- }
42
-
43
- .MuiTablePagination-root {
44
- .MuiTablePagination-selectLabel {
45
- font-family: var(--redsift-typography-datagrid-header-font-family);
46
- }
47
- .MuiTablePagination-displayedRows {
48
- font-family: var(--redsift-typography-datagrid-cell-font-family);
49
- }
50
-
51
- .MuiInputBase-root {
52
- font-family: var(--redsift-typography-datagrid-cell-font-family);
53
- }
54
- }
55
-
56
- .Mui-checked {
57
- color: var(--redsift-color-primary-n);
58
- }
59
-
60
- .MuiDataGrid-rowCount {
61
- font-family: var(--redsift-typography-datagrid-cell-font-family);
62
- }
63
-
64
- .MuiTablePagination-displayedRows {
65
- font-family: var(--redsift-typography-datagrid-cell-font-family);
66
- }
67
-
68
- .MuiBadge-standard {
69
- font-family: var(--redsift-typography-datagrid-cell-font-family);
70
- }
71
- `;
72
-
73
- export { StyledDataGrid };
74
- //# sourceMappingURL=styles.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"styles.js","sources":["../../../src/components/DataGrid/styles.ts"],"sourcesContent":["import styled, { css } from 'styled-components';\nimport { StyledDataGridProps } from './types';\n\n/**\n * Component style.\n */\nexport const StyledDataGrid = styled.div<StyledDataGridProps>`\n ${({ $height }) =>\n $height\n ? css`\n height: ${$height};\n `\n : ''}\n\n width: 100%;\n\n .MuiDataGrid-root {\n font-family: var(--redsift-typography-datagrid-header-font-family);\n border: none;\n }\n\n .MuiDataGrid-row {\n font-family: var(--redsift-typography-datagrid-cell-font-family);\n font-size: var(--redsift-typography-datagrid-cell-font-size);\n font-weight: var(--redsift-typography-datagrid-cell-font-weight);\n }\n\n .MuiDataGrid-columnHeaderTitle {\n font-family: var(--redsift-typography-datagrid-header-font-family);\n font-size: var(--redsift-typography-datagrid-header-font-size);\n font-weight: var(--redsift-typography-datagrid-header-font-weight);\n }\n\n .MuiDataGrid-columnHeaders {\n border-bottom-color: var(--redsift-color-primary-n);\n }\n\n .MuiDataGrid-columnSeparator {\n display: none;\n }\n\n .MuiTablePagination-root {\n .MuiTablePagination-selectLabel {\n font-family: var(--redsift-typography-datagrid-header-font-family);\n }\n .MuiTablePagination-displayedRows {\n font-family: var(--redsift-typography-datagrid-cell-font-family);\n }\n\n .MuiInputBase-root {\n font-family: var(--redsift-typography-datagrid-cell-font-family);\n }\n }\n\n .Mui-checked {\n color: var(--redsift-color-primary-n);\n }\n\n .MuiDataGrid-rowCount {\n font-family: var(--redsift-typography-datagrid-cell-font-family);\n }\n\n .MuiTablePagination-displayedRows {\n font-family: var(--redsift-typography-datagrid-cell-font-family);\n }\n\n .MuiBadge-standard {\n font-family: var(--redsift-typography-datagrid-cell-font-family);\n }\n`;\n"],"names":["StyledDataGrid","styled","div","_ref","$height","css"],"mappings":";;AAGA;AACA;AACA;AACaA,MAAAA,cAAc,GAAGC,MAAM,CAACC,GAAyB,CAAA;AAC9D,EAAA,EAAIC,IAAA,IAAA;EAAA,IAAC;AAAEC,IAAAA,OAAAA;AAAQ,GAAC,GAAAD,IAAA,CAAA;EAAA,OACZC,OAAO,GACHC,GAAI,CAAA;AACZ,kBAAA,EAAoBD,OAAQ,CAAA;AAC5B,QAAA,CAAS,GACD,EAAE,CAAA;AAAA,CAAC,CAAA;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;"}
@@ -1,183 +0,0 @@
1
- import { objectWithoutProperties as _objectWithoutProperties, objectSpread2 as _objectSpread2, extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
2
- import React__default, { forwardRef, useRef, useState } from 'react';
3
- import classNames from 'classnames';
4
- import { Flexbox, TextField, Button, Switch, Text } from '@redsift/design-system';
5
- import { StyledGridToolbarFilterSemanticField } from './styles.js';
6
- import { getCompletion } from '../../utils/gpt.js';
7
- import { Tooltip } from '../../packages/popovers/src/components/tooltip/Tooltip.js';
8
-
9
- const _excluded = ["className", "nlpFilterConfig", "onFilterModelChange", "dateFormat", "defaultModel", "defaultFilter", "disablePower", "localeText"];
10
- const COMPONENT_NAME = 'GridToolbarFilterSemanticField';
11
- const CLASSNAME = 'redsift-datagrid-toolbar-nlp-filter-field';
12
- const DEFAULT_OPERATORS = {
13
- string: ['contains', 'equals', 'startsWith', 'endsWith', 'isEmpty', 'isNotEmpty', 'isAnyOf'],
14
- number: ['=', '!=', '>', '>=', '<', '<=', 'isEmpty', 'isNotEmpty', 'isAnyOf'],
15
- boolean: ['is'],
16
- date: ['is', 'not', 'after', 'onOrAfter', 'before', 'onOrBefore', 'isEmpty', 'isNotEmpty']
17
- };
18
- const getRole = (config, dateFormat) => {
19
- const today = new Date().toDateString();
20
- const columns = `[${config.columns.map(_ref => {
21
- let {
22
- field
23
- } = _ref;
24
- return `"${field}"`;
25
- }).join(', ')}]`;
26
- const operators = Object.entries(config.typeOperators).map(_ref2 => {
27
- let [k, values] = _ref2;
28
- return values.length === 1 ? ` - For "${k}" data type, operator must only be "${values[0]}"` : ` - For "${k}" data type, operator must be one of [${values.map(v => `"${v}"`).join(', ')}]`;
29
- }).join('\n');
30
- const column_description = config.columns.map(_ref3 => {
31
- let {
32
- field,
33
- type,
34
- description
35
- } = _ref3;
36
- return `- "${field}": "${type}" data type; ${description ? description.trim() : ''}`;
37
- }).join('\n');
38
- return `The AI assistant parses user input to generate a JSON object that will be used as a row filter for a data table MUI Data Grid.
39
- The filter supports mulitple conditions using only two logical operator "and", "or". It only allows "and" between all conditions or "or" between all conditions. It can't mix the two types.
40
- The AI assistant extracts information from the user input and generates a JSON object with exactly the two keys "linkOperator" and "items":
41
- - "linkOperator": the logical operator, only "and" or "or" are allowed. If there is only one condition in the "items", use "and".
42
- - "items": a list of conditions, each is an object with exactly the three keys "columnField", "operatorValue" and "value":
43
- - "columnField": the column name, must be one of ${columns}
44
- - "value":
45
- - this can be skipped if the "operatorValue" is either "isEmpty" or "isNotEmpty"
46
- - a list of multiple values if the "operatorValue" ends with "AnyOf"
47
- - otherwise, it's a single value represented as a string: "true" instead of true, "false" instead of false, "0.6" instead of 0.6.
48
- For "date" data type, use ${dateFormat}. If relative date is input, convert to the actual date given today is ${today}.
49
- - "operatorValue": the comparison operator, accepted values depend on the data type of the column
50
- ${operators}
51
-
52
- Below is the datatype in square bracket, constraints on the data range if any, followed by the description of each column used in the data table:
53
- ${column_description}
54
-
55
- Notes:
56
- - For "boolean" data type, use "is" operator with value "false" instead of "isEmpty".
57
- ${config.notes.trim()}
58
-
59
- Pay close attention to the the data type, description and supported operators above to make a valid selection of fields.
60
- Think step by step and check carefully if the chosen operator is supported by the chosen data type.
61
- Return just the JSON object without any extra text, explanation or note.
62
- If the user input can't be parsed, return a JSON object to indicate the error and the reason {"code":"error", "reason":"explain why it was failed to parse"}.
63
- `;
64
- };
65
- async function getOpenAICompletion(config, prompt, model, dateFormat) {
66
- const text = 'Parse the text delimited by triple backticks: ```' + prompt.trim() + '``` and make sure the output is a valid JSON object';
67
- const role = getRole(config, dateFormat);
68
- const completion = await getCompletion(text, role, config.openaiApiKey, model);
69
- const response = JSON.parse(completion);
70
- if ('code' in response) {
71
- throw new Error(response.reason);
72
- }
73
- return response;
74
- }
75
-
76
- /**
77
- * The GridToolbarFilterSemanticField component.
78
- */
79
- const GridToolbarFilterSemanticField = /*#__PURE__*/forwardRef((props, ref) => {
80
- const fieldRef = ref || useRef();
81
- const {
82
- className,
83
- nlpFilterConfig,
84
- onFilterModelChange,
85
- dateFormat = 'yyyy-mm-dd',
86
- defaultModel = 'gpt-4-0613',
87
- defaultFilter = {
88
- items: [],
89
- linkOperator: 'and'
90
- },
91
- disablePower = false,
92
- localeText
93
- } = props,
94
- forwardedProps = _objectWithoutProperties(props, _excluded);
95
- const {
96
- textLabel,
97
- textPlaceholder,
98
- buttonAriaLabel,
99
- buttonText,
100
- powerText,
101
- powerTooltipContent,
102
- errorText
103
- } = _objectSpread2({
104
- textLabel: 'Semantic filtering',
105
- textPlaceholder: 'Describe here how you would like to filter this datagrid.',
106
- buttonAriaLabel: 'Submit',
107
- buttonText: 'Run',
108
- powerText: 'Power mode',
109
- powerTooltipContent: 'The Power mode can get better results but is slower.',
110
- errorText: 'Unable to find a valid filter, please try again with a more specific prompt.'
111
- }, localeText);
112
- const [prompt, setPrompt] = useState('');
113
- const modelRef = useRef(defaultModel);
114
- const showErrorRef = useRef(false);
115
- const [isLoading, setIsLoading] = useState(false);
116
- const handlePromptSubmit = async event => {
117
- event.preventDefault();
118
- if (prompt !== undefined) {
119
- let filter;
120
-
121
- // Use the cache if it's available and it's not the default filter.
122
- // We still want to rerun default filter because it might be due to request fail.
123
- const response = sessionStorage.getItem(prompt);
124
- if (response && response !== JSON.stringify(defaultFilter)) {
125
- filter = JSON.parse(response);
126
- } else {
127
- setIsLoading(true);
128
- showErrorRef.current = false;
129
- try {
130
- if (nlpFilterConfig.completionFunc !== undefined) {
131
- filter = await nlpFilterConfig.completionFunc(nlpFilterConfig, prompt, modelRef.current);
132
- } else {
133
- filter = await getOpenAICompletion(nlpFilterConfig, prompt, modelRef.current, dateFormat);
134
- }
135
- sessionStorage.setItem(prompt, JSON.stringify(filter));
136
- } catch (error) {
137
- showErrorRef.current = true;
138
- filter = defaultFilter;
139
- }
140
-
141
- // MUI requires different id
142
- filter.items.forEach((d, i) => d.id = i);
143
- }
144
- onFilterModelChange(filter);
145
- setIsLoading(false);
146
- }
147
- };
148
- return /*#__PURE__*/React__default.createElement(Flexbox, {
149
- flexDirection: "column",
150
- gap: "0",
151
- width: "100%"
152
- }, /*#__PURE__*/React__default.createElement(StyledGridToolbarFilterSemanticField, _extends({}, forwardedProps, {
153
- className: classNames(GridToolbarFilterSemanticField.className, className),
154
- ref: fieldRef,
155
- onSubmit: handlePromptSubmit
156
- }), /*#__PURE__*/React__default.createElement(Flexbox, {
157
- gap: "0",
158
- width: "100%"
159
- }, /*#__PURE__*/React__default.createElement(TextField, {
160
- width: "100%",
161
- label: textLabel,
162
- placeholder: textPlaceholder,
163
- onChange: value => setPrompt(value),
164
- value: prompt
165
- }), /*#__PURE__*/React__default.createElement(Button, {
166
- variant: "primary",
167
- "aira-label": buttonAriaLabel,
168
- type: "submit",
169
- isLoading: isLoading
170
- }, buttonText)), !disablePower && /*#__PURE__*/React__default.createElement(Tooltip, null, /*#__PURE__*/React__default.createElement(Tooltip.Trigger, null, /*#__PURE__*/React__default.createElement(Switch, {
171
- width: "175px",
172
- isSelected: modelRef.current === 'gpt-4-0613',
173
- onChange: value => modelRef.current = value ? 'gpt-4-0613' : 'gpt-3.5-turbo-0613'
174
- }, powerText)), /*#__PURE__*/React__default.createElement(Tooltip.Content, null, powerTooltipContent))), showErrorRef.current && /*#__PURE__*/React__default.createElement(Text, {
175
- color: "error",
176
- marginLeft: "8px"
177
- }, errorText));
178
- });
179
- GridToolbarFilterSemanticField.className = CLASSNAME;
180
- GridToolbarFilterSemanticField.displayName = COMPONENT_NAME;
181
-
182
- export { DEFAULT_OPERATORS, GridToolbarFilterSemanticField };
183
- //# sourceMappingURL=GridToolbarFilterSemanticField.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"GridToolbarFilterSemanticField.js","sources":["../../../src/components/GridToolbarFilterSemanticField/GridToolbarFilterSemanticField.tsx"],"sourcesContent":["import React, { FormEvent, forwardRef, RefObject, useRef, useState } from 'react';\nimport classNames from 'classnames';\nimport { Comp, Button, Text, TextField, Switch, Flexbox } from '@redsift/design-system';\nimport { Tooltip } from '@redsift/popovers';\n\nimport { StyledGridToolbarFilterSemanticField } from './styles';\nimport { GridToolbarFilterSemanticFieldProps, CompletionResponse } from './types';\n\nimport { FilterConfig } from './types';\nimport { getCompletion } from '../../utils/gpt';\n\nconst COMPONENT_NAME = 'GridToolbarFilterSemanticField';\nconst CLASSNAME = 'redsift-datagrid-toolbar-nlp-filter-field';\n\nexport const DEFAULT_OPERATORS = {\n string: ['contains', 'equals', 'startsWith', 'endsWith', 'isEmpty', 'isNotEmpty', 'isAnyOf'],\n number: ['=', '!=', '>', '>=', '<', '<=', 'isEmpty', 'isNotEmpty', 'isAnyOf'],\n boolean: ['is'],\n date: ['is', 'not', 'after', 'onOrAfter', 'before', 'onOrBefore', 'isEmpty', 'isNotEmpty'],\n};\n\nconst getRole = (config: FilterConfig, dateFormat: string): string => {\n const today = new Date().toDateString();\n const columns = `[${config.columns.map(({ field }: any) => `\"${field}\"`).join(', ')}]`;\n const operators = Object.entries(config.typeOperators)\n .map(([k, values]: [string, any[]]) => {\n return values.length === 1\n ? ` - For \"${k}\" data type, operator must only be \"${values[0]}\"`\n : ` - For \"${k}\" data type, operator must be one of [${values.map((v: any) => `\"${v}\"`).join(', ')}]`;\n })\n .join('\\n');\n const column_description = config.columns\n .map(\n ({ field, type, description }: any) =>\n `- \"${field}\": \"${type}\" data type; ${description ? description.trim() : ''}`\n )\n .join('\\n');\n\n return `The AI assistant parses user input to generate a JSON object that will be used as a row filter for a data table MUI Data Grid.\nThe filter supports mulitple conditions using only two logical operator \"and\", \"or\". It only allows \"and\" between all conditions or \"or\" between all conditions. It can't mix the two types.\nThe AI assistant extracts information from the user input and generates a JSON object with exactly the two keys \"linkOperator\" and \"items\":\n- \"linkOperator\": the logical operator, only \"and\" or \"or\" are allowed. If there is only one condition in the \"items\", use \"and\".\n- \"items\": a list of conditions, each is an object with exactly the three keys \"columnField\", \"operatorValue\" and \"value\":\n - \"columnField\": the column name, must be one of ${columns}\n - \"value\":\n - this can be skipped if the \"operatorValue\" is either \"isEmpty\" or \"isNotEmpty\"\n - a list of multiple values if the \"operatorValue\" ends with \"AnyOf\"\n - otherwise, it's a single value represented as a string: \"true\" instead of true, \"false\" instead of false, \"0.6\" instead of 0.6.\n For \"date\" data type, use ${dateFormat}. If relative date is input, convert to the actual date given today is ${today}.\n - \"operatorValue\": the comparison operator, accepted values depend on the data type of the column\n${operators}\n\nBelow is the datatype in square bracket, constraints on the data range if any, followed by the description of each column used in the data table:\n${column_description}\n\nNotes:\n- For \"boolean\" data type, use \"is\" operator with value \"false\" instead of \"isEmpty\".\n${config.notes.trim()}\n\nPay close attention to the the data type, description and supported operators above to make a valid selection of fields.\nThink step by step and check carefully if the chosen operator is supported by the chosen data type.\nReturn just the JSON object without any extra text, explanation or note.\nIf the user input can't be parsed, return a JSON object to indicate the error and the reason {\"code\":\"error\", \"reason\":\"explain why it was failed to parse\"}.\n`;\n};\n\nasync function getOpenAICompletion(\n config: FilterConfig,\n prompt: string,\n model: string,\n dateFormat: string\n): Promise<CompletionResponse> {\n const text =\n 'Parse the text delimited by triple backticks: ```' +\n prompt.trim() +\n '``` and make sure the output is a valid JSON object';\n const role = getRole(config, dateFormat);\n\n const completion = await getCompletion(text, role, config.openaiApiKey, model);\n const response = JSON.parse(completion);\n if ('code' in response) {\n throw new Error(response.reason);\n }\n return response;\n}\n\n/**\n * The GridToolbarFilterSemanticField component.\n */\nexport const GridToolbarFilterSemanticField: Comp<GridToolbarFilterSemanticFieldProps, HTMLFormElement> = forwardRef(\n (props, ref) => {\n const fieldRef = ref || useRef<HTMLFormElement>();\n const {\n className,\n nlpFilterConfig,\n onFilterModelChange,\n dateFormat = 'yyyy-mm-dd',\n defaultModel = 'gpt-4-0613',\n defaultFilter = { items: [], linkOperator: 'and' },\n disablePower = false,\n localeText,\n ...forwardedProps\n } = props;\n const { textLabel, textPlaceholder, buttonAriaLabel, buttonText, powerText, powerTooltipContent, errorText } = {\n textLabel: 'Semantic filtering',\n textPlaceholder: 'Describe here how you would like to filter this datagrid.',\n buttonAriaLabel: 'Submit',\n buttonText: 'Run',\n powerText: 'Power mode',\n powerTooltipContent: 'The Power mode can get better results but is slower.',\n errorText: 'Unable to find a valid filter, please try again with a more specific prompt.',\n ...localeText,\n };\n const [prompt, setPrompt] = useState<string>('');\n const modelRef = useRef<string>(defaultModel!);\n const showErrorRef = useRef<boolean>(false);\n const [isLoading, setIsLoading] = useState<boolean>(false);\n\n const handlePromptSubmit = async (event: FormEvent) => {\n event.preventDefault();\n if (prompt !== undefined) {\n let filter;\n\n // Use the cache if it's available and it's not the default filter.\n // We still want to rerun default filter because it might be due to request fail.\n const response = sessionStorage.getItem(prompt);\n if (response && response !== JSON.stringify(defaultFilter)) {\n filter = JSON.parse(response);\n } else {\n setIsLoading(true);\n showErrorRef.current = false;\n\n try {\n if (nlpFilterConfig.completionFunc !== undefined) {\n filter = await nlpFilterConfig.completionFunc(nlpFilterConfig, prompt, modelRef.current);\n } else {\n filter = await getOpenAICompletion(nlpFilterConfig, prompt, modelRef.current, dateFormat!);\n }\n\n sessionStorage.setItem(prompt, JSON.stringify(filter));\n } catch (error) {\n showErrorRef.current = true;\n filter = defaultFilter!;\n }\n\n // MUI requires different id\n filter.items.forEach((d: any, i: number) => (d.id = i));\n }\n\n onFilterModelChange(filter);\n setIsLoading(false);\n }\n };\n\n return (\n <Flexbox flexDirection=\"column\" gap=\"0\" width=\"100%\">\n <StyledGridToolbarFilterSemanticField\n {...forwardedProps}\n className={classNames(GridToolbarFilterSemanticField.className, className)}\n ref={fieldRef as RefObject<HTMLFormElement>}\n onSubmit={handlePromptSubmit}\n >\n <Flexbox gap=\"0\" width=\"100%\">\n <TextField\n width=\"100%\"\n label={textLabel}\n placeholder={textPlaceholder}\n onChange={(value: string) => setPrompt(value)}\n value={prompt}\n />\n <Button variant=\"primary\" aira-label={buttonAriaLabel} type=\"submit\" isLoading={isLoading}>\n {buttonText}\n </Button>\n </Flexbox>\n {!disablePower && (\n <Tooltip>\n <Tooltip.Trigger>\n <Switch\n width=\"175px\"\n isSelected={modelRef.current === 'gpt-4-0613'}\n onChange={(value) => (modelRef.current = value ? 'gpt-4-0613' : 'gpt-3.5-turbo-0613')}\n >\n {powerText}\n </Switch>\n </Tooltip.Trigger>\n <Tooltip.Content>{powerTooltipContent}</Tooltip.Content>\n </Tooltip>\n )}\n </StyledGridToolbarFilterSemanticField>\n {showErrorRef.current && (\n <Text color=\"error\" marginLeft=\"8px\">\n {errorText}\n </Text>\n )}\n </Flexbox>\n );\n }\n);\n\nGridToolbarFilterSemanticField.className = CLASSNAME;\nGridToolbarFilterSemanticField.displayName = COMPONENT_NAME;\n"],"names":["COMPONENT_NAME","CLASSNAME","DEFAULT_OPERATORS","string","number","boolean","date","getRole","config","dateFormat","today","Date","toDateString","columns","map","_ref","field","join","operators","Object","entries","typeOperators","_ref2","k","values","length","v","column_description","_ref3","type","description","trim","notes","getOpenAICompletion","prompt","model","text","role","completion","getCompletion","openaiApiKey","response","JSON","parse","Error","reason","GridToolbarFilterSemanticField","forwardRef","props","ref","fieldRef","useRef","className","nlpFilterConfig","onFilterModelChange","defaultModel","defaultFilter","items","linkOperator","disablePower","localeText","forwardedProps","_objectWithoutProperties","_excluded","textLabel","textPlaceholder","buttonAriaLabel","buttonText","powerText","powerTooltipContent","errorText","_objectSpread","setPrompt","useState","modelRef","showErrorRef","isLoading","setIsLoading","handlePromptSubmit","event","preventDefault","undefined","filter","sessionStorage","getItem","stringify","current","completionFunc","setItem","error","forEach","d","i","id","React","createElement","Flexbox","flexDirection","gap","width","StyledGridToolbarFilterSemanticField","_extends","classNames","onSubmit","TextField","label","placeholder","onChange","value","Button","variant","Tooltip","Trigger","Switch","isSelected","Content","Text","color","marginLeft","displayName"],"mappings":"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"}
@@ -1,20 +0,0 @@
1
- import styled from 'styled-components';
2
-
3
- const StyledGridToolbarFilterSemanticField = styled.form`
4
- display: flex;
5
- gap: 8px;
6
- align-items: center;
7
- margin-left: 8px;
8
- width: 100%;
9
-
10
- .redsift-text-field-input-wrapper__fieldset {
11
- border-radius: 4px 0 0 4px;
12
- }
13
-
14
- .redsift-button {
15
- border-radius: 0 4px 4px 0;
16
- }
17
- `;
18
-
19
- export { StyledGridToolbarFilterSemanticField };
20
- //# sourceMappingURL=styles.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"styles.js","sources":["../../../src/components/GridToolbarFilterSemanticField/styles.ts"],"sourcesContent":["import styled from 'styled-components';\n\nexport const StyledGridToolbarFilterSemanticField = styled.form`\n display: flex;\n gap: 8px;\n align-items: center;\n margin-left: 8px;\n width: 100%;\n\n .redsift-text-field-input-wrapper__fieldset {\n border-radius: 4px 0 0 4px;\n }\n\n .redsift-button {\n border-radius: 0 4px 4px 0;\n }\n`;\n"],"names":["StyledGridToolbarFilterSemanticField","styled","form"],"mappings":";;AAEaA,MAAAA,oCAAoC,GAAGC,MAAM,CAACC,IAAK,CAAA;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;"}