@economic/taco 1.19.1 → 1.20.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 (183) hide show
  1. package/dist/components/AlertDialog/components/Content.d.ts +1 -1
  2. package/dist/components/Calendar/Calendar.d.ts +1 -1
  3. package/dist/components/Calendar/Calendar.stories.d.ts +1 -1
  4. package/dist/components/Datepicker/Datepicker.d.ts +1 -1
  5. package/dist/components/Datepicker/Datepicker.stories.d.ts +1 -1
  6. package/dist/components/Dialog/components/Content.d.ts +1 -1
  7. package/dist/components/Dialog/components/Drawer.d.ts +1 -1
  8. package/dist/components/IconButton/IconButton.d.ts +2 -2
  9. package/dist/components/Input/Input.d.ts +1 -1
  10. package/dist/components/Listbox/Listbox.d.ts +2 -2
  11. package/dist/components/Listbox/Listbox.stories.d.ts +1 -1
  12. package/dist/components/Listbox/ScrollableList.d.ts +1 -1
  13. package/dist/components/Menu/components/Checkbox.d.ts +1 -1
  14. package/dist/components/Menu/components/Content.d.ts +1 -1
  15. package/dist/components/Menu/components/Item.d.ts +1 -1
  16. package/dist/components/Menu/components/Link.d.ts +1 -1
  17. package/dist/components/Menu/components/Trigger.d.ts +1 -1
  18. package/dist/components/Provider/Localization.d.ts +10 -0
  19. package/dist/components/SearchInput/SearchInput.d.ts +1 -1
  20. package/dist/components/SearchInput/SearchInput.stories.d.ts +1 -1
  21. package/dist/components/Select/Select.d.ts +1 -1
  22. package/dist/components/Select/Select.stories.d.ts +1 -1
  23. package/dist/components/Select2/components/Option.d.ts +1 -1
  24. package/dist/components/Select2/components/Search.d.ts +1 -1
  25. package/dist/components/Select2/components/Trigger.d.ts +1 -1
  26. package/dist/components/Shortcut/Shortcut.d.ts +5 -0
  27. package/dist/components/Table2/Table2.d.ts +17 -0
  28. package/dist/components/Table2/Table2.stories.d.ts +50 -0
  29. package/dist/components/Table2/components/BatchActionsMenu.d.ts +10 -0
  30. package/dist/components/Table2/components/ColumnSettingsButton.d.ts +7 -0
  31. package/dist/components/Table2/components/EditModeButton.d.ts +7 -0
  32. package/dist/components/Table2/components/RowDensityButton.d.ts +7 -0
  33. package/dist/components/Table2/components/Search.d.ts +3 -0
  34. package/dist/components/Table2/components/ShortcutsGuideButton.d.ts +7 -0
  35. package/dist/components/Table2/components/column/Base.d.ts +12 -0
  36. package/dist/components/Table2/components/column/Cell.d.ts +15 -0
  37. package/dist/components/Table2/components/column/Footer.d.ts +9 -0
  38. package/dist/components/Table2/components/column/Header.d.ts +11 -0
  39. package/dist/components/Table2/components/column/Indicator.d.ts +16 -0
  40. package/dist/components/Table2/components/column/ValidationError.d.ts +5 -0
  41. package/dist/components/Table2/components/column/utils.d.ts +2 -0
  42. package/dist/components/Table2/components/filters/FiltersButton.d.ts +7 -0
  43. package/dist/components/Table2/components/filters/components/Column.d.ts +11 -0
  44. package/dist/components/Table2/components/filters/components/ColumnFilter.d.ts +9 -0
  45. package/dist/components/Table2/components/filters/components/Comparator.d.ts +11 -0
  46. package/dist/components/Table2/components/filters/components/InferredControl.d.ts +10 -0
  47. package/dist/components/Table2/components/row/Context.d.ts +15 -0
  48. package/dist/components/Table2/components/row/ExpandedRow.d.ts +6 -0
  49. package/dist/components/Table2/components/row/Row.d.ts +7 -0
  50. package/dist/components/Table2/hooks/listeners/useActiveCellStateListener.d.ts +3 -0
  51. package/dist/components/Table2/hooks/listeners/useActiveRowStateListener.d.ts +3 -0
  52. package/dist/components/Table2/hooks/listeners/useColumnOffsetStateListener.d.ts +4 -0
  53. package/dist/components/Table2/hooks/listeners/useRowSelectionListener.d.ts +3 -0
  54. package/dist/components/Table2/hooks/listeners/useSettingsStateListener.d.ts +3 -0
  55. package/dist/components/Table2/hooks/useActiveCell.d.ts +26 -0
  56. package/dist/components/Table2/hooks/useActiveRow.d.ts +10 -0
  57. package/dist/components/Table2/hooks/useColumnDefinitions.d.ts +36 -0
  58. package/dist/components/Table2/hooks/useEditMode.d.ts +28 -0
  59. package/dist/components/Table2/hooks/useGridTemplate.d.ts +2 -0
  60. package/dist/components/Table2/hooks/useSeparatedChildren.d.ts +1 -0
  61. package/dist/components/Table2/hooks/useTable.d.ts +40 -0
  62. package/dist/components/Table2/hooks/useVirtualiser.d.ts +23 -0
  63. package/dist/components/Table2/types.d.ts +138 -0
  64. package/dist/components/Table2/utilities/cell.d.ts +13 -0
  65. package/dist/components/Table2/utilities/columns.d.ts +13 -0
  66. package/dist/components/Table2/utilities/filterFn.d.ts +3 -0
  67. package/dist/components/Tag/Tag.d.ts +1 -1
  68. package/dist/components/Tooltip/Tooltip.d.ts +1 -1
  69. package/dist/components/Tooltip/Tooltip.stories.d.ts +1 -1
  70. package/dist/esm/index.css +1 -1
  71. package/dist/esm/node_modules/babel-plugin-transform-async-to-promises/helpers.mjs.js +14 -1
  72. package/dist/esm/node_modules/babel-plugin-transform-async-to-promises/helpers.mjs.js.map +1 -1
  73. package/dist/esm/packages/taco/src/components/Checkbox/Checkbox.js +13 -5
  74. package/dist/esm/packages/taco/src/components/Checkbox/Checkbox.js.map +1 -1
  75. package/dist/esm/packages/taco/src/components/Provider/Localization.js +7 -0
  76. package/dist/esm/packages/taco/src/components/Provider/Localization.js.map +1 -1
  77. package/dist/esm/packages/taco/src/components/Shortcut/Shortcut.js +18 -0
  78. package/dist/esm/packages/taco/src/components/Shortcut/Shortcut.js.map +1 -0
  79. package/dist/esm/packages/taco/src/components/Table2/Table2.js +374 -0
  80. package/dist/esm/packages/taco/src/components/Table2/Table2.js.map +1 -0
  81. package/dist/esm/packages/taco/src/components/Table2/components/BatchActionsMenu.js +83 -0
  82. package/dist/esm/packages/taco/src/components/Table2/components/BatchActionsMenu.js.map +1 -0
  83. package/dist/esm/packages/taco/src/components/Table2/components/ColumnSettingsButton.js +238 -0
  84. package/dist/esm/packages/taco/src/components/Table2/components/ColumnSettingsButton.js.map +1 -0
  85. package/dist/esm/packages/taco/src/components/Table2/components/EditModeButton.js +58 -0
  86. package/dist/esm/packages/taco/src/components/Table2/components/EditModeButton.js.map +1 -0
  87. package/dist/esm/packages/taco/src/components/Table2/components/RowDensityButton.js +31 -0
  88. package/dist/esm/packages/taco/src/components/Table2/components/RowDensityButton.js.map +1 -0
  89. package/dist/esm/packages/taco/src/components/Table2/components/Search.js +55 -0
  90. package/dist/esm/packages/taco/src/components/Table2/components/Search.js.map +1 -0
  91. package/dist/esm/packages/taco/src/components/Table2/components/ShortcutsGuideButton.js +88 -0
  92. package/dist/esm/packages/taco/src/components/Table2/components/ShortcutsGuideButton.js.map +1 -0
  93. package/dist/esm/packages/taco/src/components/Table2/components/column/Base.js +32 -0
  94. package/dist/esm/packages/taco/src/components/Table2/components/column/Base.js.map +1 -0
  95. package/dist/esm/packages/taco/src/components/Table2/components/column/Cell.js +498 -0
  96. package/dist/esm/packages/taco/src/components/Table2/components/column/Cell.js.map +1 -0
  97. package/dist/esm/packages/taco/src/components/Table2/components/column/Footer.js +27 -0
  98. package/dist/esm/packages/taco/src/components/Table2/components/column/Footer.js.map +1 -0
  99. package/dist/esm/packages/taco/src/components/Table2/components/column/Header.js +159 -0
  100. package/dist/esm/packages/taco/src/components/Table2/components/column/Header.js.map +1 -0
  101. package/dist/esm/packages/taco/src/components/Table2/components/column/Indicator.js +78 -0
  102. package/dist/esm/packages/taco/src/components/Table2/components/column/Indicator.js.map +1 -0
  103. package/dist/esm/packages/taco/src/components/Table2/components/column/ValidationError.js +30 -0
  104. package/dist/esm/packages/taco/src/components/Table2/components/column/ValidationError.js.map +1 -0
  105. package/dist/esm/packages/taco/src/components/Table2/components/column/utils.js +38 -0
  106. package/dist/esm/packages/taco/src/components/Table2/components/column/utils.js.map +1 -0
  107. package/dist/esm/packages/taco/src/components/Table2/components/filters/FiltersButton.js +89 -0
  108. package/dist/esm/packages/taco/src/components/Table2/components/filters/FiltersButton.js.map +1 -0
  109. package/dist/esm/packages/taco/src/components/Table2/components/filters/components/Column.js +31 -0
  110. package/dist/esm/packages/taco/src/components/Table2/components/filters/components/Column.js.map +1 -0
  111. package/dist/esm/packages/taco/src/components/Table2/components/filters/components/ColumnFilter.js +121 -0
  112. package/dist/esm/packages/taco/src/components/Table2/components/filters/components/ColumnFilter.js.map +1 -0
  113. package/dist/esm/packages/taco/src/components/Table2/components/filters/components/Comparator.js +60 -0
  114. package/dist/esm/packages/taco/src/components/Table2/components/filters/components/Comparator.js.map +1 -0
  115. package/dist/esm/packages/taco/src/components/Table2/components/filters/components/InferredControl.js +96 -0
  116. package/dist/esm/packages/taco/src/components/Table2/components/filters/components/InferredControl.js.map +1 -0
  117. package/dist/esm/packages/taco/src/components/Table2/components/row/Context.js +26 -0
  118. package/dist/esm/packages/taco/src/components/Table2/components/row/Context.js.map +1 -0
  119. package/dist/esm/packages/taco/src/components/Table2/components/row/ExpandedRow.js +33 -0
  120. package/dist/esm/packages/taco/src/components/Table2/components/row/ExpandedRow.js.map +1 -0
  121. package/dist/esm/packages/taco/src/components/Table2/components/row/Row.js +58 -0
  122. package/dist/esm/packages/taco/src/components/Table2/components/row/Row.js.map +1 -0
  123. package/dist/esm/packages/taco/src/components/Table2/hooks/listeners/useActiveRowStateListener.js +19 -0
  124. package/dist/esm/packages/taco/src/components/Table2/hooks/listeners/useActiveRowStateListener.js.map +1 -0
  125. package/dist/esm/packages/taco/src/components/Table2/hooks/listeners/useColumnOffsetStateListener.js +44 -0
  126. package/dist/esm/packages/taco/src/components/Table2/hooks/listeners/useColumnOffsetStateListener.js.map +1 -0
  127. package/dist/esm/packages/taco/src/components/Table2/hooks/listeners/useRowSelectionListener.js +17 -0
  128. package/dist/esm/packages/taco/src/components/Table2/hooks/listeners/useRowSelectionListener.js.map +1 -0
  129. package/dist/esm/packages/taco/src/components/Table2/hooks/listeners/useSettingsStateListener.js +25 -0
  130. package/dist/esm/packages/taco/src/components/Table2/hooks/listeners/useSettingsStateListener.js.map +1 -0
  131. package/dist/esm/packages/taco/src/components/Table2/hooks/useActiveRow.js +33 -0
  132. package/dist/esm/packages/taco/src/components/Table2/hooks/useActiveRow.js.map +1 -0
  133. package/dist/esm/packages/taco/src/components/Table2/hooks/useColumnDefinitions.js +106 -0
  134. package/dist/esm/packages/taco/src/components/Table2/hooks/useColumnDefinitions.js.map +1 -0
  135. package/dist/esm/packages/taco/src/components/Table2/hooks/useEditMode.js +112 -0
  136. package/dist/esm/packages/taco/src/components/Table2/hooks/useEditMode.js.map +1 -0
  137. package/dist/esm/packages/taco/src/components/Table2/hooks/useGridTemplate.js +32 -0
  138. package/dist/esm/packages/taco/src/components/Table2/hooks/useGridTemplate.js.map +1 -0
  139. package/dist/esm/packages/taco/src/components/Table2/hooks/useSeparatedChildren.js +20 -0
  140. package/dist/esm/packages/taco/src/components/Table2/hooks/useSeparatedChildren.js.map +1 -0
  141. package/dist/esm/packages/taco/src/components/Table2/hooks/useTable.js +200 -0
  142. package/dist/esm/packages/taco/src/components/Table2/hooks/useTable.js.map +1 -0
  143. package/dist/esm/packages/taco/src/components/Table2/hooks/useVirtualiser.js +49 -0
  144. package/dist/esm/packages/taco/src/components/Table2/hooks/useVirtualiser.js.map +1 -0
  145. package/dist/esm/packages/taco/src/components/Table2/types.js +16 -0
  146. package/dist/esm/packages/taco/src/components/Table2/types.js.map +1 -0
  147. package/dist/esm/packages/taco/src/components/Table2/utilities/cell.js +41 -0
  148. package/dist/esm/packages/taco/src/components/Table2/utilities/cell.js.map +1 -0
  149. package/dist/esm/packages/taco/src/components/Table2/utilities/columns.js +309 -0
  150. package/dist/esm/packages/taco/src/components/Table2/utilities/columns.js.map +1 -0
  151. package/dist/esm/packages/taco/src/components/Table2/utilities/filterFn.js +96 -0
  152. package/dist/esm/packages/taco/src/components/Table2/utilities/filterFn.js.map +1 -0
  153. package/dist/esm/packages/taco/src/hooks/useBoundaryOverflowDetection.js +16 -0
  154. package/dist/esm/packages/taco/src/hooks/useBoundaryOverflowDetection.js.map +1 -0
  155. package/dist/esm/packages/taco/src/hooks/useGlobalKeyboardShortcut.js +13 -0
  156. package/dist/esm/packages/taco/src/hooks/useGlobalKeyboardShortcut.js.map +1 -0
  157. package/dist/esm/packages/taco/src/index.js +4 -2
  158. package/dist/esm/packages/taco/src/index.js.map +1 -1
  159. package/dist/esm/packages/taco/src/primitives/Sortable/components/Container.js +59 -0
  160. package/dist/esm/packages/taco/src/primitives/Sortable/components/Container.js.map +1 -0
  161. package/dist/esm/packages/taco/src/primitives/Sortable/components/Item.js +47 -0
  162. package/dist/esm/packages/taco/src/primitives/Sortable/components/Item.js.map +1 -0
  163. package/dist/esm/packages/taco/src/primitives/Sortable/components/List.js +28 -0
  164. package/dist/esm/packages/taco/src/primitives/Sortable/components/List.js.map +1 -0
  165. package/dist/esm/packages/taco/src/utils/date.js +4 -1
  166. package/dist/esm/packages/taco/src/utils/date.js.map +1 -1
  167. package/dist/esm/packages/taco/src/utils/dom.js +2 -1
  168. package/dist/esm/packages/taco/src/utils/dom.js.map +1 -1
  169. package/dist/esm/packages/taco/src/utils/hooks/useTruncated.js +20 -0
  170. package/dist/esm/packages/taco/src/utils/hooks/useTruncated.js.map +1 -0
  171. package/dist/hooks/useGlobalKeyboardShortcut.d.ts +1 -0
  172. package/dist/index.css +1 -1
  173. package/dist/index.d.ts +2 -0
  174. package/dist/primitives/Sortable/Sortable.d.ts +2 -2
  175. package/dist/taco.cjs.development.js +3438 -90
  176. package/dist/taco.cjs.development.js.map +1 -1
  177. package/dist/taco.cjs.production.min.js +1 -1
  178. package/dist/taco.cjs.production.min.js.map +1 -1
  179. package/dist/utils/date.d.ts +1 -0
  180. package/dist/utils/hooks/useTruncated.d.ts +3 -0
  181. package/package.json +4 -2
  182. package/tailwind.config.js +11 -1
  183. package/types.json +1291 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filterFn.js","sources":["../../../../../../../../src/components/Table2/utilities/filterFn.ts"],"sourcesContent":["import { isDate, isAfter as isAfterDate, isBefore as isBeforeDate } from 'date-fns';\nimport { Table2Filter, Table2FilterComparator } from '../types';\nimport { isWeakEqual as isWeakEqualDate } from '../../../utils/date';\n\nconst toLowerCase = (value: string | number) => String(value ?? '').toLocaleLowerCase();\nconst isWeakContains = (left: string | number, right: string | number) => toLowerCase(left).includes(toLowerCase(right));\nconst isWeakEqual = (left: string | number, right: string | number) => toLowerCase(left) === toLowerCase(right);\n\nexport const globalFilterFn = (value: string, query: string) => isWeakContains(value, query);\n\n// the filter type is only settable on the column definition, which would re-render all columns\n// so instead we store it in the filter value, but that means we also have to destructure that\n// before we filter - that's why this custom filter function exists\nexport const columnFilterFn = (value: any, filter: Table2Filter) => {\n try {\n if (filter.value === undefined || filter.value === null || filter.value === '') {\n return true;\n }\n\n switch (filter.comparator) {\n case Table2FilterComparator.Contains:\n return isWeakContains(value, filter.value);\n\n case Table2FilterComparator.DoesNotContain:\n return !isWeakContains(value, filter.value);\n\n case Table2FilterComparator.IsEqualTo: {\n if (isDate(value)) {\n return isDate(filter.value) && isWeakEqualDate(value, filter.value);\n } else if (typeof filter.value === 'boolean') {\n return value === filter.value;\n }\n\n return isWeakEqual(value, filter.value);\n }\n\n case Table2FilterComparator.IsNotEqualTo: {\n if (isDate(value)) {\n return isDate(filter.value) && isWeakEqualDate(value, filter.value) === false;\n } else if (typeof filter.value === 'boolean') {\n return value !== filter.value;\n }\n\n return !isWeakEqual(value, filter.value);\n }\n\n case Table2FilterComparator.IsGreaterThan: {\n if (isDate(value)) {\n return isDate(filter.value) && isAfterDate(value, filter.value);\n } else {\n const valueAsNumber = parseInt(value);\n return !isNaN(valueAsNumber) && filter.value !== undefined && valueAsNumber > filter.value;\n }\n }\n\n case Table2FilterComparator.IsLessThan: {\n if (isDate(value)) {\n return isDate(filter.value) && isBeforeDate(value, filter.value);\n } else {\n const valueAsNumber = parseInt(value);\n return !isNaN(valueAsNumber) && filter.value !== undefined && valueAsNumber < filter.value;\n }\n }\n\n case Table2FilterComparator.IsBetween: {\n const [fromValue, toValue] = filter.value;\n\n if (isDate(value)) {\n if (isDate(fromValue) && isBeforeDate(value, fromValue)) {\n return false;\n } else if (isDate(toValue) && isAfterDate(value, toValue)) {\n return false;\n }\n\n return true;\n } else {\n const valueAsNumber = parseInt(value);\n\n if (isNaN(valueAsNumber)) {\n return false;\n }\n\n if (fromValue !== undefined && valueAsNumber < fromValue) {\n return false;\n } else if (toValue !== undefined && valueAsNumber > toValue) {\n return false;\n }\n\n return true;\n }\n }\n\n case Table2FilterComparator.IsOneOf:\n return Array.isArray(filter.value) ? filter.value.includes(value) : false;\n\n case Table2FilterComparator.IsNoneOf:\n return Array.isArray(filter.value) ? filter.value.includes(value) === false : false;\n\n case Table2FilterComparator.IsAllOf:\n return Array.isArray(filter.value) && Array.isArray(value)\n ? filter.value.filter(v => value.includes(v)).length === filter.value.length\n : false;\n }\n\n return false;\n } catch (e) {\n console.error(e);\n return true;\n }\n};\n"],"names":["toLowerCase","value","String","toLocaleLowerCase","isWeakContains","left","right","includes","isWeakEqual","globalFilterFn","query","columnFilterFn","filter","undefined","comparator","Table2FilterComparator","Contains","DoesNotContain","IsEqualTo","isDate","isWeakEqualDate","IsNotEqualTo","IsGreaterThan","isAfterDate","valueAsNumber","parseInt","isNaN","IsLessThan","isBeforeDate","IsBetween","fromValue","toValue","IsOneOf","Array","isArray","IsNoneOf","IsAllOf","v","length","e","console","error"],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import React__default from 'react';
2
+ import { getIndexOfFirstChildOverflowingParent } from '../utils/dom.js';
3
+
4
+ const useBoundaryOverflowDetection = (ref, dependencies = []) => {
5
+ const [boundaryIndex, setBoundaryIndex] = React__default.useState();
6
+ React__default.useEffect(() => {
7
+ if (ref.current) {
8
+ const boundaryChildIndex = getIndexOfFirstChildOverflowingParent(ref.current);
9
+ setBoundaryIndex(boundaryChildIndex);
10
+ }
11
+ }, [ref, ...dependencies]);
12
+ return boundaryIndex;
13
+ };
14
+
15
+ export { useBoundaryOverflowDetection };
16
+ //# sourceMappingURL=useBoundaryOverflowDetection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useBoundaryOverflowDetection.js","sources":["../../../../../../src/hooks/useBoundaryOverflowDetection.ts"],"sourcesContent":["import React from 'react';\nimport { getIndexOfFirstChildOverflowingParent } from '../utils/dom';\n\nexport const useBoundaryOverflowDetection = (\n ref: React.RefObject<HTMLElement>,\n dependencies: any[] = []\n): number | null | undefined => {\n const [boundaryIndex, setBoundaryIndex] = React.useState<number | null>();\n\n React.useEffect(() => {\n if (ref.current) {\n const boundaryChildIndex = getIndexOfFirstChildOverflowingParent(ref.current);\n setBoundaryIndex(boundaryChildIndex);\n }\n }, [ref, ...dependencies]);\n\n return boundaryIndex;\n};\n"],"names":["useBoundaryOverflowDetection","ref","dependencies","boundaryIndex","setBoundaryIndex","React","useState","useEffect","current","boundaryChildIndex","getIndexOfFirstChildOverflowingParent"],"mappings":";;;MAGaA,4BAA4B,GAAG,CACxCC,GAAiC,EACjCC,eAAsB,EAAE;EAExB,MAAM,CAACC,aAAa,EAAEC,gBAAgB,CAAC,GAAGC,cAAK,CAACC,QAAQ,EAAiB;EAEzED,cAAK,CAACE,SAAS,CAAC;IACZ,IAAIN,GAAG,CAACO,OAAO,EAAE;MACb,MAAMC,kBAAkB,GAAGC,qCAAqC,CAACT,GAAG,CAACO,OAAO,CAAC;MAC7EJ,gBAAgB,CAACK,kBAAkB,CAAC;;GAE3C,EAAE,CAACR,GAAG,EAAE,GAAGC,YAAY,CAAC,CAAC;EAE1B,OAAOC,aAAa;AACxB;;;;"}
@@ -0,0 +1,13 @@
1
+ import React__default from 'react';
2
+
3
+ const useGlobalKeyboardShortcut = handler => {
4
+ React__default.useEffect(() => {
5
+ document.addEventListener('keydown', handler);
6
+ return () => {
7
+ document.removeEventListener('keydown', handler);
8
+ };
9
+ }, [handler]);
10
+ };
11
+
12
+ export { useGlobalKeyboardShortcut };
13
+ //# sourceMappingURL=useGlobalKeyboardShortcut.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useGlobalKeyboardShortcut.js","sources":["../../../../../../src/hooks/useGlobalKeyboardShortcut.ts"],"sourcesContent":["import React from 'react';\n\nexport const useGlobalKeyboardShortcut = (handler: (event: KeyboardEvent) => void) => {\n React.useEffect(() => {\n document.addEventListener('keydown', handler);\n\n return () => {\n document.removeEventListener('keydown', handler);\n };\n }, [handler]);\n};\n"],"names":["useGlobalKeyboardShortcut","handler","React","useEffect","document","addEventListener","removeEventListener"],"mappings":";;MAEaA,yBAAyB,GAAIC,OAAuC;EAC7EC,cAAK,CAACC,SAAS,CAAC;IACZC,QAAQ,CAACC,gBAAgB,CAAC,SAAS,EAAEJ,OAAO,CAAC;IAE7C,OAAO;MACHG,QAAQ,CAACE,mBAAmB,CAAC,SAAS,EAAEL,OAAO,CAAC;KACnD;GACJ,EAAE,CAACA,OAAO,CAAC,CAAC;AACjB;;;;"}
@@ -21,7 +21,7 @@ export { getNextIndexFromKey, useListKeyboardNavigation } from './utils/hooks/us
21
21
  export { useListScrollTo } from './utils/hooks/useListScrollTo.js';
22
22
  export { Spinner } from './components/Spinner/Spinner.js';
23
23
  export { Combobox } from './components/Combobox/Combobox.js';
24
- export { format, parseFromCustomString, parseFromISOString } from './utils/date.js';
24
+ export { format, isWeakEqual, parseFromCustomString, parseFromISOString } from './utils/date.js';
25
25
  export { Popover } from './components/Popover/Popover.js';
26
26
  export { Datepicker } from './components/Datepicker/Datepicker.js';
27
27
  export { Dialog } from './components/Dialog/Dialog.js';
@@ -45,14 +45,16 @@ export { ToastProvider, useToast } from './components/Toast/Toaster.js';
45
45
  export { Provider } from './components/Provider/Provider.js';
46
46
  export { TAG_COLORS, Tag } from './components/Tag/Tag.js';
47
47
  export { Select2 } from './components/Select2/Select2.js';
48
+ export { Shortcut } from './components/Shortcut/Shortcut.js';
48
49
  export { Table } from './components/Table/components/Table.js';
49
50
  export { PaginatedTable } from './components/Table/components/PaginatedTable.js';
50
51
  export { WindowedTable } from './components/Table/components/WindowedTable.js';
51
52
  export { convertRowIndexPathToNumberArray, getByRowIndexPath, getParentRowIndexPath, setByRowIndexPath } from './components/Table/util/rowIndexPath.js';
52
53
  export { insertChildTableRow, removeChildTableRow, useTableRowCreation } from './components/Table/hooks/useRowCreation.js';
54
+ export { Switch } from './components/Switch/Switch.js';
55
+ export { Table2 } from './components/Table2/Table2.js';
53
56
  export { Tabs } from './components/Tabs/Tabs.js';
54
57
  export { Textarea } from './components/Textarea/Textarea.js';
55
- export { Switch } from './components/Switch/Switch.js';
56
58
  export { Tour, TourStep } from './components/Tour/Tour.js';
57
59
  export { useOnClickOutside } from './utils/hooks/useOnClickOutside.js';
58
60
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,59 @@
1
+ import React__default from 'react';
2
+ import { DndContext, closestCenter } from '@dnd-kit/core';
3
+
4
+ function getContainerById(children, id) {
5
+ var _lists$find;
6
+ const lists = React__default.Children.toArray(children).filter(child => child.type.displayName === 'SortableList');
7
+ const list = lists.find(list => list.props.id === id);
8
+ if (list) {
9
+ return list === null || list === void 0 ? void 0 : list.props;
10
+ }
11
+ return (_lists$find = lists.find(l => React__default.Children.toArray(l.props.children).findIndex(child => child.props.id === id) > -1)) === null || _lists$find === void 0 ? void 0 : _lists$find.props;
12
+ }
13
+ function Container(externalProps) {
14
+ const {
15
+ children,
16
+ reorder,
17
+ move
18
+ } = externalProps;
19
+ function handleDragOver(event) {
20
+ const {
21
+ active,
22
+ over
23
+ } = event;
24
+ if (!(active !== null && active !== void 0 && active.id) || !(over !== null && over !== void 0 && over.id)) {
25
+ return;
26
+ }
27
+ const activeList = getContainerById(children, active.id);
28
+ const overList = getContainerById(children, over.id);
29
+ if (!(activeList !== null && activeList !== void 0 && activeList.id) || !(overList !== null && overList !== void 0 && overList.id) || activeList.id === overList.id) {
30
+ return;
31
+ }
32
+ move(active.id, activeList === null || activeList === void 0 ? void 0 : activeList.id, overList.id);
33
+ }
34
+ function handleDragEnd(event) {
35
+ const {
36
+ active,
37
+ over
38
+ } = event;
39
+ if (!(active !== null && active !== void 0 && active.id) || !(over !== null && over !== void 0 && over.id)) {
40
+ return;
41
+ }
42
+ const activeList = getContainerById(children, active.id);
43
+ const overList = getContainerById(children, over.id);
44
+ if (!(activeList !== null && activeList !== void 0 && activeList.id) || !(overList !== null && overList !== void 0 && overList.id) || activeList.id !== overList.id) {
45
+ return;
46
+ }
47
+ reorder(active.id, over.id, overList.id);
48
+ }
49
+ return /*#__PURE__*/React__default.createElement(DndContext, Object.assign({
50
+ collisionDetection: closestCenter
51
+ }, externalProps, {
52
+ onDragOver: handleDragOver,
53
+ onDragEnd: handleDragEnd
54
+ }), children);
55
+ }
56
+ Container.displayName = 'SortableContainer';
57
+
58
+ export { Container };
59
+ //# sourceMappingURL=Container.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Container.js","sources":["../../../../../../../../src/primitives/Sortable/components/Container.tsx"],"sourcesContent":["import React, { ReactNode } from 'react';\nimport { DndContext, closestCenter } from '@dnd-kit/core';\nimport { SortableListProps } from './List';\nimport { SortableItemId } from './Item';\n\nexport type SortableContainerProps = {\n children: ReactNode;\n move?: (activeId: SortableItemId, overId: SortableItemId, listId: string) => void;\n reorder: (activeId: SortableItemId, oldListId: string, listId: string) => void;\n};\n\nfunction getContainerById(children, id): SortableListProps | undefined {\n const lists = React.Children.toArray(children).filter(\n (child: any) => child.type.displayName === 'SortableList'\n ) as React.ReactElement<SortableListProps>[];\n const list: React.ReactElement<SortableListProps> | undefined = lists.find(\n (list: React.ReactElement<SortableListProps>) => list.props.id === id\n );\n\n if (list) {\n return list?.props;\n }\n\n return lists.find(l => React.Children.toArray(l.props.children).findIndex((child: any) => child.props.id === id) > -1)?.props;\n}\n\nexport function Container(externalProps) {\n const { children, reorder, move } = externalProps;\n\n function handleDragOver(event): void {\n const { active, over } = event;\n\n if (!active?.id || !over?.id) {\n return;\n }\n\n const activeList = getContainerById(children, active.id);\n const overList = getContainerById(children, over.id);\n\n if (!activeList?.id || !overList?.id || activeList.id === overList.id) {\n return;\n }\n\n move(active.id, activeList?.id, overList.id);\n }\n\n function handleDragEnd(event): void {\n const { active, over } = event;\n\n if (!active?.id || !over?.id) {\n return;\n }\n\n const activeList = getContainerById(children, active.id);\n const overList = getContainerById(children, over.id);\n\n if (!activeList?.id || !overList?.id || activeList.id !== overList.id) {\n return;\n }\n\n reorder(active.id, over.id, overList.id);\n }\n\n return (\n <DndContext collisionDetection={closestCenter} {...externalProps} onDragOver={handleDragOver} onDragEnd={handleDragEnd}>\n {children}\n </DndContext>\n );\n}\nContainer.displayName = 'SortableContainer';\n"],"names":["getContainerById","children","id","lists","React","Children","toArray","filter","child","type","displayName","list","find","props","l","findIndex","Container","externalProps","reorder","move","handleDragOver","event","active","over","activeList","overList","handleDragEnd","DndContext","collisionDetection","closestCenter","onDragOver","onDragEnd"],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ import React__default from 'react';
2
+ import { useSortable } from '@dnd-kit/sortable';
3
+ import { CSS } from '@dnd-kit/utilities';
4
+
5
+ function Item(props) {
6
+ const {
7
+ asChild,
8
+ children,
9
+ disabled = false,
10
+ id
11
+ } = props;
12
+ const {
13
+ attributes,
14
+ listeners,
15
+ setNodeRef,
16
+ transform,
17
+ transition
18
+ } = useSortable({
19
+ disabled,
20
+ id
21
+ });
22
+ const style = {
23
+ transform: CSS.Transform.toString(transform),
24
+ transition
25
+ };
26
+ const onPointerDown = event => {
27
+ // allow form components, like checkboxes, to be active
28
+ if (event.target === event.currentTarget) {
29
+ listeners === null || listeners === void 0 ? void 0 : listeners.onPointerDown(event);
30
+ }
31
+ };
32
+ const elProps = {
33
+ ...attributes,
34
+ ...listeners,
35
+ onPointerDown,
36
+ ref: setNodeRef,
37
+ style
38
+ };
39
+ if (asChild) {
40
+ return /*#__PURE__*/React__default.cloneElement(children, elProps);
41
+ }
42
+ return /*#__PURE__*/React__default.createElement("div", Object.assign({}, elProps), children);
43
+ }
44
+ Item.displayName = 'SortableListItem';
45
+
46
+ export { Item };
47
+ //# sourceMappingURL=Item.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Item.js","sources":["../../../../../../../../src/primitives/Sortable/components/Item.tsx"],"sourcesContent":["import React from 'react';\nimport { useSortable } from '@dnd-kit/sortable';\nimport { CSS } from '@dnd-kit/utilities';\n\nexport type SortableItemId = string | number;\n\nexport type SortableListItemProps = Omit<React.HTMLAttributes<HTMLDivElement>, 'id'> & {\n disabled?: boolean;\n id: SortableItemId;\n};\n\nexport function Item(props) {\n const { asChild, children, disabled = false, id } = props;\n const { attributes, listeners, setNodeRef, transform, transition } = useSortable({ disabled, id });\n\n const style = {\n transform: CSS.Transform.toString(transform),\n transition,\n };\n\n const onPointerDown = event => {\n // allow form components, like checkboxes, to be active\n if (event.target === event.currentTarget) {\n listeners?.onPointerDown(event);\n }\n };\n\n const elProps = { ...attributes, ...listeners, onPointerDown, ref: setNodeRef, style };\n\n if (asChild) {\n return React.cloneElement(children, elProps);\n }\n\n return <div {...elProps}>{children}</div>;\n}\nItem.displayName = 'SortableListItem';\n"],"names":["Item","props","asChild","children","disabled","id","attributes","listeners","setNodeRef","transform","transition","useSortable","style","CSS","Transform","toString","onPointerDown","event","target","currentTarget","elProps","ref","React","cloneElement","displayName"],"mappings":";;;;SAWgBA,IAAI,CAACC,KAAK;EACtB,MAAM;IAAEC,OAAO;IAAEC,QAAQ;IAAEC,QAAQ,GAAG,KAAK;IAAEC;GAAI,GAAGJ,KAAK;EACzD,MAAM;IAAEK,UAAU;IAAEC,SAAS;IAAEC,UAAU;IAAEC,SAAS;IAAEC;GAAY,GAAGC,WAAW,CAAC;IAAEP,QAAQ;IAAEC;GAAI,CAAC;EAElG,MAAMO,KAAK,GAAG;IACVH,SAAS,EAAEI,GAAG,CAACC,SAAS,CAACC,QAAQ,CAACN,SAAS,CAAC;IAC5CC;GACH;EAED,MAAMM,aAAa,GAAGC,KAAK;;IAEvB,IAAIA,KAAK,CAACC,MAAM,KAAKD,KAAK,CAACE,aAAa,EAAE;MACtCZ,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAES,aAAa,CAACC,KAAK,CAAC;;GAEtC;EAED,MAAMG,OAAO,GAAG;IAAE,GAAGd,UAAU;IAAE,GAAGC,SAAS;IAAES,aAAa;IAAEK,GAAG,EAAEb,UAAU;IAAEI;GAAO;EAEtF,IAAIV,OAAO,EAAE;IACT,oBAAOoB,cAAK,CAACC,YAAY,CAACpB,QAAQ,EAAEiB,OAAO,CAAC;;EAGhD,oBAAOE,sDAASF,OAAO,GAAGjB,QAAQ,CAAO;AAC7C;AACAH,IAAI,CAACwB,WAAW,GAAG,kBAAkB;;;;"}
@@ -0,0 +1,28 @@
1
+ import React__default from 'react';
2
+ import { useDroppable } from '@dnd-kit/core';
3
+ import { SortableContext, verticalListSortingStrategy } from '@dnd-kit/sortable';
4
+
5
+ function List(externalProps) {
6
+ const {
7
+ children,
8
+ id,
9
+ ...props
10
+ } = externalProps;
11
+ const {
12
+ setNodeRef
13
+ } = useDroppable({
14
+ id
15
+ });
16
+ const items = React__default.Children.toArray(children).map(child => child.props);
17
+ return /*#__PURE__*/React__default.createElement(SortableContext, {
18
+ id: id,
19
+ items: items,
20
+ strategy: verticalListSortingStrategy
21
+ }, /*#__PURE__*/React__default.createElement("div", Object.assign({}, props, {
22
+ ref: id ? setNodeRef : undefined
23
+ }), children));
24
+ }
25
+ List.displayName = 'SortableList';
26
+
27
+ export { List };
28
+ //# sourceMappingURL=List.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"List.js","sources":["../../../../../../../../src/primitives/Sortable/components/List.tsx"],"sourcesContent":["import React from 'react';\nimport { useDroppable } from '@dnd-kit/core';\nimport { SortableContext, verticalListSortingStrategy } from '@dnd-kit/sortable';\n\nexport type SortableListProps = Omit<React.HTMLAttributes<HTMLDivElement>, 'id'> & {\n id: string;\n};\n\nexport function List(externalProps: SortableListProps) {\n const { children, id, ...props } = externalProps;\n const { setNodeRef } = useDroppable({ id });\n const items = React.Children.toArray(children).map((child: any) => child.props);\n\n return (\n <SortableContext id={id} items={items} strategy={verticalListSortingStrategy}>\n <div {...props} ref={id ? setNodeRef : undefined}>\n {children}\n </div>\n </SortableContext>\n );\n}\nList.displayName = 'SortableList';\n"],"names":["List","externalProps","children","id","props","setNodeRef","useDroppable","items","React","Children","toArray","map","child","SortableContext","strategy","verticalListSortingStrategy","ref","undefined","displayName"],"mappings":";;;;SAQgBA,IAAI,CAACC,aAAgC;EACjD,MAAM;IAAEC,QAAQ;IAAEC,EAAE;IAAE,GAAGC;GAAO,GAAGH,aAAa;EAChD,MAAM;IAAEI;GAAY,GAAGC,YAAY,CAAC;IAAEH;GAAI,CAAC;EAC3C,MAAMI,KAAK,GAAGC,cAAK,CAACC,QAAQ,CAACC,OAAO,CAACR,QAAQ,CAAC,CAACS,GAAG,CAAEC,KAAU,IAAKA,KAAK,CAACR,KAAK,CAAC;EAE/E,oBACII,6BAACK,eAAe;IAACV,EAAE,EAAEA,EAAE;IAAEI,KAAK,EAAEA,KAAK;IAAEO,QAAQ,EAAEC;kBAC7CP,sDAASJ,KAAK;IAAEY,GAAG,EAAEb,EAAE,GAAGE,UAAU,GAAGY;MAClCf,QAAQ,CACP,CACQ;AAE1B;AACAF,IAAI,CAACkB,WAAW,GAAG,cAAc;;;;"}
@@ -1,5 +1,8 @@
1
1
  import { isDate, toDate, isValid } from 'date-fns';
2
2
 
3
+ const isWeakEqual = (leftDate, rightDate) => {
4
+ return leftDate.getFullYear() === rightDate.getFullYear() && leftDate.getMonth() === rightDate.getMonth() && leftDate.getDay() === rightDate.getDay();
5
+ };
3
6
  const format = (date, mask = 'dd.mm.yy') => {
4
7
  if (!date) {
5
8
  return undefined;
@@ -57,5 +60,5 @@ const parseFromISOString = date => {
57
60
  return isValid(tempDate) ? parseFromCustomString(format(new Date(date))) : undefined;
58
61
  };
59
62
 
60
- export { format, parseFromCustomString, parseFromISOString };
63
+ export { format, isWeakEqual, parseFromCustomString, parseFromISOString };
61
64
  //# sourceMappingURL=date.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"date.js","sources":["../../../../../../src/utils/date.ts"],"sourcesContent":["import { isDate, toDate, isValid } from 'date-fns';\n\nexport const format = (date: Date | undefined, mask = 'dd.mm.yy'): string | undefined => {\n if (!date) {\n return undefined;\n }\n\n const value = isDate(date) ? date : toDate(date);\n\n if (!isValid(value)) {\n return undefined;\n }\n\n const pad = (v: number): string => (String(v).length === 1 ? `0${v}` : v.toString());\n\n return mask\n .replace('dd', pad(value.getDate()))\n .replace('mm', pad(value.getMonth() + 1))\n .replace('yy', String(value.getFullYear()).slice(2));\n};\n\nexport const parseFromCustomString = (date = '', mask = 'dd.mm.yy'): Date | undefined => {\n if (!date || !date.length) {\n return undefined;\n }\n\n const sanitizedMask = mask.split(/[^dmy]/);\n const dd = sanitizedMask.findIndex(x => x === 'dd');\n const mm = sanitizedMask.findIndex(x => x === 'mm');\n const yy = sanitizedMask.findIndex(x => x === 'yy' || x === 'yyyy');\n\n let day;\n let month;\n let year;\n\n const getFullYear = (y: string): string => {\n if (y && y.length === 2) {\n const z = Number.parseInt(y, 10);\n\n return z > 50 ? `19${y}` : `20${y}`;\n }\n\n return y;\n };\n\n const inputParts = date.split(/\\D/);\n\n if (inputParts.length === 1) {\n const fullDate = inputParts[0];\n const unseparatedMask = mask.replace(/[^dmy]/g, '');\n\n day = fullDate.slice(unseparatedMask.indexOf('d'), unseparatedMask.lastIndexOf('d') + 1);\n month = fullDate.slice(unseparatedMask.indexOf('m'), unseparatedMask.lastIndexOf('m') + 1);\n year = getFullYear(fullDate.slice(unseparatedMask.indexOf('y'), unseparatedMask.lastIndexOf('y') + 3)); // account for full years\n } else {\n day = inputParts[dd];\n month = inputParts[mm];\n year = getFullYear(inputParts[yy]);\n }\n\n day = Number.parseInt(day, 10);\n month = Number.parseInt(month, 10);\n year = Number.parseInt(year, 10);\n\n const currentDate = new Date();\n\n return new Date(\n /* year */ Object.is(year, NaN) ? currentDate.getFullYear() : year,\n /* month */ Object.is(month, NaN) ? currentDate.getMonth() : month - 1, // months are zero based in javascript, so subtract a day\n /* day */ Object.is(day, NaN) ? currentDate.getDate() : day,\n /* hours */ 12,\n /* minutes */ 0 // set to midday to avoid UTC offset causing dates to be mismatched server side\n );\n};\n\nexport const parseFromISOString = (date: string): Date | undefined => {\n const tempDate = new Date(date);\n return isValid(tempDate) ? parseFromCustomString(format(new Date(date))) : undefined;\n};\n"],"names":["format","date","mask","undefined","value","isDate","toDate","isValid","pad","v","String","length","toString","replace","getDate","getMonth","getFullYear","slice","parseFromCustomString","sanitizedMask","split","dd","findIndex","x","mm","yy","day","month","year","y","z","Number","parseInt","inputParts","fullDate","unseparatedMask","indexOf","lastIndexOf","currentDate","Date","Object","is","NaN","parseFromISOString","tempDate"],"mappings":"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"}
1
+ {"version":3,"file":"date.js","sources":["../../../../../../src/utils/date.ts"],"sourcesContent":["import { isDate, toDate, isValid } from 'date-fns';\n\nexport const isWeakEqual = (leftDate: Date, rightDate: Date) => {\n return (\n leftDate.getFullYear() === rightDate.getFullYear() &&\n leftDate.getMonth() === rightDate.getMonth() &&\n leftDate.getDay() === rightDate.getDay()\n );\n};\n\nexport const format = (date: Date | undefined, mask = 'dd.mm.yy'): string | undefined => {\n if (!date) {\n return undefined;\n }\n\n const value = isDate(date) ? date : toDate(date);\n\n if (!isValid(value)) {\n return undefined;\n }\n\n const pad = (v: number): string => (String(v).length === 1 ? `0${v}` : v.toString());\n\n return mask\n .replace('dd', pad(value.getDate()))\n .replace('mm', pad(value.getMonth() + 1))\n .replace('yy', String(value.getFullYear()).slice(2));\n};\n\nexport const parseFromCustomString = (date = '', mask = 'dd.mm.yy'): Date | undefined => {\n if (!date || !date.length) {\n return undefined;\n }\n\n const sanitizedMask = mask.split(/[^dmy]/);\n const dd = sanitizedMask.findIndex(x => x === 'dd');\n const mm = sanitizedMask.findIndex(x => x === 'mm');\n const yy = sanitizedMask.findIndex(x => x === 'yy' || x === 'yyyy');\n\n let day;\n let month;\n let year;\n\n const getFullYear = (y: string): string => {\n if (y && y.length === 2) {\n const z = Number.parseInt(y, 10);\n\n return z > 50 ? `19${y}` : `20${y}`;\n }\n\n return y;\n };\n\n const inputParts = date.split(/\\D/);\n\n if (inputParts.length === 1) {\n const fullDate = inputParts[0];\n const unseparatedMask = mask.replace(/[^dmy]/g, '');\n\n day = fullDate.slice(unseparatedMask.indexOf('d'), unseparatedMask.lastIndexOf('d') + 1);\n month = fullDate.slice(unseparatedMask.indexOf('m'), unseparatedMask.lastIndexOf('m') + 1);\n year = getFullYear(fullDate.slice(unseparatedMask.indexOf('y'), unseparatedMask.lastIndexOf('y') + 3)); // account for full years\n } else {\n day = inputParts[dd];\n month = inputParts[mm];\n year = getFullYear(inputParts[yy]);\n }\n\n day = Number.parseInt(day, 10);\n month = Number.parseInt(month, 10);\n year = Number.parseInt(year, 10);\n\n const currentDate = new Date();\n\n return new Date(\n /* year */ Object.is(year, NaN) ? currentDate.getFullYear() : year,\n /* month */ Object.is(month, NaN) ? currentDate.getMonth() : month - 1, // months are zero based in javascript, so subtract a day\n /* day */ Object.is(day, NaN) ? currentDate.getDate() : day,\n /* hours */ 12,\n /* minutes */ 0 // set to midday to avoid UTC offset causing dates to be mismatched server side\n );\n};\n\nexport const parseFromISOString = (date: string): Date | undefined => {\n const tempDate = new Date(date);\n return isValid(tempDate) ? parseFromCustomString(format(new Date(date))) : undefined;\n};\n"],"names":["isWeakEqual","leftDate","rightDate","getFullYear","getMonth","getDay","format","date","mask","undefined","value","isDate","toDate","isValid","pad","v","String","length","toString","replace","getDate","slice","parseFromCustomString","sanitizedMask","split","dd","findIndex","x","mm","yy","day","month","year","y","z","Number","parseInt","inputParts","fullDate","unseparatedMask","indexOf","lastIndexOf","currentDate","Date","Object","is","NaN","parseFromISOString","tempDate"],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ const isOverflowing = element => element !== null ? element.scrollWidth > element.offsetWidth : false;
1
2
  const getIndexOfFirstChildOverflowingParent = (element, overscan = 0) => {
2
3
  let index = 0;
3
4
  let boundaryChildIndex = null;
@@ -14,5 +15,5 @@ const getIndexOfFirstChildOverflowingParent = (element, overscan = 0) => {
14
15
  return boundaryChildIndex;
15
16
  };
16
17
 
17
- export { getIndexOfFirstChildOverflowingParent };
18
+ export { getIndexOfFirstChildOverflowingParent, isOverflowing };
18
19
  //# sourceMappingURL=dom.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dom.js","sources":["../../../../../../src/utils/dom.ts"],"sourcesContent":["export const isOverflowing = (element: HTMLElement | null) =>\n element !== null ? element.scrollWidth > element.offsetWidth : false;\n\nexport const getIndexOfFirstChildOverflowingParent = (element: HTMLElement, overscan = 0) => {\n let index = 0;\n let boundaryChildIndex: number | null = null;\n const clientRect = element.getBoundingClientRect();\n\n for (const child of Array.from(element.children)) {\n const right = child.getBoundingClientRect().right - clientRect.left;\n const width = clientRect.width - overscan;\n\n if (right > width) {\n boundaryChildIndex = index;\n break;\n }\n index++;\n }\n\n return boundaryChildIndex;\n};\n"],"names":["getIndexOfFirstChildOverflowingParent","element","overscan","index","boundaryChildIndex","clientRect","getBoundingClientRect","child","Array","from","children","right","left","width"],"mappings":"MAGaA,qCAAqC,GAAG,CAACC,OAAoB,EAAEC,QAAQ,GAAG,CAAC;EACpF,IAAIC,KAAK,GAAG,CAAC;EACb,IAAIC,kBAAkB,GAAkB,IAAI;EAC5C,MAAMC,UAAU,GAAGJ,OAAO,CAACK,qBAAqB,EAAE;EAElD,KAAK,MAAMC,KAAK,IAAIC,KAAK,CAACC,IAAI,CAACR,OAAO,CAACS,QAAQ,CAAC,EAAE;IAC9C,MAAMC,KAAK,GAAGJ,KAAK,CAACD,qBAAqB,EAAE,CAACK,KAAK,GAAGN,UAAU,CAACO,IAAI;IACnE,MAAMC,KAAK,GAAGR,UAAU,CAACQ,KAAK,GAAGX,QAAQ;IAEzC,IAAIS,KAAK,GAAGE,KAAK,EAAE;MACfT,kBAAkB,GAAGD,KAAK;MAC1B;;IAEJA,KAAK,EAAE;;EAGX,OAAOC,kBAAkB;AAC7B;;;;"}
1
+ {"version":3,"file":"dom.js","sources":["../../../../../../src/utils/dom.ts"],"sourcesContent":["export const isOverflowing = (element: HTMLElement | null) =>\n element !== null ? element.scrollWidth > element.offsetWidth : false;\n\nexport const getIndexOfFirstChildOverflowingParent = (element: HTMLElement, overscan = 0) => {\n let index = 0;\n let boundaryChildIndex: number | null = null;\n const clientRect = element.getBoundingClientRect();\n\n for (const child of Array.from(element.children)) {\n const right = child.getBoundingClientRect().right - clientRect.left;\n const width = clientRect.width - overscan;\n\n if (right > width) {\n boundaryChildIndex = index;\n break;\n }\n index++;\n }\n\n return boundaryChildIndex;\n};\n"],"names":["isOverflowing","element","scrollWidth","offsetWidth","getIndexOfFirstChildOverflowingParent","overscan","index","boundaryChildIndex","clientRect","getBoundingClientRect","child","Array","from","children","right","left","width"],"mappings":"MAAaA,aAAa,GAAIC,OAA2B,IACrDA,OAAO,KAAK,IAAI,GAAGA,OAAO,CAACC,WAAW,GAAGD,OAAO,CAACE,WAAW,GAAG;MAEtDC,qCAAqC,GAAG,CAACH,OAAoB,EAAEI,QAAQ,GAAG,CAAC;EACpF,IAAIC,KAAK,GAAG,CAAC;EACb,IAAIC,kBAAkB,GAAkB,IAAI;EAC5C,MAAMC,UAAU,GAAGP,OAAO,CAACQ,qBAAqB,EAAE;EAElD,KAAK,MAAMC,KAAK,IAAIC,KAAK,CAACC,IAAI,CAACX,OAAO,CAACY,QAAQ,CAAC,EAAE;IAC9C,MAAMC,KAAK,GAAGJ,KAAK,CAACD,qBAAqB,EAAE,CAACK,KAAK,GAAGN,UAAU,CAACO,IAAI;IACnE,MAAMC,KAAK,GAAGR,UAAU,CAACQ,KAAK,GAAGX,QAAQ;IAEzC,IAAIS,KAAK,GAAGE,KAAK,EAAE;MACfT,kBAAkB,GAAGD,KAAK;MAC1B;;IAEJA,KAAK,EAAE;;EAGX,OAAOC,kBAAkB;AAC7B;;;;"}
@@ -0,0 +1,20 @@
1
+ import React__default from 'react';
2
+
3
+ const useTruncated = (element, deps = []) => {
4
+ const isTruncated = targetElement => {
5
+ if (targetElement !== null) {
6
+ return targetElement.offsetWidth < targetElement.scrollWidth;
7
+ }
8
+ return false;
9
+ };
10
+ const [truncated, setTruncated] = React__default.useState(isTruncated(element));
11
+ React__default.useEffect(() => {
12
+ setTruncated(isTruncated(element));
13
+ }, [element, ...deps]);
14
+ return {
15
+ truncated
16
+ };
17
+ };
18
+
19
+ export { useTruncated };
20
+ //# sourceMappingURL=useTruncated.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTruncated.js","sources":["../../../../../../../src/utils/hooks/useTruncated.tsx"],"sourcesContent":["import React from 'react';\n\nexport const useTruncated = (element: HTMLElement | null, deps: any[] = []) => {\n const isTruncated = (targetElement: HTMLElement | null) => {\n if (targetElement !== null) {\n return targetElement.offsetWidth < targetElement.scrollWidth;\n }\n\n return false;\n };\n const [truncated, setTruncated] = React.useState<boolean>(isTruncated(element));\n\n React.useEffect(() => {\n setTruncated(isTruncated(element));\n }, [element, ...deps]);\n\n return { truncated };\n};\n"],"names":["useTruncated","element","deps","isTruncated","targetElement","offsetWidth","scrollWidth","truncated","setTruncated","React","useState","useEffect"],"mappings":";;MAEaA,YAAY,GAAG,CAACC,OAA2B,EAAEC,OAAc,EAAE;EACtE,MAAMC,WAAW,GAAIC,aAAiC;IAClD,IAAIA,aAAa,KAAK,IAAI,EAAE;MACxB,OAAOA,aAAa,CAACC,WAAW,GAAGD,aAAa,CAACE,WAAW;;IAGhE,OAAO,KAAK;GACf;EACD,MAAM,CAACC,SAAS,EAAEC,YAAY,CAAC,GAAGC,cAAK,CAACC,QAAQ,CAAUP,WAAW,CAACF,OAAO,CAAC,CAAC;EAE/EQ,cAAK,CAACE,SAAS,CAAC;IACZH,YAAY,CAACL,WAAW,CAACF,OAAO,CAAC,CAAC;GACrC,EAAE,CAACA,OAAO,EAAE,GAAGC,IAAI,CAAC,CAAC;EAEtB,OAAO;IAAEK;GAAW;AACxB;;;;"}
@@ -0,0 +1 @@
1
+ export declare const useGlobalKeyboardShortcut: (handler: (event: KeyboardEvent) => void) => void;
package/dist/index.css CHANGED
@@ -74,7 +74,7 @@
74
74
  }
75
75
 
76
76
  hr {
77
- @apply bg-grey-100 my-5 flex h-px border-none;
77
+ @apply bg-grey-300 my-5 flex h-px border-none;
78
78
  }
79
79
 
80
80
  h1,
package/dist/index.d.ts CHANGED
@@ -31,8 +31,10 @@ export * from './components/Provider/Localization';
31
31
  export * from './components/RadioGroup/RadioGroup';
32
32
  export * from './components/Select/Select';
33
33
  export * from './components/Select2/Select2';
34
+ export * from './components/Shortcut/Shortcut';
34
35
  export * from './components/Spinner/Spinner';
35
36
  export * from './components/Table/Table';
37
+ export * from './components/Table2/Table2';
36
38
  export * from './components/Tabs/Tabs';
37
39
  export * from './components/Tag/Tag';
38
40
  export * from './components/Textarea/Textarea';
@@ -1,6 +1,6 @@
1
1
  import { Container, SortableContainerProps } from './components/Container';
2
- import { Item, SortableListItemProps } from './components/Item';
2
+ import { Item, SortableListItemProps, SortableItemId } from './components/Item';
3
3
  import { List, SortableListProps } from './components/List';
4
4
  export { Container, Item, List };
5
- export type { SortableContainerProps, SortableListItemProps, SortableListProps };
5
+ export type { SortableContainerProps, SortableListItemProps, SortableListProps, SortableItemId };
6
6
  export { arrayMove } from '@dnd-kit/sortable';