@vuu-ui/vuu-utils 2.1.18 → 2.1.19-beta.2
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.
- package/package.json +11 -14
- package/src/Clock.js +43 -0
- package/src/PageVisibilityObserver.js +42 -0
- package/src/ScaledDecimal.js +32 -0
- package/src/ShellContext.js +5 -0
- package/src/ThemeProvider.js +56 -0
- package/src/array-utils.js +51 -0
- package/src/box-utils.js +51 -0
- package/src/broadcast-channel.js +0 -0
- package/src/column-utils.js +790 -0
- package/src/common-types.js +11 -0
- package/src/component-registry.js +83 -0
- package/src/context-definitions/DataContext.js +15 -0
- package/src/context-definitions/DataProvider.js +13 -0
- package/src/context-definitions/DataSourceProvider.js +18 -0
- package/src/context-definitions/WorkspaceContext.js +14 -0
- package/src/cookie-utils.js +15 -0
- package/src/css-utils.js +5 -0
- package/src/data-editing/DataEditingProvider.js +13 -0
- package/src/data-editing/EditButtons.js +32 -0
- package/src/data-editing/EditModeProvider.js +18 -0
- package/src/data-editing/EditSession.js +149 -0
- package/src/data-editing/edit-utils.js +37 -0
- package/src/data-editing/useEditableTable.js +76 -0
- package/src/data-utils.js +55 -0
- package/src/datasource/BaseDataSource.js +233 -0
- package/src/datasource/datasource-action-utils.js +6 -0
- package/src/datasource/datasource-filter-utils.js +27 -0
- package/src/datasource/datasource-utils.js +148 -0
- package/src/date/date-utils.js +80 -0
- package/src/date/dateTimePattern.js +17 -0
- package/src/date/formatter.js +101 -0
- package/src/date/index.js +4 -0
- package/src/date/types.js +27 -0
- package/src/debug-utils.js +25 -0
- package/src/event-emitter.js +78 -0
- package/src/feature-utils.js +86 -0
- package/src/filters/filter-utils.js +136 -0
- package/src/filters/filterAsQuery.js +70 -0
- package/src/filters/index.js +2 -0
- package/src/form-utils.js +69 -0
- package/src/formatting-utils.js +42 -0
- package/src/getUniqueId.js +2 -0
- package/src/group-utils.js +16 -0
- package/src/html-utils.js +108 -0
- package/src/index.js +77 -0
- package/src/input-utils.js +3 -0
- package/src/invariant.js +9 -0
- package/src/itemToString.js +9 -0
- package/src/json-types.js +0 -0
- package/src/json-utils.js +108 -0
- package/{esm/packages/vuu-utils/src → src}/keyboard-utils.js +1 -3
- package/src/keyset.js +57 -0
- package/src/layout-types.js +0 -0
- package/src/list-utils.js +5 -0
- package/src/local-storage-utils.js +23 -0
- package/src/logging-utils.js +52 -0
- package/src/module-utils.js +2 -0
- package/src/nanoid/index.js +13 -0
- package/src/perf-utils.js +28 -0
- package/src/promise-utils.js +26 -0
- package/src/protocol-message-utils.js +68 -0
- package/src/range-utils.js +109 -0
- package/src/react-utils.js +64 -0
- package/src/round-decimal.js +83 -0
- package/src/row-utils.js +43 -0
- package/src/selection-utils.js +25 -0
- package/src/shell-layout-types.js +9 -0
- package/src/sort-utils.js +75 -0
- package/src/table-schema-utils.js +11 -0
- package/src/text-utils.js +13 -0
- package/src/theme-utils.js +21 -0
- package/src/tree-types.js +0 -0
- package/src/tree-utils.js +96 -0
- package/src/ts-utils.js +6 -0
- package/src/typeahead-utils.js +4 -0
- package/src/url-utils.js +12 -0
- package/src/useId.js +6 -0
- package/src/useLayoutEffectSkipFirst.js +9 -0
- package/src/useResizeObserver.js +122 -0
- package/src/useStateRef.js +21 -0
- package/src/user-types.js +0 -0
- package/types/ThemeProvider.d.ts +4 -4
- package/types/data-utils.d.ts +1 -1
- package/types/date/date-utils.d.ts +8 -8
- package/types/feature-utils.d.ts +1 -1
- package/types/filters/filter-utils.d.ts +15 -15
- package/cjs/node_modules/@dnd-kit/abstract/index.js +0 -1488
- package/cjs/node_modules/@dnd-kit/abstract/index.js.map +0 -1
- package/cjs/node_modules/@dnd-kit/abstract/modifiers.js +0 -85
- package/cjs/node_modules/@dnd-kit/abstract/modifiers.js.map +0 -1
- package/cjs/node_modules/@dnd-kit/collision/dist/index.js +0 -91
- package/cjs/node_modules/@dnd-kit/collision/dist/index.js.map +0 -1
- package/cjs/node_modules/@dnd-kit/dom/index.js +0 -1991
- package/cjs/node_modules/@dnd-kit/dom/index.js.map +0 -1
- package/cjs/node_modules/@dnd-kit/dom/sortable.js +0 -828
- package/cjs/node_modules/@dnd-kit/dom/sortable.js.map +0 -1
- package/cjs/node_modules/@dnd-kit/dom/utilities.js +0 -1389
- package/cjs/node_modules/@dnd-kit/dom/utilities.js.map +0 -1
- package/cjs/node_modules/@dnd-kit/geometry/dist/index.js +0 -310
- package/cjs/node_modules/@dnd-kit/geometry/dist/index.js.map +0 -1
- package/cjs/node_modules/@dnd-kit/react/hooks.js +0 -134
- package/cjs/node_modules/@dnd-kit/react/hooks.js.map +0 -1
- package/cjs/node_modules/@dnd-kit/react/index.js +0 -398
- package/cjs/node_modules/@dnd-kit/react/index.js.map +0 -1
- package/cjs/node_modules/@dnd-kit/react/sortable.js +0 -177
- package/cjs/node_modules/@dnd-kit/react/sortable.js.map +0 -1
- package/cjs/node_modules/@dnd-kit/react/utilities.js +0 -19
- package/cjs/node_modules/@dnd-kit/react/utilities.js.map +0 -1
- package/cjs/node_modules/@dnd-kit/state/dist/index.js +0 -280
- package/cjs/node_modules/@dnd-kit/state/dist/index.js.map +0 -1
- package/cjs/node_modules/@preact/signals-core/dist/signals-core.js +0 -11
- package/cjs/node_modules/@preact/signals-core/dist/signals-core.js.map +0 -1
- package/cjs/packages/vuu-utils/src/Clock.js +0 -62
- package/cjs/packages/vuu-utils/src/Clock.js.map +0 -1
- package/cjs/packages/vuu-utils/src/PageVisibilityObserver.js +0 -80
- package/cjs/packages/vuu-utils/src/PageVisibilityObserver.js.map +0 -1
- package/cjs/packages/vuu-utils/src/ScaledDecimal.js +0 -43
- package/cjs/packages/vuu-utils/src/ScaledDecimal.js.map +0 -1
- package/cjs/packages/vuu-utils/src/ShellContext.js +0 -13
- package/cjs/packages/vuu-utils/src/ShellContext.js.map +0 -1
- package/cjs/packages/vuu-utils/src/ThemeProvider.js +0 -85
- package/cjs/packages/vuu-utils/src/ThemeProvider.js.map +0 -1
- package/cjs/packages/vuu-utils/src/array-utils.js +0 -87
- package/cjs/packages/vuu-utils/src/array-utils.js.map +0 -1
- package/cjs/packages/vuu-utils/src/box-utils.js +0 -53
- package/cjs/packages/vuu-utils/src/box-utils.js.map +0 -1
- package/cjs/packages/vuu-utils/src/column-utils.js +0 -1057
- package/cjs/packages/vuu-utils/src/column-utils.js.map +0 -1
- package/cjs/packages/vuu-utils/src/common-types.js +0 -15
- package/cjs/packages/vuu-utils/src/common-types.js.map +0 -1
- package/cjs/packages/vuu-utils/src/component-registry.js +0 -144
- package/cjs/packages/vuu-utils/src/component-registry.js.map +0 -1
- package/cjs/packages/vuu-utils/src/context-definitions/DataContext.js +0 -21
- package/cjs/packages/vuu-utils/src/context-definitions/DataContext.js.map +0 -1
- package/cjs/packages/vuu-utils/src/context-definitions/DataProvider.js +0 -19
- package/cjs/packages/vuu-utils/src/context-definitions/DataProvider.js.map +0 -1
- package/cjs/packages/vuu-utils/src/context-definitions/DataSourceProvider.js +0 -33
- package/cjs/packages/vuu-utils/src/context-definitions/DataSourceProvider.js.map +0 -1
- package/cjs/packages/vuu-utils/src/context-definitions/WorkspaceContext.js +0 -20
- package/cjs/packages/vuu-utils/src/context-definitions/WorkspaceContext.js.map +0 -1
- package/cjs/packages/vuu-utils/src/cookie-utils.js +0 -22
- package/cjs/packages/vuu-utils/src/cookie-utils.js.map +0 -1
- package/cjs/packages/vuu-utils/src/css-utils.js +0 -9
- package/cjs/packages/vuu-utils/src/css-utils.js.map +0 -1
- package/cjs/packages/vuu-utils/src/data-editing/DataEditingProvider.js +0 -28
- package/cjs/packages/vuu-utils/src/data-editing/DataEditingProvider.js.map +0 -1
- package/cjs/packages/vuu-utils/src/data-editing/EditButtons.js +0 -34
- package/cjs/packages/vuu-utils/src/data-editing/EditButtons.js.map +0 -1
- package/cjs/packages/vuu-utils/src/data-editing/EditSession.js +0 -204
- package/cjs/packages/vuu-utils/src/data-editing/EditSession.js.map +0 -1
- package/cjs/packages/vuu-utils/src/data-editing/edit-utils.js +0 -37
- package/cjs/packages/vuu-utils/src/data-editing/edit-utils.js.map +0 -1
- package/cjs/packages/vuu-utils/src/data-editing/useEditableTable.js +0 -81
- package/cjs/packages/vuu-utils/src/data-editing/useEditableTable.js.map +0 -1
- package/cjs/packages/vuu-utils/src/data-utils.js +0 -96
- package/cjs/packages/vuu-utils/src/data-utils.js.map +0 -1
- package/cjs/packages/vuu-utils/src/datasource/BaseDataSource.js +0 -317
- package/cjs/packages/vuu-utils/src/datasource/BaseDataSource.js.map +0 -1
- package/cjs/packages/vuu-utils/src/datasource/datasource-action-utils.js +0 -14
- package/cjs/packages/vuu-utils/src/datasource/datasource-action-utils.js.map +0 -1
- package/cjs/packages/vuu-utils/src/datasource/datasource-filter-utils.js +0 -40
- package/cjs/packages/vuu-utils/src/datasource/datasource-filter-utils.js.map +0 -1
- package/cjs/packages/vuu-utils/src/datasource/datasource-utils.js +0 -218
- package/cjs/packages/vuu-utils/src/datasource/datasource-utils.js.map +0 -1
- package/cjs/packages/vuu-utils/src/date/date-utils.js +0 -131
- package/cjs/packages/vuu-utils/src/date/date-utils.js.map +0 -1
- package/cjs/packages/vuu-utils/src/date/dateTimePattern.js +0 -26
- package/cjs/packages/vuu-utils/src/date/dateTimePattern.js.map +0 -1
- package/cjs/packages/vuu-utils/src/date/formatter.js +0 -82
- package/cjs/packages/vuu-utils/src/date/formatter.js.map +0 -1
- package/cjs/packages/vuu-utils/src/date/types.js +0 -32
- package/cjs/packages/vuu-utils/src/date/types.js.map +0 -1
- package/cjs/packages/vuu-utils/src/debug-utils.js +0 -34
- package/cjs/packages/vuu-utils/src/debug-utils.js.map +0 -1
- package/cjs/packages/vuu-utils/src/event-emitter.js +0 -113
- package/cjs/packages/vuu-utils/src/event-emitter.js.map +0 -1
- package/cjs/packages/vuu-utils/src/feature-utils.js +0 -139
- package/cjs/packages/vuu-utils/src/feature-utils.js.map +0 -1
- package/cjs/packages/vuu-utils/src/filters/filter-utils.js +0 -182
- package/cjs/packages/vuu-utils/src/filters/filter-utils.js.map +0 -1
- package/cjs/packages/vuu-utils/src/filters/filterAsQuery.js +0 -69
- package/cjs/packages/vuu-utils/src/filters/filterAsQuery.js.map +0 -1
- package/cjs/packages/vuu-utils/src/form-utils.js +0 -117
- package/cjs/packages/vuu-utils/src/form-utils.js.map +0 -1
- package/cjs/packages/vuu-utils/src/formatting-utils.js +0 -98
- package/cjs/packages/vuu-utils/src/formatting-utils.js.map +0 -1
- package/cjs/packages/vuu-utils/src/getUniqueId.js +0 -6
- package/cjs/packages/vuu-utils/src/getUniqueId.js.map +0 -1
- package/cjs/packages/vuu-utils/src/group-utils.js +0 -27
- package/cjs/packages/vuu-utils/src/group-utils.js.map +0 -1
- package/cjs/packages/vuu-utils/src/html-utils.js +0 -162
- package/cjs/packages/vuu-utils/src/html-utils.js.map +0 -1
- package/cjs/packages/vuu-utils/src/index.js +0 -475
- package/cjs/packages/vuu-utils/src/index.js.map +0 -1
- package/cjs/packages/vuu-utils/src/input-utils.js +0 -10
- package/cjs/packages/vuu-utils/src/input-utils.js.map +0 -1
- package/cjs/packages/vuu-utils/src/invariant.js +0 -13
- package/cjs/packages/vuu-utils/src/invariant.js.map +0 -1
- package/cjs/packages/vuu-utils/src/itemToString.js +0 -23
- package/cjs/packages/vuu-utils/src/itemToString.js.map +0 -1
- package/cjs/packages/vuu-utils/src/json-utils.js +0 -105
- package/cjs/packages/vuu-utils/src/json-utils.js.map +0 -1
- package/cjs/packages/vuu-utils/src/keyboard-utils.js +0 -30
- package/cjs/packages/vuu-utils/src/keyboard-utils.js.map +0 -1
- package/cjs/packages/vuu-utils/src/keyset.js +0 -72
- package/cjs/packages/vuu-utils/src/keyset.js.map +0 -1
- package/cjs/packages/vuu-utils/src/list-utils.js +0 -11
- package/cjs/packages/vuu-utils/src/list-utils.js.map +0 -1
- package/cjs/packages/vuu-utils/src/local-storage-utils.js +0 -35
- package/cjs/packages/vuu-utils/src/local-storage-utils.js.map +0 -1
- package/cjs/packages/vuu-utils/src/logging-utils.js +0 -65
- package/cjs/packages/vuu-utils/src/logging-utils.js.map +0 -1
- package/cjs/packages/vuu-utils/src/module-utils.js +0 -6
- package/cjs/packages/vuu-utils/src/module-utils.js.map +0 -1
- package/cjs/packages/vuu-utils/src/nanoid/index.js +0 -22
- package/cjs/packages/vuu-utils/src/nanoid/index.js.map +0 -1
- package/cjs/packages/vuu-utils/src/perf-utils.js +0 -35
- package/cjs/packages/vuu-utils/src/perf-utils.js.map +0 -1
- package/cjs/packages/vuu-utils/src/promise-utils.js +0 -42
- package/cjs/packages/vuu-utils/src/promise-utils.js.map +0 -1
- package/cjs/packages/vuu-utils/src/protocol-message-utils.js +0 -104
- package/cjs/packages/vuu-utils/src/protocol-message-utils.js.map +0 -1
- package/cjs/packages/vuu-utils/src/range-utils.js +0 -115
- package/cjs/packages/vuu-utils/src/range-utils.js.map +0 -1
- package/cjs/packages/vuu-utils/src/react-utils.js +0 -72
- package/cjs/packages/vuu-utils/src/react-utils.js.map +0 -1
- package/cjs/packages/vuu-utils/src/round-decimal.js +0 -131
- package/cjs/packages/vuu-utils/src/round-decimal.js.map +0 -1
- package/cjs/packages/vuu-utils/src/row-utils.js +0 -59
- package/cjs/packages/vuu-utils/src/row-utils.js.map +0 -1
- package/cjs/packages/vuu-utils/src/selection-utils.js +0 -34
- package/cjs/packages/vuu-utils/src/selection-utils.js.map +0 -1
- package/cjs/packages/vuu-utils/src/shell-layout-types.js +0 -13
- package/cjs/packages/vuu-utils/src/shell-layout-types.js.map +0 -1
- package/cjs/packages/vuu-utils/src/sort-utils.js +0 -78
- package/cjs/packages/vuu-utils/src/sort-utils.js.map +0 -1
- package/cjs/packages/vuu-utils/src/table-schema-utils.js +0 -13
- package/cjs/packages/vuu-utils/src/table-schema-utils.js.map +0 -1
- package/cjs/packages/vuu-utils/src/text-utils.js +0 -21
- package/cjs/packages/vuu-utils/src/text-utils.js.map +0 -1
- package/cjs/packages/vuu-utils/src/theme-utils.js +0 -36
- package/cjs/packages/vuu-utils/src/theme-utils.js.map +0 -1
- package/cjs/packages/vuu-utils/src/tree-utils.js +0 -114
- package/cjs/packages/vuu-utils/src/tree-utils.js.map +0 -1
- package/cjs/packages/vuu-utils/src/ts-utils.js +0 -12
- package/cjs/packages/vuu-utils/src/ts-utils.js.map +0 -1
- package/cjs/packages/vuu-utils/src/typeahead-utils.js +0 -6
- package/cjs/packages/vuu-utils/src/typeahead-utils.js.map +0 -1
- package/cjs/packages/vuu-utils/src/url-utils.js +0 -21
- package/cjs/packages/vuu-utils/src/url-utils.js.map +0 -1
- package/cjs/packages/vuu-utils/src/useId.js +0 -9
- package/cjs/packages/vuu-utils/src/useId.js.map +0 -1
- package/cjs/packages/vuu-utils/src/useLayoutEffectSkipFirst.js +0 -17
- package/cjs/packages/vuu-utils/src/useLayoutEffectSkipFirst.js.map +0 -1
- package/cjs/packages/vuu-utils/src/useResizeObserver.js +0 -134
- package/cjs/packages/vuu-utils/src/useResizeObserver.js.map +0 -1
- package/cjs/packages/vuu-utils/src/useStateRef.js +0 -23
- package/cjs/packages/vuu-utils/src/useStateRef.js.map +0 -1
- package/esm/node_modules/@dnd-kit/abstract/index.js +0 -1472
- package/esm/node_modules/@dnd-kit/abstract/index.js.map +0 -1
- package/esm/node_modules/@dnd-kit/abstract/modifiers.js +0 -82
- package/esm/node_modules/@dnd-kit/abstract/modifiers.js.map +0 -1
- package/esm/node_modules/@dnd-kit/collision/dist/index.js +0 -86
- package/esm/node_modules/@dnd-kit/collision/dist/index.js.map +0 -1
- package/esm/node_modules/@dnd-kit/dom/index.js +0 -1977
- package/esm/node_modules/@dnd-kit/dom/index.js.map +0 -1
- package/esm/node_modules/@dnd-kit/dom/sortable.js +0 -822
- package/esm/node_modules/@dnd-kit/dom/sortable.js.map +0 -1
- package/esm/node_modules/@dnd-kit/dom/utilities.js +0 -1344
- package/esm/node_modules/@dnd-kit/dom/utilities.js.map +0 -1
- package/esm/node_modules/@dnd-kit/geometry/dist/index.js +0 -303
- package/esm/node_modules/@dnd-kit/geometry/dist/index.js.map +0 -1
- package/esm/node_modules/@dnd-kit/react/hooks.js +0 -126
- package/esm/node_modules/@dnd-kit/react/hooks.js.map +0 -1
- package/esm/node_modules/@dnd-kit/react/index.js +0 -392
- package/esm/node_modules/@dnd-kit/react/index.js.map +0 -1
- package/esm/node_modules/@dnd-kit/react/sortable.js +0 -175
- package/esm/node_modules/@dnd-kit/react/sortable.js.map +0 -1
- package/esm/node_modules/@dnd-kit/react/utilities.js +0 -17
- package/esm/node_modules/@dnd-kit/react/utilities.js.map +0 -1
- package/esm/node_modules/@dnd-kit/state/dist/index.js +0 -266
- package/esm/node_modules/@dnd-kit/state/dist/index.js.map +0 -1
- package/esm/node_modules/@preact/signals-core/dist/signals-core.js +0 -4
- package/esm/node_modules/@preact/signals-core/dist/signals-core.js.map +0 -1
- package/esm/packages/vuu-utils/src/Clock.js +0 -60
- package/esm/packages/vuu-utils/src/Clock.js.map +0 -1
- package/esm/packages/vuu-utils/src/PageVisibilityObserver.js +0 -78
- package/esm/packages/vuu-utils/src/PageVisibilityObserver.js.map +0 -1
- package/esm/packages/vuu-utils/src/ScaledDecimal.js +0 -37
- package/esm/packages/vuu-utils/src/ScaledDecimal.js.map +0 -1
- package/esm/packages/vuu-utils/src/ShellContext.js +0 -10
- package/esm/packages/vuu-utils/src/ShellContext.js.map +0 -1
- package/esm/packages/vuu-utils/src/ThemeProvider.js +0 -78
- package/esm/packages/vuu-utils/src/ThemeProvider.js.map +0 -1
- package/esm/packages/vuu-utils/src/array-utils.js +0 -79
- package/esm/packages/vuu-utils/src/array-utils.js.map +0 -1
- package/esm/packages/vuu-utils/src/box-utils.js +0 -47
- package/esm/packages/vuu-utils/src/box-utils.js.map +0 -1
- package/esm/packages/vuu-utils/src/column-utils.js +0 -970
- package/esm/packages/vuu-utils/src/column-utils.js.map +0 -1
- package/esm/packages/vuu-utils/src/common-types.js +0 -13
- package/esm/packages/vuu-utils/src/common-types.js.map +0 -1
- package/esm/packages/vuu-utils/src/component-registry.js +0 -128
- package/esm/packages/vuu-utils/src/component-registry.js.map +0 -1
- package/esm/packages/vuu-utils/src/context-definitions/DataContext.js +0 -18
- package/esm/packages/vuu-utils/src/context-definitions/DataContext.js.map +0 -1
- package/esm/packages/vuu-utils/src/context-definitions/DataProvider.js +0 -16
- package/esm/packages/vuu-utils/src/context-definitions/DataProvider.js.map +0 -1
- package/esm/packages/vuu-utils/src/context-definitions/DataSourceProvider.js +0 -29
- package/esm/packages/vuu-utils/src/context-definitions/DataSourceProvider.js.map +0 -1
- package/esm/packages/vuu-utils/src/context-definitions/WorkspaceContext.js +0 -17
- package/esm/packages/vuu-utils/src/context-definitions/WorkspaceContext.js.map +0 -1
- package/esm/packages/vuu-utils/src/cookie-utils.js +0 -19
- package/esm/packages/vuu-utils/src/cookie-utils.js.map +0 -1
- package/esm/packages/vuu-utils/src/css-utils.js +0 -7
- package/esm/packages/vuu-utils/src/css-utils.js.map +0 -1
- package/esm/packages/vuu-utils/src/data-editing/DataEditingProvider.js +0 -25
- package/esm/packages/vuu-utils/src/data-editing/DataEditingProvider.js.map +0 -1
- package/esm/packages/vuu-utils/src/data-editing/EditButtons.js +0 -32
- package/esm/packages/vuu-utils/src/data-editing/EditButtons.js.map +0 -1
- package/esm/packages/vuu-utils/src/data-editing/EditSession.js +0 -201
- package/esm/packages/vuu-utils/src/data-editing/EditSession.js.map +0 -1
- package/esm/packages/vuu-utils/src/data-editing/edit-utils.js +0 -34
- package/esm/packages/vuu-utils/src/data-editing/edit-utils.js.map +0 -1
- package/esm/packages/vuu-utils/src/data-editing/useEditableTable.js +0 -79
- package/esm/packages/vuu-utils/src/data-editing/useEditableTable.js.map +0 -1
- package/esm/packages/vuu-utils/src/data-utils.js +0 -82
- package/esm/packages/vuu-utils/src/data-utils.js.map +0 -1
- package/esm/packages/vuu-utils/src/datasource/BaseDataSource.js +0 -314
- package/esm/packages/vuu-utils/src/datasource/BaseDataSource.js.map +0 -1
- package/esm/packages/vuu-utils/src/datasource/datasource-action-utils.js +0 -8
- package/esm/packages/vuu-utils/src/datasource/datasource-action-utils.js.map +0 -1
- package/esm/packages/vuu-utils/src/datasource/datasource-filter-utils.js +0 -38
- package/esm/packages/vuu-utils/src/datasource/datasource-filter-utils.js.map +0 -1
- package/esm/packages/vuu-utils/src/datasource/datasource-utils.js +0 -193
- package/esm/packages/vuu-utils/src/datasource/datasource-utils.js.map +0 -1
- package/esm/packages/vuu-utils/src/date/date-utils.js +0 -121
- package/esm/packages/vuu-utils/src/date/date-utils.js.map +0 -1
- package/esm/packages/vuu-utils/src/date/dateTimePattern.js +0 -22
- package/esm/packages/vuu-utils/src/date/dateTimePattern.js.map +0 -1
- package/esm/packages/vuu-utils/src/date/formatter.js +0 -79
- package/esm/packages/vuu-utils/src/date/formatter.js.map +0 -1
- package/esm/packages/vuu-utils/src/date/types.js +0 -26
- package/esm/packages/vuu-utils/src/date/types.js.map +0 -1
- package/esm/packages/vuu-utils/src/debug-utils.js +0 -32
- package/esm/packages/vuu-utils/src/debug-utils.js.map +0 -1
- package/esm/packages/vuu-utils/src/event-emitter.js +0 -111
- package/esm/packages/vuu-utils/src/event-emitter.js.map +0 -1
- package/esm/packages/vuu-utils/src/feature-utils.js +0 -125
- package/esm/packages/vuu-utils/src/feature-utils.js.map +0 -1
- package/esm/packages/vuu-utils/src/filters/filter-utils.js +0 -159
- package/esm/packages/vuu-utils/src/filters/filter-utils.js.map +0 -1
- package/esm/packages/vuu-utils/src/filters/filterAsQuery.js +0 -65
- package/esm/packages/vuu-utils/src/filters/filterAsQuery.js.map +0 -1
- package/esm/packages/vuu-utils/src/form-utils.js +0 -110
- package/esm/packages/vuu-utils/src/form-utils.js.map +0 -1
- package/esm/packages/vuu-utils/src/formatting-utils.js +0 -93
- package/esm/packages/vuu-utils/src/formatting-utils.js.map +0 -1
- package/esm/packages/vuu-utils/src/getUniqueId.js +0 -4
- package/esm/packages/vuu-utils/src/getUniqueId.js.map +0 -1
- package/esm/packages/vuu-utils/src/group-utils.js +0 -23
- package/esm/packages/vuu-utils/src/group-utils.js.map +0 -1
- package/esm/packages/vuu-utils/src/html-utils.js +0 -145
- package/esm/packages/vuu-utils/src/html-utils.js.map +0 -1
- package/esm/packages/vuu-utils/src/index.js +0 -77
- package/esm/packages/vuu-utils/src/index.js.map +0 -1
- package/esm/packages/vuu-utils/src/input-utils.js +0 -7
- package/esm/packages/vuu-utils/src/input-utils.js.map +0 -1
- package/esm/packages/vuu-utils/src/invariant.js +0 -11
- package/esm/packages/vuu-utils/src/invariant.js.map +0 -1
- package/esm/packages/vuu-utils/src/itemToString.js +0 -21
- package/esm/packages/vuu-utils/src/itemToString.js.map +0 -1
- package/esm/packages/vuu-utils/src/json-utils.js +0 -103
- package/esm/packages/vuu-utils/src/json-utils.js.map +0 -1
- package/esm/packages/vuu-utils/src/keyboard-utils.js.map +0 -1
- package/esm/packages/vuu-utils/src/keyset.js +0 -70
- package/esm/packages/vuu-utils/src/keyset.js.map +0 -1
- package/esm/packages/vuu-utils/src/list-utils.js +0 -9
- package/esm/packages/vuu-utils/src/list-utils.js.map +0 -1
- package/esm/packages/vuu-utils/src/local-storage-utils.js +0 -30
- package/esm/packages/vuu-utils/src/local-storage-utils.js.map +0 -1
- package/esm/packages/vuu-utils/src/logging-utils.js +0 -61
- package/esm/packages/vuu-utils/src/logging-utils.js.map +0 -1
- package/esm/packages/vuu-utils/src/module-utils.js +0 -4
- package/esm/packages/vuu-utils/src/module-utils.js.map +0 -1
- package/esm/packages/vuu-utils/src/nanoid/index.js +0 -20
- package/esm/packages/vuu-utils/src/nanoid/index.js.map +0 -1
- package/esm/packages/vuu-utils/src/perf-utils.js +0 -32
- package/esm/packages/vuu-utils/src/perf-utils.js.map +0 -1
- package/esm/packages/vuu-utils/src/promise-utils.js +0 -40
- package/esm/packages/vuu-utils/src/promise-utils.js.map +0 -1
- package/esm/packages/vuu-utils/src/protocol-message-utils.js +0 -75
- package/esm/packages/vuu-utils/src/protocol-message-utils.js.map +0 -1
- package/esm/packages/vuu-utils/src/range-utils.js +0 -108
- package/esm/packages/vuu-utils/src/range-utils.js.map +0 -1
- package/esm/packages/vuu-utils/src/react-utils.js +0 -66
- package/esm/packages/vuu-utils/src/react-utils.js.map +0 -1
- package/esm/packages/vuu-utils/src/round-decimal.js +0 -127
- package/esm/packages/vuu-utils/src/round-decimal.js.map +0 -1
- package/esm/packages/vuu-utils/src/row-utils.js +0 -54
- package/esm/packages/vuu-utils/src/row-utils.js.map +0 -1
- package/esm/packages/vuu-utils/src/selection-utils.js +0 -31
- package/esm/packages/vuu-utils/src/selection-utils.js.map +0 -1
- package/esm/packages/vuu-utils/src/shell-layout-types.js +0 -11
- package/esm/packages/vuu-utils/src/shell-layout-types.js.map +0 -1
- package/esm/packages/vuu-utils/src/sort-utils.js +0 -73
- package/esm/packages/vuu-utils/src/sort-utils.js.map +0 -1
- package/esm/packages/vuu-utils/src/table-schema-utils.js +0 -11
- package/esm/packages/vuu-utils/src/table-schema-utils.js.map +0 -1
- package/esm/packages/vuu-utils/src/text-utils.js +0 -18
- package/esm/packages/vuu-utils/src/text-utils.js.map +0 -1
- package/esm/packages/vuu-utils/src/theme-utils.js +0 -34
- package/esm/packages/vuu-utils/src/theme-utils.js.map +0 -1
- package/esm/packages/vuu-utils/src/tree-utils.js +0 -108
- package/esm/packages/vuu-utils/src/tree-utils.js.map +0 -1
- package/esm/packages/vuu-utils/src/ts-utils.js +0 -8
- package/esm/packages/vuu-utils/src/ts-utils.js.map +0 -1
- package/esm/packages/vuu-utils/src/typeahead-utils.js +0 -4
- package/esm/packages/vuu-utils/src/typeahead-utils.js.map +0 -1
- package/esm/packages/vuu-utils/src/url-utils.js +0 -18
- package/esm/packages/vuu-utils/src/url-utils.js.map +0 -1
- package/esm/packages/vuu-utils/src/useId.js +0 -7
- package/esm/packages/vuu-utils/src/useId.js.map +0 -1
- package/esm/packages/vuu-utils/src/useLayoutEffectSkipFirst.js +0 -15
- package/esm/packages/vuu-utils/src/useLayoutEffectSkipFirst.js.map +0 -1
- package/esm/packages/vuu-utils/src/useResizeObserver.js +0 -130
- package/esm/packages/vuu-utils/src/useResizeObserver.js.map +0 -1
- package/esm/packages/vuu-utils/src/useStateRef.js +0 -21
- package/esm/packages/vuu-utils/src/useStateRef.js.map +0 -1
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import { metadataKeys } from './column-utils.js';
|
|
2
|
-
|
|
3
|
-
const { IS_LEAF, KEY, IDX, SELECTED } = metadataKeys;
|
|
4
|
-
const actualRowPositioning = (rowHeight) => [
|
|
5
|
-
(dataRow) => dataRow.index * rowHeight,
|
|
6
|
-
(position) => Math.floor(position / rowHeight),
|
|
7
|
-
false
|
|
8
|
-
];
|
|
9
|
-
const virtualRowPositioning = (rowHeight, virtualisedExtent, pctScrollTop) => [
|
|
10
|
-
(dataRow, offset = 0) => {
|
|
11
|
-
const rowOffset = pctScrollTop.current * virtualisedExtent;
|
|
12
|
-
return (dataRow.index - offset) * rowHeight - rowOffset;
|
|
13
|
-
},
|
|
14
|
-
/*
|
|
15
|
-
Return index position of closest row
|
|
16
|
-
*/
|
|
17
|
-
(position) => {
|
|
18
|
-
const rowOffset = pctScrollTop.current * virtualisedExtent;
|
|
19
|
-
return Math.round((position + rowOffset) / rowHeight);
|
|
20
|
-
},
|
|
21
|
-
true
|
|
22
|
-
];
|
|
23
|
-
const asDataSourceRowObject = (row, columnMap) => {
|
|
24
|
-
const { [IS_LEAF]: isLeaf, [KEY]: key, [IDX]: index } = row;
|
|
25
|
-
const rowObject = {
|
|
26
|
-
key,
|
|
27
|
-
index,
|
|
28
|
-
isGroupRow: !isLeaf,
|
|
29
|
-
isSelected: row[SELECTED] !== 0,
|
|
30
|
-
data: {}
|
|
31
|
-
};
|
|
32
|
-
for (const [colName, colIdx] of Object.entries(columnMap)) {
|
|
33
|
-
rowObject.data[colName] = row[colIdx];
|
|
34
|
-
}
|
|
35
|
-
return rowObject;
|
|
36
|
-
};
|
|
37
|
-
const vuuRowToDataSourceRow = ({ rowIndex, rowKey, sel: isSelected = 0, ts, data }, keys) => {
|
|
38
|
-
return [
|
|
39
|
-
rowIndex,
|
|
40
|
-
keys.keyFor(rowIndex),
|
|
41
|
-
true,
|
|
42
|
-
false,
|
|
43
|
-
0,
|
|
44
|
-
0,
|
|
45
|
-
rowKey,
|
|
46
|
-
isSelected,
|
|
47
|
-
ts,
|
|
48
|
-
false
|
|
49
|
-
// IsNew
|
|
50
|
-
].concat(data);
|
|
51
|
-
};
|
|
52
|
-
|
|
53
|
-
export { actualRowPositioning, asDataSourceRowObject, virtualRowPositioning, vuuRowToDataSourceRow };
|
|
54
|
-
//# sourceMappingURL=row-utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"row-utils.js","sources":["../../../../../../packages/vuu-utils/src/row-utils.ts"],"sourcesContent":["//TODO this all probably belongs in vuu-table\nimport type {\n DataSourceRow,\n DataSourceRowObject,\n} from \"@vuu-ui/vuu-data-types\";\nimport { ColumnMap, metadataKeys } from \"./column-utils\";\nimport { IKeySet } from \"./keyset\";\nimport { VuuRow } from \"@vuu-ui/vuu-protocol-types\";\nimport { RefObject } from \"react\";\nimport { DataRow } from \"@vuu-ui/vuu-table-types\";\n\nconst { IS_LEAF, KEY, IDX, SELECTED } = metadataKeys;\n\nexport type RowOffsetFunc = (dataRow: DataRow, pctScrollTop?: number) => number;\nexport type RowAtPositionFunc = (position: number) => number;\n\n/**\n * RowOffset function, RowAtPosition function, isVirtualScroll\n */\nexport type RowPositioning = [RowOffsetFunc, RowAtPositionFunc, boolean];\n\nexport const actualRowPositioning = (rowHeight: number): RowPositioning => [\n (dataRow) => dataRow.index * rowHeight,\n (position) => Math.floor(position / rowHeight),\n false,\n];\n\n/**\n * return functions for determining a) the pixel offset to apply to a row, given the\n * row index and b) the index of the row at a given scroll offset. This implementation\n * is used when we are forced to 'virtualise' scrolling - because the number of rows\n * is high enough that we cannot create a large enough HTML content container.\n *\n * @param rowHeight\n * @param virtualisedExtent\n * @param pctScrollTop\n * @returns\n */\nexport const virtualRowPositioning = (\n rowHeight: number,\n virtualisedExtent: number,\n pctScrollTop: RefObject<number>,\n): RowPositioning => [\n (dataRow, offset = 0) => {\n const rowOffset = pctScrollTop.current * virtualisedExtent;\n return (dataRow.index - offset) * rowHeight - rowOffset;\n },\n /*\n Return index position of closest row \n */\n (position) => {\n const rowOffset = pctScrollTop.current * virtualisedExtent;\n return Math.round((position + rowOffset) / rowHeight);\n },\n true,\n];\n\n// deprecated\nexport type RowToObjectMapper = (\n row: DataSourceRow,\n columnMap: ColumnMap,\n) => DataSourceRowObject;\n\n// deprecated\nexport const asDataSourceRowObject: RowToObjectMapper = (\n row,\n columnMap,\n): DataSourceRowObject => {\n const { [IS_LEAF]: isLeaf, [KEY]: key, [IDX]: index } = row;\n\n const rowObject: DataSourceRowObject = {\n key,\n index,\n isGroupRow: !isLeaf,\n isSelected: row[SELECTED] !== 0,\n data: {},\n };\n\n for (const [colName, colIdx] of Object.entries(columnMap)) {\n rowObject.data[colName] = row[colIdx];\n }\n\n return rowObject;\n};\n\n// deprecated\nexport const vuuRowToDataSourceRow = (\n { rowIndex, rowKey, sel: isSelected = 0, ts, data }: VuuRow,\n keys: IKeySet,\n) => {\n return [\n rowIndex,\n keys.keyFor(rowIndex),\n true,\n false,\n 0,\n 0,\n rowKey,\n isSelected,\n ts,\n false, // IsNew\n ].concat(data) as DataSourceRow;\n};\n"],"names":[],"mappings":";;AAWA,MAAM,EAAE,OAAA,EAAS,GAAK,EAAA,GAAA,EAAK,UAAa,GAAA,YAAA;AAU3B,MAAA,oBAAA,GAAuB,CAAC,SAAsC,KAAA;AAAA,EACzE,CAAC,OAAY,KAAA,OAAA,CAAQ,KAAQ,GAAA,SAAA;AAAA,EAC7B,CAAC,QAAA,KAAa,IAAK,CAAA,KAAA,CAAM,WAAW,SAAS,CAAA;AAAA,EAC7C;AACF;AAaO,MAAM,qBAAwB,GAAA,CACnC,SACA,EAAA,iBAAA,EACA,YACmB,KAAA;AAAA,EACnB,CAAC,OAAS,EAAA,MAAA,GAAS,CAAM,KAAA;AACvB,IAAM,MAAA,SAAA,GAAY,aAAa,OAAU,GAAA,iBAAA;AACzC,IAAQ,OAAA,CAAA,OAAA,CAAQ,KAAQ,GAAA,MAAA,IAAU,SAAY,GAAA,SAAA;AAAA,GAChD;AAAA;AAAA;AAAA;AAAA,EAIA,CAAC,QAAa,KAAA;AACZ,IAAM,MAAA,SAAA,GAAY,aAAa,OAAU,GAAA,iBAAA;AACzC,IAAA,OAAO,IAAK,CAAA,KAAA,CAAA,CAAO,QAAW,GAAA,SAAA,IAAa,SAAS,CAAA;AAAA,GACtD;AAAA,EACA;AACF;AASa,MAAA,qBAAA,GAA2C,CACtD,GAAA,EACA,SACwB,KAAA;AACxB,EAAA,MAAM,EAAE,CAAC,OAAO,GAAG,MAAQ,EAAA,CAAC,GAAG,GAAG,GAAK,EAAA,CAAC,GAAG,GAAG,OAAU,GAAA,GAAA;AAExD,EAAA,MAAM,SAAiC,GAAA;AAAA,IACrC,GAAA;AAAA,IACA,KAAA;AAAA,IACA,YAAY,CAAC,MAAA;AAAA,IACb,UAAA,EAAY,GAAI,CAAA,QAAQ,CAAM,KAAA,CAAA;AAAA,IAC9B,MAAM;AAAC,GACT;AAEA,EAAA,KAAA,MAAW,CAAC,OAAS,EAAA,MAAM,KAAK,MAAO,CAAA,OAAA,CAAQ,SAAS,CAAG,EAAA;AACzD,IAAA,SAAA,CAAU,IAAK,CAAA,OAAO,CAAI,GAAA,GAAA,CAAI,MAAM,CAAA;AAAA;AAGtC,EAAO,OAAA,SAAA;AACT;AAGa,MAAA,qBAAA,GAAwB,CACnC,EAAE,QAAU,EAAA,MAAA,EAAQ,GAAK,EAAA,UAAA,GAAa,CAAG,EAAA,EAAA,EAAI,IAAK,EAAA,EAClD,IACG,KAAA;AACH,EAAO,OAAA;AAAA,IACL,QAAA;AAAA,IACA,IAAA,CAAK,OAAO,QAAQ,CAAA;AAAA,IACpB,IAAA;AAAA,IACA,KAAA;AAAA,IACA,CAAA;AAAA,IACA,CAAA;AAAA,IACA,MAAA;AAAA,IACA,UAAA;AAAA,IACA,EAAA;AAAA,IACA;AAAA;AAAA,GACF,CAAE,OAAO,IAAI,CAAA;AACf;;;;"}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
const deselectItem = (selectionModel, rowKey, rangeSelect, preserveExistingSelection = false) => {
|
|
2
|
-
return {
|
|
3
|
-
preserveExistingSelection,
|
|
4
|
-
rowKey,
|
|
5
|
-
type: "DESELECT_ROW"
|
|
6
|
-
};
|
|
7
|
-
};
|
|
8
|
-
const selectItem = (selectionModel, rowKey, rangeSelect, preserveExistingSelection = false, activeRowKey) => {
|
|
9
|
-
const singleSelect = selectionModel === "single" || selectionModel === "single-no-deselect";
|
|
10
|
-
const actsLikeSingleSelect = singleSelect || activeRowKey === void 0;
|
|
11
|
-
if (selectionModel === "none") {
|
|
12
|
-
return;
|
|
13
|
-
} else if (actsLikeSingleSelect) {
|
|
14
|
-
const preserveSelection = singleSelect ? false : preserveExistingSelection;
|
|
15
|
-
return {
|
|
16
|
-
preserveExistingSelection: preserveSelection,
|
|
17
|
-
rowKey,
|
|
18
|
-
type: "SELECT_ROW"
|
|
19
|
-
};
|
|
20
|
-
} else if (rangeSelect) {
|
|
21
|
-
return {
|
|
22
|
-
preserveExistingSelection,
|
|
23
|
-
fromRowKey: rowKey,
|
|
24
|
-
toRowKey: activeRowKey,
|
|
25
|
-
type: "SELECT_ROW_RANGE"
|
|
26
|
-
};
|
|
27
|
-
}
|
|
28
|
-
};
|
|
29
|
-
|
|
30
|
-
export { deselectItem, selectItem };
|
|
31
|
-
//# sourceMappingURL=selection-utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"selection-utils.js","sources":["../../../../../../packages/vuu-utils/src/selection-utils.ts"],"sourcesContent":["import { TableSelectionModel } from \"@vuu-ui/vuu-table-types\";\nimport { SelectRequest } from \"@vuu-ui/vuu-protocol-types\";\n\nexport const deselectItem = (\n selectionModel: TableSelectionModel,\n rowKey: string,\n rangeSelect: boolean,\n preserveExistingSelection = false,\n): Omit<SelectRequest, \"vpId\"> | undefined => {\n return {\n preserveExistingSelection,\n rowKey,\n type: \"DESELECT_ROW\",\n } as Omit<SelectRequest, \"vpId\">;\n};\n\nexport const selectItem = (\n selectionModel: TableSelectionModel,\n rowKey: string,\n rangeSelect: boolean,\n preserveExistingSelection = false,\n activeRowKey?: string,\n): Omit<SelectRequest, \"vpId\"> | undefined => {\n const singleSelect =\n selectionModel === \"single\" || selectionModel === \"single-no-deselect\";\n const actsLikeSingleSelect = singleSelect || activeRowKey === undefined;\n\n if (selectionModel === \"none\") {\n return;\n } else if (actsLikeSingleSelect) {\n const preserveSelection = singleSelect ? false : preserveExistingSelection;\n return {\n preserveExistingSelection: preserveSelection,\n rowKey,\n type: \"SELECT_ROW\",\n } as Omit<SelectRequest, \"vpId\">;\n } else if (rangeSelect) {\n return {\n preserveExistingSelection,\n fromRowKey: rowKey,\n toRowKey: activeRowKey,\n type: \"SELECT_ROW_RANGE\",\n } as Omit<SelectRequest, \"vpId\">;\n }\n};\n"],"names":[],"mappings":"AAGO,MAAM,eAAe,CAC1B,cAAA,EACA,MACA,EAAA,WAAA,EACA,4BAA4B,KACgB,KAAA;AAC5C,EAAO,OAAA;AAAA,IACL,yBAAA;AAAA,IACA,MAAA;AAAA,IACA,IAAM,EAAA;AAAA,GACR;AACF;AAEO,MAAM,aAAa,CACxB,cAAA,EACA,QACA,WACA,EAAA,yBAAA,GAA4B,OAC5B,YAC4C,KAAA;AAC5C,EAAM,MAAA,YAAA,GACJ,cAAmB,KAAA,QAAA,IAAY,cAAmB,KAAA,oBAAA;AACpD,EAAM,MAAA,oBAAA,GAAuB,gBAAgB,YAAiB,KAAA,KAAA,CAAA;AAE9D,EAAA,IAAI,mBAAmB,MAAQ,EAAA;AAC7B,IAAA;AAAA,aACS,oBAAsB,EAAA;AAC/B,IAAM,MAAA,iBAAA,GAAoB,eAAe,KAAQ,GAAA,yBAAA;AACjD,IAAO,OAAA;AAAA,MACL,yBAA2B,EAAA,iBAAA;AAAA,MAC3B,MAAA;AAAA,MACA,IAAM,EAAA;AAAA,KACR;AAAA,aACS,WAAa,EAAA;AACtB,IAAO,OAAA;AAAA,MACL,yBAAA;AAAA,MACA,UAAY,EAAA,MAAA;AAAA,MACZ,QAAU,EAAA,YAAA;AAAA,MACV,IAAM,EAAA;AAAA,KACR;AAAA;AAEJ;;;;"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
const VuuShellLocation = {
|
|
2
|
-
ContextPanel: "context-panel",
|
|
3
|
-
MultiWorkspaceContainer: "vuu-multi-workspace-container",
|
|
4
|
-
SidePanel: "vuu-side-panel",
|
|
5
|
-
SideToolbar: "vuu-side-toolbar",
|
|
6
|
-
Workspace: "vuu-workspace",
|
|
7
|
-
WorkspaceContainer: "vuu-workspace-container"
|
|
8
|
-
};
|
|
9
|
-
|
|
10
|
-
export { VuuShellLocation };
|
|
11
|
-
//# sourceMappingURL=shell-layout-types.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"shell-layout-types.js","sources":["../../../../../../packages/vuu-utils/src/shell-layout-types.ts"],"sourcesContent":["import { ValueOf } from \"./ts-utils\";\n\n/**\n * The Vuu Shell creates the outermost application layout. This includes some\n * 'special' identifiers that can be targetted by layout commands to effect or\n * react to layout changes.\n */\nexport const VuuShellLocation = {\n ContextPanel: \"context-panel\",\n MultiWorkspaceContainer: \"vuu-multi-workspace-container\",\n SidePanel: \"vuu-side-panel\",\n SideToolbar: \"vuu-side-toolbar\",\n Workspace: \"vuu-workspace\",\n WorkspaceContainer: \"vuu-workspace-container\",\n} as const;\n\nexport type VuuShellLocation = ValueOf<typeof VuuShellLocation>;\n"],"names":[],"mappings":"AAOO,MAAM,gBAAmB,GAAA;AAAA,EAC9B,YAAc,EAAA,eAAA;AAAA,EACd,uBAAyB,EAAA,+BAAA;AAAA,EACzB,SAAW,EAAA,gBAAA;AAAA,EACX,WAAa,EAAA,kBAAA;AAAA,EACb,SAAW,EAAA,eAAA;AAAA,EACX,kBAAoB,EAAA;AACtB;;;;"}
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
const cycleSortType = (sortType) => sortType === "A" ? "D" : sortType === "D" ? void 0 : "A";
|
|
2
|
-
const NO_SORT = { sortDefs: [] };
|
|
3
|
-
const toggleOrApplySort = ({ sortDefs }, { name: column }, extendSort = false, sortType) => {
|
|
4
|
-
if (extendSort) {
|
|
5
|
-
const existingDef = sortDefs.find((sortDef) => sortDef.column === column);
|
|
6
|
-
if (existingDef) {
|
|
7
|
-
return {
|
|
8
|
-
sortDefs: sortDefs.map(
|
|
9
|
-
(sortDef) => sortDef.column === column ? {
|
|
10
|
-
column,
|
|
11
|
-
sortType: sortDef.sortType === "A" ? "D" : "A"
|
|
12
|
-
} : sortDef
|
|
13
|
-
)
|
|
14
|
-
};
|
|
15
|
-
} else {
|
|
16
|
-
return {
|
|
17
|
-
sortDefs: sortDefs.concat({
|
|
18
|
-
column,
|
|
19
|
-
sortType: sortType ?? "A"
|
|
20
|
-
})
|
|
21
|
-
};
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
const newSortType = typeof sortType === "string" ? sortType : sortDefs.length === 1 && sortDefs[0].column === column ? cycleSortType(sortDefs[0].sortType) : "A";
|
|
25
|
-
return newSortType ? {
|
|
26
|
-
sortDefs: [{ column, sortType: newSortType }]
|
|
27
|
-
} : NO_SORT;
|
|
28
|
-
};
|
|
29
|
-
const setSortColumn = ({ sortDefs }, column, sortType) => {
|
|
30
|
-
if (sortType === void 0) {
|
|
31
|
-
const columnSort = sortDefs.find((item) => item.column === column.name);
|
|
32
|
-
if (columnSort) {
|
|
33
|
-
return {
|
|
34
|
-
sortDefs: [
|
|
35
|
-
{
|
|
36
|
-
column: column.name,
|
|
37
|
-
sortType: columnSort.sortType === "A" ? "D" : "A"
|
|
38
|
-
}
|
|
39
|
-
]
|
|
40
|
-
};
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
return { sortDefs: [{ column: column.name, sortType: sortType ?? "A" }] };
|
|
44
|
-
};
|
|
45
|
-
const addSortColumn = ({ sortDefs }, column, sortType = "A") => {
|
|
46
|
-
const sortEntry = { column: column.name, sortType };
|
|
47
|
-
if (sortDefs.length > 0) {
|
|
48
|
-
return {
|
|
49
|
-
sortDefs: sortDefs.concat(sortEntry)
|
|
50
|
-
};
|
|
51
|
-
} else {
|
|
52
|
-
return { sortDefs: [sortEntry] };
|
|
53
|
-
}
|
|
54
|
-
};
|
|
55
|
-
const getSortStatus = (columnName, vuuSort) => {
|
|
56
|
-
if (vuuSort === void 0 || vuuSort.sortDefs.length === 0) {
|
|
57
|
-
return "no-sort";
|
|
58
|
-
} else {
|
|
59
|
-
const sortDef = vuuSort.sortDefs.find((sd) => sd.column === columnName);
|
|
60
|
-
if (sortDef) {
|
|
61
|
-
if (vuuSort.sortDefs.length === 1) {
|
|
62
|
-
return sortDef.sortType === "A" ? "single-sort-asc" : "single-sort-desc";
|
|
63
|
-
} else {
|
|
64
|
-
return sortDef.sortType === "A" ? "multi-sort-includes-column-asc" : "multi-sort-includes-column-desc";
|
|
65
|
-
}
|
|
66
|
-
} else {
|
|
67
|
-
return "sort-other-column";
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
};
|
|
71
|
-
|
|
72
|
-
export { addSortColumn, getSortStatus, setSortColumn, toggleOrApplySort };
|
|
73
|
-
//# sourceMappingURL=sort-utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sort-utils.js","sources":["../../../../../../packages/vuu-utils/src/sort-utils.ts"],"sourcesContent":["import { ColumnDescriptor } from \"@vuu-ui/vuu-table-types\";\nimport { VuuSort, VuuSortCol, VuuSortType } from \"@vuu-ui/vuu-protocol-types\";\n\nconst cycleSortType = (sortType: VuuSortType) =>\n sortType === \"A\" ? \"D\" : sortType === \"D\" ? undefined : \"A\";\n\nconst NO_SORT: VuuSort = { sortDefs: [] };\n\n// Given an existing sort spec and a column we wish to sort by,\n// construct and return a new sort spec.\nexport const toggleOrApplySort = (\n { sortDefs }: VuuSort,\n { name: column }: ColumnDescriptor,\n extendSort = false,\n sortType?: VuuSortType,\n): VuuSort => {\n if (extendSort) {\n const existingDef = sortDefs.find((sortDef) => sortDef.column === column);\n if (existingDef) {\n return {\n sortDefs: sortDefs.map((sortDef) =>\n sortDef.column === column\n ? {\n column,\n sortType: sortDef.sortType === \"A\" ? \"D\" : \"A\",\n }\n : sortDef,\n ),\n };\n } else {\n return {\n sortDefs: sortDefs.concat({\n column,\n sortType: sortType ?? \"A\",\n }),\n };\n }\n }\n\n const newSortType =\n typeof sortType === \"string\"\n ? sortType\n : sortDefs.length === 1 && sortDefs[0].column === column\n ? cycleSortType(sortDefs[0].sortType)\n : \"A\";\n\n return newSortType\n ? {\n sortDefs: [{ column, sortType: newSortType }],\n }\n : NO_SORT;\n};\n\nexport const setSortColumn = (\n { sortDefs }: VuuSort,\n column: ColumnDescriptor,\n sortType?: \"A\" | \"D\",\n): VuuSort => {\n if (sortType === undefined) {\n const columnSort = sortDefs.find((item) => item.column === column.name);\n if (columnSort) {\n return {\n sortDefs: [\n {\n column: column.name,\n sortType: columnSort.sortType === \"A\" ? \"D\" : \"A\",\n },\n ],\n };\n }\n }\n return { sortDefs: [{ column: column.name, sortType: sortType ?? \"A\" }] };\n};\n\nexport const addSortColumn = (\n { sortDefs }: VuuSort,\n column: ColumnDescriptor,\n sortType: \"A\" | \"D\" = \"A\",\n): VuuSort => {\n const sortEntry: VuuSortCol = { column: column.name, sortType };\n if (sortDefs.length > 0) {\n return {\n sortDefs: sortDefs.concat(sortEntry),\n };\n } else {\n return { sortDefs: [sortEntry] };\n }\n};\n\nexport type ColumnSortStatus =\n | \"no-sort\"\n | \"sort-other-column\"\n | \"single-sort-asc\"\n | \"single-sort-desc\"\n | \"multi-sort-includes-column-asc\"\n | \"multi-sort-includes-column-desc\";\n\n/**\n * Given a VuuSort definition and a column, determine whether the given column\n * is included in the sort and if so, in what position/direction.\n */\nexport const getSortStatus = (\n columnName: string,\n vuuSort?: VuuSort,\n): ColumnSortStatus => {\n if (vuuSort === undefined || vuuSort.sortDefs.length === 0) {\n return \"no-sort\";\n } else {\n const sortDef = vuuSort.sortDefs.find((sd) => sd.column === columnName);\n if (sortDef) {\n if (vuuSort.sortDefs.length === 1) {\n return sortDef.sortType === \"A\"\n ? \"single-sort-asc\"\n : \"single-sort-desc\";\n } else {\n return sortDef.sortType === \"A\"\n ? \"multi-sort-includes-column-asc\"\n : \"multi-sort-includes-column-desc\";\n }\n } else {\n return \"sort-other-column\";\n }\n }\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
const getVuuTable = (schemaTable) => {
|
|
2
|
-
if (schemaTable.session) {
|
|
3
|
-
const { module, session } = schemaTable;
|
|
4
|
-
return { module, table: session };
|
|
5
|
-
} else {
|
|
6
|
-
return schemaTable;
|
|
7
|
-
}
|
|
8
|
-
};
|
|
9
|
-
|
|
10
|
-
export { getVuuTable };
|
|
11
|
-
//# sourceMappingURL=table-schema-utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"table-schema-utils.js","sources":["../../../../../../packages/vuu-utils/src/table-schema-utils.ts"],"sourcesContent":["import { TableSchemaTable } from \"@vuu-ui/vuu-data-types\";\nimport { VuuTable } from \"@vuu-ui/vuu-protocol-types\";\n\nexport const getVuuTable = (schemaTable: TableSchemaTable): VuuTable => {\n if (schemaTable.session) {\n const { module, session } = schemaTable;\n return { module, table: session };\n } else {\n return schemaTable;\n }\n};\n"],"names":[],"mappings":"AAGa,MAAA,WAAA,GAAc,CAAC,WAA4C,KAAA;AACtE,EAAA,IAAI,YAAY,OAAS,EAAA;AACvB,IAAM,MAAA,EAAE,MAAQ,EAAA,OAAA,EAAY,GAAA,WAAA;AAC5B,IAAO,OAAA,EAAE,MAAQ,EAAA,KAAA,EAAO,OAAQ,EAAA;AAAA,GAC3B,MAAA;AACL,IAAO,OAAA,WAAA;AAAA;AAEX;;;;"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
const lastWord = (text) => {
|
|
2
|
-
const trimmedText = text.trim();
|
|
3
|
-
const pos = trimmedText.lastIndexOf(" ");
|
|
4
|
-
if (pos === -1) {
|
|
5
|
-
return trimmedText;
|
|
6
|
-
} else {
|
|
7
|
-
return trimmedText.slice(pos + 1);
|
|
8
|
-
}
|
|
9
|
-
};
|
|
10
|
-
const capitalize = (text) => text.length === 0 ? "" : text[0].toUpperCase() + text.slice(1);
|
|
11
|
-
const regexp_worfify = /(?<!(^|[A-Z]))(?=[A-Z])|(?<!^)(?=[A-Z][a-z])/;
|
|
12
|
-
const wordify = (text) => {
|
|
13
|
-
const [firstWord, ...rest] = text.split(regexp_worfify);
|
|
14
|
-
return `${capitalize(firstWord)} ${rest.join(" ")}`;
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
export { lastWord, wordify };
|
|
18
|
-
//# sourceMappingURL=text-utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"text-utils.js","sources":["../../../../../../packages/vuu-utils/src/text-utils.ts"],"sourcesContent":["export const lastWord = (text: string): string => {\n const trimmedText = text.trim();\n const pos = trimmedText.lastIndexOf(\" \");\n if (pos === -1) {\n return trimmedText;\n } else {\n return trimmedText.slice(pos + 1);\n }\n};\n\nconst capitalize = (text: string) =>\n text.length === 0 ? \"\" : text[0].toUpperCase() + text.slice(1);\n\nconst regexp_worfify = /(?<!(^|[A-Z]))(?=[A-Z])|(?<!^)(?=[A-Z][a-z])/;\nexport const wordify = (text: string) => {\n const [firstWord, ...rest] = text.split(regexp_worfify);\n return `${capitalize(firstWord)} ${rest.join(\" \")}`;\n};\n"],"names":[],"mappings":"AAAa,MAAA,QAAA,GAAW,CAAC,IAAyB,KAAA;AAChD,EAAM,MAAA,WAAA,GAAc,KAAK,IAAK,EAAA;AAC9B,EAAM,MAAA,GAAA,GAAM,WAAY,CAAA,WAAA,CAAY,GAAG,CAAA;AACvC,EAAA,IAAI,QAAQ,CAAI,CAAA,EAAA;AACd,IAAO,OAAA,WAAA;AAAA,GACF,MAAA;AACL,IAAO,OAAA,WAAA,CAAY,KAAM,CAAA,GAAA,GAAM,CAAC,CAAA;AAAA;AAEpC;AAEA,MAAM,UAAa,GAAA,CAAC,IAClB,KAAA,IAAA,CAAK,WAAW,CAAI,GAAA,EAAA,GAAK,IAAK,CAAA,CAAC,CAAE,CAAA,WAAA,EAAgB,GAAA,IAAA,CAAK,MAAM,CAAC,CAAA;AAE/D,MAAM,cAAiB,GAAA,8CAAA;AACV,MAAA,OAAA,GAAU,CAAC,IAAiB,KAAA;AACvC,EAAA,MAAM,CAAC,SAAW,EAAA,GAAG,IAAI,CAAI,GAAA,IAAA,CAAK,MAAM,cAAc,CAAA;AACtD,EAAO,OAAA,CAAA,EAAG,WAAW,SAAS,CAAC,IAAI,IAAK,CAAA,IAAA,CAAK,GAAG,CAAC,CAAA,CAAA;AACnD;;;;"}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { useState, useMemo } from 'react';
|
|
2
|
-
|
|
3
|
-
const checkCssToken = (tokenName) => new Promise((resolve) => {
|
|
4
|
-
requestAnimationFrame(() => {
|
|
5
|
-
const saltSpacing100 = getComputedStyle(
|
|
6
|
-
document.documentElement
|
|
7
|
-
).getPropertyValue(tokenName);
|
|
8
|
-
resolve(saltSpacing100 !== "");
|
|
9
|
-
});
|
|
10
|
-
});
|
|
11
|
-
const ThemeLoadChecker = ({
|
|
12
|
-
children,
|
|
13
|
-
cssToken = "--salt-spacing-100",
|
|
14
|
-
theme
|
|
15
|
-
}) => {
|
|
16
|
-
const [ready, setReady] = useState(false);
|
|
17
|
-
useMemo(async () => {
|
|
18
|
-
let ready2 = await checkCssToken(cssToken);
|
|
19
|
-
while (!ready2) {
|
|
20
|
-
ready2 = await checkCssToken(cssToken);
|
|
21
|
-
}
|
|
22
|
-
setReady(true);
|
|
23
|
-
}, [cssToken]);
|
|
24
|
-
if (theme === "no-theme") {
|
|
25
|
-
return children;
|
|
26
|
-
}
|
|
27
|
-
if (ready === false) {
|
|
28
|
-
return null;
|
|
29
|
-
}
|
|
30
|
-
return children;
|
|
31
|
-
};
|
|
32
|
-
|
|
33
|
-
export { ThemeLoadChecker };
|
|
34
|
-
//# sourceMappingURL=theme-utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"theme-utils.js","sources":["../../../../../../packages/vuu-utils/src/theme-utils.ts"],"sourcesContent":["import { ReactNode, useMemo, useState } from \"react\";\n\nconst checkCssToken = (tokenName: string): Promise<boolean> =>\n new Promise((resolve) => {\n requestAnimationFrame(() => {\n const saltSpacing100 = getComputedStyle(\n document.documentElement,\n ).getPropertyValue(tokenName);\n resolve(saltSpacing100 !== \"\");\n });\n });\n\n/**\n * Checks that a theme is loaded by making sure a known css variable\n * returns a value. Not normally needed except for cases where a theme\n * is loaded dynamically on startup and there may be components that\n * may fail if theme is not in place (eg component that rely on taking dom\n * measurements).\n * Used by Showcase.\n */\nexport const ThemeLoadChecker = ({\n children,\n cssToken = \"--salt-spacing-100\",\n theme,\n}: {\n children: ReactNode;\n cssToken?: string;\n theme: string;\n}) => {\n const [ready, setReady] = useState(false);\n\n useMemo(async () => {\n let ready = await checkCssToken(cssToken);\n while (!ready) {\n ready = await checkCssToken(cssToken);\n }\n setReady(true);\n }, [cssToken]);\n\n if (theme === \"no-theme\") {\n return children;\n }\n\n if (ready === false) {\n return null;\n }\n\n return children;\n};\n"],"names":["ready"],"mappings":";;AAEA,MAAM,gBAAgB,CAAC,SAAA,KACrB,IAAI,OAAA,CAAQ,CAAC,OAAY,KAAA;AACvB,EAAA,qBAAA,CAAsB,MAAM;AAC1B,IAAA,MAAM,cAAiB,GAAA,gBAAA;AAAA,MACrB,QAAS,CAAA;AAAA,KACX,CAAE,iBAAiB,SAAS,CAAA;AAC5B,IAAA,OAAA,CAAQ,mBAAmB,EAAE,CAAA;AAAA,GAC9B,CAAA;AACH,CAAC,CAAA;AAUI,MAAM,mBAAmB,CAAC;AAAA,EAC/B,QAAA;AAAA,EACA,QAAW,GAAA,oBAAA;AAAA,EACX;AACF,CAIM,KAAA;AACJ,EAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,CAAA,GAAI,SAAS,KAAK,CAAA;AAExC,EAAA,OAAA,CAAQ,YAAY;AAClB,IAAIA,IAAAA,MAAAA,GAAQ,MAAM,aAAA,CAAc,QAAQ,CAAA;AACxC,IAAA,OAAO,CAACA,MAAO,EAAA;AACb,MAAAA,MAAAA,GAAQ,MAAM,aAAA,CAAc,QAAQ,CAAA;AAAA;AAEtC,IAAA,QAAA,CAAS,IAAI,CAAA;AAAA,GACf,EAAG,CAAC,QAAQ,CAAC,CAAA;AAEb,EAAA,IAAI,UAAU,UAAY,EAAA;AACxB,IAAO,OAAA,QAAA;AAAA;AAGT,EAAA,IAAI,UAAU,KAAO,EAAA;AACnB,IAAO,OAAA,IAAA;AAAA;AAGT,EAAO,OAAA,QAAA;AACT;;;;"}
|
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
import { metadataKeys } from './column-utils.js';
|
|
2
|
-
|
|
3
|
-
const { COUNT, DEPTH, IDX, KEY } = metadataKeys;
|
|
4
|
-
const timestamp = 0;
|
|
5
|
-
const isNew = false;
|
|
6
|
-
const treeToDataSourceRows = (treeSourceNodes, iconProvider) => {
|
|
7
|
-
const columns = [];
|
|
8
|
-
columns.push(
|
|
9
|
-
{
|
|
10
|
-
hidden: true,
|
|
11
|
-
name: "nodeData",
|
|
12
|
-
type: "json"
|
|
13
|
-
},
|
|
14
|
-
{
|
|
15
|
-
getIcon: iconProvider?.getIcon,
|
|
16
|
-
name: "Level 1",
|
|
17
|
-
type: "string"
|
|
18
|
-
},
|
|
19
|
-
{
|
|
20
|
-
getIcon: iconProvider?.getIcon,
|
|
21
|
-
name: "Level 2",
|
|
22
|
-
type: "string"
|
|
23
|
-
}
|
|
24
|
-
);
|
|
25
|
-
const rows = [];
|
|
26
|
-
addChildValues(rows, treeSourceNodes, columns, iconProvider);
|
|
27
|
-
return [columns, rows];
|
|
28
|
-
};
|
|
29
|
-
const addChildValues = (rows, treeSourceNodes, cols, iconProvider, index = { value: 0 }, keyBase = "$root", depth = 1) => {
|
|
30
|
-
let leafCount = 0;
|
|
31
|
-
let rowCount = 0;
|
|
32
|
-
if (depth === cols.length - 1) {
|
|
33
|
-
cols.push({
|
|
34
|
-
getIcon: iconProvider?.getIcon,
|
|
35
|
-
name: `Level ${cols.length}`,
|
|
36
|
-
type: "string"
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
for (let i = 0; i < treeSourceNodes.length; i++, index.value += 1) {
|
|
40
|
-
const {
|
|
41
|
-
childNodes,
|
|
42
|
-
icon,
|
|
43
|
-
label,
|
|
44
|
-
nodeData
|
|
45
|
-
/*, tags */
|
|
46
|
-
} = treeSourceNodes[i];
|
|
47
|
-
const blanks = Array(depth - 1).fill("");
|
|
48
|
-
const fullKey = `${keyBase}|${label}`;
|
|
49
|
-
const row = [index.value, index.value, false, false, depth, 0, fullKey, 0, timestamp, isNew, nodeData, ...blanks, label];
|
|
50
|
-
if (icon) {
|
|
51
|
-
iconProvider?.setIcon(fullKey, icon);
|
|
52
|
-
}
|
|
53
|
-
rows.push(row);
|
|
54
|
-
rowCount += 1;
|
|
55
|
-
if (childNodes && childNodes.length > 0) {
|
|
56
|
-
const [nestedLeafCount, nestedRowCount] = addChildValues(
|
|
57
|
-
rows,
|
|
58
|
-
childNodes,
|
|
59
|
-
cols,
|
|
60
|
-
iconProvider,
|
|
61
|
-
{ value: index.value + 1 },
|
|
62
|
-
fullKey,
|
|
63
|
-
depth + 1
|
|
64
|
-
);
|
|
65
|
-
row[COUNT] = nestedLeafCount;
|
|
66
|
-
leafCount += nestedLeafCount;
|
|
67
|
-
rowCount += nestedRowCount;
|
|
68
|
-
index.value += nestedRowCount;
|
|
69
|
-
} else {
|
|
70
|
-
leafCount += 1;
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
return [leafCount, rowCount];
|
|
74
|
-
};
|
|
75
|
-
const lastPathSegment = (path, separator = "/") => {
|
|
76
|
-
const root = path.endsWith(separator) ? path.slice(0, -1) : path;
|
|
77
|
-
return root.slice(root.lastIndexOf(separator) + 1);
|
|
78
|
-
};
|
|
79
|
-
const dropLastPathSegment = (path, separator = "/") => {
|
|
80
|
-
return path.slice(0, path.lastIndexOf(separator));
|
|
81
|
-
};
|
|
82
|
-
const getParentRow = (rows, row) => {
|
|
83
|
-
const { [IDX]: idx, [DEPTH]: depth } = row;
|
|
84
|
-
for (let i = idx - 1; i >= 0; i--) {
|
|
85
|
-
const nextRow = rows[i];
|
|
86
|
-
if (nextRow[DEPTH] === depth - 1) {
|
|
87
|
-
return nextRow;
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
};
|
|
91
|
-
const rowsAreSiblings = (key1, key2) => dropLastPathSegment(key1, "|") === dropLastPathSegment(key2, "|");
|
|
92
|
-
const missingAncestor = (row, previousRow) => {
|
|
93
|
-
if (previousRow) {
|
|
94
|
-
const prevKey = previousRow[KEY];
|
|
95
|
-
const key = row[KEY];
|
|
96
|
-
if (key.startsWith(prevKey)) {
|
|
97
|
-
return false;
|
|
98
|
-
} else if (!rowsAreSiblings(prevKey, key)) {
|
|
99
|
-
return true;
|
|
100
|
-
}
|
|
101
|
-
} else if (row[DEPTH] > 1) {
|
|
102
|
-
return true;
|
|
103
|
-
}
|
|
104
|
-
return false;
|
|
105
|
-
};
|
|
106
|
-
|
|
107
|
-
export { dropLastPathSegment, getParentRow, lastPathSegment, missingAncestor, treeToDataSourceRows };
|
|
108
|
-
//# sourceMappingURL=tree-utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tree-utils.js","sources":["../../../../../../packages/vuu-utils/src/tree-utils.ts"],"sourcesContent":["import { TreeSourceNode } from \"./tree-types\";\nimport { ColumnDescriptor } from \"@vuu-ui/vuu-table-types\";\nimport { DataSourceRow } from \"@vuu-ui/vuu-data-types\";\nimport { metadataKeys } from \"./column-utils\";\nimport { IconProvider } from \"@vuu-ui/vuu-data-local/src/tree-data-source/IconProvider\";\n\nconst { COUNT, DEPTH, IDX, KEY } = metadataKeys;\n\ntype Index = { value: number };\n\nconst timestamp = 0;\nconst isNew = false;\n\nexport const treeToDataSourceRows = (\n treeSourceNodes: TreeSourceNode[],\n iconProvider?: IconProvider,\n): [ColumnDescriptor[], DataSourceRow[]] => {\n const columns: ColumnDescriptor[] = [];\n\n columns.push(\n {\n hidden: true,\n name: \"nodeData\",\n type: \"json\",\n },\n {\n getIcon: iconProvider?.getIcon,\n name: \"Level 1\",\n type: \"string\",\n },\n {\n getIcon: iconProvider?.getIcon,\n name: \"Level 2\",\n type: \"string\",\n },\n );\n\n const rows: DataSourceRow[] = [];\n\n addChildValues(rows, treeSourceNodes, columns, iconProvider);\n return [columns, rows];\n};\n\nconst addChildValues = (\n rows: DataSourceRow[],\n treeSourceNodes: TreeSourceNode[],\n cols: ColumnDescriptor[],\n iconProvider: IconProvider | undefined,\n index: Index = { value: 0 },\n keyBase = \"$root\",\n depth = 1,\n): [number, number] => {\n let leafCount = 0;\n let rowCount = 0;\n if (depth === cols.length - 1) {\n cols.push({\n getIcon: iconProvider?.getIcon,\n name: `Level ${cols.length}`,\n type: \"string\",\n });\n }\n for (let i = 0; i < treeSourceNodes.length; i++, index.value += 1) {\n const { childNodes, icon, label, nodeData /*, tags */ } =\n treeSourceNodes[i];\n const blanks = Array(depth - 1).fill(\"\");\n const fullKey = `${keyBase}|${label}`;\n\n // we create all nodes as non-leaf in a TreeTable, even those with no childNodes\n // prettier-ignore\n const row = [index.value, index.value, false, false, depth, 0, fullKey, 0, timestamp, isNew, nodeData, ...blanks, label ] as DataSourceRow;\n if (icon) {\n iconProvider?.setIcon(fullKey, icon);\n }\n rows.push(row);\n rowCount += 1;\n\n if (childNodes && childNodes.length > 0) {\n const [nestedLeafCount, nestedRowCount] = addChildValues(\n rows,\n childNodes,\n cols,\n iconProvider,\n { value: index.value + 1 },\n fullKey,\n depth + 1,\n );\n row[COUNT] = nestedLeafCount;\n leafCount += nestedLeafCount;\n rowCount += nestedRowCount;\n index.value += nestedRowCount;\n } else {\n leafCount += 1;\n }\n }\n\n return [leafCount, rowCount];\n};\n\nexport const lastPathSegment = (path: string, separator = \"/\") => {\n const root = path.endsWith(separator) ? path.slice(0, -1) : path;\n return root.slice(root.lastIndexOf(separator) + 1);\n};\n\nexport const dropLastPathSegment = (path: string, separator = \"/\") => {\n return path.slice(0, path.lastIndexOf(separator));\n};\n\nexport const getParentRow = (rows: DataSourceRow[], row: DataSourceRow) => {\n const { [IDX]: idx, [DEPTH]: depth } = row;\n for (let i = idx - 1; i >= 0; i--) {\n const nextRow = rows[i];\n if (nextRow[DEPTH] === depth - 1) {\n return nextRow;\n }\n }\n};\n\nconst rowsAreSiblings = (key1: string, key2: string) =>\n dropLastPathSegment(key1, \"|\") === dropLastPathSegment(key2, \"|\");\n\nexport const missingAncestor = (\n row: DataSourceRow,\n previousRow?: DataSourceRow,\n) => {\n if (previousRow) {\n const prevKey = previousRow[KEY];\n const key = row[KEY];\n\n if (key.startsWith(prevKey)) {\n return false;\n } else if (!rowsAreSiblings(prevKey, key)) {\n return true;\n }\n } else if (row[DEPTH] > 1) {\n return true;\n }\n\n return false;\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
function isNotNullOrUndefined(value) {
|
|
2
|
-
return value !== void 0 && value !== null;
|
|
3
|
-
}
|
|
4
|
-
const isObject = (o) => typeof o === "object" && o !== null;
|
|
5
|
-
const elementImplementsJSONSerialization = (element) => typeof element.type.toJSON === "function";
|
|
6
|
-
|
|
7
|
-
export { elementImplementsJSONSerialization, isNotNullOrUndefined, isObject };
|
|
8
|
-
//# sourceMappingURL=ts-utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ts-utils.js","sources":["../../../../../../packages/vuu-utils/src/ts-utils.ts"],"sourcesContent":["import { JSXElementConstructor, ReactElement } from \"react\";\nimport { LayoutJSON } from \"./json-types\";\n\nexport function isNotNullOrUndefined<T>(\n value: T | undefined | null,\n): value is NonNullable<T> {\n return value !== undefined && value !== null;\n}\n\nexport const isObject = (o: unknown): o is object =>\n typeof o === \"object\" && o !== null;\n\nexport type OptionalProperty<T, K extends keyof T> = Omit<T, K> &\n Partial<Pick<T, K>>;\n\nexport type ValueOf<T> = T[keyof T];\n\n/**\n * test whether a given react element implements a custom toJSON\n * serialisation (static) method.\n */\ntype JsonEnabledJSXElementConstructor<P> = JSXElementConstructor<P> & {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n toJSON: (el: ReactElement) => LayoutJSON<any>;\n};\n\ninterface ReactElementWithJSON<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n P = any,\n T extends // eslint-disable-next-line @typescript-eslint/no-explicit-any\n JsonEnabledJSXElementConstructor<any> = JsonEnabledJSXElementConstructor<any>,\n> {\n type: T;\n props: P;\n key: string | null;\n}\nexport const elementImplementsJSONSerialization = (\n element: ReactElement,\n): element is ReactElementWithJSON =>\n typeof (element.type as JsonEnabledJSXElementConstructor<unknown>).toJSON ===\n \"function\";\n"],"names":[],"mappings":"AAGO,SAAS,qBACd,KACyB,EAAA;AACzB,EAAO,OAAA,KAAA,KAAU,UAAa,KAAU,KAAA,IAAA;AAC1C;AAEO,MAAM,WAAW,CAAC,CAAA,KACvB,OAAO,CAAA,KAAM,YAAY,CAAM,KAAA;AA0B1B,MAAM,qCAAqC,CAChD,OAAA,KAEA,OAAQ,OAAA,CAAQ,KAAmD,MACnE,KAAA;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"typeahead-utils.js","sources":["../../../../../../packages/vuu-utils/src/typeahead-utils.ts"],"sourcesContent":["export const NO_DATA_MATCH = [\"No matching data\"];\n"],"names":[],"mappings":"AAAa,MAAA,aAAA,GAAgB,CAAC,kBAAkB;;;;"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
function getUrlParameter(paramName, defaultValue) {
|
|
2
|
-
const url = new URL(document.location.href);
|
|
3
|
-
const parameter = url.searchParams.get(paramName);
|
|
4
|
-
if (parameter) {
|
|
5
|
-
return parameter;
|
|
6
|
-
}
|
|
7
|
-
const hashParams = url.hash;
|
|
8
|
-
const regex = new RegExp(`${paramName}=([a-zA-Z]*)`);
|
|
9
|
-
const result = regex.exec(hashParams);
|
|
10
|
-
if (result) {
|
|
11
|
-
return result[1];
|
|
12
|
-
}
|
|
13
|
-
return defaultValue;
|
|
14
|
-
}
|
|
15
|
-
const hasUrlParameter = (paramName) => new URL(document.location.href).searchParams.has(paramName);
|
|
16
|
-
|
|
17
|
-
export { getUrlParameter, hasUrlParameter };
|
|
18
|
-
//# sourceMappingURL=url-utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"url-utils.js","sources":["../../../../../../packages/vuu-utils/src/url-utils.ts"],"sourcesContent":["export function getUrlParameter(paramName: string): string | undefined;\nexport function getUrlParameter(\n paramName: string,\n defaultValue: string,\n): string;\nexport function getUrlParameter(paramName: string, defaultValue?: string) {\n const url = new URL(document.location.href);\n const parameter = url.searchParams.get(paramName);\n if (parameter) {\n return parameter;\n }\n const hashParams = url.hash;\n const regex = new RegExp(`${paramName}=([a-zA-Z]*)`);\n const result = regex.exec(hashParams);\n if (result) {\n return result[1];\n }\n return defaultValue;\n}\n\nexport const hasUrlParameter = (paramName: string) =>\n new URL(document.location.href).searchParams.has(paramName);\n"],"names":[],"mappings":"AAKgB,SAAA,eAAA,CAAgB,WAAmB,YAAuB,EAAA;AACxE,EAAA,MAAM,GAAM,GAAA,IAAI,GAAI,CAAA,QAAA,CAAS,SAAS,IAAI,CAAA;AAC1C,EAAA,MAAM,SAAY,GAAA,GAAA,CAAI,YAAa,CAAA,GAAA,CAAI,SAAS,CAAA;AAChD,EAAA,IAAI,SAAW,EAAA;AACb,IAAO,OAAA,SAAA;AAAA;AAET,EAAA,MAAM,aAAa,GAAI,CAAA,IAAA;AACvB,EAAA,MAAM,KAAQ,GAAA,IAAI,MAAO,CAAA,CAAA,EAAG,SAAS,CAAc,YAAA,CAAA,CAAA;AACnD,EAAM,MAAA,MAAA,GAAS,KAAM,CAAA,IAAA,CAAK,UAAU,CAAA;AACpC,EAAA,IAAI,MAAQ,EAAA;AACV,IAAA,OAAO,OAAO,CAAC,CAAA;AAAA;AAEjB,EAAO,OAAA,YAAA;AACT;AAEa,MAAA,eAAA,GAAkB,CAAC,SAAA,KAC9B,IAAI,GAAA,CAAI,QAAS,CAAA,QAAA,CAAS,IAAI,CAAA,CAAE,YAAa,CAAA,GAAA,CAAI,SAAS;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useId.js","sources":["../../../../../../packages/vuu-utils/src/useId.ts"],"sourcesContent":["import { useMemo } from \"react\";\n\nlet vuuComponentIdCount = 0;\n\nexport const useId = (id?: string) =>\n useMemo(() => id ?? `vuu-${++vuuComponentIdCount}`, [id]);\n"],"names":[],"mappings":";;AAEA,IAAI,mBAAsB,GAAA,CAAA;AAEnB,MAAM,KAAQ,GAAA,CAAC,EACpB,KAAA,OAAA,CAAQ,MAAM,EAAA,IAAM,CAAO,IAAA,EAAA,EAAE,mBAAmB,CAAA,CAAA,EAAI,CAAC,EAAE,CAAC;;;;"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { useRef, useLayoutEffect } from 'react';
|
|
2
|
-
|
|
3
|
-
const useLayoutEffectSkipFirst = (func, deps) => {
|
|
4
|
-
const goodToGo = useRef(false);
|
|
5
|
-
useLayoutEffect(() => {
|
|
6
|
-
if (goodToGo.current) {
|
|
7
|
-
func();
|
|
8
|
-
} else {
|
|
9
|
-
goodToGo.current = true;
|
|
10
|
-
}
|
|
11
|
-
}, deps);
|
|
12
|
-
};
|
|
13
|
-
|
|
14
|
-
export { useLayoutEffectSkipFirst };
|
|
15
|
-
//# sourceMappingURL=useLayoutEffectSkipFirst.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useLayoutEffectSkipFirst.js","sources":["../../../../../../packages/vuu-utils/src/useLayoutEffectSkipFirst.ts"],"sourcesContent":["import { DependencyList, EffectCallback, useLayoutEffect, useRef } from \"react\";\n\nexport const useLayoutEffectSkipFirst = (\n func: EffectCallback,\n deps: DependencyList\n) => {\n const goodToGo = useRef(false);\n useLayoutEffect(() => {\n if (goodToGo.current) {\n func();\n } else {\n goodToGo.current = true;\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, deps);\n};\n"],"names":[],"mappings":";;AAEa,MAAA,wBAAA,GAA2B,CACtC,IAAA,EACA,IACG,KAAA;AACH,EAAM,MAAA,QAAA,GAAW,OAAO,KAAK,CAAA;AAC7B,EAAA,eAAA,CAAgB,MAAM;AACpB,IAAA,IAAI,SAAS,OAAS,EAAA;AACpB,MAAK,IAAA,EAAA;AAAA,KACA,MAAA;AACL,MAAA,QAAA,CAAS,OAAU,GAAA,IAAA;AAAA;AACrB,KAEC,IAAI,CAAA;AACT;;;;"}
|
|
@@ -1,130 +0,0 @@
|
|
|
1
|
-
import { useRef, useCallback, useEffect } from 'react';
|
|
2
|
-
|
|
3
|
-
const WidthHeight = ["height", "width"];
|
|
4
|
-
const WidthOnly = ["width"];
|
|
5
|
-
const observedMap = /* @__PURE__ */ new Map();
|
|
6
|
-
const getTargetSize = (element, size, dimension) => {
|
|
7
|
-
switch (dimension) {
|
|
8
|
-
case "height":
|
|
9
|
-
return size.height;
|
|
10
|
-
case "clientHeight":
|
|
11
|
-
return Math.floor(element.clientHeight);
|
|
12
|
-
case "clientWidth":
|
|
13
|
-
return Math.floor(element.clientWidth);
|
|
14
|
-
case "contentHeight":
|
|
15
|
-
return size.contentHeight;
|
|
16
|
-
case "contentWidth":
|
|
17
|
-
return size.contentWidth;
|
|
18
|
-
case "scrollHeight":
|
|
19
|
-
return Math.ceil(Math.floor(element.scrollHeight));
|
|
20
|
-
case "scrollWidth":
|
|
21
|
-
return Math.ceil(Math.floor(element.scrollWidth));
|
|
22
|
-
case "width":
|
|
23
|
-
return size.width;
|
|
24
|
-
default:
|
|
25
|
-
return 0;
|
|
26
|
-
}
|
|
27
|
-
};
|
|
28
|
-
const resizeObserver = new ResizeObserver((entries) => {
|
|
29
|
-
for (const entry of entries) {
|
|
30
|
-
const { target, borderBoxSize, contentBoxSize } = entry;
|
|
31
|
-
const observedTarget = observedMap.get(target);
|
|
32
|
-
if (observedTarget) {
|
|
33
|
-
const [{ blockSize: height, inlineSize: width }] = borderBoxSize;
|
|
34
|
-
const [{ blockSize: contentHeight, inlineSize: contentWidth }] = contentBoxSize;
|
|
35
|
-
const { onResize, measurements } = observedTarget;
|
|
36
|
-
let sizeChanged = false;
|
|
37
|
-
for (const [dimension, size] of Object.entries(measurements)) {
|
|
38
|
-
const newSize = getTargetSize(
|
|
39
|
-
target,
|
|
40
|
-
{ height, width, contentHeight, contentWidth },
|
|
41
|
-
dimension
|
|
42
|
-
);
|
|
43
|
-
if (newSize !== size) {
|
|
44
|
-
sizeChanged = true;
|
|
45
|
-
measurements[dimension] = newSize;
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
if (sizeChanged) {
|
|
49
|
-
onResize && onResize(measurements);
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
});
|
|
54
|
-
function useResizeObserver(ref, dimensions, onResize, reportInitialSize = false) {
|
|
55
|
-
const dimensionsRef = useRef(dimensions);
|
|
56
|
-
const measure = useCallback((target) => {
|
|
57
|
-
const { width, height } = target.getBoundingClientRect();
|
|
58
|
-
const { clientWidth: contentWidth, clientHeight: contentHeight } = target;
|
|
59
|
-
const flooredHeight = Math.floor(height);
|
|
60
|
-
const flooredWidth = Math.floor(width);
|
|
61
|
-
return dimensionsRef.current.reduce(
|
|
62
|
-
(map, dim) => {
|
|
63
|
-
map[dim] = getTargetSize(
|
|
64
|
-
target,
|
|
65
|
-
{
|
|
66
|
-
width: flooredWidth,
|
|
67
|
-
height: flooredHeight,
|
|
68
|
-
contentHeight,
|
|
69
|
-
contentWidth
|
|
70
|
-
},
|
|
71
|
-
dim
|
|
72
|
-
);
|
|
73
|
-
return map;
|
|
74
|
-
},
|
|
75
|
-
{}
|
|
76
|
-
);
|
|
77
|
-
}, []);
|
|
78
|
-
useEffect(() => {
|
|
79
|
-
const target = ref.current;
|
|
80
|
-
async function registerObserver() {
|
|
81
|
-
observedMap.set(target, { measurements: {} });
|
|
82
|
-
const observedTarget = observedMap.get(target);
|
|
83
|
-
if (observedTarget) {
|
|
84
|
-
const measurements = measure(target);
|
|
85
|
-
observedTarget.measurements = measurements;
|
|
86
|
-
resizeObserver.observe(target);
|
|
87
|
-
if (reportInitialSize) {
|
|
88
|
-
onResize(measurements);
|
|
89
|
-
}
|
|
90
|
-
} else {
|
|
91
|
-
console.log(
|
|
92
|
-
`%cuseResizeObserver an target expected to be under observation wa snot found. This warrants investigation`,
|
|
93
|
-
"font-weight:bold; color:red;"
|
|
94
|
-
);
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
if (target) {
|
|
98
|
-
if (observedMap.has(target)) {
|
|
99
|
-
console.log(
|
|
100
|
-
`useResizeObserver attemping to observe same element twice`,
|
|
101
|
-
{
|
|
102
|
-
target
|
|
103
|
-
}
|
|
104
|
-
);
|
|
105
|
-
}
|
|
106
|
-
registerObserver();
|
|
107
|
-
}
|
|
108
|
-
return () => {
|
|
109
|
-
if (target && observedMap.has(target)) {
|
|
110
|
-
resizeObserver.unobserve(target);
|
|
111
|
-
observedMap.delete(target);
|
|
112
|
-
}
|
|
113
|
-
};
|
|
114
|
-
}, [measure, ref]);
|
|
115
|
-
useEffect(() => {
|
|
116
|
-
const target = ref.current;
|
|
117
|
-
const record = observedMap.get(target);
|
|
118
|
-
if (record) {
|
|
119
|
-
if (dimensionsRef.current !== dimensions) {
|
|
120
|
-
dimensionsRef.current = dimensions;
|
|
121
|
-
const measurements = measure(target);
|
|
122
|
-
record.measurements = measurements;
|
|
123
|
-
}
|
|
124
|
-
record.onResize = onResize;
|
|
125
|
-
}
|
|
126
|
-
}, [dimensions, measure, ref, onResize]);
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
export { WidthHeight, WidthOnly, useResizeObserver };
|
|
130
|
-
//# sourceMappingURL=useResizeObserver.js.map
|