torch-glare 2.4.5 → 2.5.1
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/apps/lib/components/DataViews/{badgeAdapter.ts → badge.ts} +2 -2
- package/apps/lib/components/DataViews/cell.tsx +324 -0
- package/apps/lib/components/DataViews/context.ts +144 -0
- package/apps/lib/components/DataViews/data-views.tsx +383 -0
- package/apps/lib/components/DataViews/filters/children.tsx +98 -0
- package/apps/lib/components/DataViews/filters/custom.tsx +34 -0
- package/apps/lib/components/DataViews/filters/filters.tsx +163 -0
- package/apps/lib/components/DataViews/filters/index.ts +4 -0
- package/apps/lib/components/DataViews/filters/labelled.tsx +20 -0
- package/apps/lib/components/DataViews/filters/presets.tsx +65 -0
- package/apps/lib/components/DataViews/filters/summary.tsx +65 -0
- package/apps/lib/components/DataViews/filters/sync.tsx +35 -0
- package/apps/lib/components/DataViews/filters/values.ts +173 -0
- package/apps/lib/components/DataViews/header.tsx +217 -0
- package/apps/lib/components/DataViews/hooks/index.ts +5 -0
- package/apps/lib/components/DataViews/hooks/useActiveRow.ts +22 -0
- package/apps/lib/components/DataViews/hooks/useControllable.ts +52 -0
- package/apps/lib/components/DataViews/index.ts +74 -26
- package/apps/lib/components/DataViews/panel/columns.tsx +153 -0
- package/apps/lib/components/DataViews/panel/controls.tsx +106 -0
- package/apps/lib/components/DataViews/panel/index.ts +3 -0
- package/apps/lib/components/DataViews/panel/panel.tsx +164 -0
- package/apps/lib/components/DataViews/panel/saved-views.tsx +67 -0
- package/apps/lib/components/DataViews/panel/section.tsx +79 -0
- package/apps/lib/components/DataViews/panel/sort.tsx +42 -0
- package/apps/lib/components/DataViews/panel/tab.tsx +31 -0
- package/apps/lib/components/DataViews/slots.ts +63 -0
- package/apps/lib/components/DataViews/states.tsx +38 -0
- package/apps/lib/components/DataViews/types.ts +485 -178
- package/apps/lib/components/DataViews/views/board-view.tsx +379 -0
- package/apps/lib/components/DataViews/views/card-rows.tsx +36 -0
- package/apps/lib/components/DataViews/views/inbox-view.tsx +257 -0
- package/apps/lib/components/DataViews/views/pane-views.tsx +192 -0
- package/apps/lib/components/DataViews/views/table-view.tsx +426 -0
- package/apps/lib/components/DataViews/views/tree-view.tsx +365 -0
- package/apps/lib/components/FormBuilder/context.ts +20 -6
- package/apps/lib/components/FormBuilder/field-kind.ts +28 -0
- package/apps/lib/components/FormBuilder/fields/DateField.tsx +3 -3
- package/apps/lib/components/FormBuilder/fields/FieldShell.tsx +7 -6
- package/apps/lib/components/FormBuilder/fields/PhoneField.tsx +7 -6
- package/apps/lib/components/FormBuilder/fields/SelectField.tsx +7 -7
- package/apps/lib/components/FormBuilder/fields/TableField.tsx +1 -1
- package/apps/lib/components/FormBuilder/fields/TextField.tsx +9 -9
- package/apps/lib/components/FormBuilder/form-builder.tsx +55 -3
- package/apps/lib/components/FormBuilder/index.ts +3 -1
- package/apps/lib/components/FormBuilder/types.ts +40 -0
- package/apps/lib/components/TabSwitch.tsx +16 -4
- package/apps/lib/components/TreeFolder/TreeFolder.tsx +6 -3
- package/apps/lib/components/TreeFolder/TreeFolderRow.tsx +16 -14
- package/apps/lib/components/TreeFolder/index.ts +1 -1
- package/apps/lib/components/TreeFolder/useTreeFolderDnD.ts +70 -207
- package/apps/lib/hooks/useDragDrop.tsx +365 -0
- package/apps/lib/hooks/useInfiniteScroll.ts +108 -0
- package/apps/lib/registry.json +216 -4
- package/apps/lib/tsconfig.tsbuildinfo +1 -1
- package/apps/lib/utils/dataViews/path.ts +67 -0
- package/apps/lib/utils/dataViews/query.ts +73 -0
- package/apps/lib/utils/dataViews/types.ts +187 -0
- package/dist/bin/index.js +8 -4
- package/dist/bin/index.js.map +1 -1
- package/dist/src/commands/add.d.ts +3 -2
- package/dist/src/commands/add.d.ts.map +1 -1
- package/dist/src/commands/add.js +27 -35
- package/dist/src/commands/add.js.map +1 -1
- package/dist/src/commands/hook.d.ts.map +1 -1
- package/dist/src/commands/hook.js +23 -13
- package/dist/src/commands/hook.js.map +1 -1
- package/dist/src/commands/init.d.ts.map +1 -1
- package/dist/src/commands/init.js +6 -2
- package/dist/src/commands/init.js.map +1 -1
- package/dist/src/commands/layout.d.ts.map +1 -1
- package/dist/src/commands/layout.js +23 -13
- package/dist/src/commands/layout.js.map +1 -1
- package/dist/src/commands/provider.d.ts.map +1 -1
- package/dist/src/commands/provider.js +22 -12
- package/dist/src/commands/provider.js.map +1 -1
- package/dist/src/commands/utils.d.ts.map +1 -1
- package/dist/src/commands/utils.js +21 -28
- package/dist/src/commands/utils.js.map +1 -1
- package/dist/src/shared/copyComponentsRecursively.d.ts +5 -3
- package/dist/src/shared/copyComponentsRecursively.d.ts.map +1 -1
- package/dist/src/shared/copyComponentsRecursively.js +5 -6
- package/dist/src/shared/copyComponentsRecursively.js.map +1 -1
- package/dist/src/shared/getDependenciesAndInstallNestedComponents.js +1 -1
- package/dist/src/shared/getDependenciesAndInstallNestedComponents.js.map +1 -1
- package/dist/src/shared/installDependencies.d.ts +16 -1
- package/dist/src/shared/installDependencies.d.ts.map +1 -1
- package/dist/src/shared/installDependencies.js +41 -21
- package/dist/src/shared/installDependencies.js.map +1 -1
- package/dist/src/shared/installFromPlan.d.ts +23 -0
- package/dist/src/shared/installFromPlan.d.ts.map +1 -0
- package/dist/src/shared/installFromPlan.js +77 -0
- package/dist/src/shared/installFromPlan.js.map +1 -0
- package/dist/src/shared/resolveEntry.d.ts +21 -0
- package/dist/src/shared/resolveEntry.d.ts.map +1 -0
- package/dist/src/shared/resolveEntry.js +54 -0
- package/dist/src/shared/resolveEntry.js.map +1 -0
- package/dist/src/shared/suggestOtherCommand.d.ts +8 -0
- package/dist/src/shared/suggestOtherCommand.d.ts.map +1 -0
- package/dist/src/shared/suggestOtherCommand.js +34 -0
- package/dist/src/shared/suggestOtherCommand.js.map +1 -0
- package/dist/src/shared/tailwindInit.d.ts +3 -1
- package/dist/src/shared/tailwindInit.d.ts.map +1 -1
- package/dist/src/shared/tailwindInit.js +3 -1
- package/dist/src/shared/tailwindInit.js.map +1 -1
- package/dist/src/shared/wireStylesheet.d.ts +32 -0
- package/dist/src/shared/wireStylesheet.d.ts.map +1 -0
- package/dist/src/shared/wireStylesheet.js +92 -0
- package/dist/src/shared/wireStylesheet.js.map +1 -0
- package/dist/src/types/main.d.ts +6 -0
- package/dist/src/types/main.d.ts.map +1 -1
- package/docs/components/breadcrumb.md +1 -1
- package/docs/components/button-group.md +1 -1
- package/docs/components/button.md +1 -1
- package/docs/components/card.md +1 -1
- package/docs/components/checkbox.md +1 -1
- package/docs/components/data-views/backend-response.md +324 -0
- package/docs/components/data-views/examples/a11y-rtl.md +250 -0
- package/docs/components/data-views/examples/api-orders-route.md +130 -0
- package/docs/components/data-views/examples/fields.md +362 -0
- package/docs/components/data-views/examples/filters.md +308 -0
- package/docs/components/data-views/examples/inbox-routing.md +218 -0
- package/docs/components/data-views/examples/index.md +29 -0
- package/docs/components/data-views/examples/overview.md +244 -0
- package/docs/components/data-views/examples/panel.md +212 -0
- package/docs/components/data-views/examples/scale.md +231 -0
- package/docs/components/data-views/examples/server-side.md +210 -0
- package/docs/components/data-views/examples/state.md +250 -0
- package/docs/components/data-views/examples/tree-custom.md +388 -0
- package/docs/components/data-views/examples/view-registry.md +313 -0
- package/docs/components/data-views/examples/views.md +534 -0
- package/docs/components/data-views/guide.md +405 -0
- package/docs/components/data-views/index.md +1504 -0
- package/docs/components/data-views/migration.md +79 -0
- package/docs/components/date-picker.md +0 -1
- package/docs/components/form-builder.md +3 -2
- package/docs/components/form-renderer.md +2 -1
- package/docs/components/form.md +1 -1
- package/docs/components/input-field.md +1 -1
- package/docs/components/input-otp.md +1 -1
- package/docs/components/input.md +1 -1
- package/docs/components/labeled-check-box.md +1 -1
- package/docs/components/labeled-radio.md +1 -1
- package/docs/components/radio-card.md +1 -1
- package/docs/components/radio.md +1 -1
- package/docs/components/search-field.md +1 -1
- package/docs/components/section-block.md +1 -1
- package/docs/components/select.md +1 -1
- package/docs/components/simple-select.md +1 -1
- package/docs/components/switch.md +1 -1
- package/docs/components/tab-switch.md +1 -1
- package/docs/components/table.md +1 -1
- package/docs/components/text-editor.md +1 -1
- package/docs/components/textarea.md +1 -1
- package/docs/components/toggle-button.md +1 -1
- package/docs/components/toggle.md +1 -1
- package/docs/components/tree-folder.md +110 -0
- package/docs/how-to/forms-with-form-builder.md +2 -2
- package/docs/reference/cli.md +28 -3
- package/docs/reference/components.md +16 -6
- package/docs/tutorials/component-composition.md +11 -13
- package/docs/tutorials/getting-started.md +7 -0
- package/package.json +3 -2
- package/apps/lib/components/DataViews/DataViewRadio.tsx +0 -49
- package/apps/lib/components/DataViews/DataViewsConfigPanel.tsx +0 -393
- package/apps/lib/components/DataViews/DataViewsHeader.tsx +0 -207
- package/apps/lib/components/DataViews/DataViewsLayout.tsx +0 -332
- package/apps/lib/components/DataViews/FilterPanel.tsx +0 -493
- package/apps/lib/components/DataViews/HeaderSearch.tsx +0 -93
- package/apps/lib/components/DataViews/InboxView.tsx +0 -463
- package/apps/lib/components/DataViews/InboxViewCard.tsx +0 -127
- package/apps/lib/components/DataViews/KanbanView.tsx +0 -336
- package/apps/lib/components/DataViews/PanelControls.tsx +0 -39
- package/apps/lib/components/DataViews/SettingsPanel.tsx +0 -279
- package/apps/lib/components/DataViews/TableView.tsx +0 -212
- package/apps/lib/components/DataViews/TreeView.tsx +0 -364
- package/apps/lib/components/DataViews/fieldRenderers.tsx +0 -299
- package/apps/lib/components/DataViews/filters/DatePickerRangeFilter.tsx +0 -87
- package/apps/lib/components/DataViews/filters/DateRangePopover.tsx +0 -120
- package/apps/lib/components/DataViews/filters/PresetChips.tsx +0 -45
- package/apps/lib/components/DataViews/filters/RangeSliderWithInputs.tsx +0 -165
- package/apps/lib/components/DataViews/tree/TreeDrawer.tsx +0 -50
- package/apps/lib/components/DataViews/tree/TreeSidebar.tsx +0 -74
- package/apps/lib/hooks/useDataViewsState.ts +0 -175
- package/apps/lib/utils/dataViews/columnUtils.ts +0 -132
- package/apps/lib/utils/dataViews/fieldUtils.ts +0 -197
- package/apps/lib/utils/dataViews/nestedDataUtils.tsx +0 -371
- package/apps/lib/utils/dataViews/pathUtils.ts +0 -139
- package/apps/lib/utils/dataViews/rangeUtils.ts +0 -234
- package/apps/lib/utils/dataViews/treeUtils.ts +0 -396
- package/docs/components/data-views-config-panel.md +0 -208
- package/docs/components/data-views-layout.md +0 -291
- package/docs/components/inbox-view.md +0 -170
- package/docs/components/kanban-view.md +0 -135
- package/docs/components/table-view.md +0 -141
- package/docs/components/tree-view.md +0 -147
- package/docs/how-to/data-views-from-backend-response.md +0 -194
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import { useCallback, useEffect, useRef } from "react";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Ask for the next page when the user scrolls near the end.
|
|
7
|
+
*
|
|
8
|
+
* Lives here rather than in a view because three of them need it — the table, the board's columns
|
|
9
|
+
* and the inbox list — and "near the end" has to mean the same thing in all three.
|
|
10
|
+
*
|
|
11
|
+
* It is an `IntersectionObserver` on a sentinel element, not a scroll listener. A scroll handler
|
|
12
|
+
* has to be throttled, reads layout on every frame to work out how close the bottom is, and stops
|
|
13
|
+
* being correct the moment the container resizes. The observer is told once and answers all three
|
|
14
|
+
* for free.
|
|
15
|
+
*
|
|
16
|
+
* Like everything else here it only *asks*. Nothing loads until you hand back more rows.
|
|
17
|
+
*/
|
|
18
|
+
export interface UseInfiniteScrollOptions {
|
|
19
|
+
/** Fetch the next page and append it. */
|
|
20
|
+
onLoadMore?: () => void;
|
|
21
|
+
/** Whether there is a next page at all. */
|
|
22
|
+
hasMore: boolean;
|
|
23
|
+
/** True while a page is in flight. */
|
|
24
|
+
loading?: boolean;
|
|
25
|
+
/**
|
|
26
|
+
* How far before the end to fire, in px. The default aims to have the next page arriving before
|
|
27
|
+
* the user reaches the gap, rather than after they have already stopped at it.
|
|
28
|
+
*/
|
|
29
|
+
rootMargin?: number;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* The element the sentinel actually scrolls inside, or `null` for the viewport.
|
|
34
|
+
*
|
|
35
|
+
* Walks up looking at `overflow-y` rather than at class names, so it keeps working whatever a
|
|
36
|
+
* view calls its container — the table, the board's columns and the inbox list all differ.
|
|
37
|
+
*/
|
|
38
|
+
function scrollParentOf(el: HTMLElement): HTMLElement | null {
|
|
39
|
+
let node = el.parentElement;
|
|
40
|
+
while (node) {
|
|
41
|
+
const overflow = getComputedStyle(node).overflowY;
|
|
42
|
+
if (overflow === "auto" || overflow === "scroll") return node;
|
|
43
|
+
node = node.parentElement;
|
|
44
|
+
}
|
|
45
|
+
return null;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
export function useInfiniteScroll({
|
|
49
|
+
onLoadMore,
|
|
50
|
+
hasMore,
|
|
51
|
+
loading = false,
|
|
52
|
+
rootMargin = 400,
|
|
53
|
+
}: UseInfiniteScrollOptions) {
|
|
54
|
+
const sentinelRef = useRef<HTMLElement | null>(null);
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* The guard against asking twice for the same page.
|
|
58
|
+
*
|
|
59
|
+
* The observer fires on intersection, but the rows that answer it do not arrive for a round
|
|
60
|
+
* trip — and until they do, the sentinel is still on screen. Reading `loading` alone is not
|
|
61
|
+
* enough either: a caller that sets it a tick late leaves a window where a second fire gets
|
|
62
|
+
* through. So the hook latches when it asks, and only unlatches once the sentinel has actually
|
|
63
|
+
* left the viewport again.
|
|
64
|
+
*/
|
|
65
|
+
const askedRef = useRef(false);
|
|
66
|
+
|
|
67
|
+
const ready = Boolean(onLoadMore) && hasMore && !loading;
|
|
68
|
+
|
|
69
|
+
const handle = useCallback(
|
|
70
|
+
(entries: IntersectionObserverEntry[]) => {
|
|
71
|
+
const visible = entries.some((e) => e.isIntersecting);
|
|
72
|
+
if (!visible) {
|
|
73
|
+
askedRef.current = false;
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
if (askedRef.current || !ready) return;
|
|
77
|
+
askedRef.current = true;
|
|
78
|
+
onLoadMore?.();
|
|
79
|
+
},
|
|
80
|
+
[ready, onLoadMore],
|
|
81
|
+
);
|
|
82
|
+
|
|
83
|
+
useEffect(() => {
|
|
84
|
+
const el = sentinelRef.current;
|
|
85
|
+
if (!el || typeof IntersectionObserver === "undefined") return;
|
|
86
|
+
|
|
87
|
+
const observer = new IntersectionObserver(handle, {
|
|
88
|
+
// The scroller has to be named. `root: null` means the *viewport*, not the nearest
|
|
89
|
+
// scrollable ancestor — so inside a scrolling panel the sentinel is clipped away and
|
|
90
|
+
// `rootMargin` expands the wrong box, which reads as "infinite scroll simply never fires".
|
|
91
|
+
// Finding it here rather than asking for it keeps the call sites free of plumbing.
|
|
92
|
+
root: scrollParentOf(el),
|
|
93
|
+
rootMargin: `0px 0px ${rootMargin}px 0px`,
|
|
94
|
+
});
|
|
95
|
+
observer.observe(el);
|
|
96
|
+
return () => observer.disconnect();
|
|
97
|
+
}, [handle, rootMargin]);
|
|
98
|
+
|
|
99
|
+
// The latch is released by the sentinel leaving, and by nothing else.
|
|
100
|
+
//
|
|
101
|
+
// Releasing it when `loading` went false instead — which is the obvious thing to write — burns
|
|
102
|
+
// several pages on one flick to the bottom: the flag drops before the new rows have painted, so
|
|
103
|
+
// the sentinel is still on screen and the next observer callback asks again, and again. Tying
|
|
104
|
+
// the release to visibility makes one arrival at the end cost exactly one page, because the
|
|
105
|
+
// rows that arrive are what push the sentinel out of view.
|
|
106
|
+
|
|
107
|
+
return { sentinelRef };
|
|
108
|
+
}
|
package/apps/lib/registry.json
CHANGED
|
@@ -1,6 +1,63 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "2.
|
|
2
|
+
"version": "2.5.1",
|
|
3
3
|
"generatedBy": "scripts/bin/generateRegistry",
|
|
4
|
+
"npmVersions": {
|
|
5
|
+
"@dnd-kit/core": "^6.3.1",
|
|
6
|
+
"@dnd-kit/sortable": "^10.0.0",
|
|
7
|
+
"@dnd-kit/utilities": "^3.2.2",
|
|
8
|
+
"@editorjs/checklist": "^1.6.0",
|
|
9
|
+
"@editorjs/code": "^2.9.4",
|
|
10
|
+
"@editorjs/delimiter": "^1.4.2",
|
|
11
|
+
"@editorjs/editorjs": "^2.31.1",
|
|
12
|
+
"@editorjs/embed": "^2.8.0",
|
|
13
|
+
"@editorjs/header": "^2.8.8",
|
|
14
|
+
"@editorjs/inline-code": "^1.5.2",
|
|
15
|
+
"@editorjs/link": "^2.6.2",
|
|
16
|
+
"@editorjs/list": "^2.0.9",
|
|
17
|
+
"@editorjs/marker": "^1.4.0",
|
|
18
|
+
"@editorjs/nested-list": "^1.4.3",
|
|
19
|
+
"@editorjs/quote": "^2.7.6",
|
|
20
|
+
"@editorjs/raw": "^2.5.1",
|
|
21
|
+
"@editorjs/simple-image": "^1.6.0",
|
|
22
|
+
"@editorjs/table": "^2.4.5",
|
|
23
|
+
"@editorjs/text-variant-tune": "^1.0.3",
|
|
24
|
+
"@editorjs/underline": "^1.2.1",
|
|
25
|
+
"@editorjs/warning": "^1.4.1",
|
|
26
|
+
"@radix-ui/react-alert-dialog": "^1.1.6",
|
|
27
|
+
"@radix-ui/react-avatar": "^1.1.3",
|
|
28
|
+
"@radix-ui/react-checkbox": "^1.1.4",
|
|
29
|
+
"@radix-ui/react-context-menu": "^2.3.2",
|
|
30
|
+
"@radix-ui/react-dialog": "^1.1.6",
|
|
31
|
+
"@radix-ui/react-dropdown-menu": "^2.1.6",
|
|
32
|
+
"@radix-ui/react-label": "^2.1.2",
|
|
33
|
+
"@radix-ui/react-popover": "^1.1.6",
|
|
34
|
+
"@radix-ui/react-radio-group": "^1.2.3",
|
|
35
|
+
"@radix-ui/react-scroll-area": "^1.2.3",
|
|
36
|
+
"@radix-ui/react-select": "^2.1.6",
|
|
37
|
+
"@radix-ui/react-slider": "^1.4.2",
|
|
38
|
+
"@radix-ui/react-slot": "^1.1.2",
|
|
39
|
+
"@radix-ui/react-switch": "^1.1.3",
|
|
40
|
+
"@radix-ui/react-tabs": "^1.1.13",
|
|
41
|
+
"@radix-ui/react-toggle": "^1.1.2",
|
|
42
|
+
"@radix-ui/react-toggle-group": "^1.1.11",
|
|
43
|
+
"@radix-ui/react-tooltip": "^1.1.8",
|
|
44
|
+
"@tanstack/react-table": "^8.21.3",
|
|
45
|
+
"@tanstack/react-virtual": "^3.14.9",
|
|
46
|
+
"chart.js": "^4.5.1",
|
|
47
|
+
"class-variance-authority": "^0.7.1",
|
|
48
|
+
"clsx": "^2.1.1",
|
|
49
|
+
"date-fns": "^4.1.0",
|
|
50
|
+
"editorjs-undo": "^2.0.28",
|
|
51
|
+
"input-otp": "^1.4.2",
|
|
52
|
+
"lucide-react": "^0.507.0",
|
|
53
|
+
"next": "15.2.1",
|
|
54
|
+
"react-day-picker": "^9.6.7",
|
|
55
|
+
"react-hook-form": "^7.54.2",
|
|
56
|
+
"react-hot-toast": "^2.5.2",
|
|
57
|
+
"tailwind-merge": "^3.0.2",
|
|
58
|
+
"torch-react-mobile-picker": "^1.1.0",
|
|
59
|
+
"vaul": "^1.1.2"
|
|
60
|
+
},
|
|
4
61
|
"items": [
|
|
5
62
|
{
|
|
6
63
|
"name": "ActionButton",
|
|
@@ -224,6 +281,37 @@
|
|
|
224
281
|
"components/Table"
|
|
225
282
|
]
|
|
226
283
|
},
|
|
284
|
+
{
|
|
285
|
+
"name": "DataViews",
|
|
286
|
+
"type": "components",
|
|
287
|
+
"path": "components/DataViews",
|
|
288
|
+
"npmDependencies": [
|
|
289
|
+
"@radix-ui/react-radio-group",
|
|
290
|
+
"@tanstack/react-virtual",
|
|
291
|
+
"lucide-react",
|
|
292
|
+
"react-hook-form"
|
|
293
|
+
],
|
|
294
|
+
"registryDependencies": [
|
|
295
|
+
"components/Avatar",
|
|
296
|
+
"components/Badge",
|
|
297
|
+
"components/Button",
|
|
298
|
+
"components/Checkbox",
|
|
299
|
+
"components/ConclusionHeader",
|
|
300
|
+
"components/Divider",
|
|
301
|
+
"components/FormBuilder",
|
|
302
|
+
"components/Skeleton",
|
|
303
|
+
"components/Switch",
|
|
304
|
+
"components/TabSwitch",
|
|
305
|
+
"components/Table",
|
|
306
|
+
"components/TreeFolder",
|
|
307
|
+
"hooks/useDragDrop",
|
|
308
|
+
"hooks/useInfiniteScroll",
|
|
309
|
+
"layouts/DataViewCard",
|
|
310
|
+
"utils/cn",
|
|
311
|
+
"utils/dataViews",
|
|
312
|
+
"utils/types"
|
|
313
|
+
]
|
|
314
|
+
},
|
|
227
315
|
{
|
|
228
316
|
"name": "DatePicker",
|
|
229
317
|
"type": "components",
|
|
@@ -282,7 +370,6 @@
|
|
|
282
370
|
"class-variance-authority"
|
|
283
371
|
],
|
|
284
372
|
"registryDependencies": [
|
|
285
|
-
"components/DropdownMenu",
|
|
286
373
|
"utils/cn",
|
|
287
374
|
"utils/types"
|
|
288
375
|
]
|
|
@@ -314,6 +401,67 @@
|
|
|
314
401
|
"utils/types"
|
|
315
402
|
]
|
|
316
403
|
},
|
|
404
|
+
{
|
|
405
|
+
"name": "FormBuilder",
|
|
406
|
+
"type": "components",
|
|
407
|
+
"path": "components/FormBuilder",
|
|
408
|
+
"npmDependencies": [
|
|
409
|
+
"@dnd-kit/core",
|
|
410
|
+
"@dnd-kit/sortable",
|
|
411
|
+
"@dnd-kit/utilities",
|
|
412
|
+
"@editorjs/editorjs",
|
|
413
|
+
"@radix-ui/react-slider",
|
|
414
|
+
"react-hook-form"
|
|
415
|
+
],
|
|
416
|
+
"registryDependencies": [
|
|
417
|
+
"components/BadgeField",
|
|
418
|
+
"components/Button",
|
|
419
|
+
"components/Card",
|
|
420
|
+
"components/Checkbox",
|
|
421
|
+
"components/ColorPicker",
|
|
422
|
+
"components/DatePicker",
|
|
423
|
+
"components/FieldHint",
|
|
424
|
+
"components/Form",
|
|
425
|
+
"components/FormStepper",
|
|
426
|
+
"components/HeaderBar",
|
|
427
|
+
"components/ImageAttachment",
|
|
428
|
+
"components/Input",
|
|
429
|
+
"components/InputField",
|
|
430
|
+
"components/InputOTP",
|
|
431
|
+
"components/Label",
|
|
432
|
+
"components/LabeledCheckBox",
|
|
433
|
+
"components/PasswordLevel",
|
|
434
|
+
"components/Radio",
|
|
435
|
+
"components/RadioCard",
|
|
436
|
+
"components/SearchableSelect",
|
|
437
|
+
"components/SearchableTree",
|
|
438
|
+
"components/SectionBlock",
|
|
439
|
+
"components/Select",
|
|
440
|
+
"components/Switch",
|
|
441
|
+
"components/Table",
|
|
442
|
+
"components/TextEditor",
|
|
443
|
+
"components/Textarea",
|
|
444
|
+
"components/Tooltip",
|
|
445
|
+
"hooks/useTagSelection",
|
|
446
|
+
"layouts/FieldSection",
|
|
447
|
+
"utils/cn"
|
|
448
|
+
]
|
|
449
|
+
},
|
|
450
|
+
{
|
|
451
|
+
"name": "FormRenderer",
|
|
452
|
+
"type": "components",
|
|
453
|
+
"path": "components/FormRenderer",
|
|
454
|
+
"npmDependencies": [
|
|
455
|
+
"@radix-ui/react-tabs",
|
|
456
|
+
"react-hook-form"
|
|
457
|
+
],
|
|
458
|
+
"registryDependencies": [
|
|
459
|
+
"components/Drawer",
|
|
460
|
+
"components/FormBuilder",
|
|
461
|
+
"components/TabFormItem",
|
|
462
|
+
"utils/cn"
|
|
463
|
+
]
|
|
464
|
+
},
|
|
317
465
|
{
|
|
318
466
|
"name": "FormStepper",
|
|
319
467
|
"type": "components",
|
|
@@ -770,6 +918,39 @@
|
|
|
770
918
|
"utils/cn"
|
|
771
919
|
]
|
|
772
920
|
},
|
|
921
|
+
{
|
|
922
|
+
"name": "TextEditor",
|
|
923
|
+
"type": "components",
|
|
924
|
+
"path": "components/TextEditor",
|
|
925
|
+
"npmDependencies": [
|
|
926
|
+
"@editorjs/checklist",
|
|
927
|
+
"@editorjs/code",
|
|
928
|
+
"@editorjs/delimiter",
|
|
929
|
+
"@editorjs/editorjs",
|
|
930
|
+
"@editorjs/embed",
|
|
931
|
+
"@editorjs/header",
|
|
932
|
+
"@editorjs/inline-code",
|
|
933
|
+
"@editorjs/link",
|
|
934
|
+
"@editorjs/list",
|
|
935
|
+
"@editorjs/marker",
|
|
936
|
+
"@editorjs/nested-list",
|
|
937
|
+
"@editorjs/quote",
|
|
938
|
+
"@editorjs/raw",
|
|
939
|
+
"@editorjs/simple-image",
|
|
940
|
+
"@editorjs/table",
|
|
941
|
+
"@editorjs/text-variant-tune",
|
|
942
|
+
"@editorjs/underline",
|
|
943
|
+
"@editorjs/warning",
|
|
944
|
+
"chart.js",
|
|
945
|
+
"class-variance-authority",
|
|
946
|
+
"editorjs-undo"
|
|
947
|
+
],
|
|
948
|
+
"registryDependencies": [
|
|
949
|
+
"components/DropdownMenu",
|
|
950
|
+
"utils/cn",
|
|
951
|
+
"utils/types"
|
|
952
|
+
]
|
|
953
|
+
},
|
|
773
954
|
{
|
|
774
955
|
"name": "Timeline",
|
|
775
956
|
"type": "components",
|
|
@@ -851,6 +1032,19 @@
|
|
|
851
1032
|
"utils/cn"
|
|
852
1033
|
]
|
|
853
1034
|
},
|
|
1035
|
+
{
|
|
1036
|
+
"name": "TreeFolder",
|
|
1037
|
+
"type": "components",
|
|
1038
|
+
"path": "components/TreeFolder",
|
|
1039
|
+
"npmDependencies": [
|
|
1040
|
+
"lucide-react"
|
|
1041
|
+
],
|
|
1042
|
+
"registryDependencies": [
|
|
1043
|
+
"hooks/useDragDrop",
|
|
1044
|
+
"utils/cn",
|
|
1045
|
+
"utils/types"
|
|
1046
|
+
]
|
|
1047
|
+
},
|
|
854
1048
|
{
|
|
855
1049
|
"name": "useActiveTreeItem",
|
|
856
1050
|
"type": "hooks",
|
|
@@ -866,9 +1060,20 @@
|
|
|
866
1060
|
"registryDependencies": []
|
|
867
1061
|
},
|
|
868
1062
|
{
|
|
869
|
-
"name": "
|
|
1063
|
+
"name": "useDragDrop",
|
|
1064
|
+
"type": "hooks",
|
|
1065
|
+
"path": "hooks/useDragDrop.tsx",
|
|
1066
|
+
"npmDependencies": [
|
|
1067
|
+
"@dnd-kit/core",
|
|
1068
|
+
"@dnd-kit/sortable",
|
|
1069
|
+
"@dnd-kit/utilities"
|
|
1070
|
+
],
|
|
1071
|
+
"registryDependencies": []
|
|
1072
|
+
},
|
|
1073
|
+
{
|
|
1074
|
+
"name": "useInfiniteScroll",
|
|
870
1075
|
"type": "hooks",
|
|
871
|
-
"path": "hooks/
|
|
1076
|
+
"path": "hooks/useInfiniteScroll.ts",
|
|
872
1077
|
"npmDependencies": [],
|
|
873
1078
|
"registryDependencies": []
|
|
874
1079
|
},
|
|
@@ -969,6 +1174,13 @@
|
|
|
969
1174
|
"npmDependencies": [],
|
|
970
1175
|
"registryDependencies": []
|
|
971
1176
|
},
|
|
1177
|
+
{
|
|
1178
|
+
"name": "dataViews",
|
|
1179
|
+
"type": "utils",
|
|
1180
|
+
"path": "utils/dataViews",
|
|
1181
|
+
"npmDependencies": [],
|
|
1182
|
+
"registryDependencies": []
|
|
1183
|
+
},
|
|
972
1184
|
{
|
|
973
1185
|
"name": "dateFormat",
|
|
974
1186
|
"type": "utils",
|