@namroodinc/liquid-editorial 0.1.0 → 0.1.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.
Files changed (72) hide show
  1. package/README.md +62 -1
  2. package/dist/chunks/EntryEditor-BF808OZR.js +181 -0
  3. package/dist/chunks/EntryEditor-BF808OZR.js.map +1 -0
  4. package/dist/chunks/EntryEditor-cjDk4vdH.cjs +2 -0
  5. package/dist/chunks/EntryEditor-cjDk4vdH.cjs.map +1 -0
  6. package/dist/chunks/RichTextEditor-DRt-kibg.js +248 -0
  7. package/dist/chunks/RichTextEditor-DRt-kibg.js.map +1 -0
  8. package/dist/chunks/RichTextEditor-tFkISOvq.cjs +2 -0
  9. package/dist/chunks/RichTextEditor-tFkISOvq.cjs.map +1 -0
  10. package/dist/components/EntryEditor/index.cjs +1 -0
  11. package/dist/components/EntryEditor/index.d.cts +21 -0
  12. package/dist/components/EntryEditor/index.d.cts.map +1 -0
  13. package/dist/components/EntryEditor/index.d.ts +21 -0
  14. package/dist/components/EntryEditor/index.d.ts.map +1 -0
  15. package/dist/components/EntryEditor/index.js +6 -0
  16. package/dist/components/EntryEditor/model.d.cts +33 -0
  17. package/dist/components/EntryEditor/model.d.cts.map +1 -0
  18. package/dist/components/EntryEditor/model.d.ts +33 -0
  19. package/dist/components/EntryEditor/model.d.ts.map +1 -0
  20. package/dist/components/EntryEditor/style.css +8 -0
  21. package/dist/components/EntryPicker/index.cjs +1 -1
  22. package/dist/components/EntryPicker/index.cjs.map +1 -1
  23. package/dist/components/EntryPicker/index.d.cts.map +1 -1
  24. package/dist/components/EntryPicker/index.d.ts.map +1 -1
  25. package/dist/components/EntryPicker/index.js +15 -12
  26. package/dist/components/EntryPicker/index.js.map +1 -1
  27. package/dist/components/Field/index.cjs +1 -1
  28. package/dist/components/Field/index.cjs.map +1 -1
  29. package/dist/components/Field/index.d.cts +4 -1
  30. package/dist/components/Field/index.d.cts.map +1 -1
  31. package/dist/components/Field/index.d.ts +4 -1
  32. package/dist/components/Field/index.d.ts.map +1 -1
  33. package/dist/components/Field/index.js +29 -23
  34. package/dist/components/Field/index.js.map +1 -1
  35. package/dist/components/Field/style.css +12 -0
  36. package/dist/components/Modal/style.css +1 -0
  37. package/dist/components/NumberField/index.cjs +1 -1
  38. package/dist/components/NumberField/index.cjs.map +1 -1
  39. package/dist/components/NumberField/index.d.cts +1 -1
  40. package/dist/components/NumberField/index.d.cts.map +1 -1
  41. package/dist/components/NumberField/index.d.ts +1 -1
  42. package/dist/components/NumberField/index.d.ts.map +1 -1
  43. package/dist/components/NumberField/index.js +1 -1
  44. package/dist/components/NumberField/index.js.map +1 -1
  45. package/dist/components/RichTextEditor/document.d.cts +10 -0
  46. package/dist/components/RichTextEditor/document.d.cts.map +1 -0
  47. package/dist/components/RichTextEditor/document.d.ts +10 -0
  48. package/dist/components/RichTextEditor/document.d.ts.map +1 -0
  49. package/dist/components/RichTextEditor/index.cjs +1 -2
  50. package/dist/components/RichTextEditor/index.d.cts +21 -6
  51. package/dist/components/RichTextEditor/index.d.cts.map +1 -1
  52. package/dist/components/RichTextEditor/index.d.ts +21 -6
  53. package/dist/components/RichTextEditor/index.d.ts.map +1 -1
  54. package/dist/components/RichTextEditor/index.js +1 -175
  55. package/dist/components/SortableList/index.cjs +1 -1
  56. package/dist/components/SortableList/index.cjs.map +1 -1
  57. package/dist/components/SortableList/index.d.cts +4 -3
  58. package/dist/components/SortableList/index.d.cts.map +1 -1
  59. package/dist/components/SortableList/index.d.ts +4 -3
  60. package/dist/components/SortableList/index.d.ts.map +1 -1
  61. package/dist/components/SortableList/index.js +55 -48
  62. package/dist/components/SortableList/index.js.map +1 -1
  63. package/dist/index.cjs +1 -1
  64. package/dist/index.d.cts +3 -1
  65. package/dist/index.d.cts.map +1 -1
  66. package/dist/index.d.ts +3 -1
  67. package/dist/index.d.ts.map +1 -1
  68. package/dist/index.js +36 -35
  69. package/dist/styles.css +1 -0
  70. package/package.json +37 -11
  71. package/dist/components/RichTextEditor/index.cjs.map +0 -1
  72. package/dist/components/RichTextEditor/index.js.map +0 -1
@@ -1,175 +1 @@
1
- import { Button as e } from "../Button/index.js";
2
- import { ButtonGroup as t } from "../ButtonGroup/index.js";
3
- /* empty css */
4
- import { forwardRef as n, useCallback as r, useState as i } from "react";
5
- import { jsx as a, jsxs as o } from "react/jsx-runtime";
6
- import { EditorContent as s, useEditor as c, useEditorState as l } from "@tiptap/react";
7
- import u from "@tiptap/starter-kit";
8
- import d from "@tiptap/extension-link";
9
- import f from "@tiptap/extension-placeholder";
10
- //#region src/components/RichTextEditor/index.tsx
11
- var p = [
12
- [
13
- {
14
- id: "bold",
15
- icon: "bold",
16
- label: "Bold",
17
- run: (e) => e.chain().focus().toggleBold().run(),
18
- active: (e) => e.isActive("bold")
19
- },
20
- {
21
- id: "italic",
22
- icon: "italic",
23
- label: "Italic",
24
- run: (e) => e.chain().focus().toggleItalic().run(),
25
- active: (e) => e.isActive("italic")
26
- },
27
- {
28
- id: "strike",
29
- icon: "strikethrough",
30
- label: "Strikethrough",
31
- run: (e) => e.chain().focus().toggleStrike().run(),
32
- active: (e) => e.isActive("strike")
33
- },
34
- {
35
- id: "code",
36
- icon: "code",
37
- label: "Inline code",
38
- run: (e) => e.chain().focus().toggleCode().run(),
39
- active: (e) => e.isActive("code")
40
- }
41
- ],
42
- [
43
- {
44
- id: "h2",
45
- icon: "heading-2",
46
- label: "Heading",
47
- run: (e) => e.chain().focus().toggleHeading({ level: 2 }).run(),
48
- active: (e) => e.isActive("heading", { level: 2 })
49
- },
50
- {
51
- id: "h3",
52
- icon: "heading-3",
53
- label: "Subheading",
54
- run: (e) => e.chain().focus().toggleHeading({ level: 3 }).run(),
55
- active: (e) => e.isActive("heading", { level: 3 })
56
- },
57
- {
58
- id: "quote",
59
- icon: "quote",
60
- label: "Quote",
61
- run: (e) => e.chain().focus().toggleBlockquote().run(),
62
- active: (e) => e.isActive("blockquote")
63
- }
64
- ],
65
- [{
66
- id: "ul",
67
- icon: "list",
68
- label: "Bulleted list",
69
- run: (e) => e.chain().focus().toggleBulletList().run(),
70
- active: (e) => e.isActive("bulletList")
71
- }, {
72
- id: "ol",
73
- icon: "list-ordered",
74
- label: "Numbered list",
75
- run: (e) => e.chain().focus().toggleOrderedList().run(),
76
- active: (e) => e.isActive("orderedList")
77
- }],
78
- [{
79
- id: "undo",
80
- icon: "undo",
81
- label: "Undo",
82
- run: (e) => e.chain().focus().undo().run()
83
- }, {
84
- id: "redo",
85
- icon: "redo",
86
- label: "Redo",
87
- run: (e) => e.chain().focus().redo().run()
88
- }]
89
- ], m = n(function({ defaultValue: n = "", onChange: m, placeholder: h = "Write something…", size: g = "md", isDisabled: _ = !1, isInvalid: v = !1, label: y = "Rich text editor", className: b, toolbarExtra: x }, S) {
90
- let [C, w] = i(!1), T = c({
91
- immediatelyRender: !1,
92
- editable: !_,
93
- content: n,
94
- extensions: [
95
- u.configure({ link: !1 }),
96
- d.configure({
97
- openOnClick: !1,
98
- autolink: !0
99
- }),
100
- f.configure({ placeholder: h })
101
- ],
102
- editorProps: { attributes: {
103
- role: "textbox",
104
- "aria-label": y,
105
- "aria-multiline": "true"
106
- } },
107
- onFocus: () => w(!0),
108
- onBlur: () => w(!1),
109
- onUpdate: ({ editor: e }) => m?.(e.getHTML())
110
- }), E = l({
111
- editor: T,
112
- selector: ({ editor: e }) => e ? {
113
- active: Object.fromEntries(p.flat().map((t) => [t.id, t.active?.(e) ?? !1])),
114
- linkActive: e.isActive("link")
115
- } : null
116
- }), D = r(() => {
117
- if (!T) return;
118
- if (T.isActive("link")) {
119
- T.chain().focus().unsetLink().run();
120
- return;
121
- }
122
- let e = window.prompt("Link to");
123
- e && T.chain().focus().extendMarkRange("link").setLink({ href: e }).run();
124
- }, [T]);
125
- return /* @__PURE__ */ o("div", {
126
- ref: S,
127
- className: ["ds-rte", b].filter(Boolean).join(" "),
128
- "data-focused": C || void 0,
129
- "data-disabled": _ || void 0,
130
- "aria-invalid": v || void 0,
131
- children: [/* @__PURE__ */ o("div", {
132
- className: "ds-rte__toolbar",
133
- role: "toolbar",
134
- "aria-label": `${y} formatting`,
135
- children: [
136
- p.map((n, r) => /* @__PURE__ */ a(t, {
137
- "aria-label": `Formatting ${r + 1}`,
138
- children: n.map((t) => /* @__PURE__ */ a(e, {
139
- size: "sm",
140
- isIconOnly: !0,
141
- iconStart: t.icon,
142
- "aria-label": t.label,
143
- title: t.label,
144
- "aria-pressed": t.active ? E?.active[t.id] : void 0,
145
- variant: E?.active[t.id] ? "active" : "neutral",
146
- isDisabled: _ || !T,
147
- onClick: () => T && t.run(T)
148
- }, t.id))
149
- }, r)),
150
- /* @__PURE__ */ a(t, {
151
- "aria-label": "Link",
152
- children: /* @__PURE__ */ a(e, {
153
- size: "sm",
154
- isIconOnly: !0,
155
- iconStart: E?.linkActive ? "link-off" : "link",
156
- "aria-label": E?.linkActive ? "Remove link" : "Add link",
157
- title: E?.linkActive ? "Remove link" : "Add link",
158
- variant: E?.linkActive ? "active" : "neutral",
159
- isDisabled: _ || !T,
160
- onClick: D
161
- })
162
- }),
163
- x
164
- ]
165
- }), /* @__PURE__ */ a("div", {
166
- className: "ds-rte__content",
167
- "data-size": g,
168
- children: /* @__PURE__ */ a(s, { editor: T })
169
- })]
170
- });
171
- });
172
- //#endregion
173
- export { m as RichTextEditor };
174
-
175
- //# sourceMappingURL=index.js.map
1
+ export { t as RichTextEditor } from "../../chunks/RichTextEditor-DRt-kibg.js";
@@ -1,2 +1,2 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../chunks/Icon-CWsA1W83.cjs");let t=require("react"),n=require("react/jsx-runtime"),r=require("@dnd-kit/core"),i=require("@dnd-kit/sortable"),a=require("@dnd-kit/utilities"),o=require("@dnd-kit/modifiers");var s=(0,t.forwardRef)(function({items:a,onReorder:s,renderDragOverlay:c,className:l,children:u,...d},f){let p=(0,t.useId)(),[m,h]=(0,t.useState)(null),g=(0,r.useSensors)((0,r.useSensor)(r.PointerSensor,{activationConstraint:{distance:4}}),(0,r.useSensor)(r.KeyboardSensor,{coordinateGetter:i.sortableKeyboardCoordinates})),_=(0,t.useCallback)(e=>{h(String(e.active.id))},[]),v=(0,t.useCallback)(e=>{h(null);let{active:t,over:n}=e;if(!n||t.id===n.id)return;let r=a.indexOf(String(t.id)),o=a.indexOf(String(n.id));r<0||o<0||s?.((0,i.arrayMove)(a,r,o))},[a,s]);return(0,n.jsxs)(r.DndContext,{id:`ds-sortable-list-${p}`,sensors:g,collisionDetection:r.closestCenter,modifiers:[o.restrictToVerticalAxis],onDragStart:_,onDragEnd:v,onDragCancel:()=>h(null),children:[(0,n.jsx)(i.SortableContext,{items:a,strategy:i.verticalListSortingStrategy,children:(0,n.jsx)(`ul`,{ref:f,className:[`ds-sortable-list`,l].filter(Boolean).join(` `),...d,children:u})}),(0,n.jsx)(r.DragOverlay,{children:m?(0,n.jsxs)(`div`,{className:`ds-sortable-item`,"data-overlay":!0,children:[(0,n.jsx)(`span`,{className:`ds-sortable-item__handle`,"aria-hidden":`true`,children:(0,n.jsx)(e.t,{name:`grip-vertical`})}),(0,n.jsx)(`div`,{className:`ds-sortable-item__content`,children:c?.(m)})]}):null})]})}),c=(0,t.forwardRef)(function({id:t,label:r,action:o,className:s,children:c,...l},u){let{attributes:d,listeners:f,setNodeRef:p,transform:m,transition:h,isDragging:g}=(0,i.useSortable)({id:t});return(0,n.jsxs)(`li`,{ref:e=>{p(e),typeof u==`function`?u(e):u&&(u.current=e)},style:{transform:a.CSS.Translate.toString(m),transition:h},className:[`ds-sortable-item`,s].filter(Boolean).join(` `),"data-dragging":g||void 0,...l,children:[(0,n.jsx)(`button`,{type:`button`,className:`ds-sortable-item__handle`,"aria-label":r?`Move ${r}`:`Move item`,...d,...f,children:(0,n.jsx)(e.t,{name:`grip-vertical`})}),(0,n.jsx)(`div`,{className:`ds-sortable-item__content`,children:c}),o&&(0,n.jsx)(`div`,{className:`ds-sortable-item__action`,children:o})]})});exports.SortableList=s,exports.SortableListItem=c;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../chunks/Icon-CWsA1W83.cjs");let t=require("react"),n=require("react/jsx-runtime"),r=require("@dnd-kit/core"),i=require("@dnd-kit/modifiers"),a=require("@dnd-kit/sortable"),o=require("@dnd-kit/utilities");function s(e){return(0,t.isValidElement)(e)&&typeof e.props.id==`string`}var c=(0,t.forwardRef)(function({items:o,onReorder:c,renderDragOverlay:l,className:u,children:d,...f},p){let m=(0,t.useId)(),[h,g]=(0,t.useState)(null),[_,v]=(0,t.useState)(o),[y,b]=(0,t.useState)(o);o!==y&&o.join(`\0`)!==y.join(`\0`)&&(b(o),v(o));let x=(0,r.useSensors)((0,r.useSensor)(r.PointerSensor,{activationConstraint:{distance:4}}),(0,r.useSensor)(r.KeyboardSensor,{coordinateGetter:a.sortableKeyboardCoordinates})),S=(0,t.useCallback)(e=>{g(String(e.active.id))},[]),C=(0,t.useCallback)(e=>{g(null);let{active:t,over:n}=e;if(!n||t.id===n.id)return;let r=_.indexOf(String(t.id)),i=_.indexOf(String(n.id));if(r<0||i<0)return;let o=(0,a.arrayMove)(_,r,i);v(o),c?.(o)},[_,c]),w=t.Children.toArray(d),T=new Map(w.filter(s).map(e=>[e.props.id,e])),E=[..._.flatMap(e=>T.get(e)??[]),...w.filter(e=>!s(e)||!_.includes(e.props.id))],D=h?T.get(h):void 0;return(0,n.jsxs)(r.DndContext,{id:`ds-sortable-list-${m}`,sensors:x,collisionDetection:r.closestCenter,modifiers:[i.restrictToVerticalAxis],onDragStart:S,onDragEnd:C,onDragCancel:()=>g(null),children:[(0,n.jsx)(a.SortableContext,{items:_,strategy:a.verticalListSortingStrategy,children:(0,n.jsx)(`ul`,{ref:p,className:[`ds-sortable-list`,u].filter(Boolean).join(` `),...f,children:E})}),(0,n.jsx)(r.DragOverlay,{children:h?(0,n.jsxs)(`div`,{className:`ds-sortable-item`,"data-overlay":!0,children:[(0,n.jsx)(`span`,{className:`ds-sortable-item__handle`,"aria-hidden":`true`,children:(0,n.jsx)(e.t,{name:`grip-vertical`})}),(0,n.jsx)(`div`,{className:`ds-sortable-item__content`,children:l?l(h):D?.props.children})]}):null})]})}),l=(0,t.forwardRef)(function({id:t,label:r,action:i,className:s,children:c,...l},u){let{attributes:d,listeners:f,setNodeRef:p,transform:m,transition:h,isDragging:g}=(0,a.useSortable)({id:t});return(0,n.jsxs)(`li`,{ref:e=>{p(e),typeof u==`function`?u(e):u&&(u.current=e)},style:{transform:o.CSS.Translate.toString(m),transition:h},className:[`ds-sortable-item`,s].filter(Boolean).join(` `),"data-dragging":g||void 0,...l,children:[(0,n.jsx)(`button`,{type:`button`,className:`ds-sortable-item__handle`,"aria-label":r?`Move ${r}`:`Move item`,...d,...f,children:(0,n.jsx)(e.t,{name:`grip-vertical`})}),(0,n.jsx)(`div`,{className:`ds-sortable-item__content`,children:c}),i&&(0,n.jsx)(`div`,{className:`ds-sortable-item__action`,children:i})]})});exports.SortableList=c,exports.SortableListItem=l;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","names":["forwardRef","useId","useState","useSensors","useSensor","PointerSensor","KeyboardSensor","sortableKeyboardCoordinates","useCallback","arrayMove","DndContext","closestCenter","restrictToVerticalAxis","SortableContext","verticalListSortingStrategy","DragOverlay","Icon","useSortable","CSS","require_Icon","react","react_jsx_runtime","_dnd_kit_core","_dnd_kit_sortable","_dnd_kit_utilities","_dnd_kit_modifiers","SortableList","rest","dndId","activeId","setActiveId","sensors","handleStart","event","handleEnd","over","active","from","items","to","onReorder","className","renderDragOverlay","SortableListItem","setNodeRef","node","ref","transform","isDragging","label","attributes","listeners","action"],"sources":["../../../src/components/SortableList/index.tsx"],"sourcesContent":["import {\n forwardRef,\n useCallback,\n useId,\n useState,\n type HTMLAttributes,\n type ReactNode,\n} from \"react\";\nimport {\n DndContext,\n DragOverlay,\n KeyboardSensor,\n PointerSensor,\n closestCenter,\n useSensor,\n useSensors,\n type DragEndEvent,\n type DragStartEvent,\n} from \"@dnd-kit/core\";\nimport { restrictToVerticalAxis } from \"@dnd-kit/modifiers\";\nimport {\n SortableContext,\n arrayMove,\n sortableKeyboardCoordinates,\n useSortable,\n verticalListSortingStrategy,\n} from \"@dnd-kit/sortable\";\nimport { CSS } from \"@dnd-kit/utilities\";\nimport { Icon } from \"../Icon\";\nimport \"./style.css\";\n\nexport interface SortableListProps extends Omit<HTMLAttributes<HTMLUListElement>, \"onDragEnd\"> {\n /** Item ids in render order. */\n items: string[];\n /** Fired with the whole list in its new order. Apply it to your own state. */\n onReorder?: (items: string[]) => void;\n /** Rendered inside the drag overlay while a row is in the air. */\n renderDragOverlay?: (id: string) => ReactNode;\n children?: ReactNode;\n}\n\n/**\n * A single vertical list you can re-order — the board's mechanics without the\n * lanes. Each row carries a grip on the left; the list owns dragging only, the\n * data stays yours: react to `onReorder`.\n */\nexport const SortableList = forwardRef<HTMLUListElement, SortableListProps>(\n function SortableList({ items, onReorder, renderDragOverlay, className, children, ...rest }, ref) {\n const dndId = useId();\n const [activeId, setActiveId] = useState<string | null>(null);\n const sensors = useSensors(\n useSensor(PointerSensor, { activationConstraint: { distance: 4 } }),\n useSensor(KeyboardSensor, { coordinateGetter: sortableKeyboardCoordinates }),\n );\n\n const handleStart = useCallback((event: DragStartEvent) => {\n setActiveId(String(event.active.id));\n }, []);\n\n const handleEnd = useCallback(\n (event: DragEndEvent) => {\n setActiveId(null);\n const { active, over } = event;\n if (!over || active.id === over.id) return;\n const from = items.indexOf(String(active.id));\n const to = items.indexOf(String(over.id));\n if (from < 0 || to < 0) return;\n onReorder?.(arrayMove(items, from, to));\n },\n [items, onReorder],\n );\n\n return (\n <DndContext\n id={`ds-sortable-list-${dndId}`}\n sensors={sensors}\n collisionDetection={closestCenter}\n modifiers={[restrictToVerticalAxis]}\n onDragStart={handleStart}\n onDragEnd={handleEnd}\n onDragCancel={() => setActiveId(null)}\n >\n <SortableContext items={items} strategy={verticalListSortingStrategy}>\n <ul\n ref={ref}\n className={[\"ds-sortable-list\", className].filter(Boolean).join(\" \")}\n {...rest}\n >\n {children}\n </ul>\n </SortableContext>\n <DragOverlay>\n {activeId ? (\n <div className=\"ds-sortable-item\" data-overlay>\n <span className=\"ds-sortable-item__handle\" aria-hidden=\"true\">\n <Icon name=\"grip-vertical\" />\n </span>\n <div className=\"ds-sortable-item__content\">{renderDragOverlay?.(activeId)}</div>\n </div>\n ) : null}\n </DragOverlay>\n </DndContext>\n );\n },\n);\n\nexport interface SortableListItemProps extends HTMLAttributes<HTMLLIElement> {\n id: string;\n /** Accessible name announced when the row is picked up. */\n label?: string;\n /** A control at the end of the row, e.g. a menu or a delete button. */\n action?: ReactNode;\n children?: ReactNode;\n}\n\n/** One row of a `SortableList`. The grip on the left is the only handle. */\nexport const SortableListItem = forwardRef<HTMLLIElement, SortableListItemProps>(\n function SortableListItem({ id, label, action, className, children, ...rest }, ref) {\n const { attributes, listeners, setNodeRef, transform, transition, isDragging } = useSortable({\n id,\n });\n\n return (\n <li\n ref={(node) => {\n setNodeRef(node);\n if (typeof ref === \"function\") ref(node);\n else if (ref) ref.current = node;\n }}\n style={{ transform: CSS.Translate.toString(transform), transition }}\n className={[\"ds-sortable-item\", className].filter(Boolean).join(\" \")}\n data-dragging={isDragging || undefined}\n {...rest}\n >\n <button\n type=\"button\"\n className=\"ds-sortable-item__handle\"\n aria-label={label ? `Move ${label}` : \"Move item\"}\n {...attributes}\n {...listeners}\n >\n <Icon name=\"grip-vertical\" />\n </button>\n <div className=\"ds-sortable-item__content\">{children}</div>\n {action && <div className=\"ds-sortable-item__action\">{action}</div>}\n </li>\n );\n },\n);\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs","names":["isValidElement","forwardRef","useId","useState","useSensors","useSensor","PointerSensor","KeyboardSensor","sortableKeyboardCoordinates","useCallback","arrayMove","Children","DndContext","closestCenter","restrictToVerticalAxis","SortableContext","verticalListSortingStrategy","DragOverlay","Icon","useSortable","CSS","require_Icon","react","react_jsx_runtime","_dnd_kit_core","_dnd_kit_modifiers","_dnd_kit_sortable","_dnd_kit_utilities","isItem","child","SortableList","rest","dndId","activeId","setActiveId","order","setOrder","items","prevItems","setPrevItems","sensors","handleStart","event","handleEnd","over","active","from","to","next","onReorder","childArray","children","rows","ordered","id","activeRow","className","renderDragOverlay","SortableListItem","setNodeRef","node","ref","transform","isDragging","label","attributes","listeners","action"],"sources":["../../../src/components/SortableList/index.tsx"],"sourcesContent":["import {\n Children,\n forwardRef,\n isValidElement,\n useCallback,\n useId,\n useState,\n type HTMLAttributes,\n type ReactElement,\n type ReactNode,\n} from \"react\";\nimport {\n DndContext,\n DragOverlay,\n KeyboardSensor,\n PointerSensor,\n closestCenter,\n useSensor,\n useSensors,\n type DragEndEvent,\n type DragStartEvent,\n} from \"@dnd-kit/core\";\nimport { restrictToVerticalAxis } from \"@dnd-kit/modifiers\";\nimport {\n SortableContext,\n arrayMove,\n sortableKeyboardCoordinates,\n useSortable,\n verticalListSortingStrategy,\n} from \"@dnd-kit/sortable\";\nimport { CSS } from \"@dnd-kit/utilities\";\nimport { Icon } from \"../Icon\";\nimport \"./style.css\";\n\nexport interface SortableListProps extends Omit<HTMLAttributes<HTMLUListElement>, \"onDragEnd\"> {\n /** Item ids in render order. */\n items: string[];\n /** Fired with the whole list in its new order. Apply it to your own state. */\n onReorder?: (items: string[]) => void;\n /** Rendered inside the drag overlay while a row is in the air. Defaults to the row's content. */\n renderDragOverlay?: (id: string) => ReactNode;\n children?: ReactNode;\n}\n\ntype ItemElement = ReactElement<SortableListItemProps>;\n\nfunction isItem(child: ReactNode): child is ItemElement {\n return isValidElement<SortableListItemProps>(child) && typeof child.props.id === \"string\";\n}\n\n/**\n * A single vertical list you can re-order — the board's mechanics without the\n * lanes. Each row carries a grip on the left. The list keeps the dropped order\n * itself, so it works on its own; pass `onReorder` to mirror it into your data.\n * A new `items` value from the parent always wins.\n */\nexport const SortableList = forwardRef<HTMLUListElement, SortableListProps>(\n function SortableList({ items, onReorder, renderDragOverlay, className, children, ...rest }, ref) {\n const dndId = useId();\n const [activeId, setActiveId] = useState<string | null>(null);\n const [order, setOrder] = useState(items);\n const [prevItems, setPrevItems] = useState(items);\n if (items !== prevItems && items.join(\"\\u0000\") !== prevItems.join(\"\\u0000\")) {\n setPrevItems(items);\n setOrder(items);\n }\n const sensors = useSensors(\n useSensor(PointerSensor, { activationConstraint: { distance: 4 } }),\n useSensor(KeyboardSensor, { coordinateGetter: sortableKeyboardCoordinates }),\n );\n\n const handleStart = useCallback((event: DragStartEvent) => {\n setActiveId(String(event.active.id));\n }, []);\n\n const handleEnd = useCallback(\n (event: DragEndEvent) => {\n setActiveId(null);\n const { active, over } = event;\n if (!over || active.id === over.id) return;\n const from = order.indexOf(String(active.id));\n const to = order.indexOf(String(over.id));\n if (from < 0 || to < 0) return;\n const next = arrayMove(order, from, to);\n setOrder(next);\n onReorder?.(next);\n },\n [order, onReorder],\n );\n\n // Rows follow the list's own order; anything that isn't a row keeps its place at the end.\n const childArray = Children.toArray(children);\n const rows = new Map(childArray.filter(isItem).map((child) => [child.props.id, child]));\n const ordered = [\n ...order.flatMap((id) => rows.get(id) ?? []),\n ...childArray.filter((child) => !isItem(child) || !order.includes(child.props.id)),\n ];\n const activeRow = activeId ? rows.get(activeId) : undefined;\n\n return (\n <DndContext\n id={`ds-sortable-list-${dndId}`}\n sensors={sensors}\n collisionDetection={closestCenter}\n modifiers={[restrictToVerticalAxis]}\n onDragStart={handleStart}\n onDragEnd={handleEnd}\n onDragCancel={() => setActiveId(null)}\n >\n <SortableContext items={order} strategy={verticalListSortingStrategy}>\n <ul\n ref={ref}\n className={[\"ds-sortable-list\", className].filter(Boolean).join(\" \")}\n {...rest}\n >\n {ordered}\n </ul>\n </SortableContext>\n <DragOverlay>\n {activeId ? (\n <div className=\"ds-sortable-item\" data-overlay>\n <span className=\"ds-sortable-item__handle\" aria-hidden=\"true\">\n <Icon name=\"grip-vertical\" />\n </span>\n <div className=\"ds-sortable-item__content\">\n {renderDragOverlay ? renderDragOverlay(activeId) : activeRow?.props.children}\n </div>\n </div>\n ) : null}\n </DragOverlay>\n </DndContext>\n );\n },\n);\n\nexport interface SortableListItemProps extends HTMLAttributes<HTMLLIElement> {\n id: string;\n /** Accessible name announced when the row is picked up. */\n label?: string;\n /** A control at the end of the row, e.g. a menu or a delete button. */\n action?: ReactNode;\n children?: ReactNode;\n}\n\n/** One row of a `SortableList`. The grip on the left is the only handle. */\nexport const SortableListItem = forwardRef<HTMLLIElement, SortableListItemProps>(\n function SortableListItem({ id, label, action, className, children, ...rest }, ref) {\n const { attributes, listeners, setNodeRef, transform, transition, isDragging } = useSortable({\n id,\n });\n\n return (\n <li\n ref={(node) => {\n setNodeRef(node);\n if (typeof ref === \"function\") ref(node);\n else if (ref) ref.current = node;\n }}\n style={{ transform: CSS.Translate.toString(transform), transition }}\n className={[\"ds-sortable-item\", className].filter(Boolean).join(\" \")}\n data-dragging={isDragging || undefined}\n {...rest}\n >\n <button\n type=\"button\"\n className=\"ds-sortable-item__handle\"\n aria-label={label ? `Move ${label}` : \"Move item\"}\n {...attributes}\n {...listeners}\n >\n <Icon name=\"grip-vertical\" />\n </button>\n <div className=\"ds-sortable-item__content\">{children}</div>\n {action && <div className=\"ds-sortable-item__action\">{action}</div>}\n </li>\n );\n },\n);\n"],"mappings":"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"}
@@ -4,14 +4,15 @@ export interface SortableListProps extends Omit<HTMLAttributes<HTMLUListElement>
4
4
  items: string[];
5
5
  /** Fired with the whole list in its new order. Apply it to your own state. */
6
6
  onReorder?: (items: string[]) => void;
7
- /** Rendered inside the drag overlay while a row is in the air. */
7
+ /** Rendered inside the drag overlay while a row is in the air. Defaults to the row's content. */
8
8
  renderDragOverlay?: (id: string) => ReactNode;
9
9
  children?: ReactNode;
10
10
  }
11
11
  /**
12
12
  * A single vertical list you can re-order — the board's mechanics without the
13
- * lanes. Each row carries a grip on the left; the list owns dragging only, the
14
- * data stays yours: react to `onReorder`.
13
+ * lanes. Each row carries a grip on the left. The list keeps the dropped order
14
+ * itself, so it works on its own; pass `onReorder` to mirror it into your data.
15
+ * A new `items` value from the parent always wins.
15
16
  */
16
17
  export declare const SortableList: import("react").ForwardRefExoticComponent<SortableListProps & import("react").RefAttributes<HTMLUListElement>>;
17
18
  export interface SortableListItemProps extends HTMLAttributes<HTMLLIElement> {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../../../src/components/SortableList/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,cAAc,EACnB,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAsBf,OAAO,aAAa,CAAC;AAErB,MAAM,WAAW,iBAAkB,SAAQ,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,EAAE,WAAW,CAAC;IAC5F,gCAAgC;IAChC,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,8EAA8E;IAC9E,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACtC,kEAAkE;IAClE,iBAAiB,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,SAAS,CAAC;IAC9C,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED;;;;GAIG;AACH,eAAO,MAAM,YAAY,gHA0DxB,CAAC;AAEF,MAAM,WAAW,qBAAsB,SAAQ,cAAc,CAAC,aAAa,CAAC;IAC1E,EAAE,EAAE,MAAM,CAAC;IACX,2DAA2D;IAC3D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uEAAuE;IACvE,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,4EAA4E;AAC5E,eAAO,MAAM,gBAAgB,iHAgC5B,CAAC"}
1
+ {"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../../../src/components/SortableList/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,cAAc,EAEnB,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAsBf,OAAO,aAAa,CAAC;AAErB,MAAM,WAAW,iBAAkB,SAAQ,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,EAAE,WAAW,CAAC;IAC5F,gCAAgC;IAChC,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,8EAA8E;IAC9E,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACtC,iGAAiG;IACjG,iBAAiB,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,SAAS,CAAC;IAC9C,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAQD;;;;;GAKG;AACH,eAAO,MAAM,YAAY,gHA6ExB,CAAC;AAEF,MAAM,WAAW,qBAAsB,SAAQ,cAAc,CAAC,aAAa,CAAC;IAC1E,EAAE,EAAE,MAAM,CAAC;IACX,2DAA2D;IAC3D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uEAAuE;IACvE,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,4EAA4E;AAC5E,eAAO,MAAM,gBAAgB,iHAgC5B,CAAC"}
@@ -4,14 +4,15 @@ export interface SortableListProps extends Omit<HTMLAttributes<HTMLUListElement>
4
4
  items: string[];
5
5
  /** Fired with the whole list in its new order. Apply it to your own state. */
6
6
  onReorder?: (items: string[]) => void;
7
- /** Rendered inside the drag overlay while a row is in the air. */
7
+ /** Rendered inside the drag overlay while a row is in the air. Defaults to the row's content. */
8
8
  renderDragOverlay?: (id: string) => ReactNode;
9
9
  children?: ReactNode;
10
10
  }
11
11
  /**
12
12
  * A single vertical list you can re-order — the board's mechanics without the
13
- * lanes. Each row carries a grip on the left; the list owns dragging only, the
14
- * data stays yours: react to `onReorder`.
13
+ * lanes. Each row carries a grip on the left. The list keeps the dropped order
14
+ * itself, so it works on its own; pass `onReorder` to mirror it into your data.
15
+ * A new `items` value from the parent always wins.
15
16
  */
16
17
  export declare const SortableList: import("react").ForwardRefExoticComponent<SortableListProps & import("react").RefAttributes<HTMLUListElement>>;
17
18
  export interface SortableListItemProps extends HTMLAttributes<HTMLLIElement> {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/SortableList/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,cAAc,EACnB,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAsBf,OAAO,aAAa,CAAC;AAErB,MAAM,WAAW,iBAAkB,SAAQ,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,EAAE,WAAW,CAAC;IAC5F,gCAAgC;IAChC,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,8EAA8E;IAC9E,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACtC,kEAAkE;IAClE,iBAAiB,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,SAAS,CAAC;IAC9C,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED;;;;GAIG;AACH,eAAO,MAAM,YAAY,gHA0DxB,CAAC;AAEF,MAAM,WAAW,qBAAsB,SAAQ,cAAc,CAAC,aAAa,CAAC;IAC1E,EAAE,EAAE,MAAM,CAAC;IACX,2DAA2D;IAC3D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uEAAuE;IACvE,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,4EAA4E;AAC5E,eAAO,MAAM,gBAAgB,iHAgC5B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/SortableList/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,cAAc,EAEnB,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAsBf,OAAO,aAAa,CAAC;AAErB,MAAM,WAAW,iBAAkB,SAAQ,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,EAAE,WAAW,CAAC;IAC5F,gCAAgC;IAChC,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,8EAA8E;IAC9E,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACtC,iGAAiG;IACjG,iBAAiB,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,SAAS,CAAC;IAC9C,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAQD;;;;;GAKG;AACH,eAAO,MAAM,YAAY,gHA6ExB,CAAC;AAEF,MAAM,WAAW,qBAAsB,SAAQ,cAAc,CAAC,aAAa,CAAC;IAC1E,EAAE,EAAE,MAAM,CAAC;IACX,2DAA2D;IAC3D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uEAAuE;IACvE,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,4EAA4E;AAC5E,eAAO,MAAM,gBAAgB,iHAgC5B,CAAC"}
@@ -1,78 +1,85 @@
1
1
  import { t as e } from "../../chunks/Icon-CGY1FNXT.js";
2
- import { forwardRef as t, useCallback as n, useId as r, useState as i } from "react";
3
- import { jsx as a, jsxs as o } from "react/jsx-runtime";
4
- import { DndContext as s, DragOverlay as c, KeyboardSensor as l, PointerSensor as u, closestCenter as d, useSensor as f, useSensors as p } from "@dnd-kit/core";
5
- import { SortableContext as m, arrayMove as h, sortableKeyboardCoordinates as g, useSortable as _, verticalListSortingStrategy as v } from "@dnd-kit/sortable";
6
- import { CSS as y } from "@dnd-kit/utilities";
7
- import { restrictToVerticalAxis as b } from "@dnd-kit/modifiers";
2
+ import { Children as t, forwardRef as n, isValidElement as r, useCallback as i, useId as a, useState as o } from "react";
3
+ import { jsx as s, jsxs as c } from "react/jsx-runtime";
4
+ import { DndContext as l, DragOverlay as u, KeyboardSensor as d, PointerSensor as f, closestCenter as p, useSensor as m, useSensors as h } from "@dnd-kit/core";
5
+ import { restrictToVerticalAxis as g } from "@dnd-kit/modifiers";
6
+ import { SortableContext as _, arrayMove as v, sortableKeyboardCoordinates as y, useSortable as b, verticalListSortingStrategy as x } from "@dnd-kit/sortable";
7
+ import { CSS as S } from "@dnd-kit/utilities";
8
8
  //#region src/components/SortableList/index.tsx
9
- var x = t(function({ items: t, onReorder: _, renderDragOverlay: y, className: x, children: S, ...C }, w) {
10
- let T = r(), [E, D] = i(null), O = p(f(u, { activationConstraint: { distance: 4 } }), f(l, { coordinateGetter: g })), k = n((e) => {
11
- D(String(e.active.id));
12
- }, []), A = n((e) => {
13
- D(null);
14
- let { active: n, over: r } = e;
15
- if (!r || n.id === r.id) return;
16
- let i = t.indexOf(String(n.id)), a = t.indexOf(String(r.id));
17
- i < 0 || a < 0 || _?.(h(t, i, a));
18
- }, [t, _]);
19
- return /* @__PURE__ */ o(s, {
20
- id: `ds-sortable-list-${T}`,
21
- sensors: O,
22
- collisionDetection: d,
23
- modifiers: [b],
24
- onDragStart: k,
25
- onDragEnd: A,
26
- onDragCancel: () => D(null),
27
- children: [/* @__PURE__ */ a(m, {
28
- items: t,
29
- strategy: v,
30
- children: /* @__PURE__ */ a("ul", {
31
- ref: w,
32
- className: ["ds-sortable-list", x].filter(Boolean).join(" "),
33
- ...C,
34
- children: S
9
+ function C(e) {
10
+ return r(e) && typeof e.props.id == "string";
11
+ }
12
+ var w = n(function({ items: n, onReorder: r, renderDragOverlay: b, className: S, children: w, ...T }, E) {
13
+ let D = a(), [O, k] = o(null), [A, j] = o(n), [M, N] = o(n);
14
+ n !== M && n.join("\0") !== M.join("\0") && (N(n), j(n));
15
+ let P = h(m(f, { activationConstraint: { distance: 4 } }), m(d, { coordinateGetter: y })), F = i((e) => {
16
+ k(String(e.active.id));
17
+ }, []), I = i((e) => {
18
+ k(null);
19
+ let { active: t, over: n } = e;
20
+ if (!n || t.id === n.id) return;
21
+ let i = A.indexOf(String(t.id)), a = A.indexOf(String(n.id));
22
+ if (i < 0 || a < 0) return;
23
+ let o = v(A, i, a);
24
+ j(o), r?.(o);
25
+ }, [A, r]), L = t.toArray(w), R = new Map(L.filter(C).map((e) => [e.props.id, e])), z = [...A.flatMap((e) => R.get(e) ?? []), ...L.filter((e) => !C(e) || !A.includes(e.props.id))], B = O ? R.get(O) : void 0;
26
+ return /* @__PURE__ */ c(l, {
27
+ id: `ds-sortable-list-${D}`,
28
+ sensors: P,
29
+ collisionDetection: p,
30
+ modifiers: [g],
31
+ onDragStart: F,
32
+ onDragEnd: I,
33
+ onDragCancel: () => k(null),
34
+ children: [/* @__PURE__ */ s(_, {
35
+ items: A,
36
+ strategy: x,
37
+ children: /* @__PURE__ */ s("ul", {
38
+ ref: E,
39
+ className: ["ds-sortable-list", S].filter(Boolean).join(" "),
40
+ ...T,
41
+ children: z
35
42
  })
36
- }), /* @__PURE__ */ a(c, { children: E ? /* @__PURE__ */ o("div", {
43
+ }), /* @__PURE__ */ s(u, { children: O ? /* @__PURE__ */ c("div", {
37
44
  className: "ds-sortable-item",
38
45
  "data-overlay": !0,
39
- children: [/* @__PURE__ */ a("span", {
46
+ children: [/* @__PURE__ */ s("span", {
40
47
  className: "ds-sortable-item__handle",
41
48
  "aria-hidden": "true",
42
- children: /* @__PURE__ */ a(e, { name: "grip-vertical" })
43
- }), /* @__PURE__ */ a("div", {
49
+ children: /* @__PURE__ */ s(e, { name: "grip-vertical" })
50
+ }), /* @__PURE__ */ s("div", {
44
51
  className: "ds-sortable-item__content",
45
- children: y?.(E)
52
+ children: b ? b(O) : B?.props.children
46
53
  })]
47
54
  }) : null })]
48
55
  });
49
- }), S = t(function({ id: t, label: n, action: r, className: i, children: s, ...c }, l) {
50
- let { attributes: u, listeners: d, setNodeRef: f, transform: p, transition: m, isDragging: h } = _({ id: t });
51
- return /* @__PURE__ */ o("li", {
56
+ }), T = n(function({ id: t, label: n, action: r, className: i, children: a, ...o }, l) {
57
+ let { attributes: u, listeners: d, setNodeRef: f, transform: p, transition: m, isDragging: h } = b({ id: t });
58
+ return /* @__PURE__ */ c("li", {
52
59
  ref: (e) => {
53
60
  f(e), typeof l == "function" ? l(e) : l && (l.current = e);
54
61
  },
55
62
  style: {
56
- transform: y.Translate.toString(p),
63
+ transform: S.Translate.toString(p),
57
64
  transition: m
58
65
  },
59
66
  className: ["ds-sortable-item", i].filter(Boolean).join(" "),
60
67
  "data-dragging": h || void 0,
61
- ...c,
68
+ ...o,
62
69
  children: [
63
- /* @__PURE__ */ a("button", {
70
+ /* @__PURE__ */ s("button", {
64
71
  type: "button",
65
72
  className: "ds-sortable-item__handle",
66
73
  "aria-label": n ? `Move ${n}` : "Move item",
67
74
  ...u,
68
75
  ...d,
69
- children: /* @__PURE__ */ a(e, { name: "grip-vertical" })
76
+ children: /* @__PURE__ */ s(e, { name: "grip-vertical" })
70
77
  }),
71
- /* @__PURE__ */ a("div", {
78
+ /* @__PURE__ */ s("div", {
72
79
  className: "ds-sortable-item__content",
73
- children: s
80
+ children: a
74
81
  }),
75
- r && /* @__PURE__ */ a("div", {
82
+ r && /* @__PURE__ */ s("div", {
76
83
  className: "ds-sortable-item__action",
77
84
  children: r
78
85
  })
@@ -80,6 +87,6 @@ var x = t(function({ items: t, onReorder: _, renderDragOverlay: y, className: x,
80
87
  });
81
88
  });
82
89
  //#endregion
83
- export { x as SortableList, S as SortableListItem };
90
+ export { w as SortableList, T as SortableListItem };
84
91
 
85
92
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["Icon","SortableList","forwardRef","rest","dndId","useId","activeId","setActiveId","useState","sensors","useSensors","useSensor","PointerSensor","KeyboardSensor","sortableKeyboardCoordinates","handleStart","useCallback","event","handleEnd","over","active","from","items","to","onReorder","arrayMove","DndContext","closestCenter","restrictToVerticalAxis","SortableContext","verticalListSortingStrategy","className","DragOverlay","renderDragOverlay","SortableListItem","useSortable","setNodeRef","node","ref","CSS","transform","isDragging","label","attributes","listeners","action"],"sources":["../../../src/components/SortableList/index.tsx"],"sourcesContent":["import {\n forwardRef,\n useCallback,\n useId,\n useState,\n type HTMLAttributes,\n type ReactNode,\n} from \"react\";\nimport {\n DndContext,\n DragOverlay,\n KeyboardSensor,\n PointerSensor,\n closestCenter,\n useSensor,\n useSensors,\n type DragEndEvent,\n type DragStartEvent,\n} from \"@dnd-kit/core\";\nimport { restrictToVerticalAxis } from \"@dnd-kit/modifiers\";\nimport {\n SortableContext,\n arrayMove,\n sortableKeyboardCoordinates,\n useSortable,\n verticalListSortingStrategy,\n} from \"@dnd-kit/sortable\";\nimport { CSS } from \"@dnd-kit/utilities\";\nimport { Icon } from \"../Icon\";\nimport \"./style.css\";\n\nexport interface SortableListProps extends Omit<HTMLAttributes<HTMLUListElement>, \"onDragEnd\"> {\n /** Item ids in render order. */\n items: string[];\n /** Fired with the whole list in its new order. Apply it to your own state. */\n onReorder?: (items: string[]) => void;\n /** Rendered inside the drag overlay while a row is in the air. */\n renderDragOverlay?: (id: string) => ReactNode;\n children?: ReactNode;\n}\n\n/**\n * A single vertical list you can re-order — the board's mechanics without the\n * lanes. Each row carries a grip on the left; the list owns dragging only, the\n * data stays yours: react to `onReorder`.\n */\nexport const SortableList = forwardRef<HTMLUListElement, SortableListProps>(\n function SortableList({ items, onReorder, renderDragOverlay, className, children, ...rest }, ref) {\n const dndId = useId();\n const [activeId, setActiveId] = useState<string | null>(null);\n const sensors = useSensors(\n useSensor(PointerSensor, { activationConstraint: { distance: 4 } }),\n useSensor(KeyboardSensor, { coordinateGetter: sortableKeyboardCoordinates }),\n );\n\n const handleStart = useCallback((event: DragStartEvent) => {\n setActiveId(String(event.active.id));\n }, []);\n\n const handleEnd = useCallback(\n (event: DragEndEvent) => {\n setActiveId(null);\n const { active, over } = event;\n if (!over || active.id === over.id) return;\n const from = items.indexOf(String(active.id));\n const to = items.indexOf(String(over.id));\n if (from < 0 || to < 0) return;\n onReorder?.(arrayMove(items, from, to));\n },\n [items, onReorder],\n );\n\n return (\n <DndContext\n id={`ds-sortable-list-${dndId}`}\n sensors={sensors}\n collisionDetection={closestCenter}\n modifiers={[restrictToVerticalAxis]}\n onDragStart={handleStart}\n onDragEnd={handleEnd}\n onDragCancel={() => setActiveId(null)}\n >\n <SortableContext items={items} strategy={verticalListSortingStrategy}>\n <ul\n ref={ref}\n className={[\"ds-sortable-list\", className].filter(Boolean).join(\" \")}\n {...rest}\n >\n {children}\n </ul>\n </SortableContext>\n <DragOverlay>\n {activeId ? (\n <div className=\"ds-sortable-item\" data-overlay>\n <span className=\"ds-sortable-item__handle\" aria-hidden=\"true\">\n <Icon name=\"grip-vertical\" />\n </span>\n <div className=\"ds-sortable-item__content\">{renderDragOverlay?.(activeId)}</div>\n </div>\n ) : null}\n </DragOverlay>\n </DndContext>\n );\n },\n);\n\nexport interface SortableListItemProps extends HTMLAttributes<HTMLLIElement> {\n id: string;\n /** Accessible name announced when the row is picked up. */\n label?: string;\n /** A control at the end of the row, e.g. a menu or a delete button. */\n action?: ReactNode;\n children?: ReactNode;\n}\n\n/** One row of a `SortableList`. The grip on the left is the only handle. */\nexport const SortableListItem = forwardRef<HTMLLIElement, SortableListItemProps>(\n function SortableListItem({ id, label, action, className, children, ...rest }, ref) {\n const { attributes, listeners, setNodeRef, transform, transition, isDragging } = useSortable({\n id,\n });\n\n return (\n <li\n ref={(node) => {\n setNodeRef(node);\n if (typeof ref === \"function\") ref(node);\n else if (ref) ref.current = node;\n }}\n style={{ transform: CSS.Translate.toString(transform), transition }}\n className={[\"ds-sortable-item\", className].filter(Boolean).join(\" \")}\n data-dragging={isDragging || undefined}\n {...rest}\n >\n <button\n type=\"button\"\n className=\"ds-sortable-item__handle\"\n aria-label={label ? `Move ${label}` : \"Move item\"}\n {...attributes}\n {...listeners}\n >\n <Icon name=\"grip-vertical\" />\n </button>\n <div className=\"ds-sortable-item__content\">{children}</div>\n {action && <div className=\"ds-sortable-item__action\">{action}</div>}\n </li>\n );\n },\n);\n"],"mappings":";;;;;;;;AA8CA,IAAaC,IAAeC,EAC1B,SAAsB,EAAE,UAAO,cAAW,sBAAmB,cAAW,aAAU,GAAGC,KAAQ,GAAK;CAChG,IAAMC,IAAQC,EAAM,GACd,CAACC,GAAUC,KAAeC,EAAwB,IAAI,GACtDC,IAAUC,EACdC,EAAUC,GAAe,EAAE,sBAAsB,EAAE,UAAU,EAAE,EAAE,CAAC,GAClED,EAAUE,GAAgB,EAAE,kBAAkBC,EAA4B,CAAC,CAC7E,GAEMC,IAAcC,GAAa,MAA0B;EACzD,EAAY,OAAOC,EAAM,OAAO,EAAE,CAAC;CACrC,GAAG,CAAC,CAAC,GAECC,IAAYF,GACf,MAAwB;EACvB,EAAY,IAAI;EAChB,IAAM,EAAE,WAAQ,YAASC;EACzB,IAAI,CAACE,KAAQC,EAAO,OAAOD,EAAK,IAAI;EACpC,IAAME,IAAOC,EAAM,QAAQ,OAAOF,EAAO,EAAE,CAAC,GACtCG,IAAKD,EAAM,QAAQ,OAAOH,EAAK,EAAE,CAAC;EACxC,AAAIE,IAAO,KAAKE,IAAK,KACrBC,IAAYC,EAAUH,GAAOD,GAAME,CAAE,CAAC;CACxC,GACA,CAACD,GAAOE,CAAS,CACnB;CAEA,OACE,kBAACE,GAAD;EACE,IAAI,oBAAoBtB;EACf;EACT,oBAAoBuB;EACpB,WAAW,CAACC,CAAsB;EAClC,aAAab;EACb,WAAWG;EACX,oBAAoBX,EAAY,IAAI;EAPtC,UAAA,CASE,kBAACsB,GAAD;GAAwB;GAAO,UAAUC;GACvC,UAAA,kBAAC,MAAD;IACO;IACL,WAAW,CAAC,oBAAoBC,CAAS,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC,KAAK,GAAG;IACnE,GAAI5B;IAEH;GACC,CAAA;EACW,CAAA,GACjB,kBAAC6B,GAAD,EAAA,UACG1B,IACC,kBAAC,OAAD;GAAK,WAAU;GAAmB,gBAAA;GAAlC,UAAA,CACE,kBAAC,QAAD;IAAM,WAAU;IAA2B,eAAY;IACrD,UAAA,kBAACN,GAAD,EAAM,MAAK,gBAAiB,CAAA;GACxB,CAAA,GACN,kBAAC,OAAD;IAAK,WAAU;IAA6B,UAAAiC,IAAoB3B,CAAQ;GAAO,CAAA,CAC5E;EACH,CAAA,IAAA,KACO,CAAA,CACH;;AAEhB,CACF,GAYa4B,IAAmBhC,EAC9B,SAA0B,EAAE,OAAI,UAAO,WAAQ,cAAW,aAAU,GAAGC,KAAQ,GAAK;CAClF,IAAM,EAAE,eAAY,cAAW,eAAY,cAAW,eAAY,kBAAegC,EAAY,EAC3F,MACF,CAAC;CAED,OACE,kBAAC,MAAD;EACE,MAAM,MAAS;GAEb,AADAC,EAAWC,CAAI,GACX,OAAOC,KAAQ,aAAYA,EAAID,CAAI,IAC9BC,MAAK,EAAI,UAAUD;EAC9B;EACA,OAAO;GAAE,WAAWE,EAAI,UAAU,SAASC,CAAS;GAAG;EAAW;EAClE,WAAW,CAAC,oBAAoBT,CAAS,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC,KAAK,GAAG;EACnE,iBAAeU,KAAc,KAAA;EAC7B,GAAItC;EATN,UAAA;GAWE,kBAAC,UAAD;IACE,MAAK;IACL,WAAU;IACV,cAAYuC,IAAQ,QAAQA,MAAU;IACtC,GAAIC;IACJ,GAAIC;IAEJ,UAAA,kBAAC5C,GAAD,EAAM,MAAK,gBAAiB,CAAA;GACtB,CAAA;GACR,kBAAC,OAAD;IAAK,WAAU;IAA6B;GAAc,CAAA;GACzD6C,KAAU,kBAAC,OAAD;IAAK,WAAU;IAA4B,UAAAA;GAAY,CAAA;EAChE;;AAER,CACF"}
1
+ {"version":3,"file":"index.js","names":["Icon","isItem","isValidElement","child","SortableList","forwardRef","rest","dndId","useId","activeId","setActiveId","useState","order","setOrder","items","prevItems","setPrevItems","sensors","useSensors","useSensor","PointerSensor","KeyboardSensor","sortableKeyboardCoordinates","handleStart","useCallback","event","handleEnd","over","active","from","to","next","arrayMove","onReorder","childArray","Children","children","rows","ordered","id","activeRow","DndContext","closestCenter","restrictToVerticalAxis","SortableContext","verticalListSortingStrategy","className","DragOverlay","renderDragOverlay","SortableListItem","useSortable","setNodeRef","node","ref","CSS","transform","isDragging","label","attributes","listeners","action"],"sources":["../../../src/components/SortableList/index.tsx"],"sourcesContent":["import {\n Children,\n forwardRef,\n isValidElement,\n useCallback,\n useId,\n useState,\n type HTMLAttributes,\n type ReactElement,\n type ReactNode,\n} from \"react\";\nimport {\n DndContext,\n DragOverlay,\n KeyboardSensor,\n PointerSensor,\n closestCenter,\n useSensor,\n useSensors,\n type DragEndEvent,\n type DragStartEvent,\n} from \"@dnd-kit/core\";\nimport { restrictToVerticalAxis } from \"@dnd-kit/modifiers\";\nimport {\n SortableContext,\n arrayMove,\n sortableKeyboardCoordinates,\n useSortable,\n verticalListSortingStrategy,\n} from \"@dnd-kit/sortable\";\nimport { CSS } from \"@dnd-kit/utilities\";\nimport { Icon } from \"../Icon\";\nimport \"./style.css\";\n\nexport interface SortableListProps extends Omit<HTMLAttributes<HTMLUListElement>, \"onDragEnd\"> {\n /** Item ids in render order. */\n items: string[];\n /** Fired with the whole list in its new order. Apply it to your own state. */\n onReorder?: (items: string[]) => void;\n /** Rendered inside the drag overlay while a row is in the air. Defaults to the row's content. */\n renderDragOverlay?: (id: string) => ReactNode;\n children?: ReactNode;\n}\n\ntype ItemElement = ReactElement<SortableListItemProps>;\n\nfunction isItem(child: ReactNode): child is ItemElement {\n return isValidElement<SortableListItemProps>(child) && typeof child.props.id === \"string\";\n}\n\n/**\n * A single vertical list you can re-order — the board's mechanics without the\n * lanes. Each row carries a grip on the left. The list keeps the dropped order\n * itself, so it works on its own; pass `onReorder` to mirror it into your data.\n * A new `items` value from the parent always wins.\n */\nexport const SortableList = forwardRef<HTMLUListElement, SortableListProps>(\n function SortableList({ items, onReorder, renderDragOverlay, className, children, ...rest }, ref) {\n const dndId = useId();\n const [activeId, setActiveId] = useState<string | null>(null);\n const [order, setOrder] = useState(items);\n const [prevItems, setPrevItems] = useState(items);\n if (items !== prevItems && items.join(\"\\u0000\") !== prevItems.join(\"\\u0000\")) {\n setPrevItems(items);\n setOrder(items);\n }\n const sensors = useSensors(\n useSensor(PointerSensor, { activationConstraint: { distance: 4 } }),\n useSensor(KeyboardSensor, { coordinateGetter: sortableKeyboardCoordinates }),\n );\n\n const handleStart = useCallback((event: DragStartEvent) => {\n setActiveId(String(event.active.id));\n }, []);\n\n const handleEnd = useCallback(\n (event: DragEndEvent) => {\n setActiveId(null);\n const { active, over } = event;\n if (!over || active.id === over.id) return;\n const from = order.indexOf(String(active.id));\n const to = order.indexOf(String(over.id));\n if (from < 0 || to < 0) return;\n const next = arrayMove(order, from, to);\n setOrder(next);\n onReorder?.(next);\n },\n [order, onReorder],\n );\n\n // Rows follow the list's own order; anything that isn't a row keeps its place at the end.\n const childArray = Children.toArray(children);\n const rows = new Map(childArray.filter(isItem).map((child) => [child.props.id, child]));\n const ordered = [\n ...order.flatMap((id) => rows.get(id) ?? []),\n ...childArray.filter((child) => !isItem(child) || !order.includes(child.props.id)),\n ];\n const activeRow = activeId ? rows.get(activeId) : undefined;\n\n return (\n <DndContext\n id={`ds-sortable-list-${dndId}`}\n sensors={sensors}\n collisionDetection={closestCenter}\n modifiers={[restrictToVerticalAxis]}\n onDragStart={handleStart}\n onDragEnd={handleEnd}\n onDragCancel={() => setActiveId(null)}\n >\n <SortableContext items={order} strategy={verticalListSortingStrategy}>\n <ul\n ref={ref}\n className={[\"ds-sortable-list\", className].filter(Boolean).join(\" \")}\n {...rest}\n >\n {ordered}\n </ul>\n </SortableContext>\n <DragOverlay>\n {activeId ? (\n <div className=\"ds-sortable-item\" data-overlay>\n <span className=\"ds-sortable-item__handle\" aria-hidden=\"true\">\n <Icon name=\"grip-vertical\" />\n </span>\n <div className=\"ds-sortable-item__content\">\n {renderDragOverlay ? renderDragOverlay(activeId) : activeRow?.props.children}\n </div>\n </div>\n ) : null}\n </DragOverlay>\n </DndContext>\n );\n },\n);\n\nexport interface SortableListItemProps extends HTMLAttributes<HTMLLIElement> {\n id: string;\n /** Accessible name announced when the row is picked up. */\n label?: string;\n /** A control at the end of the row, e.g. a menu or a delete button. */\n action?: ReactNode;\n children?: ReactNode;\n}\n\n/** One row of a `SortableList`. The grip on the left is the only handle. */\nexport const SortableListItem = forwardRef<HTMLLIElement, SortableListItemProps>(\n function SortableListItem({ id, label, action, className, children, ...rest }, ref) {\n const { attributes, listeners, setNodeRef, transform, transition, isDragging } = useSortable({\n id,\n });\n\n return (\n <li\n ref={(node) => {\n setNodeRef(node);\n if (typeof ref === \"function\") ref(node);\n else if (ref) ref.current = node;\n }}\n style={{ transform: CSS.Translate.toString(transform), transition }}\n className={[\"ds-sortable-item\", className].filter(Boolean).join(\" \")}\n data-dragging={isDragging || undefined}\n {...rest}\n >\n <button\n type=\"button\"\n className=\"ds-sortable-item__handle\"\n aria-label={label ? `Move ${label}` : \"Move item\"}\n {...attributes}\n {...listeners}\n >\n <Icon name=\"grip-vertical\" />\n </button>\n <div className=\"ds-sortable-item__content\">{children}</div>\n {action && <div className=\"ds-sortable-item__action\">{action}</div>}\n </li>\n );\n },\n);\n"],"mappings":"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"}
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./chunks/Icon-CWsA1W83.cjs"),t=require("./components/Button/index.cjs"),n=require("./components/ButtonGroup/index.cjs"),r=require("./components/RichTextEditor/index.cjs"),i=require("./components/Board/index.cjs"),a=require("./components/SortableList/index.cjs"),o=require("./components/Drawer/index.cjs"),s=require("./components/Badge/index.cjs"),c=require("./components/Avatar/index.cjs"),l=require("./components/Field/index.cjs"),u=require("./components/TextField/index.cjs"),d=require("./components/Grid/index.cjs"),f=require("./components/Choice/index.cjs"),p=require("./components/Table/index.cjs"),m=require("./components/Popover/index.cjs"),h=require("./components/Menu/index.cjs"),g=require("./components/Modal/index.cjs"),_=require("./components/Toast/index.cjs"),v=require("./components/Skeleton/index.cjs"),y=require("./components/SideNav/index.cjs"),b=require("./components/TopNav/index.cjs"),x=require("./components/SubNav/index.cjs"),S=require("./components/SelectionCard/index.cjs"),C=require("./components/Stepper/index.cjs"),w=require("./components/AssetGrid/index.cjs"),T=require("./components/ImageCropper/index.cjs"),E=require("./components/Container/index.cjs"),D=require("./components/Select/index.cjs"),O=require("./components/FieldAffix/index.cjs"),k=require("./components/NumberField/index.cjs"),A=require("./components/Slider/index.cjs"),j=require("./components/Switch/index.cjs"),M=require("./components/SearchField/index.cjs"),N=require("./components/DatePicker/index.cjs"),P=require("./components/TagsInput/index.cjs"),F=require("./components/EntryPicker/index.cjs"),I=require("./components/Time/index.cjs");exports.AssetGrid=w.AssetGrid,exports.AssetGridEmpty=w.AssetGridEmpty,exports.AssetTile=w.AssetTile,exports.AssetTileSkeleton=w.AssetTileSkeleton,exports.Avatar=c.Avatar,exports.AvatarGroup=c.AvatarGroup,exports.Badge=s.Badge,exports.Board=i.Board,exports.BoardCard=i.BoardCard,exports.BoardColumn=i.BoardColumn,exports.Button=t.Button,exports.ButtonGroup=n.ButtonGroup,exports.Calendar=N.Calendar,exports.Checkbox=f.Checkbox,exports.CheckboxCard=S.CheckboxCard,exports.ChoiceGroup=f.ChoiceGroup,exports.Container=E.Container,exports.DateField=N.DateField,exports.DateRangeField=N.DateRangeField,exports.Drawer=o.Drawer,exports.EntryPicker=F.EntryPicker,exports.Field=l.Field,exports.FieldAffix=O.FieldAffix,exports.Grid=d.Grid,exports.GridItem=d.GridItem,exports.Icon=e.t,exports.ImageCropper=T.ImageCropper,exports.Menu=h.Menu,exports.MenuItem=h.MenuItem,exports.MenuLabel=h.MenuLabel,exports.MenuSeparator=h.MenuSeparator,exports.Modal=g.Modal,exports.NumberField=k.NumberField,exports.NumberRangeField=k.NumberRangeField,exports.Popover=m.Popover,exports.Radio=f.Radio,exports.RadioCard=S.RadioCard,exports.RangeSlider=A.RangeSlider,exports.RichTextEditor=r.RichTextEditor,exports.SearchField=M.SearchField,exports.Select=D.Select,exports.SelectionCardGroup=S.SelectionCardGroup,exports.SideNav=y.SideNav,exports.SideNavFooter=y.SideNavFooter,exports.SideNavHeader=y.SideNavHeader,exports.SideNavItem=y.SideNavItem,exports.SideNavSection=y.SideNavSection,exports.Skeleton=v.Skeleton,exports.SkeletonText=v.SkeletonText,exports.Slider=A.Slider,exports.SortableList=a.SortableList,exports.SortableListItem=a.SortableListItem,exports.Stack=d.Stack,exports.Stepper=C.Stepper,exports.SubNav=x.SubNav,exports.SubNavButton=x.SubNavButton,exports.SubNavItem=x.SubNavItem,exports.Switch=j.Switch,exports.Table=p.Table,exports.TableBody=p.TableBody,exports.TableCell=p.TableCell,exports.TableEmpty=p.TableEmpty,exports.TableFrame=p.TableFrame,exports.TableHead=p.TableHead,exports.TableHeaderCell=p.TableHeaderCell,exports.TableRow=p.TableRow,exports.TableToolbar=p.TableToolbar,exports.TagsInput=P.TagsInput,exports.TextArea=u.TextArea,exports.TextField=u.TextField,exports.Time=I.Time,exports.Toast=_.Toast,exports.ToastProvider=_.ToastProvider,exports.TopNav=b.TopNav,exports.TopNavItem=b.TopNavItem,exports.cropRatios=T.cropRatios,exports.cropToBlob=T.cropToBlob,exports.formatAbsoluteDate=I.formatAbsoluteDate,exports.formatAbsoluteTime=I.formatAbsoluteTime,exports.formatIsoDate=N.formatIsoDate,exports.formatRelativeTime=I.formatRelativeTime,exports.iconNames=e.n,exports.icons=e.r,exports.useSideNavCollapsed=y.useSideNavCollapsed,exports.useToast=_.useToast;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./chunks/Icon-CWsA1W83.cjs"),t=require("./components/Button/index.cjs"),n=require("./components/ButtonGroup/index.cjs"),r=require("./chunks/RichTextEditor-tFkISOvq.cjs"),i=require("./components/Badge/index.cjs"),a=require("./components/Modal/index.cjs"),o=require("./components/FieldAffix/index.cjs"),s=require("./components/SearchField/index.cjs"),c=require("./components/SortableList/index.cjs"),l=require("./components/EntryPicker/index.cjs"),u=require("./components/Field/index.cjs"),d=require("./components/NumberField/index.cjs"),f=require("./components/Switch/index.cjs"),p=require("./components/TextField/index.cjs"),m=require("./chunks/EntryEditor-cjDk4vdH.cjs"),h=require("./components/Board/index.cjs"),g=require("./components/Drawer/index.cjs"),_=require("./components/Avatar/index.cjs"),v=require("./components/Grid/index.cjs"),y=require("./components/Choice/index.cjs"),b=require("./components/Table/index.cjs"),x=require("./components/Popover/index.cjs"),S=require("./components/Menu/index.cjs"),C=require("./components/Toast/index.cjs"),w=require("./components/Skeleton/index.cjs"),T=require("./components/SideNav/index.cjs"),E=require("./components/TopNav/index.cjs"),D=require("./components/SubNav/index.cjs"),O=require("./components/SelectionCard/index.cjs"),k=require("./components/Stepper/index.cjs"),A=require("./components/AssetGrid/index.cjs"),j=require("./components/ImageCropper/index.cjs"),M=require("./components/Container/index.cjs"),N=require("./components/Select/index.cjs"),P=require("./components/Slider/index.cjs"),F=require("./components/DatePicker/index.cjs"),I=require("./components/TagsInput/index.cjs"),L=require("./components/Time/index.cjs");exports.AssetGrid=A.AssetGrid,exports.AssetGridEmpty=A.AssetGridEmpty,exports.AssetTile=A.AssetTile,exports.AssetTileSkeleton=A.AssetTileSkeleton,exports.Avatar=_.Avatar,exports.AvatarGroup=_.AvatarGroup,exports.Badge=i.Badge,exports.Board=h.Board,exports.BoardCard=h.BoardCard,exports.BoardColumn=h.BoardColumn,exports.Button=t.Button,exports.ButtonGroup=n.ButtonGroup,exports.Calendar=F.Calendar,exports.Checkbox=y.Checkbox,exports.CheckboxCard=O.CheckboxCard,exports.ChoiceGroup=y.ChoiceGroup,exports.Container=M.Container,exports.DateField=F.DateField,exports.DateRangeField=F.DateRangeField,exports.Drawer=g.Drawer,exports.EntryEditor=m.t,exports.EntryPicker=l.EntryPicker,exports.Field=u.Field,exports.FieldAffix=o.FieldAffix,exports.Grid=v.Grid,exports.GridItem=v.GridItem,exports.Icon=e.t,exports.ImageCropper=j.ImageCropper,exports.Menu=S.Menu,exports.MenuItem=S.MenuItem,exports.MenuLabel=S.MenuLabel,exports.MenuSeparator=S.MenuSeparator,exports.Modal=a.Modal,exports.NumberField=d.NumberField,exports.NumberRangeField=d.NumberRangeField,exports.Popover=x.Popover,exports.Radio=y.Radio,exports.RadioCard=O.RadioCard,exports.RangeSlider=P.RangeSlider,exports.RichTextEditor=r.t,exports.SearchField=s.SearchField,exports.Select=N.Select,exports.SelectionCardGroup=O.SelectionCardGroup,exports.SideNav=T.SideNav,exports.SideNavFooter=T.SideNavFooter,exports.SideNavHeader=T.SideNavHeader,exports.SideNavItem=T.SideNavItem,exports.SideNavSection=T.SideNavSection,exports.Skeleton=w.Skeleton,exports.SkeletonText=w.SkeletonText,exports.Slider=P.Slider,exports.SortableList=c.SortableList,exports.SortableListItem=c.SortableListItem,exports.Stack=v.Stack,exports.Stepper=k.Stepper,exports.SubNav=D.SubNav,exports.SubNavButton=D.SubNavButton,exports.SubNavItem=D.SubNavItem,exports.Switch=f.Switch,exports.Table=b.Table,exports.TableBody=b.TableBody,exports.TableCell=b.TableCell,exports.TableEmpty=b.TableEmpty,exports.TableFrame=b.TableFrame,exports.TableHead=b.TableHead,exports.TableHeaderCell=b.TableHeaderCell,exports.TableRow=b.TableRow,exports.TableToolbar=b.TableToolbar,exports.TagsInput=I.TagsInput,exports.TextArea=p.TextArea,exports.TextField=p.TextField,exports.Time=L.Time,exports.Toast=C.Toast,exports.ToastProvider=C.ToastProvider,exports.TopNav=E.TopNav,exports.TopNavItem=E.TopNavItem,exports.cropRatios=j.cropRatios,exports.cropToBlob=j.cropToBlob,exports.formatAbsoluteDate=L.formatAbsoluteDate,exports.formatAbsoluteTime=L.formatAbsoluteTime,exports.formatIsoDate=F.formatIsoDate,exports.formatRelativeTime=L.formatRelativeTime,exports.iconNames=e.n,exports.icons=e.r,exports.useSideNavCollapsed=T.useSideNavCollapsed,exports.useToast=C.useToast,exports.validateEntryValues=m.n;
package/dist/index.d.cts CHANGED
@@ -3,7 +3,9 @@ export type { ButtonProps, ButtonVariant, ButtonSize } from "./components/Button
3
3
  export { ButtonGroup } from "./components/ButtonGroup/index.cjs";
4
4
  export type { ButtonGroupProps, ButtonGroupOrientation } from "./components/ButtonGroup/index.cjs";
5
5
  export { RichTextEditor } from "./components/RichTextEditor/index.cjs";
6
- export type { RichTextEditorProps, RichTextEditorSize } from "./components/RichTextEditor/index.cjs";
6
+ export type { RichTextEditorProps, RichTextEditorSize, RichTextDocument } from "./components/RichTextEditor/index.cjs";
7
+ export { EntryEditor, validateEntryValues } from "./components/EntryEditor/index.cjs";
8
+ export type { EntryEditorProps, AssetValue, ContentField, ContentModel, EntryErrors, EntryFieldValue, EntryValues, ReferenceValue } from "./components/EntryEditor/index.cjs";
7
9
  export { Board, BoardColumn, BoardCard } from "./components/Board/index.cjs";
8
10
  export type { BoardProps, BoardColumnProps, BoardCardProps, BoardMove, BoardColumnMove } from "./components/Board/index.cjs";
9
11
  export { SortableList, SortableListItem } from "./components/SortableList/index.cjs";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -3,7 +3,9 @@ export type { ButtonProps, ButtonVariant, ButtonSize } from "./components/Button
3
3
  export { ButtonGroup } from "./components/ButtonGroup/index.js";
4
4
  export type { ButtonGroupProps, ButtonGroupOrientation } from "./components/ButtonGroup/index.js";
5
5
  export { RichTextEditor } from "./components/RichTextEditor/index.js";
6
- export type { RichTextEditorProps, RichTextEditorSize } from "./components/RichTextEditor/index.js";
6
+ export type { RichTextEditorProps, RichTextEditorSize, RichTextDocument } from "./components/RichTextEditor/index.js";
7
+ export { EntryEditor, validateEntryValues } from "./components/EntryEditor/index.js";
8
+ export type { EntryEditorProps, AssetValue, ContentField, ContentModel, EntryErrors, EntryFieldValue, EntryValues, ReferenceValue } from "./components/EntryEditor/index.js";
7
9
  export { Board, BoardColumn, BoardCard } from "./components/Board/index.js";
8
10
  export type { BoardProps, BoardColumnProps, BoardCardProps, BoardMove, BoardColumnMove } from "./components/Board/index.js";
9
11
  export { SortableList, SortableListItem } from "./components/SortableList/index.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}