@hywax/cms 0.0.23 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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 +85 -204
  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 +29 -0
  31. package/dist/runtime/components/Layout.vue +81 -0
  32. package/dist/runtime/components/Layout.vue.d.ts +29 -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.1.0",
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.1.0";
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,44 +126,85 @@ 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 }) {
161
+ nuxt.options.experimental = defu(nuxt.options.experimental || {}, {
162
+ typedPages: true
163
+ });
164
+ nuxt.options.future = defu(nuxt.options.future || {}, {
165
+ compatibilityVersion: 5
166
+ });
158
167
  nuxt.options.runtimeConfig.public = defu(nuxt.options.runtimeConfig.public || {}, {
159
168
  fluxorUrl: options.fluxorUrl,
160
- version: ""
169
+ version: "develop"
161
170
  });
162
171
  nuxt.options.runtimeConfig.nitro ||= {};
163
172
  nuxt.options.runtimeConfig.nitro.envPrefix = options.envPrefix;
164
173
  nuxt.options.appConfig.ui = defu(nuxt.options.appConfig.ui || {}, {
165
- icons
174
+ icons,
175
+ input: {
176
+ slots: {
177
+ root: "w-full"
178
+ }
179
+ },
180
+ form: {
181
+ base: "flex flex-col gap-4"
182
+ },
183
+ select: {
184
+ slots: {
185
+ base: "overflow-hidden w-full"
186
+ }
187
+ },
188
+ selectMenu: {
189
+ slots: {
190
+ base: "overflow-hidden w-full"
191
+ }
192
+ },
193
+ inputMenu: {
194
+ slots: {
195
+ root: "overflow-hidden w-full"
196
+ }
197
+ },
198
+ table: {
199
+ variants: {
200
+ pinned: {
201
+ true: {
202
+ th: "bg-unset",
203
+ td: "bg-unset"
204
+ }
205
+ }
206
+ }
207
+ }
166
208
  });
167
209
  nuxt.options.ui = defu(nuxt.options.ui || {}, {
168
210
  colorMode: true,
@@ -200,58 +242,12 @@ function prepareServerRoutes({ resolve }) {
200
242
  });
201
243
  }
202
244
 
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 = {
245
+ const buttonDeleteConfirm = {
222
246
  slots: {
223
247
  root: ""
224
248
  }
225
249
  };
226
250
 
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
251
  const formPanel = {
256
252
  slots: {
257
253
  root: "",
@@ -281,44 +277,9 @@ const formPanelAsideSection = {
281
277
  const formPanelSection = {
282
278
  slots: {
283
279
  root: "",
284
- title: "text-base text-pretty font-semibold text-highlighted",
280
+ title: "text-base text-pretty font-semibold text-highlighted mb-2",
285
281
  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
- }
282
+ body: "relative rounded-lg bg-elevated/50 ring ring-default grid gap-x-8 gap-y-4 p-4 sm:p-6"
322
283
  }
323
284
  };
324
285
 
@@ -328,32 +289,6 @@ const modalConfirm = {
328
289
  }
329
290
  };
330
291
 
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
292
  const tablePanel = {
358
293
  slots: {
359
294
  root: "",
@@ -363,25 +298,14 @@ const tablePanel = {
363
298
  }
364
299
  };
365
300
 
366
- const tablePanelColumnSorting = {
367
- slots: {
368
- root: ""
369
- }
370
- };
371
-
372
- const tablePanelColumnVisibility = {
373
- slots: {
374
- root: ""
375
- }
376
- };
377
-
378
- const tablePanelFilters = {
301
+ const tableSearchInput = {
379
302
  slots: {
380
- root: ""
303
+ root: "",
304
+ input: "basis-54 shrink-0"
381
305
  }
382
306
  };
383
307
 
384
- const uploraImage$2 = {
308
+ const uploraImage$1 = {
385
309
  slots: {
386
310
  root: "relative grid grid-cols-[100%] grid-rows-[100%] overflow-hidden",
387
311
  lqip: "bg-cover bg-no-repeat bg-center col-[1] row-[1]",
@@ -392,61 +316,18 @@ const uploraImage$2 = {
392
316
 
393
317
  const theme = {
394
318
  __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
- }
319
+ ButtonDeleteConfirm: buttonDeleteConfirm,
320
+ FormPanel: formPanel,
321
+ FormPanelAsideSection: formPanelAsideSection,
322
+ FormPanelSection: formPanelSection,
323
+ ModalConfirm: modalConfirm,
324
+ TablePanel: tablePanel,
325
+ TableSearchInput: tableSearchInput,
326
+ UploraImage: uploraImage$1
444
327
  };
445
328
 
446
329
  const themeEditor = {
447
- __proto__: null,
448
- callout: callout,
449
- uploraImage: uploraImage$1
330
+ __proto__: null
450
331
  };
451
332
 
452
333
  const uploraImage = {
@@ -578,7 +459,7 @@ function prepareTemplates(context) {
578
459
  }
579
460
  }
580
461
 
581
- const module = defineNuxtModule({
462
+ const module$1 = defineNuxtModule({
582
463
  meta: {
583
464
  name,
584
465
  version,
@@ -596,4 +477,4 @@ const module = defineNuxtModule({
596
477
  }
597
478
  });
598
479
 
599
- export { module as default };
480
+ 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
+ }) & {};