@vc-shell/framework 1.0.222 → 1.0.224
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.
- package/CHANGELOG.md +34 -0
- package/core/types/index.ts +2 -1
- package/dist/core/plugins/modularity/index.d.ts +3 -3
- package/dist/core/plugins/modularity/index.d.ts.map +1 -1
- package/dist/core/types/index.d.ts +2 -1
- package/dist/core/types/index.d.ts.map +1 -1
- package/dist/framework.js +22280 -22124
- package/dist/index.css +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/locales/en.json +2 -1
- package/dist/shared/components/blade-navigation/components/vc-blade-navigation/vc-blade-navigation.vue.d.ts.map +1 -1
- package/dist/shared/components/blade-navigation/composables/useBladeNavigation/index.d.ts.map +1 -1
- package/dist/shared/components/error-interceptor/index.d.ts.map +1 -1
- package/dist/shared/components/notifications/components/notification-container/index.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/SchemaRender.d.ts +6 -0
- package/dist/shared/modules/dynamic/components/SchemaRender.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/fields/Button.d.ts +2 -0
- package/dist/shared/modules/dynamic/components/fields/Button.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/fields/Card.d.ts +2 -0
- package/dist/shared/modules/dynamic/components/fields/Card.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/fields/Checkbox.d.ts +2 -0
- package/dist/shared/modules/dynamic/components/fields/Checkbox.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/fields/ContentField.d.ts +2 -0
- package/dist/shared/modules/dynamic/components/fields/ContentField.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/fields/CustomComponent.d.ts +2 -0
- package/dist/shared/modules/dynamic/components/fields/CustomComponent.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/fields/DynamicProperty.d.ts +2 -0
- package/dist/shared/modules/dynamic/components/fields/DynamicProperty.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/fields/EditorField.d.ts +2 -0
- package/dist/shared/modules/dynamic/components/fields/EditorField.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/fields/Fieldset.d.ts +2 -0
- package/dist/shared/modules/dynamic/components/fields/Fieldset.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/fields/GalleryField.d.ts +2 -0
- package/dist/shared/modules/dynamic/components/fields/GalleryField.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/fields/ImageField.d.ts +2 -0
- package/dist/shared/modules/dynamic/components/fields/ImageField.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/fields/InputCurrency.d.ts +2 -0
- package/dist/shared/modules/dynamic/components/fields/InputCurrency.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/fields/InputField.d.ts +2 -0
- package/dist/shared/modules/dynamic/components/fields/InputField.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/fields/MultivalueField.d.ts +2 -0
- package/dist/shared/modules/dynamic/components/fields/MultivalueField.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/fields/RadioButtonGroup.d.ts +2 -0
- package/dist/shared/modules/dynamic/components/fields/RadioButtonGroup.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/fields/RatingField.d.ts +2 -0
- package/dist/shared/modules/dynamic/components/fields/RatingField.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/fields/SelectField.d.ts +2 -0
- package/dist/shared/modules/dynamic/components/fields/SelectField.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/fields/StatusField.d.ts +2 -0
- package/dist/shared/modules/dynamic/components/fields/StatusField.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/fields/SwitchField.d.ts +2 -0
- package/dist/shared/modules/dynamic/components/fields/SwitchField.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/fields/Table.d.ts +10 -8
- package/dist/shared/modules/dynamic/components/fields/Table.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/fields/TextareaField.d.ts +2 -0
- package/dist/shared/modules/dynamic/components/fields/TextareaField.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/fields/VideoField.d.ts +2 -0
- package/dist/shared/modules/dynamic/components/fields/VideoField.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/fields/props.d.ts +2 -0
- package/dist/shared/modules/dynamic/components/fields/props.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/fields/storybook/Button.stories.d.ts +15 -9
- package/dist/shared/modules/dynamic/components/fields/storybook/Button.stories.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/fields/storybook/Card.stories.d.ts +19 -3
- package/dist/shared/modules/dynamic/components/fields/storybook/Card.stories.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/fields/storybook/Checkbox.stories.d.ts +6 -0
- package/dist/shared/modules/dynamic/components/fields/storybook/Checkbox.stories.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/fields/storybook/ContentField.stories.d.ts +10 -4
- package/dist/shared/modules/dynamic/components/fields/storybook/ContentField.stories.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/fields/storybook/EditorField.stories.d.ts +7 -1
- package/dist/shared/modules/dynamic/components/fields/storybook/EditorField.stories.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/fields/storybook/Fieldset.stories.d.ts +9 -3
- package/dist/shared/modules/dynamic/components/fields/storybook/Fieldset.stories.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/fields/storybook/GalleryField.stories.d.ts +8 -2
- package/dist/shared/modules/dynamic/components/fields/storybook/GalleryField.stories.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/fields/storybook/ImageField.stories.d.ts +11 -5
- package/dist/shared/modules/dynamic/components/fields/storybook/ImageField.stories.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/fields/storybook/InputCurrency.stories.d.ts +6 -0
- package/dist/shared/modules/dynamic/components/fields/storybook/InputCurrency.stories.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/fields/storybook/InputField.stories.d.ts +9 -3
- package/dist/shared/modules/dynamic/components/fields/storybook/InputField.stories.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/fields/storybook/MultivalueField.stories.d.ts +10 -4
- package/dist/shared/modules/dynamic/components/fields/storybook/MultivalueField.stories.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/fields/storybook/RadioButtonGroup.stories.d.ts +6 -0
- package/dist/shared/modules/dynamic/components/fields/storybook/RadioButtonGroup.stories.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/fields/storybook/RatingField.stories.d.ts +8 -2
- package/dist/shared/modules/dynamic/components/fields/storybook/RatingField.stories.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/fields/storybook/SelectField.stories.d.ts +13 -7
- package/dist/shared/modules/dynamic/components/fields/storybook/SelectField.stories.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/fields/storybook/StatusField.stories.d.ts +9 -3
- package/dist/shared/modules/dynamic/components/fields/storybook/StatusField.stories.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/fields/storybook/TextareaField.stories.d.ts +7 -1
- package/dist/shared/modules/dynamic/components/fields/storybook/TextareaField.stories.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/fields/storybook/VideoField.stories.d.ts +6 -0
- package/dist/shared/modules/dynamic/components/fields/storybook/VideoField.stories.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/fields/storybook/pages/DynamicRender.d.ts +6 -0
- package/dist/shared/modules/dynamic/components/fields/storybook/pages/DynamicRender.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/composables/useFilterBuilder/index.d.ts +1 -1
- package/dist/shared/modules/dynamic/composables/useFilterBuilder/index.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/composables/useToolbarReducer/index.d.ts +0 -1
- package/dist/shared/modules/dynamic/composables/useToolbarReducer/index.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/factories/base/useDetailsFactory.d.ts +3 -1
- package/dist/shared/modules/dynamic/factories/base/useDetailsFactory.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/factories/base/useListFactory.d.ts +1 -1
- package/dist/shared/modules/dynamic/factories/base/useListFactory.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/factories/types/index.d.ts +14 -2
- package/dist/shared/modules/dynamic/factories/types/index.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/helpers/nodeBuilder.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/helpers/override.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/helpers/visibilityHandler.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/index.d.ts +4 -4
- package/dist/shared/modules/dynamic/index.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/pages/dynamic-blade-form.vue.d.ts +2 -0
- package/dist/shared/modules/dynamic/pages/dynamic-blade-form.vue.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/pages/dynamic-blade-list.vue.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/types/index.d.ts +6 -17
- package/dist/shared/modules/dynamic/types/index.d.ts.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/ui/components/atoms/vc-badge/vc-badge.stories.d.ts +4 -4
- package/dist/ui/components/atoms/vc-button/vc-button.stories.d.ts +11 -11
- package/dist/ui/components/atoms/vc-card/vc-card.stories.d.ts +7 -7
- package/dist/ui/components/atoms/vc-container/vc-container.vue.d.ts.map +1 -1
- package/dist/ui/components/atoms/vc-hint/vc-hint.stories.d.ts +1 -1
- package/dist/ui/components/atoms/vc-icon/vc-icon.stories.d.ts +3 -3
- package/dist/ui/components/atoms/vc-image/vc-image.stories.d.ts +3 -3
- package/dist/ui/components/atoms/vc-label/vc-label.stories.d.ts +2 -2
- package/dist/ui/components/atoms/vc-link/vc-link.stories.d.ts +1 -1
- package/dist/ui/components/atoms/vc-progress/vc-progress.stories.d.ts +2 -2
- package/dist/ui/components/atoms/vc-status/vc-status.stories.d.ts +4 -4
- package/dist/ui/components/atoms/vc-switch/vc-switch.stories.d.ts +1 -1
- package/dist/ui/components/molecules/vc-breadcrumbs/vc-breadcrumbs.stories.d.ts +1 -1
- package/dist/ui/components/molecules/vc-checkbox/vc-checkbox.stories.d.ts +10 -10
- package/dist/ui/components/molecules/vc-editor/vc-editor.stories.d.ts +1 -1
- package/dist/ui/components/molecules/vc-editor/vc-editor.vue.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-field/vc-field.stories.d.ts +95 -2
- package/dist/ui/components/molecules/vc-field/vc-field.stories.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-file-upload/vc-file-upload.stories.d.ts +2 -2
- package/dist/ui/components/molecules/vc-input/vc-input.stories.d.ts +2 -2
- package/dist/ui/components/molecules/vc-input-currency/vc-input-currency.stories.d.ts +2 -2
- package/dist/ui/components/molecules/vc-multivalue/vc-multivalue.vue.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-radio-button/vc-radio-button.stories.d.ts +8 -8
- package/dist/ui/components/molecules/vc-rating/vc-rating.stories.d.ts +1 -1
- package/dist/ui/components/molecules/vc-select/vc-select.vue.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-slider/index.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-slider/vc-slider.stories.d.ts +3 -3
- package/dist/ui/components/organisms/vc-dynamic-property/vc-dynamic-property.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-gallery/vc-gallery.stories.d.ts +1 -1
- package/dist/ui/components/organisms/vc-table/_internal/vc-table-add-new/vc-table-add-new.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-table/_internal/vc-table-cell/vc-table-cell.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-table/_internal/vc-table-column-switcher/vc-table-column-switcher.vue.d.ts +1 -0
- package/dist/ui/components/organisms/vc-table/_internal/vc-table-column-switcher/vc-table-column-switcher.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-table/_internal/vc-table-empty/vc-table-empty.vue.d.ts +42 -0
- package/dist/ui/components/organisms/vc-table/_internal/vc-table-empty/vc-table-empty.vue.d.ts.map +1 -0
- package/dist/ui/components/organisms/vc-table/_internal/vc-table-mobile-item/vc-table-mobile-item.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-table/vc-table.stories.d.ts +15 -105
- package/dist/ui/components/organisms/vc-table/vc-table.stories.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-table/vc-table.vue.d.ts +3 -21
- package/dist/ui/components/organisms/vc-table/vc-table.vue.d.ts.map +1 -1
- package/package.json +4 -4
- package/shared/components/blade-navigation/components/vc-blade-navigation/vc-blade-navigation.vue +1 -0
- package/shared/components/blade-navigation/composables/useBladeNavigation/index.ts +20 -9
- package/shared/modules/dynamic/components/fields/Card.ts +1 -0
- package/shared/modules/dynamic/components/fields/GalleryField.ts +3 -2
- package/shared/modules/dynamic/components/fields/InputCurrency.ts +1 -4
- package/shared/modules/dynamic/components/fields/InputField.ts +1 -5
- package/shared/modules/dynamic/components/fields/MultivalueField.ts +1 -4
- package/shared/modules/dynamic/components/fields/SelectField.ts +1 -4
- package/shared/modules/dynamic/components/fields/Table.ts +61 -21
- package/shared/modules/dynamic/components/fields/storybook/Card.stories.ts +10 -0
- package/shared/modules/dynamic/components/fields/storybook/ContentField.stories.ts +1 -1
- package/shared/modules/dynamic/components/fields/storybook/Fieldset.stories.ts +1 -1
- package/shared/modules/dynamic/components/fields/storybook/InputField.stories.ts +1 -1
- package/shared/modules/dynamic/components/fields/storybook/SelectField.stories.ts +4 -4
- package/shared/modules/dynamic/composables/useFilterBuilder/index.ts +1 -1
- package/shared/modules/dynamic/composables/useToolbarReducer/index.ts +0 -14
- package/shared/modules/dynamic/factories/base/useDetailsFactory.ts +12 -1
- package/shared/modules/dynamic/factories/types/index.ts +20 -2
- package/shared/modules/dynamic/helpers/nodeBuilder.ts +11 -3
- package/shared/modules/dynamic/pages/dynamic-blade-form.vue +16 -11
- package/shared/modules/dynamic/pages/dynamic-blade-list.vue +37 -29
- package/shared/modules/dynamic/types/index.ts +6 -16
- package/ui/components/atoms/vc-card/vc-card.vue +2 -2
- package/ui/components/atoms/vc-container/vc-container.vue +71 -128
- package/ui/components/atoms/vc-progress/vc-progress.stories.ts +1 -1
- package/ui/components/atoms/vc-status/vc-status.stories.ts +1 -1
- package/ui/components/molecules/vc-editor/vc-editor.vue +3 -0
- package/ui/components/molecules/vc-field/vc-field.stories.ts +2 -2
- package/ui/components/molecules/vc-input/vc-input.stories.ts +1 -1
- package/ui/components/molecules/vc-select/vc-select.vue +3 -3
- package/ui/components/organisms/vc-app/vc-app.vue +2 -2
- package/ui/components/organisms/vc-table/_internal/vc-table-add-new/vc-table-add-new.vue +18 -20
- package/ui/components/organisms/vc-table/_internal/vc-table-cell/vc-table-cell.vue +23 -16
- package/ui/components/organisms/vc-table/_internal/vc-table-column-switcher/vc-table-column-switcher.vue +8 -1
- package/ui/components/organisms/vc-table/_internal/vc-table-empty/vc-table-empty.vue +76 -0
- package/ui/components/organisms/vc-table/_internal/vc-table-mobile-item/vc-table-mobile-item.vue +9 -7
- package/ui/components/organisms/vc-table/vc-table.vue +188 -358
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
v-model="item"
|
|
38
38
|
:ui-schema="form.children"
|
|
39
39
|
:context="bladeContext"
|
|
40
|
-
:current-locale="
|
|
40
|
+
:current-locale="toValue(unreffedScope)?.multilanguage?.currentLocale"
|
|
41
41
|
></SchemaRender>
|
|
42
42
|
</VcForm>
|
|
43
43
|
</div>
|
|
@@ -158,6 +158,7 @@ const isReady = ref(false);
|
|
|
158
158
|
const activeWidgetExposed = ref<CoreBladeExposed>();
|
|
159
159
|
const isBladeEditable = computed(() => !toValue("disabled" in toValue(scope || {}) && toValue(scope || {}).disabled));
|
|
160
160
|
const settings = computed(() => props.model?.settings);
|
|
161
|
+
const unreffedScope = reactiveComputed(() => toValue(scope) ?? {});
|
|
161
162
|
|
|
162
163
|
const { moduleNotifications, markAsRead } = useNotifications(settings.value?.pushNotificationType);
|
|
163
164
|
|
|
@@ -220,24 +221,29 @@ const bladeStatus = computed(() => {
|
|
|
220
221
|
});
|
|
221
222
|
|
|
222
223
|
const bladeMultilanguage = reactiveComputed(() => {
|
|
223
|
-
if (
|
|
224
|
+
if (
|
|
225
|
+
scope &&
|
|
226
|
+
toValue(unreffedScope) &&
|
|
227
|
+
"multilanguage" in toValue(unreffedScope) &&
|
|
228
|
+
toValue(unreffedScope).multilanguage
|
|
229
|
+
) {
|
|
224
230
|
return {
|
|
225
231
|
component: () => {
|
|
226
232
|
return h(VcSelect as Component, {
|
|
227
233
|
name: "currentLocale",
|
|
228
|
-
modelValue: toValue(
|
|
229
|
-
options: toValue(
|
|
234
|
+
modelValue: toValue(unreffedScope).multilanguage?.currentLocale,
|
|
235
|
+
options: toValue(unreffedScope).multilanguage?.localesOptions,
|
|
230
236
|
optionValue: "value",
|
|
231
237
|
optionLabel: "label",
|
|
232
|
-
disabled: "disabled" in toValue(
|
|
238
|
+
disabled: "disabled" in toValue(unreffedScope) && toValue(unreffedScope).disabled,
|
|
233
239
|
required: true,
|
|
234
240
|
clearable: false,
|
|
235
241
|
"onUpdate:modelValue": (e: string) => {
|
|
236
|
-
toValue(
|
|
242
|
+
toValue(unreffedScope).multilanguage?.setLocale(e);
|
|
237
243
|
},
|
|
238
244
|
});
|
|
239
245
|
},
|
|
240
|
-
currentLocale: toValue(
|
|
246
|
+
currentLocale: toValue(unreffedScope).multilanguage?.currentLocale,
|
|
241
247
|
};
|
|
242
248
|
}
|
|
243
249
|
|
|
@@ -304,12 +310,11 @@ const toolbarComputed =
|
|
|
304
310
|
emit("close:blade");
|
|
305
311
|
}
|
|
306
312
|
},
|
|
307
|
-
disabled: computed(() => toValue(
|
|
313
|
+
disabled: computed(() => toValue(toValue(unreffedScope)?.disabled)),
|
|
308
314
|
},
|
|
309
315
|
},
|
|
310
|
-
customToolbarConfig: toValue(
|
|
316
|
+
customToolbarConfig: toValue(unreffedScope)?.toolbarOverrides,
|
|
311
317
|
context: bladeContext.value,
|
|
312
|
-
scope,
|
|
313
318
|
})) ??
|
|
314
319
|
[];
|
|
315
320
|
|
|
@@ -363,7 +368,7 @@ provide("isBladeEditable", isBladeEditable);
|
|
|
363
368
|
defineExpose({
|
|
364
369
|
title: bladeTitle ?? "",
|
|
365
370
|
updateActiveWidgetCount,
|
|
366
|
-
...toRefs(
|
|
371
|
+
...toRefs(toValue(unreffedScope) ?? {}),
|
|
367
372
|
settings: toValue(settings),
|
|
368
373
|
});
|
|
369
374
|
</script>
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
:class="{
|
|
11
11
|
'tw-flex tw-flex-auto': isWidgetView,
|
|
12
12
|
}"
|
|
13
|
-
:modified="
|
|
13
|
+
:modified="unreffedScope?.modified"
|
|
14
14
|
@close="$emit('close:blade')"
|
|
15
15
|
@expand="$emit('expand:blade')"
|
|
16
16
|
@collapse="$emit('collapse:blade')"
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
'tw-p-4',
|
|
35
35
|
]"
|
|
36
36
|
>
|
|
37
|
-
<VcBreadcrumbs :items="scope?.breadcrumbs" />
|
|
37
|
+
<VcBreadcrumbs :items="toValue(scope?.breadcrumbs)" />
|
|
38
38
|
</div>
|
|
39
39
|
<VcTable
|
|
40
40
|
class="tw-grow tw-basis-0"
|
|
@@ -63,7 +63,6 @@
|
|
|
63
63
|
@pagination-click="onPaginationClick"
|
|
64
64
|
@selection-changed="onSelectionChanged"
|
|
65
65
|
@header-click="onHeaderClick"
|
|
66
|
-
@load:change="onSearchList"
|
|
67
66
|
@scroll:ptr="reload"
|
|
68
67
|
@search:change="onSearchList"
|
|
69
68
|
@row:reorder="sortRows"
|
|
@@ -129,6 +128,7 @@
|
|
|
129
128
|
<component
|
|
130
129
|
:is="component"
|
|
131
130
|
:context="itemData"
|
|
131
|
+
:blade-context="bladeContext"
|
|
132
132
|
/>
|
|
133
133
|
</template>
|
|
134
134
|
|
|
@@ -141,6 +141,7 @@
|
|
|
141
141
|
<component
|
|
142
142
|
:is="tableTemplates.mobileView"
|
|
143
143
|
:context="itemData"
|
|
144
|
+
:blade-context="bladeContext"
|
|
144
145
|
></component>
|
|
145
146
|
</template>
|
|
146
147
|
</VcTable>
|
|
@@ -163,7 +164,6 @@ import {
|
|
|
163
164
|
toRefs,
|
|
164
165
|
provide,
|
|
165
166
|
isRef,
|
|
166
|
-
onMounted,
|
|
167
167
|
} from "vue";
|
|
168
168
|
import { useI18n } from "vue-i18n";
|
|
169
169
|
import { DynamicGridSchema, ListContentSchema, SettingsSchema } from "../types";
|
|
@@ -175,7 +175,7 @@ import { notification, useBladeNavigation, usePopup } from "../../../components"
|
|
|
175
175
|
import { ListBaseBladeScope, ListBladeContext, UseList } from "../factories/types";
|
|
176
176
|
import { IParentCallArgs } from "../../../index";
|
|
177
177
|
import * as _ from "lodash-es";
|
|
178
|
-
import { toReactive, useMounted } from "@vueuse/core";
|
|
178
|
+
import { reactiveComputed, toReactive, useMounted } from "@vueuse/core";
|
|
179
179
|
import { safeIn } from "../helpers/safeIn";
|
|
180
180
|
|
|
181
181
|
export interface Props {
|
|
@@ -216,7 +216,7 @@ const title = computed(() => t(settings.value?.titleTemplate as string));
|
|
|
216
216
|
const allSelected = ref(false);
|
|
217
217
|
const searchValue = ref();
|
|
218
218
|
const selectedItemId = shallowRef();
|
|
219
|
-
const sort = shallowRef(
|
|
219
|
+
const sort = shallowRef();
|
|
220
220
|
const selectedIds = shallowRef<string[]>([]);
|
|
221
221
|
const itemsProxy = ref<Record<string, any>[]>();
|
|
222
222
|
|
|
@@ -289,6 +289,10 @@ if (props.isWidgetView) {
|
|
|
289
289
|
query.value.take = 5;
|
|
290
290
|
}
|
|
291
291
|
|
|
292
|
+
sort.value = query.value.sort ?? "createdDate:DESC";
|
|
293
|
+
|
|
294
|
+
const unreffedScope = reactiveComputed(() => toValue(scope) ?? {});
|
|
295
|
+
|
|
292
296
|
const { tableTemplates } = useTableTemplates(tableData);
|
|
293
297
|
|
|
294
298
|
const calculateColumns = (columns: ListContentSchema["columns"]) => {
|
|
@@ -356,11 +360,11 @@ const toolbarComputed =
|
|
|
356
360
|
async clickHandler() {
|
|
357
361
|
if (
|
|
358
362
|
scope &&
|
|
359
|
-
"openDetailsBlade" in toValue(
|
|
360
|
-
toValue(
|
|
361
|
-
typeof toValue(
|
|
363
|
+
"openDetailsBlade" in toValue(unreffedScope) &&
|
|
364
|
+
toValue(unreffedScope).openDetailsBlade &&
|
|
365
|
+
typeof toValue(unreffedScope).openDetailsBlade === "function"
|
|
362
366
|
) {
|
|
363
|
-
toValue(
|
|
367
|
+
toValue(unreffedScope).openDetailsBlade?.();
|
|
364
368
|
} else throw new Error("openDetailsBlade method is not defined in scope");
|
|
365
369
|
},
|
|
366
370
|
},
|
|
@@ -377,9 +381,8 @@ const toolbarComputed =
|
|
|
377
381
|
// isVisible: computed(() => isDesktop.value),
|
|
378
382
|
},
|
|
379
383
|
},
|
|
380
|
-
customToolbarConfig: toValue(
|
|
384
|
+
customToolbarConfig: toValue(unreffedScope)?.toolbarOverrides,
|
|
381
385
|
context: bladeContext.value,
|
|
382
|
-
scope,
|
|
383
386
|
})) ??
|
|
384
387
|
[];
|
|
385
388
|
|
|
@@ -408,11 +411,11 @@ const openDetailsBlade = async () => {
|
|
|
408
411
|
if (!props.isWidgetView) {
|
|
409
412
|
if (
|
|
410
413
|
scope &&
|
|
411
|
-
"openDetailsBlade" in toValue(
|
|
412
|
-
toValue(
|
|
413
|
-
typeof toValue(
|
|
414
|
+
"openDetailsBlade" in toValue(unreffedScope) &&
|
|
415
|
+
toValue(unreffedScope).openDetailsBlade &&
|
|
416
|
+
typeof toValue(unreffedScope).openDetailsBlade === "function"
|
|
414
417
|
) {
|
|
415
|
-
await toValue(
|
|
418
|
+
await toValue(unreffedScope).openDetailsBlade?.();
|
|
416
419
|
}
|
|
417
420
|
} else {
|
|
418
421
|
emit("add");
|
|
@@ -422,8 +425,12 @@ const openDetailsBlade = async () => {
|
|
|
422
425
|
const onItemClick = (item: { [x: string]: any; id?: string }) => {
|
|
423
426
|
if (!props.isWidgetView) {
|
|
424
427
|
// TODO Add to docs
|
|
425
|
-
if (
|
|
426
|
-
|
|
428
|
+
if (
|
|
429
|
+
scope &&
|
|
430
|
+
safeIn("onListItemClick", toValue(unreffedScope)) &&
|
|
431
|
+
typeof toValue(unreffedScope).onListItemClick === "function"
|
|
432
|
+
) {
|
|
433
|
+
toValue(unreffedScope).onListItemClick?.({
|
|
427
434
|
item,
|
|
428
435
|
onOpen() {
|
|
429
436
|
selectedItemId.value = item.id;
|
|
@@ -434,10 +441,10 @@ const onItemClick = (item: { [x: string]: any; id?: string }) => {
|
|
|
434
441
|
});
|
|
435
442
|
} else if (
|
|
436
443
|
scope &&
|
|
437
|
-
safeIn("openDetailsBlade", toValue(
|
|
438
|
-
typeof toValue(
|
|
444
|
+
safeIn("openDetailsBlade", toValue(unreffedScope)) &&
|
|
445
|
+
typeof toValue(unreffedScope).openDetailsBlade === "function"
|
|
439
446
|
) {
|
|
440
|
-
toValue(
|
|
447
|
+
toValue(unreffedScope).openDetailsBlade?.({
|
|
441
448
|
param: item.id,
|
|
442
449
|
onOpen() {
|
|
443
450
|
selectedItemId.value = item.id;
|
|
@@ -511,10 +518,10 @@ const onPaginationClick = async (page: number) => {
|
|
|
511
518
|
if (query.value.take) {
|
|
512
519
|
if (
|
|
513
520
|
scope &&
|
|
514
|
-
safeIn("onPaginationClick", toValue(
|
|
515
|
-
typeof toValue(
|
|
521
|
+
safeIn("onPaginationClick", toValue(unreffedScope)) &&
|
|
522
|
+
typeof toValue(unreffedScope).onPaginationClick === "function"
|
|
516
523
|
) {
|
|
517
|
-
toValue(
|
|
524
|
+
toValue(unreffedScope).onPaginationClick?.({
|
|
518
525
|
...query.value,
|
|
519
526
|
skip: (page - 1) * query.value.take,
|
|
520
527
|
});
|
|
@@ -600,9 +607,10 @@ async function handleSelectAllItems(all: boolean) {
|
|
|
600
607
|
function disabledActionHandler(disabled: { method?: string } | boolean, item: (typeof items.value)[number]): boolean {
|
|
601
608
|
if (!disabled) return false;
|
|
602
609
|
if (typeof disabled === "boolean") return disabled;
|
|
603
|
-
else if (disabled.method && typeof toValue(
|
|
604
|
-
return toValue(
|
|
605
|
-
else if (disabled.method && toValue(
|
|
610
|
+
else if (disabled.method && typeof toValue(unreffedScope)?.[disabled.method] === "function")
|
|
611
|
+
return toValue(unreffedScope)?.[disabled.method]({ item });
|
|
612
|
+
else if (disabled.method && toValue(unreffedScope)?.[disabled.method])
|
|
613
|
+
return toValue(unreffedScope)?.[disabled.method];
|
|
606
614
|
return false;
|
|
607
615
|
}
|
|
608
616
|
|
|
@@ -627,7 +635,7 @@ function actionBuilder(item: (typeof items.value)[number]): IActionBuilderResult
|
|
|
627
635
|
if (toolbarItem) {
|
|
628
636
|
await toolbarItem.clickHandler?.();
|
|
629
637
|
} else {
|
|
630
|
-
await toValue(
|
|
638
|
+
await toValue(unreffedScope)?.[action.method]?.(itemVal);
|
|
631
639
|
}
|
|
632
640
|
selectedIds.value = [];
|
|
633
641
|
}
|
|
@@ -649,7 +657,7 @@ defineExpose({
|
|
|
649
657
|
reload,
|
|
650
658
|
title,
|
|
651
659
|
updateActiveWidgetCount,
|
|
652
|
-
...toRefs(
|
|
660
|
+
...toRefs(toValue(unreffedScope) ?? {}),
|
|
653
661
|
selectedIds,
|
|
654
662
|
settings: toValue(settings),
|
|
655
663
|
});
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
VcButton,
|
|
3
|
+
VcCard,
|
|
3
4
|
VcField,
|
|
4
5
|
VcGallery,
|
|
5
6
|
VcIcon,
|
|
@@ -768,6 +769,11 @@ export interface CardSchema extends RequiredBy<Pick<SchemaBase, "id" | "label" |
|
|
|
768
769
|
* @default false
|
|
769
770
|
*/
|
|
770
771
|
removePadding?: boolean;
|
|
772
|
+
/**
|
|
773
|
+
* Card variant.
|
|
774
|
+
* @type {default | success | danger}
|
|
775
|
+
*/
|
|
776
|
+
variant?: ComponentProps<typeof VcCard>["variant"];
|
|
771
777
|
}
|
|
772
778
|
|
|
773
779
|
export interface WidgetsSchema extends Pick<SchemaBase, "id" | "horizontalSeparator"> {
|
|
@@ -883,22 +889,6 @@ export interface SwitchSchema extends Omit<SchemaBase, "placeholder" | "multilan
|
|
|
883
889
|
|
|
884
890
|
export type TableSchema = Omit<ListContentSchema, "filter"> &
|
|
885
891
|
Pick<SchemaBase, "id" | "property" | "visibility"> & {
|
|
886
|
-
/**
|
|
887
|
-
* Shows button to remove table row.
|
|
888
|
-
* Used when table is in editing mode.
|
|
889
|
-
*/
|
|
890
|
-
removeRowButton?: {
|
|
891
|
-
/**
|
|
892
|
-
* Determines whether the button should be shown or hidden.
|
|
893
|
-
*/
|
|
894
|
-
show: boolean;
|
|
895
|
-
/**
|
|
896
|
-
* Method to be called when the button is clicked.
|
|
897
|
-
* @description Method should be defined in the blade `scope`.
|
|
898
|
-
* @type {string}
|
|
899
|
-
*/
|
|
900
|
-
method: string;
|
|
901
|
-
};
|
|
902
892
|
/**
|
|
903
893
|
* Configuration for the add new row button in the table.
|
|
904
894
|
* Used when table is in editing mode.
|
|
@@ -127,7 +127,7 @@ $variants: success, danger;
|
|
|
127
127
|
&__title {
|
|
128
128
|
@apply tw-uppercase tw-flex-grow
|
|
129
129
|
tw-text-[color:var(--card-header-color)]
|
|
130
|
-
tw-text-base tw-font-bold
|
|
130
|
+
tw-text-base tw-font-bold;
|
|
131
131
|
}
|
|
132
132
|
|
|
133
133
|
&__icon {
|
|
@@ -139,7 +139,7 @@ $variants: success, danger;
|
|
|
139
139
|
}
|
|
140
140
|
|
|
141
141
|
&__body {
|
|
142
|
-
@apply tw-flex-grow tw-box-border;
|
|
142
|
+
@apply tw-flex-grow tw-box-border tw-flex-col;
|
|
143
143
|
}
|
|
144
144
|
|
|
145
145
|
@each $variant in $variants {
|
|
@@ -7,38 +7,41 @@
|
|
|
7
7
|
'vc-container_nopadding': noPadding,
|
|
8
8
|
},
|
|
9
9
|
]"
|
|
10
|
-
@touchstart="
|
|
11
|
-
@touchmove="
|
|
12
|
-
@touchend="
|
|
10
|
+
@touchstart="onTouchstart"
|
|
11
|
+
@touchmove="onTouchmove"
|
|
12
|
+
@touchend="onTouchend"
|
|
13
13
|
>
|
|
14
14
|
<div
|
|
15
|
-
|
|
16
|
-
class="vc-container__inner"
|
|
15
|
+
:class="['vc-container__overscroll', { 'vc-container__overscroll_touching': touching }]"
|
|
17
16
|
:style="{
|
|
18
|
-
|
|
17
|
+
top: -1 * pullDist + topOffset + 'px',
|
|
18
|
+
height: pullDist + 'px',
|
|
19
19
|
}"
|
|
20
20
|
>
|
|
21
|
-
<div
|
|
22
|
-
v-if="usePtr && dist > 0"
|
|
23
|
-
class="vc-container__overscroll"
|
|
24
|
-
:class="{ 'vc-container__overscroll_passed': status === 'loosing' }"
|
|
25
|
-
:style="{ height: dist ? `${dist}px` : '0px' }"
|
|
26
|
-
>
|
|
21
|
+
<div class="vc-container__status">
|
|
27
22
|
<VcIcon
|
|
28
|
-
:icon="
|
|
29
|
-
|
|
30
|
-
:style="{ transform: status === 'pulling' ? `rotate(${dist * 3}deg)` : '' }"
|
|
23
|
+
:icon="canRefresh || goingUp ? 'fas fa-arrow-up' : 'fas fa-arrow-down'"
|
|
24
|
+
class="vc-container__overscroll-icon"
|
|
31
25
|
></VcIcon>
|
|
32
|
-
<span v-if="
|
|
33
|
-
<span v-else
|
|
26
|
+
<span v-if="!(canRefresh || goingUp)">{{ $t("COMPONENTS.ATOMS.VC_CONTAINER.PULL_TO_REFRESH") }}</span>
|
|
27
|
+
<span v-else>{{ $t("COMPONENTS.ATOMS.VC_CONTAINER.REFRESHING") }}</span>
|
|
34
28
|
</div>
|
|
29
|
+
</div>
|
|
30
|
+
<div
|
|
31
|
+
ref="component"
|
|
32
|
+
class="vc-container__inner"
|
|
33
|
+
:class="{
|
|
34
|
+
'vc-container__inner_touching': touching,
|
|
35
|
+
}"
|
|
36
|
+
:style="{ top: topOffset + 'px' }"
|
|
37
|
+
>
|
|
35
38
|
<slot></slot>
|
|
36
39
|
</div>
|
|
37
40
|
</div>
|
|
38
41
|
</template>
|
|
39
42
|
|
|
40
43
|
<script lang="ts" setup>
|
|
41
|
-
import { ref, onMounted, computed,
|
|
44
|
+
import { ref, onMounted, computed, shallowRef, watch } from "vue";
|
|
42
45
|
import { VcIcon } from "./../vc-icon";
|
|
43
46
|
|
|
44
47
|
export interface Props {
|
|
@@ -51,39 +54,21 @@ export interface Emits {
|
|
|
51
54
|
(event: "scroll:ptr"): void;
|
|
52
55
|
}
|
|
53
56
|
|
|
54
|
-
|
|
57
|
+
defineProps<Props>();
|
|
55
58
|
|
|
56
59
|
const emit = defineEmits<Emits>();
|
|
57
60
|
|
|
58
61
|
const component = ref<HTMLElement>();
|
|
59
62
|
const scroll = ref(false);
|
|
60
|
-
const startY = ref(0);
|
|
61
|
-
const ceiling = ref();
|
|
62
63
|
const pullDist = ref(60);
|
|
63
|
-
const
|
|
64
|
-
|
|
65
|
-
const
|
|
64
|
+
const touchDiff = shallowRef(0);
|
|
65
|
+
let touchstartY = 0;
|
|
66
|
+
const refreshing = shallowRef(false);
|
|
67
|
+
const goingUp = shallowRef(false);
|
|
68
|
+
const touching = shallowRef(false);
|
|
66
69
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
scroll.value = (component.value && component.value.clientHeight < component.value.scrollHeight) as boolean;
|
|
70
|
-
});
|
|
71
|
-
|
|
72
|
-
if (component.value) {
|
|
73
|
-
observer.observe(component.value);
|
|
74
|
-
}
|
|
75
|
-
});
|
|
76
|
-
|
|
77
|
-
const touchable = computed(() => status.value !== "refresh" && status.value !== "success");
|
|
78
|
-
|
|
79
|
-
const iconClass = computed(() => {
|
|
80
|
-
if (status.value === "loosing") {
|
|
81
|
-
return "vc-container__overscroll-icon_refresh";
|
|
82
|
-
} else if (status.value === "pulling") {
|
|
83
|
-
return "vc-container__overscroll-icon_pulling";
|
|
84
|
-
}
|
|
85
|
-
return "vc-container__overscroll-icon";
|
|
86
|
-
});
|
|
70
|
+
const topOffset = computed(() => Math.max(0, Math.min(pullDist.value, touchDiff.value)));
|
|
71
|
+
const canRefresh = computed(() => touchDiff.value >= pullDist.value && !refreshing.value);
|
|
87
72
|
|
|
88
73
|
const scrollTop = () => {
|
|
89
74
|
if (component.value) {
|
|
@@ -91,81 +76,48 @@ const scrollTop = () => {
|
|
|
91
76
|
}
|
|
92
77
|
};
|
|
93
78
|
|
|
94
|
-
function
|
|
95
|
-
if (
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
checkPullStart(e);
|
|
79
|
+
function onTouchstart(e: TouchEvent | MouseEvent) {
|
|
80
|
+
if (refreshing.value) return;
|
|
81
|
+
touching.value = true;
|
|
82
|
+
touchstartY = "clientY" in e ? e.clientY : e.touches[0].clientY;
|
|
99
83
|
}
|
|
100
84
|
|
|
101
|
-
function
|
|
102
|
-
if (
|
|
103
|
-
const touch = e.touches[0];
|
|
104
|
-
if (!touchable.value) {
|
|
105
|
-
return;
|
|
106
|
-
}
|
|
85
|
+
function onTouchmove(e: TouchEvent | MouseEvent) {
|
|
86
|
+
if (refreshing.value || !touching.value) return;
|
|
107
87
|
|
|
108
|
-
|
|
109
|
-
checkPullStart(e);
|
|
110
|
-
}
|
|
88
|
+
const touchY = "clientY" in e ? e.clientY : e.touches[0].clientY;
|
|
111
89
|
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
if (ceiling.value && delta.value >= 0 && delta.value < 80) {
|
|
115
|
-
e.preventDefault();
|
|
116
|
-
|
|
117
|
-
setStatus(ease(delta.value));
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
function touchEnd(): void {
|
|
123
|
-
if (delta.value && touchable.value) {
|
|
124
|
-
if (status.value === "loosing") {
|
|
125
|
-
nextTick(() => emit("scroll:ptr"));
|
|
126
|
-
}
|
|
127
|
-
setStatus(0);
|
|
90
|
+
if (scroll.value) {
|
|
91
|
+
touchDiff.value = touchY - touchstartY;
|
|
128
92
|
}
|
|
129
93
|
}
|
|
130
94
|
|
|
131
|
-
function
|
|
132
|
-
|
|
95
|
+
function onTouchend() {
|
|
96
|
+
if (refreshing.value) return;
|
|
97
|
+
touching.value = false;
|
|
133
98
|
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
ceiling.value = getScrollTop(component.value as HTMLElement) === 0;
|
|
139
|
-
|
|
140
|
-
if (ceiling.value) {
|
|
141
|
-
startY.value = e.touches[0].clientY;
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
function setStatus(distance: number) {
|
|
146
|
-
let stat;
|
|
147
|
-
if (distance === 0) {
|
|
148
|
-
stat = "normal";
|
|
99
|
+
if (canRefresh.value) {
|
|
100
|
+
touchDiff.value = 0;
|
|
101
|
+
refreshing.value = false;
|
|
102
|
+
emit("scroll:ptr");
|
|
149
103
|
} else {
|
|
150
|
-
|
|
151
|
-
}
|
|
152
|
-
dist.value = distance;
|
|
153
|
-
if (stat !== status.value) {
|
|
154
|
-
status.value = stat;
|
|
104
|
+
touchDiff.value = 0;
|
|
155
105
|
}
|
|
156
106
|
}
|
|
157
107
|
|
|
158
|
-
|
|
159
|
-
const
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
}
|
|
108
|
+
onMounted(() => {
|
|
109
|
+
const observer = new ResizeObserver(() => {
|
|
110
|
+
scroll.value = (component.value && component.value.clientHeight < component.value.scrollHeight) as boolean;
|
|
111
|
+
});
|
|
112
|
+
|
|
113
|
+
if (component.value) {
|
|
114
|
+
observer.observe(component.value);
|
|
166
115
|
}
|
|
167
|
-
|
|
168
|
-
|
|
116
|
+
});
|
|
117
|
+
|
|
118
|
+
watch(topOffset, (newVal, oldVal) => {
|
|
119
|
+
goingUp.value = newVal < oldVal;
|
|
120
|
+
});
|
|
169
121
|
|
|
170
122
|
defineExpose({
|
|
171
123
|
scrollTop,
|
|
@@ -190,33 +142,29 @@ defineExpose({
|
|
|
190
142
|
}
|
|
191
143
|
|
|
192
144
|
&__overscroll {
|
|
193
|
-
@apply tw-
|
|
145
|
+
@apply tw-absolute tw-w-full [transition:top_0.3s_ease-out];
|
|
194
146
|
|
|
195
|
-
&
|
|
196
|
-
@apply tw-
|
|
147
|
+
&_touching {
|
|
148
|
+
@apply tw-transition-none;
|
|
197
149
|
}
|
|
198
150
|
}
|
|
199
151
|
|
|
152
|
+
&__status {
|
|
153
|
+
@apply tw-flex tw-w-full tw-h-full tw-justify-center tw-items-center tw-pb-[10px];
|
|
154
|
+
}
|
|
155
|
+
|
|
200
156
|
&__overscroll-icon {
|
|
201
157
|
@apply tw-text-[color:#a1c0d4];
|
|
202
|
-
|
|
203
|
-
&_pulling {
|
|
204
|
-
@apply tw-text-[color:#a1c0d4];
|
|
205
|
-
}
|
|
206
|
-
|
|
207
|
-
&_refresh {
|
|
208
|
-
animation: tw-spin 2s linear infinite;
|
|
209
|
-
}
|
|
210
158
|
}
|
|
211
159
|
|
|
212
160
|
&__overscroll span {
|
|
213
|
-
@apply tw-
|
|
161
|
+
@apply tw-ml-2 tw-text-sm tw-text-gray-500;
|
|
214
162
|
}
|
|
215
163
|
|
|
216
164
|
&__inner {
|
|
217
165
|
@apply tw-relative tw-overflow-y-auto tw-overflow-x-hidden
|
|
218
166
|
tw-flex-1 tw-p-[var(--container-scroll-padding)]
|
|
219
|
-
|
|
167
|
+
[transition:top_0.3s_ease-out] [scrollbar-color:var(--container-scroll-color)] [scrollbar-width:thin];
|
|
220
168
|
|
|
221
169
|
&::-webkit-scrollbar {
|
|
222
170
|
@apply tw-w-[var(--container-scroll-width)] tw-bg-transparent;
|
|
@@ -232,19 +180,14 @@ defineExpose({
|
|
|
232
180
|
tw-overflow-x-hidden
|
|
233
181
|
hover:tw-bg-[color:var(--container-scroll-color-hover)];
|
|
234
182
|
}
|
|
183
|
+
|
|
184
|
+
&_touching {
|
|
185
|
+
transition: none;
|
|
186
|
+
}
|
|
235
187
|
}
|
|
236
188
|
|
|
237
189
|
&_nopadding &__inner {
|
|
238
190
|
@apply tw-p-0;
|
|
239
191
|
}
|
|
240
192
|
}
|
|
241
|
-
|
|
242
|
-
@keyframes tw-spin {
|
|
243
|
-
from {
|
|
244
|
-
transform: rotate(0deg);
|
|
245
|
-
}
|
|
246
|
-
to {
|
|
247
|
-
transform: rotate(360deg);
|
|
248
|
-
}
|
|
249
|
-
}
|
|
250
193
|
</style>
|
|
@@ -36,7 +36,7 @@ export default {
|
|
|
36
36
|
},
|
|
37
37
|
},
|
|
38
38
|
aspectRatio: {
|
|
39
|
-
control: "
|
|
39
|
+
control: "object",
|
|
40
40
|
table: {
|
|
41
41
|
type: {
|
|
42
42
|
summary: "number[]",
|
|
@@ -44,7 +44,7 @@ export default {
|
|
|
44
44
|
},
|
|
45
45
|
},
|
|
46
46
|
},
|
|
47
|
-
}
|
|
47
|
+
} satisfies Meta;
|
|
48
48
|
|
|
49
49
|
const Template: StoryFn = (args) => ({
|
|
50
50
|
components: { VcField },
|