@nexdom/uimed-vue 2.0.0-beta.39 → 2.0.0-beta.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.
- package/AGENTS.md +1 -1
- package/dist/components.d.ts +1 -1
- package/dist/components.js +85 -27
- package/package.json +1 -1
package/AGENTS.md
CHANGED
|
@@ -210,7 +210,7 @@ Use an existing composable (e.g. `use-toast`) as the reference, and deliver in t
|
|
|
210
210
|
- Public components/composables are re-exported from `src/components/index.ts` and `src/composables/index.ts`. Prop types stay internal (`types.ts` is not re-exported); consumers derive them with `ComponentProps` (see [Usage](#usage)).
|
|
211
211
|
- Every publicly exported component must use the `U` prefix on its export identifier (e.g., `UButton`, `UMain`), while internal file names and component names remain unprefixed.
|
|
212
212
|
- Use [JSDoc](https://jsdoc.app/about-getting-started) on every method/prop/type intended to be part of the public API — it's the primary documentation surface and supports markdown/code examples.
|
|
213
|
-
- Known workarounds (see CONTRIBUTING.md before touching related config): `stryker-vue-ignorer` patches a Stryker/Vue macro-hoisting issue; `vue-tsc` is used for type-check instead of Vite+'s built-in one due to an oxlint/Vue support gap.
|
|
213
|
+
- Known workarounds (see CONTRIBUTING.md before touching related config): `stryker-vue-ignorer` patches a Stryker/Vue macro-hoisting issue; `vue-tsc` is used for type-check instead of Vite+'s built-in one due to an oxlint/Vue support gap; the internal `SkeletonLoader` wraps Vuetify's skeleton loader so its loading announcement gets valid ARIA attributes in server rendering. All are meant to be removed once fixed upstream — don't build further on top of them without checking if they're still needed.
|
|
214
214
|
|
|
215
215
|
## Testing conventions
|
|
216
216
|
|
package/dist/components.d.ts
CHANGED
|
@@ -463,8 +463,8 @@ declare const __VLS_export$16: import("vue", { with: { "resolution-mode": "impor
|
|
|
463
463
|
"onUpdate:modelValue"?: ((value: string) => any) | undefined;
|
|
464
464
|
}>, {
|
|
465
465
|
variant: TextFieldVariant;
|
|
466
|
-
clearable: boolean;
|
|
467
466
|
type: TextFieldType;
|
|
467
|
+
clearable: boolean;
|
|
468
468
|
}, {}, {}, {}, string, import("vue", { with: { "resolution-mode": "import" } }).ComponentProvideOptions, false, {}, any>;
|
|
469
469
|
//#endregion
|
|
470
470
|
//#region src/components/inputs/checkbox/types.d.ts
|
package/dist/components.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { a as messages, n as owners$1, r as requests, s as useVuetifyColor } from "./use-dialog-Ck2_ZW7T.js";
|
|
2
|
-
import { useMask } from "vuetify";
|
|
2
|
+
import { useLocale, useMask } from "vuetify";
|
|
3
3
|
import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createSlots, createTextVNode, createVNode, defineComponent, guardReactiveProps, inject, isRef, mergeModels, mergeProps, nextTick, normalizeClass, normalizeProps, onMounted, onScopeDispose, onUnmounted, openBlock, provide, readonly, ref, renderList, renderSlot, resolveDynamicComponent, shallowRef, toDisplayString, toValue, unref, useId, useModel, useSlots, useTemplateRef, watch, withCtx, withKeys, withModifiers } from "vue";
|
|
4
4
|
import { pt } from "vuetify/locale";
|
|
5
5
|
import { VApp, VAppBar, VAppBarNavIcon, VAppBarTitle, VAutocomplete, VAvatar, VBadge, VBtn, VCard, VCardActions, VCardText, VCheckboxBtn, VCol, VCombobox, VContainer, VDataIterator, VDatePicker, VDialog, VDivider, VEmptyState, VExpansionPanel, VExpansionPanelText, VExpansionPanelTitle, VExpansionPanels, VFooter, VForm, VIcon, VIconBtn, VImg, VList, VListGroup, VListItem, VListItemAction, VListSubheader, VLocaleProvider, VMain, VMenu, VNavigationDrawer, VPagination, VProgressCircular, VProgressLinear, VRow, VSkeletonLoader, VSnackbarQueue, VTable, VTextField, VTimePicker } from "vuetify/components";
|
|
@@ -113,6 +113,78 @@ function isIgnoredTarget(event) {
|
|
|
113
113
|
return event.target instanceof Element && event.target.closest(IGNORED_TARGETS) !== null;
|
|
114
114
|
}
|
|
115
115
|
//#endregion
|
|
116
|
+
//#region src/composables/dimensions/dimensions.ts
|
|
117
|
+
/**
|
|
118
|
+
* Vuetify's utility class that stretches a component to the whole width of its parent, for
|
|
119
|
+
* components with a `fullWidth` prop.
|
|
120
|
+
*/
|
|
121
|
+
function useFullWidth(fullWidth) {
|
|
122
|
+
return computed(() => toValue(fullWidth) ? "w-100" : void 0);
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Vuetify's utility class that stretches a component to the whole height of its parent, for
|
|
126
|
+
* components with a `fullHeight` prop. The parent must have a height of its own.
|
|
127
|
+
*/
|
|
128
|
+
function useFullHeight(fullHeight) {
|
|
129
|
+
return computed(() => toValue(fullHeight) ? "h-100" : void 0);
|
|
130
|
+
}
|
|
131
|
+
//#endregion
|
|
132
|
+
//#region src/components/skeleton-loader/skeleton-loader.vue
|
|
133
|
+
var skeleton_loader_default = /* @__PURE__ */ defineComponent({
|
|
134
|
+
inheritAttrs: false,
|
|
135
|
+
__name: "skeleton-loader",
|
|
136
|
+
props: {
|
|
137
|
+
loading: {
|
|
138
|
+
type: Boolean,
|
|
139
|
+
required: false
|
|
140
|
+
},
|
|
141
|
+
type: {
|
|
142
|
+
type: null,
|
|
143
|
+
required: true
|
|
144
|
+
},
|
|
145
|
+
fullWidth: {
|
|
146
|
+
type: Boolean,
|
|
147
|
+
required: false
|
|
148
|
+
},
|
|
149
|
+
fullHeight: {
|
|
150
|
+
type: Boolean,
|
|
151
|
+
required: false
|
|
152
|
+
},
|
|
153
|
+
color: {
|
|
154
|
+
type: String,
|
|
155
|
+
required: false
|
|
156
|
+
}
|
|
157
|
+
},
|
|
158
|
+
setup(__props) {
|
|
159
|
+
const props = __props;
|
|
160
|
+
const { t } = useLocale();
|
|
161
|
+
const widthClass = useFullWidth(() => props.fullWidth);
|
|
162
|
+
const heightClass = useFullHeight(() => props.fullHeight);
|
|
163
|
+
const loadingAttrs = computed(() => ({
|
|
164
|
+
ariaLabel: void 0,
|
|
165
|
+
ariaLive: void 0,
|
|
166
|
+
"aria-label": t("$vuetify.loading"),
|
|
167
|
+
"aria-live": "polite"
|
|
168
|
+
}));
|
|
169
|
+
return (_ctx, _cache) => {
|
|
170
|
+
return openBlock(), createBlock(unref(VSkeletonLoader), mergeProps({
|
|
171
|
+
loading: props.loading,
|
|
172
|
+
type: props.type,
|
|
173
|
+
color: props.color,
|
|
174
|
+
class: [unref(widthClass), unref(heightClass)]
|
|
175
|
+
}, loadingAttrs.value), {
|
|
176
|
+
default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
|
|
177
|
+
_: 3
|
|
178
|
+
}, 16, [
|
|
179
|
+
"loading",
|
|
180
|
+
"type",
|
|
181
|
+
"color",
|
|
182
|
+
"class"
|
|
183
|
+
]);
|
|
184
|
+
};
|
|
185
|
+
}
|
|
186
|
+
});
|
|
187
|
+
//#endregion
|
|
116
188
|
//#region src/components/app-bar/app-bar.vue?vue&type=script&setup=true&lang.ts
|
|
117
189
|
const _hoisted_1$3 = { class: "opacity-60" };
|
|
118
190
|
//#endregion
|
|
@@ -194,7 +266,7 @@ var app_bar_default = /* @__PURE__ */ defineComponent({
|
|
|
194
266
|
"data-testid": props.dataTestid,
|
|
195
267
|
"aria-busy": props.loading || void 0
|
|
196
268
|
}, {
|
|
197
|
-
append: withCtx(() => [createVNode(
|
|
269
|
+
append: withCtx(() => [createVNode(skeleton_loader_default, {
|
|
198
270
|
loading: props.loading,
|
|
199
271
|
type: "avatar"
|
|
200
272
|
}, {
|
|
@@ -692,7 +764,7 @@ var navigation_menu_default = /* @__PURE__ */ defineComponent({
|
|
|
692
764
|
"data-testid",
|
|
693
765
|
"disabled"
|
|
694
766
|
])])]),
|
|
695
|
-
default: withCtx(() => [createVNode(unref(VDivider)), createVNode(
|
|
767
|
+
default: withCtx(() => [createVNode(unref(VDivider)), createVNode(skeleton_loader_default, {
|
|
696
768
|
loading: props.loading,
|
|
697
769
|
type: "list-item@6",
|
|
698
770
|
color: "primary"
|
|
@@ -757,22 +829,6 @@ var footer_default = /* @__PURE__ */ defineComponent({
|
|
|
757
829
|
}
|
|
758
830
|
});
|
|
759
831
|
//#endregion
|
|
760
|
-
//#region src/composables/dimensions/dimensions.ts
|
|
761
|
-
/**
|
|
762
|
-
* Vuetify's utility class that stretches a component to the whole width of its parent, for
|
|
763
|
-
* components with a `fullWidth` prop.
|
|
764
|
-
*/
|
|
765
|
-
function useFullWidth(fullWidth) {
|
|
766
|
-
return computed(() => toValue(fullWidth) ? "w-100" : void 0);
|
|
767
|
-
}
|
|
768
|
-
/**
|
|
769
|
-
* Vuetify's utility class that stretches a component to the whole height of its parent, for
|
|
770
|
-
* components with a `fullHeight` prop. The parent must have a height of its own.
|
|
771
|
-
*/
|
|
772
|
-
function useFullHeight(fullHeight) {
|
|
773
|
-
return computed(() => toValue(fullHeight) ? "h-100" : void 0);
|
|
774
|
-
}
|
|
775
|
-
//#endregion
|
|
776
832
|
//#region src/components/grid/container/container.vue
|
|
777
833
|
var container_default = /* @__PURE__ */ defineComponent({
|
|
778
834
|
inheritAttrs: false,
|
|
@@ -2329,10 +2385,11 @@ var section_default = /* @__PURE__ */ defineComponent({
|
|
|
2329
2385
|
const showActions = computed(() => !!props.actions?.length);
|
|
2330
2386
|
const skeletonType = computed(() => showActions.value ? "image, actions" : "image");
|
|
2331
2387
|
return (_ctx, _cache) => {
|
|
2332
|
-
return openBlock(), createBlock(
|
|
2388
|
+
return openBlock(), createBlock(skeleton_loader_default, {
|
|
2333
2389
|
loading: props.loading,
|
|
2334
2390
|
type: skeletonType.value,
|
|
2335
|
-
|
|
2391
|
+
"full-width": props.fullWidth,
|
|
2392
|
+
"full-height": props.fullHeight
|
|
2336
2393
|
}, {
|
|
2337
2394
|
default: withCtx(() => [createCommentVNode(" The card and its actions have no alignment props, so `textAlign` uses utility classes "), createVNode(unref(VCard), {
|
|
2338
2395
|
title: title.value,
|
|
@@ -2370,7 +2427,8 @@ var section_default = /* @__PURE__ */ defineComponent({
|
|
|
2370
2427
|
}, 8, [
|
|
2371
2428
|
"loading",
|
|
2372
2429
|
"type",
|
|
2373
|
-
"
|
|
2430
|
+
"full-width",
|
|
2431
|
+
"full-height"
|
|
2374
2432
|
]);
|
|
2375
2433
|
};
|
|
2376
2434
|
}
|
|
@@ -2420,7 +2478,7 @@ var table_default = /* @__PURE__ */ defineComponent({
|
|
|
2420
2478
|
return `${props.dataTestid}-${index}`;
|
|
2421
2479
|
}
|
|
2422
2480
|
return (_ctx, _cache) => {
|
|
2423
|
-
return openBlock(), createBlock(
|
|
2481
|
+
return openBlock(), createBlock(skeleton_loader_default, {
|
|
2424
2482
|
loading: props.loading,
|
|
2425
2483
|
type: type.value
|
|
2426
2484
|
}, {
|
|
@@ -2484,10 +2542,10 @@ var details_default = /* @__PURE__ */ defineComponent({
|
|
|
2484
2542
|
const props = __props;
|
|
2485
2543
|
const outlined = computed(() => props.variant === "secondary");
|
|
2486
2544
|
return (_ctx, _cache) => {
|
|
2487
|
-
return openBlock(), createBlock(
|
|
2545
|
+
return openBlock(), createBlock(skeleton_loader_default, {
|
|
2488
2546
|
loading: props.loading,
|
|
2489
2547
|
type: "heading",
|
|
2490
|
-
width: "
|
|
2548
|
+
"full-width": ""
|
|
2491
2549
|
}, {
|
|
2492
2550
|
default: withCtx(() => [createVNode(unref(VExpansionPanels), {
|
|
2493
2551
|
flat: outlined.value,
|
|
@@ -2779,10 +2837,10 @@ var data_set_default = /* @__PURE__ */ defineComponent({
|
|
|
2779
2837
|
const filterKeys = useDataSetFilterKeys(() => props.searchKeys);
|
|
2780
2838
|
useDataSetSearchPageReset(search, page);
|
|
2781
2839
|
return (_ctx, _cache) => {
|
|
2782
|
-
return openBlock(), createBlock(
|
|
2840
|
+
return openBlock(), createBlock(skeleton_loader_default, {
|
|
2783
2841
|
loading: props.loading,
|
|
2784
2842
|
type: "card",
|
|
2785
|
-
width: "
|
|
2843
|
+
"full-width": ""
|
|
2786
2844
|
}, {
|
|
2787
2845
|
default: withCtx(() => [createVNode(unref(VDataIterator), {
|
|
2788
2846
|
ref_key: "iterator",
|