@hywax/cms 0.0.23 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (182) hide show
  1. package/.nuxt/cms/editor/index.ts +0 -2
  2. package/.nuxt/cms/form-panel-section.ts +2 -2
  3. package/.nuxt/cms/index.ts +8 -21
  4. package/.nuxt/cms/table-search-input.ts +6 -0
  5. package/dist/module.json +3 -3
  6. package/dist/module.mjs +78 -203
  7. package/dist/runtime/components/AutocompleteSelect.d.vue.ts +56 -0
  8. package/dist/runtime/components/AutocompleteSelect.vue +131 -77
  9. package/dist/runtime/components/AutocompleteSelect.vue.d.ts +43 -29
  10. package/dist/runtime/components/{ButtonDelete.vue.d.ts → ButtonDeleteConfirm.d.vue.ts} +4 -3
  11. package/dist/runtime/components/{ButtonDelete.vue → ButtonDeleteConfirm.vue} +1 -1
  12. package/dist/runtime/components/ButtonDeleteConfirm.vue.d.ts +36 -0
  13. package/dist/runtime/components/DatePicker.d.vue.ts +43 -0
  14. package/dist/runtime/components/DatePicker.vue +232 -0
  15. package/dist/runtime/components/DatePicker.vue.d.ts +43 -0
  16. package/dist/runtime/components/EditorFull.d.vue.ts +13 -0
  17. package/dist/runtime/components/EditorFull.vue +127 -0
  18. package/dist/runtime/components/EditorFull.vue.d.ts +13 -0
  19. package/dist/runtime/components/EditorLinkPopover.d.vue.ts +8 -0
  20. package/dist/runtime/components/EditorLinkPopover.vue +137 -0
  21. package/dist/runtime/components/EditorLinkPopover.vue.d.ts +8 -0
  22. package/dist/runtime/components/FormPanel.d.vue.ts +47 -0
  23. package/dist/runtime/components/FormPanel.vue +10 -7
  24. package/dist/runtime/components/FormPanel.vue.d.ts +21 -15
  25. package/dist/runtime/components/FormPanelAsideSection.d.vue.ts +24 -0
  26. package/dist/runtime/components/FormPanelAsideSection.vue.d.ts +2 -1
  27. package/dist/runtime/components/FormPanelSection.d.vue.ts +21 -0
  28. package/dist/runtime/components/FormPanelSection.vue +2 -2
  29. package/dist/runtime/components/FormPanelSection.vue.d.ts +3 -2
  30. package/dist/runtime/components/Layout.d.vue.ts +27 -0
  31. package/dist/runtime/components/Layout.vue +79 -0
  32. package/dist/runtime/components/Layout.vue.d.ts +27 -0
  33. package/dist/runtime/components/ModalConfirm.d.vue.ts +33 -0
  34. package/dist/runtime/components/ModalConfirm.vue.d.ts +3 -2
  35. package/dist/runtime/components/TableColumnSorting.d.vue.ts +17 -0
  36. package/dist/runtime/components/{TablePanelColumnSorting.vue → TableColumnSorting.vue} +27 -18
  37. package/dist/runtime/components/TableColumnSorting.vue.d.ts +17 -0
  38. package/dist/runtime/components/TableColumnVisibility.d.vue.ts +24 -0
  39. package/dist/runtime/components/TableColumnVisibility.vue +111 -0
  40. package/dist/runtime/components/TableColumnVisibility.vue.d.ts +24 -0
  41. package/dist/runtime/components/TableFilters.d.vue.ts +90 -0
  42. package/dist/runtime/components/TableFilters.vue +198 -0
  43. package/dist/runtime/components/TableFilters.vue.d.ts +90 -0
  44. package/dist/runtime/components/TablePanel.d.vue.ts +95 -0
  45. package/dist/runtime/components/TablePanel.vue +207 -66
  46. package/dist/runtime/components/TablePanel.vue.d.ts +76 -31
  47. package/dist/runtime/components/TableSearchInput.d.vue.ts +33 -0
  48. package/dist/runtime/components/TableSearchInput.vue +96 -0
  49. package/dist/runtime/components/TableSearchInput.vue.d.ts +33 -0
  50. package/dist/runtime/components/UploraImage.d.vue.ts +35 -0
  51. package/dist/runtime/components/UploraImage.vue.d.ts +3 -2
  52. package/dist/runtime/components/prose/UploraImage.d.vue.ts +14 -0
  53. package/dist/runtime/components/prose/UploraImage.vue.d.ts +2 -1
  54. package/dist/runtime/composables/useAdmin.d.ts +1 -1
  55. package/dist/runtime/composables/useAdmin.js +2 -1
  56. package/dist/runtime/composables/useApi.d.ts +1 -1
  57. package/dist/runtime/composables/useAsyncHandler.d.ts +1 -1
  58. package/dist/runtime/composables/useAsyncHandler.js +1 -1
  59. package/dist/runtime/composables/useEditorDragHandle.d.ts +16 -0
  60. package/dist/runtime/composables/useEditorDragHandle.js +95 -0
  61. package/dist/runtime/composables/useEditorSuggestions.d.ts +68 -0
  62. package/dist/runtime/composables/useEditorSuggestions.js +24 -0
  63. package/dist/runtime/composables/useEditorToolbar.d.ts +120 -0
  64. package/dist/runtime/composables/useEditorToolbar.js +87 -0
  65. package/dist/runtime/composables/useFormState.d.ts +12 -0
  66. package/dist/runtime/composables/useFormState.js +33 -0
  67. package/dist/runtime/composables/useLogout.d.ts +1 -1
  68. package/dist/runtime/composables/useLogout.js +3 -1
  69. package/dist/runtime/composables/useNotification.d.ts +12 -0
  70. package/dist/runtime/composables/useNotification.js +46 -0
  71. package/dist/runtime/composables/useQueryState.d.ts +28 -0
  72. package/dist/runtime/composables/useQueryState.js +105 -0
  73. package/dist/runtime/composables/useRouteQuery.d.ts +37 -0
  74. package/dist/runtime/composables/useRouteQuery.js +81 -0
  75. package/dist/runtime/composables/useRowSelection.d.ts +8 -0
  76. package/dist/runtime/composables/useRowSelection.js +46 -0
  77. package/dist/runtime/composables/useTable.d.ts +17 -11
  78. package/dist/runtime/composables/useTable.js +47 -53
  79. package/dist/runtime/composables/useUplora.d.ts +1 -1
  80. package/dist/runtime/composables/useUplora.js +2 -1
  81. package/dist/runtime/index.css +1 -1
  82. package/dist/runtime/plugins/zod.d.ts +2 -0
  83. package/dist/runtime/plugins/zod.js +26 -0
  84. package/dist/runtime/server/api/uplora/[id].delete.d.ts +1 -5
  85. package/dist/runtime/tv.d.ts +1 -1
  86. package/dist/runtime/types/date.d.ts +5 -0
  87. package/dist/runtime/types/index.d.ts +3 -21
  88. package/dist/runtime/types/index.js +1 -21
  89. package/dist/runtime/types/utils.d.ts +7 -0
  90. package/dist/runtime/utils/date.d.ts +9 -0
  91. package/dist/runtime/utils/date.js +28 -0
  92. package/dist/runtime/utils/formatters.d.ts +2 -0
  93. package/dist/runtime/utils/formatters.js +8 -0
  94. package/dist/runtime/utils/index.d.ts +5 -2
  95. package/dist/runtime/utils/index.js +5 -2
  96. package/dist/runtime/utils/storage.d.ts +2 -0
  97. package/dist/runtime/utils/storage.js +10 -0
  98. package/dist/runtime/utils/table.d.ts +23 -0
  99. package/dist/runtime/utils/table.js +51 -0
  100. package/package.json +26 -25
  101. package/.nuxt/cms/button-clear.ts +0 -5
  102. package/.nuxt/cms/button-copy.ts +0 -5
  103. package/.nuxt/cms/button-delete.ts +0 -5
  104. package/.nuxt/cms/editor/callout.ts +0 -21
  105. package/.nuxt/cms/editor/uplora-image.ts +0 -5
  106. package/.nuxt/cms/editor-content-full.ts +0 -13
  107. package/.nuxt/cms/editor-content-light.ts +0 -13
  108. package/.nuxt/cms/input-seo.ts +0 -5
  109. package/.nuxt/cms/input-slug.ts +0 -5
  110. package/.nuxt/cms/input-uplora-image.ts +0 -22
  111. package/.nuxt/cms/table-cell-preview.ts +0 -9
  112. package/.nuxt/cms/table-cell-seo.ts +0 -5
  113. package/.nuxt/cms/table-cell-user.ts +0 -9
  114. package/.nuxt/cms/table-panel-column-sorting.ts +0 -5
  115. package/.nuxt/cms/table-panel-column-visibility.ts +0 -5
  116. package/.nuxt/cms/table-panel-filters.ts +0 -5
  117. package/dist/runtime/components/ButtonClear.vue +0 -35
  118. package/dist/runtime/components/ButtonClear.vue.d.ts +0 -35
  119. package/dist/runtime/components/ButtonCopy.vue +0 -40
  120. package/dist/runtime/components/ButtonCopy.vue.d.ts +0 -23
  121. package/dist/runtime/components/EditorContentFull.vue +0 -67
  122. package/dist/runtime/components/EditorContentFull.vue.d.ts +0 -23
  123. package/dist/runtime/components/EditorContentLight.vue +0 -60
  124. package/dist/runtime/components/EditorContentLight.vue.d.ts +0 -23
  125. package/dist/runtime/components/InputSeo.vue +0 -73
  126. package/dist/runtime/components/InputSeo.vue.d.ts +0 -19
  127. package/dist/runtime/components/InputSlug.vue +0 -70
  128. package/dist/runtime/components/InputSlug.vue.d.ts +0 -29
  129. package/dist/runtime/components/InputUploraImage.vue +0 -156
  130. package/dist/runtime/components/InputUploraImage.vue.d.ts +0 -38
  131. package/dist/runtime/components/TableCellPreview.vue +0 -41
  132. package/dist/runtime/components/TableCellPreview.vue.d.ts +0 -18
  133. package/dist/runtime/components/TableCellSeo.vue +0 -34
  134. package/dist/runtime/components/TableCellSeo.vue.d.ts +0 -13
  135. package/dist/runtime/components/TableCellUser.vue +0 -40
  136. package/dist/runtime/components/TableCellUser.vue.d.ts +0 -18
  137. package/dist/runtime/components/TablePanelColumnSorting.vue.d.ts +0 -20
  138. package/dist/runtime/components/TablePanelColumnVisibility.vue +0 -49
  139. package/dist/runtime/components/TablePanelColumnVisibility.vue.d.ts +0 -20
  140. package/dist/runtime/components/TablePanelFilters.vue +0 -79
  141. package/dist/runtime/components/TablePanelFilters.vue.d.ts +0 -34
  142. package/dist/runtime/composables/useDeleteConfirm.d.ts +0 -15
  143. package/dist/runtime/composables/useDeleteConfirm.js +0 -27
  144. package/dist/runtime/composables/useSeoStats.d.ts +0 -12
  145. package/dist/runtime/composables/useSeoStats.js +0 -44
  146. package/dist/runtime/editor/components/BlockMenu.vue +0 -43
  147. package/dist/runtime/editor/components/BlockMenu.vue.d.ts +0 -2
  148. package/dist/runtime/editor/components/SlashCommand.vue +0 -92
  149. package/dist/runtime/editor/components/SlashCommand.vue.d.ts +0 -7
  150. package/dist/runtime/editor/components/TooltipLink.vue +0 -81
  151. package/dist/runtime/editor/components/TooltipLink.vue.d.ts +0 -9
  152. package/dist/runtime/editor/components/TooltipMenu.vue +0 -75
  153. package/dist/runtime/editor/components/TooltipMenu.vue.d.ts +0 -9
  154. package/dist/runtime/editor/extensions/callout/CalloutView.vue +0 -85
  155. package/dist/runtime/editor/extensions/callout/CalloutView.vue.d.ts +0 -7
  156. package/dist/runtime/editor/extensions/callout/extension.d.ts +0 -13
  157. package/dist/runtime/editor/extensions/callout/extension.js +0 -48
  158. package/dist/runtime/editor/extensions/callout/index.d.ts +0 -2
  159. package/dist/runtime/editor/extensions/callout/index.js +0 -2
  160. package/dist/runtime/editor/extensions/callout/types.d.ts +0 -3
  161. package/dist/runtime/editor/extensions/index.d.ts +0 -26
  162. package/dist/runtime/editor/extensions/index.js +0 -85
  163. package/dist/runtime/editor/extensions/uplora-image/UploraImageView.vue +0 -29
  164. package/dist/runtime/editor/extensions/uplora-image/UploraImageView.vue.d.ts +0 -7
  165. package/dist/runtime/editor/extensions/uplora-image/extension.d.ts +0 -13
  166. package/dist/runtime/editor/extensions/uplora-image/extension.js +0 -60
  167. package/dist/runtime/editor/extensions/uplora-image/index.d.ts +0 -2
  168. package/dist/runtime/editor/extensions/uplora-image/index.js +0 -2
  169. package/dist/runtime/editor/extensions/uplora-image/types.d.ts +0 -5
  170. package/dist/runtime/editor/extensions/uplora-image/types.js +0 -0
  171. package/dist/runtime/editor/markdown/index.d.ts +0 -3
  172. package/dist/runtime/editor/markdown/index.js +0 -47
  173. package/dist/runtime/editor/markdown/nodes/callout.d.ts +0 -2
  174. package/dist/runtime/editor/markdown/nodes/callout.js +0 -21
  175. package/dist/runtime/editor/markdown/nodes/uploraImage.d.ts +0 -2
  176. package/dist/runtime/editor/markdown/nodes/uploraImage.js +0 -31
  177. package/dist/runtime/utils/dictionaries.d.ts +0 -4
  178. package/dist/runtime/utils/dictionaries.js +0 -6
  179. /package/.nuxt/cms/{autocomplete-select.ts → button-delete-confirm.ts} +0 -0
  180. /package/dist/runtime/{editor/extensions/callout/types.js → types/date.js} +0 -0
  181. /package/dist/runtime/utils/{image.d.ts → uplora.d.ts} +0 -0
  182. /package/dist/runtime/utils/{image.js → uplora.js} +0 -0
@@ -1,2 +0,0 @@
1
- export { default as callout } from './callout'
2
- export { default as uploraImage } from './uplora-image'
@@ -1,8 +1,8 @@
1
1
  export default {
2
2
  "slots": {
3
3
  "root": "",
4
- "title": "text-base text-pretty font-semibold text-highlighted",
4
+ "title": "text-base text-pretty font-semibold text-highlighted mb-2",
5
5
  "description": "text-[15px] text-pretty text-muted mt-1",
6
- "body": "relative rounded-lg bg-elevated/50 ring ring-default grid gap-x-8 gap-y-4 p-4 sm:p-6 mt-4"
6
+ "body": "relative rounded-lg bg-elevated/50 ring ring-default grid gap-x-8 gap-y-4 p-4 sm:p-6"
7
7
  }
8
8
  }
@@ -1,21 +1,8 @@
1
- export { default as autocompleteSelect } from './autocomplete-select'
2
- export { default as buttonClear } from './button-clear'
3
- export { default as buttonCopy } from './button-copy'
4
- export { default as buttonDelete } from './button-delete'
5
- export { default as editorContentFull } from './editor-content-full'
6
- export { default as editorContentLight } from './editor-content-light'
7
- export { default as formPanel } from './form-panel'
8
- export { default as formPanelAsideSection } from './form-panel-aside-section'
9
- export { default as formPanelSection } from './form-panel-section'
10
- export { default as inputSeo } from './input-seo'
11
- export { default as inputSlug } from './input-slug'
12
- export { default as inputUploraImage } from './input-uplora-image'
13
- export { default as modalConfirm } from './modal-confirm'
14
- export { default as tableCellPreview } from './table-cell-preview'
15
- export { default as tableCellSeo } from './table-cell-seo'
16
- export { default as tableCellUser } from './table-cell-user'
17
- export { default as tablePanel } from './table-panel'
18
- export { default as tablePanelColumnSorting } from './table-panel-column-sorting'
19
- export { default as tablePanelColumnVisibility } from './table-panel-column-visibility'
20
- export { default as tablePanelFilters } from './table-panel-filters'
21
- export { default as uploraImage } from './uplora-image'
1
+ export { default as ButtonDeleteConfirm } from './button-delete-confirm'
2
+ export { default as FormPanel } from './form-panel'
3
+ export { default as FormPanelAsideSection } from './form-panel-aside-section'
4
+ export { default as FormPanelSection } from './form-panel-section'
5
+ export { default as ModalConfirm } from './modal-confirm'
6
+ export { default as TablePanel } from './table-panel'
7
+ export { default as TableSearchInput } from './table-search-input'
8
+ export { default as UploraImage } from './uplora-image'
@@ -0,0 +1,6 @@
1
+ export default {
2
+ "slots": {
3
+ "root": "",
4
+ "input": "basis-54 shrink-0"
5
+ }
6
+ }
package/dist/module.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "@hywax/cms",
3
- "version": "0.0.23",
3
+ "version": "1.0.1",
4
4
  "configKey": "cms",
5
5
  "builder": {
6
- "@nuxt/module-builder": "1.0.1",
7
- "unbuild": "3.5.0"
6
+ "@nuxt/module-builder": "1.0.2",
7
+ "unbuild": "3.6.1"
8
8
  }
9
9
  }
package/dist/module.mjs CHANGED
@@ -6,7 +6,7 @@ import { snakeCase, kebabCase } from 'scule';
6
6
  import { readFile, writeFile } from 'node:fs/promises';
7
7
 
8
8
  const name = "@hywax/cms";
9
- const version = "0.0.23";
9
+ const version = "1.0.1";
10
10
 
11
11
  function createContext(options, nuxt) {
12
12
  const { resolve } = createResolver(import.meta.url);
@@ -68,19 +68,20 @@ function prepareAutoImports({ resolve, options, nuxt }) {
68
68
  global: true
69
69
  });
70
70
  addPlugin(resolve("./runtime/plugins/api"));
71
+ addPlugin(resolve("./runtime/plugins/zod"));
71
72
  addImports([
72
- ...httpCodesImports,
73
- { name: "docToMarkdown", from: resolve("./runtime/editor/markdown") },
74
- { name: "markdownToDoc", from: resolve("./runtime/editor/markdown") }
73
+ ...httpCodesImports
74
+ // { name: 'docToMarkdown', from: resolve('./runtime/editor/markdown') },
75
+ // { name: 'markdownToDoc', from: resolve('./runtime/editor/markdown') },
75
76
  ]);
76
77
  addImportsDir([
77
78
  resolve("./runtime/utils"),
78
79
  resolve("./runtime/composables")
79
80
  ]);
80
81
  addServerImports([
81
- ...httpCodesImports,
82
- { name: "docToMarkdown", from: resolve("./runtime/editor/markdown") },
83
- { name: "markdownToDoc", from: resolve("./runtime/editor/markdown") }
82
+ ...httpCodesImports
83
+ // { name: 'docToMarkdown', from: resolve('./runtime/editor/markdown') },
84
+ // { name: 'markdownToDoc', from: resolve('./runtime/editor/markdown') },
84
85
  ]);
85
86
  addServerImportsDir([
86
87
  resolve("./runtime/utils"),
@@ -110,8 +111,8 @@ async function prepareGenerateEnv({ nuxt }) {
110
111
  }
111
112
 
112
113
  async function prepareInstallModules(_context) {
113
- if (!hasNuxtModule("@nuxt/ui-pro")) {
114
- await installModule("@nuxt/ui-pro");
114
+ if (!hasNuxtModule("@nuxt/ui")) {
115
+ await installModule("@nuxt/ui");
115
116
  }
116
117
  if (!hasNuxtModule("@nuxtjs/mdc")) {
117
118
  await installModule("@nuxtjs/mdc");
@@ -125,33 +126,35 @@ async function prepareInstallModules(_context) {
125
126
  }
126
127
 
127
128
  const icons = {
128
- edit: "lucide:pencil",
129
- trash: "lucide:trash-2",
130
- imageUp: "lucide:image-up",
131
- arrowDownUp: "lucide:arrow-down-up",
129
+ calendar: "lucide:calendar",
130
+ sort: "lucide:arrow-down-up",
132
131
  sortAsc: "lucide:arrow-up-wide-narrow",
133
132
  sortDesc: "lucide:arrow-down-wide-narrow",
134
133
  columns: "lucide:columns-3-cog",
135
134
  filter: "lucide:filter",
136
- link: "lucide:link-2",
137
- linkOff: "lucide:link-2-off",
138
135
  ellipsisVertical: "lucide:ellipsis-vertical",
136
+ repeat: "lucide:repeat-2",
137
+ clipboard: "lucide:clipboard",
138
+ trash: "lucide:trash",
139
+ paragraph: "lucide:type",
140
+ heading1: "lucide:heading-1",
139
141
  heading2: "lucide:heading-2",
140
142
  heading3: "lucide:heading-3",
141
143
  heading4: "lucide:heading-4",
142
144
  list: "lucide:list",
143
145
  listOrdered: "lucide:list-ordered",
144
- checkSquare: "lucide:check-square",
145
- image: "lucide:image",
146
- quote: "lucide:quote",
147
- code: "lucide:code",
148
- paragraph: "lucide:paragraph",
149
- pilcrow: "lucide:pilcrow",
150
- info: "lucide:info",
146
+ blockquote: "lucide:text-quote",
147
+ codeBlock: "lucide:square-code",
148
+ horizontalRule: "lucide:separator-horizontal",
149
+ enter: "lucide:corner-down-left",
150
+ link: "lucide:link",
151
+ download: "lucide:download",
151
152
  bold: "lucide:bold",
152
153
  italic: "lucide:italic",
153
154
  underline: "lucide:underline",
154
- strike: "lucide:strikethrough"
155
+ strikethrough: "lucide:strikethrough",
156
+ code: "lucide:code",
157
+ image: "lucide:image"
155
158
  };
156
159
 
157
160
  function prepareMergeConfigs({ nuxt, options }) {
@@ -162,7 +165,40 @@ function prepareMergeConfigs({ nuxt, options }) {
162
165
  nuxt.options.runtimeConfig.nitro ||= {};
163
166
  nuxt.options.runtimeConfig.nitro.envPrefix = options.envPrefix;
164
167
  nuxt.options.appConfig.ui = defu(nuxt.options.appConfig.ui || {}, {
165
- icons
168
+ icons,
169
+ input: {
170
+ slots: {
171
+ root: "w-full"
172
+ }
173
+ },
174
+ form: {
175
+ base: "flex flex-col gap-4"
176
+ },
177
+ select: {
178
+ slots: {
179
+ base: "overflow-hidden w-full"
180
+ }
181
+ },
182
+ selectMenu: {
183
+ slots: {
184
+ base: "overflow-hidden w-full"
185
+ }
186
+ },
187
+ inputMenu: {
188
+ slots: {
189
+ root: "overflow-hidden w-full"
190
+ }
191
+ },
192
+ table: {
193
+ variants: {
194
+ pinned: {
195
+ true: {
196
+ th: "bg-unset",
197
+ td: "bg-unset"
198
+ }
199
+ }
200
+ }
201
+ }
166
202
  });
167
203
  nuxt.options.ui = defu(nuxt.options.ui || {}, {
168
204
  colorMode: true,
@@ -200,58 +236,12 @@ function prepareServerRoutes({ resolve }) {
200
236
  });
201
237
  }
202
238
 
203
- const autocompleteSelect = {
239
+ const buttonDeleteConfirm = {
204
240
  slots: {
205
241
  root: ""
206
242
  }
207
243
  };
208
244
 
209
- const buttonClear = {
210
- slots: {
211
- base: "p-0"
212
- }
213
- };
214
-
215
- const buttonCopy = {
216
- slots: {
217
- root: ""
218
- }
219
- };
220
-
221
- const buttonDelete = {
222
- slots: {
223
- root: ""
224
- }
225
- };
226
-
227
- const editorContentFull = {
228
- slots: {
229
- root: "h-full w-full relative",
230
- editor: "min-h-full w-full focus:outline-none editor-content-full relative"
231
- },
232
- variants: {
233
- disabled: {
234
- true: {
235
- root: "cursor-not-allowed opacity-75"
236
- }
237
- }
238
- }
239
- };
240
-
241
- const editorContentLight = {
242
- slots: {
243
- root: "relative",
244
- editor: "w-full focus:outline-none editor-content-light relative"
245
- },
246
- variants: {
247
- disabled: {
248
- true: {
249
- root: "cursor-not-allowed opacity-75"
250
- }
251
- }
252
- }
253
- };
254
-
255
245
  const formPanel = {
256
246
  slots: {
257
247
  root: "",
@@ -281,44 +271,9 @@ const formPanelAsideSection = {
281
271
  const formPanelSection = {
282
272
  slots: {
283
273
  root: "",
284
- title: "text-base text-pretty font-semibold text-highlighted",
274
+ title: "text-base text-pretty font-semibold text-highlighted mb-2",
285
275
  description: "text-[15px] text-pretty text-muted mt-1",
286
- body: "relative rounded-lg bg-elevated/50 ring ring-default grid gap-x-8 gap-y-4 p-4 sm:p-6 mt-4"
287
- }
288
- };
289
-
290
- const inputSeo = {
291
- slots: {
292
- root: "flex flex-col gap-4"
293
- }
294
- };
295
-
296
- const inputSlug = {
297
- slots: {
298
- root: "flex flex-col gap-4"
299
- }
300
- };
301
-
302
- const inputUploraImage = {
303
- slots: {
304
- root: "relative w-full rounded-md overflow-hidden ring ring-inset ring-accented aspect-3/2 text-sm",
305
- image: "",
306
- imageActions: "absolute top-4 right-4 flex gap-2",
307
- uploader: "flex flex-col items-center justify-center w-full h-full p-4",
308
- uploaderPendingIcon: "size-6 animate-spin",
309
- uploaderIdleButton: "cursor-pointer bg-muted/50 border border-default border-dashed rounded-md h-full w-full",
310
- uploaderIdleIcon: "size-10 text-primary",
311
- uploaderIdleText: "mt-2 font-medium",
312
- uploaderIdleExtensions: "mt-2 text-xs text-muted uppercase",
313
- uploaderErrorText: "text-center font-medium",
314
- uploaderErrorActions: "flex gap-2 mt-4"
315
- },
316
- variants: {
317
- disabled: {
318
- true: {
319
- root: "cursor-not-allowed opacity-75"
320
- }
321
- }
276
+ body: "relative rounded-lg bg-elevated/50 ring ring-default grid gap-x-8 gap-y-4 p-4 sm:p-6"
322
277
  }
323
278
  };
324
279
 
@@ -328,32 +283,6 @@ const modalConfirm = {
328
283
  }
329
284
  };
330
285
 
331
- const tableCellPreview = {
332
- slots: {
333
- root: "flex items-center gap-2",
334
- image: "bg-elevated size-7 rounded-md",
335
- container: "text-xs",
336
- title: "font-medium text-default",
337
- description: "text-muted truncate max-w-40"
338
- }
339
- };
340
-
341
- const tableCellSeo = {
342
- slots: {
343
- root: "flex gap-2"
344
- }
345
- };
346
-
347
- const tableCellUser = {
348
- slots: {
349
- root: "flex items-center gap-2",
350
- avatar: "bg-elevated size-7 rounded-full",
351
- container: "text-xs",
352
- name: "font-medium text-default",
353
- description: "text-muted truncate max-w-40"
354
- }
355
- };
356
-
357
286
  const tablePanel = {
358
287
  slots: {
359
288
  root: "",
@@ -363,25 +292,14 @@ const tablePanel = {
363
292
  }
364
293
  };
365
294
 
366
- const tablePanelColumnSorting = {
295
+ const tableSearchInput = {
367
296
  slots: {
368
- root: ""
369
- }
370
- };
371
-
372
- const tablePanelColumnVisibility = {
373
- slots: {
374
- root: ""
375
- }
376
- };
377
-
378
- const tablePanelFilters = {
379
- slots: {
380
- root: ""
297
+ root: "",
298
+ input: "basis-54 shrink-0"
381
299
  }
382
300
  };
383
301
 
384
- const uploraImage$2 = {
302
+ const uploraImage$1 = {
385
303
  slots: {
386
304
  root: "relative grid grid-cols-[100%] grid-rows-[100%] overflow-hidden",
387
305
  lqip: "bg-cover bg-no-repeat bg-center col-[1] row-[1]",
@@ -392,61 +310,18 @@ const uploraImage$2 = {
392
310
 
393
311
  const theme = {
394
312
  __proto__: null,
395
- autocompleteSelect: autocompleteSelect,
396
- buttonClear: buttonClear,
397
- buttonCopy: buttonCopy,
398
- buttonDelete: buttonDelete,
399
- editorContentFull: editorContentFull,
400
- editorContentLight: editorContentLight,
401
- formPanel: formPanel,
402
- formPanelAsideSection: formPanelAsideSection,
403
- formPanelSection: formPanelSection,
404
- inputSeo: inputSeo,
405
- inputSlug: inputSlug,
406
- inputUploraImage: inputUploraImage,
407
- modalConfirm: modalConfirm,
408
- tableCellPreview: tableCellPreview,
409
- tableCellSeo: tableCellSeo,
410
- tableCellUser: tableCellUser,
411
- tablePanel: tablePanel,
412
- tablePanelColumnSorting: tablePanelColumnSorting,
413
- tablePanelColumnVisibility: tablePanelColumnVisibility,
414
- tablePanelFilters: tablePanelFilters,
415
- uploraImage: uploraImage$2
416
- };
417
-
418
- const callout = {
419
- slots: {
420
- root: "px-4 py-3 text-sm/6 rounded-md border flex gap-2"
421
- },
422
- variants: {
423
- type: {
424
- caution: {
425
- root: "border border-error/25 bg-error/10 text-error-600 dark:text-error-300"
426
- },
427
- note: {
428
- root: "border border-info/25 bg-info/10 text-info-600 dark:text-info-300"
429
- },
430
- warning: {
431
- root: "border border-warning/25 bg-warning/10 text-warning-600 dark:text-warning-300"
432
- },
433
- tip: {
434
- root: "border border-success/25 bg-success/10 text-success-600 dark:text-success-300"
435
- }
436
- }
437
- }
438
- };
439
-
440
- const uploraImage$1 = {
441
- slots: {
442
- root: ""
443
- }
313
+ ButtonDeleteConfirm: buttonDeleteConfirm,
314
+ FormPanel: formPanel,
315
+ FormPanelAsideSection: formPanelAsideSection,
316
+ FormPanelSection: formPanelSection,
317
+ ModalConfirm: modalConfirm,
318
+ TablePanel: tablePanel,
319
+ TableSearchInput: tableSearchInput,
320
+ UploraImage: uploraImage$1
444
321
  };
445
322
 
446
323
  const themeEditor = {
447
- __proto__: null,
448
- callout: callout,
449
- uploraImage: uploraImage$1
324
+ __proto__: null
450
325
  };
451
326
 
452
327
  const uploraImage = {
@@ -578,7 +453,7 @@ function prepareTemplates(context) {
578
453
  }
579
454
  }
580
455
 
581
- const module = defineNuxtModule({
456
+ const module$1 = defineNuxtModule({
582
457
  meta: {
583
458
  name,
584
459
  version,
@@ -596,4 +471,4 @@ const module = defineNuxtModule({
596
471
  }
597
472
  });
598
473
 
599
- export { module as default };
474
+ export { module$1 as default };
@@ -0,0 +1,56 @@
1
+ import type { InputMenuItem } from '@nuxt/ui';
2
+ import type { Pagination, PaginationQueryRaw } from '../types';
3
+ type PaginationQuery = Required<PaginationQueryRaw>;
4
+ export type AutocompleteSelectItem = Extract<InputMenuItem, object> & {
5
+ id?: string | number;
6
+ name?: string;
7
+ };
8
+ type GetModelValue<T extends AutocompleteSelectItem, VK extends keyof T, M extends boolean> = M extends true ? (T[VK][] | undefined) : (T[VK] | undefined);
9
+ export type HandlerParams = PaginationQuery & {
10
+ search: string;
11
+ ids?: string[] | number[];
12
+ };
13
+ export type Handler<T extends AutocompleteSelectItem = AutocompleteSelectItem> = (params: HandlerParams, signal?: AbortSignal) => Promise<{
14
+ items: T[];
15
+ pagination: Pagination;
16
+ }>;
17
+ export interface Props<T extends AutocompleteSelectItem = AutocompleteSelectItem, VK extends keyof T = 'id', M extends boolean = false> {
18
+ modelValue?: GetModelValue<T, VK, M>;
19
+ cacheKey: string;
20
+ handler: Handler<T>;
21
+ /** @defaultValue 'id' */
22
+ valueKey?: VK;
23
+ /** @defaultValue 'name' */
24
+ labelKey?: keyof T;
25
+ multiple?: M & boolean;
26
+ placeholder?: string;
27
+ initSelected?: boolean;
28
+ }
29
+ export interface Emits<T extends AutocompleteSelectItem = AutocompleteSelectItem, VK extends keyof T = 'id', M extends boolean = false> {
30
+ 'update:modelValue': [payload: GetModelValue<T, VK, M>];
31
+ }
32
+ export interface Slots<T extends AutocompleteSelectItem = AutocompleteSelectItem> {
33
+ 'item-label': (props: {
34
+ item: T;
35
+ }) => any;
36
+ }
37
+ declare const _default: typeof __VLS_export;
38
+ export default _default;
39
+ declare const __VLS_export: <T extends AutocompleteSelectItem, VK extends keyof T = "id", M extends boolean = false>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
40
+ props: import("vue").PublicProps & __VLS_PrettifyLocal<Props<T, VK, M> & {
41
+ "onUpdate:modelValue"?: ((payload: GetModelValue<T, VK, M>) => any) | undefined;
42
+ }> & (typeof globalThis extends {
43
+ __VLS_PROPS_FALLBACK: infer P;
44
+ } ? P : {});
45
+ expose: (exposed: {}) => void;
46
+ attrs: any;
47
+ slots: Slots<T>;
48
+ emit: (evt: "update:modelValue", payload: GetModelValue<T, VK, M>) => void;
49
+ }>) => import("vue").VNode & {
50
+ __ctx?: Awaited<typeof __VLS_setup>;
51
+ };
52
+ type __VLS_PrettifyLocal<T> = (T extends any ? {
53
+ [K in keyof T]: T[K];
54
+ } : {
55
+ [K in keyof T as K]: T[K];
56
+ }) & {};