@quidgest/ui 0.25.0 → 0.26.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.
package/CHANGELOG.md CHANGED
@@ -9,6 +9,22 @@ On `0.x`, breaking changes typically ship as a **minor** bump. The `/release` wo
9
9
 
10
10
  Entries below start at **0.16.0**. Earlier history is in git / GitLab MRs. Patch releases within a minor line may be summarized under that minor unless a break shipped in between.
11
11
 
12
+ ## [0.26.0] - 2026-09-23
13
+
14
+ ### Added
15
+
16
+ - `QSection` — title `prepend`/`append` slots
17
+
18
+ ### Changed
19
+
20
+ - **Breaking:** `QTextField` / `QTextArea` — the `id` prop now resolves onto the `.q-field` wrapper element instead of the native `<input>`/`<textarea>`; the interactive control renders with a derived `${id}_input` id instead. Update selectors or `document.getElementById` calls that target the input/textarea by the raw `id` to use `${id}_input`; the component's own `<label for>` association is unaffected. This also affects `QPhoneField`, `QPasswordField`, and `QColorPicker`, which build on `QTextField`.
21
+ - Dropped `!important` from component styles, making consumer style overrides easier
22
+
23
+ ### Fixed
24
+
25
+ - Consolidated border handling on `q-border-color`, affecting `QDivider`, `QOverlay`, `QPropertyList`, `QSection`
26
+ - `QBadge` — icons sized at `sm` instead of `md`
27
+
12
28
  ## [0.25.0] - 2026-09-21
13
29
 
14
30
  ### Added
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.25.0",
2
+ "version": "0.26.0",
3
3
  "components": [
4
4
  {
5
5
  "name": "QAccordion",
@@ -8210,6 +8210,14 @@
8210
8210
  ],
8211
8211
  "events": [],
8212
8212
  "slots": [
8213
+ {
8214
+ "name": "title.prepend",
8215
+ "description": ""
8216
+ },
8217
+ {
8218
+ "name": "title.append",
8219
+ "description": ""
8220
+ },
8213
8221
  {
8214
8222
  "name": "default",
8215
8223
  "description": ""
@@ -8242,6 +8250,11 @@
8242
8250
  "description": "Group box with different styling variants.",
8243
8251
  "code": "<div style=\"display: flex; flex-direction: column; gap: 1rem;\">\n\t\t\t\t<q-section title=\"Default\" variant=\"default\">\n\t\t\t\t\t<p>Default variant content</p>\n\t\t\t\t</q-section>\n\t\t\t\t<q-section title=\"Background\" variant=\"background\">\n\t\t\t\t\t<p>Background variant content</p>\n\t\t\t\t</q-section>\n\t\t\t\t<q-section title=\"Minor\" variant=\"minor\">\n\t\t\t\t\t<p>Minor variant content</p>\n\t\t\t\t</q-section>\n\t\t\t\t<q-section title=\"Minor Border Top\" variant=\"minor-border-top\">\n\t\t\t\t\t<p>Minor with border top variant content</p>\n\t\t\t\t</q-section>\n\t\t\t\t<q-section title=\"Title Background\" variant=\"title-background\">\n\t\t\t\t\t<p>Title background variant content</p>\n\t\t\t\t</q-section>\n\t\t\t</div>"
8244
8252
  },
8253
+ {
8254
+ "title": "Custom Title",
8255
+ "description": "A section with custom content prepended and appended to the title.",
8256
+ "code": "<q-section v-bind=\"args\">\n\t\t\t\t<template #title.prepend>\n\t\t\t\t\t<q-badge\n\t\t\t\t\t\tcolor=\"warning\"\n\t\t\t\t\t\tvariant=\"bold\">\n\t\t\t\t\t\tBadge\n\t\t\t\t\t</q-badge>\n\t\t\t\t</template>\n\t\t\t\t<template #title.append>\n\t\t\t\t\t<q-icon icon=\"file-chart-outline\" />\n\t\t\t\t</template>\n\t\t\t\t<span>Example of a group box</span>\n\t\t\t</q-section>"
8257
+ },
8245
8258
  {
8246
8259
  "title": "Nested Groups",
8247
8260
  "description": "Nested group boxes demonstrating hierarchy.",
@@ -9265,7 +9278,7 @@
9265
9278
  {
9266
9279
  "title": "With Title Slots",
9267
9280
  "description": "Tabs with title, prepend, and append slots.",
9268
- "code": "<q-tabs v-bind=\"args\">\n\t\t\t\t<q-tab title=\"Inbox\" value=\"inbox\">\n\t\t\t\t\t<template #title.prepend>📥</template>\n\t\t\t\t\t<template #title.append>(3)</template>\n\t\t\t\t\tInbox messages.\n\t\t\t\t</q-tab>\n\t\t\t\t<q-tab title=\"Sent\" value=\"sent\">\n\t\t\t\t\t<template #title.prepend>📤</template>\n\t\t\t\t\tSent messages.\n\t\t\t\t</q-tab>\n\t\t\t\t<q-tab value=\"alerts\">\n\t\t\t\t\t<template #title>\n\t\t\t\t\t\t<q-badge\n\t\t\t\t\t\t\tvariant=\"bold\"\n\t\t\t\t\t\t\tpill\n\t\t\t\t\t\t\tstyle=\"height: 1.25rem; margin-block: -0.25rem\">\n\t\t\t\t\t\t\tAlerts\n\t\t\t\t\t\t</q-badge>\n\t\t\t\t\t</template>\n\t\t\t\t\tAlert notifications.\n\t\t\t\t</q-tab>\n\t\t\t</q-tabs>"
9281
+ "code": "<q-tabs v-bind=\"args\">\n\t\t\t\t<q-tab title=\"Inbox\" value=\"inbox\">\n\t\t\t\t\t<template #title.prepend>📥</template>\n\t\t\t\t\t<template #title.append>(3)</template>\n\t\t\t\t\tInbox messages.\n\t\t\t\t</q-tab>\n\t\t\t\t<q-tab title=\"Sent\" value=\"sent\">\n\t\t\t\t\t<template #title.prepend>📤</template>\n\t\t\t\t\tSent messages.\n\t\t\t\t</q-tab>\n\t\t\t\t<q-tab value=\"alerts\">\n\t\t\t\t\t<template #title>\n\t\t\t\t\t\t<q-badge\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\tpill\n\t\t\t\t\t\t\tvariant=\"bold\">\n\t\t\t\t\t\t\tAlerts\n\t\t\t\t\t\t</q-badge>\n\t\t\t\t\t</template>\n\t\t\t\t\tAlert notifications.\n\t\t\t\t</q-tab>\n\t\t\t</q-tabs>"
9269
9282
  },
9270
9283
  {
9271
9284
  "title": "Disabled",
package/dist/ui.css CHANGED
@@ -1733,6 +1733,15 @@ body *::-webkit-scrollbar-track {
1733
1733
  .q-badge .q-icon {
1734
1734
  color: currentcolor;
1735
1735
  }
1736
+ .q-badge__content .q-icon__svg,
1737
+ .q-badge__content .q-icon__img, .q-badge__remove .q-icon__svg,
1738
+ .q-badge__remove .q-icon__img {
1739
+ width: var(--q-icon-size-sm);
1740
+ height: var(--q-icon-size-sm);
1741
+ }
1742
+ .q-badge__content .q-icon__font, .q-badge__remove .q-icon__font {
1743
+ font-size: var(--q-icon-size-sm);
1744
+ }
1736
1745
  .q-badge__remove.q-button {
1737
1746
  padding: var(--q-control-padding-y-sm);
1738
1747
  min-width: -moz-fit-content;
@@ -3421,7 +3430,7 @@ body *::-webkit-scrollbar-track {
3421
3430
 
3422
3431
  .q-divider {
3423
3432
  --q-divider-thickness: 1px;
3424
- --q-divider-color: var(--q-theme-neutral-light);
3433
+ --q-divider-color: var(--q-border-color);
3425
3434
  display: flex;
3426
3435
  align-items: center;
3427
3436
  justify-content: center;
@@ -6300,13 +6309,15 @@ body *::-webkit-scrollbar-track {
6300
6309
  .q-input-group__prepend > * + *, .q-input-group__append > * + * {
6301
6310
  margin-left: -1px;
6302
6311
  }
6312
+ .q-input-group.q-field:not(.q-field--disabled) > .q-field__control:focus-within {
6313
+ outline: none;
6314
+ }
6303
6315
  .q-input-group > .q-field__control {
6304
6316
  display: flex;
6305
6317
  align-items: stretch;
6306
6318
  height: auto;
6307
6319
  border-width: 0;
6308
6320
  padding: 0;
6309
- outline: none !important;
6310
6321
  }
6311
6322
  .q-input-group > .q-field__control > * + * {
6312
6323
  margin-left: -1px;
@@ -6435,7 +6446,10 @@ body *::-webkit-scrollbar-track {
6435
6446
  cursor: not-allowed;
6436
6447
  }
6437
6448
  .q-list-item--selected {
6438
- background-color: var(--q-theme-primary-light) !important;
6449
+ background-color: var(--q-theme-primary-light);
6450
+ }
6451
+ .q-list-item--selected:hover, .q-list-item--selected:focus {
6452
+ background-color: var(--q-theme-primary-light);
6439
6453
  }
6440
6454
  .q-list-item em {
6441
6455
  font-style: normal;
@@ -6781,7 +6795,7 @@ body *::-webkit-scrollbar-track {
6781
6795
  .q-overlay {
6782
6796
  --q-overlay-bg: var(--q-theme-container);
6783
6797
  --q-overlay-color: var(--q-theme-neutral-dark);
6784
- --q-overlay-border-color: var(--q-theme-neutral-light);
6798
+ --q-overlay-border-color: var(--q-border-color);
6785
6799
  --q-overlay-arrow-gap: var(--q-space-2);
6786
6800
  --q-overlay-arrow-size: calc(var(--q-overlay-arrow-gap) * 1.4142);
6787
6801
  --q-overlay-arrow-tip-radius: calc(var(--q-space-1) * 0.4);
@@ -7163,7 +7177,7 @@ body *::-webkit-scrollbar-track {
7163
7177
  display: inline-flex;
7164
7178
  width: auto;
7165
7179
  flex-direction: column;
7166
- border: var(--q-border-width) solid rgb(var(--q-theme-neutral-light-rgb)/50%);
7180
+ border: var(--q-border-width) solid var(--q-border-color);
7167
7181
  border-radius: var(--q-border-radius);
7168
7182
  overflow: hidden;
7169
7183
  }
@@ -7180,7 +7194,7 @@ body *::-webkit-scrollbar-track {
7180
7194
  flex-direction: row;
7181
7195
  }
7182
7196
  .q-property-list--side-panel .q-property-list-panel {
7183
- border-left: var(--q-border-width) solid rgb(var(--q-theme-neutral-light-rgb)/50%);
7197
+ border-left: var(--q-border-width) solid var(--q-border-color);
7184
7198
  width: calc(var(--q-space-1) * 62.5);
7185
7199
  max-height: unset;
7186
7200
  }
@@ -7255,7 +7269,7 @@ body *::-webkit-scrollbar-track {
7255
7269
  padding: var(--q-space-2) var(--q-space-4);
7256
7270
  }
7257
7271
  .q-property-list tbody td {
7258
- border-bottom: var(--q-border-width) solid rgb(var(--q-theme-neutral-light-rgb)/50%);
7272
+ border-bottom: var(--q-border-width) solid var(--q-border-color);
7259
7273
  }
7260
7274
 
7261
7275
  .q-radio-group {
@@ -7546,7 +7560,7 @@ body *::-webkit-scrollbar-track {
7546
7560
  margin: 0;
7547
7561
  margin-top: var(--q-space-1);
7548
7562
  display: flex;
7549
- align-items: flex-start;
7563
+ align-items: center;
7550
7564
  width: -moz-fit-content;
7551
7565
  width: fit-content;
7552
7566
  gap: var(--q-space-1);
@@ -7565,7 +7579,7 @@ body *::-webkit-scrollbar-track {
7565
7579
  .q-section--minor-border-top {
7566
7580
  background-color: transparent;
7567
7581
  border: none;
7568
- border-top: var(--q-border-width) solid var(--q-theme-neutral-light);
7582
+ border-top: var(--q-border-width) solid var(--q-border-color);
7569
7583
  border-radius: 0;
7570
7584
  margin-top: var(--q-space-2);
7571
7585
  padding: var(--q-space-1) 0;
@@ -7581,7 +7595,7 @@ body *::-webkit-scrollbar-track {
7581
7595
  margin-top: var(--q-space-1);
7582
7596
  }
7583
7597
  .q-section--title-background {
7584
- padding: 0 !important;
7598
+ padding: 0;
7585
7599
  }
7586
7600
  .q-section--title-background::before {
7587
7601
  position: absolute;
@@ -7793,9 +7807,12 @@ body *::-webkit-scrollbar-track {
7793
7807
  border-radius: 0;
7794
7808
  border-width: 0;
7795
7809
  border-bottom-width: var(--q-border-width);
7796
- border-bottom-color: var(--q-sidebar-border-color) !important;
7810
+ border-bottom-color: var(--q-sidebar-border-color);
7797
7811
  font-size: calc(var(--q-font-size-sm) * 0.8);
7798
7812
  }
7813
+ .q-sidebar__item.q-button:hover:not(:disabled) {
7814
+ border-bottom-color: var(--q-sidebar-border-color);
7815
+ }
7799
7816
  .q-sidebar__item.q-button .q-icon {
7800
7817
  font-size: var(--q-icon-size-lg);
7801
7818
  }
package/dist/ui.esm.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quidgest UI v0.25.0
2
+ * Quidgest UI v0.26.0
3
3
  * (c) 2026 Quidgest - Consultores de Gestão, S.A.
4
4
  * Released under the MIT License.
5
5
  */
@@ -211,8 +211,8 @@ return t({fieldRef:a}),(e,t)=>(N(),i("div",{id:n.id,class:_(u.value)},[n.label?(
211
211
  function d(e){a("click",e)}return(e,t)=>(N(),l(V(kt),{id:n.id,class:_(["q-clear-btn",n.class]),"aria-label":n.texts.clearValue,variant:"ghost",color:"neutral",borderless:"",tabindex:-1,onClick:d},{default:J(()=>[c(V(Rt),w(p(n.icons.clear)),null,16)]),_:1},8,["id","class","aria-label"]))}})),da=["id","type","maxlength","required","placeholder","readonly","disabled"],la=/*@__PURE__*/f({inheritAttrs:!1,__name:"QTextField",props:/*@__PURE__*/y({id:{},class:{},label:{},required:{type:Boolean},for:{},labelPosition:{},size:{},readonly:{type:Boolean},disabled:{type:Boolean},invalid:{type:Boolean},placeholder:{},maxLength:{},clearable:{type:Boolean},type:{default:"text"},texts:{}},{modelValue:{},modelModifiers:{}}),emits:/*@__PURE__*/y(["click:clear"],["update:modelValue"]),setup(e,{expose:t,emit:n}){const a=e,i=n,u=H(e,"modelValue"),c=d({get:()=>u.value,set:e=>{const t=a.maxLength
212
212
  u.value=t?e?.slice(0,t):e}})
213
213
  Z(u,e=>c.value=e,{immediate:!0})
214
- const f=en(F(a,"id")),v=U("field"),p=U("input"),$=d(()=>a.readonly||a.disabled?void 0:a.placeholder),m=d(()=>a.clearable&&!a.readonly&&!a.disabled),h=d(()=>m.value&&u.value)
215
- function y(e){m.value&&(u.value="",i("click:clear",e))}return t({fieldRef:d(()=>v.value?.fieldRef),inputRef:p}),(e,t)=>(N(),l(V(ea),{ref:"field",class:_(["q-text-field",a.class]),for:V(f),label:a.label,"label-position":a.labelPosition,size:a.size,readonly:a.readonly,disabled:a.disabled,required:a.required,invalid:a.invalid},s({"label.prepend":J(()=>[T(e.$slots,"label.prepend")]),"label.append":J(()=>[T(e.$slots,"label.append")]),default:J(()=>[ee(r("input",g({id:V(f),ref:"input","onUpdate:modelValue":t[0]||(t[0]=e=>c.value=e),class:"q-text-field__input",type:a.type,maxlength:a.maxLength,required:a.required,placeholder:$.value,readonly:a.readonly,disabled:a.disabled},e.$attrs),null,16,da),[[W,c.value]])]),_:2},[e.$slots.prepend?{name:"prepend",fn:J(()=>[T(e.$slots,"prepend")]),key:"0"}:void 0,e.$slots.append||h.value?{name:"append",fn:J(()=>[T(e.$slots,"append"),h.value?(N(),l(V(aa),{key:0,"data-testid":"q-text-field__clear-button",texts:a.texts,onClick:y},null,8,["texts"])):o("",!0)]),key:"1"}:void 0,e.$slots.extras?{name:"extras",fn:J(()=>[T(e.$slots,"extras")]),key:"2"}:void 0]),1032,["class","for","label","label-position","size","readonly","disabled","required","invalid"]))}}),oa={...ta},ia=qe(la),ra=["readonly","disabled","aria-label"],sa=qe(/*@__PURE__*/f({inheritAttrs:!1,__name:"QColorPicker",props:/*@__PURE__*/y({id:{},class:{},placeholder:{},label:{},size:{default:"small"},readonly:{type:Boolean},disabled:{type:Boolean},required:{type:Boolean},texts:{default:()=>Kn}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(e){const t=e,n=H(e,"modelValue"),a=E(""),o=E(""),i=d(()=>t.readonly||t.disabled)
214
+ const f=en(F(a,"id")),v=U("field"),p=U("input"),$=d(()=>`${f.value}_input`),m=d(()=>a.readonly||a.disabled?void 0:a.placeholder),h=d(()=>a.clearable&&!a.readonly&&!a.disabled),y=d(()=>h.value&&u.value)
215
+ function b(e){h.value&&(u.value="",i("click:clear",e))}return t({fieldRef:d(()=>v.value?.fieldRef),inputRef:p}),(e,t)=>(N(),l(V(ea),{id:V(f),ref:"field",class:_(["q-text-field",a.class]),for:$.value,label:a.label,"label-position":a.labelPosition,size:a.size,readonly:a.readonly,disabled:a.disabled,required:a.required,invalid:a.invalid},s({"label.prepend":J(()=>[T(e.$slots,"label.prepend")]),"label.append":J(()=>[T(e.$slots,"label.append")]),default:J(()=>[ee(r("input",g({id:$.value,ref:"input","onUpdate:modelValue":t[0]||(t[0]=e=>c.value=e),class:"q-text-field__input",type:a.type,maxlength:a.maxLength,required:a.required,placeholder:m.value,readonly:a.readonly,disabled:a.disabled},e.$attrs),null,16,da),[[W,c.value]])]),_:2},[e.$slots.prepend?{name:"prepend",fn:J(()=>[T(e.$slots,"prepend")]),key:"0"}:void 0,e.$slots.append||y.value?{name:"append",fn:J(()=>[T(e.$slots,"append"),y.value?(N(),l(V(aa),{key:0,"data-testid":"q-text-field__clear-button",texts:a.texts,onClick:b},null,8,["texts"])):o("",!0)]),key:"1"}:void 0,e.$slots.extras?{name:"extras",fn:J(()=>[T(e.$slots,"extras")]),key:"2"}:void 0]),1032,["id","class","for","label","label-position","size","readonly","disabled","required","invalid"]))}}),oa={...ta},ia=qe(la),ra=["readonly","disabled","aria-label"],sa=qe(/*@__PURE__*/f({inheritAttrs:!1,__name:"QColorPicker",props:/*@__PURE__*/y({id:{},class:{},placeholder:{},label:{},size:{default:"small"},readonly:{type:Boolean},disabled:{type:Boolean},required:{type:Boolean},texts:{default:()=>Kn}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(e){const t=e,n=H(e,"modelValue"),a=E(""),o=E(""),i=d(()=>t.readonly||t.disabled)
216
216
  function u(e){return Le(e,!0)}function c(e){const t=e.target
217
217
  n.value=u(t.value)?t.value:""}function f(){u(o.value)?n.value=o.value:(n.value="",o.value="")}return Z(n,function(e){e&&u(e)?a.value=e:a.value="#000000"},{immediate:!0}),Z(n,function(e){e&&u(e)?o.value=e:o.value=""},{immediate:!0}),(e,n)=>(N(),l(V(ia),{id:t.id,modelValue:o.value,"onUpdate:modelValue":n[2]||(n[2]=e=>o.value=e),"max-length":7,class:_(["q-color-picker",t.class]),label:t.label,size:t.size,readonly:t.readonly,disabled:t.disabled,required:t.required,placeholder:t.placeholder,onChange:f},s({"label.prepend":J(()=>[T(e.$slots,"label.prepend")]),"label.append":J(()=>[T(e.$slots,"label.append")]),prepend:J(()=>[T(e.$slots,"prepend"),ee(r("input",g({"onUpdate:modelValue":n[0]||(n[0]=e=>a.value=e),type:"color",class:"q-color-picker__swatch",readonly:t.readonly,disabled:i.value,"aria-label":t.texts.selectColor},e.$attrs,{onChange:c,onClick:n[1]||(n[1]=ne(()=>{},["stop"]))}),null,16,ra),[[K,a.value]])]),_:2},[e.$slots.append?{name:"append",fn:J(()=>[T(e.$slots,"append")]),key:"0"}:void 0,e.$slots.extras?{name:"extras",fn:J(()=>[T(e.$slots,"extras")]),key:"1"}:void 0]),1032,["id","modelValue","class","label","size","readonly","disabled","required","placeholder"]))}})),ua={...ta,noData:"No data available",showOptions:"Show options"},ca={...be,...na},fa=/*@__PURE__*/f({__name:"QList",props:{id:{},class:{},modelValue:{},highlighted:{},items:{},groups:{default:()=>[]},selectable:{type:Boolean},selectOnTab:{type:Boolean,default:!0},multiple:{type:Boolean},disabled:{type:Boolean},required:{type:Boolean},itemValue:{default:"key"},itemLabel:{default:"label"}},emits:["update:modelValue","click","mouseenter:item"],setup(t,{expose:n,emit:a}){const o=t,r=a,s=E(!1),u=d(()=>c.value.length>1?"div":"ul"),c=d(()=>o.groups.length?o.groups.filter(e=>o.items?.some(t=>t.group===e.id)):[{id:"",title:""}]),{active:f}=$e({active:F(o,"modelValue"),required:F(o,"required"),multiple:F(o,"multiple")}),v=E(null),p=E(null)
218
218
  function $(){s.value=!0}function m(){s.value=!1}function h(e){if(!o.items)return
@@ -1612,7 +1612,7 @@ function f(e){(t.readonly||t.disabled)&&["ArrowUp","ArrowDown","ArrowLeft","Arro
1612
1612
  Z(a,e=>{n.value=e})
1613
1613
  const o=en(F(t,"id")),i=d(()=>t.name??o.value),u=d(()=>["q-radio-group",{"q-radio-group--horizontal":"horizontal"===t.orientation,"q-radio-group--focus-style":t.hasFocusOutline},t.class]),c=d(()=>t.columns>1?{"--q-radio-group-columns":t.columns}:{})
1614
1614
  return fe({QRadioButton:{size:F(t,"size"),disabled:F(t,"disabled"),readonly:F(t,"readonly"),invalid:F(t,"invalid"),name:i}}),(e,n)=>(N(),l(V(ea),{for:V(o),class:_(u.value),label:t.label,"label-position":t.labelPosition,required:t.required,readonly:t.readonly,disabled:t.disabled,invalid:t.invalid},s({control:J(()=>[r("div",g({id:V(o),class:["q-radio-group__group",{"q-radio-group--grid":t.columns>1}],role:"radiogroup",style:c.value},e.$attrs),[T(e.$slots,"default")],16,Uc)]),_:2},[e.$slots.extras?{name:"extras",fn:J(()=>[T(e.$slots,"extras")]),key:"0"}:void 0]),1032,["for","class","label","label-position","required","readonly","disabled","invalid"]))}}),Wc=qe(jc),Kc=qe(Gc),Yc=["id"],Zc={key:0,class:"q-section__title"},Xc={class:"q-section__content"},Jc=qe(/*@__PURE__*/f({__name:"QSection",props:{id:{},class:{},title:{},borderless:{type:Boolean},variant:{default:"default"},block:{type:Boolean}},setup(e){const t=e,n=d(()=>["q-section","default"===t.variant?void 0:`q-section--${t.variant}`,{"q-section--block":t.block,"q-section--borderless":t.borderless},t.class])
1615
- return(e,a)=>(N(),i("div",{id:t.id,class:_(n.value)},[t.title?(N(),i("div",Zc,D(t.title),1)):o("",!0),r("div",Xc,[T(e.$slots,"default")])],10,Yc))}})),ef={ref:"items",class:"q-sidebar__items"},tf=/*@__PURE__*/f({__name:"QSidebarAnchor",props:{anchorWidth:{},modelValue:{},items:{}},setup(e,{expose:t}){const n=e
1615
+ return(e,a)=>(N(),i("div",{id:t.id,class:_(n.value)},[t.title?(N(),i("div",Zc,[T(e.$slots,"title.prepend"),u(" "+D(t.title)+" ",1),T(e.$slots,"title.append")])):o("",!0),r("div",Xc,[T(e.$slots,"default")])],10,Yc))}})),ef={ref:"items",class:"q-sidebar__items"},tf=/*@__PURE__*/f({__name:"QSidebarAnchor",props:{anchorWidth:{},modelValue:{},items:{}},setup(e,{expose:t}){const n=e
1616
1616
  t({itemsEl:U("items")})
1617
1617
  const a=d(()=>{if(void 0!==n.anchorWidth)return{width:`calc(${n.anchorWidth}px * var(--q-density-scale))`}}),l=E({height:"0",transform:"translateY(0)",opacity:"0",transition:"transform 0.3s ease, height 0.3s ease, opacity 0.2s ease"})
1618
1618
  function o(){l.value={...l.value,opacity:"0",height:"0"}}function s(){if(!n.modelValue)return void o()
@@ -1638,7 +1638,8 @@ if(!u)throw new Error("QSidebarItem: Failed to retrieve sidebar context. Ensure
1638
1638
  const f=en(F(r,"value")),v=en(F(r,"id")),p=en(),$=me(f)
1639
1639
  if(!$)throw new Error("QSidebarItem: Failed to retrieve group item. Ensure the component is used within a QSidebar context.")
1640
1640
  const h=u,y=$,b=U("anchor"),k=d(()=>h.anchorItemsEl.value),q=d(()=>"left"===h.position.value?"right":"left"),S=d(()=>"left"===h.position.value?"slide-right":"slide-left")
1641
- function M(){y.toggle(),h.onItemClick(f.value)}function P(){h.onPanelAfterLeave()}return x(()=>{h.register({value:f.value,resizable:F(r,"resizable"),initialWidth:F(r,"initialWidth"),minWidth:F(r,"minWidth"),maxWidth:F(r,"maxWidth"),anchorRef:b})}),Z(f,(e,t)=>{e!==t&&h.updateValue(t,e)}),C(()=>{h.unregister(f.value)}),(a,d)=>(N(),i(e,null,[k.value?(N(),l(t,{key:0,to:k.value},[c(V(of),{id:V(v),ref:"anchor","data-testid":"q-sidebar-panel-button",borderless:"","icon-pos":"top",class:_(["q-sidebar__item",r.class]),"model-value":V(y).isActive.value,"aria-controls":V(p),label:V(h).showLabels.value?r.title:void 0,title:V(h).showLabels.value?void 0:r.title,"onUpdate:modelValue":M},{default:J(()=>[T(a.$slots,"anchor",{},()=>[r.icon?(N(),l(V(Rt),w(g({key:0},r.icon)),null,16)):o("",!0)])]),_:3},8,["id","class","model-value","aria-controls","label","title"])],8,["to"])):o("",!0),c(n,{name:S.value,css:V(h).animatePanel.value,onAfterLeave:P},{default:J(()=>[V(y).isActive.value?(N(),l(pf,{key:0,id:V(p),"aria-labelledby":V(v),title:r.title,resizable:r.resizable,"show-grip":r.showGrip,"resize-position":q.value,"onResize:start":V(h).onResizeStart,onResize:V(h).onPanelResize,"onResize:end":V(h).onResizeEnd},s({content:J(()=>[T(a.$slots,"default")]),_:2},[a.$slots["header.prepend"]?{name:"header.prepend",fn:J(()=>[T(a.$slots,"header.prepend")]),key:"0"}:void 0,a.$slots.header?{name:"header",fn:J(()=>[T(a.$slots,"header")]),key:"1"}:void 0,a.$slots["header.append"]?{name:"header.append",fn:J(()=>[T(a.$slots,"header.append")]),key:"2"}:void 0,a.$slots.footer?{name:"footer",fn:J(()=>[T(a.$slots,"footer")]),key:"3"}:void 0]),1032,["id","aria-labelledby","title","resizable","show-grip","resize-position","onResize:start","onResize","onResize:end"])):o("",!0)]),_:3},8,["name","css"])],64))}}),mf=qe(lf),hf=qe($f),yf=Symbol("q-tabs"),gf=["id"],bf={ref:"tabListHost",class:"q-tabs__list"},_f={class:"q-tabs__panels"},wf=/*@__PURE__*/f({__name:"QTabs",props:/*@__PURE__*/y({id:{},class:{},direction:{default:"horizontal"},align:{default:"start"},variant:{default:"line"},disabled:{type:Boolean}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(e){const t=e,n=H(e,"modelValue"),a=U("tabListHost"),l=U("overflowRef"),s=d(()=>l.value?.contentEl??null),u=L([]),f=E({width:"0",height:"0",transform:"translate(0, 0)",opacity:"0"}),v=E(!1)
1641
+ function M(){y.toggle(),h.onItemClick(f.value)}function P(){h.onPanelAfterLeave()}return x(()=>{h.register({value:f.value,resizable:F(r,"resizable"),initialWidth:F(r,"initialWidth"),minWidth:F(r,"minWidth"),maxWidth:F(r,"maxWidth"),anchorRef:b})}),Z(f,(e,t)=>{e!==t&&h.updateValue(t,e)}),C(()=>{h.unregister(f.value)}),(a,d)=>(N(),i(e,null,[k.value?(N(),l(t,{key:0,to:k.value},[c(V(of),{id:V(v),ref:"anchor","data-testid":"q-sidebar-panel-button",borderless:"","icon-pos":"top",class:_(["q-sidebar__item",r.class]),"model-value":V(y).isActive.value,"aria-controls":V(p),label:V(h).showLabels.value?r.title:void 0,title:V(h).showLabels.value?void 0:r.title,"onUpdate:modelValue":M},{default:J(()=>[T(a.$slots,"anchor",{},()=>[r.icon?(N(),l(V(Rt),w(g({key:0},r.icon)),null,16)):o("",!0)])]),_:3},8,["id","class","model-value","aria-controls","label","title"])],8,["to"])):o("",!0),c(n,{name:S.value,css:V(h).animatePanel.value,onAfterLeave:P},{default:J(()=>[V(y).isActive.value?(N(),l(pf,{key:0,id:V(p),"aria-labelledby":V(v),title:r.title,resizable:r.resizable,"show-grip":r.showGrip,"resize-position":q.value,"onResize:start":V(h).onResizeStart,onResize:V(h).onPanelResize,"onResize:end":V(h).onResizeEnd},s({content:J(()=>[T(a.$slots,"default")]),_:2},[a.$slots["header.prepend"]?{name:"header.prepend",fn:J(()=>[T(a.$slots,"header.prepend")]),key:"0"}:void 0,a.$slots.header?{name:"header",fn:J(()=>[T(a.$slots,"header")]),key:"1"}:void 0,a.$slots["header.append"]?{name:"header.append",fn:J(()=>[T(a.$slots,"header.append")]),key:"2"}:void 0,a.$slots.footer?{name:"footer",fn:J(()=>[T(a.$slots,"footer")]),key:"3"}:void 0]),1032,["id","aria-labelledby","title","resizable","show-grip","resize-position","onResize:start","onResize","onResize:end"])):o("",!0)]),_:3},8,["name","css"])],64))}}),mf=qe(lf),hf=qe($f)
1642
+ var yf=Symbol("q-tabs"),gf=["id"],bf={ref:"tabListHost",class:"q-tabs__list"},_f={class:"q-tabs__panels"},wf=/*@__PURE__*/f({__name:"QTabs",props:/*@__PURE__*/y({id:{},class:{},direction:{default:"horizontal"},align:{default:"start"},variant:{default:"line"},disabled:{type:Boolean}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(e){const t=e,n=H(e,"modelValue"),a=U("tabListHost"),l=U("overflowRef"),s=d(()=>l.value?.contentEl??null),u=L([]),f=E({width:"0",height:"0",transform:"translate(0, 0)",opacity:"0"}),v=E(!1)
1642
1643
  let p=null
1643
1644
  const{active:$}=$e({active:n,required:!0})
1644
1645
  Z($,e=>{n.value=e}),fe({QTab:{disabled:F(t,"disabled")}})
@@ -1655,19 +1656,21 @@ p?p.disconnect():p=new ResizeObserver(()=>{g()})
1655
1656
  const e=a.value
1656
1657
  e&&p.observe(e)
1657
1658
  for(const t of u.value){const e=h(t)
1658
- e&&p.observe(e)}}function x(){return u.value.filter(e=>!V(e.disabled))}function q(){const e=x()
1659
- e.length&&(e.some(e=>e.value===n.value)||(n.value=e[0].value))}let S
1659
+ e&&p.observe(e)}}const{enabledItems:x,ensureSelection:q}=function(e,t){const n=d(()=>e().filter(e=>!R(e.disabled)))
1660
+ return{enabledItems:n,ensureSelection:function(){const e=n.value
1661
+ e.length&&(e.some(e=>e.value===t.value)||(t.value=e[0].value))}}}(()=>u.value,n)
1662
+ let S
1660
1663
  function P(){S||(S=b(()=>{S=void 0,q()}))}return Z(()=>u.value.map(e=>[e.value,V(e.disabled)]),()=>P()),Z(()=>[n.value,u.value.length,t.direction,t.variant,t.align],()=>b(()=>{g(),function(){if(!n.value)return
1661
1664
  const e=u.value.find(e=>e.value===n.value)
1662
1665
  if(!e)return
1663
1666
  const t=h(e)
1664
1667
  t&&l.value?.scrollElementIntoView(t)}()}),{immediate:!0}),Z(()=>[u.value.length,t.variant],()=>b(w),{immediate:!0}),Z(()=>[s.value,t.direction],()=>function(){const e=s.value
1665
1668
  e&&(e.setAttribute("role","tablist"),e.setAttribute("aria-orientation",t.direction))}(),{immediate:!0,flush:"post"}),C(()=>{p?.disconnect(),p=null}),M(yf,{tabListEl:s,direction:d(()=>t.direction),register:function(e){u.value=[...u.value,e],n.value?P():q()},unregister:function(e){u.value=u.value.filter(t=>t.value!==e)},updateValue:function(e,t){if(e===t)return
1666
- const a=u.value.findIndex(t=>t.value===e);-1!==a&&(u.value=u.value.map((e,n)=>n===a?{...e,value:t}:e),n.value!==e&&n.value!==t?q():n.value=t)},focusAdjacent:function(e,t){const n=x()
1669
+ const a=u.value.findIndex(t=>t.value===e);-1!==a&&(u.value=u.value.map((e,n)=>n===a?{...e,value:t}:e),n.value!==e&&n.value!==t?q():n.value=t)},focusAdjacent:function(e,t){const n=x.value
1667
1670
  if(!n.length)return
1668
1671
  const a=n.findIndex(t=>t.value===e),d=n[-1===a?0:(a+t+n.length)%n.length]
1669
- d.select(),d.focus()},focusFirst:function(){const e=x()[0]
1670
- e&&(e.select(),e.focus())},focusLast:function(){const e=x(),t=e[e.length-1]
1672
+ d.select(),d.focus()},focusFirst:function(){const e=x.value[0]
1673
+ e&&(e.select(),e.focus())},focusLast:function(){const e=x.value,t=e[e.length-1]
1671
1674
  t&&(t.select(),t.focus())}}),(e,n)=>(N(),i("div",{id:t.id,class:_(m.value)},[r("div",bf,[c(V(pi),{ref_key:"overflowRef",ref:l,class:"q-tabs__overflow",direction:t.direction,"scroll-mode":"item","content-class":"q-tabs__tablist"},{default:J(()=>["line"===t.variant?(N(),i("div",{key:0,class:"q-tabs__indicator","aria-hidden":"true",style:k(f.value)},null,4)):o("",!0)]),_:1},8,["direction"])],512),r("div",_f,[T(e.$slots,"default")])],10,gf))}}),kf={class:"q-tab__title"},xf={class:"q-tab__title-text"},Cf=["id","aria-labelledby","tabindex"],qf=/*@__PURE__*/f({__name:"QTab",props:{id:{},class:{},title:{},required:{type:Boolean},disabled:{type:Boolean},value:{},texts:{default:()=>_e}},setup(n){const a=n,s=m(yf,void 0)
1672
1675
  if(!s)throw new Error("QTab: Failed to retrieve tabs context. Ensure the component is used within a QTabs context.")
1673
1676
  const u=en(F(a,"value")),f=en(),v=en(),p=me(u)
@@ -1678,13 +1681,13 @@ return t&&"ArrowRight"===e.key||!t&&"ArrowDown"===e.key?(e.preventDefault(),void
1678
1681
  var Mf=["id","required","placeholder","readonly","disabled","maxlength","rows","cols","resize","wrap"],Pf=qe(/*@__PURE__*/f({inheritAttrs:!1,__name:"QTextArea",props:/*@__PURE__*/y({id:{},class:{},label:{},required:{type:Boolean},for:{},labelPosition:{},size:{},readonly:{type:Boolean},disabled:{type:Boolean},invalid:{type:Boolean},placeholder:{},maxLength:{},rows:{default:3},cols:{},resize:{default:"vertical"},wrap:{default:"soft"},autosize:{type:Boolean}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(e){const t=e,n=H(e,"modelValue"),a=d({get:()=>n.value,set:e=>{const a=t.maxLength
1679
1682
  n.value=a?e?.slice(0,a):e}})
1680
1683
  Z(n,e=>a.value=e,{immediate:!0})
1681
- const o=en(F(t,"id")),i=d(()=>t.readonly||t.disabled?void 0:t.placeholder),u=d(()=>({input:t.autosize?f:null})),c=E(),{triggerResize:f,stop:v}=function(e){const{element:t,styleProp:n="height"}=e,a=()=>{const e=t.value
1684
+ const o=en(F(t,"id")),i=d(()=>t.readonly||t.disabled?void 0:t.placeholder),u=d(()=>`${o.value}_input`),c=d(()=>({input:t.autosize?v:null})),f=E(),{triggerResize:v,stop:p}=function(e){const{element:t,styleProp:n="height"}=e,a=()=>{const e=t.value
1682
1685
  if(!e)return
1683
1686
  e.style[n]="auto"
1684
1687
  const a=e.scrollHeight
1685
1688
  e.style[n]=`${a}px`},d=Z(t,a),l=Z(()=>t.value?.value,a)
1686
- return{triggerResize:a,stop:()=>{d(),l()}}}({element:d(()=>t.autosize?c.value:void 0),styleProp:"minHeight"})
1687
- return C(v),(e,n)=>(N(),l(V(ea),{class:_(["q-text-area",t.class]),for:V(o),label:t.label,"label-position":t.labelPosition,size:t.size,readonly:t.readonly,disabled:t.disabled,required:t.required},s({"label.prepend":J(()=>[T(e.$slots,"label.prepend")]),"label.append":J(()=>[T(e.$slots,"label.append")]),default:J(()=>[ee(r("textarea",g({id:V(o),ref_key:"textareaRef",ref:c,"onUpdate:modelValue":n[0]||(n[0]=e=>a.value=e),class:"q-text-area__input",required:t.required,placeholder:i.value,readonly:t.readonly,disabled:t.disabled,maxlength:t.maxLength,rows:t.rows,cols:t.cols,resize:t.resize,wrap:t.wrap},e.$attrs,O(u.value,!0)),null,16,Mf),[[K,a.value]])]),_:2},[e.$slots.prepend?{name:"prepend",fn:J(()=>[T(e.$slots,"prepend")]),key:"0"}:void 0,e.$slots.append?{name:"append",fn:J(()=>[T(e.$slots,"append")]),key:"1"}:void 0,e.$slots.extras?{name:"extras",fn:J(()=>[T(e.$slots,"extras")]),key:"2"}:void 0]),1032,["class","for","label","label-position","size","readonly","disabled","required"]))}}))
1689
+ return{triggerResize:a,stop:()=>{d(),l()}}}({element:d(()=>t.autosize?f.value:void 0),styleProp:"minHeight"})
1690
+ return C(p),(e,n)=>(N(),l(V(ea),{id:V(o),class:_(["q-text-area",t.class]),for:u.value,label:t.label,"label-position":t.labelPosition,size:t.size,readonly:t.readonly,disabled:t.disabled,required:t.required},s({"label.prepend":J(()=>[T(e.$slots,"label.prepend")]),"label.append":J(()=>[T(e.$slots,"label.append")]),default:J(()=>[ee(r("textarea",g({id:u.value,ref_key:"textareaRef",ref:f,"onUpdate:modelValue":n[0]||(n[0]=e=>a.value=e),class:"q-text-area__input",required:t.required,placeholder:i.value,readonly:t.readonly,disabled:t.disabled,maxlength:t.maxLength,rows:t.rows,cols:t.cols,resize:t.resize,wrap:t.wrap},e.$attrs,O(c.value,!0)),null,16,Mf),[[K,a.value]])]),_:2},[e.$slots.prepend?{name:"prepend",fn:J(()=>[T(e.$slots,"prepend")]),key:"0"}:void 0,e.$slots.append?{name:"append",fn:J(()=>[T(e.$slots,"append")]),key:"1"}:void 0,e.$slots.extras?{name:"extras",fn:J(()=>[T(e.$slots,"extras")]),key:"2"}:void 0]),1032,["id","class","for","label","label-position","size","readonly","disabled","required"]))}}))
1688
1691
  function Ef(){const e=yl(),{dialogs:t,nextEntryKey:n,pendingByKey:a,hasProvider:l}=e
1689
1692
  return{dialogs:d(()=>t.value.map(({id:e,props:t,options:n,handlers:a})=>({id:e,props:t,options:n,handlers:a}))),addDialog:function(d,o,i){return l()?void 0!==d.id&&function(e,t){return e.dialogs.value.some(e=>e.id===t||e.props.id===t)}(e,d.id)?Promise.reject(/* @__PURE__ */new Error(`addDialog(): a dialog with id "${d.id}" already exists.`)):new Promise((e,l)=>{const r=n()
1690
1693
  a.set(r,{resolve:e,reject:l,settled:!1}),t.value.push({entryKey:r,props:{...d,modelValue:!0},options:o,handlers:i})}):Promise.reject(/* @__PURE__ */new Error("addDialog() requires a mounted QDialogProvider before it can be called."))},removeDialog:function(n){const a=t.value.findIndex(e=>e.id===n)
package/dist/ui.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quidgest UI v0.25.0
2
+ * Quidgest UI v0.26.0
3
3
  * (c) 2026 Quidgest - Consultores de Gestão, S.A.
4
4
  * Released under the MIT License.
5
5
  */
@@ -209,8 +209,8 @@ return(e,o)=>((0,t.openBlock)(),(0,t.createElementBlock)("div",zt,[(0,t.createVN
209
209
  return n({fieldRef:a}),(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)("div",{id:o.id,class:(0,t.normalizeClass)(r.value)},[o.label?((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(Ot),{key:0,class:"q-field__label",label:o.label,"label-position":o.labelPosition,for:o.for,required:d.value},{prepend:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,"label.prepend")]),append:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,"label.append")]),_:3},8,["label","label-position","for","required"])):(0,t.createCommentVNode)("",!0),(0,t.renderSlot)(e.$slots,"control",{},()=>[(0,t.createElementVNode)("div",(0,t.mergeProps)({ref:"field",class:"q-field__control"},e.$attrs),[e.$slots.prepend?((0,t.openBlock)(),(0,t.createElementBlock)("div",Kt,[(0,t.renderSlot)(e.$slots,"prepend")])):(0,t.createCommentVNode)("",!0),(0,t.renderSlot)(e.$slots,"default"),e.$slots.append?((0,t.openBlock)(),(0,t.createElementBlock)("div",Yt,[(0,t.renderSlot)(e.$slots,"append")])):(0,t.createCommentVNode)("",!0)],16)]),e.$slots.extras?((0,t.openBlock)(),(0,t.createElementBlock)("div",Zt,[(0,t.renderSlot)(e.$slots,"extras")])):(0,t.createCommentVNode)("",!0)],10,Wt))}})),Jt={clearValue:"Clear value"},en={clear:{icon:"close"}},tn=B((0,t.defineComponent)({__name:"QClearButton",props:{id:{},class:{},icons:{default:()=>en},texts:{default:()=>Jt}},emits:["click"],setup(e,{emit:n}){const o=e,a=n
210
210
  function d(e){a("click",e)}return(e,n)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(Ce),{id:o.id,class:(0,t.normalizeClass)(["q-clear-btn",o.class]),"aria-label":o.texts.clearValue,variant:"ghost",color:"neutral",borderless:"",tabindex:-1,onClick:d},{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(Re),(0,t.normalizeProps)((0,t.guardReactiveProps)(o.icons.clear)),null,16)]),_:1},8,["id","class","aria-label"]))}})),nn=["id","type","maxlength","required","placeholder","readonly","disabled"],on=(0,t.defineComponent)({inheritAttrs:!1,__name:"QTextField",props:(0,t.mergeModels)({id:{},class:{},label:{},required:{type:Boolean},for:{},labelPosition:{},size:{},readonly:{type:Boolean},disabled:{type:Boolean},invalid:{type:Boolean},placeholder:{},maxLength:{},clearable:{type:Boolean},type:{default:"text"},texts:{}},{modelValue:{},modelModifiers:{}}),emits:(0,t.mergeModels)(["click:clear"],["update:modelValue"]),setup(e,{expose:n,emit:o}){const a=e,d=o,r=(0,t.useModel)(e,"modelValue"),l=(0,t.computed)({get:()=>r.value,set:e=>{const t=a.maxLength
211
211
  r.value=t?e?.slice(0,t):e}});(0,t.watch)(r,e=>l.value=e,{immediate:!0})
212
- const i=Je((0,t.toRef)(a,"id")),s=(0,t.useTemplateRef)("field"),u=(0,t.useTemplateRef)("input"),c=(0,t.computed)(()=>a.readonly||a.disabled?void 0:a.placeholder),f=(0,t.computed)(()=>a.clearable&&!a.readonly&&!a.disabled),m=(0,t.computed)(()=>f.value&&r.value)
213
- function p(e){f.value&&(r.value="",d("click:clear",e))}return n({fieldRef:(0,t.computed)(()=>s.value?.fieldRef),inputRef:u}),(e,n)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(Xt),{ref:"field",class:(0,t.normalizeClass)(["q-text-field",a.class]),for:(0,t.unref)(i),label:a.label,"label-position":a.labelPosition,size:a.size,readonly:a.readonly,disabled:a.disabled,required:a.required,invalid:a.invalid},(0,t.createSlots)({"label.prepend":(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,"label.prepend")]),"label.append":(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,"label.append")]),default:(0,t.withCtx)(()=>[(0,t.withDirectives)((0,t.createElementVNode)("input",(0,t.mergeProps)({id:(0,t.unref)(i),ref:"input","onUpdate:modelValue":n[0]||(n[0]=e=>l.value=e),class:"q-text-field__input",type:a.type,maxlength:a.maxLength,required:a.required,placeholder:c.value,readonly:a.readonly,disabled:a.disabled},e.$attrs),null,16,nn),[[t.vModelDynamic,l.value]])]),_:2},[e.$slots.prepend?{name:"prepend",fn:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,"prepend")]),key:"0"}:void 0,e.$slots.append||m.value?{name:"append",fn:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,"append"),m.value?((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(tn),{key:0,"data-testid":"q-text-field__clear-button",texts:a.texts,onClick:p},null,8,["texts"])):(0,t.createCommentVNode)("",!0)]),key:"1"}:void 0,e.$slots.extras?{name:"extras",fn:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,"extras")]),key:"2"}:void 0]),1032,["class","for","label","label-position","size","readonly","disabled","required","invalid"]))}}),an={...Jt},dn=B(on),rn=["readonly","disabled","aria-label"],ln=B((0,t.defineComponent)({inheritAttrs:!1,__name:"QColorPicker",props:(0,t.mergeModels)({id:{},class:{},placeholder:{},label:{},size:{default:"small"},readonly:{type:Boolean},disabled:{type:Boolean},required:{type:Boolean},texts:{default:()=>Gt}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(e){const n=e,o=(0,t.useModel)(e,"modelValue"),a=(0,t.ref)(""),d=(0,t.ref)(""),r=(0,t.computed)(()=>n.readonly||n.disabled)
212
+ const i=Je((0,t.toRef)(a,"id")),s=(0,t.useTemplateRef)("field"),u=(0,t.useTemplateRef)("input"),c=(0,t.computed)(()=>`${i.value}_input`),f=(0,t.computed)(()=>a.readonly||a.disabled?void 0:a.placeholder),m=(0,t.computed)(()=>a.clearable&&!a.readonly&&!a.disabled),p=(0,t.computed)(()=>m.value&&r.value)
213
+ function v(e){m.value&&(r.value="",d("click:clear",e))}return n({fieldRef:(0,t.computed)(()=>s.value?.fieldRef),inputRef:u}),(e,n)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(Xt),{id:(0,t.unref)(i),ref:"field",class:(0,t.normalizeClass)(["q-text-field",a.class]),for:c.value,label:a.label,"label-position":a.labelPosition,size:a.size,readonly:a.readonly,disabled:a.disabled,required:a.required,invalid:a.invalid},(0,t.createSlots)({"label.prepend":(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,"label.prepend")]),"label.append":(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,"label.append")]),default:(0,t.withCtx)(()=>[(0,t.withDirectives)((0,t.createElementVNode)("input",(0,t.mergeProps)({id:c.value,ref:"input","onUpdate:modelValue":n[0]||(n[0]=e=>l.value=e),class:"q-text-field__input",type:a.type,maxlength:a.maxLength,required:a.required,placeholder:f.value,readonly:a.readonly,disabled:a.disabled},e.$attrs),null,16,nn),[[t.vModelDynamic,l.value]])]),_:2},[e.$slots.prepend?{name:"prepend",fn:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,"prepend")]),key:"0"}:void 0,e.$slots.append||p.value?{name:"append",fn:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,"append"),p.value?((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(tn),{key:0,"data-testid":"q-text-field__clear-button",texts:a.texts,onClick:v},null,8,["texts"])):(0,t.createCommentVNode)("",!0)]),key:"1"}:void 0,e.$slots.extras?{name:"extras",fn:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,"extras")]),key:"2"}:void 0]),1032,["id","class","for","label","label-position","size","readonly","disabled","required","invalid"]))}}),an={...Jt},dn=B(on),rn=["readonly","disabled","aria-label"],ln=B((0,t.defineComponent)({inheritAttrs:!1,__name:"QColorPicker",props:(0,t.mergeModels)({id:{},class:{},placeholder:{},label:{},size:{default:"small"},readonly:{type:Boolean},disabled:{type:Boolean},required:{type:Boolean},texts:{default:()=>Gt}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(e){const n=e,o=(0,t.useModel)(e,"modelValue"),a=(0,t.ref)(""),d=(0,t.ref)(""),r=(0,t.computed)(()=>n.readonly||n.disabled)
214
214
  function l(e){return D(e,!0)}function i(e){const t=e.target
215
215
  o.value=l(t.value)?t.value:""}function s(){l(d.value)?o.value=d.value:(o.value="",d.value="")}return(0,t.watch)(o,function(e){e&&l(e)?a.value=e:a.value="#000000"},{immediate:!0}),(0,t.watch)(o,function(e){e&&l(e)?d.value=e:d.value=""},{immediate:!0}),(e,o)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(dn),{id:n.id,modelValue:d.value,"onUpdate:modelValue":o[2]||(o[2]=e=>d.value=e),"max-length":7,class:(0,t.normalizeClass)(["q-color-picker",n.class]),label:n.label,size:n.size,readonly:n.readonly,disabled:n.disabled,required:n.required,placeholder:n.placeholder,onChange:s},(0,t.createSlots)({"label.prepend":(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,"label.prepend")]),"label.append":(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,"label.append")]),prepend:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,"prepend"),(0,t.withDirectives)((0,t.createElementVNode)("input",(0,t.mergeProps)({"onUpdate:modelValue":o[0]||(o[0]=e=>a.value=e),type:"color",class:"q-color-picker__swatch",readonly:n.readonly,disabled:r.value,"aria-label":n.texts.selectColor},e.$attrs,{onChange:i,onClick:o[1]||(o[1]=(0,t.withModifiers)(()=>{},["stop"]))}),null,16,rn),[[t.vModelText,a.value]])]),_:2},[e.$slots.append?{name:"append",fn:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,"append")]),key:"0"}:void 0,e.$slots.extras?{name:"extras",fn:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,"extras")]),key:"1"}:void 0]),1032,["id","modelValue","class","label","size","readonly","disabled","required","placeholder"]))}})),sn={...Jt,noData:"No data available",showOptions:"Show options"},un={...y,...en},cn=(0,t.defineComponent)({__name:"QList",props:{id:{},class:{},modelValue:{},highlighted:{},items:{},groups:{default:()=>[]},selectable:{type:Boolean},selectOnTab:{type:Boolean,default:!0},multiple:{type:Boolean},disabled:{type:Boolean},required:{type:Boolean},itemValue:{default:"key"},itemLabel:{default:"label"}},emits:["update:modelValue","click","mouseenter:item"],setup(e,{expose:n,emit:o}){const a=e,d=o,r=(0,t.ref)(!1),l=(0,t.computed)(()=>i.value.length>1?"div":"ul"),i=(0,t.computed)(()=>a.groups.length?a.groups.filter(e=>a.items?.some(t=>t.group===e.id)):[{id:"",title:""}]),{active:s}=p({active:(0,t.toRef)(a,"modelValue"),required:(0,t.toRef)(a,"required"),multiple:(0,t.toRef)(a,"multiple")}),u=(0,t.ref)(null),c=(0,t.ref)(null)
216
216
  function f(){r.value=!0}function m(){r.value=!1}function v(e){if(!a.items)return
@@ -1603,7 +1603,7 @@ const r=(0,t.computed)(()=>"start"===n.labelPlacement?"append":"prepend"),l=(0,t
1603
1603
  function i(e){(n.readonly||n.disabled)&&["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"].includes(e.key)&&e.preventDefault()}function s(e){(n.readonly||n.disabled)&&e.preventDefault()}function u(e){n.readonly||n.disabled?e.preventDefault():d?.toggle()}function c(){a.value?.focus()}return(a,f)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(Ot),{for:(0,t.unref)(o),class:(0,t.normalizeClass)(l.value),label:n.label,tabindex:n.disabled?void 0:-1,onMousedown:(0,t.withModifiers)(c,["prevent"]),onClick:u},(0,t.createSlots)({[r.value]:(0,t.withCtx)(()=>[(0,t.createElementVNode)("input",(0,t.mergeProps)({id:(0,t.unref)(o),ref:"inputEl",checked:(0,t.unref)(d).isActive.value,type:"radio",class:"q-radio-button__input",name:n.name,value:e.value,disabled:n.disabled,readonly:n.readonly},a.$attrs,{onChange:f[0]||(f[0]=(...e)=>(0,t.unref)(d).toggle&&(0,t.unref)(d).toggle(...e)),onClick:(0,t.withModifiers)(s,["stop"]),onKeydown:i}),null,16,Uu),"end"===n.labelPlacement?(0,t.renderSlot)(a.$slots,"default",{key:0}):(0,t.createCommentVNode)("",!0)]),_:2},["start"===n.labelPlacement?{name:"prepend",fn:(0,t.withCtx)(()=>[(0,t.renderSlot)(a.$slots,"default")]),key:"0"}:void 0]),1032,["for","class","label","tabindex"]))}}),Hu=["id"],Gu=(0,t.defineComponent)({inheritAttrs:!1,__name:"QRadioGroup",props:(0,t.mergeModels)({id:{},class:{},label:{},required:{type:Boolean},for:{},labelPosition:{default:"topleft"},readonly:{type:Boolean},disabled:{type:Boolean},invalid:{type:Boolean},name:{},orientation:{default:"vertical"},size:{},columns:{default:1},hasFocusOutline:{type:Boolean,default:!0}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(e){const n=e,o=(0,t.useModel)(e,"modelValue"),{active:a}=p({active:o,required:!0});(0,t.watch)(a,e=>{o.value=e})
1604
1604
  const d=Je((0,t.toRef)(n,"id")),r=(0,t.computed)(()=>n.name??d.value),l=(0,t.computed)(()=>["q-radio-group",{"q-radio-group--horizontal":"horizontal"===n.orientation,"q-radio-group--focus-style":n.hasFocusOutline},n.class]),i=(0,t.computed)(()=>n.columns>1?{"--q-radio-group-columns":n.columns}:{})
1605
1605
  return c({QRadioButton:{size:(0,t.toRef)(n,"size"),disabled:(0,t.toRef)(n,"disabled"),readonly:(0,t.toRef)(n,"readonly"),invalid:(0,t.toRef)(n,"invalid"),name:r}}),(e,o)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(Xt),{for:(0,t.unref)(d),class:(0,t.normalizeClass)(l.value),label:n.label,"label-position":n.labelPosition,required:n.required,readonly:n.readonly,disabled:n.disabled,invalid:n.invalid},(0,t.createSlots)({control:(0,t.withCtx)(()=>[(0,t.createElementVNode)("div",(0,t.mergeProps)({id:(0,t.unref)(d),class:["q-radio-group__group",{"q-radio-group--grid":n.columns>1}],role:"radiogroup",style:i.value},e.$attrs),[(0,t.renderSlot)(e.$slots,"default")],16,Hu)]),_:2},[e.$slots.extras?{name:"extras",fn:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,"extras")]),key:"0"}:void 0]),1032,["for","class","label","label-position","required","readonly","disabled","invalid"]))}}),Wu=B(Qu),Ku=B(Gu),Yu=["id"],Zu={key:0,class:"q-section__title"},Xu={class:"q-section__content"},Ju=B((0,t.defineComponent)({__name:"QSection",props:{id:{},class:{},title:{},borderless:{type:Boolean},variant:{default:"default"},block:{type:Boolean}},setup(e){const n=e,o=(0,t.computed)(()=>["q-section","default"===n.variant?void 0:`q-section--${n.variant}`,{"q-section--block":n.block,"q-section--borderless":n.borderless},n.class])
1606
- return(e,a)=>((0,t.openBlock)(),(0,t.createElementBlock)("div",{id:n.id,class:(0,t.normalizeClass)(o.value)},[n.title?((0,t.openBlock)(),(0,t.createElementBlock)("div",Zu,(0,t.toDisplayString)(n.title),1)):(0,t.createCommentVNode)("",!0),(0,t.createElementVNode)("div",Xu,[(0,t.renderSlot)(e.$slots,"default")])],10,Yu))}})),ec={ref:"items",class:"q-sidebar__items"},tc=(0,t.defineComponent)({__name:"QSidebarAnchor",props:{anchorWidth:{},modelValue:{},items:{}},setup(e,{expose:n}){const o=e
1606
+ return(e,a)=>((0,t.openBlock)(),(0,t.createElementBlock)("div",{id:n.id,class:(0,t.normalizeClass)(o.value)},[n.title?((0,t.openBlock)(),(0,t.createElementBlock)("div",Zu,[(0,t.renderSlot)(e.$slots,"title.prepend"),(0,t.createTextVNode)(" "+(0,t.toDisplayString)(n.title)+" ",1),(0,t.renderSlot)(e.$slots,"title.append")])):(0,t.createCommentVNode)("",!0),(0,t.createElementVNode)("div",Xu,[(0,t.renderSlot)(e.$slots,"default")])],10,Yu))}})),ec={ref:"items",class:"q-sidebar__items"},tc=(0,t.defineComponent)({__name:"QSidebarAnchor",props:{anchorWidth:{},modelValue:{},items:{}},setup(e,{expose:n}){const o=e
1607
1607
  n({itemsEl:(0,t.useTemplateRef)("items")})
1608
1608
  const a=(0,t.computed)(()=>{if(void 0!==o.anchorWidth)return{width:`calc(${o.anchorWidth}px * var(--q-density-scale))`}}),d=(0,t.ref)({height:"0",transform:"translateY(0)",opacity:"0",transition:"transform 0.3s ease, height 0.3s ease, opacity 0.2s ease"})
1609
1609
  function r(){d.value={...d.value,opacity:"0",height:"0"}}function l(){if(!o.modelValue)return void r()
@@ -1628,7 +1628,8 @@ if(!o)throw new Error("QSidebarItem: Failed to retrieve sidebar context. Ensure
1628
1628
  const a=Je((0,t.toRef)(n,"value")),d=Je((0,t.toRef)(n,"id")),r=Je(),l=v(a)
1629
1629
  if(!l)throw new Error("QSidebarItem: Failed to retrieve group item. Ensure the component is used within a QSidebar context.")
1630
1630
  const i=o,s=l,u=(0,t.useTemplateRef)("anchor"),c=(0,t.computed)(()=>i.anchorItemsEl.value),f=(0,t.computed)(()=>"left"===i.position.value?"right":"left"),m=(0,t.computed)(()=>"left"===i.position.value?"slide-right":"slide-left")
1631
- function p(){s.toggle(),i.onItemClick(a.value)}function $(){i.onPanelAfterLeave()}return(0,t.onBeforeMount)(()=>{i.register({value:a.value,resizable:(0,t.toRef)(n,"resizable"),initialWidth:(0,t.toRef)(n,"initialWidth"),minWidth:(0,t.toRef)(n,"minWidth"),maxWidth:(0,t.toRef)(n,"maxWidth"),anchorRef:u})}),(0,t.watch)(a,(e,t)=>{e!==t&&i.updateValue(t,e)}),(0,t.onBeforeUnmount)(()=>{i.unregister(a.value)}),(e,o)=>((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,null,[c.value?((0,t.openBlock)(),(0,t.createBlock)(t.Teleport,{key:0,to:c.value},[(0,t.createVNode)((0,t.unref)(rc),{id:(0,t.unref)(d),ref:"anchor","data-testid":"q-sidebar-panel-button",borderless:"","icon-pos":"top",class:(0,t.normalizeClass)(["q-sidebar__item",n.class]),"model-value":(0,t.unref)(s).isActive.value,"aria-controls":(0,t.unref)(r),label:(0,t.unref)(i).showLabels.value?n.title:void 0,title:(0,t.unref)(i).showLabels.value?void 0:n.title,"onUpdate:modelValue":p},{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,"anchor",{},()=>[n.icon?((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(Re),(0,t.normalizeProps)((0,t.mergeProps)({key:0},n.icon)),null,16)):(0,t.createCommentVNode)("",!0)])]),_:3},8,["id","class","model-value","aria-controls","label","title"])],8,["to"])):(0,t.createCommentVNode)("",!0),(0,t.createVNode)(t.Transition,{name:m.value,css:(0,t.unref)(i).animatePanel.value,onAfterLeave:$},{default:(0,t.withCtx)(()=>[(0,t.unref)(s).isActive.value?((0,t.openBlock)(),(0,t.createBlock)(mc,{key:0,id:(0,t.unref)(r),"aria-labelledby":(0,t.unref)(d),title:n.title,resizable:n.resizable,"show-grip":n.showGrip,"resize-position":f.value,"onResize:start":(0,t.unref)(i).onResizeStart,onResize:(0,t.unref)(i).onPanelResize,"onResize:end":(0,t.unref)(i).onResizeEnd},(0,t.createSlots)({content:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,"default")]),_:2},[e.$slots["header.prepend"]?{name:"header.prepend",fn:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,"header.prepend")]),key:"0"}:void 0,e.$slots.header?{name:"header",fn:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,"header")]),key:"1"}:void 0,e.$slots["header.append"]?{name:"header.append",fn:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,"header.append")]),key:"2"}:void 0,e.$slots.footer?{name:"footer",fn:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,"footer")]),key:"3"}:void 0]),1032,["id","aria-labelledby","title","resizable","show-grip","resize-position","onResize:start","onResize","onResize:end"])):(0,t.createCommentVNode)("",!0)]),_:3},8,["name","css"])],64))}}),vc=B(dc),$c=B(pc),hc=Symbol("q-tabs"),gc=["id"],yc={ref:"tabListHost",class:"q-tabs__list"},bc={class:"q-tabs__panels"},kc=(0,t.defineComponent)({__name:"QTabs",props:(0,t.mergeModels)({id:{},class:{},direction:{default:"horizontal"},align:{default:"start"},variant:{default:"line"},disabled:{type:Boolean}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(e){const n=e,o=(0,t.useModel)(e,"modelValue"),a=(0,t.useTemplateRef)("tabListHost"),d=(0,t.useTemplateRef)("overflowRef"),r=(0,t.computed)(()=>d.value?.contentEl??null),l=(0,t.shallowRef)([]),i=(0,t.ref)({width:"0",height:"0",transform:"translate(0, 0)",opacity:"0"}),s=(0,t.ref)(!1)
1631
+ function p(){s.toggle(),i.onItemClick(a.value)}function $(){i.onPanelAfterLeave()}return(0,t.onBeforeMount)(()=>{i.register({value:a.value,resizable:(0,t.toRef)(n,"resizable"),initialWidth:(0,t.toRef)(n,"initialWidth"),minWidth:(0,t.toRef)(n,"minWidth"),maxWidth:(0,t.toRef)(n,"maxWidth"),anchorRef:u})}),(0,t.watch)(a,(e,t)=>{e!==t&&i.updateValue(t,e)}),(0,t.onBeforeUnmount)(()=>{i.unregister(a.value)}),(e,o)=>((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,null,[c.value?((0,t.openBlock)(),(0,t.createBlock)(t.Teleport,{key:0,to:c.value},[(0,t.createVNode)((0,t.unref)(rc),{id:(0,t.unref)(d),ref:"anchor","data-testid":"q-sidebar-panel-button",borderless:"","icon-pos":"top",class:(0,t.normalizeClass)(["q-sidebar__item",n.class]),"model-value":(0,t.unref)(s).isActive.value,"aria-controls":(0,t.unref)(r),label:(0,t.unref)(i).showLabels.value?n.title:void 0,title:(0,t.unref)(i).showLabels.value?void 0:n.title,"onUpdate:modelValue":p},{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,"anchor",{},()=>[n.icon?((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(Re),(0,t.normalizeProps)((0,t.mergeProps)({key:0},n.icon)),null,16)):(0,t.createCommentVNode)("",!0)])]),_:3},8,["id","class","model-value","aria-controls","label","title"])],8,["to"])):(0,t.createCommentVNode)("",!0),(0,t.createVNode)(t.Transition,{name:m.value,css:(0,t.unref)(i).animatePanel.value,onAfterLeave:$},{default:(0,t.withCtx)(()=>[(0,t.unref)(s).isActive.value?((0,t.openBlock)(),(0,t.createBlock)(mc,{key:0,id:(0,t.unref)(r),"aria-labelledby":(0,t.unref)(d),title:n.title,resizable:n.resizable,"show-grip":n.showGrip,"resize-position":f.value,"onResize:start":(0,t.unref)(i).onResizeStart,onResize:(0,t.unref)(i).onPanelResize,"onResize:end":(0,t.unref)(i).onResizeEnd},(0,t.createSlots)({content:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,"default")]),_:2},[e.$slots["header.prepend"]?{name:"header.prepend",fn:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,"header.prepend")]),key:"0"}:void 0,e.$slots.header?{name:"header",fn:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,"header")]),key:"1"}:void 0,e.$slots["header.append"]?{name:"header.append",fn:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,"header.append")]),key:"2"}:void 0,e.$slots.footer?{name:"footer",fn:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,"footer")]),key:"3"}:void 0]),1032,["id","aria-labelledby","title","resizable","show-grip","resize-position","onResize:start","onResize","onResize:end"])):(0,t.createCommentVNode)("",!0)]),_:3},8,["name","css"])],64))}}),vc=B(dc),$c=B(pc)
1632
+ var hc=Symbol("q-tabs"),gc=["id"],yc={ref:"tabListHost",class:"q-tabs__list"},bc={class:"q-tabs__panels"},kc=(0,t.defineComponent)({__name:"QTabs",props:(0,t.mergeModels)({id:{},class:{},direction:{default:"horizontal"},align:{default:"start"},variant:{default:"line"},disabled:{type:Boolean}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(e){const n=e,o=(0,t.useModel)(e,"modelValue"),a=(0,t.useTemplateRef)("tabListHost"),d=(0,t.useTemplateRef)("overflowRef"),r=(0,t.computed)(()=>d.value?.contentEl??null),l=(0,t.shallowRef)([]),i=(0,t.ref)({width:"0",height:"0",transform:"translate(0, 0)",opacity:"0"}),s=(0,t.ref)(!1)
1632
1633
  let u=null
1633
1634
  const{active:f}=p({active:o,required:!0});(0,t.watch)(f,e=>{o.value=e}),c({QTab:{disabled:(0,t.toRef)(n,"disabled")}})
1634
1635
  const m=(0,t.computed)(()=>["q-tabs",`q-tabs--${n.direction}`,`q-tabs--${n.variant}`,`q-tabs--align-${n.align}`,s.value?"q-tabs--indicator-ready":void 0,n.class])
@@ -1644,19 +1645,21 @@ u?u.disconnect():u=new ResizeObserver(()=>{h()})
1644
1645
  const e=a.value
1645
1646
  e&&u.observe(e)
1646
1647
  for(const t of l.value){const e=v(t)
1647
- e&&u.observe(e)}}function y(){return l.value.filter(e=>!(0,t.unref)(e.disabled))}function b(){const e=y()
1648
- e.length&&(e.some(e=>e.value===o.value)||(o.value=e[0].value))}let k
1648
+ e&&u.observe(e)}}const{enabledItems:y,ensureSelection:b}=function(e,n){const o=(0,t.computed)(()=>e().filter(e=>!(0,t.toValue)(e.disabled)))
1649
+ return{enabledItems:o,ensureSelection:function(){const e=o.value
1650
+ e.length&&(e.some(e=>e.value===n.value)||(n.value=e[0].value))}}}(()=>l.value,o)
1651
+ let k
1649
1652
  function C(){k||(k=(0,t.nextTick)(()=>{k=void 0,b()}))}return(0,t.watch)(()=>l.value.map(e=>[e.value,(0,t.unref)(e.disabled)]),()=>C()),(0,t.watch)(()=>[o.value,l.value.length,n.direction,n.variant,n.align],()=>(0,t.nextTick)(()=>{h(),function(){if(!o.value)return
1650
1653
  const e=l.value.find(e=>e.value===o.value)
1651
1654
  if(!e)return
1652
1655
  const t=v(e)
1653
1656
  t&&d.value?.scrollElementIntoView(t)}()}),{immediate:!0}),(0,t.watch)(()=>[l.value.length,n.variant],()=>(0,t.nextTick)(g),{immediate:!0}),(0,t.watch)(()=>[r.value,n.direction],()=>function(){const e=r.value
1654
1657
  e&&(e.setAttribute("role","tablist"),e.setAttribute("aria-orientation",n.direction))}(),{immediate:!0,flush:"post"}),(0,t.onBeforeUnmount)(()=>{u?.disconnect(),u=null}),(0,t.provide)(hc,{tabListEl:r,direction:(0,t.computed)(()=>n.direction),register:function(e){l.value=[...l.value,e],o.value?C():b()},unregister:function(e){l.value=l.value.filter(t=>t.value!==e)},updateValue:function(e,t){if(e===t)return
1655
- const n=l.value.findIndex(t=>t.value===e);-1!==n&&(l.value=l.value.map((e,o)=>o===n?{...e,value:t}:e),o.value!==e&&o.value!==t?b():o.value=t)},focusAdjacent:function(e,t){const n=y()
1658
+ const n=l.value.findIndex(t=>t.value===e);-1!==n&&(l.value=l.value.map((e,o)=>o===n?{...e,value:t}:e),o.value!==e&&o.value!==t?b():o.value=t)},focusAdjacent:function(e,t){const n=y.value
1656
1659
  if(!n.length)return
1657
1660
  const o=n.findIndex(t=>t.value===e),a=n[-1===o?0:(o+t+n.length)%n.length]
1658
- a.select(),a.focus()},focusFirst:function(){const e=y()[0]
1659
- e&&(e.select(),e.focus())},focusLast:function(){const e=y(),t=e[e.length-1]
1661
+ a.select(),a.focus()},focusFirst:function(){const e=y.value[0]
1662
+ e&&(e.select(),e.focus())},focusLast:function(){const e=y.value,t=e[e.length-1]
1660
1663
  t&&(t.select(),t.focus())}}),(e,o)=>((0,t.openBlock)(),(0,t.createElementBlock)("div",{id:n.id,class:(0,t.normalizeClass)(m.value)},[(0,t.createElementVNode)("div",yc,[(0,t.createVNode)((0,t.unref)(mr),{ref_key:"overflowRef",ref:d,class:"q-tabs__overflow",direction:n.direction,"scroll-mode":"item","content-class":"q-tabs__tablist"},{default:(0,t.withCtx)(()=>["line"===n.variant?((0,t.openBlock)(),(0,t.createElementBlock)("div",{key:0,class:"q-tabs__indicator","aria-hidden":"true",style:(0,t.normalizeStyle)(i.value)},null,4)):(0,t.createCommentVNode)("",!0)]),_:1},8,["direction"])],512),(0,t.createElementVNode)("div",bc,[(0,t.renderSlot)(e.$slots,"default")])],10,gc))}}),Cc={class:"q-tab__title"},wc={class:"q-tab__title-text"},xc=["id","aria-labelledby","tabindex"],Bc=(0,t.defineComponent)({__name:"QTab",props:{id:{},class:{},title:{},required:{type:Boolean},disabled:{type:Boolean},value:{},texts:{default:()=>b}},setup(e){const n=e,o=(0,t.inject)(hc,void 0)
1661
1664
  if(!o)throw new Error("QTab: Failed to retrieve tabs context. Ensure the component is used within a QTabs context.")
1662
1665
  const a=Je((0,t.toRef)(n,"value")),d=Je(),r=Je(),l=v(a)
@@ -1666,13 +1669,13 @@ function m(){(i.value?.$el)?.focus?.()}function p(){u.value||l?.isActive.value||
1666
1669
  return t&&"ArrowRight"===e.key||!t&&"ArrowDown"===e.key?(e.preventDefault(),void o?.focusAdjacent(a.value,1)):t&&"ArrowLeft"===e.key||!t&&"ArrowUp"===e.key?(e.preventDefault(),void o?.focusAdjacent(a.value,-1)):"Home"===e.key?(e.preventDefault(),void o?.focusFirst()):void("End"===e.key&&(e.preventDefault(),o?.focusLast()))}return(0,t.onBeforeMount)(()=>{o.register({value:a.value,disabled:u,tabRef:i,focus:m,select:p})}),(0,t.watch)(a,(e,t)=>{e!==t&&o.updateValue(t,e)}),(0,t.onBeforeUnmount)(()=>{o.unregister(a.value)}),(e,o)=>((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,null,[s.value?((0,t.openBlock)(),(0,t.createBlock)(t.Teleport,{key:0,to:s.value},[(0,t.createVNode)((0,t.unref)(Ce),{id:(0,t.unref)(d),ref:"tabBtn",borderless:"",role:"tab",variant:"text",class:(0,t.normalizeClass)(f.value),disabled:u.value,"data-value":(0,t.unref)(a),"aria-selected":(0,t.unref)(l).isActive.value,"aria-controls":(0,t.unref)(r),"aria-required":n.required||void 0,tabindex:c.value,onClick:$,onKeydown:h},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)("span",Cc,[(0,t.renderSlot)(e.$slots,"title.prepend"),(0,t.renderSlot)(e.$slots,"title",{},()=>[(0,t.createElementVNode)("span",wc,(0,t.toDisplayString)(n.title),1)]),n.required?((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(Qe),{key:0,announce:"",texts:n.texts},null,8,["texts"])):(0,t.createCommentVNode)("",!0),(0,t.renderSlot)(e.$slots,"title.append")])]),_:3},8,["id","class","disabled","data-value","aria-selected","aria-controls","aria-required","tabindex"])],8,["to"])):(0,t.createCommentVNode)("",!0),(0,t.withDirectives)((0,t.createElementVNode)("div",{id:(0,t.unref)(r),class:"q-tabs__panel",role:"tabpanel","aria-labelledby":(0,t.unref)(d),tabindex:(0,t.unref)(l).isActive.value?0:void 0},[(0,t.renderSlot)(e.$slots,"default")],8,xc),[[t.vShow,(0,t.unref)(l).isActive.value]])],64))}}),_c=B(kc),Nc=B(Bc)
1667
1670
  var Sc=["id","required","placeholder","readonly","disabled","maxlength","rows","cols","resize","wrap"],Ec=B((0,t.defineComponent)({inheritAttrs:!1,__name:"QTextArea",props:(0,t.mergeModels)({id:{},class:{},label:{},required:{type:Boolean},for:{},labelPosition:{},size:{},readonly:{type:Boolean},disabled:{type:Boolean},invalid:{type:Boolean},placeholder:{},maxLength:{},rows:{default:3},cols:{},resize:{default:"vertical"},wrap:{default:"soft"},autosize:{type:Boolean}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(e){const n=e,o=(0,t.useModel)(e,"modelValue"),a=(0,t.computed)({get:()=>o.value,set:e=>{const t=n.maxLength
1668
1671
  o.value=t?e?.slice(0,t):e}});(0,t.watch)(o,e=>a.value=e,{immediate:!0})
1669
- const d=Je((0,t.toRef)(n,"id")),r=(0,t.computed)(()=>n.readonly||n.disabled?void 0:n.placeholder),l=(0,t.computed)(()=>({input:n.autosize?s:null})),i=(0,t.ref)(),{triggerResize:s,stop:u}=function(e){const{element:n,styleProp:o="height"}=e,a=()=>{const e=n.value
1672
+ const d=Je((0,t.toRef)(n,"id")),r=(0,t.computed)(()=>n.readonly||n.disabled?void 0:n.placeholder),l=(0,t.computed)(()=>`${d.value}_input`),i=(0,t.computed)(()=>({input:n.autosize?u:null})),s=(0,t.ref)(),{triggerResize:u,stop:c}=function(e){const{element:n,styleProp:o="height"}=e,a=()=>{const e=n.value
1670
1673
  if(!e)return
1671
1674
  e.style[o]="auto"
1672
1675
  const t=e.scrollHeight
1673
1676
  e.style[o]=`${t}px`},d=(0,t.watch)(n,a),r=(0,t.watch)(()=>n.value?.value,a)
1674
- return{triggerResize:a,stop:()=>{d(),r()}}}({element:(0,t.computed)(()=>n.autosize?i.value:void 0),styleProp:"minHeight"})
1675
- return(0,t.onBeforeUnmount)(u),(e,o)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(Xt),{class:(0,t.normalizeClass)(["q-text-area",n.class]),for:(0,t.unref)(d),label:n.label,"label-position":n.labelPosition,size:n.size,readonly:n.readonly,disabled:n.disabled,required:n.required},(0,t.createSlots)({"label.prepend":(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,"label.prepend")]),"label.append":(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,"label.append")]),default:(0,t.withCtx)(()=>[(0,t.withDirectives)((0,t.createElementVNode)("textarea",(0,t.mergeProps)({id:(0,t.unref)(d),ref_key:"textareaRef",ref:i,"onUpdate:modelValue":o[0]||(o[0]=e=>a.value=e),class:"q-text-area__input",required:n.required,placeholder:r.value,readonly:n.readonly,disabled:n.disabled,maxlength:n.maxLength,rows:n.rows,cols:n.cols,resize:n.resize,wrap:n.wrap},e.$attrs,(0,t.toHandlers)(l.value,!0)),null,16,Sc),[[t.vModelText,a.value]])]),_:2},[e.$slots.prepend?{name:"prepend",fn:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,"prepend")]),key:"0"}:void 0,e.$slots.append?{name:"append",fn:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,"append")]),key:"1"}:void 0,e.$slots.extras?{name:"extras",fn:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,"extras")]),key:"2"}:void 0]),1032,["class","for","label","label-position","size","readonly","disabled","required"]))}}))
1677
+ return{triggerResize:a,stop:()=>{d(),r()}}}({element:(0,t.computed)(()=>n.autosize?s.value:void 0),styleProp:"minHeight"})
1678
+ return(0,t.onBeforeUnmount)(c),(e,o)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(Xt),{id:(0,t.unref)(d),class:(0,t.normalizeClass)(["q-text-area",n.class]),for:l.value,label:n.label,"label-position":n.labelPosition,size:n.size,readonly:n.readonly,disabled:n.disabled,required:n.required},(0,t.createSlots)({"label.prepend":(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,"label.prepend")]),"label.append":(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,"label.append")]),default:(0,t.withCtx)(()=>[(0,t.withDirectives)((0,t.createElementVNode)("textarea",(0,t.mergeProps)({id:l.value,ref_key:"textareaRef",ref:s,"onUpdate:modelValue":o[0]||(o[0]=e=>a.value=e),class:"q-text-area__input",required:n.required,placeholder:r.value,readonly:n.readonly,disabled:n.disabled,maxlength:n.maxLength,rows:n.rows,cols:n.cols,resize:n.resize,wrap:n.wrap},e.$attrs,(0,t.toHandlers)(i.value,!0)),null,16,Sc),[[t.vModelText,a.value]])]),_:2},[e.$slots.prepend?{name:"prepend",fn:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,"prepend")]),key:"0"}:void 0,e.$slots.append?{name:"append",fn:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,"append")]),key:"1"}:void 0,e.$slots.extras?{name:"extras",fn:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,"extras")]),key:"2"}:void 0]),1032,["id","class","for","label","label-position","size","readonly","disabled","required"]))}}))
1676
1679
  var Mc=Symbol.for("q-toast")
1677
1680
  function qc(e,t,n){const o=e.get(t)
1678
1681
  o&&!o.settled?(o.reject(n),e.delete(t)):e.delete(t)}function Pc(e,t){const n=e.toasts.value[t]