@tachybase/client 0.23.20 → 0.23.35

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 (187) hide show
  1. package/es/application/schema-initializer/components/SchemaInitializerChildren.mjs +1 -1
  2. package/es/built-in/admin-layout/InternalAdminLayout.mjs +4 -2
  3. package/es/built-in/admin-layout/MenuEditor.mjs +2 -2
  4. package/es/built-in/admin-layout/style.d.ts +1 -1
  5. package/es/built-in/admin-layout/style.mjs +4 -4
  6. package/es/built-in/assistant/Assistant.provider.d.ts +0 -6
  7. package/es/built-in/assistant/Assistant.provider.mjs +15 -112
  8. package/es/built-in/assistant/index.d.ts +0 -1
  9. package/es/built-in/assistant/index.mjs +0 -7
  10. package/es/built-in/attachment-preview/previewers/file-pdf.mjs +4 -2
  11. package/es/built-in/context-menu/ContextMenu.provider.d.ts +1 -0
  12. package/es/built-in/context-menu/ContextMenu.provider.mjs +29 -1
  13. package/es/built-in/context-menu/index.mjs +1 -0
  14. package/es/built-in/index.mjs +44 -5
  15. package/es/built-in/page-style/TabHeader.d.ts +1 -1
  16. package/es/built-in/page-style/TabHeader.mjs +26 -33
  17. package/es/built-in/page-style/TabHeader.style.d.ts +4 -0
  18. package/es/built-in/page-style/TabHeader.style.mjs +35 -0
  19. package/es/built-in/pinned-list/PinnedPluginListProvider.d.ts +3 -1
  20. package/es/built-in/pinned-list/PinnedPluginListProvider.mjs +5 -4
  21. package/es/built-in/scroll-assistant/useJoystick.mjs +3 -1
  22. package/es/built-in/setting-layout/SettingLayout.mjs +10 -1
  23. package/es/built-in/{assistant/calculator → setting-layout}/style.d.ts +1 -1
  24. package/es/built-in/setting-layout/style.mjs +25 -0
  25. package/es/collection-manager/action-hooks.d.ts +1 -4
  26. package/es/collection-manager/action-hooks.mjs +39 -11
  27. package/es/icon/preloaded.mjs +4 -4
  28. package/es/modules/actions/associate/AssociateActionInitializer.d.ts +1 -0
  29. package/es/modules/actions/associate/AssociateActionInitializer.mjs +71 -0
  30. package/es/modules/actions/associate/AssociateActionProvider.d.ts +7 -0
  31. package/es/modules/actions/associate/AssociateActionProvider.mjs +82 -0
  32. package/es/modules/actions/associate/AssociateActionSettings.d.ts +2 -0
  33. package/es/modules/actions/associate/AssociateActionSettings.mjs +57 -0
  34. package/es/modules/blocks/data-blocks/details-multi/detailsWithPaginationSettings.mjs +2 -1
  35. package/es/modules/blocks/data-blocks/form/RecordFormBlockInitializer.mjs +21 -14
  36. package/es/modules/blocks/data-blocks/form/createEditFormBlockUISchema.d.ts +1 -2
  37. package/es/modules/blocks/data-blocks/grid-card/gridCardBlockSettings.mjs +2 -1
  38. package/es/modules/blocks/data-blocks/list/listBlockSettings.mjs +2 -1
  39. package/es/modules/blocks/data-blocks/table/TableActionInitializers.mjs +15 -0
  40. package/es/modules/blocks/data-blocks/table/tableBlockSettings.mjs +2 -1
  41. package/es/modules/blocks/data-blocks/table/tableColumnSettings.mjs +2 -2
  42. package/es/modules/blocks/data-blocks/table-selector/tableSelectorBlockSettings.mjs +2 -1
  43. package/es/modules/fields/component/Cascader/cascaderComponentFieldSettings.mjs +2 -1
  44. package/es/modules/fields/component/Radio/radioComponentFieldSettings.mjs +4 -0
  45. package/es/modules/fields/component/Select/selectComponentFieldSettings.mjs +16 -2
  46. package/es/modules/fields/component/SubTable/subTablePopoverComponentFieldSettings.mjs +2 -1
  47. package/es/modules/menu/GroupItem.mjs +5 -1
  48. package/es/modules/menu/LinkMenuItem.mjs +7 -3
  49. package/es/modules/menu/PageMenuItem.mjs +5 -1
  50. package/es/modules/menu/UploadMenuItem.d.ts +1 -0
  51. package/es/modules/menu/UploadMenuItem.mjs +81 -0
  52. package/es/modules/menu/menuItemInitializer.d.ts +0 -4
  53. package/es/modules/menu/menuItemInitializer.mjs +3 -23
  54. package/es/schema-component/antd/action/Action.Designer.mjs +4 -1
  55. package/es/schema-component/antd/association-select/AssociationSelect.mjs +4 -2
  56. package/es/schema-component/antd/checkbox/Checkbox.mjs +11 -6
  57. package/es/schema-component/antd/date-picker/DatePicker.mjs +4 -0
  58. package/es/schema-component/antd/form-item/FormItem.Settings.d.ts +2 -0
  59. package/es/schema-component/antd/form-item/FormItem.Settings.mjs +14 -1
  60. package/es/schema-component/antd/form-v2/Form.Settings.mjs +2 -1
  61. package/es/schema-component/antd/grid-card/GridCard.Designer.mjs +2 -1
  62. package/es/schema-component/antd/list/List.Designer.mjs +2 -1
  63. package/es/schema-component/antd/menu/AdminMenu.d.ts +1 -0
  64. package/es/schema-component/antd/menu/AdminMenu.mjs +71 -0
  65. package/es/schema-component/antd/menu/AdminMenu.style.d.ts +4 -0
  66. package/es/schema-component/antd/menu/AdminMenu.style.mjs +36 -0
  67. package/es/schema-component/antd/menu/Menu.Designer.d.ts +1 -1
  68. package/es/schema-component/antd/menu/Menu.Designer.mjs +59 -40
  69. package/es/schema-component/antd/menu/Menu.mjs +108 -141
  70. package/es/schema-component/antd/menu/Menu.styles.d.ts +1 -2
  71. package/es/schema-component/antd/menu/Menu.styles.mjs +8 -20
  72. package/es/schema-component/antd/menu/MenuSearch.d.ts +5 -0
  73. package/es/schema-component/antd/menu/MenuSearch.mjs +32 -0
  74. package/es/schema-component/antd/menu/tools.d.ts +9 -0
  75. package/es/schema-component/antd/menu/tools.mjs +36 -0
  76. package/es/schema-component/antd/scroll-area/ScrollArea.mjs +0 -17
  77. package/es/schema-component/antd/select/Select.d.ts +3 -13
  78. package/es/schema-component/antd/select/Select.mjs +33 -2
  79. package/es/schema-component/antd/table/Table.Void.Designer.mjs +2 -1
  80. package/es/schema-component/antd/table-v2/TableBlockDesigner.mjs +2 -1
  81. package/es/schema-component/antd/table-v2/TableSelectorDesigner.mjs +2 -1
  82. package/es/schema-component/common/dnd-context/index.d.ts +1 -2
  83. package/es/schema-component/common/sortable-item/DragHandleMenu.d.ts +1 -0
  84. package/es/schema-component/common/sortable-item/DragHandleMenu.mjs +78 -0
  85. package/es/schema-component/common/sortable-item/DragHandleMenu.style.d.ts +3 -0
  86. package/es/schema-component/common/sortable-item/DragHandleMenu.style.mjs +25 -0
  87. package/es/schema-initializer/SchemaInitializerPlugin.mjs +5 -2
  88. package/es/schema-initializer/utils.mjs +24 -12
  89. package/es/schema-settings/GeneralSchemaDesigner.d.ts +2 -1
  90. package/es/schema-settings/GeneralSchemaDesigner.mjs +9 -1
  91. package/es/schema-settings/SchemaSettings.d.ts +3 -1
  92. package/es/schema-settings/SchemaSettings.mjs +16 -4
  93. package/es/schema-settings/SchemaSettingsPlugin.mjs +2 -0
  94. package/es/schema-settings/SchemaSettingsSortingRule.mjs +2 -1
  95. package/es/schema-settings/styles.mjs +2 -2
  96. package/lib/application/schema-initializer/components/SchemaInitializerChildren.js +1 -1
  97. package/lib/built-in/admin-layout/InternalAdminLayout.js +4 -2
  98. package/lib/built-in/admin-layout/MenuEditor.js +2 -2
  99. package/lib/built-in/admin-layout/style.js +4 -4
  100. package/lib/built-in/assistant/Assistant.provider.js +16 -115
  101. package/lib/built-in/assistant/index.js +3 -16
  102. package/lib/built-in/attachment-preview/previewers/file-pdf.js +4 -2
  103. package/lib/built-in/context-menu/ContextMenu.provider.js +29 -0
  104. package/lib/built-in/context-menu/index.js +1 -0
  105. package/lib/built-in/index.js +44 -5
  106. package/lib/built-in/page-style/TabHeader.js +26 -33
  107. package/lib/built-in/page-style/TabHeader.style.js +69 -0
  108. package/lib/built-in/pinned-list/PinnedPluginListProvider.js +5 -4
  109. package/lib/built-in/scroll-assistant/useJoystick.js +17 -1
  110. package/lib/built-in/setting-layout/SettingLayout.js +10 -1
  111. package/lib/built-in/{assistant/calculator/CalculatorKey.js → setting-layout/style.js} +25 -11
  112. package/lib/collection-manager/action-hooks.js +39 -11
  113. package/lib/icon/preloaded.js +4 -4
  114. package/lib/locale/en_US.js +8 -0
  115. package/lib/locale/zh-CN.js +8 -0
  116. package/lib/modules/actions/associate/AssociateActionInitializer.js +105 -0
  117. package/lib/modules/actions/associate/AssociateActionProvider.js +116 -0
  118. package/lib/modules/actions/associate/AssociateActionSettings.js +91 -0
  119. package/lib/modules/blocks/data-blocks/details-multi/detailsWithPaginationSettings.js +2 -1
  120. package/lib/modules/blocks/data-blocks/form/RecordFormBlockInitializer.js +21 -14
  121. package/lib/modules/blocks/data-blocks/grid-card/gridCardBlockSettings.js +2 -1
  122. package/lib/modules/blocks/data-blocks/list/listBlockSettings.js +2 -1
  123. package/lib/modules/blocks/data-blocks/table/TableActionInitializers.js +15 -0
  124. package/lib/modules/blocks/data-blocks/table/tableBlockSettings.js +2 -1
  125. package/lib/modules/blocks/data-blocks/table/tableColumnSettings.js +2 -2
  126. package/lib/modules/blocks/data-blocks/table-selector/tableSelectorBlockSettings.js +2 -1
  127. package/lib/modules/fields/component/Cascader/cascaderComponentFieldSettings.js +2 -1
  128. package/lib/modules/fields/component/Radio/radioComponentFieldSettings.js +4 -0
  129. package/lib/modules/fields/component/Select/selectComponentFieldSettings.js +16 -2
  130. package/lib/modules/fields/component/SubTable/subTablePopoverComponentFieldSettings.js +2 -1
  131. package/lib/modules/menu/GroupItem.js +5 -1
  132. package/lib/modules/menu/LinkMenuItem.js +7 -3
  133. package/lib/modules/menu/PageMenuItem.js +5 -1
  134. package/lib/modules/menu/UploadMenuItem.js +115 -0
  135. package/lib/modules/menu/menuItemInitializer.js +2 -23
  136. package/lib/schema-component/antd/action/Action.Designer.js +4 -1
  137. package/lib/schema-component/antd/association-select/AssociationSelect.js +4 -2
  138. package/lib/schema-component/antd/checkbox/Checkbox.js +11 -6
  139. package/lib/schema-component/antd/date-picker/DatePicker.js +4 -0
  140. package/lib/schema-component/antd/form-item/FormItem.Settings.js +16 -1
  141. package/lib/schema-component/antd/form-v2/Form.Settings.js +2 -1
  142. package/lib/schema-component/antd/grid-card/GridCard.Designer.js +2 -1
  143. package/lib/schema-component/antd/list/List.Designer.js +2 -1
  144. package/lib/schema-component/antd/menu/AdminMenu.js +105 -0
  145. package/lib/schema-component/antd/menu/AdminMenu.style.js +70 -0
  146. package/lib/schema-component/antd/menu/Menu.Designer.js +59 -40
  147. package/lib/schema-component/antd/menu/Menu.js +108 -141
  148. package/lib/schema-component/antd/menu/Menu.styles.js +8 -20
  149. package/lib/schema-component/antd/menu/MenuSearch.js +80 -0
  150. package/lib/schema-component/antd/menu/tools.js +72 -0
  151. package/lib/schema-component/antd/scroll-area/ScrollArea.js +0 -17
  152. package/lib/schema-component/antd/select/Select.js +33 -2
  153. package/lib/schema-component/antd/table/Table.Void.Designer.js +2 -1
  154. package/lib/schema-component/antd/table-v2/TableBlockDesigner.js +2 -1
  155. package/lib/schema-component/antd/table-v2/TableSelectorDesigner.js +2 -1
  156. package/lib/schema-component/common/sortable-item/DragHandleMenu.js +112 -0
  157. package/lib/schema-component/common/sortable-item/DragHandleMenu.style.js +59 -0
  158. package/lib/schema-initializer/SchemaInitializerPlugin.js +5 -2
  159. package/lib/schema-initializer/utils.js +24 -12
  160. package/lib/schema-settings/GeneralSchemaDesigner.js +9 -1
  161. package/lib/schema-settings/SchemaSettings.js +16 -4
  162. package/lib/schema-settings/SchemaSettingsPlugin.js +2 -0
  163. package/lib/schema-settings/SchemaSettingsSortingRule.js +2 -1
  164. package/lib/schema-settings/styles.js +2 -2
  165. package/package.json +8 -7
  166. package/es/built-in/assistant/calculator/AutoScalingText.d.ts +0 -3
  167. package/es/built-in/assistant/calculator/AutoScalingText.mjs +0 -33
  168. package/es/built-in/assistant/calculator/Calculator.d.ts +0 -2
  169. package/es/built-in/assistant/calculator/Calculator.mjs +0 -235
  170. package/es/built-in/assistant/calculator/CalculatorDisplay.d.ts +0 -4
  171. package/es/built-in/assistant/calculator/CalculatorDisplay.mjs +0 -21
  172. package/es/built-in/assistant/calculator/CalculatorKey.d.ts +0 -5
  173. package/es/built-in/assistant/calculator/CalculatorKey.mjs +0 -11
  174. package/es/built-in/assistant/calculator/CalculatorProvider.d.ts +0 -10
  175. package/es/built-in/assistant/calculator/CalculatorProvider.mjs +0 -29
  176. package/es/built-in/assistant/calculator/Draggable.d.ts +0 -8
  177. package/es/built-in/assistant/calculator/Draggable.mjs +0 -54
  178. package/es/built-in/assistant/calculator/style.mjs +0 -25
  179. package/es/built-in/assistant/search-and-jump/index.d.ts +0 -16
  180. package/es/built-in/assistant/search-and-jump/index.mjs +0 -59
  181. package/lib/built-in/assistant/calculator/AutoScalingText.js +0 -67
  182. package/lib/built-in/assistant/calculator/Calculator.js +0 -283
  183. package/lib/built-in/assistant/calculator/CalculatorDisplay.js +0 -55
  184. package/lib/built-in/assistant/calculator/CalculatorProvider.js +0 -65
  185. package/lib/built-in/assistant/calculator/Draggable.js +0 -102
  186. package/lib/built-in/assistant/calculator/style.js +0 -59
  187. package/lib/built-in/assistant/search-and-jump/index.js +0 -96
@@ -1,5 +1,4 @@
1
1
  import * as __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__ from "react/jsx-runtime";
2
- import "react";
3
2
  import * as __WEBPACK_EXTERNAL_MODULE__tachybase_components__ from "@tachybase/components";
4
3
  import * as __WEBPACK_EXTERNAL_MODULE__tachybase_schema__ from "@tachybase/schema";
5
4
  import * as __WEBPACK_EXTERNAL_MODULE_antd__ from "antd";
@@ -32,14 +31,10 @@ const findMenuSchema = (fieldSchema)=>{
32
31
  parent = parent.parent;
33
32
  }
34
33
  };
35
- const InsertMenuItems = (props)=>{
36
- const { eventKey, title, insertPosition } = props;
34
+ const InsertMenuItemsGroup = ()=>{
37
35
  const { t } = (0, __WEBPACK_EXTERNAL_MODULE_react_i18next__.useTranslation)();
38
36
  const { dn } = (0, __WEBPACK_EXTERNAL_MODULE__index_mjs__.useDesignable)();
39
- const fieldSchema = (0, __WEBPACK_EXTERNAL_MODULE__tachybase_schema__.useFieldSchema)();
40
- const isSubMenu = 'Menu.SubMenu' === fieldSchema['x-component'];
41
37
  const api = (0, __WEBPACK_EXTERNAL_MODULE__index_mjs__.useAPIClient)();
42
- if (!isSubMenu && 'beforeEnd' === insertPosition) return null;
43
38
  const serverHooks = [
44
39
  {
45
40
  type: 'onSelfCreate',
@@ -50,23 +45,25 @@ const InsertMenuItems = (props)=>{
50
45
  method: 'extractTextToLocale'
51
46
  }
52
47
  ];
53
- return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsxs)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.SchemaSettingsSubMenu, {
54
- eventKey: eventKey,
55
- title: title,
48
+ const insertPosition = 'beforeEnd';
49
+ return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsxs)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.SchemaSettingsItemGroup, {
56
50
  children: [
57
51
  /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.SchemaSettingsModalItem, {
58
52
  eventKey: "".concat(insertPosition, "group"),
59
- title: t('Submenu'),
53
+ icon: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.Icon, {
54
+ type: 'FolderAddOutlined'
55
+ }),
56
+ title: t('Create group'),
60
57
  schema: {
61
58
  type: 'object',
62
- title: t('Add group'),
59
+ title: t('Create group'),
63
60
  properties: {
64
61
  title: {
65
62
  'x-decorator': 'FormItem',
66
63
  'x-component': 'Input',
64
+ 'x-component-props': {},
67
65
  title: t('Menu item title'),
68
- required: true,
69
- 'x-component-props': {}
66
+ required: true
70
67
  },
71
68
  icon: {
72
69
  title: t('Icon'),
@@ -91,10 +88,13 @@ const InsertMenuItems = (props)=>{
91
88
  }),
92
89
  /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.SchemaSettingsModalItem, {
93
90
  eventKey: "".concat(insertPosition, "page"),
94
- title: t('Page'),
91
+ icon: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.Icon, {
92
+ type: 'FileOutlined'
93
+ }),
94
+ title: t('Create page'),
95
95
  schema: {
96
96
  type: 'object',
97
- title: t('Add page'),
97
+ title: t('Create page'),
98
98
  properties: {
99
99
  title: {
100
100
  'x-decorator': 'FormItem',
@@ -141,10 +141,13 @@ const InsertMenuItems = (props)=>{
141
141
  }),
142
142
  /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.SchemaSettingsModalItem, {
143
143
  eventKey: "".concat(insertPosition, "link"),
144
- title: t('Link'),
144
+ icon: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.Icon, {
145
+ type: 'GlobalOutlined'
146
+ }),
147
+ title: t('Create link'),
145
148
  schema: {
146
149
  type: 'object',
147
- title: t('Add link'),
150
+ title: t('Create link'),
148
151
  properties: {
149
152
  title: {
150
153
  title: t('Menu item title'),
@@ -182,10 +185,13 @@ const InsertMenuItems = (props)=>{
182
185
  /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.SchemaSettingsDivider, {}),
183
186
  /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.SchemaSettingsModalItem, {
184
187
  eventKey: "".concat(insertPosition, "restore"),
185
- title: t('Load'),
188
+ icon: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.Icon, {
189
+ type: 'UploadOutlined'
190
+ }),
191
+ title: t('Load menu config'),
186
192
  schema: {
187
193
  type: 'object',
188
- title: t('Load'),
194
+ title: t('Load menu config'),
189
195
  properties: {
190
196
  title: {
191
197
  'x-decorator': 'FormItem',
@@ -194,6 +200,13 @@ const InsertMenuItems = (props)=>{
194
200
  required: true,
195
201
  'x-component-props': {}
196
202
  },
203
+ bindMenuToRole: {
204
+ type: 'boolean',
205
+ title: '{{ t("Automatically assign permissions to all matching roles") }}',
206
+ 'x-decorator': 'FormItem',
207
+ 'x-component': 'Checkbox',
208
+ default: true
209
+ },
197
210
  file: {
198
211
  type: 'object',
199
212
  title: '{{ t("File") }}',
@@ -208,12 +221,19 @@ const InsertMenuItems = (props)=>{
208
221
  }
209
222
  },
210
223
  onSubmit: async (param)=>{
211
- let { title, file } = param;
224
+ let { title, file, bindMenuToRole } = param;
212
225
  const { data } = await api.request({
213
226
  url: file.url,
214
227
  baseURL: '/'
215
228
  });
216
229
  const s = null != data ? data : {};
230
+ if (bindMenuToRole) {
231
+ const hooks = data['x-server-hooks'];
232
+ if (!hooks.some((v)=>'onSelfCreate' === v.type && 'bindMenuToRole' === v.method)) hooks.push({
233
+ type: 'onSelfCreate',
234
+ method: 'bindMenuToRole'
235
+ });
236
+ }
217
237
  s.title = title;
218
238
  dn.insertAdjacent(insertPosition, s);
219
239
  }
@@ -221,7 +241,8 @@ const InsertMenuItems = (props)=>{
221
241
  ]
222
242
  });
223
243
  };
224
- const MenuDesigner = ()=>{
244
+ const MenuDesigner = (props)=>{
245
+ const { isAdminMenu } = props;
225
246
  const field = (0, __WEBPACK_EXTERNAL_MODULE__tachybase_schema__.useField)();
226
247
  const fieldSchema = (0, __WEBPACK_EXTERNAL_MODULE__tachybase_schema__.useFieldSchema)();
227
248
  const api = (0, __WEBPACK_EXTERNAL_MODULE__index_mjs__.useAPIClient)();
@@ -274,8 +295,8 @@ const MenuDesigner = ()=>{
274
295
  },
275
296
  icon: {
276
297
  title: t('Menu item icon'),
277
- 'x-component': 'IconPicker',
278
- 'x-decorator': 'FormItem'
298
+ 'x-decorator': 'FormItem',
299
+ 'x-component': 'IconPicker'
279
300
  }
280
301
  }
281
302
  };
@@ -283,6 +304,8 @@ const MenuDesigner = ()=>{
283
304
  title: field.title,
284
305
  icon: field.componentProps.icon
285
306
  };
307
+ const isSubMenu = 'Menu.SubMenu' === fieldSchema['x-component'];
308
+ const hiddenAddMenu = isAdminMenu || !isSubMenu;
286
309
  if ('Menu.URL' === fieldSchema['x-component']) {
287
310
  schema.properties['href'] = {
288
311
  title: t('Link'),
@@ -292,10 +315,15 @@ const MenuDesigner = ()=>{
292
315
  initialValues['href'] = field.componentProps.href;
293
316
  }
294
317
  return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsxs)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.GeneralSchemaDesigner, {
318
+ draggable: false,
319
+ AddMenuModalComponent: !hiddenAddMenu && /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(InsertMenuItemsGroup, {}),
295
320
  children: [
296
321
  /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.SchemaSettingsModalItem, {
297
- title: t('Edit'),
322
+ title: t('Modify the name and icon'),
298
323
  eventKey: "edit",
324
+ icon: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.Icon, {
325
+ type: 'FormOutlined'
326
+ }),
299
327
  schema: schema,
300
328
  initialValues: initialValues,
301
329
  onSubmit: (param)=>{
@@ -336,6 +364,9 @@ const MenuDesigner = ()=>{
336
364
  TreeSelect: __WEBPACK_EXTERNAL_MODULE__tachybase_components__.TreeSelect
337
365
  },
338
366
  effects: effects,
367
+ icon: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.Icon, {
368
+ type: 'DragOutlined'
369
+ }),
339
370
  schema: {
340
371
  type: 'object',
341
372
  title: t('Move to'),
@@ -384,24 +415,11 @@ const MenuDesigner = ()=>{
384
415
  }
385
416
  }),
386
417
  /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.SchemaSettingsDivider, {}),
387
- /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(InsertMenuItems, {
388
- eventKey: 'insertbeforeBegin',
389
- title: t('Insert before'),
390
- insertPosition: 'beforeBegin'
391
- }),
392
- /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(InsertMenuItems, {
393
- eventKey: 'insertafterEnd',
394
- title: t('Insert after'),
395
- insertPosition: 'afterEnd'
396
- }),
397
- /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(InsertMenuItems, {
398
- eventKey: 'insertbeforeEnd',
399
- title: t('Insert inner'),
400
- insertPosition: 'beforeEnd'
401
- }),
402
- /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.SchemaSettingsDivider, {}),
403
418
  /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.SchemaSettingsItem, {
404
419
  title: t('Dump'),
420
+ icon: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.Icon, {
421
+ type: 'DownloadOutlined'
422
+ }),
405
423
  onClick: async ()=>{
406
424
  const deleteUid = (s)=>{
407
425
  delete s['name'];
@@ -425,6 +443,7 @@ const MenuDesigner = ()=>{
425
443
  }
426
444
  }),
427
445
  /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.SchemaSettingsRemove, {
446
+ icon: "DeleteOutlined",
428
447
  confirm: {
429
448
  title: t('Delete menu item')
430
449
  }
@@ -2,16 +2,20 @@ import * as __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__ from "react/jsx-runtim
2
2
  import * as __WEBPACK_EXTERNAL_MODULE_react__ from "react";
3
3
  import * as __WEBPACK_EXTERNAL_MODULE__tachybase_schema__ from "@tachybase/schema";
4
4
  import * as __WEBPACK_EXTERNAL_MODULE__tachybase_utils_client__ from "@tachybase/utils/client";
5
+ import * as __WEBPACK_EXTERNAL_MODULE__dnd_kit_core__ from "@dnd-kit/core";
5
6
  import * as __WEBPACK_EXTERNAL_MODULE_antd__ from "antd";
6
7
  import * as __WEBPACK_EXTERNAL_MODULE_react_dom__ from "react-dom";
7
- import * as __WEBPACK_EXTERNAL_MODULE_react_i18next__ from "react-i18next";
8
8
  import * as __WEBPACK_EXTERNAL_MODULE__index_mjs__ from "../../index.mjs";
9
9
  import * as __WEBPACK_EXTERNAL_MODULE__index_mjs__ from "../../../index.mjs";
10
10
  import * as __WEBPACK_EXTERNAL_MODULE__hooks_useMenuItem_mjs__ from "../../../hooks/useMenuItem.mjs";
11
+ import * as __WEBPACK_EXTERNAL_MODULE__common_sortable_item_DragHandleMenu_mjs__ from "../../common/sortable-item/DragHandleMenu.mjs";
11
12
  import * as __WEBPACK_EXTERNAL_MODULE__hooks_useProps_mjs__ from "../../hooks/useProps.mjs";
13
+ import * as __WEBPACK_EXTERNAL_MODULE__AdminMenu_mjs__ from "./AdminMenu.mjs";
12
14
  import * as __WEBPACK_EXTERNAL_MODULE__locale_mjs__ from "./locale.mjs";
13
15
  import * as __WEBPACK_EXTERNAL_MODULE__Menu_Designer_mjs__ from "./Menu.Designer.mjs";
14
16
  import * as __WEBPACK_EXTERNAL_MODULE__Menu_styles_mjs__ from "./Menu.styles.mjs";
17
+ import * as __WEBPACK_EXTERNAL_MODULE__MenuSearch_mjs__ from "./MenuSearch.mjs";
18
+ import * as __WEBPACK_EXTERNAL_MODULE__tools_mjs__ from "./tools.mjs";
15
19
  import * as __WEBPACK_EXTERNAL_MODULE__util_mjs__ from "./util.mjs";
16
20
  function _tagged_template_literal(strings, raw) {
17
21
  if (!raw) raw = strings.slice(0);
@@ -30,31 +34,12 @@ function _templateObject() {
30
34
  };
31
35
  return data;
32
36
  }
33
- function _templateObject1() {
34
- const data = _tagged_template_literal([
35
- "\n border: none;\n max-width: 21rem;\n "
36
- ]);
37
- _templateObject1 = function() {
38
- return data;
39
- };
40
- return data;
41
- }
42
- function _templateObject2() {
43
- const data = _tagged_template_literal([
44
- "\n display: block;\n color: inherit;\n &:hover {\n color: inherit;\n }\n "
45
- ]);
46
- _templateObject2 = function() {
47
- return data;
48
- };
49
- return data;
50
- }
51
37
  const HeaderMenu = (param)=>{
52
38
  let { others, schema, mode, onSelect, setLoading, setDefaultSelectedKeys, defaultSelectedKeys, defaultOpenKeys, selectedKeys, designable, render, children } = param;
53
39
  const { Component, getMenuItems } = (0, __WEBPACK_EXTERNAL_MODULE__hooks_useMenuItem_mjs__.useMenuItem)();
54
40
  const { token } = (0, __WEBPACK_EXTERNAL_MODULE__index_mjs__.useToken)();
41
+ const { styles } = (0, __WEBPACK_EXTERNAL_MODULE__Menu_styles_mjs__.useStyles)();
55
42
  const [items, setItems] = (0, __WEBPACK_EXTERNAL_MODULE_react__.useState)([]);
56
- const { t } = (0, __WEBPACK_EXTERNAL_MODULE_react_i18next__.useTranslation)();
57
- const { styles: itemStyle } = (0, __WEBPACK_EXTERNAL_MODULE__Menu_styles_mjs__.useStyles)();
58
43
  const result = getMenuItems(()=>children);
59
44
  (0, __WEBPACK_EXTERNAL_MODULE_react__.useEffect)(()=>{
60
45
  setItems(getItem());
@@ -118,9 +103,7 @@ const HeaderMenu = (param)=>{
118
103
  });
119
104
  };
120
105
  return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsxs)("div", {
121
- style: {
122
- display: 'flex'
123
- },
106
+ className: styles.headerMenuClass,
124
107
  children: [
125
108
  /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)("div", {
126
109
  style: {
@@ -133,74 +116,13 @@ const HeaderMenu = (param)=>{
133
116
  /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE_antd__.Popover, {
134
117
  placement: "bottomRight",
135
118
  arrow: false,
136
- content: ()=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE_antd__.Card, {
137
- className: (0, __WEBPACK_EXTERNAL_MODULE__index_mjs__.css)(_templateObject1()),
138
- children: null == items ? void 0 : items.map((item)=>{
139
- const { icon, field, Designer, schema, styles } = (null == item ? void 0 : item.menu) || {};
140
- return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE_antd__.Card.Grid, {
141
- style: {
142
- display: 'block',
143
- color: 'inherit',
144
- padding: token.marginSM,
145
- boxShadow: 'none',
146
- width: '7rem',
147
- height: '5rem'
148
- },
149
- className: itemStyle.menuItem,
150
- onClick: ()=>{
151
- onClick(item);
152
- },
153
- children: item.menu ? /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__tachybase_schema__.SchemaContext.Provider, {
154
- value: schema,
155
- children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__tachybase_schema__.FieldContext.Provider, {
156
- value: field,
157
- children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsxs)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.SortableItem, {
158
- role: "button",
159
- "aria-label": t(field.title),
160
- className: styles.designerCss,
161
- removeParentsIfNoChildren: false,
162
- style: {
163
- position: 'revert'
164
- },
165
- children: [
166
- /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsxs)("a", {
167
- role: "button",
168
- "aria-label": t(field.title),
169
- title: t(field.title),
170
- className: (0, __WEBPACK_EXTERNAL_MODULE__index_mjs__.css)(_templateObject2()),
171
- children: [
172
- /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)("div", {
173
- style: {
174
- fontSize: '1.2rem',
175
- textAlign: 'center',
176
- marginBottom: '0.3rem'
177
- },
178
- children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.Icon, {
179
- type: icon || 'QuestionCircleOutlined'
180
- })
181
- }),
182
- /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)("div", {
183
- style: {
184
- textAlign: 'center',
185
- whiteSpace: 'nowrap',
186
- overflow: 'hidden',
187
- textOverflow: 'ellipsis',
188
- fontSize: token.fontSizeSM
189
- },
190
- children: t(field.title)
191
- })
192
- ]
193
- }),
194
- /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(Designer, {})
195
- ]
196
- })
197
- })
198
- }) : /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.Fragment, {
199
- children: item.label
200
- })
201
- }, item.key);
202
- })
203
- }),
119
+ overlayInnerStyle: {
120
+ padding: 0
121
+ },
122
+ content: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__AdminMenu_mjs__.AdminMenu, {
123
+ items: items,
124
+ onClick: onClick
125
+ }),
204
126
  children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE_antd__.Button, {
205
127
  className: "iconButton",
206
128
  icon: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.Icon, {
@@ -224,11 +146,26 @@ const SideMenu = (param)=>{
224
146
  const { styles } = (0, __WEBPACK_EXTERNAL_MODULE__Menu_styles_mjs__.useStyles)();
225
147
  const sideMenuSchemaRef = (0, __WEBPACK_EXTERNAL_MODULE_react__.useRef)(sideMenuSchema);
226
148
  sideMenuSchemaRef.current = sideMenuSchema;
149
+ const [searchMenuTitle, setSearchMenuTitle] = (0, __WEBPACK_EXTERNAL_MODULE_react__.useState)('');
227
150
  const items = (0, __WEBPACK_EXTERNAL_MODULE_react__.useMemo)(()=>{
151
+ let newSideMenuSchema = sideMenuSchema;
152
+ if (searchMenuTitle) newSideMenuSchema = (0, __WEBPACK_EXTERNAL_MODULE__tools_mjs__.getNewSideMenuSchema)(sideMenuSchema, searchMenuTitle);
228
153
  const result = getMenuItems(()=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__tachybase_schema__.RecursionField, {
229
- schema: sideMenuSchema,
154
+ schema: newSideMenuSchema,
230
155
  onlyRenderProperties: true
231
156
  }, (0, __WEBPACK_EXTERNAL_MODULE__tachybase_schema__.uid)()));
157
+ if (designable) {
158
+ const searchMenu = {
159
+ key: 'x-menu-search',
160
+ disabled: true,
161
+ label: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__MenuSearch_mjs__.MenuSearch, {
162
+ setSearchMenuTitle: setSearchMenuTitle
163
+ }),
164
+ order: -10,
165
+ notdelete: true
166
+ };
167
+ result.push(searchMenu);
168
+ }
232
169
  if (designable) result.push({
233
170
  key: 'x-designer-button',
234
171
  disabled: true,
@@ -245,7 +182,7 @@ const SideMenu = (param)=>{
245
182
  dn.insertAdjacent('beforeEnd', s);
246
183
  }
247
184
  }),
248
- order: 1,
185
+ order: -1,
249
186
  notdelete: true
250
187
  });
251
188
  return result;
@@ -256,7 +193,8 @@ const SideMenu = (param)=>{
256
193
  render,
257
194
  t,
258
195
  api,
259
- refresh
196
+ refresh,
197
+ searchMenuTitle
260
198
  ]);
261
199
  if (loading) return null;
262
200
  return 'mix' === mode && (null == sideMenuSchema ? void 0 : sideMenuSchema['x-component']) === 'Menu.SubMenu' && (null == sideMenuRef ? void 0 : null === (_sideMenuRef_current = sideMenuRef.current) || void 0 === _sideMenuRef_current ? void 0 : _sideMenuRef_current.firstChild) && /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_dom__.createPortal)(/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsxs)(MenuModeContext.Provider, {
@@ -271,7 +209,8 @@ const SideMenu = (param)=>{
271
209
  null == onSelect || onSelect(info);
272
210
  },
273
211
  className: styles.sideMenuClass,
274
- items: items
212
+ items: items,
213
+ expandIcon: null
275
214
  })
276
215
  ]
277
216
  }), sideMenuRef.current.firstChild);
@@ -290,11 +229,11 @@ const MenuItemDesignerContext = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_reac
290
229
  MenuItemDesignerContext.displayName = 'MenuItemDesignerContext';
291
230
  const Menu = (0, __WEBPACK_EXTERNAL_MODULE__tachybase_schema__.observer)((props)=>{
292
231
  const { onSelect, mode, selectedUid, defaultSelectedUid, sideMenuRefScopeKey, defaultSelectedKeys: dSelectedKeys, defaultOpenKeys: dOpenKeys, children, ...others } = (0, __WEBPACK_EXTERNAL_MODULE__hooks_useProps_mjs__.useProps)(props);
293
- const { t } = (0, __WEBPACK_EXTERNAL_MODULE_react_i18next__.useTranslation)();
294
- const Designer = (0, __WEBPACK_EXTERNAL_MODULE__index_mjs__.useDesigner)();
295
- const schema = (0, __WEBPACK_EXTERNAL_MODULE__tachybase_schema__.useFieldSchema)();
232
+ const { t } = (0, __WEBPACK_EXTERNAL_MODULE__index_mjs__.useTranslation)();
296
233
  const { refresh } = (0, __WEBPACK_EXTERNAL_MODULE__index_mjs__.useDesignable)();
297
234
  const api = (0, __WEBPACK_EXTERNAL_MODULE__index_mjs__.useAPIClient)();
235
+ const Designer = (0, __WEBPACK_EXTERNAL_MODULE__index_mjs__.useDesigner)();
236
+ const schema = (0, __WEBPACK_EXTERNAL_MODULE__tachybase_schema__.useFieldSchema)();
298
237
  const { render } = (0, __WEBPACK_EXTERNAL_MODULE__index_mjs__.useSchemaInitializerRender)(schema['x-initializer'], schema['x-initializer-props']);
299
238
  const sideMenuRef = useSideMenuRef();
300
239
  const [selectedKeys, setSelectedKeys] = (0, __WEBPACK_EXTERNAL_MODULE_react__.useState)();
@@ -311,6 +250,13 @@ const Menu = (0, __WEBPACK_EXTERNAL_MODULE__tachybase_schema__.observer)((props)
311
250
  ].includes(mode)) return dOpenKeys || defaultSelectedKeys;
312
251
  return dOpenKeys;
313
252
  });
253
+ const sensors = (0, __WEBPACK_EXTERNAL_MODULE__dnd_kit_core__.useSensors)((0, __WEBPACK_EXTERNAL_MODULE__dnd_kit_core__.useSensor)(__WEBPACK_EXTERNAL_MODULE__dnd_kit_core__.PointerSensor, {
254
+ activationConstraint: {
255
+ distance: 1,
256
+ delay: 300,
257
+ tolerance: 5
258
+ }
259
+ }));
314
260
  const sideMenuSchema = (0, __WEBPACK_EXTERNAL_MODULE_react__.useMemo)(()=>{
315
261
  let key;
316
262
  if (selectedUid) {
@@ -353,6 +299,7 @@ const Menu = (0, __WEBPACK_EXTERNAL_MODULE__tachybase_schema__.observer)((props)
353
299
  ]);
354
300
  const { designable } = (0, __WEBPACK_EXTERNAL_MODULE__index_mjs__.useDesignable)();
355
301
  return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.DndContext, {
302
+ sensors: sensors,
356
303
  children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(MenuItemDesignerContext.Provider, {
357
304
  value: Designer,
358
305
  children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsxs)(MenuModeContext.Provider, {
@@ -418,27 +365,28 @@ Menu.Item = (0, __WEBPACK_EXTERNAL_MODULE__tachybase_schema__.observer)((props)=
418
365
  value: schema,
419
366
  children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__tachybase_schema__.FieldContext.Provider, {
420
367
  value: field,
421
- children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsxs)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.SortableItem, {
368
+ children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.SortableItem, {
422
369
  role: "button",
423
370
  "aria-label": t(field.title),
424
371
  className: styles.designerCss,
425
372
  removeParentsIfNoChildren: false,
426
- children: [
427
- /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.Icon, {
428
- type: icon
429
- }),
430
- /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)("span", {
431
- style: {
432
- overflow: 'hidden',
433
- textOverflow: 'ellipsis',
434
- display: 'inline-block',
435
- width: '100%',
436
- verticalAlign: 'middle'
437
- },
438
- children: t(field.title)
439
- }),
440
- /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(Designer, {})
441
- ]
373
+ children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsxs)(__WEBPACK_EXTERNAL_MODULE__common_sortable_item_DragHandleMenu_mjs__.DragHandleMenu, {
374
+ children: [
375
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsxs)("span", {
376
+ className: 'menuitem-title-wrapper',
377
+ children: [
378
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.Icon, {
379
+ type: icon
380
+ }),
381
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)("span", {
382
+ className: 'menuitem-title',
383
+ children: t(field.title)
384
+ })
385
+ ]
386
+ }),
387
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(Designer, {})
388
+ ]
389
+ })
442
390
  })
443
391
  })
444
392
  })
@@ -489,26 +437,33 @@ Menu.URL = (0, __WEBPACK_EXTERNAL_MODULE__tachybase_schema__.observer)((props)=>
489
437
  value: schema,
490
438
  children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__tachybase_schema__.FieldContext.Provider, {
491
439
  value: field,
492
- children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsxs)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.SortableItem, {
440
+ children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.SortableItem, {
493
441
  className: styles.designerCss,
494
442
  removeParentsIfNoChildren: false,
495
443
  "aria-label": t(field.title),
496
- children: [
497
- /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.Icon, {
498
- type: icon
499
- }),
500
- /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)("span", {
501
- style: {
502
- overflow: 'hidden',
503
- textOverflow: 'ellipsis',
504
- display: 'inline-block',
505
- width: '100%',
506
- verticalAlign: 'middle'
507
- },
508
- children: t(field.title)
509
- }),
510
- /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(Designer, {})
511
- ]
444
+ children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsxs)(__WEBPACK_EXTERNAL_MODULE__common_sortable_item_DragHandleMenu_mjs__.DragHandleMenu, {
445
+ children: [
446
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsxs)("span", {
447
+ className: 'menuitem-title-wrapper',
448
+ children: [
449
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.Icon, {
450
+ type: icon
451
+ }),
452
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)("span", {
453
+ style: {
454
+ overflow: 'hidden',
455
+ textOverflow: 'ellipsis',
456
+ display: 'inline-block',
457
+ width: '100%',
458
+ verticalAlign: 'middle'
459
+ },
460
+ children: t(field.title)
461
+ })
462
+ ]
463
+ }),
464
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(Designer, {})
465
+ ]
466
+ })
512
467
  })
513
468
  })
514
469
  })
@@ -550,17 +505,29 @@ Menu.SubMenu = (0, __WEBPACK_EXTERNAL_MODULE__tachybase_schema__.observer)((prop
550
505
  value: schema,
551
506
  children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__tachybase_schema__.FieldContext.Provider, {
552
507
  value: field,
553
- children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsxs)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.SortableItem, {
508
+ children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.SortableItem, {
554
509
  className: styles.subMenuDesignerCss,
555
510
  removeParentsIfNoChildren: false,
556
511
  "aria-label": t(field.title),
557
- children: [
558
- /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.Icon, {
559
- type: icon
560
- }),
561
- t(field.title),
562
- /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(Designer, {})
563
- ]
512
+ children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsxs)(__WEBPACK_EXTERNAL_MODULE__common_sortable_item_DragHandleMenu_mjs__.DragHandleMenu, {
513
+ name: schema.name,
514
+ isSubMenu: true,
515
+ children: [
516
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsxs)("span", {
517
+ className: 'submenu-title',
518
+ children: [
519
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(__WEBPACK_EXTERNAL_MODULE__index_mjs__.Icon, {
520
+ type: icon
521
+ }),
522
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)("span", {
523
+ className: 'menuitem-title',
524
+ children: t(field.title)
525
+ })
526
+ ]
527
+ }),
528
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx)(Designer, {})
529
+ ]
530
+ })
564
531
  })
565
532
  })
566
533
  }),
@@ -1,8 +1,7 @@
1
1
  export declare const useStyles: (props?: unknown) => import("antd-style").ReturnStyles<{
2
2
  subMenuDesignerCss: import("antd-style").SerializedStyles;
3
3
  designerCss: import("antd-style").SerializedStyles;
4
- headerMenuClass: import("antd-style").SerializedStyles;
5
4
  sideMenuClass: import("antd-style").SerializedStyles;
6
5
  menuItemClass: import("antd-style").SerializedStyles;
7
- menuItem: import("antd-style").SerializedStyles;
6
+ headerMenuClass: import("antd-style").SerializedStyles;
8
7
  }>;