@hywax/cms 0.0.22 → 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 -182
  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 -6
  107. package/.nuxt/cms/editor-content-light.ts +0 -6
  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 -15
  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 -53
  122. package/dist/runtime/components/EditorContentFull.vue.d.ts +0 -20
  123. package/dist/runtime/components/EditorContentLight.vue +0 -46
  124. package/dist/runtime/components/EditorContentLight.vue.d.ts +0 -20
  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 -136
  130. package/dist/runtime/components/InputUploraImage.vue.d.ts +0 -35
  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.22",
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.22";
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,44 +236,12 @@ function prepareServerRoutes({ resolve }) {
200
236
  });
201
237
  }
202
238
 
203
- const autocompleteSelect = {
204
- slots: {
205
- root: ""
206
- }
207
- };
208
-
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 = {
239
+ const buttonDeleteConfirm = {
222
240
  slots: {
223
241
  root: ""
224
242
  }
225
243
  };
226
244
 
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
- };
233
-
234
- const editorContentLight = {
235
- slots: {
236
- root: "relative",
237
- editor: "w-full focus:outline-none editor-content-light relative"
238
- }
239
- };
240
-
241
245
  const formPanel = {
242
246
  slots: {
243
247
  root: "",
@@ -267,37 +271,9 @@ const formPanelAsideSection = {
267
271
  const formPanelSection = {
268
272
  slots: {
269
273
  root: "",
270
- title: "text-base text-pretty font-semibold text-highlighted",
274
+ title: "text-base text-pretty font-semibold text-highlighted mb-2",
271
275
  description: "text-[15px] text-pretty text-muted mt-1",
272
- body: "relative rounded-lg bg-elevated/50 ring ring-default grid gap-x-8 gap-y-4 p-4 sm:p-6 mt-4"
273
- }
274
- };
275
-
276
- const inputSeo = {
277
- slots: {
278
- root: "flex flex-col gap-4"
279
- }
280
- };
281
-
282
- const inputSlug = {
283
- slots: {
284
- root: "flex flex-col gap-4"
285
- }
286
- };
287
-
288
- const inputUploraImage = {
289
- slots: {
290
- root: "relative w-full rounded-md overflow-hidden ring ring-inset ring-accented aspect-3/2 text-sm",
291
- image: "",
292
- imageActions: "absolute top-4 right-4 flex gap-2",
293
- uploader: "flex flex-col items-center justify-center w-full h-full p-4",
294
- uploaderPendingIcon: "size-6 animate-spin",
295
- uploaderIdleButton: "cursor-pointer bg-muted/50 border border-default border-dashed rounded-md h-full w-full",
296
- uploaderIdleIcon: "size-10 text-primary",
297
- uploaderIdleText: "mt-2 font-medium",
298
- uploaderIdleExtensions: "mt-2 text-xs text-muted uppercase",
299
- uploaderErrorText: "text-center font-medium",
300
- uploaderErrorActions: "flex gap-2 mt-4"
276
+ body: "relative rounded-lg bg-elevated/50 ring ring-default grid gap-x-8 gap-y-4 p-4 sm:p-6"
301
277
  }
302
278
  };
303
279
 
@@ -307,32 +283,6 @@ const modalConfirm = {
307
283
  }
308
284
  };
309
285
 
310
- const tableCellPreview = {
311
- slots: {
312
- root: "flex items-center gap-2",
313
- image: "bg-elevated size-7 rounded-md",
314
- container: "text-xs",
315
- title: "font-medium text-default",
316
- description: "text-muted truncate max-w-40"
317
- }
318
- };
319
-
320
- const tableCellSeo = {
321
- slots: {
322
- root: "flex gap-2"
323
- }
324
- };
325
-
326
- const tableCellUser = {
327
- slots: {
328
- root: "flex items-center gap-2",
329
- avatar: "bg-elevated size-7 rounded-full",
330
- container: "text-xs",
331
- name: "font-medium text-default",
332
- description: "text-muted truncate max-w-40"
333
- }
334
- };
335
-
336
286
  const tablePanel = {
337
287
  slots: {
338
288
  root: "",
@@ -342,25 +292,14 @@ const tablePanel = {
342
292
  }
343
293
  };
344
294
 
345
- const tablePanelColumnSorting = {
346
- slots: {
347
- root: ""
348
- }
349
- };
350
-
351
- const tablePanelColumnVisibility = {
352
- slots: {
353
- root: ""
354
- }
355
- };
356
-
357
- const tablePanelFilters = {
295
+ const tableSearchInput = {
358
296
  slots: {
359
- root: ""
297
+ root: "",
298
+ input: "basis-54 shrink-0"
360
299
  }
361
300
  };
362
301
 
363
- const uploraImage$2 = {
302
+ const uploraImage$1 = {
364
303
  slots: {
365
304
  root: "relative grid grid-cols-[100%] grid-rows-[100%] overflow-hidden",
366
305
  lqip: "bg-cover bg-no-repeat bg-center col-[1] row-[1]",
@@ -371,61 +310,18 @@ const uploraImage$2 = {
371
310
 
372
311
  const theme = {
373
312
  __proto__: null,
374
- autocompleteSelect: autocompleteSelect,
375
- buttonClear: buttonClear,
376
- buttonCopy: buttonCopy,
377
- buttonDelete: buttonDelete,
378
- editorContentFull: editorContentFull,
379
- editorContentLight: editorContentLight,
380
- formPanel: formPanel,
381
- formPanelAsideSection: formPanelAsideSection,
382
- formPanelSection: formPanelSection,
383
- inputSeo: inputSeo,
384
- inputSlug: inputSlug,
385
- inputUploraImage: inputUploraImage,
386
- modalConfirm: modalConfirm,
387
- tableCellPreview: tableCellPreview,
388
- tableCellSeo: tableCellSeo,
389
- tableCellUser: tableCellUser,
390
- tablePanel: tablePanel,
391
- tablePanelColumnSorting: tablePanelColumnSorting,
392
- tablePanelColumnVisibility: tablePanelColumnVisibility,
393
- tablePanelFilters: tablePanelFilters,
394
- uploraImage: uploraImage$2
395
- };
396
-
397
- const callout = {
398
- slots: {
399
- root: "px-4 py-3 text-sm/6 rounded-md border flex gap-2"
400
- },
401
- variants: {
402
- type: {
403
- caution: {
404
- root: "border border-error/25 bg-error/10 text-error-600 dark:text-error-300"
405
- },
406
- note: {
407
- root: "border border-info/25 bg-info/10 text-info-600 dark:text-info-300"
408
- },
409
- warning: {
410
- root: "border border-warning/25 bg-warning/10 text-warning-600 dark:text-warning-300"
411
- },
412
- tip: {
413
- root: "border border-success/25 bg-success/10 text-success-600 dark:text-success-300"
414
- }
415
- }
416
- }
417
- };
418
-
419
- const uploraImage$1 = {
420
- slots: {
421
- root: ""
422
- }
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
423
321
  };
424
322
 
425
323
  const themeEditor = {
426
- __proto__: null,
427
- callout: callout,
428
- uploraImage: uploraImage$1
324
+ __proto__: null
429
325
  };
430
326
 
431
327
  const uploraImage = {
@@ -557,7 +453,7 @@ function prepareTemplates(context) {
557
453
  }
558
454
  }
559
455
 
560
- const module = defineNuxtModule({
456
+ const module$1 = defineNuxtModule({
561
457
  meta: {
562
458
  name,
563
459
  version,
@@ -575,4 +471,4 @@ const module = defineNuxtModule({
575
471
  }
576
472
  });
577
473
 
578
- 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
+ }) & {};