@nexdom/uimed-vue 2.6.0 → 2.7.0

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.
@@ -34,6 +34,7 @@ var navigation_menu_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/
34
34
  emits: ["update:modelValue"],
35
35
  setup(__props) {
36
36
  const props = __props;
37
+ const layoutOrder = 1;
37
38
  const open = useModel(__props, "modelValue");
38
39
  const search = ref("");
39
40
  const searchFieldDefaults = { VTextField: { hideDetails: "auto" } };
@@ -89,8 +90,8 @@ var navigation_menu_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/
89
90
  permanent: !unref(mobile),
90
91
  rail: !unref(mobile),
91
92
  "expand-on-hover": "",
92
- absolute: "",
93
93
  temporary: "",
94
+ order: layoutOrder,
94
95
  onFocusin: unref(onFocusin),
95
96
  onFocusout: unref(onFocusout),
96
97
  onMouseenter: unref(onMouseenter),
@@ -149,11 +150,12 @@ var navigation_menu_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/
149
150
  type: "list-item@6",
150
151
  color: "tertiary"
151
152
  }, {
152
- default: withCtx(() => [createCommentVNode(" Vuetify's `list` role only allows list items, but the items are links.\n `indent` aligns the items of a group with its title, which the 24px between the icons and\n the titles (`settings.scss`) move 8px to the left of Vuetify's default indentation. It\n replaces the group's prepend width too, so it's the icon (24px) plus that gap (24px) "), createVNode(unref(VList), {
153
+ default: withCtx(() => [createCommentVNode(" Vuetify's `list` role only allows list items, but the items are links.\n Vuetify makes the list the only tab stop and takes its items out of the tab order, for the arrow\n keys: the items are links and buttons, so each one is a tab stop instead (the arrow keys still\n move between them), and the list stays out of the tab order.\n `indent` aligns the items of a group with its title, which the 24px between the icons and\n the titles (`settings.scss`) move 8px to the left of Vuetify's default indentation. It\n replaces the group's prepend width too, so it's the icon (24px) plus that gap (24px) "), createVNode(unref(VList), {
153
154
  opened: unref(opened),
154
155
  "onUpdate:opened": _cache[1] || (_cache[1] = ($event) => isRef(opened) ? opened.value = $event : null),
155
156
  nav: "",
156
157
  role: "group",
158
+ tabindex: "-1",
157
159
  indent: 48
158
160
  }, {
159
161
  default: withCtx(() => [(openBlock(true), createElementBlock(Fragment, null, renderList(filteredItems.value, (item, index) => {
@@ -168,6 +170,7 @@ var navigation_menu_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/
168
170
  "aria-expanded": isOpen,
169
171
  "aria-selected": void 0,
170
172
  role: void 0,
173
+ tabindex: "0",
171
174
  tag: "button",
172
175
  type: "button",
173
176
  class: "w-100 text-start v-treeview-item--activatable-group-activator"
@@ -180,6 +183,7 @@ var navigation_menu_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/
180
183
  default: withCtx(() => [(openBlock(true), createElementBlock(Fragment, null, renderList(item.items, (childItem, childIndex) => {
181
184
  return openBlock(), createBlock(unref(VListItem), mergeProps({ key: childIndex }, { ref_for: true }, unref(routeToListItemProps)(childItem.route), {
182
185
  title: childItem.description,
186
+ tabindex: "0",
183
187
  onClick: childItem.action
184
188
  }), null, 16, ["title", "onClick"]);
185
189
  }), 128))]),
@@ -188,7 +192,10 @@ var navigation_menu_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/
188
192
  key: 1,
189
193
  title: item.description,
190
194
  "prepend-icon": unref(icons)[item.icon]
191
- }, { ref_for: true }, unref(routeToListItemProps)(item.route), { onClick: item.action }), null, 16, [
195
+ }, { ref_for: true }, unref(routeToListItemProps)(item.route), {
196
+ tabindex: "0",
197
+ onClick: item.action
198
+ }), null, 16, [
192
199
  "title",
193
200
  "prepend-icon",
194
201
  "onClick"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nexdom/uimed-vue",
3
- "version": "2.6.0",
3
+ "version": "2.7.0",
4
4
  "description": "A ui framework for NEXDOM applications.",
5
5
  "keywords": [
6
6
  "lib",
@@ -11,7 +11,7 @@ Responsável por carregar o menu superior, o menu de navegação lateral, o roda
11
11
  | `dataTestid` | `string` | | Aplica atributo `data-testid` para testes sobre o componente. |
12
12
  | `logo` | `string` | | URL utilizada para carregar a logo que será apresentada. A logo é decorativa (`alt=""`): o título do menu superior (`appBar.title`) identifica a aplicação. |
13
13
  | `appBar` | [`AppBar`](#appbar) | | Conjunto de propriedades para aplicar à barra superior. |
14
- | `navigationMenu` | [`NavigationMenu`](#navigationmenu) | | Conjunto de propriedades para aplicar ao menu lateral de navegação. |
14
+ | `navigationMenu` | [`NavigationMenu`](#navigationmenu) | | Conjunto de propriedades para aplicar ao menu lateral de navegação, fixo à esquerda da tela. |
15
15
  | `footer` | [`Footer`](#footer) | | Conjunto de propriedades para aplicar ao rodapé, fixo na parte inferior da tela e com a mesma elevação do menu superior. **O rodapé será ocultado sempre que essa prop for omitida ou o seu `description` for vazio.** |
16
16
  | `loading` | `boolean` | `false` | Exibe skeletons no lugar das ações do menu superior e dos itens do menu de navegação enquanto os dados são carregados. O conteúdo da página não é afetado. |
17
17
  | `background` | `"primary" \| "secondary" \| "tertiary" \| "positive" \| "informative" \| "caution" \| "danger"` | | Aplica uma cor ao fundo de toda a aplicação, como em landing pages. O texto colocado diretamente sobre o fundo passa a usar a cor associada a ele (branco, verde-escuro ou preto), enquanto o menu superior, o rodapé, as sections e os diálogos mantêm os próprios fundos. **Quando omitida, a aplicação usa o fundo padrão do tema.** |
@@ -218,6 +218,8 @@ Em telas largas (a partir de 1145px), o menu fica sempre visível à esquerda do
218
218
 
219
219
  Em telas pequenas, o menu fica oculto e é aberto sobre o conteúdo pelo botão "Menu de navegação" do menu superior.
220
220
 
221
+ O menu fica fixo na tela enquanto a página rola, abaixo do menu superior e acima do rodapé, quando ele é exibido. Se os itens não couberem na altura disponível, apenas a lista do menu rola, e a busca continua no topo dele.
222
+
221
223
  Os itens e grupos do primeiro nível do menu exibem um ícone antes da sua descrição, informado pelo nome na propriedade obrigatória `icon`. Os nomes disponíveis estão em [Ícones](../icons.md). Os itens dentro de um grupo não aceitam ícones, para que o menu siga o mesmo padrão visual em todas as aplicações.
222
224
 
223
225
  O menu também conta com um campo de busca que filtra itens e grupos em tempo real, no formato _case-insensitive_. Enquanto há texto na busca, os grupos com resultados ficam abertos, mostrando os itens encontrados. Um grupo ainda pode ser fechado pelo seu cabeçalho, até o texto mudar de novo. Ao limpar a busca, ficam abertos os grupos que estavam abertos antes dela.