@vielzeug/refine 3.2.1 → 3.3.1

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.
Files changed (153) hide show
  1. package/dist/alert.cjs +3 -3
  2. package/dist/alert.cjs.map +1 -1
  3. package/dist/alert.js +11 -4
  4. package/dist/alert.js.map +1 -1
  5. package/dist/chip.cjs +9 -9
  6. package/dist/chip.cjs.map +1 -1
  7. package/dist/chip.js +38 -35
  8. package/dist/chip.js.map +1 -1
  9. package/dist/command-palette.cjs +5 -5
  10. package/dist/command-palette.cjs.map +1 -1
  11. package/dist/command-palette.js +5 -5
  12. package/dist/command-palette.js.map +1 -1
  13. package/dist/content/card/card.css.cjs +1 -1
  14. package/dist/content/card/card.css.cjs.map +1 -1
  15. package/dist/content/card/card.css.js +1 -1
  16. package/dist/content/card/card.css.js.map +1 -1
  17. package/dist/content/index.d.ts +4 -0
  18. package/dist/content/index.d.ts.map +1 -1
  19. package/dist/content/keyboard-key/keyboard-key.css.cjs +2 -0
  20. package/dist/content/keyboard-key/keyboard-key.css.cjs.map +1 -0
  21. package/dist/content/keyboard-key/keyboard-key.css.js +6 -0
  22. package/dist/content/keyboard-key/keyboard-key.css.js.map +1 -0
  23. package/dist/content/keyboard-key/keyboard-key.d.ts +12 -0
  24. package/dist/content/keyboard-key/keyboard-key.d.ts.map +1 -0
  25. package/dist/content/keyboard-key/keyboard-shortcut.css.cjs +2 -0
  26. package/dist/content/keyboard-key/keyboard-shortcut.css.cjs.map +1 -0
  27. package/dist/content/keyboard-key/keyboard-shortcut.css.js +6 -0
  28. package/dist/content/keyboard-key/keyboard-shortcut.css.js.map +1 -0
  29. package/dist/content/qr-code/qr-code.css.cjs +2 -0
  30. package/dist/content/qr-code/qr-code.css.cjs.map +1 -0
  31. package/dist/content/qr-code/qr-code.css.js +6 -0
  32. package/dist/content/qr-code/qr-code.css.js.map +1 -0
  33. package/dist/content/qr-code/qr-code.d.ts +74 -0
  34. package/dist/content/qr-code/qr-code.d.ts.map +1 -0
  35. package/dist/core/positioner.cjs +1 -1
  36. package/dist/core/positioner.cjs.map +1 -1
  37. package/dist/core/positioner.d.ts +4 -1
  38. package/dist/core/positioner.d.ts.map +1 -1
  39. package/dist/core/positioner.js +10 -5
  40. package/dist/core/positioner.js.map +1 -1
  41. package/dist/counter.cjs +91 -0
  42. package/dist/counter.cjs.map +1 -0
  43. package/dist/counter.js +180 -0
  44. package/dist/counter.js.map +1 -0
  45. package/dist/custom-elements.json +793 -17
  46. package/dist/disclosure/tabs/tabs.css.cjs +1 -1
  47. package/dist/disclosure/tabs/tabs.css.cjs.map +1 -1
  48. package/dist/disclosure/tabs/tabs.css.js +1 -1
  49. package/dist/disclosure/tabs/tabs.css.js.map +1 -1
  50. package/dist/feedback/alert/alert.d.ts +8 -1
  51. package/dist/feedback/alert/alert.d.ts.map +1 -1
  52. package/dist/feedback/chip/chip.css.cjs +1 -1
  53. package/dist/feedback/chip/chip.css.cjs.map +1 -1
  54. package/dist/feedback/chip/chip.css.js +1 -1
  55. package/dist/feedback/chip/chip.css.js.map +1 -1
  56. package/dist/feedback/chip/chip.d.ts +6 -2
  57. package/dist/feedback/chip/chip.d.ts.map +1 -1
  58. package/dist/feedback/progress/progress.css.cjs +1 -1
  59. package/dist/feedback/progress/progress.css.cjs.map +1 -1
  60. package/dist/feedback/progress/progress.css.js +1 -1
  61. package/dist/feedback/progress/progress.css.js.map +1 -1
  62. package/dist/feedback/progress/progress.d.ts +6 -0
  63. package/dist/feedback/progress/progress.d.ts.map +1 -1
  64. package/dist/feedback/toast/toast.css.cjs +1 -1
  65. package/dist/feedback/toast/toast.css.cjs.map +1 -1
  66. package/dist/feedback/toast/toast.css.js +1 -1
  67. package/dist/feedback/toast/toast.css.js.map +1 -1
  68. package/dist/feedback/toast/toast.d.ts.map +1 -1
  69. package/dist/frameworks/elements.d.ts +1 -1
  70. package/dist/inputs/button/button.css.cjs +1 -1
  71. package/dist/inputs/button/button.css.cjs.map +1 -1
  72. package/dist/inputs/button/button.css.js +1 -1
  73. package/dist/inputs/button/button.css.js.map +1 -1
  74. package/dist/inputs/combobox/combobox.css.cjs +1 -1
  75. package/dist/inputs/combobox/combobox.css.cjs.map +1 -1
  76. package/dist/inputs/combobox/combobox.css.js +1 -1
  77. package/dist/inputs/combobox/combobox.css.js.map +1 -1
  78. package/dist/inputs/counter/counter.css.cjs +2 -0
  79. package/dist/inputs/counter/counter.css.cjs.map +1 -0
  80. package/dist/inputs/counter/counter.css.js +6 -0
  81. package/dist/inputs/counter/counter.css.js.map +1 -0
  82. package/dist/inputs/counter/counter.d.ts +100 -0
  83. package/dist/inputs/counter/counter.d.ts.map +1 -0
  84. package/dist/inputs/date-picker/date-picker.css.cjs +1 -1
  85. package/dist/inputs/date-picker/date-picker.css.cjs.map +1 -1
  86. package/dist/inputs/date-picker/date-picker.css.js +1 -1
  87. package/dist/inputs/date-picker/date-picker.css.js.map +1 -1
  88. package/dist/inputs/index.d.ts +4 -0
  89. package/dist/inputs/index.d.ts.map +1 -1
  90. package/dist/inputs/input/input.css.cjs +1 -1
  91. package/dist/inputs/input/input.css.cjs.map +1 -1
  92. package/dist/inputs/input/input.css.js +1 -1
  93. package/dist/inputs/input/input.css.js.map +1 -1
  94. package/dist/inputs/number-input/number-input.css.cjs +1 -1
  95. package/dist/inputs/number-input/number-input.css.cjs.map +1 -1
  96. package/dist/inputs/number-input/number-input.css.js +1 -1
  97. package/dist/inputs/number-input/number-input.css.js.map +1 -1
  98. package/dist/inputs/qr-scanner/qr-scanner.css.cjs +2 -0
  99. package/dist/inputs/qr-scanner/qr-scanner.css.cjs.map +1 -0
  100. package/dist/inputs/qr-scanner/qr-scanner.css.js +6 -0
  101. package/dist/inputs/qr-scanner/qr-scanner.css.js.map +1 -0
  102. package/dist/inputs/qr-scanner/qr-scanner.d.ts +87 -0
  103. package/dist/inputs/qr-scanner/qr-scanner.d.ts.map +1 -0
  104. package/dist/inputs/select/select.css.cjs +1 -1
  105. package/dist/inputs/select/select.css.cjs.map +1 -1
  106. package/dist/inputs/select/select.css.js +1 -1
  107. package/dist/inputs/select/select.css.js.map +1 -1
  108. package/dist/inputs/slider/slider.css.cjs +1 -1
  109. package/dist/inputs/slider/slider.css.cjs.map +1 -1
  110. package/dist/inputs/slider/slider.css.js +1 -1
  111. package/dist/inputs/slider/slider.css.js.map +1 -1
  112. package/dist/keyboard-key.cjs +9 -0
  113. package/dist/keyboard-key.cjs.map +1 -0
  114. package/dist/keyboard-key.js +36 -0
  115. package/dist/keyboard-key.js.map +1 -0
  116. package/dist/menu.cjs +1 -1
  117. package/dist/menu.cjs.map +1 -1
  118. package/dist/menu.js +2 -1
  119. package/dist/menu.js.map +1 -1
  120. package/dist/overlay/command-palette/command-palette.css.cjs +1 -1
  121. package/dist/overlay/command-palette/command-palette.css.cjs.map +1 -1
  122. package/dist/overlay/command-palette/command-palette.css.js +1 -1
  123. package/dist/overlay/command-palette/command-palette.css.js.map +1 -1
  124. package/dist/overlay/command-palette/command-palette.d.ts +1 -0
  125. package/dist/overlay/command-palette/command-palette.d.ts.map +1 -1
  126. package/dist/progress.cjs +14 -6
  127. package/dist/progress.cjs.map +1 -1
  128. package/dist/progress.js +19 -7
  129. package/dist/progress.js.map +1 -1
  130. package/dist/qr-code.cjs +15 -0
  131. package/dist/qr-code.cjs.map +1 -0
  132. package/dist/qr-code.js +70 -0
  133. package/dist/qr-code.js.map +1 -0
  134. package/dist/qr-scanner.cjs +46 -0
  135. package/dist/qr-scanner.cjs.map +1 -0
  136. package/dist/qr-scanner.js +129 -0
  137. package/dist/qr-scanner.js.map +1 -0
  138. package/dist/refine.cjs +365 -199
  139. package/dist/refine.cjs.map +1 -1
  140. package/dist/refine.iife.js +393 -227
  141. package/dist/refine.iife.js.map +1 -1
  142. package/dist/refine.js +740 -574
  143. package/dist/refine.js.map +1 -1
  144. package/dist/tabs.cjs +2 -2
  145. package/dist/tabs.cjs.map +1 -1
  146. package/dist/tabs.js +37 -34
  147. package/dist/tabs.js.map +1 -1
  148. package/dist/toast.cjs +44 -39
  149. package/dist/toast.cjs.map +1 -1
  150. package/dist/toast.js +132 -117
  151. package/dist/toast.js.map +1 -1
  152. package/dist/types/elements.d.ts +9 -0
  153. package/package.json +35 -2
@@ -1,2 +1,2 @@
1
- var e=`@layer refine.base{:host{--tabs-transition:var(--transition-normal);--tabs-radius:var(--rounded-lg);flex-direction:column;width:100%;height:100%;display:flex}.tablist-wrapper{flex-shrink:0;position:relative}[role=tablist]{gap:var(--tabs-tab-gap,var(--size-1));scrollbar-width:none;align-items:stretch;display:flex;position:relative;overflow-x:auto}[role=tablist]::-webkit-scrollbar{display:none}.indicator{pointer-events:none;background:var(--tabs-indicator-color,var(--_theme-base));border-radius:var(--rounded-full);height:2px;transition:transform var(--tabs-transition);position:absolute;bottom:0;left:0}.panels{flex-direction:column;flex:1;min-height:0;display:flex}}@layer refine.orientation{:host([orientation=vertical]){flex-direction:row;align-items:flex-start}:host([orientation=vertical]) .tablist-wrapper{flex-shrink:0;display:flex}:host([orientation=vertical]) [role=tablist]{width:max-content;overflow-x:unset;flex-direction:column;overflow-y:auto}:host([orientation=vertical]) .indicator{top:0;bottom:unset;width:2px;height:unset;transition:transform var(--tabs-transition)}:host([orientation=vertical]) .indicator:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){left:0}:host([orientation=vertical]) .indicator:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){right:0}}@layer refine.variants{:host,:host([variant=solid]){--tabs-tab-gap:var(--size-1);--_tablist-bg:var(--tabs-tablist-bg,var(--color-contrast-100));--_tablist-border-color:var(--tabs-tablist-border-color,var(--color-contrast-200))}:host [role=tablist],:host([variant=solid]) [role=tablist]{padding:var(--size-1);background:var(--_tablist-bg);border:var(--border) solid var(--_tablist-border-color);border-radius:var(--tabs-radius)}:host .indicator,:host([variant=solid]) .indicator{display:none}:host([variant=flat]){--_tablist-border-color:var(--tabs-tablist-border-color,var(--color-contrast-200));background:var(--tabs-bg,var(--color-contrast-100));border:var(--border) solid var(--_tablist-border-color);border-radius:var(--tabs-radius);box-shadow:var(--inset-shadow-xs), var(--shadow-2xs);overflow:hidden}:host([variant=flat]) [role=tablist]{gap:var(--size-1);padding:var(--size-1);border:none;border-bottom:var(--border) solid var(--_tablist-border-color);background:0 0;border-radius:0}:host([variant=flat]) .indicator{display:none}:host([variant=bordered]){--_tablist-border-color:var(--tabs-tablist-border-color,var(--color-contrast-200))}:host([variant=bordered]) [role=tablist]{gap:var(--size-1);padding:var(--size-1);border:var(--border) solid var(--_tablist-border-color);border-radius:var(--tabs-radius) var(--tabs-radius) 0 0;background:0 0;border-bottom:none}:host([variant=bordered]) .indicator{display:none}:host([variant=bordered]) .panels{border:var(--border) solid var(--_tablist-border-color);border-radius:0 0 var(--tabs-radius) var(--tabs-radius)}:host([variant=bordered][orientation=vertical]) [role=tablist]{border-right:none;border-bottom:var(--border) solid var(--_tablist-border-color);border-radius:var(--tabs-radius) 0 0 var(--tabs-radius)}:host([variant=bordered][orientation=vertical]) .panels{border-radius:0 var(--tabs-radius) var(--tabs-radius) 0}:host([variant=ghost]) [role=tablist]{gap:var(--size-1);background:0 0;border:none;border-radius:0;padding:0}:host([variant=ghost]) .indicator{display:none}:host([variant=frost]){--_tablist-bg:var(--tabs-tablist-bg,color-mix(in oklch, var(--color-canvas) 55%, transparent));--_tablist-border-color:var(--tabs-tablist-border-color,color-mix(in oklch, var(--color-contrast-300) 50%, transparent))}:host([variant=frost]) [role=tablist]{padding:var(--size-1);background:var(--_tablist-bg);border:var(--border) solid var(--_tablist-border-color);border-radius:var(--tabs-radius);box-shadow:var(--shadow-md), var(--inset-shadow-xs);-webkit-backdrop-filter:blur(var(--blur-lg)) saturate(180%);backdrop-filter:blur(var(--blur-lg)) saturate(180%)}:host([variant=frost]) .indicator{display:none}}@layer refine.density{:host([density=compact]){--tabs-radius:var(--rounded-md);height:auto}:host([density=compact]) [role=tablist]{gap:var(--size-1);padding:var(--size-1)}:host([density=compact][variant=ghost]) [role=tablist]{padding:0}}`;exports.default=e;
1
+ var e=`@layer refine.base{:host{--tabs-transition:var(--transition-normal);--tabs-radius:var(--rounded-lg);flex-direction:column;width:100%;height:100%;display:flex}:host(:not([data-has-panels])){width:fit-content;height:auto}.tablist-wrapper{flex-shrink:0;position:relative}[role=tablist]{gap:var(--tabs-tab-gap,var(--size-1));scrollbar-width:none;align-items:stretch;display:flex;position:relative;overflow-x:auto}[role=tablist]::-webkit-scrollbar{display:none}.indicator{pointer-events:none;background:var(--tabs-indicator-color,var(--_theme-base));border-radius:var(--rounded-full);height:2px;transition:transform var(--tabs-transition);position:absolute;bottom:0;left:0}.panels{flex-direction:column;flex:1;min-height:0;display:flex}.panels[hidden]{display:none}}@layer refine.orientation{:host([orientation=vertical]){flex-direction:row;align-items:flex-start}:host([orientation=vertical]) .tablist-wrapper{flex-shrink:0;display:flex}:host([orientation=vertical]) [role=tablist]{width:max-content;overflow-x:unset;flex-direction:column;overflow-y:auto}:host([orientation=vertical]) .indicator{top:0;bottom:unset;width:2px;height:unset;transition:transform var(--tabs-transition)}:host([orientation=vertical]) .indicator:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){left:0}:host([orientation=vertical]) .indicator:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){right:0}}@layer refine.variants{:host,:host([variant=solid]){--tabs-tab-gap:var(--size-1);--_tablist-bg:var(--tabs-tablist-bg,var(--color-contrast-100));--_tablist-border-color:var(--tabs-tablist-border-color,var(--color-contrast-200))}:host [role=tablist],:host([variant=solid]) [role=tablist]{padding:var(--size-1);background:var(--_tablist-bg);border:var(--border) solid var(--_tablist-border-color);border-radius:var(--tabs-radius)}:host .indicator,:host([variant=solid]) .indicator{display:none}:host([variant=flat]){--_tablist-border-color:var(--tabs-tablist-border-color,var(--color-contrast-200));background:var(--tabs-bg,var(--color-contrast-100));border:var(--border) solid var(--_tablist-border-color);border-radius:var(--tabs-radius);box-shadow:var(--inset-shadow-xs), var(--shadow-2xs);overflow:hidden}:host([variant=flat]) [role=tablist]{gap:var(--size-1);padding:var(--size-1);border:none;border-bottom:var(--border) solid var(--_tablist-border-color);background:0 0;border-radius:0}:host([variant=flat]) .indicator{display:none}:host([variant=bordered]){--_tablist-border-color:var(--tabs-tablist-border-color,var(--color-contrast-200))}:host([variant=bordered]) [role=tablist]{gap:var(--size-1);padding:var(--size-1);border:var(--border) solid var(--_tablist-border-color);border-radius:var(--tabs-radius) var(--tabs-radius) 0 0;background:0 0;border-bottom:none}:host([variant=bordered]) .indicator{display:none}:host([variant=bordered]) .panels{border:var(--border) solid var(--_tablist-border-color);border-radius:0 0 var(--tabs-radius) var(--tabs-radius)}:host([variant=bordered][orientation=vertical]) [role=tablist]{border-right:none;border-bottom:var(--border) solid var(--_tablist-border-color);border-radius:var(--tabs-radius) 0 0 var(--tabs-radius)}:host([variant=bordered][orientation=vertical]) .panels{border-radius:0 var(--tabs-radius) var(--tabs-radius) 0}:host([variant=ghost]) [role=tablist]{gap:var(--size-1);background:0 0;border:none;border-radius:0;padding:0}:host([variant=ghost]) .indicator{display:none}:host([variant=frost]){--_tablist-bg:var(--tabs-tablist-bg,color-mix(in oklch, var(--color-canvas) 55%, transparent));--_tablist-border-color:var(--tabs-tablist-border-color,color-mix(in oklch, var(--color-contrast-300) 50%, transparent))}:host([variant=frost]) [role=tablist]{padding:var(--size-1);background:var(--_tablist-bg);border:var(--border) solid var(--_tablist-border-color);border-radius:var(--tabs-radius);box-shadow:var(--shadow-md), var(--inset-shadow-xs);-webkit-backdrop-filter:blur(var(--blur-lg)) saturate(180%);backdrop-filter:blur(var(--blur-lg)) saturate(180%)}:host([variant=frost]) .indicator{display:none}}@layer refine.density{:host([density=compact]){--tabs-radius:var(--rounded-md);height:auto}:host([density=compact]) [role=tablist]{gap:var(--size-1);padding:var(--size-1)}:host([density=compact][variant=ghost]) [role=tablist]{padding:0}}`;exports.default=e;
2
2
  //# sourceMappingURL=tabs.css.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"tabs.css.cjs","names":[],"sources":["../../../src/disclosure/tabs/tabs.css?inline"],"sourcesContent":["@layer refine.base {\n :host {\n --tabs-transition: var(--transition-normal);\n --tabs-radius: var(--rounded-lg);\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n }\n\n .tablist-wrapper {\n position: relative;\n flex-shrink: 0;\n }\n\n [role='tablist'] {\n position: relative;\n display: flex;\n gap: var(--tabs-tab-gap, var(--size-1));\n align-items: stretch;\n overflow-x: auto;\n scrollbar-width: none;\n }\n\n [role='tablist']::-webkit-scrollbar {\n display: none;\n }\n\n .indicator {\n position: absolute;\n bottom: 0;\n left: 0;\n height: 2px;\n pointer-events: none;\n background: var(--tabs-indicator-color, var(--_theme-base));\n border-radius: var(--rounded-full);\n transition: transform var(--tabs-transition);\n }\n\n .panels {\n display: flex;\n flex: 1;\n flex-direction: column;\n min-height: 0;\n }\n}\n\n@layer refine.orientation {\n /* ─── vertical orientation ─── */\n :host([orientation='vertical']) {\n flex-direction: row;\n align-items: flex-start;\n }\n\n :host([orientation='vertical']) .tablist-wrapper {\n display: flex;\n flex-shrink: 0;\n }\n\n :host([orientation='vertical']) [role='tablist'] {\n flex-direction: column;\n width: max-content;\n overflow-x: unset;\n overflow-y: auto;\n }\n\n :host([orientation='vertical']) .indicator {\n inset-inline-start: 0;\n top: 0;\n\n /* Reposition indicator to inline-start side for vertical */\n bottom: unset;\n width: 2px;\n height: unset;\n transition: transform var(--tabs-transition);\n }\n}\n\n@layer refine.variants {\n /* ─── solid (default) ─── */\n :host,\n :host([variant='solid']) {\n --tabs-tab-gap: var(--size-1);\n --_tablist-bg: var(--tabs-tablist-bg, var(--color-contrast-100));\n --_tablist-border-color: var(--tabs-tablist-border-color, var(--color-contrast-200));\n }\n\n :host [role='tablist'],\n :host([variant='solid']) [role='tablist'] {\n padding: var(--size-1);\n background: var(--_tablist-bg);\n border: var(--border) solid var(--_tablist-border-color);\n border-radius: var(--tabs-radius);\n }\n\n :host .indicator,\n :host([variant='solid']) .indicator {\n display: none;\n }\n\n /* ─── flat ─── */\n :host([variant='flat']) {\n --_tablist-border-color: var(--tabs-tablist-border-color, var(--color-contrast-200));\n\n overflow: hidden;\n background: var(--tabs-bg, var(--color-contrast-100));\n border: var(--border) solid var(--_tablist-border-color);\n border-radius: var(--tabs-radius);\n box-shadow: var(--inset-shadow-xs), var(--shadow-2xs);\n }\n\n :host([variant='flat']) [role='tablist'] {\n gap: var(--size-1);\n padding: var(--size-1);\n background: transparent;\n border: none;\n border-bottom: var(--border) solid var(--_tablist-border-color);\n border-radius: 0;\n }\n\n :host([variant='flat']) .indicator {\n display: none;\n }\n\n /* ─── bordered ─── */\n :host([variant='bordered']) {\n --_tablist-border-color: var(--tabs-tablist-border-color, var(--color-contrast-200));\n }\n\n :host([variant='bordered']) [role='tablist'] {\n gap: var(--size-1);\n padding: var(--size-1);\n background: transparent;\n border: var(--border) solid var(--_tablist-border-color);\n border-bottom: none;\n border-radius: var(--tabs-radius) var(--tabs-radius) 0 0;\n }\n\n :host([variant='bordered']) .indicator {\n display: none;\n }\n\n :host([variant='bordered']) .panels {\n border: var(--border) solid var(--_tablist-border-color);\n border-radius: 0 0 var(--tabs-radius) var(--tabs-radius);\n }\n\n :host([variant='bordered'][orientation='vertical']) [role='tablist'] {\n border-right: none;\n border-bottom: var(--border) solid var(--_tablist-border-color);\n border-radius: var(--tabs-radius) 0 0 var(--tabs-radius);\n }\n\n :host([variant='bordered'][orientation='vertical']) .panels {\n border-radius: 0 var(--tabs-radius) var(--tabs-radius) 0;\n }\n\n /* ─── ghost ─── */\n :host([variant='ghost']) [role='tablist'] {\n gap: var(--size-1);\n padding: 0;\n background: transparent;\n border: none;\n border-radius: 0;\n }\n\n :host([variant='ghost']) .indicator {\n display: none;\n }\n\n /* ─── frost ─── */\n :host([variant='frost']) {\n --_tablist-bg: var(--tabs-tablist-bg, color-mix(in oklch, var(--color-canvas) 55%, transparent));\n --_tablist-border-color: var(\n --tabs-tablist-border-color,\n color-mix(in oklch, var(--color-contrast-300) 50%, transparent)\n );\n }\n\n :host([variant='frost']) [role='tablist'] {\n padding: var(--size-1);\n background: var(--_tablist-bg);\n border: var(--border) solid var(--_tablist-border-color);\n border-radius: var(--tabs-radius);\n box-shadow: var(--shadow-md), var(--inset-shadow-xs);\n backdrop-filter: blur(var(--blur-lg)) saturate(180%);\n }\n\n :host([variant='frost']) .indicator {\n display: none;\n }\n}\n\n@layer refine.density {\n :host([density='compact']) {\n --tabs-radius: var(--rounded-md);\n\n height: auto;\n }\n\n :host([density='compact']) [role='tablist'] {\n gap: var(--size-1);\n padding: var(--size-1);\n }\n\n :host([density='compact'][variant='ghost']) [role='tablist'] {\n padding: 0;\n }\n}\n"],"mappings":""}
1
+ {"version":3,"file":"tabs.css.cjs","names":[],"sources":["../../../src/disclosure/tabs/tabs.css?inline"],"sourcesContent":["@layer refine.base {\n :host {\n --tabs-transition: var(--transition-normal);\n --tabs-radius: var(--rounded-lg);\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n }\n\n :host(:not([data-has-panels])) {\n width: fit-content;\n height: auto;\n }\n\n .tablist-wrapper {\n position: relative;\n flex-shrink: 0;\n }\n\n [role='tablist'] {\n position: relative;\n display: flex;\n gap: var(--tabs-tab-gap, var(--size-1));\n align-items: stretch;\n overflow-x: auto;\n scrollbar-width: none;\n }\n\n [role='tablist']::-webkit-scrollbar {\n display: none;\n }\n\n .indicator {\n position: absolute;\n bottom: 0;\n left: 0;\n height: 2px;\n pointer-events: none;\n background: var(--tabs-indicator-color, var(--_theme-base));\n border-radius: var(--rounded-full);\n transition: transform var(--tabs-transition);\n }\n\n .panels {\n display: flex;\n flex: 1;\n flex-direction: column;\n min-height: 0;\n }\n\n .panels[hidden] {\n display: none;\n }\n}\n\n@layer refine.orientation {\n /* ─── vertical orientation ─── */\n :host([orientation='vertical']) {\n flex-direction: row;\n align-items: flex-start;\n }\n\n :host([orientation='vertical']) .tablist-wrapper {\n display: flex;\n flex-shrink: 0;\n }\n\n :host([orientation='vertical']) [role='tablist'] {\n flex-direction: column;\n width: max-content;\n overflow-x: unset;\n overflow-y: auto;\n }\n\n :host([orientation='vertical']) .indicator {\n inset-inline-start: 0;\n top: 0;\n\n /* Reposition indicator to inline-start side for vertical */\n bottom: unset;\n width: 2px;\n height: unset;\n transition: transform var(--tabs-transition);\n }\n}\n\n@layer refine.variants {\n /* ─── solid (default) ─── */\n :host,\n :host([variant='solid']) {\n --tabs-tab-gap: var(--size-1);\n --_tablist-bg: var(--tabs-tablist-bg, var(--color-contrast-100));\n --_tablist-border-color: var(--tabs-tablist-border-color, var(--color-contrast-200));\n }\n\n :host [role='tablist'],\n :host([variant='solid']) [role='tablist'] {\n padding: var(--size-1);\n background: var(--_tablist-bg);\n border: var(--border) solid var(--_tablist-border-color);\n border-radius: var(--tabs-radius);\n }\n\n :host .indicator,\n :host([variant='solid']) .indicator {\n display: none;\n }\n\n /* ─── flat ─── */\n :host([variant='flat']) {\n --_tablist-border-color: var(--tabs-tablist-border-color, var(--color-contrast-200));\n\n overflow: hidden;\n background: var(--tabs-bg, var(--color-contrast-100));\n border: var(--border) solid var(--_tablist-border-color);\n border-radius: var(--tabs-radius);\n box-shadow: var(--inset-shadow-xs), var(--shadow-2xs);\n }\n\n :host([variant='flat']) [role='tablist'] {\n gap: var(--size-1);\n padding: var(--size-1);\n background: transparent;\n border: none;\n border-bottom: var(--border) solid var(--_tablist-border-color);\n border-radius: 0;\n }\n\n :host([variant='flat']) .indicator {\n display: none;\n }\n\n /* ─── bordered ─── */\n :host([variant='bordered']) {\n --_tablist-border-color: var(--tabs-tablist-border-color, var(--color-contrast-200));\n }\n\n :host([variant='bordered']) [role='tablist'] {\n gap: var(--size-1);\n padding: var(--size-1);\n background: transparent;\n border: var(--border) solid var(--_tablist-border-color);\n border-bottom: none;\n border-radius: var(--tabs-radius) var(--tabs-radius) 0 0;\n }\n\n :host([variant='bordered']) .indicator {\n display: none;\n }\n\n :host([variant='bordered']) .panels {\n border: var(--border) solid var(--_tablist-border-color);\n border-radius: 0 0 var(--tabs-radius) var(--tabs-radius);\n }\n\n :host([variant='bordered'][orientation='vertical']) [role='tablist'] {\n border-right: none;\n border-bottom: var(--border) solid var(--_tablist-border-color);\n border-radius: var(--tabs-radius) 0 0 var(--tabs-radius);\n }\n\n :host([variant='bordered'][orientation='vertical']) .panels {\n border-radius: 0 var(--tabs-radius) var(--tabs-radius) 0;\n }\n\n /* ─── ghost ─── */\n :host([variant='ghost']) [role='tablist'] {\n gap: var(--size-1);\n padding: 0;\n background: transparent;\n border: none;\n border-radius: 0;\n }\n\n :host([variant='ghost']) .indicator {\n display: none;\n }\n\n /* ─── frost ─── */\n :host([variant='frost']) {\n --_tablist-bg: var(--tabs-tablist-bg, color-mix(in oklch, var(--color-canvas) 55%, transparent));\n --_tablist-border-color: var(\n --tabs-tablist-border-color,\n color-mix(in oklch, var(--color-contrast-300) 50%, transparent)\n );\n }\n\n :host([variant='frost']) [role='tablist'] {\n padding: var(--size-1);\n background: var(--_tablist-bg);\n border: var(--border) solid var(--_tablist-border-color);\n border-radius: var(--tabs-radius);\n box-shadow: var(--shadow-md), var(--inset-shadow-xs);\n backdrop-filter: blur(var(--blur-lg)) saturate(180%);\n }\n\n :host([variant='frost']) .indicator {\n display: none;\n }\n}\n\n@layer refine.density {\n :host([density='compact']) {\n --tabs-radius: var(--rounded-md);\n\n height: auto;\n }\n\n :host([density='compact']) [role='tablist'] {\n gap: var(--size-1);\n padding: var(--size-1);\n }\n\n :host([density='compact'][variant='ghost']) [role='tablist'] {\n padding: 0;\n }\n}\n"],"mappings":""}
@@ -1,5 +1,5 @@
1
1
  //#region src/disclosure/tabs/tabs.css?inline
2
- var e = "@layer refine.base{:host{--tabs-transition:var(--transition-normal);--tabs-radius:var(--rounded-lg);flex-direction:column;width:100%;height:100%;display:flex}.tablist-wrapper{flex-shrink:0;position:relative}[role=tablist]{gap:var(--tabs-tab-gap,var(--size-1));scrollbar-width:none;align-items:stretch;display:flex;position:relative;overflow-x:auto}[role=tablist]::-webkit-scrollbar{display:none}.indicator{pointer-events:none;background:var(--tabs-indicator-color,var(--_theme-base));border-radius:var(--rounded-full);height:2px;transition:transform var(--tabs-transition);position:absolute;bottom:0;left:0}.panels{flex-direction:column;flex:1;min-height:0;display:flex}}@layer refine.orientation{:host([orientation=vertical]){flex-direction:row;align-items:flex-start}:host([orientation=vertical]) .tablist-wrapper{flex-shrink:0;display:flex}:host([orientation=vertical]) [role=tablist]{width:max-content;overflow-x:unset;flex-direction:column;overflow-y:auto}:host([orientation=vertical]) .indicator{top:0;bottom:unset;width:2px;height:unset;transition:transform var(--tabs-transition)}:host([orientation=vertical]) .indicator:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){left:0}:host([orientation=vertical]) .indicator:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){right:0}}@layer refine.variants{:host,:host([variant=solid]){--tabs-tab-gap:var(--size-1);--_tablist-bg:var(--tabs-tablist-bg,var(--color-contrast-100));--_tablist-border-color:var(--tabs-tablist-border-color,var(--color-contrast-200))}:host [role=tablist],:host([variant=solid]) [role=tablist]{padding:var(--size-1);background:var(--_tablist-bg);border:var(--border) solid var(--_tablist-border-color);border-radius:var(--tabs-radius)}:host .indicator,:host([variant=solid]) .indicator{display:none}:host([variant=flat]){--_tablist-border-color:var(--tabs-tablist-border-color,var(--color-contrast-200));background:var(--tabs-bg,var(--color-contrast-100));border:var(--border) solid var(--_tablist-border-color);border-radius:var(--tabs-radius);box-shadow:var(--inset-shadow-xs), var(--shadow-2xs);overflow:hidden}:host([variant=flat]) [role=tablist]{gap:var(--size-1);padding:var(--size-1);border:none;border-bottom:var(--border) solid var(--_tablist-border-color);background:0 0;border-radius:0}:host([variant=flat]) .indicator{display:none}:host([variant=bordered]){--_tablist-border-color:var(--tabs-tablist-border-color,var(--color-contrast-200))}:host([variant=bordered]) [role=tablist]{gap:var(--size-1);padding:var(--size-1);border:var(--border) solid var(--_tablist-border-color);border-radius:var(--tabs-radius) var(--tabs-radius) 0 0;background:0 0;border-bottom:none}:host([variant=bordered]) .indicator{display:none}:host([variant=bordered]) .panels{border:var(--border) solid var(--_tablist-border-color);border-radius:0 0 var(--tabs-radius) var(--tabs-radius)}:host([variant=bordered][orientation=vertical]) [role=tablist]{border-right:none;border-bottom:var(--border) solid var(--_tablist-border-color);border-radius:var(--tabs-radius) 0 0 var(--tabs-radius)}:host([variant=bordered][orientation=vertical]) .panels{border-radius:0 var(--tabs-radius) var(--tabs-radius) 0}:host([variant=ghost]) [role=tablist]{gap:var(--size-1);background:0 0;border:none;border-radius:0;padding:0}:host([variant=ghost]) .indicator{display:none}:host([variant=frost]){--_tablist-bg:var(--tabs-tablist-bg,color-mix(in oklch, var(--color-canvas) 55%, transparent));--_tablist-border-color:var(--tabs-tablist-border-color,color-mix(in oklch, var(--color-contrast-300) 50%, transparent))}:host([variant=frost]) [role=tablist]{padding:var(--size-1);background:var(--_tablist-bg);border:var(--border) solid var(--_tablist-border-color);border-radius:var(--tabs-radius);box-shadow:var(--shadow-md), var(--inset-shadow-xs);-webkit-backdrop-filter:blur(var(--blur-lg)) saturate(180%);backdrop-filter:blur(var(--blur-lg)) saturate(180%)}:host([variant=frost]) .indicator{display:none}}@layer refine.density{:host([density=compact]){--tabs-radius:var(--rounded-md);height:auto}:host([density=compact]) [role=tablist]{gap:var(--size-1);padding:var(--size-1)}:host([density=compact][variant=ghost]) [role=tablist]{padding:0}}";
2
+ var e = "@layer refine.base{:host{--tabs-transition:var(--transition-normal);--tabs-radius:var(--rounded-lg);flex-direction:column;width:100%;height:100%;display:flex}:host(:not([data-has-panels])){width:fit-content;height:auto}.tablist-wrapper{flex-shrink:0;position:relative}[role=tablist]{gap:var(--tabs-tab-gap,var(--size-1));scrollbar-width:none;align-items:stretch;display:flex;position:relative;overflow-x:auto}[role=tablist]::-webkit-scrollbar{display:none}.indicator{pointer-events:none;background:var(--tabs-indicator-color,var(--_theme-base));border-radius:var(--rounded-full);height:2px;transition:transform var(--tabs-transition);position:absolute;bottom:0;left:0}.panels{flex-direction:column;flex:1;min-height:0;display:flex}.panels[hidden]{display:none}}@layer refine.orientation{:host([orientation=vertical]){flex-direction:row;align-items:flex-start}:host([orientation=vertical]) .tablist-wrapper{flex-shrink:0;display:flex}:host([orientation=vertical]) [role=tablist]{width:max-content;overflow-x:unset;flex-direction:column;overflow-y:auto}:host([orientation=vertical]) .indicator{top:0;bottom:unset;width:2px;height:unset;transition:transform var(--tabs-transition)}:host([orientation=vertical]) .indicator:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){left:0}:host([orientation=vertical]) .indicator:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){right:0}}@layer refine.variants{:host,:host([variant=solid]){--tabs-tab-gap:var(--size-1);--_tablist-bg:var(--tabs-tablist-bg,var(--color-contrast-100));--_tablist-border-color:var(--tabs-tablist-border-color,var(--color-contrast-200))}:host [role=tablist],:host([variant=solid]) [role=tablist]{padding:var(--size-1);background:var(--_tablist-bg);border:var(--border) solid var(--_tablist-border-color);border-radius:var(--tabs-radius)}:host .indicator,:host([variant=solid]) .indicator{display:none}:host([variant=flat]){--_tablist-border-color:var(--tabs-tablist-border-color,var(--color-contrast-200));background:var(--tabs-bg,var(--color-contrast-100));border:var(--border) solid var(--_tablist-border-color);border-radius:var(--tabs-radius);box-shadow:var(--inset-shadow-xs), var(--shadow-2xs);overflow:hidden}:host([variant=flat]) [role=tablist]{gap:var(--size-1);padding:var(--size-1);border:none;border-bottom:var(--border) solid var(--_tablist-border-color);background:0 0;border-radius:0}:host([variant=flat]) .indicator{display:none}:host([variant=bordered]){--_tablist-border-color:var(--tabs-tablist-border-color,var(--color-contrast-200))}:host([variant=bordered]) [role=tablist]{gap:var(--size-1);padding:var(--size-1);border:var(--border) solid var(--_tablist-border-color);border-radius:var(--tabs-radius) var(--tabs-radius) 0 0;background:0 0;border-bottom:none}:host([variant=bordered]) .indicator{display:none}:host([variant=bordered]) .panels{border:var(--border) solid var(--_tablist-border-color);border-radius:0 0 var(--tabs-radius) var(--tabs-radius)}:host([variant=bordered][orientation=vertical]) [role=tablist]{border-right:none;border-bottom:var(--border) solid var(--_tablist-border-color);border-radius:var(--tabs-radius) 0 0 var(--tabs-radius)}:host([variant=bordered][orientation=vertical]) .panels{border-radius:0 var(--tabs-radius) var(--tabs-radius) 0}:host([variant=ghost]) [role=tablist]{gap:var(--size-1);background:0 0;border:none;border-radius:0;padding:0}:host([variant=ghost]) .indicator{display:none}:host([variant=frost]){--_tablist-bg:var(--tabs-tablist-bg,color-mix(in oklch, var(--color-canvas) 55%, transparent));--_tablist-border-color:var(--tabs-tablist-border-color,color-mix(in oklch, var(--color-contrast-300) 50%, transparent))}:host([variant=frost]) [role=tablist]{padding:var(--size-1);background:var(--_tablist-bg);border:var(--border) solid var(--_tablist-border-color);border-radius:var(--tabs-radius);box-shadow:var(--shadow-md), var(--inset-shadow-xs);-webkit-backdrop-filter:blur(var(--blur-lg)) saturate(180%);backdrop-filter:blur(var(--blur-lg)) saturate(180%)}:host([variant=frost]) .indicator{display:none}}@layer refine.density{:host([density=compact]){--tabs-radius:var(--rounded-md);height:auto}:host([density=compact]) [role=tablist]{gap:var(--size-1);padding:var(--size-1)}:host([density=compact][variant=ghost]) [role=tablist]{padding:0}}";
3
3
  //#endregion
4
4
  export { e as default };
5
5
 
@@ -1 +1 @@
1
- {"version":3,"file":"tabs.css.js","names":[],"sources":["../../../src/disclosure/tabs/tabs.css?inline"],"sourcesContent":["@layer refine.base {\n :host {\n --tabs-transition: var(--transition-normal);\n --tabs-radius: var(--rounded-lg);\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n }\n\n .tablist-wrapper {\n position: relative;\n flex-shrink: 0;\n }\n\n [role='tablist'] {\n position: relative;\n display: flex;\n gap: var(--tabs-tab-gap, var(--size-1));\n align-items: stretch;\n overflow-x: auto;\n scrollbar-width: none;\n }\n\n [role='tablist']::-webkit-scrollbar {\n display: none;\n }\n\n .indicator {\n position: absolute;\n bottom: 0;\n left: 0;\n height: 2px;\n pointer-events: none;\n background: var(--tabs-indicator-color, var(--_theme-base));\n border-radius: var(--rounded-full);\n transition: transform var(--tabs-transition);\n }\n\n .panels {\n display: flex;\n flex: 1;\n flex-direction: column;\n min-height: 0;\n }\n}\n\n@layer refine.orientation {\n /* ─── vertical orientation ─── */\n :host([orientation='vertical']) {\n flex-direction: row;\n align-items: flex-start;\n }\n\n :host([orientation='vertical']) .tablist-wrapper {\n display: flex;\n flex-shrink: 0;\n }\n\n :host([orientation='vertical']) [role='tablist'] {\n flex-direction: column;\n width: max-content;\n overflow-x: unset;\n overflow-y: auto;\n }\n\n :host([orientation='vertical']) .indicator {\n inset-inline-start: 0;\n top: 0;\n\n /* Reposition indicator to inline-start side for vertical */\n bottom: unset;\n width: 2px;\n height: unset;\n transition: transform var(--tabs-transition);\n }\n}\n\n@layer refine.variants {\n /* ─── solid (default) ─── */\n :host,\n :host([variant='solid']) {\n --tabs-tab-gap: var(--size-1);\n --_tablist-bg: var(--tabs-tablist-bg, var(--color-contrast-100));\n --_tablist-border-color: var(--tabs-tablist-border-color, var(--color-contrast-200));\n }\n\n :host [role='tablist'],\n :host([variant='solid']) [role='tablist'] {\n padding: var(--size-1);\n background: var(--_tablist-bg);\n border: var(--border) solid var(--_tablist-border-color);\n border-radius: var(--tabs-radius);\n }\n\n :host .indicator,\n :host([variant='solid']) .indicator {\n display: none;\n }\n\n /* ─── flat ─── */\n :host([variant='flat']) {\n --_tablist-border-color: var(--tabs-tablist-border-color, var(--color-contrast-200));\n\n overflow: hidden;\n background: var(--tabs-bg, var(--color-contrast-100));\n border: var(--border) solid var(--_tablist-border-color);\n border-radius: var(--tabs-radius);\n box-shadow: var(--inset-shadow-xs), var(--shadow-2xs);\n }\n\n :host([variant='flat']) [role='tablist'] {\n gap: var(--size-1);\n padding: var(--size-1);\n background: transparent;\n border: none;\n border-bottom: var(--border) solid var(--_tablist-border-color);\n border-radius: 0;\n }\n\n :host([variant='flat']) .indicator {\n display: none;\n }\n\n /* ─── bordered ─── */\n :host([variant='bordered']) {\n --_tablist-border-color: var(--tabs-tablist-border-color, var(--color-contrast-200));\n }\n\n :host([variant='bordered']) [role='tablist'] {\n gap: var(--size-1);\n padding: var(--size-1);\n background: transparent;\n border: var(--border) solid var(--_tablist-border-color);\n border-bottom: none;\n border-radius: var(--tabs-radius) var(--tabs-radius) 0 0;\n }\n\n :host([variant='bordered']) .indicator {\n display: none;\n }\n\n :host([variant='bordered']) .panels {\n border: var(--border) solid var(--_tablist-border-color);\n border-radius: 0 0 var(--tabs-radius) var(--tabs-radius);\n }\n\n :host([variant='bordered'][orientation='vertical']) [role='tablist'] {\n border-right: none;\n border-bottom: var(--border) solid var(--_tablist-border-color);\n border-radius: var(--tabs-radius) 0 0 var(--tabs-radius);\n }\n\n :host([variant='bordered'][orientation='vertical']) .panels {\n border-radius: 0 var(--tabs-radius) var(--tabs-radius) 0;\n }\n\n /* ─── ghost ─── */\n :host([variant='ghost']) [role='tablist'] {\n gap: var(--size-1);\n padding: 0;\n background: transparent;\n border: none;\n border-radius: 0;\n }\n\n :host([variant='ghost']) .indicator {\n display: none;\n }\n\n /* ─── frost ─── */\n :host([variant='frost']) {\n --_tablist-bg: var(--tabs-tablist-bg, color-mix(in oklch, var(--color-canvas) 55%, transparent));\n --_tablist-border-color: var(\n --tabs-tablist-border-color,\n color-mix(in oklch, var(--color-contrast-300) 50%, transparent)\n );\n }\n\n :host([variant='frost']) [role='tablist'] {\n padding: var(--size-1);\n background: var(--_tablist-bg);\n border: var(--border) solid var(--_tablist-border-color);\n border-radius: var(--tabs-radius);\n box-shadow: var(--shadow-md), var(--inset-shadow-xs);\n backdrop-filter: blur(var(--blur-lg)) saturate(180%);\n }\n\n :host([variant='frost']) .indicator {\n display: none;\n }\n}\n\n@layer refine.density {\n :host([density='compact']) {\n --tabs-radius: var(--rounded-md);\n\n height: auto;\n }\n\n :host([density='compact']) [role='tablist'] {\n gap: var(--size-1);\n padding: var(--size-1);\n }\n\n :host([density='compact'][variant='ghost']) [role='tablist'] {\n padding: 0;\n }\n}\n"],"mappings":""}
1
+ {"version":3,"file":"tabs.css.js","names":[],"sources":["../../../src/disclosure/tabs/tabs.css?inline"],"sourcesContent":["@layer refine.base {\n :host {\n --tabs-transition: var(--transition-normal);\n --tabs-radius: var(--rounded-lg);\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n }\n\n :host(:not([data-has-panels])) {\n width: fit-content;\n height: auto;\n }\n\n .tablist-wrapper {\n position: relative;\n flex-shrink: 0;\n }\n\n [role='tablist'] {\n position: relative;\n display: flex;\n gap: var(--tabs-tab-gap, var(--size-1));\n align-items: stretch;\n overflow-x: auto;\n scrollbar-width: none;\n }\n\n [role='tablist']::-webkit-scrollbar {\n display: none;\n }\n\n .indicator {\n position: absolute;\n bottom: 0;\n left: 0;\n height: 2px;\n pointer-events: none;\n background: var(--tabs-indicator-color, var(--_theme-base));\n border-radius: var(--rounded-full);\n transition: transform var(--tabs-transition);\n }\n\n .panels {\n display: flex;\n flex: 1;\n flex-direction: column;\n min-height: 0;\n }\n\n .panels[hidden] {\n display: none;\n }\n}\n\n@layer refine.orientation {\n /* ─── vertical orientation ─── */\n :host([orientation='vertical']) {\n flex-direction: row;\n align-items: flex-start;\n }\n\n :host([orientation='vertical']) .tablist-wrapper {\n display: flex;\n flex-shrink: 0;\n }\n\n :host([orientation='vertical']) [role='tablist'] {\n flex-direction: column;\n width: max-content;\n overflow-x: unset;\n overflow-y: auto;\n }\n\n :host([orientation='vertical']) .indicator {\n inset-inline-start: 0;\n top: 0;\n\n /* Reposition indicator to inline-start side for vertical */\n bottom: unset;\n width: 2px;\n height: unset;\n transition: transform var(--tabs-transition);\n }\n}\n\n@layer refine.variants {\n /* ─── solid (default) ─── */\n :host,\n :host([variant='solid']) {\n --tabs-tab-gap: var(--size-1);\n --_tablist-bg: var(--tabs-tablist-bg, var(--color-contrast-100));\n --_tablist-border-color: var(--tabs-tablist-border-color, var(--color-contrast-200));\n }\n\n :host [role='tablist'],\n :host([variant='solid']) [role='tablist'] {\n padding: var(--size-1);\n background: var(--_tablist-bg);\n border: var(--border) solid var(--_tablist-border-color);\n border-radius: var(--tabs-radius);\n }\n\n :host .indicator,\n :host([variant='solid']) .indicator {\n display: none;\n }\n\n /* ─── flat ─── */\n :host([variant='flat']) {\n --_tablist-border-color: var(--tabs-tablist-border-color, var(--color-contrast-200));\n\n overflow: hidden;\n background: var(--tabs-bg, var(--color-contrast-100));\n border: var(--border) solid var(--_tablist-border-color);\n border-radius: var(--tabs-radius);\n box-shadow: var(--inset-shadow-xs), var(--shadow-2xs);\n }\n\n :host([variant='flat']) [role='tablist'] {\n gap: var(--size-1);\n padding: var(--size-1);\n background: transparent;\n border: none;\n border-bottom: var(--border) solid var(--_tablist-border-color);\n border-radius: 0;\n }\n\n :host([variant='flat']) .indicator {\n display: none;\n }\n\n /* ─── bordered ─── */\n :host([variant='bordered']) {\n --_tablist-border-color: var(--tabs-tablist-border-color, var(--color-contrast-200));\n }\n\n :host([variant='bordered']) [role='tablist'] {\n gap: var(--size-1);\n padding: var(--size-1);\n background: transparent;\n border: var(--border) solid var(--_tablist-border-color);\n border-bottom: none;\n border-radius: var(--tabs-radius) var(--tabs-radius) 0 0;\n }\n\n :host([variant='bordered']) .indicator {\n display: none;\n }\n\n :host([variant='bordered']) .panels {\n border: var(--border) solid var(--_tablist-border-color);\n border-radius: 0 0 var(--tabs-radius) var(--tabs-radius);\n }\n\n :host([variant='bordered'][orientation='vertical']) [role='tablist'] {\n border-right: none;\n border-bottom: var(--border) solid var(--_tablist-border-color);\n border-radius: var(--tabs-radius) 0 0 var(--tabs-radius);\n }\n\n :host([variant='bordered'][orientation='vertical']) .panels {\n border-radius: 0 var(--tabs-radius) var(--tabs-radius) 0;\n }\n\n /* ─── ghost ─── */\n :host([variant='ghost']) [role='tablist'] {\n gap: var(--size-1);\n padding: 0;\n background: transparent;\n border: none;\n border-radius: 0;\n }\n\n :host([variant='ghost']) .indicator {\n display: none;\n }\n\n /* ─── frost ─── */\n :host([variant='frost']) {\n --_tablist-bg: var(--tabs-tablist-bg, color-mix(in oklch, var(--color-canvas) 55%, transparent));\n --_tablist-border-color: var(\n --tabs-tablist-border-color,\n color-mix(in oklch, var(--color-contrast-300) 50%, transparent)\n );\n }\n\n :host([variant='frost']) [role='tablist'] {\n padding: var(--size-1);\n background: var(--_tablist-bg);\n border: var(--border) solid var(--_tablist-border-color);\n border-radius: var(--tabs-radius);\n box-shadow: var(--shadow-md), var(--inset-shadow-xs);\n backdrop-filter: blur(var(--blur-lg)) saturate(180%);\n }\n\n :host([variant='frost']) .indicator {\n display: none;\n }\n}\n\n@layer refine.density {\n :host([density='compact']) {\n --tabs-radius: var(--rounded-md);\n\n height: auto;\n }\n\n :host([density='compact']) [role='tablist'] {\n gap: var(--size-1);\n padding: var(--size-1);\n }\n\n :host([density='compact'][variant='ghost']) [role='tablist'] {\n padding: 0;\n }\n}\n"],"mappings":""}
@@ -12,6 +12,12 @@ export type OreAlertProps = {
12
12
  color?: ThemeColor;
13
13
  /** Show a dismissible (×) button */
14
14
  dismissible?: boolean;
15
+ /**
16
+ * Render as a passive surface inside a host that owns lifecycle and
17
+ * announcements (for example `ore-toast`): no live-region role, and the
18
+ * close button only emits `dismiss` instead of hiding the alert.
19
+ */
20
+ embedded?: boolean;
15
21
  /** Heading text shown above the content */
16
22
  heading?: string;
17
23
  /** Position action buttons to the right instead of below */
@@ -34,10 +40,11 @@ export type OreAlertProps = {
34
40
  * @attr {string} rounded - Border radius: 'none' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | 'full'
35
41
  * @attr {string} heading - Bold heading text above the content
36
42
  * @attr {boolean} dismissible - Show a close (×) button
43
+ * @attr {boolean} embedded - Passive surface for a host that owns lifecycle and announcements; the close button only emits `dismiss`
37
44
  * @attr {boolean} accented - Add a left accent border (flat/bordered only)
38
45
  * @attr {boolean} horizontal - Position action buttons to the right instead of below
39
46
  *
40
- * @fires dismiss - Fired when the alert is dismissed. detail: { originalEvent: MouseEvent }
47
+ * @fires dismiss - Fired when the alert is dismissed (after the exit animation, or immediately when `embedded`). detail: { originalEvent: MouseEvent }
41
48
  *
42
49
  * @slot - Default slot for the alert message content
43
50
  * @slot icon - Icon on the left side
@@ -1 +1 @@
1
- {"version":3,"file":"alert.d.ts","sourceRoot":"","sources":["../../../src/feedback/alert/alert.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE1E,OAAO,yBAAyB,CAAC;AAajC,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,EAAE;QAAE,aAAa,EAAE,UAAU,CAAA;KAAE,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,kBAAkB;IAClB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,oCAAoC;IACpC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,2CAA2C;IAC3C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4DAA4D;IAC5D,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,oBAAoB;IACpB,OAAO,CAAC,EAAE,WAAW,GAAG,EAAE,CAAC;IAC3B,iBAAiB;IACjB,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,2BAA2B;IAC3B,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,UAAU,CAAC;CACzC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,eAAO,MAAM,SAAS,EAAG,WAAoB,CAAC"}
1
+ {"version":3,"file":"alert.d.ts","sourceRoot":"","sources":["../../../src/feedback/alert/alert.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE1E,OAAO,yBAAyB,CAAC;AAajC,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,EAAE;QAAE,aAAa,EAAE,UAAU,CAAA;KAAE,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,kBAAkB;IAClB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,oCAAoC;IACpC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,2CAA2C;IAC3C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4DAA4D;IAC5D,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,oBAAoB;IACpB,OAAO,CAAC,EAAE,WAAW,GAAG,EAAE,CAAC;IAC3B,iBAAiB;IACjB,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,2BAA2B;IAC3B,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,UAAU,CAAC;CACzC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,eAAO,MAAM,SAAS,EAAG,WAAoB,CAAC"}
@@ -1,2 +1,2 @@
1
- var e=`@layer refine.base{:host{--_bg:var(--chip-bg,var(--color-contrast-150));--_color:var(--chip-color,var(--color-contrast-800));--_border-color:var(--chip-border-color,transparent);--_radius:var(--chip-radius,var(--rounded-lg));--_font-size:var(--chip-font-size,var(--text-sm));--_font-weight:var(--chip-font-weight,var(--font-medium));--_padding-x:var(--chip-padding-x,var(--size-2-5));--_padding-y:var(--chip-padding-y,var(--size-0-5));--_gap:var(--chip-gap,var(--size-1));vertical-align:middle;align-items:center;max-width:100%;display:inline-flex}.chip{box-sizing:border-box;gap:var(--_gap);max-width:100%;padding:var(--_padding-y) var(--_padding-x);font-size:var(--_font-size);font-weight:var(--_font-weight);color:var(--_color);white-space:nowrap;background:var(--_bg);border:var(--border) solid var(--_border-color);border-radius:var(--_radius);transition:background var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast), color var(--transition-fast);align-items:center;line-height:1.2;display:inline-flex;position:relative}.label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.remove-btn{width:1.35em;height:1.35em;margin-inline:var(--size-0-5) calc(var(--size-2) * -1);color:inherit;cursor:pointer;background:color-mix(in oklch, currentcolor 12%, transparent);border-radius:var(--_radius);opacity:.7;transition:background var(--transition-fast), opacity var(--transition-fast);border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.remove-btn:hover{background:color-mix(in oklch, currentcolor 28%, transparent);opacity:1}.remove-btn:focus-visible{outline-offset:1px;opacity:1;outline:2px solid}::slotted([slot=icon]){flex-shrink:0;justify-content:center;align-items:center;width:1em;height:1em;display:inline-flex}.chip-btn{width:100%;font:inherit;color:inherit;text-align:inherit;cursor:pointer;background:0 0;border:none;margin:0;padding:0;display:inline-flex}.chip-btn:disabled{cursor:not-allowed}:host([mode=selectable][checked]) .chip{outline:var(--border-2) solid var(--_theme-base,currentColor);outline-offset:-2px}:host([mode=selectable]:not([disabled])) .chip,:host([mode=action]:not([disabled])) .chip{cursor:pointer}.chip-btn:focus-visible{outline:2px solid var(--_theme-base,currentColor);outline-offset:2px;border-radius:var(--_radius)}}@layer refine.variants{:host(:not([variant])),:host([variant=solid]){--_bg:var(--chip-bg,var(--_theme-base,var(--color-contrast-700)));--_color:var(--chip-color,var(--_theme-contrast,var(--color-contrast-50)));--_border-color:var(--chip-border-color,transparent);--_hover-bg:var(--chip-hover-bg,var(--_theme-focus,var(--color-contrast-800)));--_active-bg:var(--chip-active-bg,color-mix(in oklch, var(--_theme-focus,var(--color-contrast-800)) 85%, black))}:host([variant=flat]){--_bg:var(--chip-bg,color-mix(in oklch, var(--_theme-backdrop,var(--color-contrast-200)) 55%, transparent));--_color:var(--chip-color,var(--_theme-base,var(--color-contrast-800)));--_border-color:var(--chip-border-color,transparent);--_hover-bg:var(--chip-hover-bg,var(--_theme-focus,var(--color-contrast-700)));--_hover-color:var(--chip-hover-color,var(--_theme-contrast,var(--color-contrast-50)));--_active-bg:var(--chip-active-bg,color-mix(in oklch, var(--_theme-focus,var(--color-contrast-800)) 85%, black));--_active-color:var(--chip-active-color,var(--_theme-contrast,var(--color-contrast-50)))}:host([variant=bordered]){--_bg:var(--chip-bg,var(--_theme-backdrop,var(--color-contrast-50)));--_color:var(--chip-color,var(--_theme-base,var(--color-contrast-900)));--_border-color:var(--chip-border-color,var(--_theme-border,var(--color-contrast-300)));--_remove-bg:var(--chip-remove-bg,var(--_theme-focus,var(--color-contrast-700)));--_remove-color:var(--chip-remove-color,var(--_theme-backdrop,var(--color-contrast-50)));--_hover-bg:var(--chip-hover-bg,var(--_theme-focus,var(--color-contrast-700)));--_hover-color:var(--chip-hover-color,var(--_theme-contrast,var(--color-contrast-50)));--_hover-border-color:var(--chip-hover-border-color,var(--_theme-focus,var(--color-contrast-700)));--_active-bg:var(--chip-active-bg,color-mix(in oklch, var(--_theme-focus,var(--color-contrast-800)) 85%, black));--_active-color:var(--chip-active-color,var(--_theme-contrast,var(--color-contrast-50)))}:host([variant=outline]){--_bg:var(--chip-bg,transparent);--_color:var(--chip-color,var(--_theme-base,var(--color-contrast-900)));--_border-color:var(--chip-border-color,var(--_theme-base,var(--color-contrast-400)));--_remove-bg:var(--chip-remove-bg,var(--_theme-focus,var(--color-contrast-700)));--_remove-color:var(--chip-remove-color,var(--_theme-backdrop,var(--color-contrast-50)));--_hover-bg:var(--chip-hover-bg,var(--_theme-backdrop,var(--color-contrast-100)));--_hover-border-color:var(--chip-hover-border-color,var(--_theme-focus,var(--color-contrast-700)));--_active-bg:var(--chip-active-bg,var(--_theme-base,var(--color-contrast-700)));--_active-color:var(--chip-active-color,var(--_theme-contrast,var(--color-contrast-50)))}:host([variant=ghost]){--_bg:var(--chip-bg,transparent);--_color:var(--chip-color,var(--_theme-base,var(--color-contrast-900)));--_border-color:var(--chip-border-color,transparent);--_hover-bg:var(--chip-hover-bg,var(--_theme-backdrop,var(--color-contrast-100)));--_active-bg:var(--chip-active-bg,var(--_theme-base,var(--color-contrast-700)));--_active-color:var(--chip-active-color,var(--_theme-contrast,var(--color-contrast-50)))}:host([variant=bordered]) .remove-btn,:host([variant=outline]) .remove-btn{color:var(--_remove-color);background:var(--_remove-bg);border:var(--border) solid var(--_remove-bg)}:host([variant=bordered]) .remove-btn:hover,:host([variant=outline]) .remove-btn:hover{background:var(--chip-remove-hover-bg,color-mix(in oklch, var(--_remove-bg) 80%, var(--color-contrast-900)));opacity:1}:host([variant=ghost]) .remove-btn{border:var(--border) solid var(--_theme-focus,var(--color-contrast-400))}:host([variant=ghost]) .remove-btn:hover{background:var(--chip-remove-hover-bg,color-mix(in oklch, currentcolor 15%, transparent))}:host(:is(:not([variant]),[variant=solid],[variant=flat],[variant=bordered],[variant=outline],[variant=ghost]):is([mode=selectable],[mode=action]):not([disabled])) .chip-btn:hover .chip{color:var(--_hover-color,var(--_color));background:var(--_hover-bg,var(--_bg));border-color:var(--_hover-border-color,var(--_border-color))}:host(:is(:not([variant]),[variant=solid],[variant=flat],[variant=bordered],[variant=outline],[variant=ghost]):is([mode=selectable],[mode=action]):not([disabled])) .chip-btn:active .chip{color:var(--_active-color,var(--_color));background:var(--_active-bg,var(--_bg));box-shadow:var(--inset-shadow-2xs)}}`;exports.default=e;
1
+ var e=`@layer refine.base{:host{--_bg:var(--chip-bg,var(--color-contrast-150));--_color:var(--chip-color,var(--color-contrast-800));--_border-color:var(--chip-border-color,transparent);--_radius:var(--chip-radius,var(--rounded-lg));--_font-size:var(--chip-font-size,var(--text-sm));--_font-weight:var(--chip-font-weight,var(--font-medium));--_padding-x:var(--chip-padding-x,var(--size-2-5));--_padding-y:var(--chip-padding-y,var(--size-0-5));--_gap:var(--chip-gap,var(--size-1));--_icon-size:var(--chip-icon-size,1em);vertical-align:middle;align-items:center;max-width:100%;display:inline-flex}.chip{box-sizing:border-box;gap:var(--_gap);max-width:100%;padding:var(--_padding-y) var(--_padding-x);font-size:var(--_font-size);font-weight:var(--_font-weight);color:var(--_color);white-space:nowrap;background:var(--_bg);border:var(--border) solid var(--_border-color);border-radius:var(--_radius);transition:background var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast), color var(--transition-fast);align-items:center;line-height:1.2;display:inline-flex;position:relative}.label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.remove-btn{width:1.35em;height:1.35em;margin-inline:var(--size-0-5) calc(var(--size-2) * -1);color:inherit;cursor:pointer;background:color-mix(in oklch, currentcolor 12%, transparent);border-radius:var(--_radius);opacity:.7;transition:background var(--transition-fast), opacity var(--transition-fast);border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.remove-btn:hover{background:color-mix(in oklch, currentcolor 28%, transparent);opacity:1}.remove-btn:focus-visible{outline-offset:1px;opacity:1;outline:2px solid}::slotted([slot=icon]){width:var(--_icon-size);height:var(--_icon-size);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}:host([layout=stacked]){display:inline-flex}:host([layout=stacked]) .chip{gap:var(--_gap);width:100%;padding:var(--_padding-x);text-align:center;white-space:normal;flex-direction:column;justify-content:center;align-items:center}:host([layout=stacked]) .label{text-overflow:clip;-webkit-line-clamp:2;line-clamp:2;white-space:normal;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}:host([layout=stacked]) .remove-btn{margin-left:0;margin-right:0}.chip-btn{width:100%;font:inherit;color:inherit;text-align:inherit;cursor:pointer;background:0 0;border:none;margin:0;padding:0;display:inline-flex}.chip-btn:disabled{cursor:not-allowed}:host([mode=selectable][checked]) .chip{outline:var(--border-2) solid var(--_theme-base,currentColor);outline-offset:-2px}:host([mode=selectable]:not([disabled])) .chip,:host([mode=action]:not([disabled])) .chip{cursor:pointer}.chip-btn:focus-visible{outline:2px solid var(--_theme-base,currentColor);outline-offset:2px;border-radius:var(--_radius)}}@layer refine.variants{:host(:not([variant])),:host([variant=solid]){--_bg:var(--chip-bg,var(--_theme-base,var(--color-contrast-700)));--_color:var(--chip-color,var(--_theme-contrast,var(--color-contrast-50)));--_border-color:var(--chip-border-color,transparent);--_hover-bg:var(--chip-hover-bg,var(--_theme-focus,var(--color-contrast-800)));--_active-bg:var(--chip-active-bg,color-mix(in oklch, var(--_theme-focus,var(--color-contrast-800)) 85%, black))}:host([variant=flat]){--_bg:var(--chip-bg,color-mix(in oklch, var(--_theme-backdrop,var(--color-contrast-200)) 55%, transparent));--_color:var(--chip-color,var(--_theme-base,var(--color-contrast-800)));--_border-color:var(--chip-border-color,transparent);--_hover-bg:var(--chip-hover-bg,var(--_theme-focus,var(--color-contrast-700)));--_hover-color:var(--chip-hover-color,var(--_theme-contrast,var(--color-contrast-50)));--_active-bg:var(--chip-active-bg,color-mix(in oklch, var(--_theme-focus,var(--color-contrast-800)) 85%, black));--_active-color:var(--chip-active-color,var(--_theme-contrast,var(--color-contrast-50)))}:host([variant=bordered]){--_bg:var(--chip-bg,var(--_theme-backdrop,var(--color-contrast-50)));--_color:var(--chip-color,var(--_theme-base,var(--color-contrast-900)));--_border-color:var(--chip-border-color,var(--_theme-border,var(--color-contrast-300)));--_remove-bg:var(--chip-remove-bg,var(--_theme-focus,var(--color-contrast-700)));--_remove-color:var(--chip-remove-color,var(--_theme-backdrop,var(--color-contrast-50)));--_hover-bg:var(--chip-hover-bg,var(--_theme-focus,var(--color-contrast-700)));--_hover-color:var(--chip-hover-color,var(--_theme-contrast,var(--color-contrast-50)));--_hover-border-color:var(--chip-hover-border-color,var(--_theme-focus,var(--color-contrast-700)));--_active-bg:var(--chip-active-bg,color-mix(in oklch, var(--_theme-focus,var(--color-contrast-800)) 85%, black));--_active-color:var(--chip-active-color,var(--_theme-contrast,var(--color-contrast-50)))}:host([variant=outline]){--_bg:var(--chip-bg,transparent);--_color:var(--chip-color,var(--_theme-base,var(--color-contrast-900)));--_border-color:var(--chip-border-color,var(--_theme-base,var(--color-contrast-400)));--_remove-bg:var(--chip-remove-bg,var(--_theme-focus,var(--color-contrast-700)));--_remove-color:var(--chip-remove-color,var(--_theme-backdrop,var(--color-contrast-50)));--_hover-bg:var(--chip-hover-bg,var(--_theme-backdrop,var(--color-contrast-100)));--_hover-border-color:var(--chip-hover-border-color,var(--_theme-focus,var(--color-contrast-700)));--_active-bg:var(--chip-active-bg,var(--_theme-base,var(--color-contrast-700)));--_active-color:var(--chip-active-color,var(--_theme-contrast,var(--color-contrast-50)))}:host([variant=ghost]){--_bg:var(--chip-bg,transparent);--_color:var(--chip-color,var(--_theme-base,var(--color-contrast-900)));--_border-color:var(--chip-border-color,transparent);--_hover-bg:var(--chip-hover-bg,var(--_theme-backdrop,var(--color-contrast-100)));--_active-bg:var(--chip-active-bg,var(--_theme-base,var(--color-contrast-700)));--_active-color:var(--chip-active-color,var(--_theme-contrast,var(--color-contrast-50)))}:host([variant=frost]:not([color])){--_hover-bg:var(--chip-hover-bg,color-mix(in oklch, var(--color-canvas) 70%, transparent));--_hover-border-color:var(--chip-hover-border-color,color-mix(in oklch, var(--_theme-focus) 40%, transparent));--_active-bg:var(--chip-active-bg,color-mix(in oklch, var(--color-canvas) 70%, transparent));--_active-border-color:color-mix(in oklch, var(--_theme-focus) 40%, transparent)}:host([variant=frost][color]){--_hover-bg:var(--chip-hover-bg,color-mix(in oklch, var(--_theme-backdrop) 50%, var(--_theme-base) 50%));--_hover-border-color:var(--chip-hover-border-color,color-mix(in oklch, var(--_theme-focus) 65%, transparent));--_active-bg:var(--chip-active-bg,color-mix(in oklch, var(--_theme-backdrop) 50%, var(--_theme-base) 50%));--_active-border-color:color-mix(in oklch, var(--_theme-focus) 65%, transparent)}:host([variant=bordered]) .remove-btn,:host([variant=outline]) .remove-btn{color:var(--_remove-color);background:var(--_remove-bg);border:var(--border) solid var(--_remove-bg)}:host([variant=bordered]) .remove-btn:hover,:host([variant=outline]) .remove-btn:hover{background:var(--chip-remove-hover-bg,color-mix(in oklch, var(--_remove-bg) 80%, var(--color-contrast-900)));opacity:1}:host([variant=ghost]) .remove-btn{border:var(--border) solid var(--_theme-focus,var(--color-contrast-400))}:host([variant=ghost]) .remove-btn:hover{background:var(--chip-remove-hover-bg,color-mix(in oklch, currentcolor 15%, transparent))}:host(:is(:not([variant]),[variant=solid],[variant=flat],[variant=bordered],[variant=outline],[variant=ghost],[variant=frost]):is([mode=selectable],[mode=action]):not([disabled])) .chip-btn:hover .chip{color:var(--_hover-color,var(--_color));background:var(--_hover-bg,var(--_bg));border-color:var(--_hover-border-color,var(--_border-color))}:host(:is(:not([variant]),[variant=solid],[variant=flat],[variant=bordered],[variant=outline],[variant=ghost],[variant=frost]):is([mode=selectable],[mode=action]):not([disabled])) .chip-btn:active .chip{color:var(--_active-color,var(--_color));background:var(--_active-bg,var(--_bg));border-color:var(--_active-border-color,var(--_border-color));box-shadow:var(--inset-shadow-2xs)}}`;exports.default=e;
2
2
  //# sourceMappingURL=chip.css.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"chip.css.cjs","names":[],"sources":["../../../src/feedback/chip/chip.css?inline"],"sourcesContent":["@layer refine.base {\n :host {\n --_bg: var(--chip-bg, var(--color-contrast-150));\n --_color: var(--chip-color, var(--color-contrast-800));\n --_border-color: var(--chip-border-color, transparent);\n --_radius: var(--chip-radius, var(--rounded-lg));\n --_font-size: var(--chip-font-size, var(--text-sm));\n --_font-weight: var(--chip-font-weight, var(--font-medium));\n --_padding-x: var(--chip-padding-x, var(--size-2-5));\n --_padding-y: var(--chip-padding-y, var(--size-0-5));\n --_gap: var(--chip-gap, var(--size-1));\n\n display: inline-flex;\n align-items: center;\n max-width: 100%;\n vertical-align: middle;\n }\n\n .chip {\n position: relative;\n box-sizing: border-box;\n display: inline-flex;\n gap: var(--_gap);\n align-items: center;\n max-width: 100%;\n padding: var(--_padding-y) var(--_padding-x);\n font-size: var(--_font-size);\n font-weight: var(--_font-weight);\n line-height: 1.2;\n color: var(--_color);\n white-space: nowrap;\n background: var(--_bg);\n border: var(--border) solid var(--_border-color);\n border-radius: var(--_radius);\n transition:\n background var(--transition-fast),\n border-color var(--transition-fast),\n box-shadow var(--transition-fast),\n color var(--transition-fast);\n }\n\n .label {\n flex: 1;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n /* ========================================\n Remove Button\n ======================================== */\n\n .remove-btn {\n display: inline-flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n width: 1.35em;\n height: 1.35em;\n padding: 0;\n margin-inline: var(--size-0-5) calc(var(--size-2) * -1);\n color: inherit;\n cursor: pointer;\n background: color-mix(in oklch, currentcolor 12%, transparent);\n border: none;\n border-radius: var(--_radius);\n opacity: 0.7;\n transition:\n background var(--transition-fast),\n opacity var(--transition-fast);\n }\n\n .remove-btn:hover {\n background: color-mix(in oklch, currentcolor 28%, transparent);\n opacity: 1;\n }\n\n .remove-btn:focus-visible {\n outline: 2px solid currentcolor;\n outline-offset: 1px;\n opacity: 1;\n }\n\n /* ========================================\n Icon slot\n ======================================== */\n\n ::slotted([slot='icon']) {\n display: inline-flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n width: 1em;\n height: 1em;\n }\n\n .chip-btn {\n display: inline-flex;\n width: 100%;\n padding: 0;\n margin: 0;\n font: inherit;\n color: inherit;\n text-align: inherit;\n cursor: pointer;\n background: none;\n border: none;\n }\n\n .chip-btn:disabled {\n cursor: not-allowed;\n }\n\n :host([mode='selectable'][checked]) .chip {\n outline: var(--border-2) solid var(--_theme-base, currentColor);\n outline-offset: -2px;\n }\n\n :host([mode='selectable']:not([disabled])) .chip,\n :host([mode='action']:not([disabled])) .chip {\n cursor: pointer;\n }\n\n .chip-btn:focus-visible {\n outline: 2px solid var(--_theme-base, currentColor);\n outline-offset: 2px;\n border-radius: var(--_radius);\n }\n}\n\n@layer refine.variants {\n /* Solid (Default) — full theme color fill */\n :host(:not([variant])),\n :host([variant='solid']) {\n --_bg: var(--chip-bg, var(--_theme-base, var(--color-contrast-700)));\n --_color: var(--chip-color, var(--_theme-contrast, var(--color-contrast-50)));\n --_border-color: var(--chip-border-color, transparent);\n --_hover-bg: var(--chip-hover-bg, var(--_theme-focus, var(--color-contrast-800)));\n --_active-bg: var(--chip-active-bg, color-mix(in oklch, var(--_theme-focus, var(--color-contrast-800)) 85%, black));\n }\n\n /* Flat — subtle tint */\n :host([variant='flat']) {\n --_bg: var(--chip-bg, color-mix(in oklch, var(--_theme-backdrop, var(--color-contrast-200)) 55%, transparent));\n --_color: var(--chip-color, var(--_theme-base, var(--color-contrast-800)));\n --_border-color: var(--chip-border-color, transparent);\n --_hover-bg: var(--chip-hover-bg, var(--_theme-focus, var(--color-contrast-700)));\n --_hover-color: var(--chip-hover-color, var(--_theme-contrast, var(--color-contrast-50)));\n --_active-bg: var(--chip-active-bg, color-mix(in oklch, var(--_theme-focus, var(--color-contrast-800)) 85%, black));\n --_active-color: var(--chip-active-color, var(--_theme-contrast, var(--color-contrast-50)));\n }\n\n /* Bordered — backdrop fill with themed border */\n :host([variant='bordered']) {\n --_bg: var(--chip-bg, var(--_theme-backdrop, var(--color-contrast-50)));\n --_color: var(--chip-color, var(--_theme-base, var(--color-contrast-900)));\n --_border-color: var(--chip-border-color, var(--_theme-border, var(--color-contrast-300)));\n --_remove-bg: var(--chip-remove-bg, var(--_theme-focus, var(--color-contrast-700)));\n --_remove-color: var(--chip-remove-color, var(--_theme-backdrop, var(--color-contrast-50)));\n --_hover-bg: var(--chip-hover-bg, var(--_theme-focus, var(--color-contrast-700)));\n --_hover-color: var(--chip-hover-color, var(--_theme-contrast, var(--color-contrast-50)));\n --_hover-border-color: var(--chip-hover-border-color, var(--_theme-focus, var(--color-contrast-700)));\n --_active-bg: var(--chip-active-bg, color-mix(in oklch, var(--_theme-focus, var(--color-contrast-800)) 85%, black));\n --_active-color: var(--chip-active-color, var(--_theme-contrast, var(--color-contrast-50)));\n }\n\n /* Outline — transparent with colored border */\n :host([variant='outline']) {\n --_bg: var(--chip-bg, transparent);\n --_color: var(--chip-color, var(--_theme-base, var(--color-contrast-900)));\n --_border-color: var(--chip-border-color, var(--_theme-base, var(--color-contrast-400)));\n --_remove-bg: var(--chip-remove-bg, var(--_theme-focus, var(--color-contrast-700)));\n --_remove-color: var(--chip-remove-color, var(--_theme-backdrop, var(--color-contrast-50)));\n --_hover-bg: var(--chip-hover-bg, var(--_theme-backdrop, var(--color-contrast-100)));\n --_hover-border-color: var(--chip-hover-border-color, var(--_theme-focus, var(--color-contrast-700)));\n --_active-bg: var(--chip-active-bg, var(--_theme-base, var(--color-contrast-700)));\n --_active-color: var(--chip-active-color, var(--_theme-contrast, var(--color-contrast-50)));\n }\n\n /* Ghost — transparent, no border */\n :host([variant='ghost']) {\n --_bg: var(--chip-bg, transparent);\n --_color: var(--chip-color, var(--_theme-base, var(--color-contrast-900)));\n --_border-color: var(--chip-border-color, transparent);\n --_hover-bg: var(--chip-hover-bg, var(--_theme-backdrop, var(--color-contrast-100)));\n --_active-bg: var(--chip-active-bg, var(--_theme-base, var(--color-contrast-700)));\n --_active-color: var(--chip-active-color, var(--_theme-contrast, var(--color-contrast-50)));\n }\n\n /* ── Remove button theming (tokens set per-variant above) ── */\n\n :host([variant='bordered']) .remove-btn,\n :host([variant='outline']) .remove-btn {\n color: var(--_remove-color);\n background: var(--_remove-bg);\n border: var(--border) solid var(--_remove-bg);\n }\n\n :host([variant='bordered']) .remove-btn:hover,\n :host([variant='outline']) .remove-btn:hover {\n background: var(--chip-remove-hover-bg, color-mix(in oklch, var(--_remove-bg) 80%, var(--color-contrast-900)));\n opacity: 1;\n }\n\n :host([variant='ghost']) .remove-btn {\n border: var(--border) solid var(--_theme-focus, var(--color-contrast-400));\n }\n\n :host([variant='ghost']) .remove-btn:hover {\n background: var(--chip-remove-hover-bg, color-mix(in oklch, currentcolor 15%, transparent));\n }\n\n /* ========================================\n Hover / Active Feedback — interactive modes\n ======================================== */\n\n :host(\n :is(\n :not([variant]),\n [variant='solid'],\n [variant='flat'],\n [variant='bordered'],\n [variant='outline'],\n [variant='ghost']\n ):is([mode='selectable'], [mode='action']):not([disabled])\n )\n .chip-btn:hover\n .chip {\n color: var(--_hover-color, var(--_color));\n background: var(--_hover-bg, var(--_bg));\n border-color: var(--_hover-border-color, var(--_border-color));\n }\n\n :host(\n :is(\n :not([variant]),\n [variant='solid'],\n [variant='flat'],\n [variant='bordered'],\n [variant='outline'],\n [variant='ghost']\n ):is([mode='selectable'], [mode='action']):not([disabled])\n )\n .chip-btn:active\n .chip {\n color: var(--_active-color, var(--_color));\n background: var(--_active-bg, var(--_bg));\n box-shadow: var(--inset-shadow-2xs);\n }\n}\n"],"mappings":""}
1
+ {"version":3,"file":"chip.css.cjs","names":[],"sources":["../../../src/feedback/chip/chip.css?inline"],"sourcesContent":["@layer refine.base {\n :host {\n --_bg: var(--chip-bg, var(--color-contrast-150));\n --_color: var(--chip-color, var(--color-contrast-800));\n --_border-color: var(--chip-border-color, transparent);\n --_radius: var(--chip-radius, var(--rounded-lg));\n --_font-size: var(--chip-font-size, var(--text-sm));\n --_font-weight: var(--chip-font-weight, var(--font-medium));\n --_padding-x: var(--chip-padding-x, var(--size-2-5));\n --_padding-y: var(--chip-padding-y, var(--size-0-5));\n --_gap: var(--chip-gap, var(--size-1));\n --_icon-size: var(--chip-icon-size, 1em);\n\n display: inline-flex;\n align-items: center;\n max-width: 100%;\n vertical-align: middle;\n }\n\n .chip {\n position: relative;\n box-sizing: border-box;\n display: inline-flex;\n gap: var(--_gap);\n align-items: center;\n max-width: 100%;\n padding: var(--_padding-y) var(--_padding-x);\n font-size: var(--_font-size);\n font-weight: var(--_font-weight);\n line-height: 1.2;\n color: var(--_color);\n white-space: nowrap;\n background: var(--_bg);\n border: var(--border) solid var(--_border-color);\n border-radius: var(--_radius);\n transition:\n background var(--transition-fast),\n border-color var(--transition-fast),\n box-shadow var(--transition-fast),\n color var(--transition-fast);\n }\n\n .label {\n flex: 1;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n /* ========================================\n Remove Button\n ======================================== */\n\n .remove-btn {\n display: inline-flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n width: 1.35em;\n height: 1.35em;\n padding: 0;\n margin-inline: var(--size-0-5) calc(var(--size-2) * -1);\n color: inherit;\n cursor: pointer;\n background: color-mix(in oklch, currentcolor 12%, transparent);\n border: none;\n border-radius: var(--_radius);\n opacity: 0.7;\n transition:\n background var(--transition-fast),\n opacity var(--transition-fast);\n }\n\n .remove-btn:hover {\n background: color-mix(in oklch, currentcolor 28%, transparent);\n opacity: 1;\n }\n\n .remove-btn:focus-visible {\n outline: 2px solid currentcolor;\n outline-offset: 1px;\n opacity: 1;\n }\n\n /* ========================================\n Icon slot\n ======================================== */\n\n ::slotted([slot='icon']) {\n display: inline-flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n width: var(--_icon-size);\n height: var(--_icon-size);\n }\n\n /* ========================================\n Stacked layout — icon above a wrapping label (tile-like chips)\n ======================================== */\n\n :host([layout='stacked']) {\n display: inline-flex;\n }\n\n :host([layout='stacked']) .chip {\n flex-direction: column;\n gap: var(--_gap);\n align-items: center;\n justify-content: center;\n width: 100%;\n padding: var(--_padding-x);\n text-align: center;\n white-space: normal;\n }\n\n :host([layout='stacked']) .label {\n display: -webkit-box;\n -webkit-box-orient: vertical;\n overflow: hidden;\n text-overflow: clip;\n -webkit-line-clamp: 2;\n line-clamp: 2;\n white-space: normal;\n }\n\n :host([layout='stacked']) .remove-btn {\n margin-inline: 0;\n }\n\n .chip-btn {\n display: inline-flex;\n width: 100%;\n padding: 0;\n margin: 0;\n font: inherit;\n color: inherit;\n text-align: inherit;\n cursor: pointer;\n background: none;\n border: none;\n }\n\n .chip-btn:disabled {\n cursor: not-allowed;\n }\n\n :host([mode='selectable'][checked]) .chip {\n outline: var(--border-2) solid var(--_theme-base, currentColor);\n outline-offset: -2px;\n }\n\n :host([mode='selectable']:not([disabled])) .chip,\n :host([mode='action']:not([disabled])) .chip {\n cursor: pointer;\n }\n\n .chip-btn:focus-visible {\n outline: 2px solid var(--_theme-base, currentColor);\n outline-offset: 2px;\n border-radius: var(--_radius);\n }\n}\n\n@layer refine.variants {\n /* Solid (Default) — full theme color fill */\n :host(:not([variant])),\n :host([variant='solid']) {\n --_bg: var(--chip-bg, var(--_theme-base, var(--color-contrast-700)));\n --_color: var(--chip-color, var(--_theme-contrast, var(--color-contrast-50)));\n --_border-color: var(--chip-border-color, transparent);\n --_hover-bg: var(--chip-hover-bg, var(--_theme-focus, var(--color-contrast-800)));\n --_active-bg: var(--chip-active-bg, color-mix(in oklch, var(--_theme-focus, var(--color-contrast-800)) 85%, black));\n }\n\n /* Flat — subtle tint */\n :host([variant='flat']) {\n --_bg: var(--chip-bg, color-mix(in oklch, var(--_theme-backdrop, var(--color-contrast-200)) 55%, transparent));\n --_color: var(--chip-color, var(--_theme-base, var(--color-contrast-800)));\n --_border-color: var(--chip-border-color, transparent);\n --_hover-bg: var(--chip-hover-bg, var(--_theme-focus, var(--color-contrast-700)));\n --_hover-color: var(--chip-hover-color, var(--_theme-contrast, var(--color-contrast-50)));\n --_active-bg: var(--chip-active-bg, color-mix(in oklch, var(--_theme-focus, var(--color-contrast-800)) 85%, black));\n --_active-color: var(--chip-active-color, var(--_theme-contrast, var(--color-contrast-50)));\n }\n\n /* Bordered — backdrop fill with themed border */\n :host([variant='bordered']) {\n --_bg: var(--chip-bg, var(--_theme-backdrop, var(--color-contrast-50)));\n --_color: var(--chip-color, var(--_theme-base, var(--color-contrast-900)));\n --_border-color: var(--chip-border-color, var(--_theme-border, var(--color-contrast-300)));\n --_remove-bg: var(--chip-remove-bg, var(--_theme-focus, var(--color-contrast-700)));\n --_remove-color: var(--chip-remove-color, var(--_theme-backdrop, var(--color-contrast-50)));\n --_hover-bg: var(--chip-hover-bg, var(--_theme-focus, var(--color-contrast-700)));\n --_hover-color: var(--chip-hover-color, var(--_theme-contrast, var(--color-contrast-50)));\n --_hover-border-color: var(--chip-hover-border-color, var(--_theme-focus, var(--color-contrast-700)));\n --_active-bg: var(--chip-active-bg, color-mix(in oklch, var(--_theme-focus, var(--color-contrast-800)) 85%, black));\n --_active-color: var(--chip-active-color, var(--_theme-contrast, var(--color-contrast-50)));\n }\n\n /* Outline — transparent with colored border */\n :host([variant='outline']) {\n --_bg: var(--chip-bg, transparent);\n --_color: var(--chip-color, var(--_theme-base, var(--color-contrast-900)));\n --_border-color: var(--chip-border-color, var(--_theme-base, var(--color-contrast-400)));\n --_remove-bg: var(--chip-remove-bg, var(--_theme-focus, var(--color-contrast-700)));\n --_remove-color: var(--chip-remove-color, var(--_theme-backdrop, var(--color-contrast-50)));\n --_hover-bg: var(--chip-hover-bg, var(--_theme-backdrop, var(--color-contrast-100)));\n --_hover-border-color: var(--chip-hover-border-color, var(--_theme-focus, var(--color-contrast-700)));\n --_active-bg: var(--chip-active-bg, var(--_theme-base, var(--color-contrast-700)));\n --_active-color: var(--chip-active-color, var(--_theme-contrast, var(--color-contrast-50)));\n }\n\n /* Ghost — transparent, no border */\n :host([variant='ghost']) {\n --_bg: var(--chip-bg, transparent);\n --_color: var(--chip-color, var(--_theme-base, var(--color-contrast-900)));\n --_border-color: var(--chip-border-color, transparent);\n --_hover-bg: var(--chip-hover-bg, var(--_theme-backdrop, var(--color-contrast-100)));\n --_active-bg: var(--chip-active-bg, var(--_theme-base, var(--color-contrast-700)));\n --_active-color: var(--chip-active-color, var(--_theme-contrast, var(--color-contrast-50)));\n }\n\n :host([variant='frost']:not([color])) {\n --_hover-bg: var(--chip-hover-bg, color-mix(in oklch, var(--color-canvas) 70%, transparent));\n --_hover-border-color: var(--chip-hover-border-color, color-mix(in oklch, var(--_theme-focus) 40%, transparent));\n --_active-bg: var(--chip-active-bg, color-mix(in oklch, var(--color-canvas) 70%, transparent));\n --_active-border-color: color-mix(in oklch, var(--_theme-focus) 40%, transparent);\n }\n\n :host([variant='frost'][color]) {\n --_hover-bg: var(--chip-hover-bg, color-mix(in oklch, var(--_theme-backdrop) 50%, var(--_theme-base) 50%));\n --_hover-border-color: var(--chip-hover-border-color, color-mix(in oklch, var(--_theme-focus) 65%, transparent));\n --_active-bg: var(--chip-active-bg, color-mix(in oklch, var(--_theme-backdrop) 50%, var(--_theme-base) 50%));\n --_active-border-color: color-mix(in oklch, var(--_theme-focus) 65%, transparent);\n }\n\n /* ── Remove button theming (tokens set per-variant above) ── */\n\n :host([variant='bordered']) .remove-btn,\n :host([variant='outline']) .remove-btn {\n color: var(--_remove-color);\n background: var(--_remove-bg);\n border: var(--border) solid var(--_remove-bg);\n }\n\n :host([variant='bordered']) .remove-btn:hover,\n :host([variant='outline']) .remove-btn:hover {\n background: var(--chip-remove-hover-bg, color-mix(in oklch, var(--_remove-bg) 80%, var(--color-contrast-900)));\n opacity: 1;\n }\n\n :host([variant='ghost']) .remove-btn {\n border: var(--border) solid var(--_theme-focus, var(--color-contrast-400));\n }\n\n :host([variant='ghost']) .remove-btn:hover {\n background: var(--chip-remove-hover-bg, color-mix(in oklch, currentcolor 15%, transparent));\n }\n\n /* ========================================\n Hover / Active Feedback — interactive modes\n ======================================== */\n\n :host(\n :is(\n :not([variant]),\n [variant='solid'],\n [variant='flat'],\n [variant='bordered'],\n [variant='outline'],\n [variant='ghost'],\n [variant='frost']\n ):is([mode='selectable'], [mode='action']):not([disabled])\n )\n .chip-btn:hover\n .chip {\n color: var(--_hover-color, var(--_color));\n background: var(--_hover-bg, var(--_bg));\n border-color: var(--_hover-border-color, var(--_border-color));\n }\n\n :host(\n :is(\n :not([variant]),\n [variant='solid'],\n [variant='flat'],\n [variant='bordered'],\n [variant='outline'],\n [variant='ghost'],\n [variant='frost']\n ):is([mode='selectable'], [mode='action']):not([disabled])\n )\n .chip-btn:active\n .chip {\n color: var(--_active-color, var(--_color));\n background: var(--_active-bg, var(--_bg));\n border-color: var(--_active-border-color, var(--_border-color));\n box-shadow: var(--inset-shadow-2xs);\n }\n}\n"],"mappings":""}
@@ -1,5 +1,5 @@
1
1
  //#region src/feedback/chip/chip.css?inline
2
- var e = "@layer refine.base{:host{--_bg:var(--chip-bg,var(--color-contrast-150));--_color:var(--chip-color,var(--color-contrast-800));--_border-color:var(--chip-border-color,transparent);--_radius:var(--chip-radius,var(--rounded-lg));--_font-size:var(--chip-font-size,var(--text-sm));--_font-weight:var(--chip-font-weight,var(--font-medium));--_padding-x:var(--chip-padding-x,var(--size-2-5));--_padding-y:var(--chip-padding-y,var(--size-0-5));--_gap:var(--chip-gap,var(--size-1));vertical-align:middle;align-items:center;max-width:100%;display:inline-flex}.chip{box-sizing:border-box;gap:var(--_gap);max-width:100%;padding:var(--_padding-y) var(--_padding-x);font-size:var(--_font-size);font-weight:var(--_font-weight);color:var(--_color);white-space:nowrap;background:var(--_bg);border:var(--border) solid var(--_border-color);border-radius:var(--_radius);transition:background var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast), color var(--transition-fast);align-items:center;line-height:1.2;display:inline-flex;position:relative}.label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.remove-btn{width:1.35em;height:1.35em;margin-inline:var(--size-0-5) calc(var(--size-2) * -1);color:inherit;cursor:pointer;background:color-mix(in oklch, currentcolor 12%, transparent);border-radius:var(--_radius);opacity:.7;transition:background var(--transition-fast), opacity var(--transition-fast);border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.remove-btn:hover{background:color-mix(in oklch, currentcolor 28%, transparent);opacity:1}.remove-btn:focus-visible{outline-offset:1px;opacity:1;outline:2px solid}::slotted([slot=icon]){flex-shrink:0;justify-content:center;align-items:center;width:1em;height:1em;display:inline-flex}.chip-btn{width:100%;font:inherit;color:inherit;text-align:inherit;cursor:pointer;background:0 0;border:none;margin:0;padding:0;display:inline-flex}.chip-btn:disabled{cursor:not-allowed}:host([mode=selectable][checked]) .chip{outline:var(--border-2) solid var(--_theme-base,currentColor);outline-offset:-2px}:host([mode=selectable]:not([disabled])) .chip,:host([mode=action]:not([disabled])) .chip{cursor:pointer}.chip-btn:focus-visible{outline:2px solid var(--_theme-base,currentColor);outline-offset:2px;border-radius:var(--_radius)}}@layer refine.variants{:host(:not([variant])),:host([variant=solid]){--_bg:var(--chip-bg,var(--_theme-base,var(--color-contrast-700)));--_color:var(--chip-color,var(--_theme-contrast,var(--color-contrast-50)));--_border-color:var(--chip-border-color,transparent);--_hover-bg:var(--chip-hover-bg,var(--_theme-focus,var(--color-contrast-800)));--_active-bg:var(--chip-active-bg,color-mix(in oklch, var(--_theme-focus,var(--color-contrast-800)) 85%, black))}:host([variant=flat]){--_bg:var(--chip-bg,color-mix(in oklch, var(--_theme-backdrop,var(--color-contrast-200)) 55%, transparent));--_color:var(--chip-color,var(--_theme-base,var(--color-contrast-800)));--_border-color:var(--chip-border-color,transparent);--_hover-bg:var(--chip-hover-bg,var(--_theme-focus,var(--color-contrast-700)));--_hover-color:var(--chip-hover-color,var(--_theme-contrast,var(--color-contrast-50)));--_active-bg:var(--chip-active-bg,color-mix(in oklch, var(--_theme-focus,var(--color-contrast-800)) 85%, black));--_active-color:var(--chip-active-color,var(--_theme-contrast,var(--color-contrast-50)))}:host([variant=bordered]){--_bg:var(--chip-bg,var(--_theme-backdrop,var(--color-contrast-50)));--_color:var(--chip-color,var(--_theme-base,var(--color-contrast-900)));--_border-color:var(--chip-border-color,var(--_theme-border,var(--color-contrast-300)));--_remove-bg:var(--chip-remove-bg,var(--_theme-focus,var(--color-contrast-700)));--_remove-color:var(--chip-remove-color,var(--_theme-backdrop,var(--color-contrast-50)));--_hover-bg:var(--chip-hover-bg,var(--_theme-focus,var(--color-contrast-700)));--_hover-color:var(--chip-hover-color,var(--_theme-contrast,var(--color-contrast-50)));--_hover-border-color:var(--chip-hover-border-color,var(--_theme-focus,var(--color-contrast-700)));--_active-bg:var(--chip-active-bg,color-mix(in oklch, var(--_theme-focus,var(--color-contrast-800)) 85%, black));--_active-color:var(--chip-active-color,var(--_theme-contrast,var(--color-contrast-50)))}:host([variant=outline]){--_bg:var(--chip-bg,transparent);--_color:var(--chip-color,var(--_theme-base,var(--color-contrast-900)));--_border-color:var(--chip-border-color,var(--_theme-base,var(--color-contrast-400)));--_remove-bg:var(--chip-remove-bg,var(--_theme-focus,var(--color-contrast-700)));--_remove-color:var(--chip-remove-color,var(--_theme-backdrop,var(--color-contrast-50)));--_hover-bg:var(--chip-hover-bg,var(--_theme-backdrop,var(--color-contrast-100)));--_hover-border-color:var(--chip-hover-border-color,var(--_theme-focus,var(--color-contrast-700)));--_active-bg:var(--chip-active-bg,var(--_theme-base,var(--color-contrast-700)));--_active-color:var(--chip-active-color,var(--_theme-contrast,var(--color-contrast-50)))}:host([variant=ghost]){--_bg:var(--chip-bg,transparent);--_color:var(--chip-color,var(--_theme-base,var(--color-contrast-900)));--_border-color:var(--chip-border-color,transparent);--_hover-bg:var(--chip-hover-bg,var(--_theme-backdrop,var(--color-contrast-100)));--_active-bg:var(--chip-active-bg,var(--_theme-base,var(--color-contrast-700)));--_active-color:var(--chip-active-color,var(--_theme-contrast,var(--color-contrast-50)))}:host([variant=bordered]) .remove-btn,:host([variant=outline]) .remove-btn{color:var(--_remove-color);background:var(--_remove-bg);border:var(--border) solid var(--_remove-bg)}:host([variant=bordered]) .remove-btn:hover,:host([variant=outline]) .remove-btn:hover{background:var(--chip-remove-hover-bg,color-mix(in oklch, var(--_remove-bg) 80%, var(--color-contrast-900)));opacity:1}:host([variant=ghost]) .remove-btn{border:var(--border) solid var(--_theme-focus,var(--color-contrast-400))}:host([variant=ghost]) .remove-btn:hover{background:var(--chip-remove-hover-bg,color-mix(in oklch, currentcolor 15%, transparent))}:host(:is(:not([variant]),[variant=solid],[variant=flat],[variant=bordered],[variant=outline],[variant=ghost]):is([mode=selectable],[mode=action]):not([disabled])) .chip-btn:hover .chip{color:var(--_hover-color,var(--_color));background:var(--_hover-bg,var(--_bg));border-color:var(--_hover-border-color,var(--_border-color))}:host(:is(:not([variant]),[variant=solid],[variant=flat],[variant=bordered],[variant=outline],[variant=ghost]):is([mode=selectable],[mode=action]):not([disabled])) .chip-btn:active .chip{color:var(--_active-color,var(--_color));background:var(--_active-bg,var(--_bg));box-shadow:var(--inset-shadow-2xs)}}";
2
+ var e = "@layer refine.base{:host{--_bg:var(--chip-bg,var(--color-contrast-150));--_color:var(--chip-color,var(--color-contrast-800));--_border-color:var(--chip-border-color,transparent);--_radius:var(--chip-radius,var(--rounded-lg));--_font-size:var(--chip-font-size,var(--text-sm));--_font-weight:var(--chip-font-weight,var(--font-medium));--_padding-x:var(--chip-padding-x,var(--size-2-5));--_padding-y:var(--chip-padding-y,var(--size-0-5));--_gap:var(--chip-gap,var(--size-1));--_icon-size:var(--chip-icon-size,1em);vertical-align:middle;align-items:center;max-width:100%;display:inline-flex}.chip{box-sizing:border-box;gap:var(--_gap);max-width:100%;padding:var(--_padding-y) var(--_padding-x);font-size:var(--_font-size);font-weight:var(--_font-weight);color:var(--_color);white-space:nowrap;background:var(--_bg);border:var(--border) solid var(--_border-color);border-radius:var(--_radius);transition:background var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast), color var(--transition-fast);align-items:center;line-height:1.2;display:inline-flex;position:relative}.label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.remove-btn{width:1.35em;height:1.35em;margin-inline:var(--size-0-5) calc(var(--size-2) * -1);color:inherit;cursor:pointer;background:color-mix(in oklch, currentcolor 12%, transparent);border-radius:var(--_radius);opacity:.7;transition:background var(--transition-fast), opacity var(--transition-fast);border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.remove-btn:hover{background:color-mix(in oklch, currentcolor 28%, transparent);opacity:1}.remove-btn:focus-visible{outline-offset:1px;opacity:1;outline:2px solid}::slotted([slot=icon]){width:var(--_icon-size);height:var(--_icon-size);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}:host([layout=stacked]){display:inline-flex}:host([layout=stacked]) .chip{gap:var(--_gap);width:100%;padding:var(--_padding-x);text-align:center;white-space:normal;flex-direction:column;justify-content:center;align-items:center}:host([layout=stacked]) .label{text-overflow:clip;-webkit-line-clamp:2;line-clamp:2;white-space:normal;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}:host([layout=stacked]) .remove-btn{margin-left:0;margin-right:0}.chip-btn{width:100%;font:inherit;color:inherit;text-align:inherit;cursor:pointer;background:0 0;border:none;margin:0;padding:0;display:inline-flex}.chip-btn:disabled{cursor:not-allowed}:host([mode=selectable][checked]) .chip{outline:var(--border-2) solid var(--_theme-base,currentColor);outline-offset:-2px}:host([mode=selectable]:not([disabled])) .chip,:host([mode=action]:not([disabled])) .chip{cursor:pointer}.chip-btn:focus-visible{outline:2px solid var(--_theme-base,currentColor);outline-offset:2px;border-radius:var(--_radius)}}@layer refine.variants{:host(:not([variant])),:host([variant=solid]){--_bg:var(--chip-bg,var(--_theme-base,var(--color-contrast-700)));--_color:var(--chip-color,var(--_theme-contrast,var(--color-contrast-50)));--_border-color:var(--chip-border-color,transparent);--_hover-bg:var(--chip-hover-bg,var(--_theme-focus,var(--color-contrast-800)));--_active-bg:var(--chip-active-bg,color-mix(in oklch, var(--_theme-focus,var(--color-contrast-800)) 85%, black))}:host([variant=flat]){--_bg:var(--chip-bg,color-mix(in oklch, var(--_theme-backdrop,var(--color-contrast-200)) 55%, transparent));--_color:var(--chip-color,var(--_theme-base,var(--color-contrast-800)));--_border-color:var(--chip-border-color,transparent);--_hover-bg:var(--chip-hover-bg,var(--_theme-focus,var(--color-contrast-700)));--_hover-color:var(--chip-hover-color,var(--_theme-contrast,var(--color-contrast-50)));--_active-bg:var(--chip-active-bg,color-mix(in oklch, var(--_theme-focus,var(--color-contrast-800)) 85%, black));--_active-color:var(--chip-active-color,var(--_theme-contrast,var(--color-contrast-50)))}:host([variant=bordered]){--_bg:var(--chip-bg,var(--_theme-backdrop,var(--color-contrast-50)));--_color:var(--chip-color,var(--_theme-base,var(--color-contrast-900)));--_border-color:var(--chip-border-color,var(--_theme-border,var(--color-contrast-300)));--_remove-bg:var(--chip-remove-bg,var(--_theme-focus,var(--color-contrast-700)));--_remove-color:var(--chip-remove-color,var(--_theme-backdrop,var(--color-contrast-50)));--_hover-bg:var(--chip-hover-bg,var(--_theme-focus,var(--color-contrast-700)));--_hover-color:var(--chip-hover-color,var(--_theme-contrast,var(--color-contrast-50)));--_hover-border-color:var(--chip-hover-border-color,var(--_theme-focus,var(--color-contrast-700)));--_active-bg:var(--chip-active-bg,color-mix(in oklch, var(--_theme-focus,var(--color-contrast-800)) 85%, black));--_active-color:var(--chip-active-color,var(--_theme-contrast,var(--color-contrast-50)))}:host([variant=outline]){--_bg:var(--chip-bg,transparent);--_color:var(--chip-color,var(--_theme-base,var(--color-contrast-900)));--_border-color:var(--chip-border-color,var(--_theme-base,var(--color-contrast-400)));--_remove-bg:var(--chip-remove-bg,var(--_theme-focus,var(--color-contrast-700)));--_remove-color:var(--chip-remove-color,var(--_theme-backdrop,var(--color-contrast-50)));--_hover-bg:var(--chip-hover-bg,var(--_theme-backdrop,var(--color-contrast-100)));--_hover-border-color:var(--chip-hover-border-color,var(--_theme-focus,var(--color-contrast-700)));--_active-bg:var(--chip-active-bg,var(--_theme-base,var(--color-contrast-700)));--_active-color:var(--chip-active-color,var(--_theme-contrast,var(--color-contrast-50)))}:host([variant=ghost]){--_bg:var(--chip-bg,transparent);--_color:var(--chip-color,var(--_theme-base,var(--color-contrast-900)));--_border-color:var(--chip-border-color,transparent);--_hover-bg:var(--chip-hover-bg,var(--_theme-backdrop,var(--color-contrast-100)));--_active-bg:var(--chip-active-bg,var(--_theme-base,var(--color-contrast-700)));--_active-color:var(--chip-active-color,var(--_theme-contrast,var(--color-contrast-50)))}:host([variant=frost]:not([color])){--_hover-bg:var(--chip-hover-bg,color-mix(in oklch, var(--color-canvas) 70%, transparent));--_hover-border-color:var(--chip-hover-border-color,color-mix(in oklch, var(--_theme-focus) 40%, transparent));--_active-bg:var(--chip-active-bg,color-mix(in oklch, var(--color-canvas) 70%, transparent));--_active-border-color:color-mix(in oklch, var(--_theme-focus) 40%, transparent)}:host([variant=frost][color]){--_hover-bg:var(--chip-hover-bg,color-mix(in oklch, var(--_theme-backdrop) 50%, var(--_theme-base) 50%));--_hover-border-color:var(--chip-hover-border-color,color-mix(in oklch, var(--_theme-focus) 65%, transparent));--_active-bg:var(--chip-active-bg,color-mix(in oklch, var(--_theme-backdrop) 50%, var(--_theme-base) 50%));--_active-border-color:color-mix(in oklch, var(--_theme-focus) 65%, transparent)}:host([variant=bordered]) .remove-btn,:host([variant=outline]) .remove-btn{color:var(--_remove-color);background:var(--_remove-bg);border:var(--border) solid var(--_remove-bg)}:host([variant=bordered]) .remove-btn:hover,:host([variant=outline]) .remove-btn:hover{background:var(--chip-remove-hover-bg,color-mix(in oklch, var(--_remove-bg) 80%, var(--color-contrast-900)));opacity:1}:host([variant=ghost]) .remove-btn{border:var(--border) solid var(--_theme-focus,var(--color-contrast-400))}:host([variant=ghost]) .remove-btn:hover{background:var(--chip-remove-hover-bg,color-mix(in oklch, currentcolor 15%, transparent))}:host(:is(:not([variant]),[variant=solid],[variant=flat],[variant=bordered],[variant=outline],[variant=ghost],[variant=frost]):is([mode=selectable],[mode=action]):not([disabled])) .chip-btn:hover .chip{color:var(--_hover-color,var(--_color));background:var(--_hover-bg,var(--_bg));border-color:var(--_hover-border-color,var(--_border-color))}:host(:is(:not([variant]),[variant=solid],[variant=flat],[variant=bordered],[variant=outline],[variant=ghost],[variant=frost]):is([mode=selectable],[mode=action]):not([disabled])) .chip-btn:active .chip{color:var(--_active-color,var(--_color));background:var(--_active-bg,var(--_bg));border-color:var(--_active-border-color,var(--_border-color));box-shadow:var(--inset-shadow-2xs)}}";
3
3
  //#endregion
4
4
  export { e as default };
5
5
 
@@ -1 +1 @@
1
- {"version":3,"file":"chip.css.js","names":[],"sources":["../../../src/feedback/chip/chip.css?inline"],"sourcesContent":["@layer refine.base {\n :host {\n --_bg: var(--chip-bg, var(--color-contrast-150));\n --_color: var(--chip-color, var(--color-contrast-800));\n --_border-color: var(--chip-border-color, transparent);\n --_radius: var(--chip-radius, var(--rounded-lg));\n --_font-size: var(--chip-font-size, var(--text-sm));\n --_font-weight: var(--chip-font-weight, var(--font-medium));\n --_padding-x: var(--chip-padding-x, var(--size-2-5));\n --_padding-y: var(--chip-padding-y, var(--size-0-5));\n --_gap: var(--chip-gap, var(--size-1));\n\n display: inline-flex;\n align-items: center;\n max-width: 100%;\n vertical-align: middle;\n }\n\n .chip {\n position: relative;\n box-sizing: border-box;\n display: inline-flex;\n gap: var(--_gap);\n align-items: center;\n max-width: 100%;\n padding: var(--_padding-y) var(--_padding-x);\n font-size: var(--_font-size);\n font-weight: var(--_font-weight);\n line-height: 1.2;\n color: var(--_color);\n white-space: nowrap;\n background: var(--_bg);\n border: var(--border) solid var(--_border-color);\n border-radius: var(--_radius);\n transition:\n background var(--transition-fast),\n border-color var(--transition-fast),\n box-shadow var(--transition-fast),\n color var(--transition-fast);\n }\n\n .label {\n flex: 1;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n /* ========================================\n Remove Button\n ======================================== */\n\n .remove-btn {\n display: inline-flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n width: 1.35em;\n height: 1.35em;\n padding: 0;\n margin-inline: var(--size-0-5) calc(var(--size-2) * -1);\n color: inherit;\n cursor: pointer;\n background: color-mix(in oklch, currentcolor 12%, transparent);\n border: none;\n border-radius: var(--_radius);\n opacity: 0.7;\n transition:\n background var(--transition-fast),\n opacity var(--transition-fast);\n }\n\n .remove-btn:hover {\n background: color-mix(in oklch, currentcolor 28%, transparent);\n opacity: 1;\n }\n\n .remove-btn:focus-visible {\n outline: 2px solid currentcolor;\n outline-offset: 1px;\n opacity: 1;\n }\n\n /* ========================================\n Icon slot\n ======================================== */\n\n ::slotted([slot='icon']) {\n display: inline-flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n width: 1em;\n height: 1em;\n }\n\n .chip-btn {\n display: inline-flex;\n width: 100%;\n padding: 0;\n margin: 0;\n font: inherit;\n color: inherit;\n text-align: inherit;\n cursor: pointer;\n background: none;\n border: none;\n }\n\n .chip-btn:disabled {\n cursor: not-allowed;\n }\n\n :host([mode='selectable'][checked]) .chip {\n outline: var(--border-2) solid var(--_theme-base, currentColor);\n outline-offset: -2px;\n }\n\n :host([mode='selectable']:not([disabled])) .chip,\n :host([mode='action']:not([disabled])) .chip {\n cursor: pointer;\n }\n\n .chip-btn:focus-visible {\n outline: 2px solid var(--_theme-base, currentColor);\n outline-offset: 2px;\n border-radius: var(--_radius);\n }\n}\n\n@layer refine.variants {\n /* Solid (Default) — full theme color fill */\n :host(:not([variant])),\n :host([variant='solid']) {\n --_bg: var(--chip-bg, var(--_theme-base, var(--color-contrast-700)));\n --_color: var(--chip-color, var(--_theme-contrast, var(--color-contrast-50)));\n --_border-color: var(--chip-border-color, transparent);\n --_hover-bg: var(--chip-hover-bg, var(--_theme-focus, var(--color-contrast-800)));\n --_active-bg: var(--chip-active-bg, color-mix(in oklch, var(--_theme-focus, var(--color-contrast-800)) 85%, black));\n }\n\n /* Flat — subtle tint */\n :host([variant='flat']) {\n --_bg: var(--chip-bg, color-mix(in oklch, var(--_theme-backdrop, var(--color-contrast-200)) 55%, transparent));\n --_color: var(--chip-color, var(--_theme-base, var(--color-contrast-800)));\n --_border-color: var(--chip-border-color, transparent);\n --_hover-bg: var(--chip-hover-bg, var(--_theme-focus, var(--color-contrast-700)));\n --_hover-color: var(--chip-hover-color, var(--_theme-contrast, var(--color-contrast-50)));\n --_active-bg: var(--chip-active-bg, color-mix(in oklch, var(--_theme-focus, var(--color-contrast-800)) 85%, black));\n --_active-color: var(--chip-active-color, var(--_theme-contrast, var(--color-contrast-50)));\n }\n\n /* Bordered — backdrop fill with themed border */\n :host([variant='bordered']) {\n --_bg: var(--chip-bg, var(--_theme-backdrop, var(--color-contrast-50)));\n --_color: var(--chip-color, var(--_theme-base, var(--color-contrast-900)));\n --_border-color: var(--chip-border-color, var(--_theme-border, var(--color-contrast-300)));\n --_remove-bg: var(--chip-remove-bg, var(--_theme-focus, var(--color-contrast-700)));\n --_remove-color: var(--chip-remove-color, var(--_theme-backdrop, var(--color-contrast-50)));\n --_hover-bg: var(--chip-hover-bg, var(--_theme-focus, var(--color-contrast-700)));\n --_hover-color: var(--chip-hover-color, var(--_theme-contrast, var(--color-contrast-50)));\n --_hover-border-color: var(--chip-hover-border-color, var(--_theme-focus, var(--color-contrast-700)));\n --_active-bg: var(--chip-active-bg, color-mix(in oklch, var(--_theme-focus, var(--color-contrast-800)) 85%, black));\n --_active-color: var(--chip-active-color, var(--_theme-contrast, var(--color-contrast-50)));\n }\n\n /* Outline — transparent with colored border */\n :host([variant='outline']) {\n --_bg: var(--chip-bg, transparent);\n --_color: var(--chip-color, var(--_theme-base, var(--color-contrast-900)));\n --_border-color: var(--chip-border-color, var(--_theme-base, var(--color-contrast-400)));\n --_remove-bg: var(--chip-remove-bg, var(--_theme-focus, var(--color-contrast-700)));\n --_remove-color: var(--chip-remove-color, var(--_theme-backdrop, var(--color-contrast-50)));\n --_hover-bg: var(--chip-hover-bg, var(--_theme-backdrop, var(--color-contrast-100)));\n --_hover-border-color: var(--chip-hover-border-color, var(--_theme-focus, var(--color-contrast-700)));\n --_active-bg: var(--chip-active-bg, var(--_theme-base, var(--color-contrast-700)));\n --_active-color: var(--chip-active-color, var(--_theme-contrast, var(--color-contrast-50)));\n }\n\n /* Ghost — transparent, no border */\n :host([variant='ghost']) {\n --_bg: var(--chip-bg, transparent);\n --_color: var(--chip-color, var(--_theme-base, var(--color-contrast-900)));\n --_border-color: var(--chip-border-color, transparent);\n --_hover-bg: var(--chip-hover-bg, var(--_theme-backdrop, var(--color-contrast-100)));\n --_active-bg: var(--chip-active-bg, var(--_theme-base, var(--color-contrast-700)));\n --_active-color: var(--chip-active-color, var(--_theme-contrast, var(--color-contrast-50)));\n }\n\n /* ── Remove button theming (tokens set per-variant above) ── */\n\n :host([variant='bordered']) .remove-btn,\n :host([variant='outline']) .remove-btn {\n color: var(--_remove-color);\n background: var(--_remove-bg);\n border: var(--border) solid var(--_remove-bg);\n }\n\n :host([variant='bordered']) .remove-btn:hover,\n :host([variant='outline']) .remove-btn:hover {\n background: var(--chip-remove-hover-bg, color-mix(in oklch, var(--_remove-bg) 80%, var(--color-contrast-900)));\n opacity: 1;\n }\n\n :host([variant='ghost']) .remove-btn {\n border: var(--border) solid var(--_theme-focus, var(--color-contrast-400));\n }\n\n :host([variant='ghost']) .remove-btn:hover {\n background: var(--chip-remove-hover-bg, color-mix(in oklch, currentcolor 15%, transparent));\n }\n\n /* ========================================\n Hover / Active Feedback — interactive modes\n ======================================== */\n\n :host(\n :is(\n :not([variant]),\n [variant='solid'],\n [variant='flat'],\n [variant='bordered'],\n [variant='outline'],\n [variant='ghost']\n ):is([mode='selectable'], [mode='action']):not([disabled])\n )\n .chip-btn:hover\n .chip {\n color: var(--_hover-color, var(--_color));\n background: var(--_hover-bg, var(--_bg));\n border-color: var(--_hover-border-color, var(--_border-color));\n }\n\n :host(\n :is(\n :not([variant]),\n [variant='solid'],\n [variant='flat'],\n [variant='bordered'],\n [variant='outline'],\n [variant='ghost']\n ):is([mode='selectable'], [mode='action']):not([disabled])\n )\n .chip-btn:active\n .chip {\n color: var(--_active-color, var(--_color));\n background: var(--_active-bg, var(--_bg));\n box-shadow: var(--inset-shadow-2xs);\n }\n}\n"],"mappings":""}
1
+ {"version":3,"file":"chip.css.js","names":[],"sources":["../../../src/feedback/chip/chip.css?inline"],"sourcesContent":["@layer refine.base {\n :host {\n --_bg: var(--chip-bg, var(--color-contrast-150));\n --_color: var(--chip-color, var(--color-contrast-800));\n --_border-color: var(--chip-border-color, transparent);\n --_radius: var(--chip-radius, var(--rounded-lg));\n --_font-size: var(--chip-font-size, var(--text-sm));\n --_font-weight: var(--chip-font-weight, var(--font-medium));\n --_padding-x: var(--chip-padding-x, var(--size-2-5));\n --_padding-y: var(--chip-padding-y, var(--size-0-5));\n --_gap: var(--chip-gap, var(--size-1));\n --_icon-size: var(--chip-icon-size, 1em);\n\n display: inline-flex;\n align-items: center;\n max-width: 100%;\n vertical-align: middle;\n }\n\n .chip {\n position: relative;\n box-sizing: border-box;\n display: inline-flex;\n gap: var(--_gap);\n align-items: center;\n max-width: 100%;\n padding: var(--_padding-y) var(--_padding-x);\n font-size: var(--_font-size);\n font-weight: var(--_font-weight);\n line-height: 1.2;\n color: var(--_color);\n white-space: nowrap;\n background: var(--_bg);\n border: var(--border) solid var(--_border-color);\n border-radius: var(--_radius);\n transition:\n background var(--transition-fast),\n border-color var(--transition-fast),\n box-shadow var(--transition-fast),\n color var(--transition-fast);\n }\n\n .label {\n flex: 1;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n /* ========================================\n Remove Button\n ======================================== */\n\n .remove-btn {\n display: inline-flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n width: 1.35em;\n height: 1.35em;\n padding: 0;\n margin-inline: var(--size-0-5) calc(var(--size-2) * -1);\n color: inherit;\n cursor: pointer;\n background: color-mix(in oklch, currentcolor 12%, transparent);\n border: none;\n border-radius: var(--_radius);\n opacity: 0.7;\n transition:\n background var(--transition-fast),\n opacity var(--transition-fast);\n }\n\n .remove-btn:hover {\n background: color-mix(in oklch, currentcolor 28%, transparent);\n opacity: 1;\n }\n\n .remove-btn:focus-visible {\n outline: 2px solid currentcolor;\n outline-offset: 1px;\n opacity: 1;\n }\n\n /* ========================================\n Icon slot\n ======================================== */\n\n ::slotted([slot='icon']) {\n display: inline-flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n width: var(--_icon-size);\n height: var(--_icon-size);\n }\n\n /* ========================================\n Stacked layout — icon above a wrapping label (tile-like chips)\n ======================================== */\n\n :host([layout='stacked']) {\n display: inline-flex;\n }\n\n :host([layout='stacked']) .chip {\n flex-direction: column;\n gap: var(--_gap);\n align-items: center;\n justify-content: center;\n width: 100%;\n padding: var(--_padding-x);\n text-align: center;\n white-space: normal;\n }\n\n :host([layout='stacked']) .label {\n display: -webkit-box;\n -webkit-box-orient: vertical;\n overflow: hidden;\n text-overflow: clip;\n -webkit-line-clamp: 2;\n line-clamp: 2;\n white-space: normal;\n }\n\n :host([layout='stacked']) .remove-btn {\n margin-inline: 0;\n }\n\n .chip-btn {\n display: inline-flex;\n width: 100%;\n padding: 0;\n margin: 0;\n font: inherit;\n color: inherit;\n text-align: inherit;\n cursor: pointer;\n background: none;\n border: none;\n }\n\n .chip-btn:disabled {\n cursor: not-allowed;\n }\n\n :host([mode='selectable'][checked]) .chip {\n outline: var(--border-2) solid var(--_theme-base, currentColor);\n outline-offset: -2px;\n }\n\n :host([mode='selectable']:not([disabled])) .chip,\n :host([mode='action']:not([disabled])) .chip {\n cursor: pointer;\n }\n\n .chip-btn:focus-visible {\n outline: 2px solid var(--_theme-base, currentColor);\n outline-offset: 2px;\n border-radius: var(--_radius);\n }\n}\n\n@layer refine.variants {\n /* Solid (Default) — full theme color fill */\n :host(:not([variant])),\n :host([variant='solid']) {\n --_bg: var(--chip-bg, var(--_theme-base, var(--color-contrast-700)));\n --_color: var(--chip-color, var(--_theme-contrast, var(--color-contrast-50)));\n --_border-color: var(--chip-border-color, transparent);\n --_hover-bg: var(--chip-hover-bg, var(--_theme-focus, var(--color-contrast-800)));\n --_active-bg: var(--chip-active-bg, color-mix(in oklch, var(--_theme-focus, var(--color-contrast-800)) 85%, black));\n }\n\n /* Flat — subtle tint */\n :host([variant='flat']) {\n --_bg: var(--chip-bg, color-mix(in oklch, var(--_theme-backdrop, var(--color-contrast-200)) 55%, transparent));\n --_color: var(--chip-color, var(--_theme-base, var(--color-contrast-800)));\n --_border-color: var(--chip-border-color, transparent);\n --_hover-bg: var(--chip-hover-bg, var(--_theme-focus, var(--color-contrast-700)));\n --_hover-color: var(--chip-hover-color, var(--_theme-contrast, var(--color-contrast-50)));\n --_active-bg: var(--chip-active-bg, color-mix(in oklch, var(--_theme-focus, var(--color-contrast-800)) 85%, black));\n --_active-color: var(--chip-active-color, var(--_theme-contrast, var(--color-contrast-50)));\n }\n\n /* Bordered — backdrop fill with themed border */\n :host([variant='bordered']) {\n --_bg: var(--chip-bg, var(--_theme-backdrop, var(--color-contrast-50)));\n --_color: var(--chip-color, var(--_theme-base, var(--color-contrast-900)));\n --_border-color: var(--chip-border-color, var(--_theme-border, var(--color-contrast-300)));\n --_remove-bg: var(--chip-remove-bg, var(--_theme-focus, var(--color-contrast-700)));\n --_remove-color: var(--chip-remove-color, var(--_theme-backdrop, var(--color-contrast-50)));\n --_hover-bg: var(--chip-hover-bg, var(--_theme-focus, var(--color-contrast-700)));\n --_hover-color: var(--chip-hover-color, var(--_theme-contrast, var(--color-contrast-50)));\n --_hover-border-color: var(--chip-hover-border-color, var(--_theme-focus, var(--color-contrast-700)));\n --_active-bg: var(--chip-active-bg, color-mix(in oklch, var(--_theme-focus, var(--color-contrast-800)) 85%, black));\n --_active-color: var(--chip-active-color, var(--_theme-contrast, var(--color-contrast-50)));\n }\n\n /* Outline — transparent with colored border */\n :host([variant='outline']) {\n --_bg: var(--chip-bg, transparent);\n --_color: var(--chip-color, var(--_theme-base, var(--color-contrast-900)));\n --_border-color: var(--chip-border-color, var(--_theme-base, var(--color-contrast-400)));\n --_remove-bg: var(--chip-remove-bg, var(--_theme-focus, var(--color-contrast-700)));\n --_remove-color: var(--chip-remove-color, var(--_theme-backdrop, var(--color-contrast-50)));\n --_hover-bg: var(--chip-hover-bg, var(--_theme-backdrop, var(--color-contrast-100)));\n --_hover-border-color: var(--chip-hover-border-color, var(--_theme-focus, var(--color-contrast-700)));\n --_active-bg: var(--chip-active-bg, var(--_theme-base, var(--color-contrast-700)));\n --_active-color: var(--chip-active-color, var(--_theme-contrast, var(--color-contrast-50)));\n }\n\n /* Ghost — transparent, no border */\n :host([variant='ghost']) {\n --_bg: var(--chip-bg, transparent);\n --_color: var(--chip-color, var(--_theme-base, var(--color-contrast-900)));\n --_border-color: var(--chip-border-color, transparent);\n --_hover-bg: var(--chip-hover-bg, var(--_theme-backdrop, var(--color-contrast-100)));\n --_active-bg: var(--chip-active-bg, var(--_theme-base, var(--color-contrast-700)));\n --_active-color: var(--chip-active-color, var(--_theme-contrast, var(--color-contrast-50)));\n }\n\n :host([variant='frost']:not([color])) {\n --_hover-bg: var(--chip-hover-bg, color-mix(in oklch, var(--color-canvas) 70%, transparent));\n --_hover-border-color: var(--chip-hover-border-color, color-mix(in oklch, var(--_theme-focus) 40%, transparent));\n --_active-bg: var(--chip-active-bg, color-mix(in oklch, var(--color-canvas) 70%, transparent));\n --_active-border-color: color-mix(in oklch, var(--_theme-focus) 40%, transparent);\n }\n\n :host([variant='frost'][color]) {\n --_hover-bg: var(--chip-hover-bg, color-mix(in oklch, var(--_theme-backdrop) 50%, var(--_theme-base) 50%));\n --_hover-border-color: var(--chip-hover-border-color, color-mix(in oklch, var(--_theme-focus) 65%, transparent));\n --_active-bg: var(--chip-active-bg, color-mix(in oklch, var(--_theme-backdrop) 50%, var(--_theme-base) 50%));\n --_active-border-color: color-mix(in oklch, var(--_theme-focus) 65%, transparent);\n }\n\n /* ── Remove button theming (tokens set per-variant above) ── */\n\n :host([variant='bordered']) .remove-btn,\n :host([variant='outline']) .remove-btn {\n color: var(--_remove-color);\n background: var(--_remove-bg);\n border: var(--border) solid var(--_remove-bg);\n }\n\n :host([variant='bordered']) .remove-btn:hover,\n :host([variant='outline']) .remove-btn:hover {\n background: var(--chip-remove-hover-bg, color-mix(in oklch, var(--_remove-bg) 80%, var(--color-contrast-900)));\n opacity: 1;\n }\n\n :host([variant='ghost']) .remove-btn {\n border: var(--border) solid var(--_theme-focus, var(--color-contrast-400));\n }\n\n :host([variant='ghost']) .remove-btn:hover {\n background: var(--chip-remove-hover-bg, color-mix(in oklch, currentcolor 15%, transparent));\n }\n\n /* ========================================\n Hover / Active Feedback — interactive modes\n ======================================== */\n\n :host(\n :is(\n :not([variant]),\n [variant='solid'],\n [variant='flat'],\n [variant='bordered'],\n [variant='outline'],\n [variant='ghost'],\n [variant='frost']\n ):is([mode='selectable'], [mode='action']):not([disabled])\n )\n .chip-btn:hover\n .chip {\n color: var(--_hover-color, var(--_color));\n background: var(--_hover-bg, var(--_bg));\n border-color: var(--_hover-border-color, var(--_border-color));\n }\n\n :host(\n :is(\n :not([variant]),\n [variant='solid'],\n [variant='flat'],\n [variant='bordered'],\n [variant='outline'],\n [variant='ghost'],\n [variant='frost']\n ):is([mode='selectable'], [mode='action']):not([disabled])\n )\n .chip-btn:active\n .chip {\n color: var(--_active-color, var(--_color));\n background: var(--_active-bg, var(--_bg));\n border-color: var(--_active-border-color, var(--_border-color));\n box-shadow: var(--inset-shadow-2xs);\n }\n}\n"],"mappings":""}
@@ -8,6 +8,8 @@ type ChipBaseProps = {
8
8
  disabled?: boolean;
9
9
  /** Accessible label (required for icon-only chips) */
10
10
  label?: string;
11
+ /** Content layout: 'inline' (default) keeps icon and label on one line; 'stacked' places the icon above a wrapping label */
12
+ layout?: 'inline' | 'stacked';
11
13
  /** Border radius override */
12
14
  rounded?: RoundedSize | '';
13
15
  /** Component size */
@@ -15,7 +17,7 @@ type ChipBaseProps = {
15
17
  /** Value associated with this chip — included in emitted event detail */
16
18
  value?: string;
17
19
  /** Visual style variant */
18
- variant?: Exclude<VisualVariant, 'text' | 'frost'>;
20
+ variant?: Exclude<VisualVariant, 'text'>;
19
21
  };
20
22
  type OreChipMode = 'static' | 'removable' | 'selectable' | 'action';
21
23
  /** Read-only presentation chip */
@@ -62,10 +64,11 @@ export type OreChipProps = ChipBaseProps & (StaticChipProps | RemovableChipProps
62
64
  *
63
65
  * @attr {string} label - Accessible label (required for icon-only chips)
64
66
  * @attr {string} color - Theme color: 'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'error'
65
- * @attr {string} variant - Visual variant: 'solid' | 'flat' | 'bordered' | 'outline' | 'ghost'
67
+ * @attr {string} variant - Visual variant: 'solid' | 'flat' | 'bordered' | 'outline' | 'ghost' | 'frost'
66
68
  * @attr {string} size - Component size: 'sm' | 'md' | 'lg'
67
69
  * @attr {string} rounded - Border radius: 'none' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | 'full'
68
70
  * @attr {string} mode - Interaction mode: 'static' | 'removable' | 'selectable' | 'action'
71
+ * @attr {string} layout - Content layout: 'inline' (default) | 'stacked' — stacked places the icon above a wrapping label, for tile-like selectable chips
69
72
  * @attr {boolean} disabled - Disable the chip
70
73
  * @attr {string} value - Value included in emitted event detail
71
74
  * @attr {boolean} checked - Controlled checked state for selectable chips
@@ -87,6 +90,7 @@ export type OreChipProps = ChipBaseProps & (StaticChipProps | RemovableChipProps
87
90
  * @cssprop --chip-padding-x - Horizontal padding
88
91
  * @cssprop --chip-padding-y - Vertical padding
89
92
  * @cssprop --chip-gap - Gap between icon, label and remove button
93
+ * @cssprop --chip-icon-size - Size of the slotted icon (default: 1em)
90
94
  * @cssprop --chip-hover-bg - Background on hover (interactive modes)
91
95
  * @cssprop --chip-hover-color - Text color on hover (interactive modes)
92
96
  * @cssprop --chip-hover-border-color - Border color on hover (interactive modes)
@@ -1 +1 @@
1
- {"version":3,"file":"chip.d.ts","sourceRoot":"","sources":["../../../src/feedback/chip/chip.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEzF,OAAO,yBAAyB,CAAC;AAiBjC,gCAAgC;AAChC,KAAK,aAAa,GAAG;IACnB,kBAAkB;IAClB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,2BAA2B;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,sDAAsD;IACtD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6BAA6B;IAC7B,OAAO,CAAC,EAAE,WAAW,GAAG,EAAE,CAAC;IAC3B,qBAAqB;IACrB,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,yEAAyE;IACzE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2BAA2B;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC;CACpD,CAAC;AAEF,KAAK,WAAW,GAAG,QAAQ,GAAG,WAAW,GAAG,YAAY,GAAG,QAAQ,CAAC;AAEpE,kCAAkC;AAClC,KAAK,eAAe,GAAG;IACrB,IAAI,CAAC,EAAE,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;CACvC,CAAC;AAEF,0BAA0B;AAC1B,KAAK,kBAAkB,GAAG;IACxB,IAAI,EAAE,OAAO,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;CACzC,CAAC;AAEF,2BAA2B;AAC3B,KAAK,mBAAmB,GAAG;IACzB,uDAAuD;IACvD,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,iEAAiE;IACjE,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,IAAI,EAAE,OAAO,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;CAC1C,CAAC;AAEF,8FAA8F;AAC9F,KAAK,eAAe,GAAG;IACrB,IAAI,EAAE,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;CACtC,CAAC;AAQF,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,aAAa,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,CAAC;IAC9E,KAAK,EAAE;QAAE,aAAa,EAAE,UAAU,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,CAAC;IAChE,MAAM,EAAE;QAAE,aAAa,EAAE,UAAU,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,CAAC;CAClE,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,aAAa,GACtC,CAAC,eAAe,GAAG,kBAAkB,GAAG,mBAAmB,GAAG,eAAe,CAAC,CAAC;AAEjF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4EG;AACH,eAAO,MAAM,QAAQ,EAAG,UAAmB,CAAC"}
1
+ {"version":3,"file":"chip.d.ts","sourceRoot":"","sources":["../../../src/feedback/chip/chip.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEzF,OAAO,yBAAyB,CAAC;AAkBjC,gCAAgC;AAChC,KAAK,aAAa,GAAG;IACnB,kBAAkB;IAClB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,2BAA2B;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,sDAAsD;IACtD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4HAA4H;IAC5H,MAAM,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC9B,6BAA6B;IAC7B,OAAO,CAAC,EAAE,WAAW,GAAG,EAAE,CAAC;IAC3B,qBAAqB;IACrB,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,yEAAyE;IACzE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2BAA2B;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;CAC1C,CAAC;AAEF,KAAK,WAAW,GAAG,QAAQ,GAAG,WAAW,GAAG,YAAY,GAAG,QAAQ,CAAC;AAEpE,kCAAkC;AAClC,KAAK,eAAe,GAAG;IACrB,IAAI,CAAC,EAAE,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;CACvC,CAAC;AAEF,0BAA0B;AAC1B,KAAK,kBAAkB,GAAG;IACxB,IAAI,EAAE,OAAO,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;CACzC,CAAC;AAEF,2BAA2B;AAC3B,KAAK,mBAAmB,GAAG;IACzB,uDAAuD;IACvD,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,iEAAiE;IACjE,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,IAAI,EAAE,OAAO,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;CAC1C,CAAC;AAEF,8FAA8F;AAC9F,KAAK,eAAe,GAAG;IACrB,IAAI,EAAE,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;CACtC,CAAC;AAQF,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,aAAa,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,CAAC;IAC9E,KAAK,EAAE;QAAE,aAAa,EAAE,UAAU,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,CAAC;IAChE,MAAM,EAAE;QAAE,aAAa,EAAE,UAAU,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,CAAC;CAClE,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,aAAa,GACtC,CAAC,eAAe,GAAG,kBAAkB,GAAG,mBAAmB,GAAG,eAAe,CAAC,CAAC;AAEjF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8EG;AACH,eAAO,MAAM,QAAQ,EAAG,UAAmB,CAAC"}
@@ -1,2 +1,2 @@
1
- var e=`@layer refine.base{:host{--_height:var(--progress-height,var(--size-2,.5rem));--_radius:var(--progress-radius,var(--rounded-lg));--_circle-size:var(--progress-circle-size,6rem);--_circular-label-size:var(--progress-circular-label-size,var(--text-xl,1.25rem));--_circular-title-size:var(--progress-circular-title-size,var(--text-xs,.75rem));width:100%;display:block}.track{width:100%;height:var(--_height);background:var(--progress-track-bg,var(--color-contrast-300,#ddd));border-radius:var(--_radius);overflow:hidden}.fill{width:var(--_percent,0%);background:var(--progress-fill,var(--_theme-base,#3b82f6));border-radius:inherit;transform-origin:0;height:100%;transition:var(--_motion-transition,width var(--transition-normal))}:host(:dir(rtl)) .fill{transform-origin:100%}@keyframes ore-progress-slide{0%{transform:translate(-150%)scaleX(.6)}50%{transform:translate(50%)scaleX(1)}to{transform:translate(300%)scaleX(.6)}}:host([indeterminate]) .fill{width:40%;animation:var(--_motion-animation,ore-progress-slide var(--duration-1500) var(--ease-linear) infinite)}:host(:dir(rtl)[indeterminate]) .fill{animation-direction:reverse}:host([type=vertical]){--_width:var(--progress-width,var(--size-2,.5rem));width:auto;display:inline-flex}:host([type=vertical]) .wrapper{gap:var(--progress-label-gap,var(--space-1,.25rem));flex-direction:row;width:auto;height:100%}:host([type=vertical]) .track{width:var(--_width);height:100%;overflow:hidden}:host([type=vertical]) .fill{width:100%;height:var(--_percent,0%);transform-origin:bottom;transition:var(--_motion-transition,height var(--transition-normal))}:host([type=vertical][indeterminate]) .fill{height:40%;animation:var(--_motion-animation,ore-progress-slide-v var(--duration-1500) var(--ease-linear) infinite)}@keyframes ore-progress-slide-v{0%{transform:translateY(150%)scaleY(.6)}50%{transform:translateY(-50%)scaleY(1)}to{transform:translateY(-300%)scaleY(.6)}}.bar-row-vertical{flex-direction:column;align-items:center;height:100%;display:flex}:host([type=vertical]) .track-outer{flex:1;justify-content:center;align-items:stretch;width:auto;height:100%;display:flex}.wrapper{gap:var(--progress-label-gap,var(--space-1,.25rem));flex-direction:column;width:100%;display:flex}.header{gap:var(--space-2,.5rem);justify-content:space-between;align-items:baseline;display:none}:host([title]) .header{display:flex}.progress-title{font-size:var(--text-sm,.875rem);font-weight:var(--font-weight-medium,500);color:var(--progress-title-color,currentColor);line-height:1.25}.header-label{display:none}:host([title][label]) .header-label{display:inline}.bar-row{display:contents}:host([label]:not([title])) .bar-row{gap:var(--progress-label-gap,var(--space-2,.5rem));align-items:center;width:100%;display:flex}.track-outer{width:100%;position:relative}:host([label]:not([title])) .track-outer{flex:1;width:auto;min-width:0}.end-label{font-size:var(--text-sm,.875rem);color:var(--progress-label-color,currentColor);white-space:nowrap;flex-shrink:0;line-height:1.25}.row-label{display:none}:host([label]:not([title])) .row-label{display:inline}.floating-label{bottom:calc(100% + var(--space-1,.25rem));left:var(--_percent,0%);padding:var(--space-0-5,.125rem) var(--space-2,.5rem);font-size:var(--text-xs,.75rem);font-weight:var(--font-weight-medium,500);color:var(--color-white,#fff);white-space:nowrap;pointer-events:none;-webkit-user-select:none;user-select:none;background:var(--progress-fill,var(--_theme-base,#3b82f6));border-radius:var(--rounded-md,.375rem);line-height:1;display:none;position:absolute;transform:translate(-50%)}:host([floating-label]:not([indeterminate])) .floating-label{display:block}:host([floating-label]:not([indeterminate])) .wrapper{padding-top:calc(var(--text-xs,.75rem) + var(--space-1,.25rem) * 3)}.circular-track{width:var(--_circle-size);height:var(--_circle-size);justify-content:center;align-items:center;display:inline-flex;position:relative}.circular-track svg{width:100%;height:100%;overflow:visible;transform:rotate(-90deg)}.circular-inner{gap:var(--space-0-5,.125rem);padding:calc(8% + var(--_height));text-align:center;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0;overflow:hidden}.circular-label{text-overflow:ellipsis;max-width:100%;font-size:var(--_circular-label-size);font-weight:var(--font-weight-semibold,600);color:var(--progress-label-color,currentColor);white-space:nowrap;line-height:1;overflow:hidden}.circular-title{text-overflow:ellipsis;max-width:100%;font-size:var(--_circular-title-size);color:var(--progress-title-color,var(--color-contrast-500,#6b7280));white-space:nowrap;line-height:1.25;overflow:hidden}.circular-label:empty,.circular-title:empty{display:none}.circle-bg{fill:none;stroke:var(--progress-track-bg,var(--color-contrast-300,#ddd));stroke-width:var(--progress-stroke-width,calc(var(--_height) * 1.2))}.circle-fill{fill:none;stroke:var(--progress-fill,var(--_theme-base,#3b82f6));stroke-width:var(--progress-stroke-width,calc(var(--_height) * 1.2));stroke-linecap:round;transition:var(--_motion-transition,stroke-dashoffset var(--transition-normal))}@keyframes ore-progress-spin{0%{transform:rotate(-90deg)}to{transform:rotate(270deg)}}@keyframes ore-progress-dash{0%{stroke-dasharray:1px var(--_circ);stroke-dashoffset:var(--_circ)}40%{stroke-dasharray:calc(var(--_circ) * .75) var(--_circ);stroke-dashoffset:calc(var(--_circ) * -.1)}60%{stroke-dasharray:calc(var(--_circ) * .75) var(--_circ);stroke-dashoffset:calc(var(--_circ) * -.1)}to{stroke-dasharray:1px var(--_circ);stroke-dashoffset:calc(var(--_circ) * -.9)}}:host([indeterminate]) .circular-track svg{animation:var(--_motion-animation,ore-progress-spin var(--duration-1400) var(--ease-linear) infinite)}:host([indeterminate]) .circle-fill{animation:var(--_motion-animation,ore-progress-dash var(--duration-1400) var(--ease-in-out) infinite)}}@layer refine.utilities{:host([size=sm]){--_height:var(--size-1,.25rem);--_circle-size:4rem;--_circular-label-size:var(--text-sm,.875rem);--_circular-title-size:var(--text-2xs,.625rem)}:host([size=md]){--_height:var(--size-2,.5rem);--_circle-size:6rem}:host([size=lg]){--_height:var(--size-3-5,.875rem);--_circle-size:9rem;--_circular-label-size:var(--text-3xl);--_circular-title-size:var(--text-sm,.875rem)}}@media (prefers-reduced-motion:reduce){:host([indeterminate]) .fill{opacity:.6;width:100%}:host([indeterminate]) .circle-fill{stroke-dasharray:none}:host([type=vertical][indeterminate]) .fill{opacity:.6;height:100%}}`;exports.default=e;
1
+ var e=`@layer refine.base{:host{--_height:var(--progress-height,var(--size-2,.5rem));--_radius:var(--progress-radius,var(--rounded-lg));--_circle-size:var(--progress-circle-size,6rem);--_circular-label-size:var(--progress-circular-label-size,var(--text-xl,1.25rem));--_circular-title-size:var(--progress-circular-title-size,var(--text-xs,.75rem));width:100%;display:block}.track{width:100%;height:var(--_height);background:var(--progress-track-bg,var(--color-contrast-300,#ddd));border-radius:var(--_radius);overflow:hidden}.fill{width:var(--_percent,0%);background:var(--progress-fill,var(--_theme-base,#3b82f6));border-radius:inherit;transform-origin:0;height:100%;transition:var(--_motion-transition,width var(--transition-normal))}:host(:dir(rtl)) .fill{transform-origin:100%}@keyframes ore-progress-slide{0%{transform:translate(-150%)scaleX(.6)}50%{transform:translate(50%)scaleX(1)}to{transform:translate(300%)scaleX(.6)}}:host([indeterminate]) .fill{width:40%;animation:var(--_motion-animation,ore-progress-slide var(--duration-1500) var(--ease-linear) infinite)}:host(:dir(rtl)[indeterminate]) .fill{animation-direction:reverse}.track-segmented{grid-template-columns:repeat(var(--_segments,1), minmax(0, 1fr));gap:var(--progress-segment-gap,var(--size-1,.25rem));background:0 0;border-radius:0;display:grid;overflow:visible}.segment{background:var(--progress-track-bg,var(--color-contrast-300,#ddd));border-radius:var(--_radius);min-width:0;height:100%;transition:var(--_motion-transition,background var(--transition-normal))}.segment[data-filled]{background:var(--progress-fill,var(--_theme-base,#3b82f6))}:host([type=vertical]){--_width:var(--progress-width,var(--size-2,.5rem));width:auto;display:inline-flex}:host([type=vertical]) .wrapper{gap:var(--progress-label-gap,var(--space-1,.25rem));flex-direction:row;width:auto;height:100%}:host([type=vertical]) .track{width:var(--_width);height:100%;overflow:hidden}:host([type=vertical]) .fill{width:100%;height:var(--_percent,0%);transform-origin:bottom;transition:var(--_motion-transition,height var(--transition-normal))}:host([type=vertical][indeterminate]) .fill{height:40%;animation:var(--_motion-animation,ore-progress-slide-v var(--duration-1500) var(--ease-linear) infinite)}@keyframes ore-progress-slide-v{0%{transform:translateY(150%)scaleY(.6)}50%{transform:translateY(-50%)scaleY(1)}to{transform:translateY(-300%)scaleY(.6)}}.bar-row-vertical{flex-direction:column;align-items:center;height:100%;display:flex}:host([type=vertical]) .track-outer{flex:1;justify-content:center;align-items:stretch;width:auto;height:100%;display:flex}.wrapper{gap:var(--progress-label-gap,var(--space-1,.25rem));flex-direction:column;width:100%;display:flex}.header{gap:var(--space-2,.5rem);justify-content:space-between;align-items:baseline;display:none}:host([title]) .header{display:flex}.progress-title{font-size:var(--text-sm,.875rem);font-weight:var(--font-weight-medium,500);color:var(--progress-title-color,currentColor);line-height:1.25}.header-label{display:none}:host([title][label]) .header-label{display:inline}.bar-row{display:contents}:host([label]:not([title])) .bar-row{gap:var(--progress-label-gap,var(--space-2,.5rem));align-items:center;width:100%;display:flex}.track-outer{width:100%;position:relative}:host([label]:not([title])) .track-outer{flex:1;width:auto;min-width:0}.end-label{font-size:var(--text-sm,.875rem);color:var(--progress-label-color,currentColor);white-space:nowrap;flex-shrink:0;line-height:1.25}.row-label{display:none}:host([label]:not([title])) .row-label{display:inline}.floating-label{bottom:calc(100% + var(--space-1,.25rem));left:var(--_percent,0%);padding:var(--space-0-5,.125rem) var(--space-2,.5rem);font-size:var(--text-xs,.75rem);font-weight:var(--font-weight-medium,500);color:var(--color-white,#fff);white-space:nowrap;pointer-events:none;-webkit-user-select:none;user-select:none;background:var(--progress-fill,var(--_theme-base,#3b82f6));border-radius:var(--rounded-md,.375rem);line-height:1;display:none;position:absolute;transform:translate(-50%)}:host([floating-label]:not([indeterminate])) .floating-label{display:block}:host([floating-label]:not([indeterminate])) .wrapper{padding-top:calc(var(--text-xs,.75rem) + var(--space-1,.25rem) * 3)}.circular-track{width:var(--_circle-size);height:var(--_circle-size);justify-content:center;align-items:center;display:inline-flex;position:relative}.circular-track svg{width:100%;height:100%;overflow:visible;transform:rotate(-90deg)}.circular-inner{gap:var(--space-0-5,.125rem);padding:calc(8% + var(--_height));text-align:center;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0;overflow:hidden}.circular-label{text-overflow:ellipsis;max-width:100%;font-size:var(--_circular-label-size);font-weight:var(--font-weight-semibold,600);color:var(--progress-label-color,currentColor);white-space:nowrap;line-height:1;overflow:hidden}.circular-title{text-overflow:ellipsis;max-width:100%;font-size:var(--_circular-title-size);color:var(--progress-title-color,var(--color-contrast-500,#6b7280));white-space:nowrap;line-height:1.25;overflow:hidden}.circular-label:empty,.circular-title:empty{display:none}.circle-bg{fill:none;stroke:var(--progress-track-bg,var(--color-contrast-300,#ddd));stroke-width:var(--progress-stroke-width,calc(var(--_height) * 1.2))}.circle-fill{fill:none;stroke:var(--progress-fill,var(--_theme-base,#3b82f6));stroke-width:var(--progress-stroke-width,calc(var(--_height) * 1.2));stroke-linecap:round;transition:var(--_motion-transition,stroke-dashoffset var(--transition-normal))}@keyframes ore-progress-spin{0%{transform:rotate(-90deg)}to{transform:rotate(270deg)}}@keyframes ore-progress-dash{0%{stroke-dasharray:1px var(--_circ);stroke-dashoffset:var(--_circ)}40%{stroke-dasharray:calc(var(--_circ) * .75) var(--_circ);stroke-dashoffset:calc(var(--_circ) * -.1)}60%{stroke-dasharray:calc(var(--_circ) * .75) var(--_circ);stroke-dashoffset:calc(var(--_circ) * -.1)}to{stroke-dasharray:1px var(--_circ);stroke-dashoffset:calc(var(--_circ) * -.9)}}:host([indeterminate]) .circular-track svg{animation:var(--_motion-animation,ore-progress-spin var(--duration-1400) var(--ease-linear) infinite)}:host([indeterminate]) .circle-fill{animation:var(--_motion-animation,ore-progress-dash var(--duration-1400) var(--ease-in-out) infinite)}}@layer refine.utilities{:host([size=sm]){--_height:var(--size-1,.25rem);--_circle-size:4rem;--_circular-label-size:var(--text-sm,.875rem);--_circular-title-size:var(--text-2xs,.625rem)}:host([size=md]){--_height:var(--size-2,.5rem);--_circle-size:6rem}:host([size=lg]){--_height:var(--size-3-5,.875rem);--_circle-size:9rem;--_circular-label-size:var(--text-3xl);--_circular-title-size:var(--text-sm,.875rem)}}@media (prefers-reduced-motion:reduce){:host([indeterminate]) .fill{opacity:.6;width:100%}:host([indeterminate]) .circle-fill{stroke-dasharray:none}:host([type=vertical][indeterminate]) .fill{opacity:.6;height:100%}}`;exports.default=e;
2
2
  //# sourceMappingURL=progress.css.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"progress.css.cjs","names":[],"sources":["../../../src/feedback/progress/progress.css?inline"],"sourcesContent":["@layer refine.base {\n :host {\n --_height: var(--progress-height, var(--size-2, 0.5rem));\n --_radius: var(--progress-radius, var(--rounded-lg));\n --_circle-size: var(--progress-circle-size, 6rem);\n --_circular-label-size: var(--progress-circular-label-size, var(--text-xl, 1.25rem));\n --_circular-title-size: var(--progress-circular-title-size, var(--text-xs, 0.75rem));\n\n display: block;\n\n /* Stretch to fill the parent container (matches native <progress> behaviour).\n The host's width is set against its parent, so % widths inside shadow DOM\n (.track, .fill) resolve correctly in any flex/grid/block context. */\n width: 100%;\n }\n\n /* ========================================\n Linear Bar\n ======================================== */\n\n .track {\n width: 100%;\n height: var(--_height);\n overflow: hidden;\n\n /* contrast-300 (88% lightness) gives a visible groove in light mode */\n background: var(--progress-track-bg, var(--color-contrast-300, #ddd));\n border-radius: var(--_radius);\n }\n\n .fill {\n width: var(--_percent, 0%);\n height: 100%;\n background: var(--progress-fill, var(--_theme-base, #3b82f6));\n border-radius: inherit;\n transform-origin: left;\n transition: var(--_motion-transition, width var(--transition-normal));\n }\n\n /* In RTL the fill grows from the inline-end (physical right) side */\n :host(:dir(rtl)) .fill {\n transform-origin: right;\n }\n\n /* Indeterminate: sliding bar */\n @keyframes ore-progress-slide {\n 0% {\n transform: translateX(-150%) scaleX(0.6);\n }\n\n 50% {\n transform: translateX(50%) scaleX(1);\n }\n\n 100% {\n transform: translateX(300%) scaleX(0.6);\n }\n }\n\n :host([indeterminate]) .fill {\n width: 40%;\n animation: var(--_motion-animation, ore-progress-slide var(--duration-1500) var(--ease-linear) infinite);\n }\n\n /* In RTL the indeterminate bar sweeps right-to-left */\n :host(:dir(rtl)[indeterminate]) .fill {\n animation-direction: reverse;\n }\n\n /* ========================================\n Vertical Bar\n ======================================== */\n\n :host([type='vertical']) {\n --_width: var(--progress-width, var(--size-2, 0.5rem));\n\n display: inline-flex;\n width: auto;\n }\n\n :host([type='vertical']) .wrapper {\n flex-direction: row;\n gap: var(--progress-label-gap, var(--space-1, 0.25rem));\n width: auto;\n height: 100%;\n }\n\n :host([type='vertical']) .track {\n width: var(--_width);\n height: 100%;\n overflow: hidden;\n }\n\n :host([type='vertical']) .fill {\n width: 100%;\n height: var(--_percent, 0%);\n transform-origin: bottom;\n transition: var(--_motion-transition, height var(--transition-normal));\n }\n\n :host([type='vertical'][indeterminate]) .fill {\n height: 40%;\n animation: var(--_motion-animation, ore-progress-slide-v var(--duration-1500) var(--ease-linear) infinite);\n }\n\n @keyframes ore-progress-slide-v {\n 0% {\n transform: translateY(150%) scaleY(0.6);\n }\n\n 50% {\n transform: translateY(-50%) scaleY(1);\n }\n\n 100% {\n transform: translateY(-300%) scaleY(0.6);\n }\n }\n\n .bar-row-vertical {\n display: flex;\n flex-direction: column;\n align-items: center;\n height: 100%;\n }\n\n :host([type='vertical']) .track-outer {\n display: flex;\n flex: 1 1 0%;\n align-items: stretch;\n justify-content: center;\n width: auto;\n height: 100%;\n }\n\n /* ========================================\n Wrapper / Label / Title / Floating label\n ======================================== */\n\n /* Flex-column shell for the linear variant */\n .wrapper {\n display: flex;\n flex-direction: column;\n gap: var(--progress-label-gap, var(--space-1, 0.25rem));\n width: 100%;\n }\n\n /* Header row ─ visible only when [title] is present */\n .header {\n display: none;\n gap: var(--space-2, 0.5rem);\n align-items: baseline;\n justify-content: space-between;\n }\n\n :host([title]) .header {\n display: flex;\n }\n\n .progress-title {\n font-size: var(--text-sm, 0.875rem);\n font-weight: var(--font-weight-medium, 500);\n line-height: 1.25;\n color: var(--progress-title-color, currentColor);\n }\n\n /* Label inside the header ─ only when both [title] and [label] are set */\n .header-label {\n display: none;\n }\n\n :host([title][label]) .header-label {\n display: inline;\n }\n\n /* Bar row ─ transparent wrapper by default; becomes a flex row when\n [label] is present without [title] so the label sits beside the bar */\n .bar-row {\n display: contents;\n }\n\n :host([label]:not([title])) .bar-row {\n display: flex;\n gap: var(--progress-label-gap, var(--space-2, 0.5rem));\n align-items: center;\n width: 100%;\n }\n\n /* Outer track container ─ always position:relative for floating-label */\n .track-outer {\n position: relative;\n width: 100%;\n }\n\n :host([label]:not([title])) .track-outer {\n flex: 1 1 0%;\n width: auto;\n min-width: 0;\n }\n\n /* Shared label typography */\n .end-label {\n flex-shrink: 0;\n font-size: var(--text-sm, 0.875rem);\n line-height: 1.25;\n color: var(--progress-label-color, currentColor);\n white-space: nowrap;\n }\n\n /* Trailing end label ─ shown only when [label] is present without [title] */\n .row-label {\n display: none;\n }\n\n :host([label]:not([title])) .row-label {\n display: inline;\n }\n\n /* Floating label chip ─────────────────────────────────────────────────\n Positioned above the fill endpoint.\n Formula: left = X% (fill width) − Y (half chip width)\n Implemented as: left: var(--_percent); transform: translateX(-50%) */\n .floating-label {\n position: absolute;\n bottom: calc(100% + var(--space-1, 0.25rem));\n left: var(--_percent, 0%);\n display: none;\n padding: var(--space-0-5, 0.125rem) var(--space-2, 0.5rem);\n font-size: var(--text-xs, 0.75rem);\n font-weight: var(--font-weight-medium, 500);\n line-height: 1;\n color: var(--color-white, #fff);\n white-space: nowrap;\n pointer-events: none;\n user-select: none;\n background: var(--progress-fill, var(--_theme-base, #3b82f6));\n border-radius: var(--rounded-md, 0.375rem);\n transform: translateX(-50%);\n }\n\n :host([floating-label]:not([indeterminate])) .floating-label {\n display: block;\n }\n\n /* Reserve vertical space above the track so the chip does not clip */\n :host([floating-label]:not([indeterminate])) .wrapper {\n padding-top: calc(var(--text-xs, 0.75rem) + var(--space-1, 0.25rem) * 3);\n }\n\n /* ========================================\n Circular variant\n ======================================== */\n\n .circular-track {\n position: relative; /* anchor the inner text overlay */\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--_circle-size);\n height: var(--_circle-size);\n }\n\n .circular-track svg {\n width: 100%;\n height: 100%;\n overflow: visible;\n transform: rotate(-90deg);\n }\n\n /* Inner overlay — label + title stacked and centered inside the ring */\n .circular-inner {\n position: absolute;\n inset: 0;\n display: flex;\n flex-direction: column;\n gap: var(--space-0-5, 0.125rem);\n align-items: center;\n justify-content: center;\n\n /* Inset from the stroke edge so text stays clear of the ring */\n padding: calc(8% + var(--_height));\n overflow: hidden;\n text-align: center;\n pointer-events: none;\n }\n\n .circular-label {\n max-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n font-size: var(--_circular-label-size);\n font-weight: var(--font-weight-semibold, 600);\n line-height: 1;\n color: var(--progress-label-color, currentColor);\n white-space: nowrap;\n }\n\n .circular-title {\n max-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n font-size: var(--_circular-title-size);\n line-height: 1.25;\n color: var(--progress-title-color, var(--color-contrast-500, #6b7280));\n white-space: nowrap;\n }\n\n /* Hide empty inner text nodes so flexbox gap doesn't create phantom space */\n .circular-label:empty,\n .circular-title:empty {\n display: none;\n }\n\n .circle-bg {\n fill: none;\n stroke: var(--progress-track-bg, var(--color-contrast-300, #ddd));\n stroke-width: var(--progress-stroke-width, calc(var(--_height) * 1.2));\n }\n\n .circle-fill {\n fill: none;\n stroke: var(--progress-fill, var(--_theme-base, #3b82f6));\n stroke-width: var(--progress-stroke-width, calc(var(--_height) * 1.2));\n stroke-linecap: round;\n transition: var(--_motion-transition, stroke-dashoffset var(--transition-normal));\n }\n\n @keyframes ore-progress-spin {\n from {\n transform: rotate(-90deg);\n }\n\n to {\n transform: rotate(270deg);\n }\n }\n\n @keyframes ore-progress-dash {\n 0% {\n stroke-dasharray: 1px var(--_circ);\n stroke-dashoffset: var(--_circ);\n }\n\n 40% {\n stroke-dasharray: calc(var(--_circ) * 0.75) var(--_circ);\n stroke-dashoffset: calc(var(--_circ) * -0.1);\n }\n\n 60% {\n stroke-dasharray: calc(var(--_circ) * 0.75) var(--_circ);\n stroke-dashoffset: calc(var(--_circ) * -0.1);\n }\n\n 100% {\n stroke-dasharray: 1px var(--_circ);\n stroke-dashoffset: calc(var(--_circ) * -0.9);\n }\n }\n\n :host([indeterminate]) .circular-track svg {\n animation: var(--_motion-animation, ore-progress-spin var(--duration-1400) var(--ease-linear) infinite);\n }\n\n :host([indeterminate]) .circle-fill {\n animation: var(--_motion-animation, ore-progress-dash var(--duration-1400) var(--ease-in-out) infinite);\n }\n}\n\n@layer refine.utilities {\n :host([size='sm']) {\n --_height: var(--size-1, 0.25rem);\n --_circle-size: 4rem;\n --_circular-label-size: var(--text-sm, 0.875rem);\n --_circular-title-size: var(--text-2xs, 0.625rem);\n }\n\n :host([size='md']) {\n --_height: var(--size-2, 0.5rem);\n --_circle-size: 6rem;\n }\n\n :host([size='lg']) {\n --_height: var(--size-3-5, 0.875rem);\n --_circle-size: 9rem;\n --_circular-label-size: var(--text-3xl);\n --_circular-title-size: var(--text-sm, 0.875rem);\n }\n}\n\n/* Extra indeterminate state overrides — cannot be expressed via CSS variables alone */\n@media (prefers-reduced-motion: reduce) {\n :host([indeterminate]) .fill {\n width: 100%;\n opacity: 0.6;\n }\n\n :host([indeterminate]) .circle-fill {\n stroke-dasharray: none;\n }\n\n :host([type='vertical'][indeterminate]) .fill {\n height: 100%;\n opacity: 0.6;\n }\n}\n"],"mappings":""}
1
+ {"version":3,"file":"progress.css.cjs","names":[],"sources":["../../../src/feedback/progress/progress.css?inline"],"sourcesContent":["@layer refine.base {\n :host {\n --_height: var(--progress-height, var(--size-2, 0.5rem));\n --_radius: var(--progress-radius, var(--rounded-lg));\n --_circle-size: var(--progress-circle-size, 6rem);\n --_circular-label-size: var(--progress-circular-label-size, var(--text-xl, 1.25rem));\n --_circular-title-size: var(--progress-circular-title-size, var(--text-xs, 0.75rem));\n\n display: block;\n\n /* Stretch to fill the parent container (matches native <progress> behaviour).\n The host's width is set against its parent, so % widths inside shadow DOM\n (.track, .fill) resolve correctly in any flex/grid/block context. */\n width: 100%;\n }\n\n /* ========================================\n Linear Bar\n ======================================== */\n\n .track {\n width: 100%;\n height: var(--_height);\n overflow: hidden;\n\n /* contrast-300 (88% lightness) gives a visible groove in light mode */\n background: var(--progress-track-bg, var(--color-contrast-300, #ddd));\n border-radius: var(--_radius);\n }\n\n .fill {\n width: var(--_percent, 0%);\n height: 100%;\n background: var(--progress-fill, var(--_theme-base, #3b82f6));\n border-radius: inherit;\n transform-origin: left;\n transition: var(--_motion-transition, width var(--transition-normal));\n }\n\n /* In RTL the fill grows from the inline-end (physical right) side */\n :host(:dir(rtl)) .fill {\n transform-origin: right;\n }\n\n /* Indeterminate: sliding bar */\n @keyframes ore-progress-slide {\n 0% {\n transform: translateX(-150%) scaleX(0.6);\n }\n\n 50% {\n transform: translateX(50%) scaleX(1);\n }\n\n 100% {\n transform: translateX(300%) scaleX(0.6);\n }\n }\n\n :host([indeterminate]) .fill {\n width: 40%;\n animation: var(--_motion-animation, ore-progress-slide var(--duration-1500) var(--ease-linear) infinite);\n }\n\n /* In RTL the indeterminate bar sweeps right-to-left */\n :host(:dir(rtl)[indeterminate]) .fill {\n animation-direction: reverse;\n }\n\n /* ========================================\n Segmented Bar\n ======================================== */\n\n /* Discrete blocks replace the continuous fill. The track goes transparent so the\n gaps read as separate tokens; each block keeps the track groove colour until filled. */\n .track-segmented {\n display: grid;\n grid-template-columns: repeat(var(--_segments, 1), minmax(0, 1fr));\n gap: var(--progress-segment-gap, var(--size-1, 0.25rem));\n overflow: visible;\n background: transparent;\n border-radius: 0;\n }\n\n .segment {\n min-width: 0;\n height: 100%;\n background: var(--progress-track-bg, var(--color-contrast-300, #ddd));\n border-radius: var(--_radius);\n transition: var(--_motion-transition, background var(--transition-normal));\n }\n\n .segment[data-filled] {\n background: var(--progress-fill, var(--_theme-base, #3b82f6));\n }\n\n /* ========================================\n Vertical Bar\n ======================================== */\n\n :host([type='vertical']) {\n --_width: var(--progress-width, var(--size-2, 0.5rem));\n\n display: inline-flex;\n width: auto;\n }\n\n :host([type='vertical']) .wrapper {\n flex-direction: row;\n gap: var(--progress-label-gap, var(--space-1, 0.25rem));\n width: auto;\n height: 100%;\n }\n\n :host([type='vertical']) .track {\n width: var(--_width);\n height: 100%;\n overflow: hidden;\n }\n\n :host([type='vertical']) .fill {\n width: 100%;\n height: var(--_percent, 0%);\n transform-origin: bottom;\n transition: var(--_motion-transition, height var(--transition-normal));\n }\n\n :host([type='vertical'][indeterminate]) .fill {\n height: 40%;\n animation: var(--_motion-animation, ore-progress-slide-v var(--duration-1500) var(--ease-linear) infinite);\n }\n\n @keyframes ore-progress-slide-v {\n 0% {\n transform: translateY(150%) scaleY(0.6);\n }\n\n 50% {\n transform: translateY(-50%) scaleY(1);\n }\n\n 100% {\n transform: translateY(-300%) scaleY(0.6);\n }\n }\n\n .bar-row-vertical {\n display: flex;\n flex-direction: column;\n align-items: center;\n height: 100%;\n }\n\n :host([type='vertical']) .track-outer {\n display: flex;\n flex: 1 1 0%;\n align-items: stretch;\n justify-content: center;\n width: auto;\n height: 100%;\n }\n\n /* ========================================\n Wrapper / Label / Title / Floating label\n ======================================== */\n\n /* Flex-column shell for the linear variant */\n .wrapper {\n display: flex;\n flex-direction: column;\n gap: var(--progress-label-gap, var(--space-1, 0.25rem));\n width: 100%;\n }\n\n /* Header row ─ visible only when [title] is present */\n .header {\n display: none;\n gap: var(--space-2, 0.5rem);\n align-items: baseline;\n justify-content: space-between;\n }\n\n :host([title]) .header {\n display: flex;\n }\n\n .progress-title {\n font-size: var(--text-sm, 0.875rem);\n font-weight: var(--font-weight-medium, 500);\n line-height: 1.25;\n color: var(--progress-title-color, currentColor);\n }\n\n /* Label inside the header ─ only when both [title] and [label] are set */\n .header-label {\n display: none;\n }\n\n :host([title][label]) .header-label {\n display: inline;\n }\n\n /* Bar row ─ transparent wrapper by default; becomes a flex row when\n [label] is present without [title] so the label sits beside the bar */\n .bar-row {\n display: contents;\n }\n\n :host([label]:not([title])) .bar-row {\n display: flex;\n gap: var(--progress-label-gap, var(--space-2, 0.5rem));\n align-items: center;\n width: 100%;\n }\n\n /* Outer track container ─ always position:relative for floating-label */\n .track-outer {\n position: relative;\n width: 100%;\n }\n\n :host([label]:not([title])) .track-outer {\n flex: 1 1 0%;\n width: auto;\n min-width: 0;\n }\n\n /* Shared label typography */\n .end-label {\n flex-shrink: 0;\n font-size: var(--text-sm, 0.875rem);\n line-height: 1.25;\n color: var(--progress-label-color, currentColor);\n white-space: nowrap;\n }\n\n /* Trailing end label ─ shown only when [label] is present without [title] */\n .row-label {\n display: none;\n }\n\n :host([label]:not([title])) .row-label {\n display: inline;\n }\n\n /* Floating label chip ─────────────────────────────────────────────────\n Positioned above the fill endpoint.\n Formula: left = X% (fill width) − Y (half chip width)\n Implemented as: left: var(--_percent); transform: translateX(-50%) */\n .floating-label {\n position: absolute;\n bottom: calc(100% + var(--space-1, 0.25rem));\n left: var(--_percent, 0%);\n display: none;\n padding: var(--space-0-5, 0.125rem) var(--space-2, 0.5rem);\n font-size: var(--text-xs, 0.75rem);\n font-weight: var(--font-weight-medium, 500);\n line-height: 1;\n color: var(--color-white, #fff);\n white-space: nowrap;\n pointer-events: none;\n user-select: none;\n background: var(--progress-fill, var(--_theme-base, #3b82f6));\n border-radius: var(--rounded-md, 0.375rem);\n transform: translateX(-50%);\n }\n\n :host([floating-label]:not([indeterminate])) .floating-label {\n display: block;\n }\n\n /* Reserve vertical space above the track so the chip does not clip */\n :host([floating-label]:not([indeterminate])) .wrapper {\n padding-top: calc(var(--text-xs, 0.75rem) + var(--space-1, 0.25rem) * 3);\n }\n\n /* ========================================\n Circular variant\n ======================================== */\n\n .circular-track {\n position: relative; /* anchor the inner text overlay */\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--_circle-size);\n height: var(--_circle-size);\n }\n\n .circular-track svg {\n width: 100%;\n height: 100%;\n overflow: visible;\n transform: rotate(-90deg);\n }\n\n /* Inner overlay — label + title stacked and centered inside the ring */\n .circular-inner {\n position: absolute;\n inset: 0;\n display: flex;\n flex-direction: column;\n gap: var(--space-0-5, 0.125rem);\n align-items: center;\n justify-content: center;\n\n /* Inset from the stroke edge so text stays clear of the ring */\n padding: calc(8% + var(--_height));\n overflow: hidden;\n text-align: center;\n pointer-events: none;\n }\n\n .circular-label {\n max-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n font-size: var(--_circular-label-size);\n font-weight: var(--font-weight-semibold, 600);\n line-height: 1;\n color: var(--progress-label-color, currentColor);\n white-space: nowrap;\n }\n\n .circular-title {\n max-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n font-size: var(--_circular-title-size);\n line-height: 1.25;\n color: var(--progress-title-color, var(--color-contrast-500, #6b7280));\n white-space: nowrap;\n }\n\n /* Hide empty inner text nodes so flexbox gap doesn't create phantom space */\n .circular-label:empty,\n .circular-title:empty {\n display: none;\n }\n\n .circle-bg {\n fill: none;\n stroke: var(--progress-track-bg, var(--color-contrast-300, #ddd));\n stroke-width: var(--progress-stroke-width, calc(var(--_height) * 1.2));\n }\n\n .circle-fill {\n fill: none;\n stroke: var(--progress-fill, var(--_theme-base, #3b82f6));\n stroke-width: var(--progress-stroke-width, calc(var(--_height) * 1.2));\n stroke-linecap: round;\n transition: var(--_motion-transition, stroke-dashoffset var(--transition-normal));\n }\n\n @keyframes ore-progress-spin {\n from {\n transform: rotate(-90deg);\n }\n\n to {\n transform: rotate(270deg);\n }\n }\n\n @keyframes ore-progress-dash {\n 0% {\n stroke-dasharray: 1px var(--_circ);\n stroke-dashoffset: var(--_circ);\n }\n\n 40% {\n stroke-dasharray: calc(var(--_circ) * 0.75) var(--_circ);\n stroke-dashoffset: calc(var(--_circ) * -0.1);\n }\n\n 60% {\n stroke-dasharray: calc(var(--_circ) * 0.75) var(--_circ);\n stroke-dashoffset: calc(var(--_circ) * -0.1);\n }\n\n 100% {\n stroke-dasharray: 1px var(--_circ);\n stroke-dashoffset: calc(var(--_circ) * -0.9);\n }\n }\n\n :host([indeterminate]) .circular-track svg {\n animation: var(--_motion-animation, ore-progress-spin var(--duration-1400) var(--ease-linear) infinite);\n }\n\n :host([indeterminate]) .circle-fill {\n animation: var(--_motion-animation, ore-progress-dash var(--duration-1400) var(--ease-in-out) infinite);\n }\n}\n\n@layer refine.utilities {\n :host([size='sm']) {\n --_height: var(--size-1, 0.25rem);\n --_circle-size: 4rem;\n --_circular-label-size: var(--text-sm, 0.875rem);\n --_circular-title-size: var(--text-2xs, 0.625rem);\n }\n\n :host([size='md']) {\n --_height: var(--size-2, 0.5rem);\n --_circle-size: 6rem;\n }\n\n :host([size='lg']) {\n --_height: var(--size-3-5, 0.875rem);\n --_circle-size: 9rem;\n --_circular-label-size: var(--text-3xl);\n --_circular-title-size: var(--text-sm, 0.875rem);\n }\n}\n\n/* Extra indeterminate state overrides — cannot be expressed via CSS variables alone */\n@media (prefers-reduced-motion: reduce) {\n :host([indeterminate]) .fill {\n width: 100%;\n opacity: 0.6;\n }\n\n :host([indeterminate]) .circle-fill {\n stroke-dasharray: none;\n }\n\n :host([type='vertical'][indeterminate]) .fill {\n height: 100%;\n opacity: 0.6;\n }\n}\n"],"mappings":""}
@@ -1,5 +1,5 @@
1
1
  //#region src/feedback/progress/progress.css?inline
2
- var e = "@layer refine.base{:host{--_height:var(--progress-height,var(--size-2,.5rem));--_radius:var(--progress-radius,var(--rounded-lg));--_circle-size:var(--progress-circle-size,6rem);--_circular-label-size:var(--progress-circular-label-size,var(--text-xl,1.25rem));--_circular-title-size:var(--progress-circular-title-size,var(--text-xs,.75rem));width:100%;display:block}.track{width:100%;height:var(--_height);background:var(--progress-track-bg,var(--color-contrast-300,#ddd));border-radius:var(--_radius);overflow:hidden}.fill{width:var(--_percent,0%);background:var(--progress-fill,var(--_theme-base,#3b82f6));border-radius:inherit;transform-origin:0;height:100%;transition:var(--_motion-transition,width var(--transition-normal))}:host(:dir(rtl)) .fill{transform-origin:100%}@keyframes ore-progress-slide{0%{transform:translate(-150%)scaleX(.6)}50%{transform:translate(50%)scaleX(1)}to{transform:translate(300%)scaleX(.6)}}:host([indeterminate]) .fill{width:40%;animation:var(--_motion-animation,ore-progress-slide var(--duration-1500) var(--ease-linear) infinite)}:host(:dir(rtl)[indeterminate]) .fill{animation-direction:reverse}:host([type=vertical]){--_width:var(--progress-width,var(--size-2,.5rem));width:auto;display:inline-flex}:host([type=vertical]) .wrapper{gap:var(--progress-label-gap,var(--space-1,.25rem));flex-direction:row;width:auto;height:100%}:host([type=vertical]) .track{width:var(--_width);height:100%;overflow:hidden}:host([type=vertical]) .fill{width:100%;height:var(--_percent,0%);transform-origin:bottom;transition:var(--_motion-transition,height var(--transition-normal))}:host([type=vertical][indeterminate]) .fill{height:40%;animation:var(--_motion-animation,ore-progress-slide-v var(--duration-1500) var(--ease-linear) infinite)}@keyframes ore-progress-slide-v{0%{transform:translateY(150%)scaleY(.6)}50%{transform:translateY(-50%)scaleY(1)}to{transform:translateY(-300%)scaleY(.6)}}.bar-row-vertical{flex-direction:column;align-items:center;height:100%;display:flex}:host([type=vertical]) .track-outer{flex:1;justify-content:center;align-items:stretch;width:auto;height:100%;display:flex}.wrapper{gap:var(--progress-label-gap,var(--space-1,.25rem));flex-direction:column;width:100%;display:flex}.header{gap:var(--space-2,.5rem);justify-content:space-between;align-items:baseline;display:none}:host([title]) .header{display:flex}.progress-title{font-size:var(--text-sm,.875rem);font-weight:var(--font-weight-medium,500);color:var(--progress-title-color,currentColor);line-height:1.25}.header-label{display:none}:host([title][label]) .header-label{display:inline}.bar-row{display:contents}:host([label]:not([title])) .bar-row{gap:var(--progress-label-gap,var(--space-2,.5rem));align-items:center;width:100%;display:flex}.track-outer{width:100%;position:relative}:host([label]:not([title])) .track-outer{flex:1;width:auto;min-width:0}.end-label{font-size:var(--text-sm,.875rem);color:var(--progress-label-color,currentColor);white-space:nowrap;flex-shrink:0;line-height:1.25}.row-label{display:none}:host([label]:not([title])) .row-label{display:inline}.floating-label{bottom:calc(100% + var(--space-1,.25rem));left:var(--_percent,0%);padding:var(--space-0-5,.125rem) var(--space-2,.5rem);font-size:var(--text-xs,.75rem);font-weight:var(--font-weight-medium,500);color:var(--color-white,#fff);white-space:nowrap;pointer-events:none;-webkit-user-select:none;user-select:none;background:var(--progress-fill,var(--_theme-base,#3b82f6));border-radius:var(--rounded-md,.375rem);line-height:1;display:none;position:absolute;transform:translate(-50%)}:host([floating-label]:not([indeterminate])) .floating-label{display:block}:host([floating-label]:not([indeterminate])) .wrapper{padding-top:calc(var(--text-xs,.75rem) + var(--space-1,.25rem) * 3)}.circular-track{width:var(--_circle-size);height:var(--_circle-size);justify-content:center;align-items:center;display:inline-flex;position:relative}.circular-track svg{width:100%;height:100%;overflow:visible;transform:rotate(-90deg)}.circular-inner{gap:var(--space-0-5,.125rem);padding:calc(8% + var(--_height));text-align:center;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0;overflow:hidden}.circular-label{text-overflow:ellipsis;max-width:100%;font-size:var(--_circular-label-size);font-weight:var(--font-weight-semibold,600);color:var(--progress-label-color,currentColor);white-space:nowrap;line-height:1;overflow:hidden}.circular-title{text-overflow:ellipsis;max-width:100%;font-size:var(--_circular-title-size);color:var(--progress-title-color,var(--color-contrast-500,#6b7280));white-space:nowrap;line-height:1.25;overflow:hidden}.circular-label:empty,.circular-title:empty{display:none}.circle-bg{fill:none;stroke:var(--progress-track-bg,var(--color-contrast-300,#ddd));stroke-width:var(--progress-stroke-width,calc(var(--_height) * 1.2))}.circle-fill{fill:none;stroke:var(--progress-fill,var(--_theme-base,#3b82f6));stroke-width:var(--progress-stroke-width,calc(var(--_height) * 1.2));stroke-linecap:round;transition:var(--_motion-transition,stroke-dashoffset var(--transition-normal))}@keyframes ore-progress-spin{0%{transform:rotate(-90deg)}to{transform:rotate(270deg)}}@keyframes ore-progress-dash{0%{stroke-dasharray:1px var(--_circ);stroke-dashoffset:var(--_circ)}40%{stroke-dasharray:calc(var(--_circ) * .75) var(--_circ);stroke-dashoffset:calc(var(--_circ) * -.1)}60%{stroke-dasharray:calc(var(--_circ) * .75) var(--_circ);stroke-dashoffset:calc(var(--_circ) * -.1)}to{stroke-dasharray:1px var(--_circ);stroke-dashoffset:calc(var(--_circ) * -.9)}}:host([indeterminate]) .circular-track svg{animation:var(--_motion-animation,ore-progress-spin var(--duration-1400) var(--ease-linear) infinite)}:host([indeterminate]) .circle-fill{animation:var(--_motion-animation,ore-progress-dash var(--duration-1400) var(--ease-in-out) infinite)}}@layer refine.utilities{:host([size=sm]){--_height:var(--size-1,.25rem);--_circle-size:4rem;--_circular-label-size:var(--text-sm,.875rem);--_circular-title-size:var(--text-2xs,.625rem)}:host([size=md]){--_height:var(--size-2,.5rem);--_circle-size:6rem}:host([size=lg]){--_height:var(--size-3-5,.875rem);--_circle-size:9rem;--_circular-label-size:var(--text-3xl);--_circular-title-size:var(--text-sm,.875rem)}}@media (prefers-reduced-motion:reduce){:host([indeterminate]) .fill{opacity:.6;width:100%}:host([indeterminate]) .circle-fill{stroke-dasharray:none}:host([type=vertical][indeterminate]) .fill{opacity:.6;height:100%}}";
2
+ var e = "@layer refine.base{:host{--_height:var(--progress-height,var(--size-2,.5rem));--_radius:var(--progress-radius,var(--rounded-lg));--_circle-size:var(--progress-circle-size,6rem);--_circular-label-size:var(--progress-circular-label-size,var(--text-xl,1.25rem));--_circular-title-size:var(--progress-circular-title-size,var(--text-xs,.75rem));width:100%;display:block}.track{width:100%;height:var(--_height);background:var(--progress-track-bg,var(--color-contrast-300,#ddd));border-radius:var(--_radius);overflow:hidden}.fill{width:var(--_percent,0%);background:var(--progress-fill,var(--_theme-base,#3b82f6));border-radius:inherit;transform-origin:0;height:100%;transition:var(--_motion-transition,width var(--transition-normal))}:host(:dir(rtl)) .fill{transform-origin:100%}@keyframes ore-progress-slide{0%{transform:translate(-150%)scaleX(.6)}50%{transform:translate(50%)scaleX(1)}to{transform:translate(300%)scaleX(.6)}}:host([indeterminate]) .fill{width:40%;animation:var(--_motion-animation,ore-progress-slide var(--duration-1500) var(--ease-linear) infinite)}:host(:dir(rtl)[indeterminate]) .fill{animation-direction:reverse}.track-segmented{grid-template-columns:repeat(var(--_segments,1), minmax(0, 1fr));gap:var(--progress-segment-gap,var(--size-1,.25rem));background:0 0;border-radius:0;display:grid;overflow:visible}.segment{background:var(--progress-track-bg,var(--color-contrast-300,#ddd));border-radius:var(--_radius);min-width:0;height:100%;transition:var(--_motion-transition,background var(--transition-normal))}.segment[data-filled]{background:var(--progress-fill,var(--_theme-base,#3b82f6))}:host([type=vertical]){--_width:var(--progress-width,var(--size-2,.5rem));width:auto;display:inline-flex}:host([type=vertical]) .wrapper{gap:var(--progress-label-gap,var(--space-1,.25rem));flex-direction:row;width:auto;height:100%}:host([type=vertical]) .track{width:var(--_width);height:100%;overflow:hidden}:host([type=vertical]) .fill{width:100%;height:var(--_percent,0%);transform-origin:bottom;transition:var(--_motion-transition,height var(--transition-normal))}:host([type=vertical][indeterminate]) .fill{height:40%;animation:var(--_motion-animation,ore-progress-slide-v var(--duration-1500) var(--ease-linear) infinite)}@keyframes ore-progress-slide-v{0%{transform:translateY(150%)scaleY(.6)}50%{transform:translateY(-50%)scaleY(1)}to{transform:translateY(-300%)scaleY(.6)}}.bar-row-vertical{flex-direction:column;align-items:center;height:100%;display:flex}:host([type=vertical]) .track-outer{flex:1;justify-content:center;align-items:stretch;width:auto;height:100%;display:flex}.wrapper{gap:var(--progress-label-gap,var(--space-1,.25rem));flex-direction:column;width:100%;display:flex}.header{gap:var(--space-2,.5rem);justify-content:space-between;align-items:baseline;display:none}:host([title]) .header{display:flex}.progress-title{font-size:var(--text-sm,.875rem);font-weight:var(--font-weight-medium,500);color:var(--progress-title-color,currentColor);line-height:1.25}.header-label{display:none}:host([title][label]) .header-label{display:inline}.bar-row{display:contents}:host([label]:not([title])) .bar-row{gap:var(--progress-label-gap,var(--space-2,.5rem));align-items:center;width:100%;display:flex}.track-outer{width:100%;position:relative}:host([label]:not([title])) .track-outer{flex:1;width:auto;min-width:0}.end-label{font-size:var(--text-sm,.875rem);color:var(--progress-label-color,currentColor);white-space:nowrap;flex-shrink:0;line-height:1.25}.row-label{display:none}:host([label]:not([title])) .row-label{display:inline}.floating-label{bottom:calc(100% + var(--space-1,.25rem));left:var(--_percent,0%);padding:var(--space-0-5,.125rem) var(--space-2,.5rem);font-size:var(--text-xs,.75rem);font-weight:var(--font-weight-medium,500);color:var(--color-white,#fff);white-space:nowrap;pointer-events:none;-webkit-user-select:none;user-select:none;background:var(--progress-fill,var(--_theme-base,#3b82f6));border-radius:var(--rounded-md,.375rem);line-height:1;display:none;position:absolute;transform:translate(-50%)}:host([floating-label]:not([indeterminate])) .floating-label{display:block}:host([floating-label]:not([indeterminate])) .wrapper{padding-top:calc(var(--text-xs,.75rem) + var(--space-1,.25rem) * 3)}.circular-track{width:var(--_circle-size);height:var(--_circle-size);justify-content:center;align-items:center;display:inline-flex;position:relative}.circular-track svg{width:100%;height:100%;overflow:visible;transform:rotate(-90deg)}.circular-inner{gap:var(--space-0-5,.125rem);padding:calc(8% + var(--_height));text-align:center;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0;overflow:hidden}.circular-label{text-overflow:ellipsis;max-width:100%;font-size:var(--_circular-label-size);font-weight:var(--font-weight-semibold,600);color:var(--progress-label-color,currentColor);white-space:nowrap;line-height:1;overflow:hidden}.circular-title{text-overflow:ellipsis;max-width:100%;font-size:var(--_circular-title-size);color:var(--progress-title-color,var(--color-contrast-500,#6b7280));white-space:nowrap;line-height:1.25;overflow:hidden}.circular-label:empty,.circular-title:empty{display:none}.circle-bg{fill:none;stroke:var(--progress-track-bg,var(--color-contrast-300,#ddd));stroke-width:var(--progress-stroke-width,calc(var(--_height) * 1.2))}.circle-fill{fill:none;stroke:var(--progress-fill,var(--_theme-base,#3b82f6));stroke-width:var(--progress-stroke-width,calc(var(--_height) * 1.2));stroke-linecap:round;transition:var(--_motion-transition,stroke-dashoffset var(--transition-normal))}@keyframes ore-progress-spin{0%{transform:rotate(-90deg)}to{transform:rotate(270deg)}}@keyframes ore-progress-dash{0%{stroke-dasharray:1px var(--_circ);stroke-dashoffset:var(--_circ)}40%{stroke-dasharray:calc(var(--_circ) * .75) var(--_circ);stroke-dashoffset:calc(var(--_circ) * -.1)}60%{stroke-dasharray:calc(var(--_circ) * .75) var(--_circ);stroke-dashoffset:calc(var(--_circ) * -.1)}to{stroke-dasharray:1px var(--_circ);stroke-dashoffset:calc(var(--_circ) * -.9)}}:host([indeterminate]) .circular-track svg{animation:var(--_motion-animation,ore-progress-spin var(--duration-1400) var(--ease-linear) infinite)}:host([indeterminate]) .circle-fill{animation:var(--_motion-animation,ore-progress-dash var(--duration-1400) var(--ease-in-out) infinite)}}@layer refine.utilities{:host([size=sm]){--_height:var(--size-1,.25rem);--_circle-size:4rem;--_circular-label-size:var(--text-sm,.875rem);--_circular-title-size:var(--text-2xs,.625rem)}:host([size=md]){--_height:var(--size-2,.5rem);--_circle-size:6rem}:host([size=lg]){--_height:var(--size-3-5,.875rem);--_circle-size:9rem;--_circular-label-size:var(--text-3xl);--_circular-title-size:var(--text-sm,.875rem)}}@media (prefers-reduced-motion:reduce){:host([indeterminate]) .fill{opacity:.6;width:100%}:host([indeterminate]) .circle-fill{stroke-dasharray:none}:host([type=vertical][indeterminate]) .fill{opacity:.6;height:100%}}";
3
3
  //#endregion
4
4
  export { e as default };
5
5
 
@@ -1 +1 @@
1
- {"version":3,"file":"progress.css.js","names":[],"sources":["../../../src/feedback/progress/progress.css?inline"],"sourcesContent":["@layer refine.base {\n :host {\n --_height: var(--progress-height, var(--size-2, 0.5rem));\n --_radius: var(--progress-radius, var(--rounded-lg));\n --_circle-size: var(--progress-circle-size, 6rem);\n --_circular-label-size: var(--progress-circular-label-size, var(--text-xl, 1.25rem));\n --_circular-title-size: var(--progress-circular-title-size, var(--text-xs, 0.75rem));\n\n display: block;\n\n /* Stretch to fill the parent container (matches native <progress> behaviour).\n The host's width is set against its parent, so % widths inside shadow DOM\n (.track, .fill) resolve correctly in any flex/grid/block context. */\n width: 100%;\n }\n\n /* ========================================\n Linear Bar\n ======================================== */\n\n .track {\n width: 100%;\n height: var(--_height);\n overflow: hidden;\n\n /* contrast-300 (88% lightness) gives a visible groove in light mode */\n background: var(--progress-track-bg, var(--color-contrast-300, #ddd));\n border-radius: var(--_radius);\n }\n\n .fill {\n width: var(--_percent, 0%);\n height: 100%;\n background: var(--progress-fill, var(--_theme-base, #3b82f6));\n border-radius: inherit;\n transform-origin: left;\n transition: var(--_motion-transition, width var(--transition-normal));\n }\n\n /* In RTL the fill grows from the inline-end (physical right) side */\n :host(:dir(rtl)) .fill {\n transform-origin: right;\n }\n\n /* Indeterminate: sliding bar */\n @keyframes ore-progress-slide {\n 0% {\n transform: translateX(-150%) scaleX(0.6);\n }\n\n 50% {\n transform: translateX(50%) scaleX(1);\n }\n\n 100% {\n transform: translateX(300%) scaleX(0.6);\n }\n }\n\n :host([indeterminate]) .fill {\n width: 40%;\n animation: var(--_motion-animation, ore-progress-slide var(--duration-1500) var(--ease-linear) infinite);\n }\n\n /* In RTL the indeterminate bar sweeps right-to-left */\n :host(:dir(rtl)[indeterminate]) .fill {\n animation-direction: reverse;\n }\n\n /* ========================================\n Vertical Bar\n ======================================== */\n\n :host([type='vertical']) {\n --_width: var(--progress-width, var(--size-2, 0.5rem));\n\n display: inline-flex;\n width: auto;\n }\n\n :host([type='vertical']) .wrapper {\n flex-direction: row;\n gap: var(--progress-label-gap, var(--space-1, 0.25rem));\n width: auto;\n height: 100%;\n }\n\n :host([type='vertical']) .track {\n width: var(--_width);\n height: 100%;\n overflow: hidden;\n }\n\n :host([type='vertical']) .fill {\n width: 100%;\n height: var(--_percent, 0%);\n transform-origin: bottom;\n transition: var(--_motion-transition, height var(--transition-normal));\n }\n\n :host([type='vertical'][indeterminate]) .fill {\n height: 40%;\n animation: var(--_motion-animation, ore-progress-slide-v var(--duration-1500) var(--ease-linear) infinite);\n }\n\n @keyframes ore-progress-slide-v {\n 0% {\n transform: translateY(150%) scaleY(0.6);\n }\n\n 50% {\n transform: translateY(-50%) scaleY(1);\n }\n\n 100% {\n transform: translateY(-300%) scaleY(0.6);\n }\n }\n\n .bar-row-vertical {\n display: flex;\n flex-direction: column;\n align-items: center;\n height: 100%;\n }\n\n :host([type='vertical']) .track-outer {\n display: flex;\n flex: 1 1 0%;\n align-items: stretch;\n justify-content: center;\n width: auto;\n height: 100%;\n }\n\n /* ========================================\n Wrapper / Label / Title / Floating label\n ======================================== */\n\n /* Flex-column shell for the linear variant */\n .wrapper {\n display: flex;\n flex-direction: column;\n gap: var(--progress-label-gap, var(--space-1, 0.25rem));\n width: 100%;\n }\n\n /* Header row ─ visible only when [title] is present */\n .header {\n display: none;\n gap: var(--space-2, 0.5rem);\n align-items: baseline;\n justify-content: space-between;\n }\n\n :host([title]) .header {\n display: flex;\n }\n\n .progress-title {\n font-size: var(--text-sm, 0.875rem);\n font-weight: var(--font-weight-medium, 500);\n line-height: 1.25;\n color: var(--progress-title-color, currentColor);\n }\n\n /* Label inside the header ─ only when both [title] and [label] are set */\n .header-label {\n display: none;\n }\n\n :host([title][label]) .header-label {\n display: inline;\n }\n\n /* Bar row ─ transparent wrapper by default; becomes a flex row when\n [label] is present without [title] so the label sits beside the bar */\n .bar-row {\n display: contents;\n }\n\n :host([label]:not([title])) .bar-row {\n display: flex;\n gap: var(--progress-label-gap, var(--space-2, 0.5rem));\n align-items: center;\n width: 100%;\n }\n\n /* Outer track container ─ always position:relative for floating-label */\n .track-outer {\n position: relative;\n width: 100%;\n }\n\n :host([label]:not([title])) .track-outer {\n flex: 1 1 0%;\n width: auto;\n min-width: 0;\n }\n\n /* Shared label typography */\n .end-label {\n flex-shrink: 0;\n font-size: var(--text-sm, 0.875rem);\n line-height: 1.25;\n color: var(--progress-label-color, currentColor);\n white-space: nowrap;\n }\n\n /* Trailing end label ─ shown only when [label] is present without [title] */\n .row-label {\n display: none;\n }\n\n :host([label]:not([title])) .row-label {\n display: inline;\n }\n\n /* Floating label chip ─────────────────────────────────────────────────\n Positioned above the fill endpoint.\n Formula: left = X% (fill width) − Y (half chip width)\n Implemented as: left: var(--_percent); transform: translateX(-50%) */\n .floating-label {\n position: absolute;\n bottom: calc(100% + var(--space-1, 0.25rem));\n left: var(--_percent, 0%);\n display: none;\n padding: var(--space-0-5, 0.125rem) var(--space-2, 0.5rem);\n font-size: var(--text-xs, 0.75rem);\n font-weight: var(--font-weight-medium, 500);\n line-height: 1;\n color: var(--color-white, #fff);\n white-space: nowrap;\n pointer-events: none;\n user-select: none;\n background: var(--progress-fill, var(--_theme-base, #3b82f6));\n border-radius: var(--rounded-md, 0.375rem);\n transform: translateX(-50%);\n }\n\n :host([floating-label]:not([indeterminate])) .floating-label {\n display: block;\n }\n\n /* Reserve vertical space above the track so the chip does not clip */\n :host([floating-label]:not([indeterminate])) .wrapper {\n padding-top: calc(var(--text-xs, 0.75rem) + var(--space-1, 0.25rem) * 3);\n }\n\n /* ========================================\n Circular variant\n ======================================== */\n\n .circular-track {\n position: relative; /* anchor the inner text overlay */\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--_circle-size);\n height: var(--_circle-size);\n }\n\n .circular-track svg {\n width: 100%;\n height: 100%;\n overflow: visible;\n transform: rotate(-90deg);\n }\n\n /* Inner overlay — label + title stacked and centered inside the ring */\n .circular-inner {\n position: absolute;\n inset: 0;\n display: flex;\n flex-direction: column;\n gap: var(--space-0-5, 0.125rem);\n align-items: center;\n justify-content: center;\n\n /* Inset from the stroke edge so text stays clear of the ring */\n padding: calc(8% + var(--_height));\n overflow: hidden;\n text-align: center;\n pointer-events: none;\n }\n\n .circular-label {\n max-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n font-size: var(--_circular-label-size);\n font-weight: var(--font-weight-semibold, 600);\n line-height: 1;\n color: var(--progress-label-color, currentColor);\n white-space: nowrap;\n }\n\n .circular-title {\n max-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n font-size: var(--_circular-title-size);\n line-height: 1.25;\n color: var(--progress-title-color, var(--color-contrast-500, #6b7280));\n white-space: nowrap;\n }\n\n /* Hide empty inner text nodes so flexbox gap doesn't create phantom space */\n .circular-label:empty,\n .circular-title:empty {\n display: none;\n }\n\n .circle-bg {\n fill: none;\n stroke: var(--progress-track-bg, var(--color-contrast-300, #ddd));\n stroke-width: var(--progress-stroke-width, calc(var(--_height) * 1.2));\n }\n\n .circle-fill {\n fill: none;\n stroke: var(--progress-fill, var(--_theme-base, #3b82f6));\n stroke-width: var(--progress-stroke-width, calc(var(--_height) * 1.2));\n stroke-linecap: round;\n transition: var(--_motion-transition, stroke-dashoffset var(--transition-normal));\n }\n\n @keyframes ore-progress-spin {\n from {\n transform: rotate(-90deg);\n }\n\n to {\n transform: rotate(270deg);\n }\n }\n\n @keyframes ore-progress-dash {\n 0% {\n stroke-dasharray: 1px var(--_circ);\n stroke-dashoffset: var(--_circ);\n }\n\n 40% {\n stroke-dasharray: calc(var(--_circ) * 0.75) var(--_circ);\n stroke-dashoffset: calc(var(--_circ) * -0.1);\n }\n\n 60% {\n stroke-dasharray: calc(var(--_circ) * 0.75) var(--_circ);\n stroke-dashoffset: calc(var(--_circ) * -0.1);\n }\n\n 100% {\n stroke-dasharray: 1px var(--_circ);\n stroke-dashoffset: calc(var(--_circ) * -0.9);\n }\n }\n\n :host([indeterminate]) .circular-track svg {\n animation: var(--_motion-animation, ore-progress-spin var(--duration-1400) var(--ease-linear) infinite);\n }\n\n :host([indeterminate]) .circle-fill {\n animation: var(--_motion-animation, ore-progress-dash var(--duration-1400) var(--ease-in-out) infinite);\n }\n}\n\n@layer refine.utilities {\n :host([size='sm']) {\n --_height: var(--size-1, 0.25rem);\n --_circle-size: 4rem;\n --_circular-label-size: var(--text-sm, 0.875rem);\n --_circular-title-size: var(--text-2xs, 0.625rem);\n }\n\n :host([size='md']) {\n --_height: var(--size-2, 0.5rem);\n --_circle-size: 6rem;\n }\n\n :host([size='lg']) {\n --_height: var(--size-3-5, 0.875rem);\n --_circle-size: 9rem;\n --_circular-label-size: var(--text-3xl);\n --_circular-title-size: var(--text-sm, 0.875rem);\n }\n}\n\n/* Extra indeterminate state overrides — cannot be expressed via CSS variables alone */\n@media (prefers-reduced-motion: reduce) {\n :host([indeterminate]) .fill {\n width: 100%;\n opacity: 0.6;\n }\n\n :host([indeterminate]) .circle-fill {\n stroke-dasharray: none;\n }\n\n :host([type='vertical'][indeterminate]) .fill {\n height: 100%;\n opacity: 0.6;\n }\n}\n"],"mappings":""}
1
+ {"version":3,"file":"progress.css.js","names":[],"sources":["../../../src/feedback/progress/progress.css?inline"],"sourcesContent":["@layer refine.base {\n :host {\n --_height: var(--progress-height, var(--size-2, 0.5rem));\n --_radius: var(--progress-radius, var(--rounded-lg));\n --_circle-size: var(--progress-circle-size, 6rem);\n --_circular-label-size: var(--progress-circular-label-size, var(--text-xl, 1.25rem));\n --_circular-title-size: var(--progress-circular-title-size, var(--text-xs, 0.75rem));\n\n display: block;\n\n /* Stretch to fill the parent container (matches native <progress> behaviour).\n The host's width is set against its parent, so % widths inside shadow DOM\n (.track, .fill) resolve correctly in any flex/grid/block context. */\n width: 100%;\n }\n\n /* ========================================\n Linear Bar\n ======================================== */\n\n .track {\n width: 100%;\n height: var(--_height);\n overflow: hidden;\n\n /* contrast-300 (88% lightness) gives a visible groove in light mode */\n background: var(--progress-track-bg, var(--color-contrast-300, #ddd));\n border-radius: var(--_radius);\n }\n\n .fill {\n width: var(--_percent, 0%);\n height: 100%;\n background: var(--progress-fill, var(--_theme-base, #3b82f6));\n border-radius: inherit;\n transform-origin: left;\n transition: var(--_motion-transition, width var(--transition-normal));\n }\n\n /* In RTL the fill grows from the inline-end (physical right) side */\n :host(:dir(rtl)) .fill {\n transform-origin: right;\n }\n\n /* Indeterminate: sliding bar */\n @keyframes ore-progress-slide {\n 0% {\n transform: translateX(-150%) scaleX(0.6);\n }\n\n 50% {\n transform: translateX(50%) scaleX(1);\n }\n\n 100% {\n transform: translateX(300%) scaleX(0.6);\n }\n }\n\n :host([indeterminate]) .fill {\n width: 40%;\n animation: var(--_motion-animation, ore-progress-slide var(--duration-1500) var(--ease-linear) infinite);\n }\n\n /* In RTL the indeterminate bar sweeps right-to-left */\n :host(:dir(rtl)[indeterminate]) .fill {\n animation-direction: reverse;\n }\n\n /* ========================================\n Segmented Bar\n ======================================== */\n\n /* Discrete blocks replace the continuous fill. The track goes transparent so the\n gaps read as separate tokens; each block keeps the track groove colour until filled. */\n .track-segmented {\n display: grid;\n grid-template-columns: repeat(var(--_segments, 1), minmax(0, 1fr));\n gap: var(--progress-segment-gap, var(--size-1, 0.25rem));\n overflow: visible;\n background: transparent;\n border-radius: 0;\n }\n\n .segment {\n min-width: 0;\n height: 100%;\n background: var(--progress-track-bg, var(--color-contrast-300, #ddd));\n border-radius: var(--_radius);\n transition: var(--_motion-transition, background var(--transition-normal));\n }\n\n .segment[data-filled] {\n background: var(--progress-fill, var(--_theme-base, #3b82f6));\n }\n\n /* ========================================\n Vertical Bar\n ======================================== */\n\n :host([type='vertical']) {\n --_width: var(--progress-width, var(--size-2, 0.5rem));\n\n display: inline-flex;\n width: auto;\n }\n\n :host([type='vertical']) .wrapper {\n flex-direction: row;\n gap: var(--progress-label-gap, var(--space-1, 0.25rem));\n width: auto;\n height: 100%;\n }\n\n :host([type='vertical']) .track {\n width: var(--_width);\n height: 100%;\n overflow: hidden;\n }\n\n :host([type='vertical']) .fill {\n width: 100%;\n height: var(--_percent, 0%);\n transform-origin: bottom;\n transition: var(--_motion-transition, height var(--transition-normal));\n }\n\n :host([type='vertical'][indeterminate]) .fill {\n height: 40%;\n animation: var(--_motion-animation, ore-progress-slide-v var(--duration-1500) var(--ease-linear) infinite);\n }\n\n @keyframes ore-progress-slide-v {\n 0% {\n transform: translateY(150%) scaleY(0.6);\n }\n\n 50% {\n transform: translateY(-50%) scaleY(1);\n }\n\n 100% {\n transform: translateY(-300%) scaleY(0.6);\n }\n }\n\n .bar-row-vertical {\n display: flex;\n flex-direction: column;\n align-items: center;\n height: 100%;\n }\n\n :host([type='vertical']) .track-outer {\n display: flex;\n flex: 1 1 0%;\n align-items: stretch;\n justify-content: center;\n width: auto;\n height: 100%;\n }\n\n /* ========================================\n Wrapper / Label / Title / Floating label\n ======================================== */\n\n /* Flex-column shell for the linear variant */\n .wrapper {\n display: flex;\n flex-direction: column;\n gap: var(--progress-label-gap, var(--space-1, 0.25rem));\n width: 100%;\n }\n\n /* Header row ─ visible only when [title] is present */\n .header {\n display: none;\n gap: var(--space-2, 0.5rem);\n align-items: baseline;\n justify-content: space-between;\n }\n\n :host([title]) .header {\n display: flex;\n }\n\n .progress-title {\n font-size: var(--text-sm, 0.875rem);\n font-weight: var(--font-weight-medium, 500);\n line-height: 1.25;\n color: var(--progress-title-color, currentColor);\n }\n\n /* Label inside the header ─ only when both [title] and [label] are set */\n .header-label {\n display: none;\n }\n\n :host([title][label]) .header-label {\n display: inline;\n }\n\n /* Bar row ─ transparent wrapper by default; becomes a flex row when\n [label] is present without [title] so the label sits beside the bar */\n .bar-row {\n display: contents;\n }\n\n :host([label]:not([title])) .bar-row {\n display: flex;\n gap: var(--progress-label-gap, var(--space-2, 0.5rem));\n align-items: center;\n width: 100%;\n }\n\n /* Outer track container ─ always position:relative for floating-label */\n .track-outer {\n position: relative;\n width: 100%;\n }\n\n :host([label]:not([title])) .track-outer {\n flex: 1 1 0%;\n width: auto;\n min-width: 0;\n }\n\n /* Shared label typography */\n .end-label {\n flex-shrink: 0;\n font-size: var(--text-sm, 0.875rem);\n line-height: 1.25;\n color: var(--progress-label-color, currentColor);\n white-space: nowrap;\n }\n\n /* Trailing end label ─ shown only when [label] is present without [title] */\n .row-label {\n display: none;\n }\n\n :host([label]:not([title])) .row-label {\n display: inline;\n }\n\n /* Floating label chip ─────────────────────────────────────────────────\n Positioned above the fill endpoint.\n Formula: left = X% (fill width) − Y (half chip width)\n Implemented as: left: var(--_percent); transform: translateX(-50%) */\n .floating-label {\n position: absolute;\n bottom: calc(100% + var(--space-1, 0.25rem));\n left: var(--_percent, 0%);\n display: none;\n padding: var(--space-0-5, 0.125rem) var(--space-2, 0.5rem);\n font-size: var(--text-xs, 0.75rem);\n font-weight: var(--font-weight-medium, 500);\n line-height: 1;\n color: var(--color-white, #fff);\n white-space: nowrap;\n pointer-events: none;\n user-select: none;\n background: var(--progress-fill, var(--_theme-base, #3b82f6));\n border-radius: var(--rounded-md, 0.375rem);\n transform: translateX(-50%);\n }\n\n :host([floating-label]:not([indeterminate])) .floating-label {\n display: block;\n }\n\n /* Reserve vertical space above the track so the chip does not clip */\n :host([floating-label]:not([indeterminate])) .wrapper {\n padding-top: calc(var(--text-xs, 0.75rem) + var(--space-1, 0.25rem) * 3);\n }\n\n /* ========================================\n Circular variant\n ======================================== */\n\n .circular-track {\n position: relative; /* anchor the inner text overlay */\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--_circle-size);\n height: var(--_circle-size);\n }\n\n .circular-track svg {\n width: 100%;\n height: 100%;\n overflow: visible;\n transform: rotate(-90deg);\n }\n\n /* Inner overlay — label + title stacked and centered inside the ring */\n .circular-inner {\n position: absolute;\n inset: 0;\n display: flex;\n flex-direction: column;\n gap: var(--space-0-5, 0.125rem);\n align-items: center;\n justify-content: center;\n\n /* Inset from the stroke edge so text stays clear of the ring */\n padding: calc(8% + var(--_height));\n overflow: hidden;\n text-align: center;\n pointer-events: none;\n }\n\n .circular-label {\n max-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n font-size: var(--_circular-label-size);\n font-weight: var(--font-weight-semibold, 600);\n line-height: 1;\n color: var(--progress-label-color, currentColor);\n white-space: nowrap;\n }\n\n .circular-title {\n max-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n font-size: var(--_circular-title-size);\n line-height: 1.25;\n color: var(--progress-title-color, var(--color-contrast-500, #6b7280));\n white-space: nowrap;\n }\n\n /* Hide empty inner text nodes so flexbox gap doesn't create phantom space */\n .circular-label:empty,\n .circular-title:empty {\n display: none;\n }\n\n .circle-bg {\n fill: none;\n stroke: var(--progress-track-bg, var(--color-contrast-300, #ddd));\n stroke-width: var(--progress-stroke-width, calc(var(--_height) * 1.2));\n }\n\n .circle-fill {\n fill: none;\n stroke: var(--progress-fill, var(--_theme-base, #3b82f6));\n stroke-width: var(--progress-stroke-width, calc(var(--_height) * 1.2));\n stroke-linecap: round;\n transition: var(--_motion-transition, stroke-dashoffset var(--transition-normal));\n }\n\n @keyframes ore-progress-spin {\n from {\n transform: rotate(-90deg);\n }\n\n to {\n transform: rotate(270deg);\n }\n }\n\n @keyframes ore-progress-dash {\n 0% {\n stroke-dasharray: 1px var(--_circ);\n stroke-dashoffset: var(--_circ);\n }\n\n 40% {\n stroke-dasharray: calc(var(--_circ) * 0.75) var(--_circ);\n stroke-dashoffset: calc(var(--_circ) * -0.1);\n }\n\n 60% {\n stroke-dasharray: calc(var(--_circ) * 0.75) var(--_circ);\n stroke-dashoffset: calc(var(--_circ) * -0.1);\n }\n\n 100% {\n stroke-dasharray: 1px var(--_circ);\n stroke-dashoffset: calc(var(--_circ) * -0.9);\n }\n }\n\n :host([indeterminate]) .circular-track svg {\n animation: var(--_motion-animation, ore-progress-spin var(--duration-1400) var(--ease-linear) infinite);\n }\n\n :host([indeterminate]) .circle-fill {\n animation: var(--_motion-animation, ore-progress-dash var(--duration-1400) var(--ease-in-out) infinite);\n }\n}\n\n@layer refine.utilities {\n :host([size='sm']) {\n --_height: var(--size-1, 0.25rem);\n --_circle-size: 4rem;\n --_circular-label-size: var(--text-sm, 0.875rem);\n --_circular-title-size: var(--text-2xs, 0.625rem);\n }\n\n :host([size='md']) {\n --_height: var(--size-2, 0.5rem);\n --_circle-size: 6rem;\n }\n\n :host([size='lg']) {\n --_height: var(--size-3-5, 0.875rem);\n --_circle-size: 9rem;\n --_circular-label-size: var(--text-3xl);\n --_circular-title-size: var(--text-sm, 0.875rem);\n }\n}\n\n/* Extra indeterminate state overrides — cannot be expressed via CSS variables alone */\n@media (prefers-reduced-motion: reduce) {\n :host([indeterminate]) .fill {\n width: 100%;\n opacity: 0.6;\n }\n\n :host([indeterminate]) .circle-fill {\n stroke-dasharray: none;\n }\n\n :host([type='vertical'][indeterminate]) .fill {\n height: 100%;\n opacity: 0.6;\n }\n}\n"],"mappings":""}