@fastkit/vui 0.6.36 → 0.6.40

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 (188) hide show
  1. package/dist/tool/index.js +3 -0
  2. package/dist/tool/vite-plugin.d.ts.map +1 -1
  3. package/dist/vui.cjs.js +214 -19
  4. package/dist/vui.cjs.prod.js +214 -19
  5. package/dist/vui.css +69 -17
  6. package/dist/vui.d.ts +3609 -17
  7. package/dist/vui.esm-bundler.js +214 -21
  8. package/dist/vui.min.css +1 -1
  9. package/dist/vui.min.css.map +1 -1
  10. package/package.json +8 -7
  11. package/src/.DS_Store +0 -0
  12. package/src/assets/.DS_Store +0 -0
  13. package/src/assets/builtins/color-scheme.ts +9 -0
  14. package/src/assets/builtins/media-match.ts +3 -0
  15. package/src/components/.DS_Store +0 -0
  16. package/src/components/VAccordion/VAccordion.scss +2 -0
  17. package/src/components/VAccordion/VAccordion.tsx +5 -0
  18. package/src/components/VAccordion/index.ts +1 -0
  19. package/src/components/VApp/VApp.tsx +17 -0
  20. package/src/components/VApp/index.ts +1 -0
  21. package/src/components/VBreadcrumbs/VBreadcrumbs.scss +61 -0
  22. package/src/components/VBreadcrumbs/VBreadcrumbs.tsx +137 -0
  23. package/src/components/VBreadcrumbs/index.ts +1 -0
  24. package/src/components/VButton/.DS_Store +0 -0
  25. package/src/components/VButton/VButton.scss +137 -0
  26. package/src/components/VButton/VButton.tsx +148 -0
  27. package/src/components/VButton/VButtonGroup.scss +23 -0
  28. package/src/components/VButton/VButtonGroup.tsx +81 -0
  29. package/src/components/VButton/index.ts +2 -0
  30. package/src/components/VCard/VCard.scss +3 -0
  31. package/src/components/VCard/VCard.tsx +20 -0
  32. package/src/components/VCard/VCardActions.scss +10 -0
  33. package/src/components/VCard/VCardActions.tsx +16 -0
  34. package/src/components/VCard/VCardContent.scss +3 -0
  35. package/src/components/VCard/VCardContent.tsx +16 -0
  36. package/src/components/VCard/index.ts +3 -0
  37. package/src/components/VCheckable/VCheckable.scss +103 -0
  38. package/src/components/VCheckable/VCheckable.tsx +60 -0
  39. package/src/components/VCheckable/index.ts +1 -0
  40. package/src/components/VCheckbox/VCheckbox.scss +56 -0
  41. package/src/components/VCheckbox/VCheckbox.tsx +63 -0
  42. package/src/components/VCheckbox/index.ts +1 -0
  43. package/src/components/VCheckboxGroup/.DS_Store +0 -0
  44. package/src/components/VCheckboxGroup/VCheckboxGroup.tsx +11 -0
  45. package/src/components/VCheckboxGroup/index.ts +1 -0
  46. package/src/components/VContentSwitcher/VContentSwitcher.scss +73 -0
  47. package/src/components/VContentSwitcher/VContentSwitcher.tsx +156 -0
  48. package/src/components/VContentSwitcher/index.ts +1 -0
  49. package/src/components/VControlField/VControlField.scss +183 -0
  50. package/src/components/VControlField/VControlField.tsx +152 -0
  51. package/src/components/VControlField/index.ts +1 -0
  52. package/src/components/VDataTable/VDataTable.scss +230 -0
  53. package/src/components/VDataTable/VDataTable.tsx +761 -0
  54. package/src/components/VDataTable/index.ts +1 -0
  55. package/src/components/VDrawerLayout/VDrawerLayout.scss +26 -0
  56. package/src/components/VDrawerLayout/VDrawerLayout.tsx +35 -0
  57. package/src/components/VDrawerLayout/index.ts +1 -0
  58. package/src/components/VForm/VForm.tsx +77 -0
  59. package/src/components/VForm/index.ts +1 -0
  60. package/src/components/VFormControl/VFormControl.scss +59 -0
  61. package/src/components/VFormControl/VFormControl.tsx +85 -0
  62. package/src/components/VFormControl/index.ts +1 -0
  63. package/src/components/VGrid/VGridContainer.scss +4 -0
  64. package/src/components/VGrid/VGridContainer.tsx +191 -0
  65. package/src/components/VGrid/VGridItem.scss +3 -0
  66. package/src/components/VGrid/VGridItem.tsx +110 -0
  67. package/src/components/VGrid/index.ts +2 -0
  68. package/src/components/VGrid/schemes.ts +28 -0
  69. package/src/components/VHero/.DS_Store +0 -0
  70. package/src/components/VHero/VHero.scss +26 -0
  71. package/src/components/VHero/VHero.tsx +52 -0
  72. package/src/components/VHero/index.ts +1 -0
  73. package/src/components/VIcon/VIcon.scss +22 -0
  74. package/src/components/VIcon/VIcon.tsx +110 -0
  75. package/src/components/VIcon/index.ts +1 -0
  76. package/src/components/VListTile/VListTile.scss +71 -0
  77. package/src/components/VListTile/VListTile.tsx +121 -0
  78. package/src/components/VListTile/index.ts +1 -0
  79. package/src/components/VNavigation/VNavigation.scss +12 -0
  80. package/src/components/VNavigation/VNavigation.tsx +79 -0
  81. package/src/components/VNavigation/VNavigationItem.scss +14 -0
  82. package/src/components/VNavigation/VNavigationItem.tsx +252 -0
  83. package/src/components/VNavigation/index.ts +2 -0
  84. package/src/components/VOption/VOption.scss +61 -0
  85. package/src/components/VOption/VOption.tsx +52 -0
  86. package/src/components/VOption/index.ts +1 -0
  87. package/src/components/VOptionGroup/VOptionGroup.scss +3 -0
  88. package/src/components/VOptionGroup/VOptionGroup.tsx +55 -0
  89. package/src/components/VOptionGroup/index.ts +1 -0
  90. package/src/components/VPagination/VPagination.scss +100 -0
  91. package/src/components/VPagination/VPagination.tsx +346 -0
  92. package/src/components/VPagination/index.ts +1 -0
  93. package/src/components/VPaper/VPaper.scss +37 -0
  94. package/src/components/VPaper/VPaper.tsx +78 -0
  95. package/src/components/VPaper/index.ts +1 -0
  96. package/src/components/VRadio/.DS_Store +0 -0
  97. package/src/components/VRadio/VRadio.scss +66 -0
  98. package/src/components/VRadio/VRadio.tsx +56 -0
  99. package/src/components/VRadio/index.ts +1 -0
  100. package/src/components/VRadioGroup/.DS_Store +0 -0
  101. package/src/components/VRadioGroup/VRadioGroup.tsx +10 -0
  102. package/src/components/VRadioGroup/index.ts +1 -0
  103. package/src/components/VSelect/VSelect.scss +78 -0
  104. package/src/components/VSelect/VSelect.tsx +204 -0
  105. package/src/components/VSelect/index.ts +1 -0
  106. package/src/components/VSwitch/VSwitch.scss +125 -0
  107. package/src/components/VSwitch/VSwitch.tsx +66 -0
  108. package/src/components/VSwitch/index.ts +1 -0
  109. package/src/components/VSwitchGroup/.DS_Store +0 -0
  110. package/src/components/VSwitchGroup/VSwitchGroup.tsx +11 -0
  111. package/src/components/VSwitchGroup/index.ts +1 -0
  112. package/src/components/VTabs/.DS_Store +0 -0
  113. package/src/components/VTabs/VTab.scss +73 -0
  114. package/src/components/VTabs/VTab.tsx +88 -0
  115. package/src/components/VTabs/VTabs.scss +49 -0
  116. package/src/components/VTabs/VTabs.tsx +315 -0
  117. package/src/components/VTabs/index.ts +1 -0
  118. package/src/components/VTextCounter/VTextCounter.scss +3 -0
  119. package/src/components/VTextCounter/VTextCounter.tsx +21 -0
  120. package/src/components/VTextCounter/index.ts +1 -0
  121. package/src/components/VTextField/VTextField.scss +45 -0
  122. package/src/components/VTextField/VTextField.tsx +96 -0
  123. package/src/components/VTextField/index.ts +1 -0
  124. package/src/components/VTextarea/VTextarea.scss +41 -0
  125. package/src/components/VTextarea/VTextarea.tsx +93 -0
  126. package/src/components/VTextarea/index.ts +1 -0
  127. package/src/components/VToolbar/.DS_Store +0 -0
  128. package/src/components/VToolbar/VToolbar.scss +26 -0
  129. package/src/components/VToolbar/VToolbar.tsx +44 -0
  130. package/src/components/VToolbar/VToolbarEdge.scss +27 -0
  131. package/src/components/VToolbar/VToolbarEdge.tsx +35 -0
  132. package/src/components/VToolbar/VToolbarMenu.scss +7 -0
  133. package/src/components/VToolbar/VToolbarMenu.tsx +26 -0
  134. package/src/components/VToolbar/VToolbarTitle.scss +22 -0
  135. package/src/components/VToolbar/VToolbarTitle.tsx +25 -0
  136. package/src/components/VToolbar/index.ts +4 -0
  137. package/src/components/VWysiwygEditor/.DS_Store +0 -0
  138. package/src/components/VWysiwygEditor/VWysiwygEditor.scss +60 -0
  139. package/src/components/VWysiwygEditor/VWysiwygEditor.tsx +293 -0
  140. package/src/components/VWysiwygEditor/index.ts +2 -0
  141. package/src/components/VWysiwygEditor/schemes.ts +65 -0
  142. package/src/components/VWysiwygEditor/tools/bullet-list.ts +18 -0
  143. package/src/components/VWysiwygEditor/tools/format-bold.ts +19 -0
  144. package/src/components/VWysiwygEditor/tools/format-italic.ts +18 -0
  145. package/src/components/VWysiwygEditor/tools/format-underline.ts +18 -0
  146. package/src/components/VWysiwygEditor/tools/history.ts +26 -0
  147. package/src/components/VWysiwygEditor/tools/index.ts +8 -0
  148. package/src/components/VWysiwygEditor/tools/link.ts +57 -0
  149. package/src/components/VWysiwygEditor/tools/ordered-list.ts +21 -0
  150. package/src/components/VWysiwygEditor/tools/text-color.ts +14 -0
  151. package/src/components/index.ts +32 -0
  152. package/src/components/kits.ts +1 -0
  153. package/src/components/loading.ts +1 -0
  154. package/src/composables/.DS_Store +0 -0
  155. package/src/composables/control.ts +118 -0
  156. package/src/composables/elevation.ts +34 -0
  157. package/src/composables/form-selector.scss +11 -0
  158. package/src/composables/form-selector.tsx +101 -0
  159. package/src/composables/index.ts +4 -0
  160. package/src/composables/vui.ts +9 -0
  161. package/src/index.ts +10 -0
  162. package/src/injections.ts +61 -0
  163. package/src/logger.ts +7 -0
  164. package/src/plugin.tsx +76 -0
  165. package/src/schemes/control.ts +7 -0
  166. package/src/schemes/elevation.ts +26 -0
  167. package/src/schemes/index.ts +2 -0
  168. package/src/service.tsx +242 -0
  169. package/src/styles/.DS_Store +0 -0
  170. package/src/styles/after-effects/display-flow.scss +346 -0
  171. package/src/styles/after-effects/spacing.scss +155 -0
  172. package/src/styles/after-effects/text.scss +90 -0
  173. package/src/styles/after-effects.scss +3 -0
  174. package/src/styles/base.scss +14 -0
  175. package/src/styles/control.scss +11 -0
  176. package/src/styles/core/functions.scss +62 -0
  177. package/src/styles/core/typo.scss +56 -0
  178. package/src/styles/core.scss +2 -0
  179. package/src/styles/elevation.scss +9 -0
  180. package/src/styles/group.scss +57 -0
  181. package/src/styles/index.scss +9 -0
  182. package/src/styles/transition.scss +11 -0
  183. package/src/styles/typo.scss +11 -0
  184. package/src/styles/variables.scss +320 -0
  185. package/src/styles/wysiwyg.scss +24 -0
  186. package/src/tool/.DS_Store +0 -0
  187. package/src/tool/index.ts +2 -0
  188. package/src/tool/vite-plugin.ts +281 -0
@@ -18,6 +18,8 @@ const name = 'vui';
18
18
  new tinyLogger.TinyLogger(name);
19
19
  const VuiError = tinyLogger.createTinyError(name);
20
20
 
21
+ const VUI_PACKAGE_DIR = path__default.resolve(__dirname, '../..');
22
+ const STYLE_AFTER_EFFECTS_PATH = path__default.join(VUI_PACKAGE_DIR, 'src/styles/after-effects.scss');
21
23
  const COLOR_DUMP_STYLE = `@include dump-color-scheme(true);`;
22
24
  const TEMPLATE = `
23
25
  /* eslint-disable */
@@ -37,6 +39,7 @@ import { installVuiPlugin as _installVuiPlugin, VuiPluginOptions } from '@fastki
37
39
  import { colorScheme } from '<%~ it.colorScheme %>';
38
40
  import '<%~ it.mediaMatch %>';
39
41
  import './icon-font';
42
+ import '${STYLE_AFTER_EFFECTS_PATH}';
40
43
 
41
44
  export function installVui(settings: { app: App, router: Router }) {
42
45
  _installVuiPlugin(settings.app, {
@@ -1 +1 @@
1
- {"version":3,"file":"vite-plugin.d.ts","sourceRoot":"","sources":["../../../../../../../packages/vui/src/tool/vite-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAK9B,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAwF/C,MAAM,WAAW,oBACf,SAAQ,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,YAAY,GAAG,OAAO,CAAC,CAAC;IAChE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC9B,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,QAAQ,CAAC,EAAE,MAAM,GAAG,CAAC;IACrB,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,GAAG,CAAC;IACpC,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAGD,MAAM,WAAW,2BACf,SAAQ,IAAI,CAAC,iBAAiB,EAAE,YAAY,GAAG,OAAO,CAAC;IACvD,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,2BAA2B,CAAC;IACtC,OAAO,EAAE,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC;IAC/B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,aAAa,CAC3B,OAAO,GAAE,oBAAyB,GACjC,mBAAmB,CAuJrB"}
1
+ {"version":3,"file":"vite-plugin.d.ts","sourceRoot":"","sources":["../../../../../../../packages/vui/src/tool/vite-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAK9B,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AA+F/C,MAAM,WAAW,oBACf,SAAQ,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,YAAY,GAAG,OAAO,CAAC,CAAC;IAChE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC9B,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,QAAQ,CAAC,EAAE,MAAM,GAAG,CAAC;IACrB,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,GAAG,CAAC;IACpC,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAGD,MAAM,WAAW,2BACf,SAAQ,IAAI,CAAC,iBAAiB,EAAE,YAAY,GAAG,OAAO,CAAC;IACvD,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,2BAA2B,CAAC;IACtC,OAAO,EAAE,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC;IAC/B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,aAAa,CAC3B,OAAO,GAAE,oBAAyB,GACjC,mBAAmB,CAuJrB"}
package/dist/vui.cjs.js CHANGED
@@ -6,8 +6,10 @@ var vueKit = require('@fastkit/vue-kit');
6
6
  var vue = require('vue');
7
7
  var vueRouter = require('vue-router');
8
8
  var vueUtils = require('@fastkit/vue-utils');
9
+ var vueScroller = require('@fastkit/vue-scroller');
9
10
  var vueColorScheme = require('@fastkit/vue-color-scheme');
10
11
  var vueLoading = require('@fastkit/vue-loading');
12
+ var mediaMatch = require('@fastkit/media-match');
11
13
  var iconFont = require('@fastkit/icon-font');
12
14
  var helpers = require('@fastkit/helpers');
13
15
  var vueAppLayout = require('@fastkit/vue-app-layout');
@@ -22,7 +24,6 @@ var extensionHistory = require('@tiptap/extension-history');
22
24
  var extensionLink = require('@tiptap/extension-link');
23
25
  var rules = require('@fastkit/rules');
24
26
  var extensionOrderedList = require('@tiptap/extension-ordered-list');
25
- var vueScroller = require('@fastkit/vue-scroller');
26
27
 
27
28
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e["default"] : e; }
28
29
 
@@ -274,6 +275,169 @@ function useElevation(props, opts = {}) {
274
275
  };
275
276
  }
276
277
 
278
+ function extractRawGridValueClasses(value, prefix, getter) {
279
+ if (typeof value !== 'object')
280
+ return `${prefix}${getter ? getter(value) : value}`;
281
+ return Object.entries(value).map(([breakpoint, breakpointValue]) => {
282
+ return `${prefix}${getter ? getter(breakpointValue) : breakpointValue}--${breakpoint}`;
283
+ });
284
+ }
285
+ // export const DEFAULT_MEDIA_MATCH_KEY = MEDIA_MATCH_CONDITIONS[0].key;
286
+
287
+ const VGridItem = vue.defineComponent({
288
+ name: 'VGridItem',
289
+ inheritAttrs: false,
290
+ props: { ...vueUtils.htmlAttributesPropOptions,
291
+ tag: {
292
+ type: String,
293
+ default: 'div'
294
+ },
295
+ ...undefined,
296
+ align: undefined,
297
+ justify: undefined,
298
+ order: undefined
299
+ },
300
+
301
+ setup(props, ctx) {
302
+ const data = vue.computed(() => {
303
+ const classes = [];
304
+ const attrs = { ...ctx.attrs
305
+ };
306
+ const {
307
+ align,
308
+ justify,
309
+ order
310
+ } = props;
311
+ delete attrs.align;
312
+ delete attrs.justify;
313
+ delete attrs.order;
314
+ align && classes.push(extractRawGridValueClasses(align, 'self-align-'));
315
+ justify && classes.push(extractRawGridValueClasses(justify, 'self-justify-'));
316
+ order != null && classes.push(extractRawGridValueClasses(order, 'order-'));
317
+ mediaMatch.MEDIA_MATCH_CONDITIONS.forEach(({
318
+ key
319
+ }) => {
320
+ const v = attrs[key];
321
+ delete attrs[key];
322
+
323
+ if (v != null) {
324
+ classes.push(`grid-size-${v}--${key}`);
325
+ }
326
+ });
327
+ return {
328
+ classes,
329
+ attrs
330
+ };
331
+ });
332
+ return () => {
333
+ const TagName = props.tag;
334
+ const {
335
+ classes,
336
+ attrs
337
+ } = data.value;
338
+ return vue.createVNode(TagName, vue.mergeProps({
339
+ "class": ['v-grid-item grid-item', classes]
340
+ }, attrs), ctx.slots);
341
+ };
342
+ }
343
+
344
+ });
345
+
346
+ function spacingValueToString(value) {
347
+ return Number.isInteger(value) ? String(value) : `${value}h`;
348
+ }
349
+
350
+ const VGridContainer = vue.defineComponent({
351
+ name: 'VGridContainer',
352
+ inheritAttrs: false,
353
+ props: { ...vueUtils.htmlAttributesPropOptions,
354
+ wrapperTag: {
355
+ type: String,
356
+ default: 'div'
357
+ },
358
+ tag: {
359
+ type: String,
360
+ default: 'div'
361
+ },
362
+ spacing: undefined,
363
+ spacingX: undefined,
364
+ spacingY: undefined,
365
+ direction: undefined,
366
+ wrap: undefined,
367
+ alignContent: undefined,
368
+ justifyContent: undefined
369
+ },
370
+
371
+ setup(props, ctx) {
372
+ const data = vue.computed(() => {
373
+ const classes = [];
374
+ const attrs = { ...ctx.attrs
375
+ };
376
+ const {
377
+ spacing,
378
+ spacingX,
379
+ spacingY,
380
+ direction,
381
+ wrap,
382
+ alignContent,
383
+ justifyContent
384
+ } = props;
385
+ const wrapperClass = attrs.class;
386
+ const wrapperStyle = attrs.style;
387
+ delete attrs.class;
388
+ delete attrs.style;
389
+ delete attrs.spacing;
390
+ delete attrs.spacingX;
391
+ delete attrs.spacingY;
392
+ delete attrs.direction;
393
+ delete attrs.wrap;
394
+ delete attrs.alignContent;
395
+ delete attrs.justifyContent; // spacingX = mergeSpacing(spacing, spacingX);
396
+ // spacingY = mergeSpacing(spacing, spacingY);
397
+ // if (!spacingX) {
398
+ // spacingX = spacing;
399
+ // }
400
+ // align &&
401
+ // classes.push(extractRawGridItemValueClasses(align, 'self-align-'));
402
+ // justify &&
403
+ // classes.push(extractRawGridItemValueClasses(justify, 'self-justify-'));
404
+
405
+ spacing != null && classes.push(extractRawGridValueClasses(spacing, 'grid-spacing-', spacingValueToString));
406
+ spacingX != null && classes.push(extractRawGridValueClasses(spacingX, 'grid-spacing-x-', spacingValueToString));
407
+ spacingY != null && classes.push(extractRawGridValueClasses(spacingY, 'grid-spacing-y-', spacingValueToString));
408
+ direction && classes.push(extractRawGridValueClasses(direction, 'direction-'));
409
+ wrap && classes.push(extractRawGridValueClasses(wrap, ''));
410
+ alignContent && classes.push(extractRawGridValueClasses(alignContent, 'align-'));
411
+ justifyContent && classes.push(extractRawGridValueClasses(justifyContent, 'justify-'));
412
+ return {
413
+ wrapperClass,
414
+ wrapperStyle,
415
+ classes,
416
+ attrs
417
+ };
418
+ });
419
+ return () => {
420
+ const WrapperTag = props.wrapperTag;
421
+ const TagName = props.tag;
422
+ const {
423
+ wrapperClass,
424
+ wrapperStyle,
425
+ classes,
426
+ attrs
427
+ } = data.value;
428
+ return vue.createVNode(WrapperTag, {
429
+ "class": ['v-grid-container-wrapper', wrapperClass],
430
+ "style": wrapperStyle
431
+ }, {
432
+ default: () => [vue.createVNode(TagName, vue.mergeProps({
433
+ "class": ['v-grid-container grid-container', classes]
434
+ }, attrs), ctx.slots)]
435
+ });
436
+ };
437
+ }
438
+
439
+ });
440
+
277
441
  function createPaperBaseProps() {
278
442
  return {
279
443
  color: String,
@@ -450,7 +614,8 @@ function resolveRawVButtonIcon(raw, type = 'main') {
450
614
  }, null);
451
615
  }
452
616
 
453
- const vueButtonProps = vueUtils.createPropsOptions({ ...vueColorScheme.colorSchemeProps(),
617
+ const vueButtonProps = vueUtils.createPropsOptions({ ...vueUtils.htmlAttributesPropOptions,
618
+ ...vueColorScheme.colorSchemeProps(),
454
619
  ...vueUtils.navigationableInheritProps,
455
620
  spacer: [Boolean, String],
456
621
  loading: Boolean,
@@ -995,7 +1160,7 @@ function _isSlot$c(s) {
995
1160
 
996
1161
  const VHero = vue.defineComponent({
997
1162
  name: 'VHero',
998
- props: {
1163
+ props: { ...vueUtils.htmlAttributesPropOptions,
999
1164
  color: {
1000
1165
  type: String,
1001
1166
  default: 'primary'
@@ -1007,7 +1172,8 @@ const VHero = vue.defineComponent({
1007
1172
  hTag: {
1008
1173
  type: String,
1009
1174
  default: 'h1'
1010
- }
1175
+ },
1176
+ ...vueUtils.defineSlotsProps()
1011
1177
  },
1012
1178
 
1013
1179
  setup(props, ctx) {
@@ -1016,6 +1182,7 @@ const VHero = vue.defineComponent({
1016
1182
 
1017
1183
  const TagName = props.tag;
1018
1184
  const HTagName = props.hTag;
1185
+ const adornment = vueUtils.renderSlotOrEmpty(ctx.slots, 'adornment');
1019
1186
  return vue.createVNode(vueAppLayout.VAppContainer, {
1020
1187
  "pulled": true
1021
1188
  }, {
@@ -1026,7 +1193,9 @@ const VHero = vue.defineComponent({
1026
1193
  "class": "v-hero__title"
1027
1194
  }, _isSlot$c(_slot = vueUtils.renderSlotOrEmpty(ctx.slots, 'default')) ? _slot : {
1028
1195
  default: () => [_slot]
1029
- })]
1196
+ }), adornment && vue.createVNode("div", {
1197
+ "class": "v-hero__adornment"
1198
+ }, [adornment])]
1030
1199
  })]
1031
1200
  });
1032
1201
  };
@@ -2096,7 +2265,10 @@ const VWysiwygEditor = vue.defineComponent({
2096
2265
  tools: {
2097
2266
  type: Array,
2098
2267
  default: () => []
2099
- }
2268
+ },
2269
+ floatingToolbar: Boolean,
2270
+ disabledMinHeight: Boolean,
2271
+ disabledMaxHeight: Boolean
2100
2272
  },
2101
2273
  emits: { ...vueFormControl.createTextableEmits()
2102
2274
  },
@@ -2126,6 +2298,9 @@ const VWysiwygEditor = vue.defineComponent({
2126
2298
  };
2127
2299
 
2128
2300
  vue.watch(() => inputControl.canOperation, updateEditable);
2301
+ vue.watch(() => props.modelValue, modelValue => {
2302
+ editor.value && editor.value.commands.setContent(modelValue == null ? '' : modelValue);
2303
+ });
2129
2304
  const editor = vue3.useEditor({
2130
2305
  onCreate: ({
2131
2306
  editor
@@ -2151,7 +2326,7 @@ const VWysiwygEditor = vue.defineComponent({
2151
2326
  class: 'v-wysiwyg-editor__input__prose'
2152
2327
  }
2153
2328
  }
2154
- });
2329
+ }); // editor.value.state.doc.content
2155
2330
 
2156
2331
  const focus = (position, options) => {
2157
2332
  return editor.value.chain().focus(position, options);
@@ -2166,7 +2341,7 @@ const VWysiwygEditor = vue.defineComponent({
2166
2341
  editor: editor.value
2167
2342
  }));
2168
2343
 
2169
- const createTools = (floating = false) => {
2344
+ const createTools = (bubbleMenu = false) => {
2170
2345
  let _slot;
2171
2346
 
2172
2347
  const {
@@ -2175,10 +2350,13 @@ const VWysiwygEditor = vue.defineComponent({
2175
2350
  const {
2176
2351
  value: context
2177
2352
  } = wysiwygContext;
2178
- const tools = floating ? settings.tools.filter(t => !!t.floating) : settings.tools;
2353
+ const tools = bubbleMenu ? settings.tools.filter(t => !!t.floating) : settings.tools;
2179
2354
  const _editor = editor.value;
2180
- const variant = vui.setting(floating ? 'containedVariant' : 'plainVariant');
2355
+ const variant = vui.setting(bubbleMenu ? 'containedVariant' : 'plainVariant');
2181
2356
  return vue.createVNode(VButtonGroup, {
2357
+ "class": {
2358
+ 'v-wysiwyg-editor__floating-toolbar': props.floatingToolbar
2359
+ },
2182
2360
  "variant": variant
2183
2361
  }, _isSlot$7(_slot = tools.map(({
2184
2362
  key,
@@ -2201,6 +2379,7 @@ const VWysiwygEditor = vue.defineComponent({
2201
2379
 
2202
2380
  if (!iconName) return;
2203
2381
  return vue.createVNode(VButton, {
2382
+ "tabindex": -1,
2204
2383
  "key": key,
2205
2384
  "icon": iconName,
2206
2385
  "onClick": ev => onClick(context, ev),
@@ -2226,7 +2405,10 @@ const VWysiwygEditor = vue.defineComponent({
2226
2405
  return vue.createVNode(VFormControl, {
2227
2406
  "nodeControl": this.nodeControl,
2228
2407
  "focused": this.nodeControl.focused,
2229
- "class": ['v-wysiwyg-editor', this.classes],
2408
+ "class": ['v-wysiwyg-editor', this.classes, `v-wysiwyg-editor--${this.size}`, {
2409
+ 'v-wysiwyg-editor--disabled-min-heihgt': this.disabledMinHeight,
2410
+ 'v-wysiwyg-editor--disabled-max-heihgt': this.disabledMaxHeight
2411
+ }],
2230
2412
  "label": this.label,
2231
2413
  "hint": this.hint,
2232
2414
  "hiddenInfo": this.hiddenInfo,
@@ -2240,7 +2422,11 @@ const VWysiwygEditor = vue.defineComponent({
2240
2422
  const {
2241
2423
  editor
2242
2424
  } = this;
2243
- return vue.createVNode(vue.Fragment, null, [!this.isReadonly && this.createTools(), vue.createVNode(VControlField, {
2425
+ return vue.createVNode("div", {
2426
+ "class": "v-wysiwyg-editor__wrapper"
2427
+ }, [!this.isReadonly && this.createTools(), vue.createVNode("div", {
2428
+ "class": "v-wysiwyg-editor__body"
2429
+ }, [vue.createVNode(VControlField, {
2244
2430
  "class": "v-wysiwyg-editor__input",
2245
2431
  "autoHeight": true,
2246
2432
  "startAdornment": this.startAdornment,
@@ -2252,14 +2438,14 @@ const VWysiwygEditor = vue.defineComponent({
2252
2438
  return vue.createVNode(vue.Fragment, null, [vue.createVNode(vue3.EditorContent, {
2253
2439
  "class": "v-wysiwyg-editor__input__element wysiwyg",
2254
2440
  "editor": editor
2255
- }, null), !!editor && !this.isReadonly && vue.createVNode(vue3.BubbleMenu, {
2441
+ }, null), !this.floatingToolbar && !!editor && !this.isReadonly && vue.createVNode(vue3.BubbleMenu, {
2256
2442
  "class": "v-wysiwyg-editor__bubble-menu",
2257
2443
  "editor": editor
2258
2444
  }, _isSlot$7(_slot2 = this.createTools(true)) ? _slot2 : {
2259
2445
  default: () => [_slot2]
2260
2446
  })]);
2261
2447
  }
2262
- })]);
2448
+ })])]);
2263
2449
  },
2264
2450
  infoAppends: () => {
2265
2451
  const {
@@ -2357,11 +2543,15 @@ const WysiwygHistoryTool = (vui, options) => {
2357
2543
  const WysiwygLinkTool = (vui, options) => {
2358
2544
  const tool = {
2359
2545
  key: 'link',
2360
- icon: ({ editor }) => {
2361
- return vui.icon(editor.isActive('link') ? 'editorLinkOff' : 'editorLink');
2362
- },
2363
- // icon: vui.icon('editorLink'),
2546
+ // icon: ({ editor }) => {
2547
+ // return vui.icon(editor.isActive('link') ? 'editorLinkOff' : 'editorLink');
2548
+ // },
2549
+ icon: vui.icon('editorLink'),
2364
2550
  active: ({ editor }) => editor.isActive('link'),
2551
+ // disabled: ({ editor }) => {
2552
+ // const { $from, $to } = editor.view.state.selection;
2553
+ // return $to.pos - $from.pos === 0;
2554
+ // },
2365
2555
  onClick: async ({ vui, editor }) => {
2366
2556
  const { href = '' } = editor.getAttributes('link');
2367
2557
  const result = await vui.prompt({
@@ -2377,7 +2567,6 @@ const WysiwygLinkTool = (vui, options) => {
2377
2567
  return;
2378
2568
  }
2379
2569
  const range = editor.chain().focus().extendMarkRange('link');
2380
- console.log(range);
2381
2570
  if (!result) {
2382
2571
  range.unsetLink().run();
2383
2572
  }
@@ -3842,6 +4031,10 @@ const VToolbarTitle = vue.defineComponent({
3842
4031
  const DEFAULT_AUTO_SCROLL_TO_ELEMENT_OFFSET_TOP = -20;
3843
4032
  const DEFAULT_TEXTAREA_ROWS = 3;
3844
4033
  class VuiService {
4034
+ get scroller() {
4035
+ return vueScroller.getDocumentScroller();
4036
+ }
4037
+
3845
4038
  constructor(options, stackService) {
3846
4039
  this.options = options;
3847
4040
  this.configure();
@@ -4050,6 +4243,8 @@ exports.VContentSwitcher = VContentSwitcher;
4050
4243
  exports.VDataTable = VDataTable;
4051
4244
  exports.VDrawerLayout = VDrawerLayout;
4052
4245
  exports.VForm = VForm;
4246
+ exports.VGridContainer = VGridContainer;
4247
+ exports.VGridItem = VGridItem;
4053
4248
  exports.VHero = VHero;
4054
4249
  exports.VIcon = VIcon;
4055
4250
  exports.VListTile = VListTile;