lkb-fields-document 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (112) hide show
  1. package/component-blocks/dist/lkb-fields-document-component-blocks.cjs.d.ts +2 -0
  2. package/component-blocks/dist/lkb-fields-document-component-blocks.cjs.js +306 -0
  3. package/component-blocks/dist/lkb-fields-document-component-blocks.esm.js +300 -0
  4. package/component-blocks/dist/lkb-fields-document-component-blocks.node.cjs.js +306 -0
  5. package/component-blocks/dist/lkb-fields-document-component-blocks.node.esm.js +300 -0
  6. package/component-blocks/package.json +4 -0
  7. package/dist/Cell-0ac0ac66.node.cjs.js +21 -0
  8. package/dist/Cell-242f7404.esm.js +17 -0
  9. package/dist/Cell-3103f73d.node.esm.js +17 -0
  10. package/dist/Cell-bfb56d74.cjs.js +21 -0
  11. package/dist/Field-0e0f75ed.node.cjs.js +1628 -0
  12. package/dist/Field-28177061.cjs.js +1628 -0
  13. package/dist/Field-35b79e6b.node.esm.js +1619 -0
  14. package/dist/Field-92d13205.esm.js +1619 -0
  15. package/dist/api-2f524611.esm.js +502 -0
  16. package/dist/api-73636987.cjs.js +506 -0
  17. package/dist/api-8e2b20b8.node.cjs.js +506 -0
  18. package/dist/api-c32e360e.node.esm.js +502 -0
  19. package/dist/callout-ui-2aded278.cjs.js +131 -0
  20. package/dist/callout-ui-3e5ca544.node.esm.js +126 -0
  21. package/dist/callout-ui-8b5f2376.esm.js +126 -0
  22. package/dist/callout-ui-ad50f301.node.cjs.js +131 -0
  23. package/dist/declarations/src/component-blocks.d.ts +4 -0
  24. package/dist/declarations/src/component-blocks.d.ts.map +1 -0
  25. package/dist/declarations/src/document-editor/component-blocks/api.d.ts +120 -0
  26. package/dist/declarations/src/document-editor/component-blocks/api.d.ts.map +1 -0
  27. package/dist/declarations/src/document-editor/component-blocks/types.d.ts +241 -0
  28. package/dist/declarations/src/document-editor/component-blocks/types.d.ts.map +1 -0
  29. package/dist/declarations/src/document-editor/toolset/relationship/relationship-shared.d.ts +10 -0
  30. package/dist/declarations/src/document-editor/toolset/relationship/relationship-shared.d.ts.map +1 -0
  31. package/dist/declarations/src/index.d.ts +7 -0
  32. package/dist/declarations/src/index.d.ts.map +1 -0
  33. package/dist/declarations/src/my-component-blocks/index.d.ts +46 -0
  34. package/dist/declarations/src/my-component-blocks/index.d.ts.map +1 -0
  35. package/dist/declarations/src/structure/Cell.d.ts +5 -0
  36. package/dist/declarations/src/structure/Cell.d.ts.map +1 -0
  37. package/dist/declarations/src/structure/Field.d.ts +5 -0
  38. package/dist/declarations/src/structure/Field.d.ts.map +1 -0
  39. package/dist/declarations/src/structure/controller.d.ts +10 -0
  40. package/dist/declarations/src/structure/controller.d.ts.map +1 -0
  41. package/dist/declarations/src/structure/structure.d.ts +4 -0
  42. package/dist/declarations/src/structure/structure.d.ts.map +1 -0
  43. package/dist/declarations/src/structure-views.d.ts +5 -0
  44. package/dist/declarations/src/structure-views.d.ts.map +1 -0
  45. package/dist/declarations/src/types/DocumentFeatures.d.ts +33 -0
  46. package/dist/declarations/src/types/DocumentFeatures.d.ts.map +1 -0
  47. package/dist/declarations/src/types/DocumentFieldConfig.d.ts +18 -0
  48. package/dist/declarations/src/types/DocumentFieldConfig.d.ts.map +1 -0
  49. package/dist/declarations/src/types/FormattingConfig.d.ts +28 -0
  50. package/dist/declarations/src/types/FormattingConfig.d.ts.map +1 -0
  51. package/dist/declarations/src/types/RelationshipsConfig.d.ts +9 -0
  52. package/dist/declarations/src/types/RelationshipsConfig.d.ts.map +1 -0
  53. package/dist/declarations/src/types/StructureFieldConfig.d.ts +10 -0
  54. package/dist/declarations/src/types/StructureFieldConfig.d.ts.map +1 -0
  55. package/dist/declarations/src/validation/structure-validation.d.ts +218 -0
  56. package/dist/declarations/src/validation/structure-validation.d.ts.map +1 -0
  57. package/dist/declarations/src/views/Cell.d.ts +5 -0
  58. package/dist/declarations/src/views/Cell.d.ts.map +1 -0
  59. package/dist/declarations/src/views/Field.d.ts +5 -0
  60. package/dist/declarations/src/views/Field.d.ts.map +1 -0
  61. package/dist/declarations/src/views/controller.d.ts +15 -0
  62. package/dist/declarations/src/views/controller.d.ts.map +1 -0
  63. package/dist/declarations/src/views/document.d.ts +4 -0
  64. package/dist/declarations/src/views/document.d.ts.map +1 -0
  65. package/dist/declarations/src/views.d.ts +7 -0
  66. package/dist/declarations/src/views.d.ts.map +1 -0
  67. package/dist/editor-shared-a6e340e6.node.esm.js +1993 -0
  68. package/dist/editor-shared-a997ae98.node.cjs.js +2007 -0
  69. package/dist/editor-shared-cc1293ed.cjs.js +2007 -0
  70. package/dist/editor-shared-da518ba3.esm.js +1993 -0
  71. package/dist/form-from-preview-2042b9ef.cjs.js +512 -0
  72. package/dist/form-from-preview-5df6e492.node.esm.js +508 -0
  73. package/dist/form-from-preview-9e501058.node.cjs.js +512 -0
  74. package/dist/form-from-preview-b3a66f37.esm.js +508 -0
  75. package/dist/index-06c36775.cjs.js +14 -0
  76. package/dist/index-586adb8f.node.esm.js +11 -0
  77. package/dist/index-67d52357.esm.js +11 -0
  78. package/dist/index-c3223fdc.node.cjs.js +14 -0
  79. package/dist/layouts-6412fa2a.esm.js +189 -0
  80. package/dist/layouts-a4a3cf0b.node.cjs.js +196 -0
  81. package/dist/layouts-ba9a558b.cjs.js +196 -0
  82. package/dist/layouts-e653b908.node.esm.js +189 -0
  83. package/dist/lkb-fields-document.cjs.d.ts +2 -0
  84. package/dist/lkb-fields-document.cjs.js +1167 -0
  85. package/dist/lkb-fields-document.esm.js +1162 -0
  86. package/dist/lkb-fields-document.node.cjs.js +1167 -0
  87. package/dist/lkb-fields-document.node.esm.js +1162 -0
  88. package/dist/shared-0533009e.cjs.js +594 -0
  89. package/dist/shared-4684cc24.node.cjs.js +594 -0
  90. package/dist/shared-5e864055.node.esm.js +579 -0
  91. package/dist/shared-aaba5901.esm.js +579 -0
  92. package/dist/toolbar-state-3359e2f3.cjs.js +994 -0
  93. package/dist/toolbar-state-945823b8.node.esm.js +971 -0
  94. package/dist/toolbar-state-9611743f.node.cjs.js +994 -0
  95. package/dist/toolbar-state-bc8fe661.esm.js +971 -0
  96. package/dist/utils-06bcddc4.node.cjs.js +747 -0
  97. package/dist/utils-200ff260.node.esm.js +722 -0
  98. package/dist/utils-6409f730.cjs.js +747 -0
  99. package/dist/utils-bc6a0b82.esm.js +722 -0
  100. package/package.json +118 -0
  101. package/structure-views/dist/lkb-fields-document-structure-views.cjs.d.ts +2 -0
  102. package/structure-views/dist/lkb-fields-document-structure-views.cjs.js +138 -0
  103. package/structure-views/dist/lkb-fields-document-structure-views.esm.js +131 -0
  104. package/structure-views/dist/lkb-fields-document-structure-views.node.cjs.js +138 -0
  105. package/structure-views/dist/lkb-fields-document-structure-views.node.esm.js +131 -0
  106. package/structure-views/package.json +4 -0
  107. package/views/dist/lkb-fields-document-views.cjs.d.ts +2 -0
  108. package/views/dist/lkb-fields-document-views.cjs.js +114 -0
  109. package/views/dist/lkb-fields-document-views.esm.js +95 -0
  110. package/views/dist/lkb-fields-document-views.node.cjs.js +114 -0
  111. package/views/dist/lkb-fields-document-views.node.esm.js +95 -0
  112. package/views/package.json +4 -0
@@ -0,0 +1,189 @@
1
+ 'use client';
2
+ import { createContext, useContext, useMemo } from 'react';
3
+ import { Transforms } from 'slate';
4
+ import { useSlateStatic, ReactEditor } from 'slate-react';
5
+ import { Icon } from '@keystar/ui/icon';
6
+ import { columnsIcon } from '@keystar/ui/icon/icons/columnsIcon';
7
+ import { trash2Icon } from '@keystar/ui/icon/icons/trash2Icon';
8
+ import { j as isElementActive } from './utils-200ff260.node.esm.js';
9
+ import { j as blockElementSpacing, B as BlockPopoverTrigger, c as BlockPopover, d as useToolbarState } from './toolbar-state-945823b8.node.esm.js';
10
+ import { i as insertLayout } from './shared-5e864055.node.esm.js';
11
+ import { css, tokenSchema } from '@keystar/ui/style';
12
+ import { ActionGroup } from '@keystar/ui/action-group';
13
+ import { ActionButton } from '@keystar/ui/button';
14
+ import { Flex } from '@keystar/ui/layout';
15
+ import { Item } from '@keystar/ui/tag';
16
+ import { TooltipTrigger, Tooltip } from '@keystar/ui/tooltip';
17
+ import { EditorToolbarButton } from '@keystar/ui/editor';
18
+ import { jsx, jsxs } from 'react/jsx-runtime';
19
+ import '@keystar/ui/typography';
20
+ import './api-c32e360e.node.esm.js';
21
+ import 'lkb-core';
22
+ import '@keystar/ui/drag-and-drop';
23
+ import './index-586adb8f.node.esm.js';
24
+ import '@braintree/sanitize-url';
25
+ import '@react-aria/i18n';
26
+ import '@keystar/ui/number-field';
27
+ import '@keystar/ui/picker';
28
+ import '@keystar/ui/combobox';
29
+ import '@keystar/ui/text-field';
30
+ import '@keystar/ui/checkbox';
31
+ import './form-from-preview-5df6e492.node.esm.js';
32
+ import 'lkb-core/admin-ui/context';
33
+ import 'lkb-core/fields/types/relationship/views';
34
+ import 'lkb-core/admin-ui/utils';
35
+ import '@keystar/ui/dialog';
36
+ import '@keystar/ui/field';
37
+ import '@keystar/ui/list-view';
38
+ import '@keystar/ui/slots';
39
+ import '@keystar/ui/icon/icons/trashIcon';
40
+ import '@react-aria/overlays';
41
+ import '@react-aria/utils';
42
+ import '@react-stately/overlays';
43
+ import '@keystar/ui/overlays';
44
+ import '@emotion/weak-memoize';
45
+ import './layouts-e653b908.node.esm.js';
46
+
47
+ const LayoutOptionsContext = /*#__PURE__*/createContext([]);
48
+ const LayoutOptionsProvider = LayoutOptionsContext.Provider;
49
+
50
+ // UI Components
51
+ const LayoutContainer = ({
52
+ attributes,
53
+ children,
54
+ element
55
+ }) => {
56
+ const editor = useSlateStatic();
57
+ const layout = element.layout;
58
+ const layoutOptions = useContext(LayoutOptionsContext);
59
+ const currentLayoutIndex = layoutOptions.findIndex(x => x.toString() === layout.toString());
60
+ return /*#__PURE__*/jsx("div", {
61
+ className: blockElementSpacing,
62
+ ...attributes,
63
+ children: /*#__PURE__*/jsxs(BlockPopoverTrigger, {
64
+ element: element,
65
+ children: [/*#__PURE__*/jsx("div", {
66
+ className: css({
67
+ columnGap: tokenSchema.size.space.regular,
68
+ display: 'grid'
69
+ }),
70
+ style: {
71
+ gridTemplateColumns: layout.map(x => `${x}fr`).join(' ')
72
+ },
73
+ children: children
74
+ }), /*#__PURE__*/jsx(BlockPopover, {
75
+ children: /*#__PURE__*/jsxs(Flex, {
76
+ padding: "regular",
77
+ gap: "regular",
78
+ children: [/*#__PURE__*/jsx(ActionGroup, {
79
+ selectionMode: "single",
80
+ prominence: "low",
81
+ density: "compact",
82
+ onAction: key => {
83
+ const path = ReactEditor.findPath(editor, element);
84
+ const layoutOption = layoutOptions[key];
85
+ Transforms.setNodes(editor, {
86
+ type: 'layout',
87
+ layout: layoutOption
88
+ }, {
89
+ at: path
90
+ });
91
+ ReactEditor.focus(editor);
92
+ },
93
+ selectedKeys: currentLayoutIndex !== -1 ? [currentLayoutIndex.toString()] : [],
94
+ children: layoutOptions.map((layoutOption, i) => /*#__PURE__*/jsx(Item, {
95
+ children: makeLayoutIcon(layoutOption)
96
+ }, i))
97
+ }), /*#__PURE__*/jsxs(TooltipTrigger, {
98
+ children: [/*#__PURE__*/jsx(ActionButton, {
99
+ prominence: "low",
100
+ onPress: () => {
101
+ const path = ReactEditor.findPath(editor, element);
102
+ Transforms.removeNodes(editor, {
103
+ at: path
104
+ });
105
+ },
106
+ children: /*#__PURE__*/jsx(Icon, {
107
+ src: trash2Icon
108
+ })
109
+ }), /*#__PURE__*/jsx(Tooltip, {
110
+ tone: "critical",
111
+ children: "\u5220\u9664"
112
+ })]
113
+ })]
114
+ })
115
+ })]
116
+ })
117
+ });
118
+ };
119
+ const LayoutArea = ({
120
+ attributes,
121
+ children
122
+ }) => {
123
+ return /*#__PURE__*/jsx("div", {
124
+ className: css({
125
+ borderColor: tokenSchema.color.border.neutral,
126
+ borderRadius: tokenSchema.size.radius.regular,
127
+ borderStyle: 'dashed',
128
+ borderWidth: tokenSchema.size.border.regular,
129
+ padding: tokenSchema.size.space.medium
130
+ }),
131
+ ...attributes,
132
+ children: children
133
+ });
134
+ };
135
+ function makeLayoutIcon(ratios) {
136
+ const size = 16;
137
+ const element = /*#__PURE__*/jsx("div", {
138
+ role: "img",
139
+ className: css({
140
+ display: 'grid',
141
+ gridTemplateColumns: ratios.map(r => `${r}fr`).join(' '),
142
+ gap: 2,
143
+ width: size,
144
+ height: size
145
+ }),
146
+ children: ratios.map((_, i) => {
147
+ return /*#__PURE__*/jsx("div", {
148
+ className: css({
149
+ backgroundColor: 'currentcolor',
150
+ borderRadius: 1
151
+ })
152
+ }, i);
153
+ })
154
+ });
155
+ return element;
156
+ }
157
+ const layoutsIcon = /*#__PURE__*/jsx(Icon, {
158
+ src: columnsIcon
159
+ });
160
+ const LayoutsButton = ({
161
+ layouts
162
+ }) => {
163
+ const {
164
+ editor,
165
+ layouts: {
166
+ isSelected
167
+ }
168
+ } = useToolbarState();
169
+ return useMemo(() => /*#__PURE__*/jsxs(TooltipTrigger, {
170
+ children: [/*#__PURE__*/jsx(EditorToolbarButton, {
171
+ isSelected: isSelected,
172
+ onPress: () => {
173
+ if (isElementActive(editor, 'layout')) {
174
+ Transforms.unwrapNodes(editor, {
175
+ match: node => node.type === 'layout'
176
+ });
177
+ } else {
178
+ insertLayout(editor, layouts[0]);
179
+ }
180
+ ReactEditor.focus(editor);
181
+ },
182
+ children: layoutsIcon
183
+ }), /*#__PURE__*/jsx(Tooltip, {
184
+ children: "\u5E03\u5C40"
185
+ })]
186
+ }), [editor, isSelected, layouts]);
187
+ };
188
+
189
+ export { LayoutArea, LayoutContainer, LayoutOptionsProvider, LayoutsButton };
@@ -0,0 +1,2 @@
1
+ export * from "./declarations/src/index.js";
2
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGtiLWZpZWxkcy1kb2N1bWVudC5janMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4vZGVjbGFyYXRpb25zL3NyYy9pbmRleC5kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBIn0=