@nexdom/uimed-vue 2.0.0-beta.14 → 2.0.0-beta.16

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 CHANGED
@@ -187,6 +187,7 @@ Use an existing composable (e.g. `use-toast`) as the reference, and deliver in t
187
187
 
188
188
  - Component layout: `src/components/<name>/<name>.vue`, `types.ts` for prop/option types, `__tests__/<name>.test.ts` for unit tests. Components that belong to a group live in the group's folder (e.g. the internal `src/components/dialogs/toast.vue`).
189
189
  - Composables live in a group folder: `src/composables/<group>/<name>.ts`, with `types.ts` and `__tests__/` in the group folder (e.g. `src/composables/dialogs/use-toast.ts`).
190
+ - Library-wide configuration constants that aren't components or composables live in `src/consts/<name>.ts` (e.g. `src/consts/locale.ts`, the language set by `createUimed()` and `vueTestUtilsPluginUimed()`).
190
191
  - 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)).
191
192
  - 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.
192
193
  - 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.
@@ -145,6 +145,9 @@ type MainProps = {
145
145
  dataTestid?: string;
146
146
  /**
147
147
  * URL to logo image.
148
+ *
149
+ * The logo is decorative (`alt=""`): screen readers identify the app by
150
+ * the app bar title (`appBar.title`).
148
151
  */
149
152
  logo?: string;
150
153
  /**
@@ -1,8 +1,8 @@
1
1
  import { a as messages, n as owners, r as requests, s as useVuetifyColor } from "./use-dialog-Ck2_ZW7T.js";
2
2
  import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createSlots, createTextVNode, createVNode, defineComponent, isRef, mergeModels, mergeProps, normalizeClass, onMounted, onScopeDispose, onUnmounted, openBlock, ref, renderList, renderSlot, resolveDynamicComponent, shallowRef, toDisplayString, toValue, unref, useId, useModel, useSlots, useTemplateRef, watch, withCtx, withModifiers } from "vue";
3
+ import { pt } from "vuetify/locale";
3
4
  import { VApp, VAppBar, VAppBarNavIcon, VAppBarTitle, VAutocomplete, VAvatar, VBadge, VBtn, VCard, VCardActions, VCardItem, VCardText, VCardTitle, VCheckboxBtn, VCol, VCombobox, VContainer, VDataIterator, VDatePicker, VDialog, VDivider, VEmptyState, VExpansionPanel, VExpansionPanelText, VExpansionPanelTitle, VExpansionPanels, VForm, VIcon, VIconBtn, VImg, VList, VListGroup, VListItem, VListItemAction, VListSubheader, VLocaleProvider, VMain, VMenu, VNavigationDrawer, VPagination, VRow, VSkeletonLoader, VSnackbarQueue, VTable, VTextField, VTimePicker } from "vuetify/components";
4
5
  import { formatDateTime, isEmail, isEmpty, isPhone, isUrl } from "@nexdom/shared/utils";
5
- import { pt } from "vuetify/locale";
6
6
  //#region src/composables/navigation/use-route-props.ts
7
7
  function useRouteProps(route) {
8
8
  return computed(() => routeToProps(route));
@@ -214,6 +214,7 @@ var app_bar_default = /* @__PURE__ */ defineComponent({
214
214
  __props.logo ? (openBlock(), createBlock(unref(VImg), {
215
215
  key: 1,
216
216
  src: props.logo,
217
+ alt: "",
217
218
  height: "100%",
218
219
  width: "fit-content",
219
220
  class: "py-2 ml-5 mr-n3",
package/dist/index.js CHANGED
@@ -1,3 +1,4 @@
1
+ import { t as localeOptions } from "./locale-CM4o8cD_.js";
1
2
  import "@mdi/font/css/materialdesignicons.css";
2
3
  import "vuetify/styles";
3
4
  import "./styles/fonts/fonts.css";
@@ -9,26 +10,29 @@ import "vue";
9
10
  * @returns an instance to be used with [app.use](https://vuejs.org/guide/essentials/application.html#the-application-instance)
10
11
  */
11
12
  function createUimed() {
12
- return createVuetify({ theme: {
13
- defaultTheme: "light",
14
- themes: { light: {
15
- dark: false,
16
- colors: {
17
- background: "#EAEDF0",
18
- surface: "#FCFCFD",
19
- primary: "#00995D",
20
- secondary: "#FCFCFD",
21
- success: "#A9EFC5",
22
- warning: "#FFE596",
23
- error: "#D92D20",
24
- info: "#9ACBE5"
25
- },
26
- variables: {
27
- "border-color": "#D0D5DD",
28
- "font-body": "\"Unimed Slab\", sans-serif"
29
- }
30
- } }
31
- } });
13
+ return createVuetify({
14
+ locale: localeOptions,
15
+ theme: {
16
+ defaultTheme: "light",
17
+ themes: { light: {
18
+ dark: false,
19
+ colors: {
20
+ background: "#EAEDF0",
21
+ surface: "#FCFCFD",
22
+ primary: "#00995D",
23
+ secondary: "#FCFCFD",
24
+ success: "#A9EFC5",
25
+ warning: "#FFE596",
26
+ error: "#D92D20",
27
+ info: "#9ACBE5"
28
+ },
29
+ variables: {
30
+ "border-color": "#D0D5DD",
31
+ "font-body": "\"Unimed Slab\", sans-serif"
32
+ }
33
+ } }
34
+ }
35
+ });
32
36
  }
33
37
  //#endregion
34
38
  export { createUimed };
@@ -0,0 +1,12 @@
1
+ import { pt } from "vuetify/locale";
2
+ //#region src/consts/locale.ts
3
+ /**
4
+ * Language of the texts the components generate on their own, such as
5
+ * screen reader announcements and pagination labels. Fixed in pt-BR.
6
+ */
7
+ const localeOptions = {
8
+ locale: "pt-BR",
9
+ messages: { "pt-BR": pt }
10
+ };
11
+ //#endregion
12
+ export { localeOptions as t };
package/dist/unit-test.js CHANGED
@@ -1,3 +1,4 @@
1
+ import { t as localeOptions } from "./locale-CM4o8cD_.js";
1
2
  import { createVuetify } from "vuetify";
2
3
  import * as components from "vuetify/components";
3
4
  import * as directives from "vuetify/directives";
@@ -10,7 +11,8 @@ var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require
10
11
  //#region src/unit-test.ts
11
12
  const vuetify = createVuetify({
12
13
  components,
13
- directives
14
+ directives,
15
+ locale: localeOptions
14
16
  });
15
17
  /**
16
18
  * Vue Test Utils plugin for Uimed.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nexdom/uimed-vue",
3
- "version": "2.0.0-beta.14",
3
+ "version": "2.0.0-beta.16",
4
4
  "description": "A ui framework for NEXDOM applications.",
5
5
  "keywords": [
6
6
  "lib",