@economic/taco 2.45.0-create.3 → 2.45.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (111) hide show
  1. package/dist/components/AlertDialog/AlertDialog.d.ts +2 -1
  2. package/dist/components/AlertDialog/components/Content.d.ts +2 -0
  3. package/dist/components/Menu/components/Content.d.ts +1 -1
  4. package/dist/components/Menu/components/SubMenu.d.ts +1 -1
  5. package/dist/components/Popover/Popover.d.ts +1 -1
  6. package/dist/components/Provider/Localization.d.ts +0 -2
  7. package/dist/components/Report/Report.d.ts +1 -1
  8. package/dist/components/Select2/components/Search.d.ts +0 -6
  9. package/dist/components/Table3/Table3.d.ts +14 -2
  10. package/dist/components/Table3/components/Columns/Internal/EditingActionsMenu.d.ts +2 -1
  11. package/dist/components/Table3/components/Row/Editing/CreateRowButton.d.ts +11 -0
  12. package/dist/components/Table3/features/useTableEditing.d.ts +36 -24
  13. package/dist/components/Table3/types.d.ts +8 -23
  14. package/dist/components/Table3/useTable3.d.ts +0 -6
  15. package/dist/components/Table3/util/editing.d.ts +1 -0
  16. package/dist/esm/index.css +2 -6
  17. package/dist/esm/node_modules/babel-plugin-transform-async-to-promises/helpers.mjs.js +17 -17
  18. package/dist/esm/node_modules/babel-plugin-transform-async-to-promises/helpers.mjs.js.map +1 -1
  19. package/dist/esm/packages/taco/src/components/AlertDialog/AlertDialog.js +2 -1
  20. package/dist/esm/packages/taco/src/components/AlertDialog/AlertDialog.js.map +1 -1
  21. package/dist/esm/packages/taco/src/components/AlertDialog/components/Content.js +7 -2
  22. package/dist/esm/packages/taco/src/components/AlertDialog/components/Content.js.map +1 -1
  23. package/dist/esm/packages/taco/src/components/Dialog/components/Content.js +1 -0
  24. package/dist/esm/packages/taco/src/components/Dialog/components/Content.js.map +1 -1
  25. package/dist/esm/packages/taco/src/components/Drawer/components/Content.js +1 -0
  26. package/dist/esm/packages/taco/src/components/Drawer/components/Content.js.map +1 -1
  27. package/dist/esm/packages/taco/src/components/ModeSwitch/ModeSwitch.js +2 -2
  28. package/dist/esm/packages/taco/src/components/ModeSwitch/ModeSwitch.js.map +1 -1
  29. package/dist/esm/packages/taco/src/components/Popover/Popover.js.map +1 -1
  30. package/dist/esm/packages/taco/src/components/Provider/Localization.js +3 -5
  31. package/dist/esm/packages/taco/src/components/Provider/Localization.js.map +1 -1
  32. package/dist/esm/packages/taco/src/components/Select2/Select2.js +20 -39
  33. package/dist/esm/packages/taco/src/components/Select2/Select2.js.map +1 -1
  34. package/dist/esm/packages/taco/src/components/Select2/components/Search.js +2 -12
  35. package/dist/esm/packages/taco/src/components/Select2/components/Search.js.map +1 -1
  36. package/dist/esm/packages/taco/src/components/Select2/components/Trigger.js +19 -1
  37. package/dist/esm/packages/taco/src/components/Select2/components/Trigger.js.map +1 -1
  38. package/dist/esm/packages/taco/src/components/Switch/Switch.js +1 -1
  39. package/dist/esm/packages/taco/src/components/Switch/Switch.js.map +1 -1
  40. package/dist/esm/packages/taco/src/components/Table3/Table3.js +7 -21
  41. package/dist/esm/packages/taco/src/components/Table3/Table3.js.map +1 -1
  42. package/dist/esm/packages/taco/src/components/Table3/components/Columns/Cell/EditingControlCell.js +18 -24
  43. package/dist/esm/packages/taco/src/components/Table3/components/Columns/Cell/EditingControlCell.js.map +1 -1
  44. package/dist/esm/packages/taco/src/components/Table3/components/Columns/Internal/EditingActionsMenu.js +36 -5
  45. package/dist/esm/packages/taco/src/components/Table3/components/Columns/Internal/EditingActionsMenu.js.map +1 -1
  46. package/dist/esm/packages/taco/src/components/Table3/components/Editing/Alert.js +12 -17
  47. package/dist/esm/packages/taco/src/components/Table3/components/Editing/Alert.js.map +1 -1
  48. package/dist/esm/packages/taco/src/components/Table3/components/Row/Editing/CreateRowButton.js +90 -0
  49. package/dist/esm/packages/taco/src/components/Table3/components/Row/Editing/CreateRowButton.js.map +1 -0
  50. package/dist/esm/packages/taco/src/components/Table3/components/Row/Editing/SaveStatus.js +14 -2
  51. package/dist/esm/packages/taco/src/components/Table3/components/Row/Editing/SaveStatus.js.map +1 -1
  52. package/dist/esm/packages/taco/src/components/Table3/components/Row/Row.js +3 -4
  53. package/dist/esm/packages/taco/src/components/Table3/components/Row/Row.js.map +1 -1
  54. package/dist/esm/packages/taco/src/components/Table3/components/Toolbar/Editing/Editing.js +2 -7
  55. package/dist/esm/packages/taco/src/components/Table3/components/Toolbar/Editing/Editing.js.map +1 -1
  56. package/dist/esm/packages/taco/src/components/Table3/features/useTableEditing.js +406 -16
  57. package/dist/esm/packages/taco/src/components/Table3/features/useTableEditing.js.map +1 -1
  58. package/dist/esm/packages/taco/src/components/Table3/listeners/useTableEditingListener.js +32 -37
  59. package/dist/esm/packages/taco/src/components/Table3/listeners/useTableEditingListener.js.map +1 -1
  60. package/dist/esm/packages/taco/src/components/Table3/useTable3.js +7 -21
  61. package/dist/esm/packages/taco/src/components/Table3/useTable3.js.map +1 -1
  62. package/dist/esm/packages/taco/src/components/Table3/util/editing.js +25 -1
  63. package/dist/esm/packages/taco/src/components/Table3/util/editing.js.map +1 -1
  64. package/dist/esm/packages/taco/src/primitives/Listbox2/components/Option.js +0 -4
  65. package/dist/esm/packages/taco/src/primitives/Listbox2/components/Option.js.map +1 -1
  66. package/dist/esm/packages/taco/src/primitives/Table/Core/Table.js +4 -3
  67. package/dist/esm/packages/taco/src/primitives/Table/Core/Table.js.map +1 -1
  68. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Columns/Cell/BuiltIns/GroupedCell.js +3 -9
  69. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Columns/Cell/BuiltIns/GroupedCell.js.map +1 -1
  70. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Columns/Internal/Actions.js +3 -6
  71. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Columns/Internal/Actions.js.map +1 -1
  72. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Footer/Footer.js +1 -1
  73. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Footer/Footer.js.map +1 -1
  74. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Row/BuiltIns/DisplayRow.js +1 -1
  75. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Row/BuiltIns/DisplayRow.js.map +1 -1
  76. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Toolbar/components/Filters/components/FilterValue.js +8 -1
  77. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Toolbar/components/Filters/components/FilterValue.js.map +1 -1
  78. package/dist/esm/packages/taco/src/primitives/Table/Core/features/useTableRenderer.js +1 -1
  79. package/dist/esm/packages/taco/src/primitives/Table/Core/features/useTableRenderer.js.map +1 -1
  80. package/dist/esm/packages/taco/src/primitives/Table/types.js.map +1 -1
  81. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/useTableManager.js +1 -1
  82. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/useTableManager.js.map +1 -1
  83. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/util/setup.js +0 -11
  84. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/util/setup.js.map +1 -1
  85. package/dist/esm/packages/taco/src/utils/dom.js +17 -13
  86. package/dist/esm/packages/taco/src/utils/dom.js.map +1 -1
  87. package/dist/index.css +2 -6
  88. package/dist/primitives/Table/Core/Table.d.ts +0 -1
  89. package/dist/primitives/Table/Core/components/Columns/Internal/Actions.d.ts +1 -3
  90. package/dist/primitives/Table/Core/components/Footer/Footer.d.ts +2 -2
  91. package/dist/primitives/Table/Core/features/useTableStyle.d.ts +3 -3
  92. package/dist/primitives/Table/types.d.ts +2 -2
  93. package/dist/primitives/Table/useTableManager/useTableManager.d.ts +1 -1
  94. package/dist/taco.cjs.development.js +691 -921
  95. package/dist/taco.cjs.development.js.map +1 -1
  96. package/dist/taco.cjs.production.min.js +1 -1
  97. package/dist/taco.cjs.production.min.js.map +1 -1
  98. package/dist/utils/dom.d.ts +0 -1
  99. package/package.json +17 -16
  100. package/dist/components/Table3/components/Editing/DiscardChangesConfirmationDialog.d.ts +0 -7
  101. package/dist/components/Table3/components/Row/Editing/CreateNewRow.d.ts +0 -13
  102. package/dist/components/Table3/components/Row/Editing/TemporaryRow.d.ts +0 -12
  103. package/dist/components/Table3/features/useEditingState.d.ts +0 -29
  104. package/dist/esm/packages/taco/src/components/Table3/components/Editing/DiscardChangesConfirmationDialog.js +0 -34
  105. package/dist/esm/packages/taco/src/components/Table3/components/Editing/DiscardChangesConfirmationDialog.js.map +0 -1
  106. package/dist/esm/packages/taco/src/components/Table3/components/Row/Editing/CreateNewRow.js +0 -88
  107. package/dist/esm/packages/taco/src/components/Table3/components/Row/Editing/CreateNewRow.js.map +0 -1
  108. package/dist/esm/packages/taco/src/components/Table3/components/Row/Editing/TemporaryRow.js +0 -93
  109. package/dist/esm/packages/taco/src/components/Table3/components/Row/Editing/TemporaryRow.js.map +0 -1
  110. package/dist/esm/packages/taco/src/components/Table3/features/useEditingState.js +0 -514
  111. package/dist/esm/packages/taco/src/components/Table3/features/useEditingState.js.map +0 -1
@@ -2,7 +2,6 @@ export declare const hasFocusableElement: (element: HTMLElement | null) => boole
2
2
  export declare const isOverflowing: (element: HTMLElement | null) => boolean;
3
3
  export declare const getIndexOfFirstChildOverflowingParent: (element: HTMLElement, overscan?: number) => number | null;
4
4
  export declare const getNextFocussableElement: (currentElement: HTMLElement | null) => HTMLElement | null;
5
- export declare function isElementTriggeredFromContainer(element: Element | null, container: Element | null): any;
6
5
  export declare function isElementInsideOrTriggeredFromContainer(element: Element | null, container: Element | null): any;
7
6
  export declare function isElementInsideOverlay(element: Element | null): boolean;
8
7
  export declare function isSiblingElementInsideSameParentOverlay(element: Element | null, sibling: Element | null): boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@economic/taco",
3
- "version": "2.45.0-create.3",
3
+ "version": "2.45.0",
4
4
  "description": "> TODO: description",
5
5
  "author": "Matt Daly <matthew.daly@visma.com>",
6
6
  "homepage": "https://github.com/e-conomic/taco#readme",
@@ -42,20 +42,20 @@
42
42
  "@dnd-kit/modifiers": "^7.0.0",
43
43
  "@dnd-kit/sortable": "^7.0.1",
44
44
  "@economic/taco-tokens": "^1.4.1",
45
- "@radix-ui/react-accordion": "^1.0.1",
46
- "@radix-ui/react-alert-dialog": "^1.0.2",
47
- "@radix-ui/react-checkbox": "^1.0.1",
48
- "@radix-ui/react-collapsible": "^1.0.3",
49
- "@radix-ui/react-dialog": "^1.0.2",
50
- "@radix-ui/react-dropdown-menu": "^2.0.1",
51
- "@radix-ui/react-hover-card": "^1.0.2",
52
- "@radix-ui/react-popover": "^1.0.2",
53
- "@radix-ui/react-radio-group": "^1.1.0",
54
- "@radix-ui/react-scroll-area": "^1.0.1",
55
- "@radix-ui/react-switch": "^1.0.1",
56
- "@radix-ui/react-tabs": "^1.0.1",
57
- "@radix-ui/react-tooltip": "^1.0.2",
58
- "@radix-ui/react-use-controllable-state": "^1.0.0",
45
+ "@radix-ui/react-accordion": "^1.2.1",
46
+ "@radix-ui/react-alert-dialog": "^1.1.2",
47
+ "@radix-ui/react-checkbox": "^1.1.2",
48
+ "@radix-ui/react-collapsible": "^1.1.1",
49
+ "@radix-ui/react-dialog": "^1.1.2",
50
+ "@radix-ui/react-dropdown-menu": "^2.1.2",
51
+ "@radix-ui/react-hover-card": "^1.1.2",
52
+ "@radix-ui/react-popover": "^1.1.2",
53
+ "@radix-ui/react-radio-group": "^1.2.1",
54
+ "@radix-ui/react-scroll-area": "^1.2.0",
55
+ "@radix-ui/react-switch": "^1.1.1",
56
+ "@radix-ui/react-tabs": "^1.1.1",
57
+ "@radix-ui/react-tooltip": "^1.1.3",
58
+ "@radix-ui/react-use-controllable-state": "^1.1.0",
59
59
  "@react-aria/focus": "^3.9.0",
60
60
  "@react-aria/interactions": "^3.12.0",
61
61
  "@tanstack/react-table": "^8.20.5",
@@ -128,5 +128,6 @@
128
128
  "Firefox ESR",
129
129
  "not ie < 11"
130
130
  ]
131
- }
131
+ },
132
+ "gitHead": "638edb075ce8c92504a00b29d1667dfd0069bd3c"
132
133
  }
@@ -1,7 +0,0 @@
1
- /// <reference types="react" />
2
- import { DialogProps } from '../../../Dialog/Dialog';
3
- declare type DiscardChangesConfirmationDialogProps = Partial<DialogProps> & {
4
- onDiscard: () => void;
5
- };
6
- export declare function DiscardChangesConfirmationDialog(props: DiscardChangesConfirmationDialogProps): JSX.Element;
7
- export {};
@@ -1,13 +0,0 @@
1
- import React from 'react';
2
- import { Table as ReactTable, TableMeta as ReactTableMeta } from '@tanstack/react-table';
3
- import { Table3EditingCreateHandler } from '../../../types';
4
- import { TableRef } from '../../../../../primitives/Table/types';
5
- declare type CreateNewRowProps<TType = unknown> = {
6
- buttonRef: React.Ref<HTMLButtonElement>;
7
- onEditingCreate?: Table3EditingCreateHandler<TType>;
8
- table: ReactTable<TType>;
9
- tableMeta: ReactTableMeta<TType>;
10
- tableRef: React.RefObject<TableRef>;
11
- };
12
- export declare function CreateNewRow<TType = unknown>(props: CreateNewRowProps<TType>): JSX.Element;
13
- export {};
@@ -1,12 +0,0 @@
1
- import React from 'react';
2
- import { Table as ReactTable, TableMeta as ReactTableMeta } from '@tanstack/react-table';
3
- import { TableRef } from '../../../../../primitives/Table/types';
4
- declare type TemporaryRowProps<TType = unknown> = {
5
- buttonRef: React.RefObject<HTMLButtonElement>;
6
- rowIdentityAccessor: string;
7
- table: ReactTable<TType>;
8
- tableMeta: ReactTableMeta<TType>;
9
- tableRef: React.RefObject<TableRef>;
10
- };
11
- export declare function TemporaryRow<TType = unknown>(props: TemporaryRowProps<TType>): JSX.Element;
12
- export {};
@@ -1,29 +0,0 @@
1
- import { Table as ReactTable, Cell as ReactTableCell } from '@tanstack/react-table';
2
- import { Table3EditingChangeHandler, Table3EditingSaveHandler, Table3EditingValidatorFn } from '../types';
3
- export declare const TEMPORARY_ROW_ID_PREFIX = "temp-";
4
- declare type EditingSaveState = 'saving' | 'saved' | 'errored';
5
- export declare function usePendingChangesState<TType = unknown>(handleSave: Table3EditingSaveHandler<TType> | undefined, handleChange: Table3EditingChangeHandler<TType> | undefined, rowIdentityAccessor: keyof TType, validator: Table3EditingValidatorFn<TType> | undefined): {
6
- setRowValue: <T extends TType>(rowId: string, original: T, value: Partial<T>) => Promise<void>;
7
- getRowValue: (rowId: string) => any;
8
- getRowMoveReason: (rowId: string) => unknown;
9
- hasRowErrors: (rowId: string) => boolean;
10
- hasRowErrorsShownInAlert: (rowId: string) => boolean;
11
- getRowStatus: (rowId: string) => any;
12
- setRowStatus: (rowId: string, status: EditingSaveState | undefined) => void;
13
- setCellValue: <T_1 extends TType>(cell: ReactTableCell<T_1, unknown>, value: unknown) => void;
14
- getCellValue: <T_2 extends TType>(cell: ReactTableCell<T_2, unknown>) => unknown | undefined;
15
- getCellError: <T_3 extends TType>(cell: ReactTableCell<T_3, unknown>) => string | undefined;
16
- onCellChanged: <T_4 extends TType>(cell: ReactTableCell<T_4, unknown>, rowIndex: number) => Promise<void>;
17
- getErrorsShownInAlert: <T_5 extends TType>() => {
18
- rowId: string;
19
- changes: Partial<T_5>;
20
- errors: any;
21
- }[];
22
- hasChanges: (rowId?: string | undefined) => boolean;
23
- saveChanges: <T_6 extends TType>(table: ReactTable<T_6>, rowId?: string | undefined) => Promise<boolean>;
24
- discardChanges: <T_7 extends TType>(rowId: string, table: ReactTable<T_7>) => void;
25
- hasSaved: () => boolean;
26
- createRow: <T_8 extends TType>(data: Partial<T_8>) => Promise<string>;
27
- temporaryRows: any;
28
- };
29
- export {};
@@ -1,34 +0,0 @@
1
- import React__default from 'react';
2
- import { useLocalization } from '../../../Provider/Localization.js';
3
- import { Button } from '../../../Button/Button.js';
4
- import { Dialog } from '../../../Dialog/Dialog.js';
5
- import { Group } from '../../../Group/Group.js';
6
-
7
- function DiscardChangesConfirmationDialog(props) {
8
- const {
9
- onDiscard: handleDiscard,
10
- ...dialogProps
11
- } = props;
12
- const {
13
- texts
14
- } = useLocalization();
15
- const handleClickInsideDialogContent = event => {
16
- // Prevents the click event from propagating to the table, ensuring the row isn't saved when a click occurs
17
- // inside the dialog
18
- event.stopPropagation();
19
- };
20
- return /*#__PURE__*/React__default.createElement(Dialog, Object.assign({}, dialogProps), /*#__PURE__*/React__default.createElement(Dialog.Content, {
21
- "aria-label": texts.table3.editing.clearChangesConfirmationDialog.title,
22
- onClick: handleClickInsideDialogContent
23
- }, /*#__PURE__*/React__default.createElement(Dialog.Title, null, texts.table3.editing.clearChangesConfirmationDialog.title), /*#__PURE__*/React__default.createElement("p", null, texts.table3.editing.clearChangesConfirmationDialog.description), /*#__PURE__*/React__default.createElement(Dialog.Footer, null, /*#__PURE__*/React__default.createElement(Group, null, /*#__PURE__*/React__default.createElement(Dialog.Close, null, /*#__PURE__*/React__default.createElement(Button, {
24
- tabIndex: 0
25
- }, texts.table3.editing.clearChangesConfirmationDialog.cancel)), /*#__PURE__*/React__default.createElement(Dialog.Close, null, /*#__PURE__*/React__default.createElement(Button, {
26
- autoFocus: true,
27
- tabIndex: 0,
28
- appearance: "primary",
29
- onClick: handleDiscard
30
- }, texts.table3.editing.clearChangesConfirmationDialog.confirm))))));
31
- }
32
-
33
- export { DiscardChangesConfirmationDialog };
34
- //# sourceMappingURL=DiscardChangesConfirmationDialog.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DiscardChangesConfirmationDialog.js","sources":["../../../../../../../../../src/components/Table3/components/Editing/DiscardChangesConfirmationDialog.tsx"],"sourcesContent":["import React from 'react';\nimport { Dialog, DialogProps } from '../../../Dialog/Dialog';\nimport { useLocalization } from '../../../Provider/Localization';\nimport { Group } from '../../../Group/Group';\nimport { Button } from '../../../Button/Button';\n\ntype DiscardChangesConfirmationDialogProps = Partial<DialogProps> & {\n onDiscard: () => void;\n};\n\nexport function DiscardChangesConfirmationDialog(props: DiscardChangesConfirmationDialogProps) {\n const { onDiscard: handleDiscard, ...dialogProps } = props;\n const { texts } = useLocalization();\n\n const handleClickInsideDialogContent = (event: React.MouseEvent) => {\n // Prevents the click event from propagating to the table, ensuring the row isn't saved when a click occurs\n // inside the dialog\n event.stopPropagation();\n };\n\n return (\n <Dialog {...dialogProps}>\n <Dialog.Content\n aria-label={texts.table3.editing.clearChangesConfirmationDialog.title}\n onClick={handleClickInsideDialogContent}>\n <Dialog.Title>{texts.table3.editing.clearChangesConfirmationDialog.title}</Dialog.Title>\n\n <p>{texts.table3.editing.clearChangesConfirmationDialog.description}</p>\n\n <Dialog.Footer>\n <Group>\n <Dialog.Close>\n <Button tabIndex={0}>{texts.table3.editing.clearChangesConfirmationDialog.cancel}</Button>\n </Dialog.Close>\n <Dialog.Close>\n <Button autoFocus tabIndex={0} appearance=\"primary\" onClick={handleDiscard}>\n {texts.table3.editing.clearChangesConfirmationDialog.confirm}\n </Button>\n </Dialog.Close>\n </Group>\n </Dialog.Footer>\n </Dialog.Content>\n </Dialog>\n );\n}\n"],"names":["DiscardChangesConfirmationDialog","props","onDiscard","handleDiscard","dialogProps","texts","useLocalization","handleClickInsideDialogContent","event","stopPropagation","React","Dialog","Content","table3","editing","clearChangesConfirmationDialog","title","onClick","Title","description","Footer","Group","Close","Button","tabIndex","cancel","autoFocus","appearance","confirm"],"mappings":";;;;;;SAUgBA,gCAAgCA,CAACC,KAA4C;EACzF,MAAM;IAAEC,SAAS,EAAEC,aAAa;IAAE,GAAGC;GAAa,GAAGH,KAAK;EAC1D,MAAM;IAAEI;GAAO,GAAGC,eAAe,EAAE;EAEnC,MAAMC,8BAA8B,GAAIC,KAAuB;;;IAG3DA,KAAK,CAACC,eAAe,EAAE;GAC1B;EAED,oBACIC,6BAACC,MAAM,oBAAKP,WAAW,gBACnBM,6BAACC,MAAM,CAACC,OAAO;kBACCP,KAAK,CAACQ,MAAM,CAACC,OAAO,CAACC,8BAA8B,CAACC,KAAK;IACrEC,OAAO,EAAEV;kBACTG,6BAACC,MAAM,CAACO,KAAK,QAAEb,KAAK,CAACQ,MAAM,CAACC,OAAO,CAACC,8BAA8B,CAACC,KAAK,CAAgB,eAExFN,wCAAIL,KAAK,CAACQ,MAAM,CAACC,OAAO,CAACC,8BAA8B,CAACI,WAAW,CAAK,eAExET,6BAACC,MAAM,CAACS,MAAM,qBACVV,6BAACW,KAAK,qBACFX,6BAACC,MAAM,CAACW,KAAK,qBACTZ,6BAACa,MAAM;IAACC,QAAQ,EAAE;KAAInB,KAAK,CAACQ,MAAM,CAACC,OAAO,CAACC,8BAA8B,CAACU,MAAM,CAAU,CAC/E,eACff,6BAACC,MAAM,CAACW,KAAK,qBACTZ,6BAACa,MAAM;IAACG,SAAS;IAACF,QAAQ,EAAE,CAAC;IAAEG,UAAU,EAAC,SAAS;IAACV,OAAO,EAAEd;KACxDE,KAAK,CAACQ,MAAM,CAACC,OAAO,CAACC,8BAA8B,CAACa,OAAO,CACvD,CACE,CACX,CACI,CACH,CACZ;AAEjB;;;;"}
@@ -1,88 +0,0 @@
1
- import React__default from 'react';
2
- import { Icon } from '../../../../Icon/Icon.js';
3
- import { useLocalization } from '../../../../Provider/Localization.js';
4
- import { Button } from '../../../../Button/Button.js';
5
-
6
- function CreateNewRow(props) {
7
- var _temporaryRows$0$tabl, _temporaryRows$, _table$getState$colum;
8
- const {
9
- buttonRef,
10
- onEditingCreate: handleEditingCreate,
11
- table,
12
- tableMeta
13
- } = props;
14
- const {
15
- texts
16
- } = useLocalization();
17
- const temporaryRows = tableMeta.editing.temporaryRows;
18
- const temporaryRowId = (_temporaryRows$0$tabl = (_temporaryRows$ = temporaryRows[0]) === null || _temporaryRows$ === void 0 ? void 0 : _temporaryRows$[tableMeta.rowIdentityAccessor]) !== null && _temporaryRows$0$tabl !== void 0 ? _temporaryRows$0$tabl : '';
19
- const isDisabled = !!table.getState().globalFilter || !!((_table$getState$colum = table.getState().columnFilters) !== null && _table$getState$colum !== void 0 && _table$getState$colum.length) || !!temporaryRowId && !!tableMeta.editing.hasRowErrors(temporaryRowId);
20
- const isSaving = !!temporaryRowId && tableMeta.editing.getRowStatus(temporaryRowId) === 'saving';
21
- const handleCreate = function (event) {
22
- try {
23
- // prevent save being triggered by click outside - TODO: investigate why the button triggers clickoutside
24
- event === null || event === void 0 ? void 0 : event.stopPropagation();
25
- if (!handleEditingCreate || isDisabled) {
26
- return Promise.resolve();
27
- }
28
- return Promise.resolve(tableMeta.editing.saveChanges(table)).then(function (saved) {
29
- if (!saved) {
30
- return;
31
- }
32
- try {
33
- const changeset = handleEditingCreate();
34
- if (changeset) {
35
- // change the row before reating because it triggers a save
36
- // saving would trigger the validation flow and immediately make the row red
37
- tableMeta.rowActive.setRowActiveIndex(-1);
38
- requestAnimationFrame(function () {
39
- try {
40
- tableMeta.editing.toggleEditing(true, table);
41
- return Promise.resolve(tableMeta.editing.createRow(changeset)).then(function (rowId) {
42
- tableMeta.editing.setLastFocusedCellIndex(0);
43
- try {
44
- const row = table.getRow(rowId);
45
- row.pin('bottom');
46
- } catch {
47
- //
48
- }
49
- });
50
- } catch (e) {
51
- return Promise.reject(e);
52
- }
53
- });
54
- }
55
- } catch (error) {
56
- console.error(error);
57
- }
58
- });
59
- } catch (e) {
60
- return Promise.reject(e);
61
- }
62
- };
63
- let tooltip;
64
- if (isSaving) {
65
- tooltip = texts.table3.editing.buttons.create.saving;
66
- } else if (isDisabled) {
67
- tooltip = texts.table3.editing.buttons.create.disabled;
68
- }
69
- return /*#__PURE__*/React__default.createElement("tr", {
70
- "data-row-create": true,
71
- className: "border-grey-300 group/row",
72
- tabIndex: -1
73
- }, /*#__PURE__*/React__default.createElement("td", {
74
- className: "!bg-grey-50 col-span-full !border-b-0 !px-1"
75
- }, /*#__PURE__*/React__default.createElement(Button, {
76
- appearance: "transparent",
77
- className: "group-hover:bg-grey-200 sticky left-[4px]",
78
- disabled: isDisabled,
79
- onClick: handleCreate,
80
- ref: buttonRef,
81
- tooltip: tooltip
82
- }, /*#__PURE__*/React__default.createElement(Icon, {
83
- name: "circle-plus"
84
- }), texts.table3.editing.buttons.create.label)));
85
- }
86
-
87
- export { CreateNewRow };
88
- //# sourceMappingURL=CreateNewRow.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CreateNewRow.js","sources":["../../../../../../../../../../src/components/Table3/components/Row/Editing/CreateNewRow.tsx"],"sourcesContent":["import React from 'react';\nimport { Table as ReactTable, TableMeta as ReactTableMeta } from '@tanstack/react-table';\nimport { Button } from '../../../../Button/Button';\nimport { useLocalization } from '../../../../Provider/Localization';\nimport { Icon } from '../../../../Icon/Icon';\nimport { Table3EditingCreateHandler } from '../../../types';\nimport { TableRef } from '../../../../../primitives/Table/types';\n\ntype CreateNewRowProps<TType = unknown> = {\n buttonRef: React.Ref<HTMLButtonElement>;\n onEditingCreate?: Table3EditingCreateHandler<TType>;\n table: ReactTable<TType>;\n tableMeta: ReactTableMeta<TType>;\n tableRef: React.RefObject<TableRef>;\n};\n\nexport function CreateNewRow<TType = unknown>(props: CreateNewRowProps<TType>) {\n const { buttonRef, onEditingCreate: handleEditingCreate, table, tableMeta } = props;\n const { texts } = useLocalization();\n\n const temporaryRows = tableMeta.editing.temporaryRows as TType[];\n const temporaryRowId: string = temporaryRows[0]?.[tableMeta.rowIdentityAccessor as string] ?? '';\n\n const isDisabled =\n !!table.getState().globalFilter ||\n !!table.getState().columnFilters?.length ||\n (!!temporaryRowId && !!tableMeta.editing.hasRowErrors(temporaryRowId));\n const isSaving = !!temporaryRowId && tableMeta.editing.getRowStatus(temporaryRowId) === 'saving';\n\n const handleCreate = async event => {\n // prevent save being triggered by click outside - TODO: investigate why the button triggers clickoutside\n event?.stopPropagation();\n\n if (!handleEditingCreate || isDisabled) {\n return;\n }\n\n const saved = await tableMeta.editing.saveChanges(table);\n\n if (!saved) {\n return;\n }\n\n try {\n const changeset = handleEditingCreate();\n\n if (changeset) {\n // change the row before reating because it triggers a save\n // saving would trigger the validation flow and immediately make the row red\n tableMeta.rowActive.setRowActiveIndex(-1);\n\n requestAnimationFrame(async () => {\n tableMeta.editing.toggleEditing(true, table);\n const rowId = await tableMeta.editing.createRow(changeset);\n tableMeta.editing.setLastFocusedCellIndex(0);\n\n try {\n const row = table.getRow(rowId);\n row.pin('bottom');\n } catch {\n //\n }\n });\n }\n } catch (error) {\n console.error(error);\n }\n };\n\n let tooltip;\n\n if (isSaving) {\n tooltip = texts.table3.editing.buttons.create.saving;\n } else if (isDisabled) {\n tooltip = texts.table3.editing.buttons.create.disabled;\n }\n\n return (\n <tr data-row-create className=\"border-grey-300 group/row\" tabIndex={-1}>\n <td className=\"!bg-grey-50 col-span-full !border-b-0 !px-1\">\n <Button\n appearance=\"transparent\"\n className=\"group-hover:bg-grey-200 sticky left-[4px]\"\n disabled={isDisabled}\n onClick={handleCreate}\n ref={buttonRef}\n tooltip={tooltip}>\n <Icon name=\"circle-plus\" />\n {texts.table3.editing.buttons.create.label}\n </Button>\n </td>\n </tr>\n );\n}\n"],"names":["CreateNewRow","props","buttonRef","onEditingCreate","handleEditingCreate","table","tableMeta","texts","useLocalization","temporaryRows","editing","temporaryRowId","_temporaryRows$0$tabl","_temporaryRows$","rowIdentityAccessor","isDisabled","getState","globalFilter","_table$getState$colum","columnFilters","length","hasRowErrors","isSaving","getRowStatus","handleCreate","event","stopPropagation","Promise","resolve","saveChanges","then","saved","changeset","rowActive","setRowActiveIndex","requestAnimationFrame","toggleEditing","createRow","rowId","setLastFocusedCellIndex","row","getRow","pin","e","reject","error","console","tooltip","table3","buttons","create","saving","disabled","React","className","tabIndex","Button","appearance","onClick","ref","Icon","name","label"],"mappings":"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"}
@@ -1,93 +0,0 @@
1
- import React__default from 'react';
2
- import cn from 'clsx';
3
- import { isElementTriggeredFromContainer } from '../../../../../utils/dom.js';
4
- import { Row } from '../../../../../primitives/Table/Core/components/Row/Row.js';
5
- import { DiscardChangesConfirmationDialog } from '../../Editing/DiscardChangesConfirmationDialog.js';
6
- import { RENDERERS } from '../../../useTable3.js';
7
-
8
- function TemporaryRow(props) {
9
- var _tableRef$current, _tableRef$current2;
10
- const {
11
- buttonRef,
12
- rowIdentityAccessor,
13
- table,
14
- tableMeta,
15
- tableRef
16
- } = props;
17
- const temporaryRows = tableMeta.editing.temporaryRows;
18
- // discard new row
19
- const [showDiscardDialog, setShowDiscardDialog] = React__default.useState(false);
20
- function handleDiscard() {
21
- if (temporaryRows[0]) {
22
- var _buttonRef$current;
23
- tableMeta.editing.discardChanges(temporaryRows[0][rowIdentityAccessor], table);
24
- (_buttonRef$current = buttonRef.current) === null || _buttonRef$current === void 0 ? void 0 : _buttonRef$current.focus();
25
- }
26
- }
27
- const handleKeyDown = function (event) {
28
- try {
29
- const _temp2 = function () {
30
- if (event.key === 'ArrowDown') {
31
- event.preventDefault();
32
- const _temp = function () {
33
- if (!isElementTriggeredFromContainer(event.target, event.currentTarget)) {
34
- return Promise.resolve(tableMeta.editing.saveChanges(table)).then(function (saved) {
35
- if (saved) {
36
- var _buttonRef$current2;
37
- (_buttonRef$current2 = buttonRef.current) === null || _buttonRef$current2 === void 0 ? void 0 : _buttonRef$current2.focus();
38
- }
39
- });
40
- }
41
- }();
42
- if (_temp && _temp.then) return _temp.then(function () {});
43
- } else if (event.key === 'ArrowUp') {
44
- event.preventDefault();
45
- event.stopPropagation();
46
- }
47
- }();
48
- return Promise.resolve(_temp2 && _temp2.then ? _temp2.then(function () {}) : void 0);
49
- } catch (e) {
50
- return Promise.reject(e);
51
- }
52
- };
53
- const handleKeyDownCapture = event => {
54
- if (event.key === 'Escape') {
55
- event.preventDefault();
56
- event.stopPropagation();
57
- setShowDiscardDialog(true);
58
- } else if (event.key === 'ArrowLeft' && tableMeta.editing.lastFocusedCellIndex === 0) {
59
- event.preventDefault();
60
- event.stopPropagation();
61
- } else if (event.key === 'ArrowRight' && tableMeta.editing.lastFocusedCellIndex) {
62
- if (tableMeta.editing.lastFocusedCellIndex === table.getVisibleFlatColumns().length - 1) {
63
- event.preventDefault();
64
- event.stopPropagation();
65
- }
66
- }
67
- };
68
- const isScrolled = tableRef.current ? ((_tableRef$current = tableRef.current) === null || _tableRef$current === void 0 ? void 0 : _tableRef$current.scrollHeight) > ((_tableRef$current2 = tableRef.current) === null || _tableRef$current2 === void 0 ? void 0 : _tableRef$current2.clientHeight) : false;
69
- const className = cn('group/row border-grey-300 !sticky z-[21]', {
70
- 'bottom-20': tableMeta.footer.isEnabled,
71
- 'bottom-10': !tableMeta.footer.isEnabled,
72
- 'border-b border-t-2 shadow-[0px_-5px_20px_0px_rgba(0,0,0,0.1)] border-t-grey-500/[0.5]': isScrolled
73
- });
74
- return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, table.getBottomRows().map(row => (/*#__PURE__*/React__default.createElement(Row, {
75
- key: row.id,
76
- cellRenderer: RENDERERS.cell,
77
- index: -1,
78
- measureRow: () => null,
79
- renderer: RENDERERS.row,
80
- row: row,
81
- table: table,
82
- className: className,
83
- onKeyDown: handleKeyDown,
84
- onKeyDownCapture: handleKeyDownCapture
85
- }))), /*#__PURE__*/React__default.createElement(DiscardChangesConfirmationDialog, {
86
- open: showDiscardDialog,
87
- onChange: setShowDiscardDialog,
88
- onDiscard: handleDiscard
89
- }));
90
- }
91
-
92
- export { TemporaryRow };
93
- //# sourceMappingURL=TemporaryRow.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TemporaryRow.js","sources":["../../../../../../../../../../src/components/Table3/components/Row/Editing/TemporaryRow.tsx"],"sourcesContent":["import React from 'react';\nimport { Table as ReactTable, TableMeta as ReactTableMeta } from '@tanstack/react-table';\nimport clsx from 'clsx';\nimport { Row } from '../../../../../primitives/Table/Core/components/Row/Row';\nimport { RENDERERS } from '../../../useTable3';\nimport { isElementTriggeredFromContainer } from '../../../../../utils/dom';\nimport { DiscardChangesConfirmationDialog } from '../../Editing/DiscardChangesConfirmationDialog';\nimport { TableRef } from '../../../../../primitives/Table/types';\n\ntype TemporaryRowProps<TType = unknown> = {\n buttonRef: React.RefObject<HTMLButtonElement>;\n rowIdentityAccessor: string;\n table: ReactTable<TType>;\n tableMeta: ReactTableMeta<TType>;\n tableRef: React.RefObject<TableRef>;\n};\n\nexport function TemporaryRow<TType = unknown>(props: TemporaryRowProps<TType>) {\n const { buttonRef, rowIdentityAccessor, table, tableMeta, tableRef } = props;\n const temporaryRows = tableMeta.editing.temporaryRows as TType[];\n\n // discard new row\n const [showDiscardDialog, setShowDiscardDialog] = React.useState(false);\n\n function handleDiscard() {\n if (temporaryRows[0]) {\n tableMeta.editing.discardChanges(temporaryRows[0][rowIdentityAccessor], table);\n buttonRef.current?.focus();\n }\n }\n\n const handleKeyDown = async (event: React.KeyboardEvent<HTMLTableRowElement>) => {\n if (event.key === 'ArrowDown') {\n event.preventDefault();\n\n if (!isElementTriggeredFromContainer(event.target as Element, event.currentTarget)) {\n const saved = await tableMeta.editing.saveChanges(table);\n\n if (saved) {\n buttonRef.current?.focus();\n }\n }\n } else if (event.key === 'ArrowUp') {\n event.preventDefault();\n event.stopPropagation();\n }\n };\n\n const handleKeyDownCapture = (event: React.KeyboardEvent<HTMLTableRowElement>) => {\n if (event.key === 'Escape') {\n event.preventDefault();\n event.stopPropagation();\n setShowDiscardDialog(true);\n } else if (event.key === 'ArrowLeft' && tableMeta.editing.lastFocusedCellIndex === 0) {\n event.preventDefault();\n event.stopPropagation();\n } else if (event.key === 'ArrowRight' && tableMeta.editing.lastFocusedCellIndex) {\n if (tableMeta.editing.lastFocusedCellIndex === table.getVisibleFlatColumns().length - 1) {\n event.preventDefault();\n event.stopPropagation();\n }\n }\n };\n\n const isScrolled = tableRef.current ? tableRef.current?.scrollHeight > tableRef.current?.clientHeight : false;\n const className = clsx('group/row border-grey-300 !sticky z-[21]', {\n 'bottom-20': tableMeta.footer.isEnabled,\n 'bottom-10': !tableMeta.footer.isEnabled,\n 'border-b border-t-2 shadow-[0px_-5px_20px_0px_rgba(0,0,0,0.1)] border-t-grey-500/[0.5]': isScrolled,\n });\n return (\n <>\n {table.getBottomRows().map(row => (\n <Row<TType>\n key={row.id}\n cellRenderer={RENDERERS.cell}\n index={-1}\n measureRow={() => null}\n renderer={RENDERERS.row}\n row={row}\n table={table}\n className={className}\n onKeyDown={handleKeyDown}\n onKeyDownCapture={handleKeyDownCapture}\n />\n ))}\n <DiscardChangesConfirmationDialog\n open={showDiscardDialog}\n onChange={setShowDiscardDialog}\n onDiscard={handleDiscard}\n />\n </>\n );\n}\n"],"names":["TemporaryRow","props","buttonRef","rowIdentityAccessor","table","tableMeta","tableRef","temporaryRows","editing","showDiscardDialog","setShowDiscardDialog","React","useState","handleDiscard","_buttonRef$current","discardChanges","current","focus","handleKeyDown","event","key","preventDefault","_temp","isElementTriggeredFromContainer","target","currentTarget","Promise","resolve","saveChanges","then","saved","_buttonRef$current2","stopPropagation","_temp2","e","reject","handleKeyDownCapture","lastFocusedCellIndex","getVisibleFlatColumns","length","isScrolled","_tableRef$current","scrollHeight","_tableRef$current2","clientHeight","className","clsx","footer","isEnabled","getBottomRows","map","row","Row","id","cellRenderer","RENDERERS","cell","index","measureRow","renderer","onKeyDown","onKeyDownCapture","DiscardChangesConfirmationDialog","open","onChange","onDiscard"],"mappings":"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"}