@fastkit/vui 1.1.0 → 1.1.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 (64) hide show
  1. package/dist/vui.css +3 -3
  2. package/dist/vui.d.ts +6 -4
  3. package/dist/vui.mjs +21 -43
  4. package/dist/vui.mjs.map +1 -1
  5. package/package.json +17 -17
  6. package/src/components/VAvatar/VAvatar.scss +4 -4
  7. package/src/components/VAvatar/VAvatar.tsx +0 -1
  8. package/src/components/VBreadcrumbs/VBreadcrumbs.scss +2 -2
  9. package/src/components/VBreadcrumbs/VBreadcrumbs.tsx +1 -1
  10. package/src/components/VBusyImage/VBusyImage.scss +1 -1
  11. package/src/components/VButton/VButton.scss +3 -3
  12. package/src/components/VButton/VButton.tsx +0 -1
  13. package/src/components/VCard/VCard.scss +2 -2
  14. package/src/components/VCheckable/VCheckable.scss +1 -1
  15. package/src/components/VCheckbox/VCheckbox.scss +3 -3
  16. package/src/components/VCheckbox/VCheckbox.tsx +0 -1
  17. package/src/components/VChip/VChip.scss +4 -4
  18. package/src/components/VChip/VChip.tsx +0 -1
  19. package/src/components/VControlField/VControlField.scss +1 -1
  20. package/src/components/VControlField/VControlField.tsx +1 -2
  21. package/src/components/VDataTable/VDataTable.scss +3 -3
  22. package/src/components/VDataTable/VDataTable.tsx +0 -2
  23. package/src/components/VDialog/VDialog.scss +1 -1
  24. package/src/components/VDisabledReason/VDisabledReason.scss +1 -1
  25. package/src/components/VForm/VForm.tsx +20 -8
  26. package/src/components/VFormControl/VFormControl.scss +1 -1
  27. package/src/components/VFormControl/VFormControl.tsx +2 -6
  28. package/src/components/VFormGroup/VFormGroup.tsx +0 -1
  29. package/src/components/VGrid/schemes.ts +0 -1
  30. package/src/components/VListTile/VListTile.scss +1 -1
  31. package/src/components/VListTile/VListTile.tsx +0 -2
  32. package/src/components/VNavigation/VNavigation.tsx +1 -2
  33. package/src/components/VNavigation/VNavigationItem.tsx +1 -4
  34. package/src/components/VNumberField/VNumberField.tsx +0 -1
  35. package/src/components/VOption/VOption.scss +1 -1
  36. package/src/components/VOption/VOption.tsx +0 -1
  37. package/src/components/VPagination/VPagination.scss +2 -2
  38. package/src/components/VPagination/VPagination.tsx +1 -2
  39. package/src/components/VRadio/VRadio.scss +1 -1
  40. package/src/components/VRadio/VRadio.tsx +0 -1
  41. package/src/components/VSelect/VSelect.scss +2 -2
  42. package/src/components/VSelect/VSelect.tsx +1 -3
  43. package/src/components/VSheetModal/VSheetModal.tsx +0 -1
  44. package/src/components/VSkeltonLoader/VSkeltonLoaderBone.scss +4 -4
  45. package/src/components/VSwitch/VSwitch.scss +1 -1
  46. package/src/components/VSwitch/VSwitch.tsx +0 -1
  47. package/src/components/VTabs/VTab.scss +3 -3
  48. package/src/components/VTabs/VTabs.tsx +1 -4
  49. package/src/components/VTextField/VTextField.scss +3 -3
  50. package/src/components/VTextField/VTextField.tsx +0 -1
  51. package/src/components/VTextarea/VTextarea.scss +2 -2
  52. package/src/components/VTextarea/VTextarea.tsx +0 -1
  53. package/src/components/VToolbar/VToolbarMenu.tsx +0 -1
  54. package/src/composables/form-selector.tsx +1 -2
  55. package/src/plugin.tsx +1 -2
  56. package/src/service.tsx +0 -1
  57. package/src/styles/base.scss +2 -2
  58. package/src/styles/core/functions.scss +4 -3
  59. package/src/styles/core.scss +2 -2
  60. package/src/styles/elevation.scss +1 -1
  61. package/src/styles/group.scss +3 -3
  62. package/src/styles/index.scss +7 -7
  63. package/src/styles/typo.scss +1 -1
  64. package/src/styles/variables.scss +22 -22
package/dist/vui.css CHANGED
@@ -1524,10 +1524,10 @@
1524
1524
  height:1px;
1525
1525
  overflow:hidden;
1526
1526
  position:absolute;
1527
+ white-space:nowrap;
1527
1528
  width:1px;
1528
1529
  clip:rect(0 0 0 0);
1529
1530
  clip-path:inset(100%);
1530
- white-space:nowrap;
1531
1531
  }
1532
1532
  .v-checkable__faux{
1533
1533
  align-items:center;
@@ -1716,10 +1716,10 @@
1716
1716
  height:1px;
1717
1717
  overflow:hidden;
1718
1718
  position:absolute;
1719
+ white-space:nowrap;
1719
1720
  width:1px;
1720
1721
  clip:rect(0 0 0 0);
1721
1722
  clip-path:inset(100%);
1722
- white-space:nowrap;
1723
1723
  }
1724
1724
  .v-option:after,.v-option:before{
1725
1725
  content:"";
@@ -1781,10 +1781,10 @@
1781
1781
  height:1px;
1782
1782
  overflow:hidden;
1783
1783
  position:absolute;
1784
+ white-space:nowrap;
1784
1785
  width:1px;
1785
1786
  clip:rect(0 0 0 0);
1786
1787
  clip-path:inset(100%);
1787
- white-space:nowrap;
1788
1788
  }
1789
1789
  .v-select__body{
1790
1790
  padding:.5em 0;
package/dist/vui.d.ts CHANGED
@@ -624,7 +624,7 @@ declare const VTextField: vue.DefineComponent<vue.ExtractPropTypes<{
624
624
  error: boolean;
625
625
  showOwnErrors: boolean;
626
626
  detach: boolean;
627
- type: "number" | "time" | "text" | "search" | "color" | "email" | "tel" | "url" | "date" | "datetime-local" | "month" | "password";
627
+ type: "number" | "search" | "time" | "text" | "color" | "email" | "tel" | "url" | "date" | "datetime-local" | "month" | "password";
628
628
  hiddenInfo: boolean;
629
629
  maskModel: _fastkit_vue_form_control.TextInputMaskModel;
630
630
  limit: boolean;
@@ -2475,7 +2475,7 @@ declare const VBusyImage: vue.DefineComponent<vue.ExtractPropTypes<{
2475
2475
  results: PropType<(string | number) | undefined>;
2476
2476
  security: PropType<string | undefined>;
2477
2477
  unselectable: PropType<"off" | "on" | undefined>;
2478
- inputmode: PropType<"text" | "search" | "none" | "decimal" | "email" | "numeric" | "tel" | "url" | undefined>;
2478
+ inputmode: PropType<"search" | "text" | "none" | "decimal" | "email" | "numeric" | "tel" | "url" | undefined>;
2479
2479
  is: PropType<string | undefined>;
2480
2480
  'aria-activedescendant': PropType<string | undefined>;
2481
2481
  'aria-atomic': PropType<(boolean | "true" | "false") | undefined>;
@@ -2670,7 +2670,7 @@ declare const VBusyImage: vue.DefineComponent<vue.ExtractPropTypes<{
2670
2670
  results: PropType<(string | number) | undefined>;
2671
2671
  security: PropType<string | undefined>;
2672
2672
  unselectable: PropType<"off" | "on" | undefined>;
2673
- inputmode: PropType<"text" | "search" | "none" | "decimal" | "email" | "numeric" | "tel" | "url" | undefined>;
2673
+ inputmode: PropType<"search" | "text" | "none" | "decimal" | "email" | "numeric" | "tel" | "url" | undefined>;
2674
2674
  is: PropType<string | undefined>;
2675
2675
  'aria-activedescendant': PropType<string | undefined>;
2676
2676
  'aria-atomic': PropType<(boolean | "true" | "false") | undefined>;
@@ -6799,7 +6799,9 @@ declare const VForm: vue.DefineComponent<vue.ExtractPropTypes<{
6799
6799
  default: undefined;
6800
6800
  };
6801
6801
  detach: BooleanConstructor;
6802
- }>, () => vue_jsx_runtime.JSX.Element, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
6802
+ }>, {
6803
+ control: VueForm;
6804
+ }, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
6803
6805
  submit: (form: VueForm, ev: Event) => boolean;
6804
6806
  'update:sending': (sending: boolean, form: VueForm) => boolean;
6805
6807
  finishAction: (actionContext: _fastkit_vue_form_control.FormActionContext) => boolean;
package/dist/vui.mjs CHANGED
@@ -33,7 +33,7 @@ import { createPropsOptions, typedSlotWithCtx, defineSlots, typedSlotsWithCtx, r
33
33
  export * from '@fastkit/vue-utils';
34
34
  import * as vue_loading_star from '@fastkit/vue-loading';
35
35
  export * from '@fastkit/vue-loading';
36
- import { defineComponent, computed, createVNode, mergeProps, ref, watch, onMounted, onBeforeUnmount, Fragment, isVNode, cloneVNode, withDirectives, vShow, onBeforeUpdate, Transition, inject, provide, createTextVNode, nextTick, vModelSelect, reactive } from 'vue';
36
+ import { defineComponent, computed, createVNode, mergeProps, ref, watch, onMounted, onBeforeUnmount, Fragment, isVNode, cloneVNode, withDirectives, vShow, onBeforeUpdate, Transition, inject, provide, createTextVNode, getCurrentInstance, nextTick, vModelSelect, reactive } from 'vue';
37
37
  import { defineDisabledReasonComponent, DISABLED_REASON_CONTAINER_BIND } from '@fastkit/vue-disabled-reason';
38
38
  import { loadImage } from '@fastkit/dom';
39
39
  import { useRouter, useRoute, RouterLink, useLink } from 'vue-router';
@@ -427,9 +427,8 @@ var VFormControl = defineComponent({
427
427
  ...slots(),
428
428
  error: Boolean
429
429
  },
430
- slots,
431
430
  emits,
432
- // eslint-disable-next-line no-shadow
431
+ slots,
433
432
  setup(props12, ctx) {
434
433
  const vui = useVui();
435
434
  const control = useFormNodeWrapper(props12, ctx, {
@@ -466,10 +465,7 @@ var VFormControl = defineComponent({
466
465
  "v-form-control--untouched": control.untouched,
467
466
  "v-form-control--invalid": control.invalid,
468
467
  "v-form-control--valid": control.valid
469
- }, colorProvider.className(
470
- // eslint-disable-next-line no-nested-ternary
471
- props12.error ? "error" : control.invalid && !control.isReadonly ? "error" : "primary"
472
- )]);
468
+ }, colorProvider.className(props12.error ? "error" : control.invalid && !control.isReadonly ? "error" : "primary")]);
473
469
  const getRequiredChip = createRequiredChipRenderer(() => control.isRequired, props12, vui);
474
470
  const handleClick = (ev) => ctx.emit("clickLabel", ev, control);
475
471
  return () => {
@@ -545,9 +541,8 @@ function defineFormSelectorComponent(opts) {
545
541
  failedToLoadItemsMessage: {},
546
542
  ...slots2()
547
543
  },
548
- slots: slots2,
549
544
  emits: emits12,
550
- // eslint-disable-next-line no-shadow
545
+ slots: slots2,
551
546
  setup(props13, ctx) {
552
547
  const selectorControl = useFormSelectorControl(props13, ctx, {
553
548
  nodeType,
@@ -827,7 +822,6 @@ var VSheetModal = defineComponent({
827
822
  inheritAttrs: false,
828
823
  props: sheetModalProps,
829
824
  emits: emits2,
830
- // eslint-disable-next-line no-shadow
831
825
  setup(props12, ctx) {
832
826
  const stackControl = useStackControl(props12, ctx, {
833
827
  stackType: SHEET_STACK_TYPE
@@ -1983,16 +1977,11 @@ var VListTile = defineComponent({
1983
1977
  "v-list-tile--active": isActive.value
1984
1978
  }];
1985
1979
  });
1986
- watch(
1987
- () => isActive.value,
1988
- // eslint-disable-next-line no-shadow
1989
- (isActive2) => {
1990
- ctx.emit("changeActive", isActive2);
1991
- },
1992
- {
1993
- immediate: true
1994
- }
1995
- );
1980
+ watch(() => isActive.value, (isActive2) => {
1981
+ ctx.emit("changeActive", isActive2);
1982
+ }, {
1983
+ immediate: true
1984
+ });
1996
1985
  return () => {
1997
1986
  const _startIcon = startIcon.value;
1998
1987
  const _endIcon = endIcon.value;
@@ -2307,7 +2296,6 @@ var VNavigation = defineComponent({
2307
2296
  }, [$caption]), items.value.map((item) => renderNavigationItemInput(item, {
2308
2297
  class: "v-navigation__item",
2309
2298
  startIconEmptySpace: startIconEmptySpace.value,
2310
- // eslint-disable-next-line no-shadow
2311
2299
  ref: (ref10) => {
2312
2300
  setItemRef(item, ref10);
2313
2301
  },
@@ -2345,10 +2333,10 @@ var VControlField = defineComponent({
2345
2333
  ...slots5(),
2346
2334
  error: Boolean
2347
2335
  },
2348
- slots: slots5,
2349
2336
  emits: {
2350
2337
  click: (ev) => true
2351
2338
  },
2339
+ slots: slots5,
2352
2340
  setup(props12, ctx) {
2353
2341
  const parentNode = useParentFormNode();
2354
2342
  const control = useControl(props12);
@@ -2366,10 +2354,7 @@ var VControlField = defineComponent({
2366
2354
  "v-control-field--readonly": readonly.value,
2367
2355
  "v-control-field--focused": props12.focused,
2368
2356
  "v-control-field--auto-height": autoHeight.value
2369
- }, control.classes.value, colorProvider.className(
2370
- // eslint-disable-next-line no-nested-ternary
2371
- props12.error ? "error" : invalid.value && !readonly.value ? "error" : "primary"
2372
- )];
2357
+ }, control.classes.value, colorProvider.className(props12.error ? "error" : invalid.value && !readonly.value ? "error" : "primary")];
2373
2358
  return _classes;
2374
2359
  });
2375
2360
  const resolvedSlots = computed(() => {
@@ -2474,7 +2459,6 @@ var VCheckbox = defineComponent({
2474
2459
  indeterminate: Boolean
2475
2460
  },
2476
2461
  emits: emits3,
2477
- // eslint-disable-next-line no-shadow
2478
2462
  setup(props12, ctx) {
2479
2463
  const nodeControl = useFormSelectorItemControl(props12, ctx, {
2480
2464
  nodeType: VUI_CHECKBOX_SYMBOL,
@@ -2538,7 +2522,6 @@ var VRadio = defineComponent({
2538
2522
  ...createControlProps()
2539
2523
  },
2540
2524
  emits: emits4,
2541
- // eslint-disable-next-line no-shadow
2542
2525
  setup(props12, ctx) {
2543
2526
  const nodeControl = useFormSelectorItemControl(props12, ctx, {
2544
2527
  nodeType: VUI_RADIO_SYMBOL,
@@ -2591,7 +2574,6 @@ var VSwitch = defineComponent({
2591
2574
  ...createControlProps()
2592
2575
  },
2593
2576
  emits: emits5,
2594
- // eslint-disable-next-line no-shadow
2595
2577
  setup(props12, ctx) {
2596
2578
  const nodeControl = useFormSelectorItemControl(props12, ctx, {
2597
2579
  nodeType: VUI_SWITCH_SYMBOL,
@@ -2655,7 +2637,6 @@ var VOption = defineComponent({
2655
2637
  ...createControlProps()
2656
2638
  },
2657
2639
  emits: emits6,
2658
- // eslint-disable-next-line no-shadow
2659
2640
  setup(props12, ctx) {
2660
2641
  const nodeControl = useFormSelectorItemControl(props12, ctx, {
2661
2642
  nodeType: VUI_OPTION_SYMBOL,
@@ -2738,9 +2719,8 @@ var VSelect = defineComponent({
2738
2719
  }),
2739
2720
  closeOnNavigation: Boolean
2740
2721
  },
2741
- slots: slots7,
2742
2722
  emits: emits7,
2743
- // eslint-disable-next-line no-shadow
2723
+ slots: slots7,
2744
2724
  setup(props12, ctx) {
2745
2725
  const menuRef = ref(null);
2746
2726
  const menuOpened = ref(false);
@@ -3057,7 +3037,6 @@ var VTextField = defineComponent({
3057
3037
  props: createTextFieldProps(),
3058
3038
  emits: emits8,
3059
3039
  slots: slots8,
3060
- // eslint-disable-next-line no-shadow
3061
3040
  setup(props12, ctx) {
3062
3041
  const inputControl = useTextInputNodeControl(props12, ctx, {
3063
3042
  nodeType: VUI_TEXT_FIELD_SYMBOL
@@ -3175,7 +3154,6 @@ var VTextarea = defineComponent({
3175
3154
  ...slots9()
3176
3155
  },
3177
3156
  emits: emits9,
3178
- // eslint-disable-next-line no-shadow
3179
3157
  setup(props12, ctx) {
3180
3158
  const vui = useVui();
3181
3159
  const inputControl = useTextareaNodeControl(props12, ctx, {
@@ -3242,7 +3220,6 @@ var VFormGroup = defineComponent({
3242
3220
  props: createVFormGroupProps(),
3243
3221
  emits: emits10,
3244
3222
  slots: formGroupSlots,
3245
- // eslint-disable-next-line no-shadow
3246
3223
  setup(props12, ctx) {
3247
3224
  const nodeControl = useFormGroup(props12, ctx, {
3248
3225
  nodeType: VUI_FORM_GROUP_SYMBOL
@@ -3260,6 +3237,10 @@ var {
3260
3237
  } = createFormSettings({
3261
3238
  nodeType: VUI_FORM_SYMBOL
3262
3239
  });
3240
+ function useRender(render) {
3241
+ const vm = getCurrentInstance();
3242
+ vm.render = render;
3243
+ }
3263
3244
  var formSlots = defineSlots();
3264
3245
  function createVFormProps() {
3265
3246
  return {
@@ -3273,7 +3254,6 @@ var VForm = defineComponent({
3273
3254
  props: createVFormProps(),
3274
3255
  emits: emits11,
3275
3256
  slots: formSlots,
3276
- // eslint-disable-next-line no-shadow
3277
3257
  setup(props12, ctx) {
3278
3258
  const nodeControl = useForm(props12, ctx, {
3279
3259
  nodeType: VUI_FORM_SYMBOL
@@ -3287,12 +3267,12 @@ var VForm = defineComponent({
3287
3267
  "v-form--sending": nodeControl.sending
3288
3268
  }]);
3289
3269
  useControl(props12);
3290
- ctx.expose({
3291
- control: nodeControl
3292
- });
3293
- return () => createVNode("form", mergeProps({
3270
+ useRender(() => createVNode("form", mergeProps({
3294
3271
  "class": classes.value
3295
- }, nodeControl.formAttrs), [ctx.slots.default?.(nodeControl)]);
3272
+ }, nodeControl.formAttrs), [ctx.slots.default?.(nodeControl)]));
3273
+ return {
3274
+ control: nodeControl
3275
+ };
3296
3276
  }
3297
3277
  });
3298
3278
  function _isSlot8(s) {
@@ -4764,7 +4744,6 @@ var VuiService = class {
4764
4744
  const _onClick = BUILTIN_ACTION_HANDLERS[key];
4765
4745
  const action = {
4766
4746
  key,
4767
- // eslint-disable-next-line no-shadow
4768
4747
  content: ({
4769
4748
  control,
4770
4749
  key: key2
@@ -4826,7 +4805,6 @@ var VuiPlugin = class {
4826
4805
  options: {
4827
4806
  behavior: "smooth"
4828
4807
  },
4829
- // eslint-disable-next-line no-shadow
4830
4808
  fn: (el, opts2) => {
4831
4809
  if (window.getComputedStyle(el).scrollMargin) return;
4832
4810
  const duration = opts2?.behavior === "smooth" ? void 0 : 0;