@quidgest/ui 0.23.3 → 0.24.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,12 @@ 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.24.0] - 2026-09-18
13
+
14
+ ### Changed
15
+
16
+ - **Breaking:** `QIcon` `size` prop now sets the icon size in `em` units instead of pixels — convert existing pixel-like values (e.g. `:size="24"`) to their em equivalent (e.g. `:size="1.5"`). Icon size design tokens (`--q-icon-size-sm/md/lg-base`) are also now `em`-based, so default icon sizing scales with the surrounding font size instead of resolving to a fixed pixel value.
17
+
12
18
  ## [0.23.3] - 2026-09-17
13
19
 
14
20
  ### Added
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.23.3",
2
+ "version": "0.24.0",
3
3
  "components": [
4
4
  {
5
5
  "name": "QAccordion",
@@ -531,22 +531,22 @@
531
531
  {
532
532
  "title": "Default",
533
533
  "description": "The default badge indicator, displaying a numerical notification count.",
534
- "code": "<q-badge-indicator v-bind=\"args\">\n <q-icon icon=\"bell-outline\" :size=\"24\" />\n </q-badge-indicator>"
534
+ "code": "<q-badge-indicator v-bind=\"args\">\n <q-icon icon=\"bell-outline\" :size=\"1.5\" />\n </q-badge-indicator>"
535
535
  },
536
536
  {
537
537
  "title": "Dot",
538
538
  "description": "A small dot indicator, automatically applied when no content is provided. Useful for status indicators.",
539
- "code": "<q-badge-indicator v-bind=\"args\">\n <q-icon icon=\"bell-outline\" :size=\"24\" />\n </q-badge-indicator>"
539
+ "code": "<q-badge-indicator v-bind=\"args\">\n <q-icon icon=\"bell-outline\" :size=\"1.5\" />\n </q-badge-indicator>"
540
540
  },
541
541
  {
542
542
  "title": "Custom Content",
543
543
  "description": "A custom content badge, allowing rich elements like icons instead of text.",
544
- "code": "<q-badge-indicator v-bind=\"args\">\n <q-icon icon=\"bell-outline\" :size=\"24\" />\n <template #content>\n <q-icon icon=\"check\" />\n </template>\n </q-badge-indicator>"
544
+ "code": "<q-badge-indicator v-bind=\"args\">\n <q-icon icon=\"bell-outline\" :size=\"1.5\" />\n <template #content>\n <q-icon icon=\"check\" />\n </template>\n </q-badge-indicator>"
545
545
  },
546
546
  {
547
547
  "title": "Placement",
548
548
  "description": "Demonstrates the badge indicator in different placements.",
549
- "code": "<div style=\"display: flex; gap: 3rem;\">\n <q-badge-indicator\n\t\t\tv-for=\"placement in placements\"\n\t\t\t:key=\"placement\"\n\t\t\t:placement=\"placement\"\n\t\t\tcolor=\"danger\"\n\t\t\tcontent=\"9+\"\n\t\t\tv-bind=\"args\">\n <q-icon icon=\"message-outline\" :size=\"24\" />\n </q-badge-indicator>\n </div>"
549
+ "code": "<div style=\"display: flex; gap: 3rem;\">\n <q-badge-indicator\n\t\t\tv-for=\"placement in placements\"\n\t\t\t:key=\"placement\"\n\t\t\t:placement=\"placement\"\n\t\t\tcolor=\"danger\"\n\t\t\tcontent=\"9+\"\n\t\t\tv-bind=\"args\">\n <q-icon icon=\"message-outline\" :size=\"1.5\" />\n </q-badge-indicator>\n </div>"
550
550
  }
551
551
  ]
552
552
  },
@@ -4215,7 +4215,7 @@
4215
4215
  "kind": "primitive",
4216
4216
  "name": "number"
4217
4217
  },
4218
- "description": "The size of the icon, in pixels.",
4218
+ "description": "The size of the icon, in em units.",
4219
4219
  "required": false,
4220
4220
  "category": "Presentation"
4221
4221
  },
package/dist/ui.css CHANGED
@@ -1357,9 +1357,9 @@ to ensure consistent appearance across different browsers.
1357
1357
  --q-selection-control-size-base: 1.15rem;
1358
1358
  --q-field-padding-y-base: 0.26rem;
1359
1359
  --q-field-padding-x-base: 0.25rem;
1360
- --q-icon-size-sm-base: 14px;
1361
- --q-icon-size-md-base: 16px;
1362
- --q-icon-size-lg-base: 20px;
1360
+ --q-icon-size-sm-base: 1em;
1361
+ --q-icon-size-md-base: 1.15em;
1362
+ --q-icon-size-lg-base: 1.45em;
1363
1363
  --q-icon-padding-base: 4px;
1364
1364
  --q-border-radius-base: 4px;
1365
1365
  --q-space-1: calc(var(--q-space-1-base) * var(--q-density-scale));
@@ -2464,7 +2464,7 @@ body *::-webkit-scrollbar-track {
2464
2464
  .q-carousel {
2465
2465
  --q-carousel-height: calc(360px * var(--q-density-scale));
2466
2466
  --q-carousel-control-size: calc(48px * var(--q-density-scale));
2467
- --q-carousel-control-icon-size: calc(24px * var(--q-density-scale));
2467
+ --q-carousel-control-icon-size: var(--q-icon-size-lg);
2468
2468
  --q-carousel-control-inset: calc(1rem * var(--q-density-scale));
2469
2469
  --q-carousel-caption-bottom: calc(3.5rem * var(--q-density-scale));
2470
2470
  --q-carousel-indicator-width: calc(30px * var(--q-density-scale));
@@ -6230,6 +6230,9 @@ body *::-webkit-scrollbar-track {
6230
6230
  width: var(--q-icon-size-md);
6231
6231
  height: var(--q-icon-size-md);
6232
6232
  }
6233
+ .q-icon__font {
6234
+ font-size: var(--q-icon-size-md);
6235
+ }
6233
6236
 
6234
6237
  .q-input-group__prepend > :first-child {
6235
6238
  border-top-left-radius: var(--q-border-radius);
@@ -6422,6 +6425,7 @@ body *::-webkit-scrollbar-track {
6422
6425
  }
6423
6426
  .q-list-item__content {
6424
6427
  display: flex;
6428
+ align-items: center;
6425
6429
  flex-grow: 1;
6426
6430
  gap: var(--q-space-2);
6427
6431
  cursor: inherit;
@@ -6556,8 +6560,8 @@ body *::-webkit-scrollbar-track {
6556
6560
  color: var(--q-theme-primary);
6557
6561
  }
6558
6562
  .q-obfuscation .q-obfuscation__label-action.q-button .q-obfuscation__icon.q-icon {
6559
- width: 1em;
6560
- height: 1em;
6563
+ width: var(--q-icon-size-sm);
6564
+ height: var(--q-icon-size-sm);
6561
6565
  }
6562
6566
  .q-obfuscation__icon.q-icon {
6563
6567
  flex-shrink: 0;
package/dist/ui.esm.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quidgest UI v0.23.3
2
+ * Quidgest UI v0.24.0
3
3
  * (c) 2026 Quidgest - Consultores de Gestão, S.A.
4
4
  * Released under the MIT License.
5
5
  */
@@ -138,7 +138,7 @@ return(e,t)=>(N(),i("button",{id:n.id,type:"button",class:_(v.value),disabled:l.
138
138
  function v(e){f.value&&e.stopImmediatePropagation()}return(t,d)=>(N(),l(I(n.href?"a":"div"),{id:n.id,class:_(a.value),href:n.href&&!f.value?n.href:void 0,onClick:v},{default:X(()=>[n.loading?(N(),l(V(Se),{key:0,size:36})):(N(),i(e,{key:1},[r("div",kt,[T(t.$slots,"header",{},()=>[T(t.$slots,"header.prepend"),t.$slots.title||n.title||t.$slots.subtitle||n.subtitle?(N(),i("div",xt,[T(t.$slots,"header.content.prepend"),r("div",Ct,[t.$slots.title||n.title?(N(),i("p",qt,[t.$slots.title?T(t.$slots,"title",{key:0}):(N(),i(e,{key:1},[u(D(t.$props.title),1)],64))])):o("",!0),t.$slots.subtitle||n.subtitle?(N(),i("p",St,[t.$slots.subtitle?T(t.$slots,"subtitle",{key:0}):(N(),i(e,{key:1},[u(D(t.$props.subtitle),1)],64))])):o("",!0)]),T(t.$slots,"header.content.append")])):o("",!0),T(t.$slots,"header.append")])]),r("div",Nt,[T(t.$slots,"default")]),t.$slots.footer?(N(),i("div",Mt,[T(t.$slots,"footer")])):o("",!0)],64))]),_:3},8,["id","class","href"]))}})),Et=/*@__PURE__*/f({__name:"QIcon",props:{id:{},class:{},icon:{},size:{},color:{},type:{default:"svg"}},setup(e){const t=e,n=d(()=>{switch(t.type){case"svg":return Qt
139
139
  case"font":return Rt
140
140
  case"img":return Vt
141
- default:return}}),{style:a}=mt(F(t,"color")),o=d(()=>{const e=void 0!==t.size?`${t.size}px`:void 0
141
+ default:return}}),{style:a}=mt(F(t,"color")),o=d(()=>{const e=void 0!==t.size?`${t.size}em`:void 0
142
142
  return{width:e,height:e,"font-size":e,color:void 0!==t.color&&"primary"!==t.color?a.value?.mainColor:void 0}})
143
143
  return(e,a)=>(N(),l(I(n.value),{id:t.id,class:_(t.class),icon:t.icon,style:k(o.value)},null,8,["id","class","icon","style"]))}}),At=["id"],Tt=/*@__PURE__*/f({__name:"QIconFont",props:{id:{},class:{},icon:{},variant:{},library:{default:""}},setup(e){const t=e,n=d(()=>t.variant?`${t.library}-${t.variant}`:t.library),a=d(()=>t.library&&t.icon?`${t.library}-${t.icon}`:t.icon)
144
144
  return(e,d)=>(N(),i("i",{id:t.id,class:_(["q-icon","q-icon__font",n.value,a.value,t.class])},null,10,At))}}),Bt=["id","src"],It=/*@__PURE__*/f({__name:"QIconImg",props:{id:{},class:{},icon:{}},setup(e){const t=e
package/dist/ui.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quidgest UI v0.23.3
2
+ * Quidgest UI v0.24.0
3
3
  * (c) 2026 Quidgest - Consultores de Gestão, S.A.
4
4
  * Released under the MIT License.
5
5
  */
@@ -137,7 +137,7 @@ return(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)("button",{id:o.id,type:
137
137
  function l(e){r.value&&e.stopImmediatePropagation()}return(e,a)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(n.href?"a":"div"),{id:n.id,class:(0,t.normalizeClass)(o.value),href:n.href&&!r.value?n.href:void 0,onClick:l},{default:(0,t.withCtx)(()=>[n.loading?((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(_),{key:0,size:36})):((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:1},[(0,t.createElementVNode)("div",Ce,[(0,t.renderSlot)(e.$slots,"header",{},()=>[(0,t.renderSlot)(e.$slots,"header.prepend"),e.$slots.title||n.title||e.$slots.subtitle||n.subtitle?((0,t.openBlock)(),(0,t.createElementBlock)("div",we,[(0,t.renderSlot)(e.$slots,"header.content.prepend"),(0,t.createElementVNode)("div",xe,[e.$slots.title||n.title?((0,t.openBlock)(),(0,t.createElementBlock)("p",Be,[e.$slots.title?(0,t.renderSlot)(e.$slots,"title",{key:0}):((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:1},[(0,t.createTextVNode)((0,t.toDisplayString)(e.$props.title),1)],64))])):(0,t.createCommentVNode)("",!0),e.$slots.subtitle||n.subtitle?((0,t.openBlock)(),(0,t.createElementBlock)("p",_e,[e.$slots.subtitle?(0,t.renderSlot)(e.$slots,"subtitle",{key:0}):((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:1},[(0,t.createTextVNode)((0,t.toDisplayString)(e.$props.subtitle),1)],64))])):(0,t.createCommentVNode)("",!0)]),(0,t.renderSlot)(e.$slots,"header.content.append")])):(0,t.createCommentVNode)("",!0),(0,t.renderSlot)(e.$slots,"header.append")])]),(0,t.createElementVNode)("div",Ne,[(0,t.renderSlot)(e.$slots,"default")]),e.$slots.footer?((0,t.openBlock)(),(0,t.createElementBlock)("div",Se,[(0,t.renderSlot)(e.$slots,"footer")])):(0,t.createCommentVNode)("",!0)],64))]),_:3},8,["id","class","href"]))}})),Me=(0,t.defineComponent)({__name:"QIcon",props:{id:{},class:{},icon:{},size:{},color:{},type:{default:"svg"}},setup(e){const n=e,o=(0,t.computed)(()=>{switch(n.type){case"svg":return Oe
138
138
  case"font":return Re
139
139
  case"img":return Fe
140
- default:return}}),{style:a}=ve((0,t.toRef)(n,"color")),d=(0,t.computed)(()=>{const e=void 0!==n.size?`${n.size}px`:void 0
140
+ default:return}}),{style:a}=ve((0,t.toRef)(n,"color")),d=(0,t.computed)(()=>{const e=void 0!==n.size?`${n.size}em`:void 0
141
141
  return{width:e,height:e,"font-size":e,color:void 0!==n.color&&"primary"!==n.color?a.value?.mainColor:void 0}})
142
142
  return(e,a)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(o.value),{id:n.id,class:(0,t.normalizeClass)(n.class),icon:n.icon,style:(0,t.normalizeStyle)(d.value)},null,8,["id","class","icon","style"]))}}),qe=["id"],Pe=(0,t.defineComponent)({__name:"QIconFont",props:{id:{},class:{},icon:{},variant:{},library:{default:""}},setup(e){const n=e,o=(0,t.computed)(()=>n.variant?`${n.library}-${n.variant}`:n.library),a=(0,t.computed)(()=>n.library&&n.icon?`${n.library}-${n.icon}`:n.icon)
143
143
  return(e,d)=>((0,t.openBlock)(),(0,t.createElementBlock)("i",{id:n.id,class:(0,t.normalizeClass)(["q-icon","q-icon__font",o.value,a.value,n.class])},null,10,qe))}}),Ve=["id","src"],Te=(0,t.defineComponent)({__name:"QIconImg",props:{id:{},class:{},icon:{}},setup(e){const n=e