@vielzeug/refine 1.3.0 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (221) hide show
  1. package/dist/button.cjs +1 -1
  2. package/dist/button.cjs.map +1 -1
  3. package/dist/button.js +3 -3
  4. package/dist/button.js.map +1 -1
  5. package/dist/checkbox-group.cjs +7 -7
  6. package/dist/checkbox-group.cjs.map +1 -1
  7. package/dist/checkbox-group.js +35 -26
  8. package/dist/checkbox-group.js.map +1 -1
  9. package/dist/checkbox.cjs +3 -3
  10. package/dist/checkbox.cjs.map +1 -1
  11. package/dist/checkbox.js +24 -19
  12. package/dist/checkbox.js.map +1 -1
  13. package/dist/combobox.cjs +24 -24
  14. package/dist/combobox.cjs.map +1 -1
  15. package/dist/combobox.js +133 -129
  16. package/dist/combobox.js.map +1 -1
  17. package/dist/content/card/card.css.cjs +1 -1
  18. package/dist/content/card/card.css.cjs.map +1 -1
  19. package/dist/content/card/card.css.js +1 -1
  20. package/dist/content/card/card.css.js.map +1 -1
  21. package/dist/content/icon/icon.css.cjs +1 -1
  22. package/dist/content/icon/icon.css.cjs.map +1 -1
  23. package/dist/content/icon/icon.css.js +1 -1
  24. package/dist/content/icon/icon.css.js.map +1 -1
  25. package/dist/custom-elements.json +4711 -4209
  26. package/dist/feedback/toast/toast.css.cjs +1 -1
  27. package/dist/feedback/toast/toast.css.cjs.map +1 -1
  28. package/dist/feedback/toast/toast.css.js +1 -1
  29. package/dist/feedback/toast/toast.css.js.map +1 -1
  30. package/dist/headless/auto-resize.cjs +2 -0
  31. package/dist/headless/auto-resize.cjs.map +1 -0
  32. package/dist/headless/auto-resize.d.ts +29 -0
  33. package/dist/headless/auto-resize.d.ts.map +1 -0
  34. package/dist/headless/auto-resize.js +16 -0
  35. package/dist/headless/auto-resize.js.map +1 -0
  36. package/dist/headless/checkable.cjs +1 -1
  37. package/dist/headless/checkable.cjs.map +1 -1
  38. package/dist/headless/checkable.d.ts +25 -7
  39. package/dist/headless/checkable.d.ts.map +1 -1
  40. package/dist/headless/checkable.js +19 -14
  41. package/dist/headless/checkable.js.map +1 -1
  42. package/dist/headless/choice-field.cjs +1 -1
  43. package/dist/headless/choice-field.cjs.map +1 -1
  44. package/dist/headless/choice-field.d.ts +21 -0
  45. package/dist/headless/choice-field.d.ts.map +1 -1
  46. package/dist/headless/choice-field.js +27 -19
  47. package/dist/headless/choice-field.js.map +1 -1
  48. package/dist/headless/composer.cjs +2 -0
  49. package/dist/headless/composer.cjs.map +1 -0
  50. package/dist/headless/composer.d.ts +44 -0
  51. package/dist/headless/composer.d.ts.map +1 -0
  52. package/dist/headless/composer.js +21 -0
  53. package/dist/headless/composer.js.map +1 -0
  54. package/dist/headless/field-base.cjs +1 -1
  55. package/dist/headless/field-base.cjs.map +1 -1
  56. package/dist/headless/field-base.d.ts +97 -84
  57. package/dist/headless/field-base.d.ts.map +1 -1
  58. package/dist/headless/field-base.js +43 -32
  59. package/dist/headless/field-base.js.map +1 -1
  60. package/dist/headless/index.d.ts +3 -1
  61. package/dist/headless/index.d.ts.map +1 -1
  62. package/dist/headless/text-field.cjs +1 -1
  63. package/dist/headless/text-field.cjs.map +1 -1
  64. package/dist/headless/text-field.d.ts +40 -0
  65. package/dist/headless/text-field.d.ts.map +1 -1
  66. package/dist/headless/text-field.js +30 -25
  67. package/dist/headless/text-field.js.map +1 -1
  68. package/dist/headless.cjs +1 -1
  69. package/dist/headless.js +27 -25
  70. package/dist/index.cjs +1 -1
  71. package/dist/index.js +61 -60
  72. package/dist/input.cjs +9 -9
  73. package/dist/input.cjs.map +1 -1
  74. package/dist/input.js +49 -44
  75. package/dist/input.js.map +1 -1
  76. package/dist/inputs/button/button.css.cjs +1 -1
  77. package/dist/inputs/button/button.css.cjs.map +1 -1
  78. package/dist/inputs/button/button.css.js +1 -1
  79. package/dist/inputs/button/button.css.js.map +1 -1
  80. package/dist/inputs/checkbox/checkbox.css.cjs +1 -1
  81. package/dist/inputs/checkbox/checkbox.css.cjs.map +1 -1
  82. package/dist/inputs/checkbox/checkbox.css.js +1 -1
  83. package/dist/inputs/checkbox/checkbox.css.js.map +1 -1
  84. package/dist/inputs/checkbox/checkbox.d.ts +3 -0
  85. package/dist/inputs/checkbox/checkbox.d.ts.map +1 -1
  86. package/dist/inputs/checkbox-group/checkbox-group.css.cjs +1 -1
  87. package/dist/inputs/checkbox-group/checkbox-group.css.cjs.map +1 -1
  88. package/dist/inputs/checkbox-group/checkbox-group.css.js +1 -1
  89. package/dist/inputs/checkbox-group/checkbox-group.css.js.map +1 -1
  90. package/dist/inputs/combobox/combobox.d.ts +1 -0
  91. package/dist/inputs/combobox/combobox.d.ts.map +1 -1
  92. package/dist/inputs/combobox/combobox.types.d.ts +2 -0
  93. package/dist/inputs/combobox/combobox.types.d.ts.map +1 -1
  94. package/dist/inputs/file-input/file-input.css.cjs +1 -1
  95. package/dist/inputs/file-input/file-input.css.cjs.map +1 -1
  96. package/dist/inputs/file-input/file-input.css.js +1 -1
  97. package/dist/inputs/file-input/file-input.css.js.map +1 -1
  98. package/dist/inputs/index.d.ts +2 -0
  99. package/dist/inputs/index.d.ts.map +1 -1
  100. package/dist/inputs/input/input.css.cjs +1 -1
  101. package/dist/inputs/input/input.css.cjs.map +1 -1
  102. package/dist/inputs/input/input.css.js +1 -1
  103. package/dist/inputs/input/input.css.js.map +1 -1
  104. package/dist/inputs/input/input.d.ts.map +1 -1
  105. package/dist/inputs/message-composer/message-composer.css.cjs +2 -0
  106. package/dist/inputs/message-composer/message-composer.css.cjs.map +1 -0
  107. package/dist/inputs/message-composer/message-composer.css.js +6 -0
  108. package/dist/inputs/message-composer/message-composer.css.js.map +1 -0
  109. package/dist/inputs/message-composer/message-composer.d.ts +139 -0
  110. package/dist/inputs/message-composer/message-composer.d.ts.map +1 -0
  111. package/dist/inputs/otp-input/otp-input.css.cjs +1 -1
  112. package/dist/inputs/otp-input/otp-input.css.cjs.map +1 -1
  113. package/dist/inputs/otp-input/otp-input.css.js +1 -1
  114. package/dist/inputs/otp-input/otp-input.css.js.map +1 -1
  115. package/dist/inputs/radio/radio.css.cjs +1 -1
  116. package/dist/inputs/radio/radio.css.cjs.map +1 -1
  117. package/dist/inputs/radio/radio.css.js +1 -1
  118. package/dist/inputs/radio/radio.css.js.map +1 -1
  119. package/dist/inputs/radio-group/radio-group.css.cjs +1 -1
  120. package/dist/inputs/radio-group/radio-group.css.cjs.map +1 -1
  121. package/dist/inputs/radio-group/radio-group.css.js +1 -1
  122. package/dist/inputs/radio-group/radio-group.css.js.map +1 -1
  123. package/dist/inputs/rating/rating.css.cjs +1 -1
  124. package/dist/inputs/rating/rating.css.cjs.map +1 -1
  125. package/dist/inputs/rating/rating.css.js +1 -1
  126. package/dist/inputs/rating/rating.css.js.map +1 -1
  127. package/dist/inputs/shared/field-binding.cjs +1 -1
  128. package/dist/inputs/shared/field-binding.cjs.map +1 -1
  129. package/dist/inputs/shared/field-binding.d.ts +15 -0
  130. package/dist/inputs/shared/field-binding.d.ts.map +1 -1
  131. package/dist/inputs/shared/field-binding.js +4 -3
  132. package/dist/inputs/shared/field-binding.js.map +1 -1
  133. package/dist/inputs/shared/form-context.cjs.map +1 -1
  134. package/dist/inputs/shared/form-context.d.ts +6 -0
  135. package/dist/inputs/shared/form-context.d.ts.map +1 -1
  136. package/dist/inputs/shared/form-context.js.map +1 -1
  137. package/dist/inputs/slider/slider.css.cjs +1 -1
  138. package/dist/inputs/slider/slider.css.cjs.map +1 -1
  139. package/dist/inputs/slider/slider.css.js +1 -1
  140. package/dist/inputs/slider/slider.css.js.map +1 -1
  141. package/dist/inputs/switch/switch.css.cjs +1 -1
  142. package/dist/inputs/switch/switch.css.cjs.map +1 -1
  143. package/dist/inputs/switch/switch.css.js +1 -1
  144. package/dist/inputs/switch/switch.css.js.map +1 -1
  145. package/dist/inputs/textarea/textarea.css.cjs +1 -1
  146. package/dist/inputs/textarea/textarea.css.cjs.map +1 -1
  147. package/dist/inputs/textarea/textarea.css.js +1 -1
  148. package/dist/inputs/textarea/textarea.css.js.map +1 -1
  149. package/dist/inputs/textarea/textarea.d.ts.map +1 -1
  150. package/dist/layout/navbar/navbar.css.cjs +1 -1
  151. package/dist/layout/navbar/navbar.css.cjs.map +1 -1
  152. package/dist/layout/navbar/navbar.css.js +1 -1
  153. package/dist/layout/navbar/navbar.css.js.map +1 -1
  154. package/dist/layout/sidebar/sidebar.css.cjs +1 -1
  155. package/dist/layout/sidebar/sidebar.css.cjs.map +1 -1
  156. package/dist/layout/sidebar/sidebar.css.js +1 -1
  157. package/dist/layout/sidebar/sidebar.css.js.map +1 -1
  158. package/dist/message-composer.cjs +52 -0
  159. package/dist/message-composer.cjs.map +1 -0
  160. package/dist/message-composer.js +168 -0
  161. package/dist/message-composer.js.map +1 -0
  162. package/dist/ore/dist/base-element.cjs +1 -1
  163. package/dist/ore/dist/base-element.cjs.map +1 -1
  164. package/dist/ore/dist/base-element.js +13 -3
  165. package/dist/ore/dist/base-element.js.map +1 -1
  166. package/dist/ore/dist/forms/field.cjs +1 -1
  167. package/dist/ore/dist/forms/field.cjs.map +1 -1
  168. package/dist/ore/dist/forms/field.js +29 -22
  169. package/dist/ore/dist/forms/field.js.map +1 -1
  170. package/dist/ore/dist/runtime.cjs +1 -1
  171. package/dist/ore/dist/runtime.cjs.map +1 -1
  172. package/dist/ore/dist/runtime.js +3 -1
  173. package/dist/ore/dist/runtime.js.map +1 -1
  174. package/dist/overlay/menu/menu.css.cjs +1 -1
  175. package/dist/overlay/menu/menu.css.cjs.map +1 -1
  176. package/dist/overlay/menu/menu.css.js +1 -1
  177. package/dist/overlay/menu/menu.css.js.map +1 -1
  178. package/dist/radio-group.cjs +9 -9
  179. package/dist/radio-group.cjs.map +1 -1
  180. package/dist/radio-group.js +44 -38
  181. package/dist/radio-group.js.map +1 -1
  182. package/dist/radio.cjs +3 -3
  183. package/dist/radio.cjs.map +1 -1
  184. package/dist/radio.js +23 -24
  185. package/dist/radio.js.map +1 -1
  186. package/dist/refine.cjs +228 -181
  187. package/dist/refine.cjs.map +1 -1
  188. package/dist/refine.iife.js +228 -181
  189. package/dist/refine.iife.js.map +1 -1
  190. package/dist/refine.js +251 -204
  191. package/dist/refine.js.map +1 -1
  192. package/dist/select.cjs +31 -31
  193. package/dist/select.cjs.map +1 -1
  194. package/dist/select.js +125 -122
  195. package/dist/select.js.map +1 -1
  196. package/dist/shared/size-presets.cjs +1 -1
  197. package/dist/shared/size-presets.cjs.map +1 -1
  198. package/dist/shared/size-presets.d.ts +23 -0
  199. package/dist/shared/size-presets.d.ts.map +1 -1
  200. package/dist/shared/size-presets.js +17 -1
  201. package/dist/shared/size-presets.js.map +1 -1
  202. package/dist/styles/mixins/animation.css.cjs +0 -3
  203. package/dist/styles/mixins/animation.css.cjs.map +1 -1
  204. package/dist/styles/mixins/animation.css.d.ts +12 -4
  205. package/dist/styles/mixins/animation.css.d.ts.map +1 -1
  206. package/dist/styles/mixins/animation.css.js +0 -3
  207. package/dist/styles/mixins/animation.css.js.map +1 -1
  208. package/dist/styles/mixins/variants.css.cjs.map +1 -1
  209. package/dist/styles/mixins/variants.css.d.ts +7 -2
  210. package/dist/styles/mixins/variants.css.d.ts.map +1 -1
  211. package/dist/styles/mixins/variants.css.js.map +1 -1
  212. package/dist/styles/theme.css +341 -132
  213. package/dist/switch.cjs +3 -3
  214. package/dist/switch.cjs.map +1 -1
  215. package/dist/switch.js +17 -18
  216. package/dist/switch.js.map +1 -1
  217. package/dist/textarea.cjs +15 -15
  218. package/dist/textarea.cjs.map +1 -1
  219. package/dist/textarea.js +64 -60
  220. package/dist/textarea.js.map +1 -1
  221. package/package.json +21 -9
@@ -1 +1 @@
1
- {"version":3,"file":"checkbox.css.js","names":[],"sources":["../../../src/inputs/checkbox/checkbox.css?inline"],"sourcesContent":["@layer refine.base {\n /* ========================================\n Base Styles & Defaults\n ======================================== */\n\n :host {\n --_size: var(--checkbox-size, var(--size-5));\n --_radius: var(--checkbox-radius, var(--rounded-lg));\n --_font-size: var(--checkbox-font-size, var(--text-sm));\n --_bg: var(--checkbox-bg, var(--color-contrast-200));\n --_border: var(--checkbox-border-color, var(--color-contrast-300));\n\n display: inline-flex;\n flex-wrap: wrap;\n gap: var(--_gap, var(--size-2));\n align-items: center;\n min-height: var(--_touch-target);\n cursor: pointer;\n user-select: none;\n }\n\n .checkbox-wrapper {\n position: relative;\n display: block;\n flex-shrink: 0;\n width: var(--_size);\n height: var(--_size);\n }\n\n .box {\n position: relative;\n box-sizing: border-box;\n width: var(--_size);\n height: var(--_size);\n background: var(--_bg);\n border: var(--border-2) solid var(--_border);\n border-radius: var(--_radius);\n transition:\n background var(--transition-normal),\n border-color var(--transition-normal),\n box-shadow var(--transition-normal);\n }\n\n /* ========================================\n Focus State\n ======================================== */\n\n input:focus-visible + .box {\n box-shadow: var(--_focus-shadow);\n }\n\n /* ========================================\n Icons (Checkmark & Dash)\n ======================================== */\n\n .checkmark,\n .dash {\n position: absolute;\n top: 50%;\n left: 50%;\n color: var(--_icon-color);\n opacity: 0;\n transform: translate(-50%, -50%) scale(0.5);\n transition:\n opacity var(--transition-spring),\n transform var(--transition-spring);\n }\n\n .checkmark::part(svg),\n .dash::part(svg) {\n width: calc(var(--_size) * 0.6);\n height: calc(var(--_size) * 0.6);\n fill: none;\n stroke: currentcolor;\n stroke-width: 3;\n stroke-linecap: round;\n stroke-linejoin: round;\n }\n\n /* ========================================\n Label\n ======================================== */\n\n .label {\n font-size: var(--_font-size);\n color: var(--color-contrast);\n }\n\n /* ========================================\n Helper / Error Text\n ======================================== */\n\n .helper-text[hidden] {\n display: none;\n }\n\n .helper-text {\n width: 100%;\n padding-inline-start: calc(var(--_size) + var(--size-2));\n font-size: var(--text-xs);\n line-height: var(--leading-tight);\n color: var(--color-contrast-500);\n }\n\n .helper-text[role='alert'] {\n color: var(--color-error);\n }\n}\n\n@layer refine.overrides {\n /* Map theme variables to checkbox-specific variables */\n :host {\n --_active-bg: var(--checkbox-checked-bg, var(--_theme-base));\n --_icon-color: var(--checkbox-color, var(--_theme-contrast));\n --_focus-shadow: var(--_theme-shadow);\n }\n\n /* ========================================\n Checked & Indeterminate States\n ======================================== */\n\n :host([checked]) .box,\n :host([indeterminate]) .box {\n background: var(--_active-bg);\n border-color: var(--_active-bg);\n }\n\n :host([checked]) .checkmark,\n :host([indeterminate]:not([checked])) .dash {\n opacity: 1;\n transform: translate(-50%, -50%) scale(1);\n }\n}\n"],"mappings":""}
1
+ {"version":3,"file":"checkbox.css.js","names":[],"sources":["../../../src/inputs/checkbox/checkbox.css?inline"],"sourcesContent":["@layer refine.base {\n /* ========================================\n Base Styles & Defaults\n ======================================== */\n\n :host {\n --_size: var(--checkbox-size, var(--size-5));\n --_radius: var(--checkbox-radius, var(--rounded-lg));\n --_font-size: var(--checkbox-font-size, var(--text-sm));\n --_bg: var(--checkbox-bg, var(--color-contrast-200));\n --_border: var(--checkbox-border-color, var(--color-contrast-300));\n\n display: inline-flex;\n flex-wrap: wrap;\n gap: var(--_gap, var(--size-2));\n align-items: center;\n min-height: var(--_touch-target);\n cursor: pointer;\n user-select: none;\n }\n\n .checkbox-wrapper {\n position: relative;\n display: block;\n flex-shrink: 0;\n width: var(--_size);\n height: var(--_size);\n }\n\n .box {\n position: relative;\n box-sizing: border-box;\n width: var(--_size);\n height: var(--_size);\n background: var(--_bg);\n border: var(--border-2) solid var(--_border);\n border-radius: var(--_radius);\n transition:\n background var(--transition-normal),\n border-color var(--transition-normal),\n box-shadow var(--transition-normal);\n }\n\n /* ========================================\n Focus State\n ======================================== */\n\n input:focus-visible + .box {\n box-shadow: var(--_focus-shadow);\n }\n\n /* ========================================\n Icons (Checkmark & Dash)\n ======================================== */\n\n .checkmark,\n .dash {\n position: absolute;\n top: 50%;\n left: 50%;\n color: var(--_icon-color);\n opacity: 0;\n transform: translate(-50%, -50%) scale(0.5);\n transition:\n opacity var(--transition-spring),\n transform var(--transition-spring);\n }\n\n .checkmark::part(svg),\n .dash::part(svg) {\n width: calc(var(--_size) * 0.6);\n height: calc(var(--_size) * 0.6);\n fill: none;\n stroke: currentcolor;\n stroke-width: 3;\n stroke-linecap: round;\n stroke-linejoin: round;\n }\n\n /* ========================================\n Label\n ======================================== */\n\n .label {\n font-size: var(--_font-size);\n color: var(--color-contrast);\n }\n\n /* ========================================\n Helper / Error Text\n ======================================== */\n\n .helper-text[hidden] {\n display: none;\n }\n\n .helper-text {\n width: 100%;\n padding-inline-start: calc(var(--_size) + var(--size-2));\n font-size: var(--text-xs);\n line-height: var(--leading-tight);\n color: color-mix(in oklch, var(--color-contrast-500) 80%, var(--color-canvas));\n }\n\n .helper-text[role='alert'] {\n color: var(--color-error);\n }\n}\n\n@layer refine.overrides {\n /* Map theme variables to checkbox-specific variables */\n :host {\n --_active-bg: var(--checkbox-checked-bg, var(--_theme-base));\n --_icon-color: var(--checkbox-color, var(--_theme-contrast));\n --_focus-shadow: var(--_theme-shadow);\n }\n\n /* ========================================\n Checked & Indeterminate States\n ======================================== */\n\n :host([checked]) .box,\n :host([indeterminate]) .box {\n background: var(--_active-bg);\n border-color: var(--_active-bg);\n }\n\n :host([checked]) .checkmark,\n :host([indeterminate]:not([checked])) .dash {\n opacity: 1;\n transform: translate(-50%, -50%) scale(1);\n }\n}\n"],"mappings":""}
@@ -15,6 +15,8 @@ export type OreCheckboxProps = CheckableProps & {
15
15
  helper?: string;
16
16
  /** Indeterminate state (partially checked) */
17
17
  indeterminate?: boolean;
18
+ /** Require this checkbox to be checked for `<ore-form>` validation (e.g. a consent checkbox) */
19
+ required?: boolean;
18
20
  /** Component size */
19
21
  size?: ComponentSize;
20
22
  };
@@ -26,6 +28,7 @@ export type OreCheckboxProps = CheckableProps & {
26
28
  * @attr {boolean} checked - Checked state
27
29
  * @attr {boolean} disabled - Disable checkbox interaction
28
30
  * @attr {boolean} indeterminate - Indeterminate (partially checked) state
31
+ * @attr {boolean} required - Require this checkbox to be checked for `<ore-form>` validation
29
32
  * @attr {string} value - Field value submitted with forms
30
33
  * @attr {string} name - Form field name
31
34
  * @attr {string} color - Theme color: 'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'error'
@@ -1 +1 @@
1
- {"version":3,"file":"checkbox.d.ts","sourceRoot":"","sources":["../../../src/inputs/checkbox/checkbox.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE7E,OAAO,EAAE,KAAK,sBAAsB,EAAoC,MAAM,gBAAgB,CAAC;AAC/F,OAAO,yBAAyB,CAAC;AAejC,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,sBAAsB,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,cAAc,GAAG;IAC9C,kBAAkB;IAClB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,6CAA6C;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+CAA+C;IAC/C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,8CAA8C;IAC9C,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,qBAAqB;IACrB,IAAI,CAAC,EAAE,aAAa,CAAC;CACtB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,eAAO,MAAM,YAAY,EAAG,cAAuB,CAAC"}
1
+ {"version":3,"file":"checkbox.d.ts","sourceRoot":"","sources":["../../../src/inputs/checkbox/checkbox.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE7E,OAAO,EAAE,KAAK,sBAAsB,EAAoC,MAAM,gBAAgB,CAAC;AAC/F,OAAO,yBAAyB,CAAC;AAejC,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,sBAAsB,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,cAAc,GAAG;IAC9C,kBAAkB;IAClB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,6CAA6C;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+CAA+C;IAC/C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,8CAA8C;IAC9C,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,gGAAgG;IAChG,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,qBAAqB;IACrB,IAAI,CAAC,EAAE,aAAa,CAAC;CACtB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,eAAO,MAAM,YAAY,EAAG,cAAuB,CAAC"}
@@ -1,2 +1,2 @@
1
- var e=`@layer refine.base{:host{display:block}fieldset{border:none;min-width:0;margin:0;padding:0}legend{margin-bottom:var(--size-2);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-contrast-600);padding:0}legend[hidden]{display:none}.checkbox-group-items{flex-direction:var(--checkbox-group-direction,column);gap:var(--checkbox-group-gap,var(--size-2));display:flex}.helper-text[hidden]{display:none}.helper-text{margin-top:var(--size-1-5);font-size:var(--text-xs);line-height:var(--leading-tight);color:var(--color-contrast-500);padding-left:2px;padding-right:2px}.error-text{margin-top:var(--size-1-5);font-size:var(--text-xs);line-height:var(--leading-tight);color:var(--color-error);padding-left:2px;padding-right:2px}}@layer refine.variants{:host([orientation=horizontal]) .checkbox-group-items{--checkbox-group-direction:row;flex-wrap:wrap}}`;exports.default=e;
1
+ var e=`@layer refine.base{:host{display:block}fieldset{border:none;min-width:0;margin:0;padding:0}legend{margin-bottom:var(--size-2);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-contrast-600);padding:0}legend[hidden]{display:none}.checkbox-group-items{flex-direction:var(--checkbox-group-direction,column);gap:var(--checkbox-group-gap,var(--size-2));display:flex}.helper-text[hidden]{display:none}.helper-text{margin-top:var(--size-1-5);font-size:var(--text-xs);line-height:var(--leading-tight);color:color-mix(in oklch, var(--color-contrast-500) 80%, var(--color-canvas));padding-left:2px;padding-right:2px}.error-text{margin-top:var(--size-1-5);font-size:var(--text-xs);line-height:var(--leading-tight);color:var(--color-error);padding-left:2px;padding-right:2px}}@layer refine.variants{:host([orientation=horizontal]) .checkbox-group-items{--checkbox-group-direction:row;flex-wrap:wrap}}`;exports.default=e;
2
2
  //# sourceMappingURL=checkbox-group.css.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"checkbox-group.css.cjs","names":[],"sources":["../../../src/inputs/checkbox-group/checkbox-group.css?inline"],"sourcesContent":["@layer refine.base {\n :host {\n display: block;\n }\n\n fieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: none;\n }\n\n legend {\n padding: 0;\n margin-bottom: var(--size-2);\n font-size: var(--text-sm);\n font-weight: var(--font-medium);\n color: var(--color-contrast-600);\n }\n\n legend[hidden] {\n display: none;\n }\n\n .checkbox-group-items {\n display: flex;\n flex-direction: var(--checkbox-group-direction, column);\n gap: var(--checkbox-group-gap, var(--size-2));\n }\n\n .helper-text[hidden] {\n display: none;\n }\n\n .helper-text {\n padding-inline: 2px;\n margin-top: var(--size-1-5);\n font-size: var(--text-xs);\n line-height: var(--leading-tight);\n color: var(--color-contrast-500);\n }\n\n .error-text {\n padding-inline: 2px;\n margin-top: var(--size-1-5);\n font-size: var(--text-xs);\n line-height: var(--leading-tight);\n color: var(--color-error);\n }\n}\n\n@layer refine.variants {\n :host([orientation='horizontal']) .checkbox-group-items {\n --checkbox-group-direction: row;\n\n flex-wrap: wrap;\n }\n}\n"],"mappings":""}
1
+ {"version":3,"file":"checkbox-group.css.cjs","names":[],"sources":["../../../src/inputs/checkbox-group/checkbox-group.css?inline"],"sourcesContent":["@layer refine.base {\n :host {\n display: block;\n }\n\n fieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: none;\n }\n\n legend {\n padding: 0;\n margin-bottom: var(--size-2);\n font-size: var(--text-sm);\n font-weight: var(--font-medium);\n color: var(--color-contrast-600);\n }\n\n legend[hidden] {\n display: none;\n }\n\n .checkbox-group-items {\n display: flex;\n flex-direction: var(--checkbox-group-direction, column);\n gap: var(--checkbox-group-gap, var(--size-2));\n }\n\n .helper-text[hidden] {\n display: none;\n }\n\n .helper-text {\n padding-inline: 2px;\n margin-top: var(--size-1-5);\n font-size: var(--text-xs);\n line-height: var(--leading-tight);\n color: color-mix(in oklch, var(--color-contrast-500) 80%, var(--color-canvas));\n }\n\n .error-text {\n padding-inline: 2px;\n margin-top: var(--size-1-5);\n font-size: var(--text-xs);\n line-height: var(--leading-tight);\n color: var(--color-error);\n }\n}\n\n@layer refine.variants {\n :host([orientation='horizontal']) .checkbox-group-items {\n --checkbox-group-direction: row;\n\n flex-wrap: wrap;\n }\n}\n"],"mappings":""}
@@ -1,5 +1,5 @@
1
1
  //#region src/inputs/checkbox-group/checkbox-group.css?inline
2
- var e = "@layer refine.base{:host{display:block}fieldset{border:none;min-width:0;margin:0;padding:0}legend{margin-bottom:var(--size-2);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-contrast-600);padding:0}legend[hidden]{display:none}.checkbox-group-items{flex-direction:var(--checkbox-group-direction,column);gap:var(--checkbox-group-gap,var(--size-2));display:flex}.helper-text[hidden]{display:none}.helper-text{margin-top:var(--size-1-5);font-size:var(--text-xs);line-height:var(--leading-tight);color:var(--color-contrast-500);padding-left:2px;padding-right:2px}.error-text{margin-top:var(--size-1-5);font-size:var(--text-xs);line-height:var(--leading-tight);color:var(--color-error);padding-left:2px;padding-right:2px}}@layer refine.variants{:host([orientation=horizontal]) .checkbox-group-items{--checkbox-group-direction:row;flex-wrap:wrap}}";
2
+ var e = "@layer refine.base{:host{display:block}fieldset{border:none;min-width:0;margin:0;padding:0}legend{margin-bottom:var(--size-2);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-contrast-600);padding:0}legend[hidden]{display:none}.checkbox-group-items{flex-direction:var(--checkbox-group-direction,column);gap:var(--checkbox-group-gap,var(--size-2));display:flex}.helper-text[hidden]{display:none}.helper-text{margin-top:var(--size-1-5);font-size:var(--text-xs);line-height:var(--leading-tight);color:color-mix(in oklch, var(--color-contrast-500) 80%, var(--color-canvas));padding-left:2px;padding-right:2px}.error-text{margin-top:var(--size-1-5);font-size:var(--text-xs);line-height:var(--leading-tight);color:var(--color-error);padding-left:2px;padding-right:2px}}@layer refine.variants{:host([orientation=horizontal]) .checkbox-group-items{--checkbox-group-direction:row;flex-wrap:wrap}}";
3
3
  //#endregion
4
4
  export { e as default };
5
5
 
@@ -1 +1 @@
1
- {"version":3,"file":"checkbox-group.css.js","names":[],"sources":["../../../src/inputs/checkbox-group/checkbox-group.css?inline"],"sourcesContent":["@layer refine.base {\n :host {\n display: block;\n }\n\n fieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: none;\n }\n\n legend {\n padding: 0;\n margin-bottom: var(--size-2);\n font-size: var(--text-sm);\n font-weight: var(--font-medium);\n color: var(--color-contrast-600);\n }\n\n legend[hidden] {\n display: none;\n }\n\n .checkbox-group-items {\n display: flex;\n flex-direction: var(--checkbox-group-direction, column);\n gap: var(--checkbox-group-gap, var(--size-2));\n }\n\n .helper-text[hidden] {\n display: none;\n }\n\n .helper-text {\n padding-inline: 2px;\n margin-top: var(--size-1-5);\n font-size: var(--text-xs);\n line-height: var(--leading-tight);\n color: var(--color-contrast-500);\n }\n\n .error-text {\n padding-inline: 2px;\n margin-top: var(--size-1-5);\n font-size: var(--text-xs);\n line-height: var(--leading-tight);\n color: var(--color-error);\n }\n}\n\n@layer refine.variants {\n :host([orientation='horizontal']) .checkbox-group-items {\n --checkbox-group-direction: row;\n\n flex-wrap: wrap;\n }\n}\n"],"mappings":""}
1
+ {"version":3,"file":"checkbox-group.css.js","names":[],"sources":["../../../src/inputs/checkbox-group/checkbox-group.css?inline"],"sourcesContent":["@layer refine.base {\n :host {\n display: block;\n }\n\n fieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: none;\n }\n\n legend {\n padding: 0;\n margin-bottom: var(--size-2);\n font-size: var(--text-sm);\n font-weight: var(--font-medium);\n color: var(--color-contrast-600);\n }\n\n legend[hidden] {\n display: none;\n }\n\n .checkbox-group-items {\n display: flex;\n flex-direction: var(--checkbox-group-direction, column);\n gap: var(--checkbox-group-gap, var(--size-2));\n }\n\n .helper-text[hidden] {\n display: none;\n }\n\n .helper-text {\n padding-inline: 2px;\n margin-top: var(--size-1-5);\n font-size: var(--text-xs);\n line-height: var(--leading-tight);\n color: color-mix(in oklch, var(--color-contrast-500) 80%, var(--color-canvas));\n }\n\n .error-text {\n padding-inline: 2px;\n margin-top: var(--size-1-5);\n font-size: var(--text-xs);\n line-height: var(--leading-tight);\n color: var(--color-error);\n }\n}\n\n@layer refine.variants {\n :host([orientation='horizontal']) .checkbox-group-items {\n --checkbox-group-direction: row;\n\n flex-wrap: wrap;\n }\n}\n"],"mappings":""}
@@ -11,6 +11,7 @@ export type { OreComboboxEvents, OreComboboxProps } from './combobox.types';
11
11
  * @attr {boolean} creatable - Allow users to create custom options from search query
12
12
  * @attr {boolean} no-filter - Disable client-side filtering (useful for server-side search)
13
13
  * @attr {string} placeholder - Placeholder text
14
+ * @attr {boolean} required - Require a non-blank selection for `<ore-form>` validation
14
15
  *
15
16
  * @fires {CustomEvent} change - Emitted when selection changes. detail: { value: string | string[], values: string[], labels: string[] }
16
17
  * @fires {CustomEvent} search - Emitted when user types. detail: { query: string }
@@ -1 +1 @@
1
- {"version":3,"file":"combobox.d.ts","sourceRoot":"","sources":["../../../src/inputs/combobox/combobox.ts"],"names":[],"mappings":"AA8BA,OAAO,0BAA0B,CAAC;AAClC,OAAO,gBAAgB,CAAC;AAGxB,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAE5E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,eAAO,MAAM,YAAY,EAAG,cAAuB,CAAC"}
1
+ {"version":3,"file":"combobox.d.ts","sourceRoot":"","sources":["../../../src/inputs/combobox/combobox.ts"],"names":[],"mappings":"AA8BA,OAAO,0BAA0B,CAAC;AAClC,OAAO,gBAAgB,CAAC;AAGxB,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAE5E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,eAAO,MAAM,YAAY,EAAG,cAAuB,CAAC"}
@@ -34,6 +34,8 @@ export type OreComboboxProps = Omit<SelectableFieldProps<Exclude<VisualVariant,
34
34
  multiple?: boolean;
35
35
  'no-filter'?: boolean;
36
36
  options?: ComboboxOptionInput[];
37
+ /** Require a non-blank selection for `<ore-form>` validation */
38
+ required?: boolean;
37
39
  value?: string | string[];
38
40
  };
39
41
  export type OreComboboxOptionProps = {
@@ -1 +1 @@
1
- {"version":3,"file":"combobox.types.d.ts","sourceRoot":"","sources":["../../../src/inputs/combobox/combobox.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACjG,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,kBAAkB,CAAC;IAC3B,KAAK,EAAE;QAAE,MAAM,EAAE,mBAAmB,CAAA;KAAE,CAAC;IACvC,IAAI,EAAE,iBAAiB,CAAC;IACxB,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,IAAI,CACjC,oBAAoB,CAAC,OAAO,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,EAC9D,iBAAiB,GAAG,OAAO,CAC5B,GAAG;IACF,yFAAyF;IACzF,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,sDAAsD;IACtD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,iBAAiB,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC;IACxC,yCAAyC;IACzC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAChC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,qEAAqE;IACrE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC"}
1
+ {"version":3,"file":"combobox.types.d.ts","sourceRoot":"","sources":["../../../src/inputs/combobox/combobox.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACjG,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,kBAAkB,CAAC;IAC3B,KAAK,EAAE;QAAE,MAAM,EAAE,mBAAmB,CAAA;KAAE,CAAC;IACvC,IAAI,EAAE,iBAAiB,CAAC;IACxB,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,IAAI,CACjC,oBAAoB,CAAC,OAAO,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,EAC9D,iBAAiB,GAAG,OAAO,CAC5B,GAAG;IACF,yFAAyF;IACzF,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,sDAAsD;IACtD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,iBAAiB,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC;IACxC,yCAAyC;IACzC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAChC,gEAAgE;IAChE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,qEAAqE;IACrE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC"}
@@ -1,2 +1,2 @@
1
- var e=`@layer refine.base{:host{--_font-size:var(--file-input-font-size,var(--text-sm));--_radius:var(--file-input-radius,var(--rounded-lg));--_bg:var(--file-input-bg,var(--color-contrast-100));--_border-color:var(--file-input-border-color,var(--color-contrast-300));--_min-height:var(--file-input-min-height,var(--size-36));flex-direction:column;align-items:stretch;display:inline-flex}.file-input-wrapper{gap:var(--size-1-5);flex-direction:column;width:100%;display:flex}.label-outside{font-size:var(--text-sm);font-weight:var(--font-medium);line-height:var(--leading-none);color:var(--color-contrast-500);cursor:default;-webkit-user-select:none;user-select:none;transition:color var(--transition-fast)}.dropzone{box-sizing:border-box;gap:var(--size-2);min-height:var(--_min-height);padding:var(--size-6) var(--size-4);text-align:center;cursor:pointer;background:var(--_bg);border:var(--border-2) dashed var(--_border-color);border-radius:var(--_radius);transition:background var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast);outline:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative}.dropzone-content{gap:var(--size-2);pointer-events:none;flex-direction:column;align-items:center;display:flex}.dropzone-icon{color:var(--color-contrast-400);transition:color var(--transition-fast), transform var(--transition-fast);justify-content:center;align-items:center;display:flex}.dropzone-title{font-size:var(--_font-size);font-weight:var(--font-medium);line-height:var(--leading-snug);color:var(--color-contrast-700)}.dropzone-title u{color:var(--_theme-focus,var(--color-primary));text-underline-offset:2px;transition:text-decoration-color var(--transition-fast);-webkit-text-decoration:underline #0000;text-decoration:underline #0000}.dropzone-hint{font-size:var(--text-xs);line-height:var(--leading-tight);color:var(--color-contrast-400)}.helper-text[hidden]{display:none}.helper-text{font-size:var(--text-xs);line-height:var(--leading-tight);color:var(--color-contrast-500);padding-left:2px;padding-right:2px}.file-list{gap:var(--size-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.file-item{box-sizing:border-box;gap:var(--size-3);padding:var(--size-2) var(--size-3);background:var(--color-contrast-50);border:var(--border) solid var(--color-contrast-200);border-radius:var(--_radius);transition:background var(--transition-fast);align-items:center;display:flex}.file-item:hover{background:var(--color-contrast-100)}.file-icon{color:var(--_theme-focus,var(--color-primary));flex-shrink:0}.file-meta{gap:var(--size-0-5);flex-direction:column;flex:1;min-width:0;display:flex}.file-name{text-overflow:ellipsis;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-contrast-700);white-space:nowrap;overflow:hidden}.file-size{font-size:var(--text-xs);color:var(--color-contrast-400)}.file-remove{padding:var(--size-1);color:var(--color-contrast-400);cursor:pointer;border-radius:var(--rounded-sm);transition:color var(--transition-fast), background var(--transition-fast);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.file-remove:hover{color:var(--color-error);background:var(--color-error-backdrop,color-mix(in oklch, var(--color-error) 12%, transparent))}.file-grid{--_thumb-size:var(--file-input-thumb-size,var(--size-24));grid-template-columns:repeat(auto-fill, minmax(var(--_thumb-size), 1fr));gap:var(--size-2);margin:0;padding:0;list-style:none;display:grid}.file-card{box-sizing:border-box;gap:var(--size-1);flex-direction:column;display:flex;position:relative}.file-thumb{box-sizing:border-box;aspect-ratio:1;object-fit:cover;background:var(--color-contrast-100);border:var(--border) solid var(--color-contrast-200);border-radius:var(--_radius);width:100%;display:block}.file-thumb-generic{color:var(--color-contrast-400);justify-content:center;align-items:center;display:flex}.file-card-name{text-overflow:ellipsis;font-size:var(--text-xs);color:var(--color-contrast-600);text-align:center;white-space:nowrap;overflow:hidden}.file-card-remove{top:var(--size-1);right:var(--size-1);width:var(--size-5);height:var(--size-5);color:var(--color-contrast-50);cursor:pointer;background:color-mix(in oklch, var(--color-contrast-900) 55%, transparent);border-radius:var(--rounded-full);transition:background var(--transition-fast), color var(--transition-fast);border:none;justify-content:center;align-items:center;padding:0;display:flex;position:absolute}.file-card-remove:hover{color:var(--color-canvas);background:var(--color-error)}:host(:not([disabled])) .dropzone:hover{border-color:var(--color-contrast-400)}:host(:not([disabled])) .dropzone:hover .dropzone-title u{-webkit-text-decoration-color:var(--_theme-focus,var(--color-primary));-webkit-text-decoration-color:var(--_theme-focus,var(--color-primary));text-decoration-color:var(--_theme-focus,var(--color-primary))}:host(:not([disabled])) .dropzone:focus-visible{border-color:var(--_theme-focus,var(--color-primary));box-shadow:var(--_theme-shadow,var(--color-primary-focus-shadow))}:host(:not([disabled])) .dropzone:hover .dropzone-icon,:host(:not([disabled])) .dropzone:focus-visible .dropzone-icon{color:var(--_theme-focus,var(--color-primary));transform:translateY(-1px)}:host([drag-over]) .dropzone{background:color-mix(in oklch, var(--_theme-base,var(--color-primary)) 8%, var(--color-canvas));border-color:var(--_theme-focus,var(--color-primary));box-shadow:var(--_theme-shadow,var(--color-primary-focus-shadow))}:host([drag-over]) .dropzone .dropzone-icon{color:var(--_theme-focus,var(--color-primary));transform:translateY(-2px)scale(1.05)}:host([invalid]) .dropzone{border-color:var(--color-error)}:host([invalid]) .label-outside,.helper-text-error{color:var(--color-error)}}@layer refine.variants{:host(:not([variant])),:host([variant=solid]){--_bg:var(--file-input-bg,var(--color-contrast-50));--_border-color:var(--file-input-border-color,var(--color-contrast-300))}:host([variant=flat]){--_bg:var(--file-input-bg,var(--color-contrast-100));--_border-color:var(--file-input-border-color,var(--_theme-border))}:host([variant=flat]) .dropzone:hover{background:var(--file-input-hover-bg,color-mix(in oklch, var(--_theme-base) 6%, var(--color-contrast-100)));border-color:var(--file-input-hover-border-color,color-mix(in oklch, var(--_theme-base) 35%, var(--color-contrast-300)))}:host([variant=flat][drag-over]) .dropzone,:host([variant=flat]) .dropzone:focus-visible{background:var(--file-input-focus-bg,color-mix(in oklch, var(--_theme-base) 8%, var(--color-canvas)));border-color:var(--file-input-focus-border-color,color-mix(in oklch, var(--_theme-focus) 60%, transparent));box-shadow:var(--_theme-shadow)}:host([variant=bordered]){--_bg:var(--file-input-bg,var(--_theme-backdrop));--_border-color:var(--file-input-border-color,color-mix(in oklch, var(--_theme-focus) 70%, transparent))}:host([variant=bordered]) .dropzone:hover{border-color:var(--file-input-hover-border-color,var(--_theme-focus))}:host([variant=outline]){--_bg:var(--file-input-bg,transparent)}:host([variant=ghost]){--_bg:var(--file-input-bg,transparent);--_border-color:var(--file-input-border-color,var(--color-contrast-200))}:host([variant=ghost]) .dropzone:hover{background:var(--file-input-hover-bg,var(--color-contrast-100))}}@layer refine.utilities{:host([fullwidth]){width:100%}}`;exports.default=e;
1
+ var e=`@layer refine.base{:host{--_font-size:var(--file-input-font-size,var(--text-sm));--_radius:var(--file-input-radius,var(--rounded-lg));--_bg:var(--file-input-bg,var(--color-contrast-100));--_border-color:var(--file-input-border-color,var(--color-contrast-300));--_min-height:var(--file-input-min-height,var(--size-36));flex-direction:column;align-items:stretch;display:inline-flex}.file-input-wrapper{gap:var(--size-1-5);flex-direction:column;width:100%;display:flex}.label-outside{font-size:var(--text-sm);font-weight:var(--font-medium);line-height:var(--leading-none);color:var(--color-contrast-500);cursor:default;-webkit-user-select:none;user-select:none;transition:color var(--transition-fast)}.dropzone{box-sizing:border-box;gap:var(--size-2);min-height:var(--_min-height);padding:var(--size-6) var(--size-4);text-align:center;cursor:pointer;background:var(--_bg);border:var(--border-2) dashed var(--_border-color);border-radius:var(--_radius);transition:background var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast);outline:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative}.dropzone-content{gap:var(--size-2);pointer-events:none;flex-direction:column;align-items:center;display:flex}.dropzone-icon{color:var(--color-contrast-400);transition:color var(--transition-fast), transform var(--transition-fast);justify-content:center;align-items:center;display:flex}.dropzone-title{font-size:var(--_font-size);font-weight:var(--font-medium);line-height:var(--leading-snug);color:var(--color-contrast-700)}.dropzone-title u{color:var(--_theme-focus,var(--color-primary));text-underline-offset:2px;transition:text-decoration-color var(--transition-fast);-webkit-text-decoration:underline #0000;text-decoration:underline #0000}.dropzone-hint{font-size:var(--text-xs);line-height:var(--leading-tight);color:var(--color-contrast-400)}.helper-text[hidden]{display:none}.helper-text{font-size:var(--text-xs);line-height:var(--leading-tight);color:color-mix(in oklch, var(--color-contrast-500) 80%, var(--color-canvas));padding-left:2px;padding-right:2px}.file-list{gap:var(--size-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.file-item{box-sizing:border-box;gap:var(--size-3);padding:var(--size-2) var(--size-3);background:var(--color-contrast-50);border:var(--border) solid var(--color-contrast-200);border-radius:var(--_radius);transition:background var(--transition-fast);align-items:center;display:flex}.file-item:hover{background:var(--color-contrast-100)}.file-icon{color:var(--_theme-focus,var(--color-primary));flex-shrink:0}.file-meta{gap:var(--size-0-5);flex-direction:column;flex:1;min-width:0;display:flex}.file-name{text-overflow:ellipsis;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-contrast-700);white-space:nowrap;overflow:hidden}.file-size{font-size:var(--text-xs);color:var(--color-contrast-400)}.file-remove{padding:var(--size-1);color:var(--color-contrast-400);cursor:pointer;border-radius:var(--rounded-sm);transition:color var(--transition-fast), background var(--transition-fast);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.file-remove:hover{color:var(--color-error);background:var(--color-error-backdrop,color-mix(in oklch, var(--color-error) 12%, transparent))}.file-grid{--_thumb-size:var(--file-input-thumb-size,var(--size-24));grid-template-columns:repeat(auto-fill, minmax(var(--_thumb-size), 1fr));gap:var(--size-2);margin:0;padding:0;list-style:none;display:grid}.file-card{box-sizing:border-box;gap:var(--size-1);flex-direction:column;display:flex;position:relative}.file-thumb{box-sizing:border-box;aspect-ratio:1;object-fit:cover;background:var(--color-contrast-100);border:var(--border) solid var(--color-contrast-200);border-radius:var(--_radius);width:100%;display:block}.file-thumb-generic{color:var(--color-contrast-400);justify-content:center;align-items:center;display:flex}.file-card-name{text-overflow:ellipsis;font-size:var(--text-xs);color:var(--color-contrast-600);text-align:center;white-space:nowrap;overflow:hidden}.file-card-remove{top:var(--size-1);right:var(--size-1);width:var(--size-5);height:var(--size-5);color:var(--color-contrast-50);cursor:pointer;background:color-mix(in oklch, var(--color-contrast-900) 55%, transparent);border-radius:var(--rounded-full);transition:background var(--transition-fast), color var(--transition-fast);border:none;justify-content:center;align-items:center;padding:0;display:flex;position:absolute}.file-card-remove:hover{color:var(--color-canvas);background:var(--color-error)}:host(:not([disabled])) .dropzone:hover{border-color:var(--color-contrast-400)}:host(:not([disabled])) .dropzone:hover .dropzone-title u{-webkit-text-decoration-color:var(--_theme-focus,var(--color-primary));-webkit-text-decoration-color:var(--_theme-focus,var(--color-primary));text-decoration-color:var(--_theme-focus,var(--color-primary))}:host(:not([disabled])) .dropzone:focus-visible{border-color:var(--_theme-focus,var(--color-primary));box-shadow:var(--_theme-shadow,var(--color-primary-focus-shadow))}:host(:not([disabled])) .dropzone:hover .dropzone-icon,:host(:not([disabled])) .dropzone:focus-visible .dropzone-icon{color:var(--_theme-focus,var(--color-primary));transform:translateY(-1px)}:host([drag-over]) .dropzone{background:color-mix(in oklch, var(--_theme-base,var(--color-primary)) 8%, transparent);border-color:var(--_theme-focus,var(--color-primary));box-shadow:var(--_theme-shadow,var(--color-primary-focus-shadow))}:host([drag-over]) .dropzone .dropzone-icon{color:var(--_theme-focus,var(--color-primary));transform:translateY(-2px)scale(1.05)}:host([invalid]) .dropzone{border-color:var(--color-error)}:host([invalid]) .label-outside,.helper-text-error{color:var(--color-error)}}@layer refine.variants{:host(:not([variant])),:host([variant=solid]){--_bg:var(--file-input-bg,var(--color-contrast-50));--_border-color:var(--file-input-border-color,var(--color-contrast-300))}:host([variant=flat]){--_bg:var(--file-input-bg,var(--color-contrast-100));--_border-color:var(--file-input-border-color,color-mix(in oklch, var(--_theme-focus) 20%, transparent))}:host([variant=flat]) .dropzone:hover{background:var(--file-input-hover-bg,color-mix(in oklch, var(--_theme-base) 6%, var(--color-contrast-100)));border-color:var(--file-input-hover-border-color,color-mix(in oklch, var(--_theme-base) 35%, var(--color-contrast-300)))}:host([variant=flat][drag-over]) .dropzone,:host([variant=flat]) .dropzone:focus-visible{background:var(--file-input-focus-bg,color-mix(in oklch, var(--_theme-base) 8%, var(--color-canvas)));border-color:var(--file-input-focus-border-color,color-mix(in oklch, var(--_theme-focus) 60%, transparent));box-shadow:var(--_theme-shadow)}:host([variant=bordered]){--_bg:var(--file-input-bg,var(--_theme-backdrop));--_border-color:var(--file-input-border-color,color-mix(in oklch, var(--_theme-focus) 70%, transparent))}:host([variant=bordered]) .dropzone:hover{border-color:var(--file-input-hover-border-color,var(--_theme-focus))}:host([variant=outline]){--_bg:var(--file-input-bg,transparent)}:host([variant=ghost]){--_bg:var(--file-input-bg,transparent);--_border-color:var(--file-input-border-color,var(--color-contrast-200))}:host([variant=ghost]) .dropzone:hover{background:var(--file-input-hover-bg,var(--color-contrast-100))}}@layer refine.utilities{:host([fullwidth]){width:100%}}`;exports.default=e;
2
2
  //# sourceMappingURL=file-input.css.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"file-input.css.cjs","names":[],"sources":["../../../src/inputs/file-input/file-input.css?inline"],"sourcesContent":["@layer refine.base {\n :host {\n --_font-size: var(--file-input-font-size, var(--text-sm));\n --_radius: var(--file-input-radius, var(--rounded-lg));\n --_bg: var(--file-input-bg, var(--color-contrast-100));\n --_border-color: var(--file-input-border-color, var(--color-contrast-300));\n --_min-height: var(--file-input-min-height, var(--size-36));\n\n display: inline-flex;\n flex-direction: column;\n align-items: stretch;\n }\n\n .file-input-wrapper {\n display: flex;\n flex-direction: column;\n gap: var(--size-1-5);\n width: 100%;\n }\n\n /* ========================================\n Label\n ======================================== */\n\n .label-outside {\n font-size: var(--text-sm);\n font-weight: var(--font-medium);\n line-height: var(--leading-none);\n color: var(--color-contrast-500);\n cursor: default;\n user-select: none;\n transition: color var(--transition-fast);\n }\n\n /* ========================================\n Dropzone\n ======================================== */\n\n .dropzone {\n position: relative;\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n gap: var(--size-2);\n align-items: center;\n justify-content: center;\n min-height: var(--_min-height);\n padding: var(--size-6) var(--size-4);\n text-align: center;\n cursor: pointer;\n outline: none;\n background: var(--_bg);\n border: var(--border-2) dashed 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 }\n\n .dropzone-content {\n display: flex;\n flex-direction: column;\n gap: var(--size-2);\n align-items: center;\n pointer-events: none;\n }\n\n .dropzone-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--color-contrast-400);\n transition:\n color var(--transition-fast),\n transform var(--transition-fast);\n }\n\n .dropzone-title {\n font-size: var(--_font-size);\n font-weight: var(--font-medium);\n line-height: var(--leading-snug);\n color: var(--color-contrast-700);\n }\n\n .dropzone-title u {\n color: var(--_theme-focus, var(--color-primary));\n text-decoration: underline;\n text-decoration-color: transparent;\n text-underline-offset: 2px;\n transition: text-decoration-color var(--transition-fast);\n }\n\n .dropzone-hint {\n font-size: var(--text-xs);\n line-height: var(--leading-tight);\n color: var(--color-contrast-400);\n }\n\n /* ========================================\n Helper Text\n ======================================== */\n\n .helper-text[hidden] {\n display: none;\n }\n\n .helper-text {\n padding-inline: 2px;\n font-size: var(--text-xs);\n line-height: var(--leading-tight);\n color: var(--color-contrast-500);\n }\n\n /* ========================================\n File List\n ======================================== */\n\n .file-list {\n display: flex;\n flex-direction: column;\n gap: var(--size-1);\n padding: 0;\n margin: 0;\n list-style: none;\n }\n\n .file-item {\n box-sizing: border-box;\n display: flex;\n gap: var(--size-3);\n align-items: center;\n padding: var(--size-2) var(--size-3);\n background: var(--color-contrast-50);\n border: var(--border) solid var(--color-contrast-200);\n border-radius: var(--_radius);\n transition: background var(--transition-fast);\n }\n\n .file-item:hover {\n background: var(--color-contrast-100);\n }\n\n .file-icon {\n flex-shrink: 0;\n color: var(--_theme-focus, var(--color-primary));\n }\n\n .file-meta {\n display: flex;\n flex: 1;\n flex-direction: column;\n gap: var(--size-0-5);\n min-width: 0;\n }\n\n .file-name {\n overflow: hidden;\n text-overflow: ellipsis;\n font-size: var(--text-sm);\n font-weight: var(--font-medium);\n color: var(--color-contrast-700);\n white-space: nowrap;\n }\n\n .file-size {\n font-size: var(--text-xs);\n color: var(--color-contrast-400);\n }\n\n .file-remove {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n padding: var(--size-1);\n color: var(--color-contrast-400);\n cursor: pointer;\n background: transparent;\n border: none;\n border-radius: var(--rounded-sm);\n transition:\n color var(--transition-fast),\n background var(--transition-fast);\n }\n\n .file-remove:hover {\n color: var(--color-error);\n background: var(--color-error-backdrop, color-mix(in oklch, var(--color-error) 12%, transparent));\n }\n\n /* ========================================\n File Gallery (preview grid)\n ======================================== */\n\n .file-grid {\n --_thumb-size: var(--file-input-thumb-size, var(--size-24));\n\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(var(--_thumb-size), 1fr));\n gap: var(--size-2);\n padding: 0;\n margin: 0;\n list-style: none;\n }\n\n .file-card {\n position: relative;\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n gap: var(--size-1);\n }\n\n .file-thumb {\n box-sizing: border-box;\n display: block;\n width: 100%;\n aspect-ratio: 1;\n object-fit: cover;\n background: var(--color-contrast-100);\n border: var(--border) solid var(--color-contrast-200);\n border-radius: var(--_radius);\n }\n\n .file-thumb-generic {\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--color-contrast-400);\n }\n\n .file-card-name {\n overflow: hidden;\n text-overflow: ellipsis;\n font-size: var(--text-xs);\n color: var(--color-contrast-600);\n text-align: center;\n white-space: nowrap;\n }\n\n .file-card-remove {\n position: absolute;\n top: var(--size-1);\n right: var(--size-1);\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--size-5);\n height: var(--size-5);\n padding: 0;\n color: var(--color-contrast-50);\n cursor: pointer;\n background: color-mix(in oklch, var(--color-contrast-900) 55%, transparent);\n border: none;\n border-radius: var(--rounded-full);\n transition:\n background var(--transition-fast),\n color var(--transition-fast);\n }\n\n .file-card-remove:hover {\n color: var(--color-canvas);\n background: var(--color-error);\n }\n\n /* ========================================\n Hover & Focus\n ======================================== */\n\n :host(:not([disabled])) .dropzone:hover {\n border-color: var(--color-contrast-400);\n }\n\n :host(:not([disabled])) .dropzone:hover .dropzone-title u {\n text-decoration-color: var(--_theme-focus, var(--color-primary));\n }\n\n :host(:not([disabled])) .dropzone:focus-visible {\n border-color: var(--_theme-focus, var(--color-primary));\n box-shadow: var(--_theme-shadow, var(--color-primary-focus-shadow));\n }\n\n :host(:not([disabled])) .dropzone:hover .dropzone-icon,\n :host(:not([disabled])) .dropzone:focus-visible .dropzone-icon {\n color: var(--_theme-focus, var(--color-primary));\n transform: translateY(-1px);\n }\n\n /* ========================================\n Drag-Over State\n ======================================== */\n\n :host([drag-over]) .dropzone {\n background: color-mix(in oklch, var(--_theme-base, var(--color-primary)) 8%, var(--color-canvas));\n border-color: var(--_theme-focus, var(--color-primary));\n box-shadow: var(--_theme-shadow, var(--color-primary-focus-shadow));\n }\n\n :host([drag-over]) .dropzone .dropzone-icon {\n color: var(--_theme-focus, var(--color-primary));\n transform: translateY(-2px) scale(1.05);\n }\n\n /* ========================================\n Error State\n ======================================== */\n\n :host([invalid]) .dropzone {\n border-color: var(--color-error);\n }\n\n :host([invalid]) .label-outside {\n color: var(--color-error);\n }\n\n /* ========================================\n Error Text\n ======================================== */\n\n .helper-text-error {\n color: var(--color-error);\n }\n}\n\n@layer refine.variants {\n /* Solid (Default) */\n :host(:not([variant])),\n :host([variant='solid']) {\n --_bg: var(--file-input-bg, var(--color-contrast-50));\n --_border-color: var(--file-input-border-color, var(--color-contrast-300));\n }\n\n /* Flat */\n :host([variant='flat']) {\n --_bg: var(--file-input-bg, var(--color-contrast-100));\n --_border-color: var(--file-input-border-color, var(--_theme-border));\n }\n\n :host([variant='flat']) .dropzone:hover {\n background: var(--file-input-hover-bg, color-mix(in oklch, var(--_theme-base) 6%, var(--color-contrast-100)));\n border-color: var(\n --file-input-hover-border-color,\n color-mix(in oklch, var(--_theme-base) 35%, var(--color-contrast-300))\n );\n }\n\n :host([variant='flat']) .dropzone:focus-visible,\n :host([variant='flat'][drag-over]) .dropzone {\n background: var(--file-input-focus-bg, color-mix(in oklch, var(--_theme-base) 8%, var(--color-canvas)));\n border-color: var(--file-input-focus-border-color, color-mix(in oklch, var(--_theme-focus) 60%, transparent));\n box-shadow: var(--_theme-shadow);\n }\n\n /* Bordered */\n :host([variant='bordered']) {\n --_bg: var(--file-input-bg, var(--_theme-backdrop));\n --_border-color: var(--file-input-border-color, color-mix(in oklch, var(--_theme-focus) 70%, transparent));\n }\n\n :host([variant='bordered']) .dropzone:hover {\n border-color: var(--file-input-hover-border-color, var(--_theme-focus));\n }\n\n /* Outline */\n :host([variant='outline']) {\n --_bg: var(--file-input-bg, transparent);\n }\n\n /* Ghost */\n :host([variant='ghost']) {\n --_bg: var(--file-input-bg, transparent);\n --_border-color: var(--file-input-border-color, var(--color-contrast-200));\n }\n\n :host([variant='ghost']) .dropzone:hover {\n background: var(--file-input-hover-bg, var(--color-contrast-100));\n }\n}\n\n@layer refine.utilities {\n :host([fullwidth]) {\n width: 100%;\n }\n}\n"],"mappings":""}
1
+ {"version":3,"file":"file-input.css.cjs","names":[],"sources":["../../../src/inputs/file-input/file-input.css?inline"],"sourcesContent":["@layer refine.base {\n :host {\n --_font-size: var(--file-input-font-size, var(--text-sm));\n --_radius: var(--file-input-radius, var(--rounded-lg));\n --_bg: var(--file-input-bg, var(--color-contrast-100));\n --_border-color: var(--file-input-border-color, var(--color-contrast-300));\n --_min-height: var(--file-input-min-height, var(--size-36));\n\n display: inline-flex;\n flex-direction: column;\n align-items: stretch;\n }\n\n .file-input-wrapper {\n display: flex;\n flex-direction: column;\n gap: var(--size-1-5);\n width: 100%;\n }\n\n /* ========================================\n Label\n ======================================== */\n\n .label-outside {\n font-size: var(--text-sm);\n font-weight: var(--font-medium);\n line-height: var(--leading-none);\n color: var(--color-contrast-500);\n cursor: default;\n user-select: none;\n transition: color var(--transition-fast);\n }\n\n /* ========================================\n Dropzone\n ======================================== */\n\n .dropzone {\n position: relative;\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n gap: var(--size-2);\n align-items: center;\n justify-content: center;\n min-height: var(--_min-height);\n padding: var(--size-6) var(--size-4);\n text-align: center;\n cursor: pointer;\n outline: none;\n background: var(--_bg);\n border: var(--border-2) dashed 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 }\n\n .dropzone-content {\n display: flex;\n flex-direction: column;\n gap: var(--size-2);\n align-items: center;\n pointer-events: none;\n }\n\n .dropzone-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--color-contrast-400);\n transition:\n color var(--transition-fast),\n transform var(--transition-fast);\n }\n\n .dropzone-title {\n font-size: var(--_font-size);\n font-weight: var(--font-medium);\n line-height: var(--leading-snug);\n color: var(--color-contrast-700);\n }\n\n .dropzone-title u {\n color: var(--_theme-focus, var(--color-primary));\n text-decoration: underline;\n text-decoration-color: transparent;\n text-underline-offset: 2px;\n transition: text-decoration-color var(--transition-fast);\n }\n\n .dropzone-hint {\n font-size: var(--text-xs);\n line-height: var(--leading-tight);\n color: var(--color-contrast-400);\n }\n\n /* ========================================\n Helper Text\n ======================================== */\n\n .helper-text[hidden] {\n display: none;\n }\n\n .helper-text {\n padding-inline: 2px;\n font-size: var(--text-xs);\n line-height: var(--leading-tight);\n color: color-mix(in oklch, var(--color-contrast-500) 80%, var(--color-canvas));\n }\n\n /* ========================================\n File List\n ======================================== */\n\n .file-list {\n display: flex;\n flex-direction: column;\n gap: var(--size-1);\n padding: 0;\n margin: 0;\n list-style: none;\n }\n\n .file-item {\n box-sizing: border-box;\n display: flex;\n gap: var(--size-3);\n align-items: center;\n padding: var(--size-2) var(--size-3);\n background: var(--color-contrast-50);\n border: var(--border) solid var(--color-contrast-200);\n border-radius: var(--_radius);\n transition: background var(--transition-fast);\n }\n\n .file-item:hover {\n background: var(--color-contrast-100);\n }\n\n .file-icon {\n flex-shrink: 0;\n color: var(--_theme-focus, var(--color-primary));\n }\n\n .file-meta {\n display: flex;\n flex: 1;\n flex-direction: column;\n gap: var(--size-0-5);\n min-width: 0;\n }\n\n .file-name {\n overflow: hidden;\n text-overflow: ellipsis;\n font-size: var(--text-sm);\n font-weight: var(--font-medium);\n color: var(--color-contrast-700);\n white-space: nowrap;\n }\n\n .file-size {\n font-size: var(--text-xs);\n color: var(--color-contrast-400);\n }\n\n .file-remove {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n padding: var(--size-1);\n color: var(--color-contrast-400);\n cursor: pointer;\n background: transparent;\n border: none;\n border-radius: var(--rounded-sm);\n transition:\n color var(--transition-fast),\n background var(--transition-fast);\n }\n\n .file-remove:hover {\n color: var(--color-error);\n background: var(--color-error-backdrop, color-mix(in oklch, var(--color-error) 12%, transparent));\n }\n\n /* ========================================\n File Gallery (preview grid)\n ======================================== */\n\n .file-grid {\n --_thumb-size: var(--file-input-thumb-size, var(--size-24));\n\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(var(--_thumb-size), 1fr));\n gap: var(--size-2);\n padding: 0;\n margin: 0;\n list-style: none;\n }\n\n .file-card {\n position: relative;\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n gap: var(--size-1);\n }\n\n .file-thumb {\n box-sizing: border-box;\n display: block;\n width: 100%;\n aspect-ratio: 1;\n object-fit: cover;\n background: var(--color-contrast-100);\n border: var(--border) solid var(--color-contrast-200);\n border-radius: var(--_radius);\n }\n\n .file-thumb-generic {\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--color-contrast-400);\n }\n\n .file-card-name {\n overflow: hidden;\n text-overflow: ellipsis;\n font-size: var(--text-xs);\n color: var(--color-contrast-600);\n text-align: center;\n white-space: nowrap;\n }\n\n .file-card-remove {\n position: absolute;\n top: var(--size-1);\n right: var(--size-1);\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--size-5);\n height: var(--size-5);\n padding: 0;\n color: var(--color-contrast-50);\n cursor: pointer;\n background: color-mix(in oklch, var(--color-contrast-900) 55%, transparent);\n border: none;\n border-radius: var(--rounded-full);\n transition:\n background var(--transition-fast),\n color var(--transition-fast);\n }\n\n .file-card-remove:hover {\n color: var(--color-canvas);\n background: var(--color-error);\n }\n\n /* ========================================\n Hover & Focus\n ======================================== */\n\n :host(:not([disabled])) .dropzone:hover {\n border-color: var(--color-contrast-400);\n }\n\n :host(:not([disabled])) .dropzone:hover .dropzone-title u {\n text-decoration-color: var(--_theme-focus, var(--color-primary));\n }\n\n :host(:not([disabled])) .dropzone:focus-visible {\n border-color: var(--_theme-focus, var(--color-primary));\n box-shadow: var(--_theme-shadow, var(--color-primary-focus-shadow));\n }\n\n :host(:not([disabled])) .dropzone:hover .dropzone-icon,\n :host(:not([disabled])) .dropzone:focus-visible .dropzone-icon {\n color: var(--_theme-focus, var(--color-primary));\n transform: translateY(-1px);\n }\n\n /* ========================================\n Drag-Over State\n ======================================== */\n\n :host([drag-over]) .dropzone {\n background: color-mix(in oklch, var(--_theme-base, var(--color-primary)) 8%, transparent);\n border-color: var(--_theme-focus, var(--color-primary));\n box-shadow: var(--_theme-shadow, var(--color-primary-focus-shadow));\n }\n\n :host([drag-over]) .dropzone .dropzone-icon {\n color: var(--_theme-focus, var(--color-primary));\n transform: translateY(-2px) scale(1.05);\n }\n\n /* ========================================\n Error State\n ======================================== */\n\n :host([invalid]) .dropzone {\n border-color: var(--color-error);\n }\n\n :host([invalid]) .label-outside {\n color: var(--color-error);\n }\n\n /* ========================================\n Error Text\n ======================================== */\n\n .helper-text-error {\n color: var(--color-error);\n }\n}\n\n@layer refine.variants {\n /* Solid (Default) */\n :host(:not([variant])),\n :host([variant='solid']) {\n --_bg: var(--file-input-bg, var(--color-contrast-50));\n --_border-color: var(--file-input-border-color, var(--color-contrast-300));\n }\n\n /* Flat — a near-invisible border, deliberately weaker than bordered's\n 70%-focus border (matches button.css's flat/bordered split) so the two\n don't read as the same box at a glance. */\n :host([variant='flat']) {\n --_bg: var(--file-input-bg, var(--color-contrast-100));\n --_border-color: var(--file-input-border-color, color-mix(in oklch, var(--_theme-focus) 20%, transparent));\n }\n\n :host([variant='flat']) .dropzone:hover {\n background: var(--file-input-hover-bg, color-mix(in oklch, var(--_theme-base) 6%, var(--color-contrast-100)));\n border-color: var(\n --file-input-hover-border-color,\n color-mix(in oklch, var(--_theme-base) 35%, var(--color-contrast-300))\n );\n }\n\n :host([variant='flat']) .dropzone:focus-visible,\n :host([variant='flat'][drag-over]) .dropzone {\n background: var(--file-input-focus-bg, color-mix(in oklch, var(--_theme-base) 8%, var(--color-canvas)));\n border-color: var(--file-input-focus-border-color, color-mix(in oklch, var(--_theme-focus) 60%, transparent));\n box-shadow: var(--_theme-shadow);\n }\n\n /* Bordered */\n :host([variant='bordered']) {\n --_bg: var(--file-input-bg, var(--_theme-backdrop));\n --_border-color: var(--file-input-border-color, color-mix(in oklch, var(--_theme-focus) 70%, transparent));\n }\n\n :host([variant='bordered']) .dropzone:hover {\n border-color: var(--file-input-hover-border-color, var(--_theme-focus));\n }\n\n /* Outline */\n :host([variant='outline']) {\n --_bg: var(--file-input-bg, transparent);\n }\n\n /* Ghost */\n :host([variant='ghost']) {\n --_bg: var(--file-input-bg, transparent);\n --_border-color: var(--file-input-border-color, var(--color-contrast-200));\n }\n\n :host([variant='ghost']) .dropzone:hover {\n background: var(--file-input-hover-bg, var(--color-contrast-100));\n }\n}\n\n@layer refine.utilities {\n :host([fullwidth]) {\n width: 100%;\n }\n}\n"],"mappings":""}
@@ -1,5 +1,5 @@
1
1
  //#region src/inputs/file-input/file-input.css?inline
2
- var e = "@layer refine.base{:host{--_font-size:var(--file-input-font-size,var(--text-sm));--_radius:var(--file-input-radius,var(--rounded-lg));--_bg:var(--file-input-bg,var(--color-contrast-100));--_border-color:var(--file-input-border-color,var(--color-contrast-300));--_min-height:var(--file-input-min-height,var(--size-36));flex-direction:column;align-items:stretch;display:inline-flex}.file-input-wrapper{gap:var(--size-1-5);flex-direction:column;width:100%;display:flex}.label-outside{font-size:var(--text-sm);font-weight:var(--font-medium);line-height:var(--leading-none);color:var(--color-contrast-500);cursor:default;-webkit-user-select:none;user-select:none;transition:color var(--transition-fast)}.dropzone{box-sizing:border-box;gap:var(--size-2);min-height:var(--_min-height);padding:var(--size-6) var(--size-4);text-align:center;cursor:pointer;background:var(--_bg);border:var(--border-2) dashed var(--_border-color);border-radius:var(--_radius);transition:background var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast);outline:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative}.dropzone-content{gap:var(--size-2);pointer-events:none;flex-direction:column;align-items:center;display:flex}.dropzone-icon{color:var(--color-contrast-400);transition:color var(--transition-fast), transform var(--transition-fast);justify-content:center;align-items:center;display:flex}.dropzone-title{font-size:var(--_font-size);font-weight:var(--font-medium);line-height:var(--leading-snug);color:var(--color-contrast-700)}.dropzone-title u{color:var(--_theme-focus,var(--color-primary));text-underline-offset:2px;transition:text-decoration-color var(--transition-fast);-webkit-text-decoration:underline #0000;text-decoration:underline #0000}.dropzone-hint{font-size:var(--text-xs);line-height:var(--leading-tight);color:var(--color-contrast-400)}.helper-text[hidden]{display:none}.helper-text{font-size:var(--text-xs);line-height:var(--leading-tight);color:var(--color-contrast-500);padding-left:2px;padding-right:2px}.file-list{gap:var(--size-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.file-item{box-sizing:border-box;gap:var(--size-3);padding:var(--size-2) var(--size-3);background:var(--color-contrast-50);border:var(--border) solid var(--color-contrast-200);border-radius:var(--_radius);transition:background var(--transition-fast);align-items:center;display:flex}.file-item:hover{background:var(--color-contrast-100)}.file-icon{color:var(--_theme-focus,var(--color-primary));flex-shrink:0}.file-meta{gap:var(--size-0-5);flex-direction:column;flex:1;min-width:0;display:flex}.file-name{text-overflow:ellipsis;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-contrast-700);white-space:nowrap;overflow:hidden}.file-size{font-size:var(--text-xs);color:var(--color-contrast-400)}.file-remove{padding:var(--size-1);color:var(--color-contrast-400);cursor:pointer;border-radius:var(--rounded-sm);transition:color var(--transition-fast), background var(--transition-fast);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.file-remove:hover{color:var(--color-error);background:var(--color-error-backdrop,color-mix(in oklch, var(--color-error) 12%, transparent))}.file-grid{--_thumb-size:var(--file-input-thumb-size,var(--size-24));grid-template-columns:repeat(auto-fill, minmax(var(--_thumb-size), 1fr));gap:var(--size-2);margin:0;padding:0;list-style:none;display:grid}.file-card{box-sizing:border-box;gap:var(--size-1);flex-direction:column;display:flex;position:relative}.file-thumb{box-sizing:border-box;aspect-ratio:1;object-fit:cover;background:var(--color-contrast-100);border:var(--border) solid var(--color-contrast-200);border-radius:var(--_radius);width:100%;display:block}.file-thumb-generic{color:var(--color-contrast-400);justify-content:center;align-items:center;display:flex}.file-card-name{text-overflow:ellipsis;font-size:var(--text-xs);color:var(--color-contrast-600);text-align:center;white-space:nowrap;overflow:hidden}.file-card-remove{top:var(--size-1);right:var(--size-1);width:var(--size-5);height:var(--size-5);color:var(--color-contrast-50);cursor:pointer;background:color-mix(in oklch, var(--color-contrast-900) 55%, transparent);border-radius:var(--rounded-full);transition:background var(--transition-fast), color var(--transition-fast);border:none;justify-content:center;align-items:center;padding:0;display:flex;position:absolute}.file-card-remove:hover{color:var(--color-canvas);background:var(--color-error)}:host(:not([disabled])) .dropzone:hover{border-color:var(--color-contrast-400)}:host(:not([disabled])) .dropzone:hover .dropzone-title u{-webkit-text-decoration-color:var(--_theme-focus,var(--color-primary));-webkit-text-decoration-color:var(--_theme-focus,var(--color-primary));text-decoration-color:var(--_theme-focus,var(--color-primary))}:host(:not([disabled])) .dropzone:focus-visible{border-color:var(--_theme-focus,var(--color-primary));box-shadow:var(--_theme-shadow,var(--color-primary-focus-shadow))}:host(:not([disabled])) .dropzone:hover .dropzone-icon,:host(:not([disabled])) .dropzone:focus-visible .dropzone-icon{color:var(--_theme-focus,var(--color-primary));transform:translateY(-1px)}:host([drag-over]) .dropzone{background:color-mix(in oklch, var(--_theme-base,var(--color-primary)) 8%, var(--color-canvas));border-color:var(--_theme-focus,var(--color-primary));box-shadow:var(--_theme-shadow,var(--color-primary-focus-shadow))}:host([drag-over]) .dropzone .dropzone-icon{color:var(--_theme-focus,var(--color-primary));transform:translateY(-2px)scale(1.05)}:host([invalid]) .dropzone{border-color:var(--color-error)}:host([invalid]) .label-outside,.helper-text-error{color:var(--color-error)}}@layer refine.variants{:host(:not([variant])),:host([variant=solid]){--_bg:var(--file-input-bg,var(--color-contrast-50));--_border-color:var(--file-input-border-color,var(--color-contrast-300))}:host([variant=flat]){--_bg:var(--file-input-bg,var(--color-contrast-100));--_border-color:var(--file-input-border-color,var(--_theme-border))}:host([variant=flat]) .dropzone:hover{background:var(--file-input-hover-bg,color-mix(in oklch, var(--_theme-base) 6%, var(--color-contrast-100)));border-color:var(--file-input-hover-border-color,color-mix(in oklch, var(--_theme-base) 35%, var(--color-contrast-300)))}:host([variant=flat][drag-over]) .dropzone,:host([variant=flat]) .dropzone:focus-visible{background:var(--file-input-focus-bg,color-mix(in oklch, var(--_theme-base) 8%, var(--color-canvas)));border-color:var(--file-input-focus-border-color,color-mix(in oklch, var(--_theme-focus) 60%, transparent));box-shadow:var(--_theme-shadow)}:host([variant=bordered]){--_bg:var(--file-input-bg,var(--_theme-backdrop));--_border-color:var(--file-input-border-color,color-mix(in oklch, var(--_theme-focus) 70%, transparent))}:host([variant=bordered]) .dropzone:hover{border-color:var(--file-input-hover-border-color,var(--_theme-focus))}:host([variant=outline]){--_bg:var(--file-input-bg,transparent)}:host([variant=ghost]){--_bg:var(--file-input-bg,transparent);--_border-color:var(--file-input-border-color,var(--color-contrast-200))}:host([variant=ghost]) .dropzone:hover{background:var(--file-input-hover-bg,var(--color-contrast-100))}}@layer refine.utilities{:host([fullwidth]){width:100%}}";
2
+ var e = "@layer refine.base{:host{--_font-size:var(--file-input-font-size,var(--text-sm));--_radius:var(--file-input-radius,var(--rounded-lg));--_bg:var(--file-input-bg,var(--color-contrast-100));--_border-color:var(--file-input-border-color,var(--color-contrast-300));--_min-height:var(--file-input-min-height,var(--size-36));flex-direction:column;align-items:stretch;display:inline-flex}.file-input-wrapper{gap:var(--size-1-5);flex-direction:column;width:100%;display:flex}.label-outside{font-size:var(--text-sm);font-weight:var(--font-medium);line-height:var(--leading-none);color:var(--color-contrast-500);cursor:default;-webkit-user-select:none;user-select:none;transition:color var(--transition-fast)}.dropzone{box-sizing:border-box;gap:var(--size-2);min-height:var(--_min-height);padding:var(--size-6) var(--size-4);text-align:center;cursor:pointer;background:var(--_bg);border:var(--border-2) dashed var(--_border-color);border-radius:var(--_radius);transition:background var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast);outline:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative}.dropzone-content{gap:var(--size-2);pointer-events:none;flex-direction:column;align-items:center;display:flex}.dropzone-icon{color:var(--color-contrast-400);transition:color var(--transition-fast), transform var(--transition-fast);justify-content:center;align-items:center;display:flex}.dropzone-title{font-size:var(--_font-size);font-weight:var(--font-medium);line-height:var(--leading-snug);color:var(--color-contrast-700)}.dropzone-title u{color:var(--_theme-focus,var(--color-primary));text-underline-offset:2px;transition:text-decoration-color var(--transition-fast);-webkit-text-decoration:underline #0000;text-decoration:underline #0000}.dropzone-hint{font-size:var(--text-xs);line-height:var(--leading-tight);color:var(--color-contrast-400)}.helper-text[hidden]{display:none}.helper-text{font-size:var(--text-xs);line-height:var(--leading-tight);color:color-mix(in oklch, var(--color-contrast-500) 80%, var(--color-canvas));padding-left:2px;padding-right:2px}.file-list{gap:var(--size-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.file-item{box-sizing:border-box;gap:var(--size-3);padding:var(--size-2) var(--size-3);background:var(--color-contrast-50);border:var(--border) solid var(--color-contrast-200);border-radius:var(--_radius);transition:background var(--transition-fast);align-items:center;display:flex}.file-item:hover{background:var(--color-contrast-100)}.file-icon{color:var(--_theme-focus,var(--color-primary));flex-shrink:0}.file-meta{gap:var(--size-0-5);flex-direction:column;flex:1;min-width:0;display:flex}.file-name{text-overflow:ellipsis;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-contrast-700);white-space:nowrap;overflow:hidden}.file-size{font-size:var(--text-xs);color:var(--color-contrast-400)}.file-remove{padding:var(--size-1);color:var(--color-contrast-400);cursor:pointer;border-radius:var(--rounded-sm);transition:color var(--transition-fast), background var(--transition-fast);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.file-remove:hover{color:var(--color-error);background:var(--color-error-backdrop,color-mix(in oklch, var(--color-error) 12%, transparent))}.file-grid{--_thumb-size:var(--file-input-thumb-size,var(--size-24));grid-template-columns:repeat(auto-fill, minmax(var(--_thumb-size), 1fr));gap:var(--size-2);margin:0;padding:0;list-style:none;display:grid}.file-card{box-sizing:border-box;gap:var(--size-1);flex-direction:column;display:flex;position:relative}.file-thumb{box-sizing:border-box;aspect-ratio:1;object-fit:cover;background:var(--color-contrast-100);border:var(--border) solid var(--color-contrast-200);border-radius:var(--_radius);width:100%;display:block}.file-thumb-generic{color:var(--color-contrast-400);justify-content:center;align-items:center;display:flex}.file-card-name{text-overflow:ellipsis;font-size:var(--text-xs);color:var(--color-contrast-600);text-align:center;white-space:nowrap;overflow:hidden}.file-card-remove{top:var(--size-1);right:var(--size-1);width:var(--size-5);height:var(--size-5);color:var(--color-contrast-50);cursor:pointer;background:color-mix(in oklch, var(--color-contrast-900) 55%, transparent);border-radius:var(--rounded-full);transition:background var(--transition-fast), color var(--transition-fast);border:none;justify-content:center;align-items:center;padding:0;display:flex;position:absolute}.file-card-remove:hover{color:var(--color-canvas);background:var(--color-error)}:host(:not([disabled])) .dropzone:hover{border-color:var(--color-contrast-400)}:host(:not([disabled])) .dropzone:hover .dropzone-title u{-webkit-text-decoration-color:var(--_theme-focus,var(--color-primary));-webkit-text-decoration-color:var(--_theme-focus,var(--color-primary));text-decoration-color:var(--_theme-focus,var(--color-primary))}:host(:not([disabled])) .dropzone:focus-visible{border-color:var(--_theme-focus,var(--color-primary));box-shadow:var(--_theme-shadow,var(--color-primary-focus-shadow))}:host(:not([disabled])) .dropzone:hover .dropzone-icon,:host(:not([disabled])) .dropzone:focus-visible .dropzone-icon{color:var(--_theme-focus,var(--color-primary));transform:translateY(-1px)}:host([drag-over]) .dropzone{background:color-mix(in oklch, var(--_theme-base,var(--color-primary)) 8%, transparent);border-color:var(--_theme-focus,var(--color-primary));box-shadow:var(--_theme-shadow,var(--color-primary-focus-shadow))}:host([drag-over]) .dropzone .dropzone-icon{color:var(--_theme-focus,var(--color-primary));transform:translateY(-2px)scale(1.05)}:host([invalid]) .dropzone{border-color:var(--color-error)}:host([invalid]) .label-outside,.helper-text-error{color:var(--color-error)}}@layer refine.variants{:host(:not([variant])),:host([variant=solid]){--_bg:var(--file-input-bg,var(--color-contrast-50));--_border-color:var(--file-input-border-color,var(--color-contrast-300))}:host([variant=flat]){--_bg:var(--file-input-bg,var(--color-contrast-100));--_border-color:var(--file-input-border-color,color-mix(in oklch, var(--_theme-focus) 20%, transparent))}:host([variant=flat]) .dropzone:hover{background:var(--file-input-hover-bg,color-mix(in oklch, var(--_theme-base) 6%, var(--color-contrast-100)));border-color:var(--file-input-hover-border-color,color-mix(in oklch, var(--_theme-base) 35%, var(--color-contrast-300)))}:host([variant=flat][drag-over]) .dropzone,:host([variant=flat]) .dropzone:focus-visible{background:var(--file-input-focus-bg,color-mix(in oklch, var(--_theme-base) 8%, var(--color-canvas)));border-color:var(--file-input-focus-border-color,color-mix(in oklch, var(--_theme-focus) 60%, transparent));box-shadow:var(--_theme-shadow)}:host([variant=bordered]){--_bg:var(--file-input-bg,var(--_theme-backdrop));--_border-color:var(--file-input-border-color,color-mix(in oklch, var(--_theme-focus) 70%, transparent))}:host([variant=bordered]) .dropzone:hover{border-color:var(--file-input-hover-border-color,var(--_theme-focus))}:host([variant=outline]){--_bg:var(--file-input-bg,transparent)}:host([variant=ghost]){--_bg:var(--file-input-bg,transparent);--_border-color:var(--file-input-border-color,var(--color-contrast-200))}:host([variant=ghost]) .dropzone:hover{background:var(--file-input-hover-bg,var(--color-contrast-100))}}@layer refine.utilities{:host([fullwidth]){width:100%}}";
3
3
  //#endregion
4
4
  export { e as default };
5
5
 
@@ -1 +1 @@
1
- {"version":3,"file":"file-input.css.js","names":[],"sources":["../../../src/inputs/file-input/file-input.css?inline"],"sourcesContent":["@layer refine.base {\n :host {\n --_font-size: var(--file-input-font-size, var(--text-sm));\n --_radius: var(--file-input-radius, var(--rounded-lg));\n --_bg: var(--file-input-bg, var(--color-contrast-100));\n --_border-color: var(--file-input-border-color, var(--color-contrast-300));\n --_min-height: var(--file-input-min-height, var(--size-36));\n\n display: inline-flex;\n flex-direction: column;\n align-items: stretch;\n }\n\n .file-input-wrapper {\n display: flex;\n flex-direction: column;\n gap: var(--size-1-5);\n width: 100%;\n }\n\n /* ========================================\n Label\n ======================================== */\n\n .label-outside {\n font-size: var(--text-sm);\n font-weight: var(--font-medium);\n line-height: var(--leading-none);\n color: var(--color-contrast-500);\n cursor: default;\n user-select: none;\n transition: color var(--transition-fast);\n }\n\n /* ========================================\n Dropzone\n ======================================== */\n\n .dropzone {\n position: relative;\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n gap: var(--size-2);\n align-items: center;\n justify-content: center;\n min-height: var(--_min-height);\n padding: var(--size-6) var(--size-4);\n text-align: center;\n cursor: pointer;\n outline: none;\n background: var(--_bg);\n border: var(--border-2) dashed 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 }\n\n .dropzone-content {\n display: flex;\n flex-direction: column;\n gap: var(--size-2);\n align-items: center;\n pointer-events: none;\n }\n\n .dropzone-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--color-contrast-400);\n transition:\n color var(--transition-fast),\n transform var(--transition-fast);\n }\n\n .dropzone-title {\n font-size: var(--_font-size);\n font-weight: var(--font-medium);\n line-height: var(--leading-snug);\n color: var(--color-contrast-700);\n }\n\n .dropzone-title u {\n color: var(--_theme-focus, var(--color-primary));\n text-decoration: underline;\n text-decoration-color: transparent;\n text-underline-offset: 2px;\n transition: text-decoration-color var(--transition-fast);\n }\n\n .dropzone-hint {\n font-size: var(--text-xs);\n line-height: var(--leading-tight);\n color: var(--color-contrast-400);\n }\n\n /* ========================================\n Helper Text\n ======================================== */\n\n .helper-text[hidden] {\n display: none;\n }\n\n .helper-text {\n padding-inline: 2px;\n font-size: var(--text-xs);\n line-height: var(--leading-tight);\n color: var(--color-contrast-500);\n }\n\n /* ========================================\n File List\n ======================================== */\n\n .file-list {\n display: flex;\n flex-direction: column;\n gap: var(--size-1);\n padding: 0;\n margin: 0;\n list-style: none;\n }\n\n .file-item {\n box-sizing: border-box;\n display: flex;\n gap: var(--size-3);\n align-items: center;\n padding: var(--size-2) var(--size-3);\n background: var(--color-contrast-50);\n border: var(--border) solid var(--color-contrast-200);\n border-radius: var(--_radius);\n transition: background var(--transition-fast);\n }\n\n .file-item:hover {\n background: var(--color-contrast-100);\n }\n\n .file-icon {\n flex-shrink: 0;\n color: var(--_theme-focus, var(--color-primary));\n }\n\n .file-meta {\n display: flex;\n flex: 1;\n flex-direction: column;\n gap: var(--size-0-5);\n min-width: 0;\n }\n\n .file-name {\n overflow: hidden;\n text-overflow: ellipsis;\n font-size: var(--text-sm);\n font-weight: var(--font-medium);\n color: var(--color-contrast-700);\n white-space: nowrap;\n }\n\n .file-size {\n font-size: var(--text-xs);\n color: var(--color-contrast-400);\n }\n\n .file-remove {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n padding: var(--size-1);\n color: var(--color-contrast-400);\n cursor: pointer;\n background: transparent;\n border: none;\n border-radius: var(--rounded-sm);\n transition:\n color var(--transition-fast),\n background var(--transition-fast);\n }\n\n .file-remove:hover {\n color: var(--color-error);\n background: var(--color-error-backdrop, color-mix(in oklch, var(--color-error) 12%, transparent));\n }\n\n /* ========================================\n File Gallery (preview grid)\n ======================================== */\n\n .file-grid {\n --_thumb-size: var(--file-input-thumb-size, var(--size-24));\n\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(var(--_thumb-size), 1fr));\n gap: var(--size-2);\n padding: 0;\n margin: 0;\n list-style: none;\n }\n\n .file-card {\n position: relative;\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n gap: var(--size-1);\n }\n\n .file-thumb {\n box-sizing: border-box;\n display: block;\n width: 100%;\n aspect-ratio: 1;\n object-fit: cover;\n background: var(--color-contrast-100);\n border: var(--border) solid var(--color-contrast-200);\n border-radius: var(--_radius);\n }\n\n .file-thumb-generic {\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--color-contrast-400);\n }\n\n .file-card-name {\n overflow: hidden;\n text-overflow: ellipsis;\n font-size: var(--text-xs);\n color: var(--color-contrast-600);\n text-align: center;\n white-space: nowrap;\n }\n\n .file-card-remove {\n position: absolute;\n top: var(--size-1);\n right: var(--size-1);\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--size-5);\n height: var(--size-5);\n padding: 0;\n color: var(--color-contrast-50);\n cursor: pointer;\n background: color-mix(in oklch, var(--color-contrast-900) 55%, transparent);\n border: none;\n border-radius: var(--rounded-full);\n transition:\n background var(--transition-fast),\n color var(--transition-fast);\n }\n\n .file-card-remove:hover {\n color: var(--color-canvas);\n background: var(--color-error);\n }\n\n /* ========================================\n Hover & Focus\n ======================================== */\n\n :host(:not([disabled])) .dropzone:hover {\n border-color: var(--color-contrast-400);\n }\n\n :host(:not([disabled])) .dropzone:hover .dropzone-title u {\n text-decoration-color: var(--_theme-focus, var(--color-primary));\n }\n\n :host(:not([disabled])) .dropzone:focus-visible {\n border-color: var(--_theme-focus, var(--color-primary));\n box-shadow: var(--_theme-shadow, var(--color-primary-focus-shadow));\n }\n\n :host(:not([disabled])) .dropzone:hover .dropzone-icon,\n :host(:not([disabled])) .dropzone:focus-visible .dropzone-icon {\n color: var(--_theme-focus, var(--color-primary));\n transform: translateY(-1px);\n }\n\n /* ========================================\n Drag-Over State\n ======================================== */\n\n :host([drag-over]) .dropzone {\n background: color-mix(in oklch, var(--_theme-base, var(--color-primary)) 8%, var(--color-canvas));\n border-color: var(--_theme-focus, var(--color-primary));\n box-shadow: var(--_theme-shadow, var(--color-primary-focus-shadow));\n }\n\n :host([drag-over]) .dropzone .dropzone-icon {\n color: var(--_theme-focus, var(--color-primary));\n transform: translateY(-2px) scale(1.05);\n }\n\n /* ========================================\n Error State\n ======================================== */\n\n :host([invalid]) .dropzone {\n border-color: var(--color-error);\n }\n\n :host([invalid]) .label-outside {\n color: var(--color-error);\n }\n\n /* ========================================\n Error Text\n ======================================== */\n\n .helper-text-error {\n color: var(--color-error);\n }\n}\n\n@layer refine.variants {\n /* Solid (Default) */\n :host(:not([variant])),\n :host([variant='solid']) {\n --_bg: var(--file-input-bg, var(--color-contrast-50));\n --_border-color: var(--file-input-border-color, var(--color-contrast-300));\n }\n\n /* Flat */\n :host([variant='flat']) {\n --_bg: var(--file-input-bg, var(--color-contrast-100));\n --_border-color: var(--file-input-border-color, var(--_theme-border));\n }\n\n :host([variant='flat']) .dropzone:hover {\n background: var(--file-input-hover-bg, color-mix(in oklch, var(--_theme-base) 6%, var(--color-contrast-100)));\n border-color: var(\n --file-input-hover-border-color,\n color-mix(in oklch, var(--_theme-base) 35%, var(--color-contrast-300))\n );\n }\n\n :host([variant='flat']) .dropzone:focus-visible,\n :host([variant='flat'][drag-over]) .dropzone {\n background: var(--file-input-focus-bg, color-mix(in oklch, var(--_theme-base) 8%, var(--color-canvas)));\n border-color: var(--file-input-focus-border-color, color-mix(in oklch, var(--_theme-focus) 60%, transparent));\n box-shadow: var(--_theme-shadow);\n }\n\n /* Bordered */\n :host([variant='bordered']) {\n --_bg: var(--file-input-bg, var(--_theme-backdrop));\n --_border-color: var(--file-input-border-color, color-mix(in oklch, var(--_theme-focus) 70%, transparent));\n }\n\n :host([variant='bordered']) .dropzone:hover {\n border-color: var(--file-input-hover-border-color, var(--_theme-focus));\n }\n\n /* Outline */\n :host([variant='outline']) {\n --_bg: var(--file-input-bg, transparent);\n }\n\n /* Ghost */\n :host([variant='ghost']) {\n --_bg: var(--file-input-bg, transparent);\n --_border-color: var(--file-input-border-color, var(--color-contrast-200));\n }\n\n :host([variant='ghost']) .dropzone:hover {\n background: var(--file-input-hover-bg, var(--color-contrast-100));\n }\n}\n\n@layer refine.utilities {\n :host([fullwidth]) {\n width: 100%;\n }\n}\n"],"mappings":""}
1
+ {"version":3,"file":"file-input.css.js","names":[],"sources":["../../../src/inputs/file-input/file-input.css?inline"],"sourcesContent":["@layer refine.base {\n :host {\n --_font-size: var(--file-input-font-size, var(--text-sm));\n --_radius: var(--file-input-radius, var(--rounded-lg));\n --_bg: var(--file-input-bg, var(--color-contrast-100));\n --_border-color: var(--file-input-border-color, var(--color-contrast-300));\n --_min-height: var(--file-input-min-height, var(--size-36));\n\n display: inline-flex;\n flex-direction: column;\n align-items: stretch;\n }\n\n .file-input-wrapper {\n display: flex;\n flex-direction: column;\n gap: var(--size-1-5);\n width: 100%;\n }\n\n /* ========================================\n Label\n ======================================== */\n\n .label-outside {\n font-size: var(--text-sm);\n font-weight: var(--font-medium);\n line-height: var(--leading-none);\n color: var(--color-contrast-500);\n cursor: default;\n user-select: none;\n transition: color var(--transition-fast);\n }\n\n /* ========================================\n Dropzone\n ======================================== */\n\n .dropzone {\n position: relative;\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n gap: var(--size-2);\n align-items: center;\n justify-content: center;\n min-height: var(--_min-height);\n padding: var(--size-6) var(--size-4);\n text-align: center;\n cursor: pointer;\n outline: none;\n background: var(--_bg);\n border: var(--border-2) dashed 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 }\n\n .dropzone-content {\n display: flex;\n flex-direction: column;\n gap: var(--size-2);\n align-items: center;\n pointer-events: none;\n }\n\n .dropzone-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--color-contrast-400);\n transition:\n color var(--transition-fast),\n transform var(--transition-fast);\n }\n\n .dropzone-title {\n font-size: var(--_font-size);\n font-weight: var(--font-medium);\n line-height: var(--leading-snug);\n color: var(--color-contrast-700);\n }\n\n .dropzone-title u {\n color: var(--_theme-focus, var(--color-primary));\n text-decoration: underline;\n text-decoration-color: transparent;\n text-underline-offset: 2px;\n transition: text-decoration-color var(--transition-fast);\n }\n\n .dropzone-hint {\n font-size: var(--text-xs);\n line-height: var(--leading-tight);\n color: var(--color-contrast-400);\n }\n\n /* ========================================\n Helper Text\n ======================================== */\n\n .helper-text[hidden] {\n display: none;\n }\n\n .helper-text {\n padding-inline: 2px;\n font-size: var(--text-xs);\n line-height: var(--leading-tight);\n color: color-mix(in oklch, var(--color-contrast-500) 80%, var(--color-canvas));\n }\n\n /* ========================================\n File List\n ======================================== */\n\n .file-list {\n display: flex;\n flex-direction: column;\n gap: var(--size-1);\n padding: 0;\n margin: 0;\n list-style: none;\n }\n\n .file-item {\n box-sizing: border-box;\n display: flex;\n gap: var(--size-3);\n align-items: center;\n padding: var(--size-2) var(--size-3);\n background: var(--color-contrast-50);\n border: var(--border) solid var(--color-contrast-200);\n border-radius: var(--_radius);\n transition: background var(--transition-fast);\n }\n\n .file-item:hover {\n background: var(--color-contrast-100);\n }\n\n .file-icon {\n flex-shrink: 0;\n color: var(--_theme-focus, var(--color-primary));\n }\n\n .file-meta {\n display: flex;\n flex: 1;\n flex-direction: column;\n gap: var(--size-0-5);\n min-width: 0;\n }\n\n .file-name {\n overflow: hidden;\n text-overflow: ellipsis;\n font-size: var(--text-sm);\n font-weight: var(--font-medium);\n color: var(--color-contrast-700);\n white-space: nowrap;\n }\n\n .file-size {\n font-size: var(--text-xs);\n color: var(--color-contrast-400);\n }\n\n .file-remove {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n padding: var(--size-1);\n color: var(--color-contrast-400);\n cursor: pointer;\n background: transparent;\n border: none;\n border-radius: var(--rounded-sm);\n transition:\n color var(--transition-fast),\n background var(--transition-fast);\n }\n\n .file-remove:hover {\n color: var(--color-error);\n background: var(--color-error-backdrop, color-mix(in oklch, var(--color-error) 12%, transparent));\n }\n\n /* ========================================\n File Gallery (preview grid)\n ======================================== */\n\n .file-grid {\n --_thumb-size: var(--file-input-thumb-size, var(--size-24));\n\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(var(--_thumb-size), 1fr));\n gap: var(--size-2);\n padding: 0;\n margin: 0;\n list-style: none;\n }\n\n .file-card {\n position: relative;\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n gap: var(--size-1);\n }\n\n .file-thumb {\n box-sizing: border-box;\n display: block;\n width: 100%;\n aspect-ratio: 1;\n object-fit: cover;\n background: var(--color-contrast-100);\n border: var(--border) solid var(--color-contrast-200);\n border-radius: var(--_radius);\n }\n\n .file-thumb-generic {\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--color-contrast-400);\n }\n\n .file-card-name {\n overflow: hidden;\n text-overflow: ellipsis;\n font-size: var(--text-xs);\n color: var(--color-contrast-600);\n text-align: center;\n white-space: nowrap;\n }\n\n .file-card-remove {\n position: absolute;\n top: var(--size-1);\n right: var(--size-1);\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--size-5);\n height: var(--size-5);\n padding: 0;\n color: var(--color-contrast-50);\n cursor: pointer;\n background: color-mix(in oklch, var(--color-contrast-900) 55%, transparent);\n border: none;\n border-radius: var(--rounded-full);\n transition:\n background var(--transition-fast),\n color var(--transition-fast);\n }\n\n .file-card-remove:hover {\n color: var(--color-canvas);\n background: var(--color-error);\n }\n\n /* ========================================\n Hover & Focus\n ======================================== */\n\n :host(:not([disabled])) .dropzone:hover {\n border-color: var(--color-contrast-400);\n }\n\n :host(:not([disabled])) .dropzone:hover .dropzone-title u {\n text-decoration-color: var(--_theme-focus, var(--color-primary));\n }\n\n :host(:not([disabled])) .dropzone:focus-visible {\n border-color: var(--_theme-focus, var(--color-primary));\n box-shadow: var(--_theme-shadow, var(--color-primary-focus-shadow));\n }\n\n :host(:not([disabled])) .dropzone:hover .dropzone-icon,\n :host(:not([disabled])) .dropzone:focus-visible .dropzone-icon {\n color: var(--_theme-focus, var(--color-primary));\n transform: translateY(-1px);\n }\n\n /* ========================================\n Drag-Over State\n ======================================== */\n\n :host([drag-over]) .dropzone {\n background: color-mix(in oklch, var(--_theme-base, var(--color-primary)) 8%, transparent);\n border-color: var(--_theme-focus, var(--color-primary));\n box-shadow: var(--_theme-shadow, var(--color-primary-focus-shadow));\n }\n\n :host([drag-over]) .dropzone .dropzone-icon {\n color: var(--_theme-focus, var(--color-primary));\n transform: translateY(-2px) scale(1.05);\n }\n\n /* ========================================\n Error State\n ======================================== */\n\n :host([invalid]) .dropzone {\n border-color: var(--color-error);\n }\n\n :host([invalid]) .label-outside {\n color: var(--color-error);\n }\n\n /* ========================================\n Error Text\n ======================================== */\n\n .helper-text-error {\n color: var(--color-error);\n }\n}\n\n@layer refine.variants {\n /* Solid (Default) */\n :host(:not([variant])),\n :host([variant='solid']) {\n --_bg: var(--file-input-bg, var(--color-contrast-50));\n --_border-color: var(--file-input-border-color, var(--color-contrast-300));\n }\n\n /* Flat — a near-invisible border, deliberately weaker than bordered's\n 70%-focus border (matches button.css's flat/bordered split) so the two\n don't read as the same box at a glance. */\n :host([variant='flat']) {\n --_bg: var(--file-input-bg, var(--color-contrast-100));\n --_border-color: var(--file-input-border-color, color-mix(in oklch, var(--_theme-focus) 20%, transparent));\n }\n\n :host([variant='flat']) .dropzone:hover {\n background: var(--file-input-hover-bg, color-mix(in oklch, var(--_theme-base) 6%, var(--color-contrast-100)));\n border-color: var(\n --file-input-hover-border-color,\n color-mix(in oklch, var(--_theme-base) 35%, var(--color-contrast-300))\n );\n }\n\n :host([variant='flat']) .dropzone:focus-visible,\n :host([variant='flat'][drag-over]) .dropzone {\n background: var(--file-input-focus-bg, color-mix(in oklch, var(--_theme-base) 8%, var(--color-canvas)));\n border-color: var(--file-input-focus-border-color, color-mix(in oklch, var(--_theme-focus) 60%, transparent));\n box-shadow: var(--_theme-shadow);\n }\n\n /* Bordered */\n :host([variant='bordered']) {\n --_bg: var(--file-input-bg, var(--_theme-backdrop));\n --_border-color: var(--file-input-border-color, color-mix(in oklch, var(--_theme-focus) 70%, transparent));\n }\n\n :host([variant='bordered']) .dropzone:hover {\n border-color: var(--file-input-hover-border-color, var(--_theme-focus));\n }\n\n /* Outline */\n :host([variant='outline']) {\n --_bg: var(--file-input-bg, transparent);\n }\n\n /* Ghost */\n :host([variant='ghost']) {\n --_bg: var(--file-input-bg, transparent);\n --_border-color: var(--file-input-border-color, var(--color-contrast-200));\n }\n\n :host([variant='ghost']) .dropzone:hover {\n background: var(--file-input-hover-bg, var(--color-contrast-100));\n }\n}\n\n@layer refine.utilities {\n :host([fullwidth]) {\n width: 100%;\n }\n}\n"],"mappings":""}
@@ -21,6 +21,8 @@ export { FORM_TAG } from './form/form';
21
21
  export type { OreFormEvents, OreFormProps } from './form/form';
22
22
  export { INPUT_TAG } from './input/input';
23
23
  export type { OreInputEvents, OreInputProps } from './input/input';
24
+ export { MESSAGE_COMPOSER_TAG } from './message-composer/message-composer';
25
+ export type { OreMessageComposerEvents, OreMessageComposerProps } from './message-composer/message-composer';
24
26
  export { NUMBER_INPUT_TAG } from './number-input/number-input';
25
27
  export type { OreNumberInputEvents, OreNumberInputProps } from './number-input/number-input';
26
28
  export { OTP_INPUT_TAG } from './otp-input/otp-input';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/inputs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC/F,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC9F,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,YAAY,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACzF,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AACjF,YAAY,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAC3F,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACzF,YAAY,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACrG,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC/E,YAAY,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACrF,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,YAAY,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAC7F,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACjF,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC7E,YAAY,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACzF,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,YAAY,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACzF,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,YAAY,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,YAAY,EAAE,aAAa,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/inputs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC/F,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC9F,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,YAAY,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACzF,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AACjF,YAAY,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAC3F,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACzF,YAAY,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACrG,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC/E,YAAY,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACrF,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,YAAY,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAC7G,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,YAAY,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAC7F,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACjF,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC7E,YAAY,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACzF,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,YAAY,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACzF,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,YAAY,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,YAAY,EAAE,aAAa,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC"}
@@ -1,2 +1,2 @@
1
- var e=`@layer refine.base{:host{--_font-size:var(--input-font-size,var(--text-sm));--_gap:var(--input-gap,var(--size-2));--_field-height:var(--input-height,var(--size-10));--_padding:var(--input-padding,var(--size-1-5) var(--size-3));--_radius:var(--input-radius,var(--rounded-lg));--_placeholder:var(--input-placeholder-color,var(--color-contrast-500));--_bg:var(--input-bg,var(--color-contrast-100));--_border-color:var(--input-border-color,var(--color-contrast-300));flex-direction:column;align-items:stretch;display:inline-flex}.input-wrapper{flex-direction:column;gap:0;width:100%;display:flex}.field{box-sizing:border-box;height:var(--_field-height);min-height:var(--_field-height);padding:var(--_padding);background:var(--_bg);border:var(--border) solid var(--_border-color);border-radius:var(--_radius);box-shadow:var(--_shadow,var(--shadow-2xs));transition:var(--_motion-transition,background var(--transition-fast), backdrop-filter var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast));flex-direction:column;justify-content:center;align-items:stretch;gap:0;display:flex}.input-wrapper:has(.label:not([hidden])) .field{height:auto}:host(:not([label-placement=outside])) .input-wrapper{position:relative}:host(:not([label-placement=outside])) .label{z-index:1;pointer-events:none;top:var(--size-2);position:absolute}:host(:not([label-placement=outside])) .label:not(: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:var(--_padding-x,var(--size-3))}:host(:not([label-placement=outside])) .label: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:var(--_padding-x,var(--size-3))}:host(:not([label-placement=outside])) .input-wrapper:has(.label:not([hidden])) .field{padding-top:calc(var(--size-2) + 1lh + 2px)}.input-row{gap:var(--_gap);flex:1;align-items:center;display:flex}.label,label.label{text-overflow:ellipsis;font-size:var(--text-xs);font-weight:var(--font-medium);line-height:var(--leading-tight);color:var(--color-contrast-500);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;transition:var(--_motion-transition,color var(--transition-fast));margin-bottom:2px;overflow:hidden}:host([label-placement=outside]) .label,:host([label-placement=outside]) label.label{font-size:var(--text-sm);line-height:var(--leading-none);order:-1;margin-bottom:0}.helper-text{margin-top:var(--size-1-5);font-size:var(--text-xs);line-height:var(--leading-tight);color:var(--color-contrast-500);overflow-wrap:anywhere;padding-left:2px;padding-right:2px}.helper-text[hidden]{display:none}::slotted(svg){width:var(--_icon-size,var(--leading-6));height:var(--_icon-size,var(--leading-6));flex-shrink:0}}@layer refine.overrides{input{min-width:0;font:inherit;font-size:var(--_font-size);line-height:var(--leading-normal);color:var(--color-contrast-900);background:0 0;border:none;outline:none;flex:1}input::placeholder{color:var(--_placeholder);transition:color var(--transition-fast)}input:focus-visible{outline:none}:host(:not([disabled],[variant=bordered],[variant=flat])) .field:hover{border-color:var(--color-contrast-400)}:host(:not([disabled],[variant=text],[variant=flat])) .field:focus-within{background:var(--color-canvas);border-color:var(--_theme-focus);box-shadow:var(--_theme-shadow,var(--color-primary-focus-shadow))}:host(:not([disabled])) .field:focus-within .label,:host(:not([disabled])) .field:focus-within ::slotted([slot=prefix]),:host(:not([disabled])) .field:focus-within ::slotted([slot=suffix]){color:var(--_theme-focus)}.clear-btn{width:var(--size-5);min-width:var(--_touch-target);height:var(--size-5);min-height:var(--_touch-target);color:var(--color-contrast-500);cursor:pointer;border-radius:var(--rounded-sm);transition:var(--_motion-transition,color var(--transition-fast));background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:none}.clear-btn:hover{color:var(--color-contrast-900)}.clear-btn:focus-visible{outline:var(--border-2) solid var(--_theme-focus);outline-offset:var(--border)}:host([clearable]) .clear-btn{display:flex}:host([clearable]:not([has-value])) .clear-btn{visibility:hidden;pointer-events:none}.pwd-toggle-btn{width:var(--size-5);min-width:var(--_touch-target);height:var(--size-5);min-height:var(--_touch-target);color:var(--color-contrast-500);cursor:pointer;border-radius:var(--rounded-sm);transition:var(--_motion-transition,color var(--transition-fast));background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:none}.pwd-toggle-btn:hover{color:var(--color-contrast-900)}.pwd-toggle-btn:focus-visible{outline:var(--border-2) solid var(--_theme-focus);outline-offset:var(--border)}:host([type=password]) .pwd-toggle-btn{display:flex}.char-counter{font-size:var(--text-xs);line-height:var(--leading-tight);color:var(--color-contrast-400);text-align:end;white-space:nowrap;padding-left:2px;padding-right:2px}.char-counter[data-near-limit]{color:var(--color-warning,#f59e0b)}.char-counter[data-at-limit]{color:var(--color-error)}:host([error]:not([error=""])) .field{border-color:var(--color-error)}:host([error]:not([error=""])) .field:focus-within{border-color:var(--color-error);box-shadow:var(--color-error-focus-shadow)}:host([error]:not([error=""])) .label-inset,:host([error]:not([error=""])) .label-outside,.helper-text[role=alert]{color:var(--color-error)}}@layer refine.variants{:host(:not([variant])),:host([variant=solid]){--_bg:var(--input-bg,var(--color-contrast-50));--_border-color:var(--input-border-color,var(--color-contrast-300))}:host(:not([variant])) .field,:host([variant=solid]) .field{box-shadow:var(--shadow-2xs)}:host(:not([variant],[disabled])) .field:focus-within,:host([variant=solid]:not([disabled])) .field:focus-within{box-shadow:var(--_theme-shadow)}:host([variant=flat]){--_bg:var(--input-bg,var(--color-contrast-100));--_border-color:var(--input-border-color,var(--_theme-border))}:host([variant=flat]) .field{box-shadow:var(--inset-shadow-2xs)}:host([variant=flat]) .field:hover{background:var(--input-hover-bg,color-mix(in oklch, var(--_theme-base) 6%, var(--color-contrast-100)));border-color:var(--input-hover-border-color,color-mix(in oklch, var(--_theme-base) 35%, var(--color-contrast-300)))}:host([variant=flat]) .field:focus-within{background:var(--input-focus-bg,color-mix(in oklch, var(--_theme-base) 8%, var(--color-canvas)));border-color:var(--input-focus-border-color,color-mix(in oklch, var(--_theme-focus) 60%, transparent));box-shadow:var(--_theme-shadow)}:host([variant=bordered]){--_bg:var(--input-bg,var(--_theme-backdrop));--_border-color:var(--input-border-color,color-mix(in oklch, var(--_theme-focus) 70%, transparent))}:host([variant=bordered]) .field:hover{border-color:var(--input-hover-border-color,var(--_theme-focus))}:host([variant=outline]){--_bg:var(--input-bg,transparent)}:host([variant=outline]) .field{box-shadow:none}:host([variant=outline]:not([disabled])) .field:focus-within{box-shadow:var(--_theme-shadow)}:host([variant=ghost]){--_bg:var(--input-bg,transparent);--_border-color:var(--input-border-color,transparent)}:host([variant=ghost]) .field{box-shadow:none}:host([variant=ghost]) .field:hover{background:var(--input-hover-bg,var(--color-contrast-100))}:host([variant=ghost]:not([disabled])) .field:focus-within{box-shadow:var(--_theme-shadow)}:host([variant=text]){--_bg:var(--input-bg,transparent);--_border-color:var(--input-border-color,var(--color-contrast-300))}:host([variant=text]) .field{border:none;border-bottom:var(--border) solid var(--_border-color);box-shadow:none;border-radius:0}:host([variant=text]) .field:focus-within{border-bottom:var(--border-2) solid var(--input-focus-border-color,var(--_theme-focus))}}@layer refine.utilities{:host([fullwidth]){width:100%}}`;exports.default=e;
1
+ var e=`@layer refine.base{:host{--_font-size:var(--input-font-size,var(--text-sm));--_gap:var(--input-gap,var(--size-2));--_field-height:var(--input-height,var(--size-10));--_padding:var(--input-padding,var(--size-1-5) var(--size-3));--_radius:var(--input-radius,var(--rounded-lg));--_placeholder:var(--input-placeholder-color,var(--color-contrast-500));--_bg:var(--input-bg,var(--color-contrast-100));--_border-color:var(--input-border-color,var(--color-contrast-300));flex-direction:column;align-items:stretch;display:inline-flex}.input-wrapper{flex-direction:column;gap:0;width:100%;display:flex}.field{box-sizing:border-box;height:var(--_field-height);min-height:var(--_field-height);padding:var(--_padding);background:var(--_bg);border:var(--border) solid var(--_border-color);border-radius:var(--_radius);box-shadow:var(--_shadow,var(--shadow-2xs));transition:var(--_motion-transition,background var(--transition-fast), backdrop-filter var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast));flex-direction:column;justify-content:center;align-items:stretch;gap:0;display:flex}.input-wrapper:has(.label:not([hidden])) .field{height:auto}:host(:not([label-placement=outside])) .input-wrapper{position:relative}:host(:not([label-placement=outside])) .label{z-index:1;pointer-events:none;top:var(--size-2);position:absolute}:host(:not([label-placement=outside])) .label:not(: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:var(--_padding-x,var(--size-3))}:host(:not([label-placement=outside])) .label: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:var(--_padding-x,var(--size-3))}:host(:not([label-placement=outside])) .input-wrapper:has(.label:not([hidden])) .field{padding-top:calc(var(--size-2) + 1lh + 2px)}.input-row{gap:var(--_gap);flex:1;align-items:center;display:flex}.label,label.label{text-overflow:ellipsis;font-size:var(--text-xs);font-weight:var(--font-medium);line-height:var(--leading-tight);color:var(--color-contrast-500);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;transition:var(--_motion-transition,color var(--transition-fast));margin-bottom:2px;overflow:hidden}:host([label-placement=outside]) .label,:host([label-placement=outside]) label.label{font-size:var(--text-sm);line-height:var(--leading-none);order:-1;margin-bottom:0}.helper-text{margin-top:var(--size-1-5);font-size:var(--text-xs);line-height:var(--leading-tight);color:color-mix(in oklch, var(--color-contrast-500) 80%, var(--color-canvas));overflow-wrap:anywhere;padding-left:2px;padding-right:2px}.helper-text[hidden]{display:none}::slotted(svg){width:var(--_icon-size,var(--leading-6));height:var(--_icon-size,var(--leading-6));flex-shrink:0}}@layer refine.overrides{input{min-width:0;font:inherit;font-size:var(--_font-size);line-height:var(--leading-normal);color:var(--color-contrast-900);background:0 0;border:none;outline:none;flex:1}input::placeholder{color:var(--_placeholder);transition:color var(--transition-fast)}input:focus-visible{outline:none}:host(:not([disabled],[variant=bordered],[variant=flat])) .field:hover{border-color:var(--color-contrast-400)}:host(:not([disabled],[variant=text],[variant=flat])) .field:focus-within{background:var(--color-canvas);border-color:var(--_theme-focus);box-shadow:var(--_theme-shadow,var(--color-primary-focus-shadow))}:host(:not([disabled])) .field:focus-within .label,:host(:not([disabled])) .field:focus-within ::slotted([slot=prefix]),:host(:not([disabled])) .field:focus-within ::slotted([slot=suffix]){color:var(--_theme-focus)}.clear-btn{width:var(--size-5);min-width:var(--_touch-target);height:var(--size-5);min-height:var(--_touch-target);color:var(--color-contrast-500);cursor:pointer;border-radius:var(--rounded-sm);transition:var(--_motion-transition,color var(--transition-fast));background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:none}.clear-btn:hover{color:var(--color-contrast-900)}.clear-btn:focus-visible{outline:var(--border-2) solid var(--_theme-focus);outline-offset:var(--border)}:host([clearable]) .clear-btn{display:flex}:host([clearable]:not([has-value])) .clear-btn{visibility:hidden;pointer-events:none}.pwd-toggle-btn{width:var(--size-5);min-width:var(--_touch-target);height:var(--size-5);min-height:var(--_touch-target);color:var(--color-contrast-500);cursor:pointer;border-radius:var(--rounded-sm);transition:var(--_motion-transition,color var(--transition-fast));background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:none}.pwd-toggle-btn:hover{color:var(--color-contrast-900)}.pwd-toggle-btn:focus-visible{outline:var(--border-2) solid var(--_theme-focus);outline-offset:var(--border)}:host([type=password]) .pwd-toggle-btn{display:flex}.char-counter{font-size:var(--text-xs);line-height:var(--leading-tight);color:var(--color-contrast-400);text-align:end;white-space:nowrap;padding-left:2px;padding-right:2px}.char-counter[data-near-limit]{color:var(--color-warning,#f59e0b)}.char-counter[data-at-limit]{color:var(--color-error)}:host([error]:not([error=""])) .field{border-color:var(--color-error)}:host([error]:not([error=""])) .field:focus-within{border-color:var(--color-error);box-shadow:var(--color-error-focus-shadow)}:host([error]:not([error=""])) .label-inset,:host([error]:not([error=""])) .label-outside,.helper-text[role=alert]{color:var(--color-error)}}@layer refine.variants{:host(:not([variant])),:host([variant=solid]){--_bg:var(--input-bg,var(--color-contrast-50));--_border-color:var(--input-border-color,var(--color-contrast-300))}:host(:not([variant])) .field,:host([variant=solid]) .field{box-shadow:var(--shadow-2xs)}:host(:not([variant],[disabled])) .field:focus-within,:host([variant=solid]:not([disabled])) .field:focus-within{box-shadow:var(--_theme-shadow)}:host([variant=flat]){--_bg:var(--input-bg,var(--color-contrast-100));--_border-color:var(--input-border-color,color-mix(in oklch, var(--_theme-focus) 20%, transparent))}:host([variant=flat]) .field{box-shadow:var(--inset-shadow-2xs)}:host([variant=flat]) .field:hover{background:var(--input-hover-bg,color-mix(in oklch, var(--_theme-base) 6%, var(--color-contrast-100)));border-color:var(--input-hover-border-color,color-mix(in oklch, var(--_theme-base) 35%, var(--color-contrast-300)))}:host([variant=flat]) .field:focus-within{background:var(--input-focus-bg,color-mix(in oklch, var(--_theme-base) 8%, var(--color-canvas)));border-color:var(--input-focus-border-color,color-mix(in oklch, var(--_theme-focus) 60%, transparent));box-shadow:var(--_theme-shadow)}:host([variant=bordered]){--_bg:var(--input-bg,var(--_theme-backdrop));--_border-color:var(--input-border-color,color-mix(in oklch, var(--_theme-focus) 70%, transparent))}:host([variant=bordered]) .field:hover{border-color:var(--input-hover-border-color,var(--_theme-focus))}:host([variant=outline]){--_bg:var(--input-bg,transparent)}:host([variant=outline]) .field{box-shadow:none}:host([variant=outline]:not([disabled])) .field:focus-within{box-shadow:var(--_theme-shadow)}:host([variant=ghost]){--_bg:var(--input-bg,transparent);--_border-color:var(--input-border-color,transparent)}:host([variant=ghost]) .field{box-shadow:none}:host([variant=ghost]) .field:hover{background:var(--input-hover-bg,var(--color-contrast-100))}:host([variant=ghost]:not([disabled])) .field:focus-within{box-shadow:var(--_theme-shadow)}:host([variant=text]){--_bg:var(--input-bg,transparent);--_border-color:var(--input-border-color,var(--color-contrast-300))}:host([variant=text]) .field{border:none;border-bottom:var(--border) solid var(--_border-color);box-shadow:none;border-radius:0}:host([variant=text]) .field:focus-within{border-bottom:var(--border-2) solid var(--input-focus-border-color,var(--_theme-focus))}}@layer refine.utilities{:host([fullwidth]){width:100%}}`;exports.default=e;
2
2
  //# sourceMappingURL=input.css.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"input.css.cjs","names":[],"sources":["../../../src/inputs/input/input.css?inline"],"sourcesContent":["@layer refine.base {\n /* ========================================\n Base Styles & Defaults\n ======================================== */\n\n :host {\n --_font-size: var(--input-font-size, var(--text-sm));\n --_gap: var(--input-gap, var(--size-2));\n --_field-height: var(--input-height, var(--size-10));\n --_padding: var(--input-padding, var(--size-1-5) var(--size-3));\n --_radius: var(--input-radius, var(--rounded-lg));\n --_placeholder: var(--input-placeholder-color, var(--color-contrast-500));\n --_bg: var(--input-bg, var(--color-contrast-100));\n --_border-color: var(--input-border-color, var(--color-contrast-300));\n\n display: inline-flex;\n flex-direction: column;\n align-items: stretch;\n }\n\n .input-wrapper {\n display: flex;\n flex-direction: column;\n gap: 0;\n width: 100%;\n }\n\n .field {\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n gap: 0;\n align-items: stretch;\n justify-content: center;\n height: var(--_field-height);\n min-height: var(--_field-height);\n padding: var(--_padding);\n background: var(--_bg);\n border: var(--border) solid var(--_border-color);\n border-radius: var(--_radius);\n box-shadow: var(--_shadow, var(--shadow-2xs));\n transition: var(\n --_motion-transition,\n background var(--transition-fast),\n backdrop-filter var(--transition-fast),\n border-color var(--transition-fast),\n box-shadow var(--transition-fast)\n );\n }\n\n /* Expand height to fit inset label + input row */\n .input-wrapper:has(.label:not([hidden])) .field {\n height: auto;\n }\n\n /* Outside placement: label is above the field (natural flow) */\n\n /* Inset placement (default): label appears inside the field border */\n :host(:not([label-placement='outside'])) .input-wrapper {\n position: relative;\n }\n\n :host(:not([label-placement='outside'])) .label {\n position: absolute;\n inset-block-start: var(--size-2);\n inset-inline-start: var(--_padding-x, var(--size-3));\n z-index: 1;\n pointer-events: none;\n }\n\n :host(:not([label-placement='outside'])) .input-wrapper:has(.label:not([hidden])) .field {\n padding-block-start: calc(var(--size-2) + 1lh + 2px);\n }\n\n .input-row {\n display: flex;\n flex: 1;\n gap: var(--_gap);\n align-items: center;\n }\n\n /* ========================================\n Label Styles\n ======================================== */\n\n .label,\n label.label {\n margin-bottom: 2px;\n overflow: hidden;\n text-overflow: ellipsis;\n font-size: var(--text-xs);\n font-weight: var(--font-medium);\n line-height: var(--leading-tight);\n color: var(--color-contrast-500);\n white-space: nowrap;\n cursor: pointer;\n user-select: none;\n transition: var(--_motion-transition, color var(--transition-fast));\n }\n\n /* Outside placement: label moves outside the field via CSS */\n :host([label-placement='outside']) .label,\n :host([label-placement='outside']) label.label {\n order: -1;\n margin-bottom: 0;\n font-size: var(--text-sm);\n line-height: var(--leading-none);\n }\n\n /* ========================================\n Helper Text\n ======================================== */\n\n .helper-text {\n padding-inline: 2px;\n margin-top: var(--size-1-5);\n font-size: var(--text-xs);\n line-height: var(--leading-tight);\n color: var(--color-contrast-500);\n overflow-wrap: anywhere;\n }\n\n .helper-text[hidden] {\n display: none;\n }\n\n /* ========================================\n Slotted Prefix/Suffix Icons\n ======================================== */\n\n ::slotted(svg) {\n flex-shrink: 0;\n width: var(--_icon-size, var(--leading-6));\n height: var(--_icon-size, var(--leading-6));\n }\n}\n\n@layer refine.overrides {\n /* ========================================\n Input Element\n ======================================== */\n\n input {\n flex: 1;\n min-width: 0;\n font: inherit;\n font-size: var(--_font-size);\n line-height: var(--leading-normal);\n\n /* No all: unset needed - reset layer handles it */\n color: var(--color-contrast-900);\n outline: none;\n background: transparent;\n border: none;\n }\n\n input::placeholder {\n color: var(--_placeholder);\n transition: color var(--transition-fast);\n }\n\n input:focus-visible {\n outline: none;\n }\n\n /* ========================================\n Hover & Focus States\n ======================================== */\n\n :host(:not([disabled], [variant='bordered'], [variant='flat'])) .field:hover {\n border-color: var(--color-contrast-400);\n }\n\n :host(:not([disabled], [variant='text'], [variant='flat'])) .field:focus-within {\n background: var(--color-canvas);\n border-color: var(--_theme-focus);\n box-shadow: var(--_theme-shadow, var(--color-primary-focus-shadow));\n }\n\n :host(:not([disabled])) .field:focus-within .label {\n color: var(--_theme-focus);\n }\n\n :host(:not([disabled])) .field:focus-within ::slotted([slot='prefix']),\n :host(:not([disabled])) .field:focus-within ::slotted([slot='suffix']) {\n color: var(--_theme-focus);\n }\n\n /* ========================================\n Clear button\n ======================================== */\n\n .clear-btn {\n display: none;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n width: var(--size-5);\n min-width: var(--_touch-target);\n height: var(--size-5);\n min-height: var(--_touch-target);\n padding: 0;\n color: var(--color-contrast-500);\n cursor: pointer;\n background: transparent;\n border: none;\n border-radius: var(--rounded-sm);\n transition: var(--_motion-transition, color var(--transition-fast));\n }\n\n .clear-btn:hover {\n color: var(--color-contrast-900);\n }\n\n .clear-btn:focus-visible {\n outline: var(--border-2) solid var(--_theme-focus);\n outline-offset: var(--border);\n }\n\n :host([clearable]) .clear-btn {\n display: flex;\n }\n\n :host([clearable]:not([has-value])) .clear-btn {\n visibility: hidden;\n pointer-events: none;\n }\n\n /* ========================================\n Password visibility toggle\n ======================================== */\n\n .pwd-toggle-btn {\n display: none;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n width: var(--size-5);\n min-width: var(--_touch-target);\n height: var(--size-5);\n min-height: var(--_touch-target);\n padding: 0;\n color: var(--color-contrast-500);\n cursor: pointer;\n background: transparent;\n border: none;\n border-radius: var(--rounded-sm);\n transition: var(--_motion-transition, color var(--transition-fast));\n }\n\n .pwd-toggle-btn:hover {\n color: var(--color-contrast-900);\n }\n\n .pwd-toggle-btn:focus-visible {\n outline: var(--border-2) solid var(--_theme-focus);\n outline-offset: var(--border);\n }\n\n :host([type='password']) .pwd-toggle-btn {\n display: flex;\n }\n\n /* ========================================\n Character counter\n ======================================== */\n\n .char-counter {\n padding-inline: 2px;\n font-size: var(--text-xs);\n line-height: var(--leading-tight);\n color: var(--color-contrast-400);\n text-align: end;\n white-space: nowrap;\n }\n\n .char-counter[data-near-limit] {\n color: var(--color-warning, #f59e0b);\n }\n\n .char-counter[data-at-limit] {\n color: var(--color-error);\n }\n\n /* ========================================\n Error State\n ======================================== */\n\n :host([error]:not([error=''])) .field {\n border-color: var(--color-error);\n }\n\n :host([error]:not([error=''])) .field:focus-within {\n border-color: var(--color-error);\n box-shadow: var(--color-error-focus-shadow);\n }\n\n :host([error]:not([error=''])) .label-inset,\n :host([error]:not([error=''])) .label-outside {\n color: var(--color-error);\n }\n\n .helper-text[role='alert'] {\n color: var(--color-error);\n }\n}\n\n@layer refine.variants {\n /* ========================================\n Visual Variants\n ======================================== */\n\n /* Solid (Default) */\n :host(:not([variant])),\n :host([variant='solid']) {\n --_bg: var(--input-bg, var(--color-contrast-50));\n --_border-color: var(--input-border-color, var(--color-contrast-300));\n }\n\n :host(:not([variant])) .field,\n :host([variant='solid']) .field {\n box-shadow: var(--shadow-2xs);\n }\n\n :host(:not([variant], [disabled])) .field:focus-within,\n :host([variant='solid']:not([disabled])) .field:focus-within {\n box-shadow: var(--_theme-shadow);\n }\n\n /* Flat */\n :host([variant='flat']) {\n --_bg: var(--input-bg, var(--color-contrast-100));\n --_border-color: var(--input-border-color, var(--_theme-border));\n }\n\n :host([variant='flat']) .field {\n box-shadow: var(--inset-shadow-2xs);\n }\n\n :host([variant='flat']) .field:hover {\n background: var(--input-hover-bg, color-mix(in oklch, var(--_theme-base) 6%, var(--color-contrast-100)));\n border-color: var(\n --input-hover-border-color,\n color-mix(in oklch, var(--_theme-base) 35%, var(--color-contrast-300))\n );\n }\n\n :host([variant='flat']) .field:focus-within {\n background: var(--input-focus-bg, color-mix(in oklch, var(--_theme-base) 8%, var(--color-canvas)));\n border-color: var(--input-focus-border-color, color-mix(in oklch, var(--_theme-focus) 60%, transparent));\n box-shadow: var(--_theme-shadow);\n }\n\n /* Bordered */\n :host([variant='bordered']) {\n --_bg: var(--input-bg, var(--_theme-backdrop));\n --_border-color: var(--input-border-color, color-mix(in oklch, var(--_theme-focus) 70%, transparent));\n }\n\n :host([variant='bordered']) .field:hover {\n border-color: var(--input-hover-border-color, var(--_theme-focus));\n }\n\n /* Outline */\n :host([variant='outline']) {\n --_bg: var(--input-bg, transparent);\n }\n\n :host([variant='outline']) .field {\n box-shadow: none;\n }\n\n :host([variant='outline']:not([disabled])) .field:focus-within {\n box-shadow: var(--_theme-shadow);\n }\n\n /* Ghost */\n :host([variant='ghost']) {\n --_bg: var(--input-bg, transparent);\n --_border-color: var(--input-border-color, transparent);\n }\n\n :host([variant='ghost']) .field {\n box-shadow: none;\n }\n\n :host([variant='ghost']) .field:hover {\n background: var(--input-hover-bg, var(--color-contrast-100));\n }\n\n :host([variant='ghost']:not([disabled])) .field:focus-within {\n box-shadow: var(--_theme-shadow);\n }\n\n /* Text — underline style */\n :host([variant='text']) {\n --_bg: var(--input-bg, transparent);\n --_border-color: var(--input-border-color, var(--color-contrast-300));\n }\n\n :host([variant='text']) .field {\n border: none;\n border-bottom: var(--border) solid var(--_border-color);\n border-radius: 0;\n box-shadow: none;\n }\n\n :host([variant='text']) .field:focus-within {\n border-bottom: var(--border-2) solid var(--input-focus-border-color, var(--_theme-focus));\n }\n}\n\n@layer refine.utilities {\n /* Full width */\n :host([fullwidth]) {\n width: 100%;\n }\n}\n"],"mappings":""}
1
+ {"version":3,"file":"input.css.cjs","names":[],"sources":["../../../src/inputs/input/input.css?inline"],"sourcesContent":["@layer refine.base {\n /* ========================================\n Base Styles & Defaults\n ======================================== */\n\n :host {\n --_font-size: var(--input-font-size, var(--text-sm));\n --_gap: var(--input-gap, var(--size-2));\n --_field-height: var(--input-height, var(--size-10));\n --_padding: var(--input-padding, var(--size-1-5) var(--size-3));\n --_radius: var(--input-radius, var(--rounded-lg));\n --_placeholder: var(--input-placeholder-color, var(--color-contrast-500));\n --_bg: var(--input-bg, var(--color-contrast-100));\n --_border-color: var(--input-border-color, var(--color-contrast-300));\n\n display: inline-flex;\n flex-direction: column;\n align-items: stretch;\n }\n\n .input-wrapper {\n display: flex;\n flex-direction: column;\n gap: 0;\n width: 100%;\n }\n\n .field {\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n gap: 0;\n align-items: stretch;\n justify-content: center;\n height: var(--_field-height);\n min-height: var(--_field-height);\n padding: var(--_padding);\n background: var(--_bg);\n border: var(--border) solid var(--_border-color);\n border-radius: var(--_radius);\n box-shadow: var(--_shadow, var(--shadow-2xs));\n transition: var(\n --_motion-transition,\n background var(--transition-fast),\n backdrop-filter var(--transition-fast),\n border-color var(--transition-fast),\n box-shadow var(--transition-fast)\n );\n }\n\n /* Expand height to fit inset label + input row */\n .input-wrapper:has(.label:not([hidden])) .field {\n height: auto;\n }\n\n /* Outside placement: label is above the field (natural flow) */\n\n /* Inset placement (default): label appears inside the field border */\n :host(:not([label-placement='outside'])) .input-wrapper {\n position: relative;\n }\n\n :host(:not([label-placement='outside'])) .label {\n position: absolute;\n inset-block-start: var(--size-2);\n inset-inline-start: var(--_padding-x, var(--size-3));\n z-index: 1;\n pointer-events: none;\n }\n\n :host(:not([label-placement='outside'])) .input-wrapper:has(.label:not([hidden])) .field {\n padding-block-start: calc(var(--size-2) + 1lh + 2px);\n }\n\n .input-row {\n display: flex;\n flex: 1;\n gap: var(--_gap);\n align-items: center;\n }\n\n /* ========================================\n Label Styles\n ======================================== */\n\n .label,\n label.label {\n margin-bottom: 2px;\n overflow: hidden;\n text-overflow: ellipsis;\n font-size: var(--text-xs);\n font-weight: var(--font-medium);\n line-height: var(--leading-tight);\n color: var(--color-contrast-500);\n white-space: nowrap;\n cursor: pointer;\n user-select: none;\n transition: var(--_motion-transition, color var(--transition-fast));\n }\n\n /* Outside placement: label moves outside the field via CSS */\n :host([label-placement='outside']) .label,\n :host([label-placement='outside']) label.label {\n order: -1;\n margin-bottom: 0;\n font-size: var(--text-sm);\n line-height: var(--leading-none);\n }\n\n /* ========================================\n Helper Text\n ======================================== */\n\n .helper-text {\n padding-inline: 2px;\n margin-top: var(--size-1-5);\n font-size: var(--text-xs);\n line-height: var(--leading-tight);\n color: color-mix(in oklch, var(--color-contrast-500) 80%, var(--color-canvas));\n overflow-wrap: anywhere;\n }\n\n .helper-text[hidden] {\n display: none;\n }\n\n /* ========================================\n Slotted Prefix/Suffix Icons\n ======================================== */\n\n ::slotted(svg) {\n flex-shrink: 0;\n width: var(--_icon-size, var(--leading-6));\n height: var(--_icon-size, var(--leading-6));\n }\n}\n\n@layer refine.overrides {\n /* ========================================\n Input Element\n ======================================== */\n\n input {\n flex: 1;\n min-width: 0;\n font: inherit;\n font-size: var(--_font-size);\n line-height: var(--leading-normal);\n\n /* No all: unset needed - reset layer handles it */\n color: var(--color-contrast-900);\n outline: none;\n background: transparent;\n border: none;\n }\n\n input::placeholder {\n color: var(--_placeholder);\n transition: color var(--transition-fast);\n }\n\n input:focus-visible {\n outline: none;\n }\n\n /* ========================================\n Hover & Focus States\n ======================================== */\n\n :host(:not([disabled], [variant='bordered'], [variant='flat'])) .field:hover {\n border-color: var(--color-contrast-400);\n }\n\n :host(:not([disabled], [variant='text'], [variant='flat'])) .field:focus-within {\n background: var(--color-canvas);\n border-color: var(--_theme-focus);\n box-shadow: var(--_theme-shadow, var(--color-primary-focus-shadow));\n }\n\n :host(:not([disabled])) .field:focus-within .label {\n color: var(--_theme-focus);\n }\n\n :host(:not([disabled])) .field:focus-within ::slotted([slot='prefix']),\n :host(:not([disabled])) .field:focus-within ::slotted([slot='suffix']) {\n color: var(--_theme-focus);\n }\n\n /* ========================================\n Clear button\n ======================================== */\n\n .clear-btn {\n display: none;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n width: var(--size-5);\n min-width: var(--_touch-target);\n height: var(--size-5);\n min-height: var(--_touch-target);\n padding: 0;\n color: var(--color-contrast-500);\n cursor: pointer;\n background: transparent;\n border: none;\n border-radius: var(--rounded-sm);\n transition: var(--_motion-transition, color var(--transition-fast));\n }\n\n .clear-btn:hover {\n color: var(--color-contrast-900);\n }\n\n .clear-btn:focus-visible {\n outline: var(--border-2) solid var(--_theme-focus);\n outline-offset: var(--border);\n }\n\n :host([clearable]) .clear-btn {\n display: flex;\n }\n\n :host([clearable]:not([has-value])) .clear-btn {\n visibility: hidden;\n pointer-events: none;\n }\n\n /* ========================================\n Password visibility toggle\n ======================================== */\n\n .pwd-toggle-btn {\n display: none;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n width: var(--size-5);\n min-width: var(--_touch-target);\n height: var(--size-5);\n min-height: var(--_touch-target);\n padding: 0;\n color: var(--color-contrast-500);\n cursor: pointer;\n background: transparent;\n border: none;\n border-radius: var(--rounded-sm);\n transition: var(--_motion-transition, color var(--transition-fast));\n }\n\n .pwd-toggle-btn:hover {\n color: var(--color-contrast-900);\n }\n\n .pwd-toggle-btn:focus-visible {\n outline: var(--border-2) solid var(--_theme-focus);\n outline-offset: var(--border);\n }\n\n :host([type='password']) .pwd-toggle-btn {\n display: flex;\n }\n\n /* ========================================\n Character counter\n ======================================== */\n\n .char-counter {\n padding-inline: 2px;\n font-size: var(--text-xs);\n line-height: var(--leading-tight);\n color: var(--color-contrast-400);\n text-align: end;\n white-space: nowrap;\n }\n\n .char-counter[data-near-limit] {\n color: var(--color-warning, #f59e0b);\n }\n\n .char-counter[data-at-limit] {\n color: var(--color-error);\n }\n\n /* ========================================\n Error State\n ======================================== */\n\n :host([error]:not([error=''])) .field {\n border-color: var(--color-error);\n }\n\n :host([error]:not([error=''])) .field:focus-within {\n border-color: var(--color-error);\n box-shadow: var(--color-error-focus-shadow);\n }\n\n :host([error]:not([error=''])) .label-inset,\n :host([error]:not([error=''])) .label-outside {\n color: var(--color-error);\n }\n\n .helper-text[role='alert'] {\n color: var(--color-error);\n }\n}\n\n@layer refine.variants {\n /* ========================================\n Visual Variants\n ======================================== */\n\n /* Solid (Default) */\n :host(:not([variant])),\n :host([variant='solid']) {\n --_bg: var(--input-bg, var(--color-contrast-50));\n --_border-color: var(--input-border-color, var(--color-contrast-300));\n }\n\n :host(:not([variant])) .field,\n :host([variant='solid']) .field {\n box-shadow: var(--shadow-2xs);\n }\n\n :host(:not([variant], [disabled])) .field:focus-within,\n :host([variant='solid']:not([disabled])) .field:focus-within {\n box-shadow: var(--_theme-shadow);\n }\n\n /* Flat */\n :host([variant='flat']) {\n --_bg: var(--input-bg, var(--color-contrast-100));\n --_border-color: var(--input-border-color, color-mix(in oklch, var(--_theme-focus) 20%, transparent));\n }\n\n :host([variant='flat']) .field {\n box-shadow: var(--inset-shadow-2xs);\n }\n\n :host([variant='flat']) .field:hover {\n background: var(--input-hover-bg, color-mix(in oklch, var(--_theme-base) 6%, var(--color-contrast-100)));\n border-color: var(\n --input-hover-border-color,\n color-mix(in oklch, var(--_theme-base) 35%, var(--color-contrast-300))\n );\n }\n\n :host([variant='flat']) .field:focus-within {\n background: var(--input-focus-bg, color-mix(in oklch, var(--_theme-base) 8%, var(--color-canvas)));\n border-color: var(--input-focus-border-color, color-mix(in oklch, var(--_theme-focus) 60%, transparent));\n box-shadow: var(--_theme-shadow);\n }\n\n /* Bordered */\n :host([variant='bordered']) {\n --_bg: var(--input-bg, var(--_theme-backdrop));\n --_border-color: var(--input-border-color, color-mix(in oklch, var(--_theme-focus) 70%, transparent));\n }\n\n :host([variant='bordered']) .field:hover {\n border-color: var(--input-hover-border-color, var(--_theme-focus));\n }\n\n /* Outline */\n :host([variant='outline']) {\n --_bg: var(--input-bg, transparent);\n }\n\n :host([variant='outline']) .field {\n box-shadow: none;\n }\n\n :host([variant='outline']:not([disabled])) .field:focus-within {\n box-shadow: var(--_theme-shadow);\n }\n\n /* Ghost */\n :host([variant='ghost']) {\n --_bg: var(--input-bg, transparent);\n --_border-color: var(--input-border-color, transparent);\n }\n\n :host([variant='ghost']) .field {\n box-shadow: none;\n }\n\n :host([variant='ghost']) .field:hover {\n background: var(--input-hover-bg, var(--color-contrast-100));\n }\n\n :host([variant='ghost']:not([disabled])) .field:focus-within {\n box-shadow: var(--_theme-shadow);\n }\n\n /* Text — underline style */\n :host([variant='text']) {\n --_bg: var(--input-bg, transparent);\n --_border-color: var(--input-border-color, var(--color-contrast-300));\n }\n\n :host([variant='text']) .field {\n border: none;\n border-bottom: var(--border) solid var(--_border-color);\n border-radius: 0;\n box-shadow: none;\n }\n\n :host([variant='text']) .field:focus-within {\n border-bottom: var(--border-2) solid var(--input-focus-border-color, var(--_theme-focus));\n }\n}\n\n@layer refine.utilities {\n /* Full width */\n :host([fullwidth]) {\n width: 100%;\n }\n}\n"],"mappings":""}
@@ -1,5 +1,5 @@
1
1
  //#region src/inputs/input/input.css?inline
2
- var e = "@layer refine.base{:host{--_font-size:var(--input-font-size,var(--text-sm));--_gap:var(--input-gap,var(--size-2));--_field-height:var(--input-height,var(--size-10));--_padding:var(--input-padding,var(--size-1-5) var(--size-3));--_radius:var(--input-radius,var(--rounded-lg));--_placeholder:var(--input-placeholder-color,var(--color-contrast-500));--_bg:var(--input-bg,var(--color-contrast-100));--_border-color:var(--input-border-color,var(--color-contrast-300));flex-direction:column;align-items:stretch;display:inline-flex}.input-wrapper{flex-direction:column;gap:0;width:100%;display:flex}.field{box-sizing:border-box;height:var(--_field-height);min-height:var(--_field-height);padding:var(--_padding);background:var(--_bg);border:var(--border) solid var(--_border-color);border-radius:var(--_radius);box-shadow:var(--_shadow,var(--shadow-2xs));transition:var(--_motion-transition,background var(--transition-fast), backdrop-filter var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast));flex-direction:column;justify-content:center;align-items:stretch;gap:0;display:flex}.input-wrapper:has(.label:not([hidden])) .field{height:auto}:host(:not([label-placement=outside])) .input-wrapper{position:relative}:host(:not([label-placement=outside])) .label{z-index:1;pointer-events:none;top:var(--size-2);position:absolute}:host(:not([label-placement=outside])) .label:not(: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:var(--_padding-x,var(--size-3))}:host(:not([label-placement=outside])) .label: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:var(--_padding-x,var(--size-3))}:host(:not([label-placement=outside])) .input-wrapper:has(.label:not([hidden])) .field{padding-top:calc(var(--size-2) + 1lh + 2px)}.input-row{gap:var(--_gap);flex:1;align-items:center;display:flex}.label,label.label{text-overflow:ellipsis;font-size:var(--text-xs);font-weight:var(--font-medium);line-height:var(--leading-tight);color:var(--color-contrast-500);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;transition:var(--_motion-transition,color var(--transition-fast));margin-bottom:2px;overflow:hidden}:host([label-placement=outside]) .label,:host([label-placement=outside]) label.label{font-size:var(--text-sm);line-height:var(--leading-none);order:-1;margin-bottom:0}.helper-text{margin-top:var(--size-1-5);font-size:var(--text-xs);line-height:var(--leading-tight);color:var(--color-contrast-500);overflow-wrap:anywhere;padding-left:2px;padding-right:2px}.helper-text[hidden]{display:none}::slotted(svg){width:var(--_icon-size,var(--leading-6));height:var(--_icon-size,var(--leading-6));flex-shrink:0}}@layer refine.overrides{input{min-width:0;font:inherit;font-size:var(--_font-size);line-height:var(--leading-normal);color:var(--color-contrast-900);background:0 0;border:none;outline:none;flex:1}input::placeholder{color:var(--_placeholder);transition:color var(--transition-fast)}input:focus-visible{outline:none}:host(:not([disabled],[variant=bordered],[variant=flat])) .field:hover{border-color:var(--color-contrast-400)}:host(:not([disabled],[variant=text],[variant=flat])) .field:focus-within{background:var(--color-canvas);border-color:var(--_theme-focus);box-shadow:var(--_theme-shadow,var(--color-primary-focus-shadow))}:host(:not([disabled])) .field:focus-within .label,:host(:not([disabled])) .field:focus-within ::slotted([slot=prefix]),:host(:not([disabled])) .field:focus-within ::slotted([slot=suffix]){color:var(--_theme-focus)}.clear-btn{width:var(--size-5);min-width:var(--_touch-target);height:var(--size-5);min-height:var(--_touch-target);color:var(--color-contrast-500);cursor:pointer;border-radius:var(--rounded-sm);transition:var(--_motion-transition,color var(--transition-fast));background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:none}.clear-btn:hover{color:var(--color-contrast-900)}.clear-btn:focus-visible{outline:var(--border-2) solid var(--_theme-focus);outline-offset:var(--border)}:host([clearable]) .clear-btn{display:flex}:host([clearable]:not([has-value])) .clear-btn{visibility:hidden;pointer-events:none}.pwd-toggle-btn{width:var(--size-5);min-width:var(--_touch-target);height:var(--size-5);min-height:var(--_touch-target);color:var(--color-contrast-500);cursor:pointer;border-radius:var(--rounded-sm);transition:var(--_motion-transition,color var(--transition-fast));background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:none}.pwd-toggle-btn:hover{color:var(--color-contrast-900)}.pwd-toggle-btn:focus-visible{outline:var(--border-2) solid var(--_theme-focus);outline-offset:var(--border)}:host([type=password]) .pwd-toggle-btn{display:flex}.char-counter{font-size:var(--text-xs);line-height:var(--leading-tight);color:var(--color-contrast-400);text-align:end;white-space:nowrap;padding-left:2px;padding-right:2px}.char-counter[data-near-limit]{color:var(--color-warning,#f59e0b)}.char-counter[data-at-limit]{color:var(--color-error)}:host([error]:not([error=\"\"])) .field{border-color:var(--color-error)}:host([error]:not([error=\"\"])) .field:focus-within{border-color:var(--color-error);box-shadow:var(--color-error-focus-shadow)}:host([error]:not([error=\"\"])) .label-inset,:host([error]:not([error=\"\"])) .label-outside,.helper-text[role=alert]{color:var(--color-error)}}@layer refine.variants{:host(:not([variant])),:host([variant=solid]){--_bg:var(--input-bg,var(--color-contrast-50));--_border-color:var(--input-border-color,var(--color-contrast-300))}:host(:not([variant])) .field,:host([variant=solid]) .field{box-shadow:var(--shadow-2xs)}:host(:not([variant],[disabled])) .field:focus-within,:host([variant=solid]:not([disabled])) .field:focus-within{box-shadow:var(--_theme-shadow)}:host([variant=flat]){--_bg:var(--input-bg,var(--color-contrast-100));--_border-color:var(--input-border-color,var(--_theme-border))}:host([variant=flat]) .field{box-shadow:var(--inset-shadow-2xs)}:host([variant=flat]) .field:hover{background:var(--input-hover-bg,color-mix(in oklch, var(--_theme-base) 6%, var(--color-contrast-100)));border-color:var(--input-hover-border-color,color-mix(in oklch, var(--_theme-base) 35%, var(--color-contrast-300)))}:host([variant=flat]) .field:focus-within{background:var(--input-focus-bg,color-mix(in oklch, var(--_theme-base) 8%, var(--color-canvas)));border-color:var(--input-focus-border-color,color-mix(in oklch, var(--_theme-focus) 60%, transparent));box-shadow:var(--_theme-shadow)}:host([variant=bordered]){--_bg:var(--input-bg,var(--_theme-backdrop));--_border-color:var(--input-border-color,color-mix(in oklch, var(--_theme-focus) 70%, transparent))}:host([variant=bordered]) .field:hover{border-color:var(--input-hover-border-color,var(--_theme-focus))}:host([variant=outline]){--_bg:var(--input-bg,transparent)}:host([variant=outline]) .field{box-shadow:none}:host([variant=outline]:not([disabled])) .field:focus-within{box-shadow:var(--_theme-shadow)}:host([variant=ghost]){--_bg:var(--input-bg,transparent);--_border-color:var(--input-border-color,transparent)}:host([variant=ghost]) .field{box-shadow:none}:host([variant=ghost]) .field:hover{background:var(--input-hover-bg,var(--color-contrast-100))}:host([variant=ghost]:not([disabled])) .field:focus-within{box-shadow:var(--_theme-shadow)}:host([variant=text]){--_bg:var(--input-bg,transparent);--_border-color:var(--input-border-color,var(--color-contrast-300))}:host([variant=text]) .field{border:none;border-bottom:var(--border) solid var(--_border-color);box-shadow:none;border-radius:0}:host([variant=text]) .field:focus-within{border-bottom:var(--border-2) solid var(--input-focus-border-color,var(--_theme-focus))}}@layer refine.utilities{:host([fullwidth]){width:100%}}";
2
+ var e = "@layer refine.base{:host{--_font-size:var(--input-font-size,var(--text-sm));--_gap:var(--input-gap,var(--size-2));--_field-height:var(--input-height,var(--size-10));--_padding:var(--input-padding,var(--size-1-5) var(--size-3));--_radius:var(--input-radius,var(--rounded-lg));--_placeholder:var(--input-placeholder-color,var(--color-contrast-500));--_bg:var(--input-bg,var(--color-contrast-100));--_border-color:var(--input-border-color,var(--color-contrast-300));flex-direction:column;align-items:stretch;display:inline-flex}.input-wrapper{flex-direction:column;gap:0;width:100%;display:flex}.field{box-sizing:border-box;height:var(--_field-height);min-height:var(--_field-height);padding:var(--_padding);background:var(--_bg);border:var(--border) solid var(--_border-color);border-radius:var(--_radius);box-shadow:var(--_shadow,var(--shadow-2xs));transition:var(--_motion-transition,background var(--transition-fast), backdrop-filter var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast));flex-direction:column;justify-content:center;align-items:stretch;gap:0;display:flex}.input-wrapper:has(.label:not([hidden])) .field{height:auto}:host(:not([label-placement=outside])) .input-wrapper{position:relative}:host(:not([label-placement=outside])) .label{z-index:1;pointer-events:none;top:var(--size-2);position:absolute}:host(:not([label-placement=outside])) .label:not(: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:var(--_padding-x,var(--size-3))}:host(:not([label-placement=outside])) .label: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:var(--_padding-x,var(--size-3))}:host(:not([label-placement=outside])) .input-wrapper:has(.label:not([hidden])) .field{padding-top:calc(var(--size-2) + 1lh + 2px)}.input-row{gap:var(--_gap);flex:1;align-items:center;display:flex}.label,label.label{text-overflow:ellipsis;font-size:var(--text-xs);font-weight:var(--font-medium);line-height:var(--leading-tight);color:var(--color-contrast-500);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;transition:var(--_motion-transition,color var(--transition-fast));margin-bottom:2px;overflow:hidden}:host([label-placement=outside]) .label,:host([label-placement=outside]) label.label{font-size:var(--text-sm);line-height:var(--leading-none);order:-1;margin-bottom:0}.helper-text{margin-top:var(--size-1-5);font-size:var(--text-xs);line-height:var(--leading-tight);color:color-mix(in oklch, var(--color-contrast-500) 80%, var(--color-canvas));overflow-wrap:anywhere;padding-left:2px;padding-right:2px}.helper-text[hidden]{display:none}::slotted(svg){width:var(--_icon-size,var(--leading-6));height:var(--_icon-size,var(--leading-6));flex-shrink:0}}@layer refine.overrides{input{min-width:0;font:inherit;font-size:var(--_font-size);line-height:var(--leading-normal);color:var(--color-contrast-900);background:0 0;border:none;outline:none;flex:1}input::placeholder{color:var(--_placeholder);transition:color var(--transition-fast)}input:focus-visible{outline:none}:host(:not([disabled],[variant=bordered],[variant=flat])) .field:hover{border-color:var(--color-contrast-400)}:host(:not([disabled],[variant=text],[variant=flat])) .field:focus-within{background:var(--color-canvas);border-color:var(--_theme-focus);box-shadow:var(--_theme-shadow,var(--color-primary-focus-shadow))}:host(:not([disabled])) .field:focus-within .label,:host(:not([disabled])) .field:focus-within ::slotted([slot=prefix]),:host(:not([disabled])) .field:focus-within ::slotted([slot=suffix]){color:var(--_theme-focus)}.clear-btn{width:var(--size-5);min-width:var(--_touch-target);height:var(--size-5);min-height:var(--_touch-target);color:var(--color-contrast-500);cursor:pointer;border-radius:var(--rounded-sm);transition:var(--_motion-transition,color var(--transition-fast));background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:none}.clear-btn:hover{color:var(--color-contrast-900)}.clear-btn:focus-visible{outline:var(--border-2) solid var(--_theme-focus);outline-offset:var(--border)}:host([clearable]) .clear-btn{display:flex}:host([clearable]:not([has-value])) .clear-btn{visibility:hidden;pointer-events:none}.pwd-toggle-btn{width:var(--size-5);min-width:var(--_touch-target);height:var(--size-5);min-height:var(--_touch-target);color:var(--color-contrast-500);cursor:pointer;border-radius:var(--rounded-sm);transition:var(--_motion-transition,color var(--transition-fast));background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:none}.pwd-toggle-btn:hover{color:var(--color-contrast-900)}.pwd-toggle-btn:focus-visible{outline:var(--border-2) solid var(--_theme-focus);outline-offset:var(--border)}:host([type=password]) .pwd-toggle-btn{display:flex}.char-counter{font-size:var(--text-xs);line-height:var(--leading-tight);color:var(--color-contrast-400);text-align:end;white-space:nowrap;padding-left:2px;padding-right:2px}.char-counter[data-near-limit]{color:var(--color-warning,#f59e0b)}.char-counter[data-at-limit]{color:var(--color-error)}:host([error]:not([error=\"\"])) .field{border-color:var(--color-error)}:host([error]:not([error=\"\"])) .field:focus-within{border-color:var(--color-error);box-shadow:var(--color-error-focus-shadow)}:host([error]:not([error=\"\"])) .label-inset,:host([error]:not([error=\"\"])) .label-outside,.helper-text[role=alert]{color:var(--color-error)}}@layer refine.variants{:host(:not([variant])),:host([variant=solid]){--_bg:var(--input-bg,var(--color-contrast-50));--_border-color:var(--input-border-color,var(--color-contrast-300))}:host(:not([variant])) .field,:host([variant=solid]) .field{box-shadow:var(--shadow-2xs)}:host(:not([variant],[disabled])) .field:focus-within,:host([variant=solid]:not([disabled])) .field:focus-within{box-shadow:var(--_theme-shadow)}:host([variant=flat]){--_bg:var(--input-bg,var(--color-contrast-100));--_border-color:var(--input-border-color,color-mix(in oklch, var(--_theme-focus) 20%, transparent))}:host([variant=flat]) .field{box-shadow:var(--inset-shadow-2xs)}:host([variant=flat]) .field:hover{background:var(--input-hover-bg,color-mix(in oklch, var(--_theme-base) 6%, var(--color-contrast-100)));border-color:var(--input-hover-border-color,color-mix(in oklch, var(--_theme-base) 35%, var(--color-contrast-300)))}:host([variant=flat]) .field:focus-within{background:var(--input-focus-bg,color-mix(in oklch, var(--_theme-base) 8%, var(--color-canvas)));border-color:var(--input-focus-border-color,color-mix(in oklch, var(--_theme-focus) 60%, transparent));box-shadow:var(--_theme-shadow)}:host([variant=bordered]){--_bg:var(--input-bg,var(--_theme-backdrop));--_border-color:var(--input-border-color,color-mix(in oklch, var(--_theme-focus) 70%, transparent))}:host([variant=bordered]) .field:hover{border-color:var(--input-hover-border-color,var(--_theme-focus))}:host([variant=outline]){--_bg:var(--input-bg,transparent)}:host([variant=outline]) .field{box-shadow:none}:host([variant=outline]:not([disabled])) .field:focus-within{box-shadow:var(--_theme-shadow)}:host([variant=ghost]){--_bg:var(--input-bg,transparent);--_border-color:var(--input-border-color,transparent)}:host([variant=ghost]) .field{box-shadow:none}:host([variant=ghost]) .field:hover{background:var(--input-hover-bg,var(--color-contrast-100))}:host([variant=ghost]:not([disabled])) .field:focus-within{box-shadow:var(--_theme-shadow)}:host([variant=text]){--_bg:var(--input-bg,transparent);--_border-color:var(--input-border-color,var(--color-contrast-300))}:host([variant=text]) .field{border:none;border-bottom:var(--border) solid var(--_border-color);box-shadow:none;border-radius:0}:host([variant=text]) .field:focus-within{border-bottom:var(--border-2) solid var(--input-focus-border-color,var(--_theme-focus))}}@layer refine.utilities{:host([fullwidth]){width:100%}}";
3
3
  //#endregion
4
4
  export { e as default };
5
5
 
@@ -1 +1 @@
1
- {"version":3,"file":"input.css.js","names":[],"sources":["../../../src/inputs/input/input.css?inline"],"sourcesContent":["@layer refine.base {\n /* ========================================\n Base Styles & Defaults\n ======================================== */\n\n :host {\n --_font-size: var(--input-font-size, var(--text-sm));\n --_gap: var(--input-gap, var(--size-2));\n --_field-height: var(--input-height, var(--size-10));\n --_padding: var(--input-padding, var(--size-1-5) var(--size-3));\n --_radius: var(--input-radius, var(--rounded-lg));\n --_placeholder: var(--input-placeholder-color, var(--color-contrast-500));\n --_bg: var(--input-bg, var(--color-contrast-100));\n --_border-color: var(--input-border-color, var(--color-contrast-300));\n\n display: inline-flex;\n flex-direction: column;\n align-items: stretch;\n }\n\n .input-wrapper {\n display: flex;\n flex-direction: column;\n gap: 0;\n width: 100%;\n }\n\n .field {\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n gap: 0;\n align-items: stretch;\n justify-content: center;\n height: var(--_field-height);\n min-height: var(--_field-height);\n padding: var(--_padding);\n background: var(--_bg);\n border: var(--border) solid var(--_border-color);\n border-radius: var(--_radius);\n box-shadow: var(--_shadow, var(--shadow-2xs));\n transition: var(\n --_motion-transition,\n background var(--transition-fast),\n backdrop-filter var(--transition-fast),\n border-color var(--transition-fast),\n box-shadow var(--transition-fast)\n );\n }\n\n /* Expand height to fit inset label + input row */\n .input-wrapper:has(.label:not([hidden])) .field {\n height: auto;\n }\n\n /* Outside placement: label is above the field (natural flow) */\n\n /* Inset placement (default): label appears inside the field border */\n :host(:not([label-placement='outside'])) .input-wrapper {\n position: relative;\n }\n\n :host(:not([label-placement='outside'])) .label {\n position: absolute;\n inset-block-start: var(--size-2);\n inset-inline-start: var(--_padding-x, var(--size-3));\n z-index: 1;\n pointer-events: none;\n }\n\n :host(:not([label-placement='outside'])) .input-wrapper:has(.label:not([hidden])) .field {\n padding-block-start: calc(var(--size-2) + 1lh + 2px);\n }\n\n .input-row {\n display: flex;\n flex: 1;\n gap: var(--_gap);\n align-items: center;\n }\n\n /* ========================================\n Label Styles\n ======================================== */\n\n .label,\n label.label {\n margin-bottom: 2px;\n overflow: hidden;\n text-overflow: ellipsis;\n font-size: var(--text-xs);\n font-weight: var(--font-medium);\n line-height: var(--leading-tight);\n color: var(--color-contrast-500);\n white-space: nowrap;\n cursor: pointer;\n user-select: none;\n transition: var(--_motion-transition, color var(--transition-fast));\n }\n\n /* Outside placement: label moves outside the field via CSS */\n :host([label-placement='outside']) .label,\n :host([label-placement='outside']) label.label {\n order: -1;\n margin-bottom: 0;\n font-size: var(--text-sm);\n line-height: var(--leading-none);\n }\n\n /* ========================================\n Helper Text\n ======================================== */\n\n .helper-text {\n padding-inline: 2px;\n margin-top: var(--size-1-5);\n font-size: var(--text-xs);\n line-height: var(--leading-tight);\n color: var(--color-contrast-500);\n overflow-wrap: anywhere;\n }\n\n .helper-text[hidden] {\n display: none;\n }\n\n /* ========================================\n Slotted Prefix/Suffix Icons\n ======================================== */\n\n ::slotted(svg) {\n flex-shrink: 0;\n width: var(--_icon-size, var(--leading-6));\n height: var(--_icon-size, var(--leading-6));\n }\n}\n\n@layer refine.overrides {\n /* ========================================\n Input Element\n ======================================== */\n\n input {\n flex: 1;\n min-width: 0;\n font: inherit;\n font-size: var(--_font-size);\n line-height: var(--leading-normal);\n\n /* No all: unset needed - reset layer handles it */\n color: var(--color-contrast-900);\n outline: none;\n background: transparent;\n border: none;\n }\n\n input::placeholder {\n color: var(--_placeholder);\n transition: color var(--transition-fast);\n }\n\n input:focus-visible {\n outline: none;\n }\n\n /* ========================================\n Hover & Focus States\n ======================================== */\n\n :host(:not([disabled], [variant='bordered'], [variant='flat'])) .field:hover {\n border-color: var(--color-contrast-400);\n }\n\n :host(:not([disabled], [variant='text'], [variant='flat'])) .field:focus-within {\n background: var(--color-canvas);\n border-color: var(--_theme-focus);\n box-shadow: var(--_theme-shadow, var(--color-primary-focus-shadow));\n }\n\n :host(:not([disabled])) .field:focus-within .label {\n color: var(--_theme-focus);\n }\n\n :host(:not([disabled])) .field:focus-within ::slotted([slot='prefix']),\n :host(:not([disabled])) .field:focus-within ::slotted([slot='suffix']) {\n color: var(--_theme-focus);\n }\n\n /* ========================================\n Clear button\n ======================================== */\n\n .clear-btn {\n display: none;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n width: var(--size-5);\n min-width: var(--_touch-target);\n height: var(--size-5);\n min-height: var(--_touch-target);\n padding: 0;\n color: var(--color-contrast-500);\n cursor: pointer;\n background: transparent;\n border: none;\n border-radius: var(--rounded-sm);\n transition: var(--_motion-transition, color var(--transition-fast));\n }\n\n .clear-btn:hover {\n color: var(--color-contrast-900);\n }\n\n .clear-btn:focus-visible {\n outline: var(--border-2) solid var(--_theme-focus);\n outline-offset: var(--border);\n }\n\n :host([clearable]) .clear-btn {\n display: flex;\n }\n\n :host([clearable]:not([has-value])) .clear-btn {\n visibility: hidden;\n pointer-events: none;\n }\n\n /* ========================================\n Password visibility toggle\n ======================================== */\n\n .pwd-toggle-btn {\n display: none;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n width: var(--size-5);\n min-width: var(--_touch-target);\n height: var(--size-5);\n min-height: var(--_touch-target);\n padding: 0;\n color: var(--color-contrast-500);\n cursor: pointer;\n background: transparent;\n border: none;\n border-radius: var(--rounded-sm);\n transition: var(--_motion-transition, color var(--transition-fast));\n }\n\n .pwd-toggle-btn:hover {\n color: var(--color-contrast-900);\n }\n\n .pwd-toggle-btn:focus-visible {\n outline: var(--border-2) solid var(--_theme-focus);\n outline-offset: var(--border);\n }\n\n :host([type='password']) .pwd-toggle-btn {\n display: flex;\n }\n\n /* ========================================\n Character counter\n ======================================== */\n\n .char-counter {\n padding-inline: 2px;\n font-size: var(--text-xs);\n line-height: var(--leading-tight);\n color: var(--color-contrast-400);\n text-align: end;\n white-space: nowrap;\n }\n\n .char-counter[data-near-limit] {\n color: var(--color-warning, #f59e0b);\n }\n\n .char-counter[data-at-limit] {\n color: var(--color-error);\n }\n\n /* ========================================\n Error State\n ======================================== */\n\n :host([error]:not([error=''])) .field {\n border-color: var(--color-error);\n }\n\n :host([error]:not([error=''])) .field:focus-within {\n border-color: var(--color-error);\n box-shadow: var(--color-error-focus-shadow);\n }\n\n :host([error]:not([error=''])) .label-inset,\n :host([error]:not([error=''])) .label-outside {\n color: var(--color-error);\n }\n\n .helper-text[role='alert'] {\n color: var(--color-error);\n }\n}\n\n@layer refine.variants {\n /* ========================================\n Visual Variants\n ======================================== */\n\n /* Solid (Default) */\n :host(:not([variant])),\n :host([variant='solid']) {\n --_bg: var(--input-bg, var(--color-contrast-50));\n --_border-color: var(--input-border-color, var(--color-contrast-300));\n }\n\n :host(:not([variant])) .field,\n :host([variant='solid']) .field {\n box-shadow: var(--shadow-2xs);\n }\n\n :host(:not([variant], [disabled])) .field:focus-within,\n :host([variant='solid']:not([disabled])) .field:focus-within {\n box-shadow: var(--_theme-shadow);\n }\n\n /* Flat */\n :host([variant='flat']) {\n --_bg: var(--input-bg, var(--color-contrast-100));\n --_border-color: var(--input-border-color, var(--_theme-border));\n }\n\n :host([variant='flat']) .field {\n box-shadow: var(--inset-shadow-2xs);\n }\n\n :host([variant='flat']) .field:hover {\n background: var(--input-hover-bg, color-mix(in oklch, var(--_theme-base) 6%, var(--color-contrast-100)));\n border-color: var(\n --input-hover-border-color,\n color-mix(in oklch, var(--_theme-base) 35%, var(--color-contrast-300))\n );\n }\n\n :host([variant='flat']) .field:focus-within {\n background: var(--input-focus-bg, color-mix(in oklch, var(--_theme-base) 8%, var(--color-canvas)));\n border-color: var(--input-focus-border-color, color-mix(in oklch, var(--_theme-focus) 60%, transparent));\n box-shadow: var(--_theme-shadow);\n }\n\n /* Bordered */\n :host([variant='bordered']) {\n --_bg: var(--input-bg, var(--_theme-backdrop));\n --_border-color: var(--input-border-color, color-mix(in oklch, var(--_theme-focus) 70%, transparent));\n }\n\n :host([variant='bordered']) .field:hover {\n border-color: var(--input-hover-border-color, var(--_theme-focus));\n }\n\n /* Outline */\n :host([variant='outline']) {\n --_bg: var(--input-bg, transparent);\n }\n\n :host([variant='outline']) .field {\n box-shadow: none;\n }\n\n :host([variant='outline']:not([disabled])) .field:focus-within {\n box-shadow: var(--_theme-shadow);\n }\n\n /* Ghost */\n :host([variant='ghost']) {\n --_bg: var(--input-bg, transparent);\n --_border-color: var(--input-border-color, transparent);\n }\n\n :host([variant='ghost']) .field {\n box-shadow: none;\n }\n\n :host([variant='ghost']) .field:hover {\n background: var(--input-hover-bg, var(--color-contrast-100));\n }\n\n :host([variant='ghost']:not([disabled])) .field:focus-within {\n box-shadow: var(--_theme-shadow);\n }\n\n /* Text — underline style */\n :host([variant='text']) {\n --_bg: var(--input-bg, transparent);\n --_border-color: var(--input-border-color, var(--color-contrast-300));\n }\n\n :host([variant='text']) .field {\n border: none;\n border-bottom: var(--border) solid var(--_border-color);\n border-radius: 0;\n box-shadow: none;\n }\n\n :host([variant='text']) .field:focus-within {\n border-bottom: var(--border-2) solid var(--input-focus-border-color, var(--_theme-focus));\n }\n}\n\n@layer refine.utilities {\n /* Full width */\n :host([fullwidth]) {\n width: 100%;\n }\n}\n"],"mappings":""}
1
+ {"version":3,"file":"input.css.js","names":[],"sources":["../../../src/inputs/input/input.css?inline"],"sourcesContent":["@layer refine.base {\n /* ========================================\n Base Styles & Defaults\n ======================================== */\n\n :host {\n --_font-size: var(--input-font-size, var(--text-sm));\n --_gap: var(--input-gap, var(--size-2));\n --_field-height: var(--input-height, var(--size-10));\n --_padding: var(--input-padding, var(--size-1-5) var(--size-3));\n --_radius: var(--input-radius, var(--rounded-lg));\n --_placeholder: var(--input-placeholder-color, var(--color-contrast-500));\n --_bg: var(--input-bg, var(--color-contrast-100));\n --_border-color: var(--input-border-color, var(--color-contrast-300));\n\n display: inline-flex;\n flex-direction: column;\n align-items: stretch;\n }\n\n .input-wrapper {\n display: flex;\n flex-direction: column;\n gap: 0;\n width: 100%;\n }\n\n .field {\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n gap: 0;\n align-items: stretch;\n justify-content: center;\n height: var(--_field-height);\n min-height: var(--_field-height);\n padding: var(--_padding);\n background: var(--_bg);\n border: var(--border) solid var(--_border-color);\n border-radius: var(--_radius);\n box-shadow: var(--_shadow, var(--shadow-2xs));\n transition: var(\n --_motion-transition,\n background var(--transition-fast),\n backdrop-filter var(--transition-fast),\n border-color var(--transition-fast),\n box-shadow var(--transition-fast)\n );\n }\n\n /* Expand height to fit inset label + input row */\n .input-wrapper:has(.label:not([hidden])) .field {\n height: auto;\n }\n\n /* Outside placement: label is above the field (natural flow) */\n\n /* Inset placement (default): label appears inside the field border */\n :host(:not([label-placement='outside'])) .input-wrapper {\n position: relative;\n }\n\n :host(:not([label-placement='outside'])) .label {\n position: absolute;\n inset-block-start: var(--size-2);\n inset-inline-start: var(--_padding-x, var(--size-3));\n z-index: 1;\n pointer-events: none;\n }\n\n :host(:not([label-placement='outside'])) .input-wrapper:has(.label:not([hidden])) .field {\n padding-block-start: calc(var(--size-2) + 1lh + 2px);\n }\n\n .input-row {\n display: flex;\n flex: 1;\n gap: var(--_gap);\n align-items: center;\n }\n\n /* ========================================\n Label Styles\n ======================================== */\n\n .label,\n label.label {\n margin-bottom: 2px;\n overflow: hidden;\n text-overflow: ellipsis;\n font-size: var(--text-xs);\n font-weight: var(--font-medium);\n line-height: var(--leading-tight);\n color: var(--color-contrast-500);\n white-space: nowrap;\n cursor: pointer;\n user-select: none;\n transition: var(--_motion-transition, color var(--transition-fast));\n }\n\n /* Outside placement: label moves outside the field via CSS */\n :host([label-placement='outside']) .label,\n :host([label-placement='outside']) label.label {\n order: -1;\n margin-bottom: 0;\n font-size: var(--text-sm);\n line-height: var(--leading-none);\n }\n\n /* ========================================\n Helper Text\n ======================================== */\n\n .helper-text {\n padding-inline: 2px;\n margin-top: var(--size-1-5);\n font-size: var(--text-xs);\n line-height: var(--leading-tight);\n color: color-mix(in oklch, var(--color-contrast-500) 80%, var(--color-canvas));\n overflow-wrap: anywhere;\n }\n\n .helper-text[hidden] {\n display: none;\n }\n\n /* ========================================\n Slotted Prefix/Suffix Icons\n ======================================== */\n\n ::slotted(svg) {\n flex-shrink: 0;\n width: var(--_icon-size, var(--leading-6));\n height: var(--_icon-size, var(--leading-6));\n }\n}\n\n@layer refine.overrides {\n /* ========================================\n Input Element\n ======================================== */\n\n input {\n flex: 1;\n min-width: 0;\n font: inherit;\n font-size: var(--_font-size);\n line-height: var(--leading-normal);\n\n /* No all: unset needed - reset layer handles it */\n color: var(--color-contrast-900);\n outline: none;\n background: transparent;\n border: none;\n }\n\n input::placeholder {\n color: var(--_placeholder);\n transition: color var(--transition-fast);\n }\n\n input:focus-visible {\n outline: none;\n }\n\n /* ========================================\n Hover & Focus States\n ======================================== */\n\n :host(:not([disabled], [variant='bordered'], [variant='flat'])) .field:hover {\n border-color: var(--color-contrast-400);\n }\n\n :host(:not([disabled], [variant='text'], [variant='flat'])) .field:focus-within {\n background: var(--color-canvas);\n border-color: var(--_theme-focus);\n box-shadow: var(--_theme-shadow, var(--color-primary-focus-shadow));\n }\n\n :host(:not([disabled])) .field:focus-within .label {\n color: var(--_theme-focus);\n }\n\n :host(:not([disabled])) .field:focus-within ::slotted([slot='prefix']),\n :host(:not([disabled])) .field:focus-within ::slotted([slot='suffix']) {\n color: var(--_theme-focus);\n }\n\n /* ========================================\n Clear button\n ======================================== */\n\n .clear-btn {\n display: none;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n width: var(--size-5);\n min-width: var(--_touch-target);\n height: var(--size-5);\n min-height: var(--_touch-target);\n padding: 0;\n color: var(--color-contrast-500);\n cursor: pointer;\n background: transparent;\n border: none;\n border-radius: var(--rounded-sm);\n transition: var(--_motion-transition, color var(--transition-fast));\n }\n\n .clear-btn:hover {\n color: var(--color-contrast-900);\n }\n\n .clear-btn:focus-visible {\n outline: var(--border-2) solid var(--_theme-focus);\n outline-offset: var(--border);\n }\n\n :host([clearable]) .clear-btn {\n display: flex;\n }\n\n :host([clearable]:not([has-value])) .clear-btn {\n visibility: hidden;\n pointer-events: none;\n }\n\n /* ========================================\n Password visibility toggle\n ======================================== */\n\n .pwd-toggle-btn {\n display: none;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n width: var(--size-5);\n min-width: var(--_touch-target);\n height: var(--size-5);\n min-height: var(--_touch-target);\n padding: 0;\n color: var(--color-contrast-500);\n cursor: pointer;\n background: transparent;\n border: none;\n border-radius: var(--rounded-sm);\n transition: var(--_motion-transition, color var(--transition-fast));\n }\n\n .pwd-toggle-btn:hover {\n color: var(--color-contrast-900);\n }\n\n .pwd-toggle-btn:focus-visible {\n outline: var(--border-2) solid var(--_theme-focus);\n outline-offset: var(--border);\n }\n\n :host([type='password']) .pwd-toggle-btn {\n display: flex;\n }\n\n /* ========================================\n Character counter\n ======================================== */\n\n .char-counter {\n padding-inline: 2px;\n font-size: var(--text-xs);\n line-height: var(--leading-tight);\n color: var(--color-contrast-400);\n text-align: end;\n white-space: nowrap;\n }\n\n .char-counter[data-near-limit] {\n color: var(--color-warning, #f59e0b);\n }\n\n .char-counter[data-at-limit] {\n color: var(--color-error);\n }\n\n /* ========================================\n Error State\n ======================================== */\n\n :host([error]:not([error=''])) .field {\n border-color: var(--color-error);\n }\n\n :host([error]:not([error=''])) .field:focus-within {\n border-color: var(--color-error);\n box-shadow: var(--color-error-focus-shadow);\n }\n\n :host([error]:not([error=''])) .label-inset,\n :host([error]:not([error=''])) .label-outside {\n color: var(--color-error);\n }\n\n .helper-text[role='alert'] {\n color: var(--color-error);\n }\n}\n\n@layer refine.variants {\n /* ========================================\n Visual Variants\n ======================================== */\n\n /* Solid (Default) */\n :host(:not([variant])),\n :host([variant='solid']) {\n --_bg: var(--input-bg, var(--color-contrast-50));\n --_border-color: var(--input-border-color, var(--color-contrast-300));\n }\n\n :host(:not([variant])) .field,\n :host([variant='solid']) .field {\n box-shadow: var(--shadow-2xs);\n }\n\n :host(:not([variant], [disabled])) .field:focus-within,\n :host([variant='solid']:not([disabled])) .field:focus-within {\n box-shadow: var(--_theme-shadow);\n }\n\n /* Flat */\n :host([variant='flat']) {\n --_bg: var(--input-bg, var(--color-contrast-100));\n --_border-color: var(--input-border-color, color-mix(in oklch, var(--_theme-focus) 20%, transparent));\n }\n\n :host([variant='flat']) .field {\n box-shadow: var(--inset-shadow-2xs);\n }\n\n :host([variant='flat']) .field:hover {\n background: var(--input-hover-bg, color-mix(in oklch, var(--_theme-base) 6%, var(--color-contrast-100)));\n border-color: var(\n --input-hover-border-color,\n color-mix(in oklch, var(--_theme-base) 35%, var(--color-contrast-300))\n );\n }\n\n :host([variant='flat']) .field:focus-within {\n background: var(--input-focus-bg, color-mix(in oklch, var(--_theme-base) 8%, var(--color-canvas)));\n border-color: var(--input-focus-border-color, color-mix(in oklch, var(--_theme-focus) 60%, transparent));\n box-shadow: var(--_theme-shadow);\n }\n\n /* Bordered */\n :host([variant='bordered']) {\n --_bg: var(--input-bg, var(--_theme-backdrop));\n --_border-color: var(--input-border-color, color-mix(in oklch, var(--_theme-focus) 70%, transparent));\n }\n\n :host([variant='bordered']) .field:hover {\n border-color: var(--input-hover-border-color, var(--_theme-focus));\n }\n\n /* Outline */\n :host([variant='outline']) {\n --_bg: var(--input-bg, transparent);\n }\n\n :host([variant='outline']) .field {\n box-shadow: none;\n }\n\n :host([variant='outline']:not([disabled])) .field:focus-within {\n box-shadow: var(--_theme-shadow);\n }\n\n /* Ghost */\n :host([variant='ghost']) {\n --_bg: var(--input-bg, transparent);\n --_border-color: var(--input-border-color, transparent);\n }\n\n :host([variant='ghost']) .field {\n box-shadow: none;\n }\n\n :host([variant='ghost']) .field:hover {\n background: var(--input-hover-bg, var(--color-contrast-100));\n }\n\n :host([variant='ghost']:not([disabled])) .field:focus-within {\n box-shadow: var(--_theme-shadow);\n }\n\n /* Text — underline style */\n :host([variant='text']) {\n --_bg: var(--input-bg, transparent);\n --_border-color: var(--input-border-color, var(--color-contrast-300));\n }\n\n :host([variant='text']) .field {\n border: none;\n border-bottom: var(--border) solid var(--_border-color);\n border-radius: 0;\n box-shadow: none;\n }\n\n :host([variant='text']) .field:focus-within {\n border-bottom: var(--border-2) solid var(--input-focus-border-color, var(--_theme-focus));\n }\n}\n\n@layer refine.utilities {\n /* Full width */\n :host([fullwidth]) {\n width: 100%;\n }\n}\n"],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../../src/inputs/input/input.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAI5D,OAAO,yBAAyB,CAAC;AAKjC,iCAAiC;AAEjC,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,EAAE;QAAE,aAAa,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAChD,KAAK,EAAE;QAAE,aAAa,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CAChD,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,cAAc,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,GAAG;IAC5E,wBAAwB;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yDAAyD;IACzD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,+CAA+C;IAC/C,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,GAAG,KAAK,CAAC;IACzF,iEAAiE;IACjE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+BAA+B;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wDAAwD;IACxD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;OAKG;IACH,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,gBAAgB,GAAG,IAAI,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;IACrD,sBAAsB;IACtB,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB,CAAC;AAiBF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwDG;AACH,eAAO,MAAM,SAAS,EAAG,WAAoB,CAAC"}
1
+ {"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../../src/inputs/input/input.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAI5D,OAAO,yBAAyB,CAAC;AAMjC,iCAAiC;AAEjC,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,EAAE;QAAE,aAAa,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAChD,KAAK,EAAE;QAAE,aAAa,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CAChD,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,cAAc,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,GAAG;IAC5E,wBAAwB;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yDAAyD;IACzD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,+CAA+C;IAC/C,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,GAAG,KAAK,CAAC;IACzF,iEAAiE;IACjE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+BAA+B;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wDAAwD;IACxD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;OAKG;IACH,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,gBAAgB,GAAG,IAAI,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;IACrD,sBAAsB;IACtB,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB,CAAC;AAiBF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwDG;AACH,eAAO,MAAM,SAAS,EAAG,WAAoB,CAAC"}
@@ -0,0 +1,2 @@
1
+ var e=`@layer refine.base{:host{--_radius:var(--message-composer-radius,var(--rounded-2xl));--_padding:var(--message-composer-padding,var(--size-3));--_surface:var(--_bg);width:fit-content;max-width:100%;display:flex}:host([fullwidth]){width:100%}.composer{gap:var(--message-composer-gap,var(--_gap));width:100%;padding:var(--_padding);background:var(--_surface);border:var(--border) solid var(--_border-color);border-radius:var(--_radius);box-shadow:var(--shadow-2xs);transition:background var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast);flex-direction:column;display:flex}:host(:not([disabled],[variant=bordered],[variant=flat])) .composer:hover{border-color:var(--color-contrast-400)}:host(:not([disabled],[variant=flat])) .composer:focus-within{--_surface:var(--color-canvas);border-color:var(--_theme-focus);box-shadow:var(--_theme-shadow)}:host([error]:not([error=""])) .composer{border-color:var(--color-error)}:host([error]:not([error=""])) .composer:focus-within{border-color:var(--color-error);box-shadow:var(--color-error-focus-shadow)}.field{box-sizing:border-box;width:100%;min-width:0;min-height:var(--message-composer-min-height,1lh);font:inherit;font-size:var(--_font-size);line-height:var(--leading-relaxed);color:var(--text-color-body);resize:none;background:0 0;border:none;outline:none;padding:0}.field::placeholder{color:var(--message-composer-placeholder-color,var(--color-contrast-500))}.helper-text[hidden]{display:none}.helper-text{font-size:var(--text-xs);line-height:var(--leading-tight);color:color-mix(in oklch, var(--color-contrast-500) 80%, var(--color-canvas));padding-left:2px;padding-right:2px}.counter{font-size:var(--text-xs);line-height:var(--leading-tight);color:var(--color-contrast-400);align-self:flex-end;padding-left:2px;padding-right:2px}.counter.near-limit{color:var(--color-warning)}.counter.at-limit{color:var(--color-error)}.toolbar{gap:var(--message-composer-gap,var(--_gap));justify-content:space-between;align-items:center;display:flex}.toolbar-start,.toolbar-end{gap:var(--message-composer-gap,var(--_gap));align-items:center;min-width:0;display:flex}.send-btn{flex-shrink:0}}@layer refine.variants{:host(:not([variant])),:host([variant=solid]){--_bg:var(--message-composer-bg,var(--color-contrast-50));--_border-color:var(--message-composer-border-color,var(--color-contrast-300))}:host(:not([variant])) .composer,:host([variant=solid]) .composer{box-shadow:var(--shadow-2xs)}:host(:not([variant],[disabled])) .composer:focus-within,:host([variant=solid]:not([disabled])) .composer:focus-within{box-shadow:var(--_theme-shadow)}:host([variant=flat]){--_bg:var(--message-composer-bg,var(--color-contrast-100));--_border-color:var(--message-composer-border-color,color-mix(in oklch, var(--_theme-focus) 20%, transparent))}:host([variant=flat]) .composer{box-shadow:var(--inset-shadow-2xs)}:host([variant=flat]:not([disabled])) .composer:hover{background:var(--message-composer-hover-bg,color-mix(in oklch, var(--_theme-base) 6%, var(--color-contrast-100)));border-color:var(--message-composer-hover-border-color,color-mix(in oklch, var(--_theme-base) 35%, var(--color-contrast-300)))}:host([variant=flat]:not([disabled])) .composer:focus-within{background:var(--message-composer-focus-bg,color-mix(in oklch, var(--_theme-base) 8%, var(--color-canvas)));border-color:var(--message-composer-focus-border-color,color-mix(in oklch, var(--_theme-focus) 60%, transparent));box-shadow:var(--_theme-shadow)}:host([variant=bordered]){--_bg:var(--message-composer-bg,var(--_theme-backdrop));--_border-color:var(--message-composer-border-color,color-mix(in oklch, var(--_theme-focus) 70%, transparent))}:host([variant=bordered]:not([disabled])) .composer:hover{border-color:var(--message-composer-hover-border-color,var(--_theme-focus))}:host([variant=bordered]) .field{color:var(--_theme-base)}:host([variant=bordered]) .field::placeholder{color:var(--message-composer-placeholder-color,color-mix(in oklch, var(--_theme-base) 45%, transparent))}:host([variant=outline]){--_bg:var(--message-composer-bg,transparent)}:host([variant=outline]) .composer{box-shadow:none}:host([variant=outline]:not([disabled])) .composer:focus-within{box-shadow:var(--_theme-shadow)}:host([variant=ghost]){--_bg:var(--message-composer-bg,transparent);--_border-color:var(--message-composer-border-color,transparent)}:host([variant=ghost]) .composer{box-shadow:none}:host([variant=ghost]:not([disabled])) .composer:hover{background:var(--message-composer-hover-bg,var(--color-contrast-100))}}`;exports.default=e;
2
+ //# sourceMappingURL=message-composer.css.cjs.map