snice 2.5.4 → 3.1.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 (323) hide show
  1. package/README.md +501 -882
  2. package/bin/templates/base/src/components/counter-button.ts +13 -26
  3. package/bin/templates/base/src/controllers/counter-controller.ts +3 -3
  4. package/dist/components/accordion/snice-accordion-item.d.ts +4 -5
  5. package/dist/components/accordion/snice-accordion-item.js +37 -39
  6. package/dist/components/accordion/snice-accordion-item.js.map +1 -1
  7. package/dist/components/accordion/snice-accordion.d.ts +5 -11
  8. package/dist/components/accordion/snice-accordion.js +51 -52
  9. package/dist/components/accordion/snice-accordion.js.map +1 -1
  10. package/dist/components/alert/snice-alert.d.ts +2 -6
  11. package/dist/components/alert/snice-alert.js +41 -56
  12. package/dist/components/alert/snice-alert.js.map +1 -1
  13. package/dist/components/avatar/snice-avatar.d.ts +2 -6
  14. package/dist/components/avatar/snice-avatar.js +64 -71
  15. package/dist/components/avatar/snice-avatar.js.map +1 -1
  16. package/dist/components/badge/snice-badge.d.ts +2 -3
  17. package/dist/components/badge/snice-badge.js +22 -23
  18. package/dist/components/badge/snice-badge.js.map +1 -1
  19. package/dist/components/breadcrumbs/snice-breadcrumbs.d.ts +5 -12
  20. package/dist/components/breadcrumbs/snice-breadcrumbs.js +88 -89
  21. package/dist/components/breadcrumbs/snice-breadcrumbs.js.map +1 -1
  22. package/dist/components/button/snice-button.d.ts +3 -7
  23. package/dist/components/button/snice-button.js +37 -58
  24. package/dist/components/button/snice-button.js.map +1 -1
  25. package/dist/components/card/snice-card.d.ts +5 -8
  26. package/dist/components/card/snice-card.js +71 -56
  27. package/dist/components/card/snice-card.js.map +1 -1
  28. package/dist/components/checkbox/snice-checkbox.d.ts +4 -13
  29. package/dist/components/checkbox/snice-checkbox.js +66 -137
  30. package/dist/components/checkbox/snice-checkbox.js.map +1 -1
  31. package/dist/components/chip/snice-chip.d.ts +5 -11
  32. package/dist/components/chip/snice-chip.js +44 -47
  33. package/dist/components/chip/snice-chip.js.map +1 -1
  34. package/dist/components/date-picker/snice-date-picker.d.ts +11 -11
  35. package/dist/components/date-picker/snice-date-picker.js +134 -133
  36. package/dist/components/date-picker/snice-date-picker.js.map +1 -1
  37. package/dist/components/divider/snice-divider.d.ts +2 -4
  38. package/dist/components/divider/snice-divider.js +14 -22
  39. package/dist/components/divider/snice-divider.js.map +1 -1
  40. package/dist/components/drawer/snice-drawer.d.ts +4 -4
  41. package/dist/components/drawer/snice-drawer.js +25 -19
  42. package/dist/components/drawer/snice-drawer.js.map +1 -1
  43. package/dist/components/input/snice-input.d.ts +8 -6
  44. package/dist/components/input/snice-input.js +122 -105
  45. package/dist/components/input/snice-input.js.map +1 -1
  46. package/dist/components/layout/snice-layout-blog.d.ts +4 -4
  47. package/dist/components/layout/snice-layout-blog.js +21 -19
  48. package/dist/components/layout/snice-layout-blog.js.map +1 -1
  49. package/dist/components/layout/snice-layout-card.d.ts +2 -2
  50. package/dist/components/layout/snice-layout-card.js +16 -9
  51. package/dist/components/layout/snice-layout-card.js.map +1 -1
  52. package/dist/components/layout/snice-layout-centered.d.ts +2 -2
  53. package/dist/components/layout/snice-layout-centered.js +14 -7
  54. package/dist/components/layout/snice-layout-centered.js.map +1 -1
  55. package/dist/components/layout/snice-layout-dashboard.d.ts +5 -5
  56. package/dist/components/layout/snice-layout-dashboard.js +38 -30
  57. package/dist/components/layout/snice-layout-dashboard.js.map +1 -1
  58. package/dist/components/layout/snice-layout-fullscreen.d.ts +2 -2
  59. package/dist/components/layout/snice-layout-fullscreen.js +17 -10
  60. package/dist/components/layout/snice-layout-fullscreen.js.map +1 -1
  61. package/dist/components/layout/snice-layout-landing.d.ts +4 -4
  62. package/dist/components/layout/snice-layout-landing.js +21 -19
  63. package/dist/components/layout/snice-layout-landing.js.map +1 -1
  64. package/dist/components/layout/snice-layout-minimal.d.ts +2 -2
  65. package/dist/components/layout/snice-layout-minimal.js +17 -6
  66. package/dist/components/layout/snice-layout-minimal.js.map +1 -1
  67. package/dist/components/layout/snice-layout-sidebar.d.ts +5 -4
  68. package/dist/components/layout/snice-layout-sidebar.js +42 -20
  69. package/dist/components/layout/snice-layout-sidebar.js.map +1 -1
  70. package/dist/components/layout/snice-layout-split.d.ts +2 -2
  71. package/dist/components/layout/snice-layout-split.js +14 -7
  72. package/dist/components/layout/snice-layout-split.js.map +1 -1
  73. package/dist/components/layout/snice-layout.d.ts +4 -4
  74. package/dist/components/layout/snice-layout.js +16 -10
  75. package/dist/components/layout/snice-layout.js.map +1 -1
  76. package/dist/components/login/snice-login.d.ts +6 -11
  77. package/dist/components/login/snice-login.js +97 -71
  78. package/dist/components/login/snice-login.js.map +1 -1
  79. package/dist/components/modal/snice-modal.d.ts +5 -9
  80. package/dist/components/modal/snice-modal.js +47 -78
  81. package/dist/components/modal/snice-modal.js.map +1 -1
  82. package/dist/components/nav/snice-nav.d.ts +13 -7
  83. package/dist/components/nav/snice-nav.js +191 -100
  84. package/dist/components/nav/snice-nav.js.map +1 -1
  85. package/dist/components/nav/snice-nav.types.d.ts +3 -3
  86. package/dist/components/pagination/snice-pagination.d.ts +6 -7
  87. package/dist/components/pagination/snice-pagination.js +94 -81
  88. package/dist/components/pagination/snice-pagination.js.map +1 -1
  89. package/dist/components/progress/snice-progress.d.ts +2 -7
  90. package/dist/components/progress/snice-progress.js +41 -98
  91. package/dist/components/progress/snice-progress.js.map +1 -1
  92. package/dist/components/radio/snice-radio.d.ts +4 -4
  93. package/dist/components/radio/snice-radio.js +52 -44
  94. package/dist/components/radio/snice-radio.js.map +1 -1
  95. package/dist/components/select/snice-option.d.ts +2 -1
  96. package/dist/components/select/snice-option.js +12 -5
  97. package/dist/components/select/snice-option.js.map +1 -1
  98. package/dist/components/select/snice-select.d.ts +9 -21
  99. package/dist/components/select/snice-select.js +98 -170
  100. package/dist/components/select/snice-select.js.map +1 -1
  101. package/dist/components/skeleton/snice-skeleton.d.ts +2 -6
  102. package/dist/components/skeleton/snice-skeleton.js +18 -49
  103. package/dist/components/skeleton/snice-skeleton.js.map +1 -1
  104. package/dist/components/snice-cell-BLFVdxPp.js +4 -0
  105. package/dist/components/snice-cell-BLFVdxPp.js.map +1 -0
  106. package/dist/components/switch/snice-switch.d.ts +2 -2
  107. package/dist/components/switch/snice-switch.js +38 -26
  108. package/dist/components/switch/snice-switch.js.map +1 -1
  109. package/dist/components/table/snice-cell-actions.d.ts +24 -0
  110. package/dist/components/table/snice-cell-actions.js +149 -0
  111. package/dist/components/table/snice-cell-actions.js.map +1 -0
  112. package/dist/components/table/snice-cell-boolean.d.ts +2 -2
  113. package/dist/components/table/snice-cell-boolean.js +13 -7
  114. package/dist/components/table/snice-cell-boolean.js.map +1 -1
  115. package/dist/components/table/snice-cell-color.d.ts +18 -0
  116. package/dist/components/table/snice-cell-color.js +149 -0
  117. package/dist/components/table/snice-cell-color.js.map +1 -0
  118. package/dist/components/table/snice-cell-currency.d.ts +24 -0
  119. package/dist/components/table/snice-cell-currency.js +235 -0
  120. package/dist/components/table/snice-cell-currency.js.map +1 -0
  121. package/dist/components/table/snice-cell-date.d.ts +2 -2
  122. package/dist/components/table/snice-cell-date.js +14 -8
  123. package/dist/components/table/snice-cell-date.js.map +1 -1
  124. package/dist/components/table/snice-cell-duration.d.ts +2 -2
  125. package/dist/components/table/snice-cell-duration.js +12 -6
  126. package/dist/components/table/snice-cell-duration.js.map +1 -1
  127. package/dist/components/table/snice-cell-email.d.ts +15 -0
  128. package/dist/components/table/snice-cell-email.js +125 -0
  129. package/dist/components/table/snice-cell-email.js.map +1 -0
  130. package/dist/components/table/snice-cell-filesize.d.ts +2 -2
  131. package/dist/components/table/snice-cell-filesize.js +12 -6
  132. package/dist/components/table/snice-cell-filesize.js.map +1 -1
  133. package/dist/components/table/snice-cell-image.d.ts +20 -0
  134. package/dist/components/table/snice-cell-image.js +162 -0
  135. package/dist/components/table/snice-cell-image.js.map +1 -0
  136. package/dist/components/table/snice-cell-json.d.ts +20 -0
  137. package/dist/components/table/snice-cell-json.js +186 -0
  138. package/dist/components/table/snice-cell-json.js.map +1 -0
  139. package/dist/components/table/snice-cell-link.d.ts +17 -0
  140. package/dist/components/table/snice-cell-link.js +142 -0
  141. package/dist/components/table/snice-cell-link.js.map +1 -0
  142. package/dist/components/table/snice-cell-location.d.ts +19 -0
  143. package/dist/components/table/snice-cell-location.js +185 -0
  144. package/dist/components/table/snice-cell-location.js.map +1 -0
  145. package/dist/components/table/snice-cell-number.d.ts +2 -2
  146. package/dist/components/table/snice-cell-number.js +12 -6
  147. package/dist/components/table/snice-cell-number.js.map +1 -1
  148. package/dist/components/table/snice-cell-percentage.d.ts +22 -0
  149. package/dist/components/table/snice-cell-percentage.js +208 -0
  150. package/dist/components/table/snice-cell-percentage.js.map +1 -0
  151. package/dist/components/table/snice-cell-phone.d.ts +18 -0
  152. package/dist/components/table/snice-cell-phone.js +153 -0
  153. package/dist/components/table/snice-cell-phone.js.map +1 -0
  154. package/dist/components/table/snice-cell-progress.d.ts +2 -2
  155. package/dist/components/table/snice-cell-progress.js +12 -6
  156. package/dist/components/table/snice-cell-progress.js.map +1 -1
  157. package/dist/components/table/snice-cell-rating.d.ts +2 -2
  158. package/dist/components/table/snice-cell-rating.js +12 -6
  159. package/dist/components/table/snice-cell-rating.js.map +1 -1
  160. package/dist/components/table/snice-cell-sparkline.d.ts +2 -2
  161. package/dist/components/table/snice-cell-sparkline.js +13 -7
  162. package/dist/components/table/snice-cell-sparkline.js.map +1 -1
  163. package/dist/components/table/snice-cell-status.d.ts +17 -0
  164. package/dist/components/table/snice-cell-status.js +144 -0
  165. package/dist/components/table/snice-cell-status.js.map +1 -0
  166. package/dist/components/table/snice-cell-tag.d.ts +16 -0
  167. package/dist/components/table/snice-cell-tag.js +131 -0
  168. package/dist/components/table/snice-cell-tag.js.map +1 -0
  169. package/dist/components/table/snice-cell-text.d.ts +2 -2
  170. package/dist/components/table/snice-cell-text.js +14 -8
  171. package/dist/components/table/snice-cell-text.js.map +1 -1
  172. package/dist/components/table/snice-cell.d.ts +2 -2
  173. package/dist/components/table/snice-cell.js +12 -6
  174. package/dist/components/table/snice-cell.js.map +1 -1
  175. package/dist/components/table/snice-column.d.ts +1 -1
  176. package/dist/components/table/snice-column.js +6 -3
  177. package/dist/components/table/snice-column.js.map +1 -1
  178. package/dist/components/table/snice-header.d.ts +5 -5
  179. package/dist/components/table/snice-header.js +60 -50
  180. package/dist/components/table/snice-header.js.map +1 -1
  181. package/dist/components/table/snice-progress.d.ts +2 -2
  182. package/dist/components/table/snice-progress.js +18 -11
  183. package/dist/components/table/snice-progress.js.map +1 -1
  184. package/dist/components/table/snice-rating.d.ts +2 -2
  185. package/dist/components/table/snice-rating.js +15 -8
  186. package/dist/components/table/snice-rating.js.map +1 -1
  187. package/dist/components/table/snice-row.d.ts +17 -6
  188. package/dist/components/table/snice-row.js +95 -44
  189. package/dist/components/table/snice-row.js.map +1 -1
  190. package/dist/components/table/snice-table.d.ts +18 -10
  191. package/dist/components/table/snice-table.js +355 -173
  192. package/dist/components/table/snice-table.js.map +1 -1
  193. package/dist/components/table/snice-table.types.d.ts +101 -2
  194. package/dist/components/tabs/snice-tab-panel.d.ts +2 -2
  195. package/dist/components/tabs/snice-tab-panel.js +12 -6
  196. package/dist/components/tabs/snice-tab-panel.js.map +1 -1
  197. package/dist/components/tabs/snice-tab.d.ts +6 -5
  198. package/dist/components/tabs/snice-tab.js +36 -19
  199. package/dist/components/tabs/snice-tab.js.map +1 -1
  200. package/dist/components/tabs/snice-tabs.d.ts +5 -5
  201. package/dist/components/tabs/snice-tabs.js +38 -28
  202. package/dist/components/tabs/snice-tabs.js.map +1 -1
  203. package/dist/components/toast/snice-toast-container.d.ts +7 -7
  204. package/dist/components/toast/snice-toast-container.js +19 -12
  205. package/dist/components/toast/snice-toast-container.js.map +1 -1
  206. package/dist/components/toast/snice-toast.d.ts +3 -15
  207. package/dist/components/toast/snice-toast.js +49 -108
  208. package/dist/components/toast/snice-toast.js.map +1 -1
  209. package/dist/components/tooltip/snice-tooltip.d.ts +2 -2
  210. package/dist/components/tooltip/snice-tooltip.js +14 -7
  211. package/dist/components/tooltip/snice-tooltip.js.map +1 -1
  212. package/dist/context.d.ts +44 -0
  213. package/dist/element-ready.d.ts +40 -0
  214. package/dist/{types/element.d.ts → element.d.ts} +2 -8
  215. package/dist/{types/events.d.ts → events.d.ts} +0 -4
  216. package/dist/index.cjs +2589 -605
  217. package/dist/index.cjs.map +1 -1
  218. package/dist/index.d.ts +21 -0
  219. package/dist/index.esm.js +2568 -604
  220. package/dist/index.esm.js.map +1 -1
  221. package/dist/index.iife.js +2589 -605
  222. package/dist/index.iife.js.map +1 -1
  223. package/dist/method-decorators.d.ts +121 -0
  224. package/dist/on.d.ts +59 -0
  225. package/dist/parts.d.ts +159 -0
  226. package/dist/render-debug.d.ts +27 -0
  227. package/dist/render-tracker.d.ts +14 -0
  228. package/dist/render.d.ts +96 -0
  229. package/dist/symbols.cjs +163 -0
  230. package/dist/symbols.cjs.map +1 -1
  231. package/dist/{types/symbols.d.ts → symbols.d.ts} +22 -0
  232. package/dist/symbols.esm.js +27 -3
  233. package/dist/symbols.esm.js.map +1 -1
  234. package/dist/template.d.ts +100 -0
  235. package/dist/transitions.cjs +219 -0
  236. package/dist/transitions.esm.js +2 -2
  237. package/dist/types/context.d.ts +48 -0
  238. package/dist/types/element-options.d.ts +26 -0
  239. package/dist/types/index.d.ts +25 -9
  240. package/dist/types/nav-context.d.ts +19 -0
  241. package/dist/types/{types/on-options.d.ts → on-options.d.ts} +2 -0
  242. package/dist/types/{types/placard.d.ts → placard.d.ts} +0 -1
  243. package/docs/ai/README.md +17 -0
  244. package/docs/ai/api.md +175 -0
  245. package/docs/ai/architecture.md +160 -0
  246. package/docs/ai/components/accordion.md +174 -0
  247. package/docs/ai/components/alert.md +77 -0
  248. package/docs/ai/components/avatar.md +61 -0
  249. package/docs/ai/components/badge.md +69 -0
  250. package/docs/ai/components/breadcrumbs.md +74 -0
  251. package/docs/ai/components/button.md +75 -0
  252. package/docs/ai/components/card.md +61 -0
  253. package/docs/ai/components/checkbox.md +74 -0
  254. package/docs/ai/components/chip.md +73 -0
  255. package/docs/ai/components/date-picker.md +75 -0
  256. package/docs/ai/components/divider.md +66 -0
  257. package/docs/ai/components/drawer.md +80 -0
  258. package/docs/ai/components/input.md +111 -0
  259. package/docs/ai/components/login.md +109 -0
  260. package/docs/ai/components/modal.md +67 -0
  261. package/docs/ai/components/nav.md +76 -0
  262. package/docs/ai/components/pagination.md +55 -0
  263. package/docs/ai/components/progress.md +72 -0
  264. package/docs/ai/components/radio.md +79 -0
  265. package/docs/ai/components/select.md +92 -0
  266. package/docs/ai/components/skeleton.md +57 -0
  267. package/docs/ai/components/switch.md +53 -0
  268. package/docs/ai/components/table.md +227 -0
  269. package/docs/ai/components/tabs.md +83 -0
  270. package/docs/ai/components/toast.md +140 -0
  271. package/docs/ai/components/tooltip.md +146 -0
  272. package/docs/ai/patterns.md +244 -0
  273. package/docs/components/accordion.md +558 -0
  274. package/docs/components/drawer.md +602 -0
  275. package/docs/components/modal.md +558 -0
  276. package/docs/components/nav.md +239 -0
  277. package/docs/components/pagination.md +289 -0
  278. package/docs/components/select.md +599 -0
  279. package/docs/components/switch.md +354 -0
  280. package/docs/components/tabs.md +546 -0
  281. package/docs/components/toast.md +506 -0
  282. package/docs/components/tooltip.md +523 -0
  283. package/docs/controllers.md +744 -0
  284. package/docs/elements.md +855 -0
  285. package/docs/events.md +807 -0
  286. package/docs/migration-v2-to-v3.md +569 -0
  287. package/docs/observe.md +588 -0
  288. package/docs/placards.md +401 -0
  289. package/docs/request-response.md +852 -0
  290. package/docs/routing.md +1186 -0
  291. package/package.json +10 -11
  292. package/dist/components/snice-cell-C9N6yGxQ.js +0 -4
  293. package/dist/components/snice-cell-C9N6yGxQ.js.map +0 -1
  294. package/dist/types/types/index.d.ts +0 -23
  295. /package/dist/{types/controller.d.ts → controller.d.ts} +0 -0
  296. /package/dist/{types/global.d.ts → global.d.ts} +0 -0
  297. /package/dist/{types/observe.d.ts → observe.d.ts} +0 -0
  298. /package/dist/{types/request-response.d.ts → request-response.d.ts} +0 -0
  299. /package/dist/{types/router.d.ts → router.d.ts} +0 -0
  300. /package/dist/{types/testing.d.ts → testing.d.ts} +0 -0
  301. /package/dist/{types/transitions.d.ts → transitions.d.ts} +0 -0
  302. /package/dist/types/{types/adopted-options.d.ts → adopted-options.d.ts} +0 -0
  303. /package/dist/types/{types/app-context.d.ts → app-context.d.ts} +0 -0
  304. /package/dist/types/{types/dispatch-options.d.ts → dispatch-options.d.ts} +0 -0
  305. /package/dist/types/{types/guard.d.ts → guard.d.ts} +0 -0
  306. /package/dist/types/{types/i-controller.d.ts → i-controller.d.ts} +0 -0
  307. /package/dist/types/{types/moved-options.d.ts → moved-options.d.ts} +0 -0
  308. /package/dist/types/{types/observe-options.d.ts → observe-options.d.ts} +0 -0
  309. /package/dist/types/{types/page-options.d.ts → page-options.d.ts} +0 -0
  310. /package/dist/types/{types/part-options.d.ts → part-options.d.ts} +0 -0
  311. /package/dist/types/{types/property-converter.d.ts → property-converter.d.ts} +0 -0
  312. /package/dist/types/{types/property-options.d.ts → property-options.d.ts} +0 -0
  313. /package/dist/types/{types/query-options.d.ts → query-options.d.ts} +0 -0
  314. /package/dist/types/{types/request-options.d.ts → request-options.d.ts} +0 -0
  315. /package/dist/types/{types/respond-options.d.ts → respond-options.d.ts} +0 -0
  316. /package/dist/types/{types/route-params.d.ts → route-params.d.ts} +0 -0
  317. /package/dist/types/{types/router-instance.d.ts → router-instance.d.ts} +0 -0
  318. /package/dist/types/{types/router-options.d.ts → router-options.d.ts} +0 -0
  319. /package/dist/types/{types/simple-array.d.ts → simple-array.d.ts} +0 -0
  320. /package/dist/types/{types/snice-element.d.ts → snice-element.d.ts} +0 -0
  321. /package/dist/types/{types/snice-global.d.ts → snice-global.d.ts} +0 -0
  322. /package/dist/types/{types/transition.d.ts → transition.d.ts} +0 -0
  323. /package/dist/{types/utils.d.ts → utils.d.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"snice-drawer.js","sources":["../../../components/drawer/snice-drawer.css?inline","../../../../components/drawer/snice-drawer.ts"],"sourcesContent":["export default \":host {\\n /* Drawer sizes with theme integration and rem units */\\n --drawer-width-small: var(--snice-size-drawer-small, 15rem); /* 240px */\\n --drawer-width-medium: var(--snice-size-drawer-medium, 20rem); /* 320px */\\n --drawer-width-large: var(--snice-size-drawer-large, 30rem); /* 480px */\\n --drawer-width-xl: var(--snice-size-drawer-xl, 40rem); /* 640px */\\n --drawer-width-xxl: var(--snice-size-drawer-xxl, 50rem); /* 800px */\\n --drawer-width-xxxl: var(--snice-size-drawer-xxxl, 60rem); /* 960px */\\n --drawer-height-small: var(--snice-size-drawer-height-small, 12.5rem); /* 200px */\\n --drawer-height-medium: var(--snice-size-drawer-height-medium, 25rem); /* 400px */\\n --drawer-height-large: var(--snice-size-drawer-height-large, 37.5rem); /* 600px */\\n --drawer-height-xl: var(--snice-size-drawer-height-xl, 70vh);\\n --drawer-height-xxl: var(--snice-size-drawer-height-xxl, 80vh);\\n --drawer-height-xxxl: var(--snice-size-drawer-height-xxxl, 90vh);\\n\\n /* Theme-integrated colors and effects */\\n --drawer-bg: var(--snice-color-background, white);\\n --drawer-shadow: var(--snice-shadow-lg, 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1));\\n --drawer-backdrop: var(--snice-color-backdrop, rgba(0, 0, 0, 0.5));\\n --drawer-transition: transform var(--snice-transition-medium, 250ms) cubic-bezier(0.4, 0, 0.2, 1);\\n --drawer-z-index: var(--snice-z-index-modal, 1050);\\n\\n /* Default: fixed positioning (modal behavior) */\\n display: block;\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100vw;\\n height: 100vh;\\n pointer-events: none;\\n isolation: isolate;\\n font-family: var(--snice-font-family, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif);\\n contain: layout style paint;\\n}\\n\\n/* Contained variant - position within parent */\\n:host([contained]) {\\n position: absolute;\\n width: 100%;\\n height: 100%;\\n}\\n\\n.drawer-backdrop {\\n position: absolute;\\n inset: 0;\\n background: var(--drawer-backdrop);\\n opacity: 0;\\n transition: opacity 0.3s ease-in-out;\\n z-index: var(--drawer-z-index);\\n pointer-events: none;\\n visibility: hidden;\\n}\\n\\n:host([open]) {\\n pointer-events: auto;\\n}\\n\\n:host([open]) .drawer-backdrop {\\n opacity: 1;\\n pointer-events: auto;\\n visibility: visible;\\n}\\n\\n:host([no-backdrop]) .drawer-backdrop {\\n display: none;\\n}\\n\\n.drawer {\\n position: absolute;\\n background: var(--drawer-bg);\\n box-shadow: var(--drawer-shadow);\\n transition:\\n transform var(--snice-transition-medium, 250ms) cubic-bezier(0.4, 0, 0.2, 1),\\n opacity var(--snice-transition-medium, 250ms) cubic-bezier(0.2, 0, 0.8, 1);\\n z-index: calc(var(--drawer-z-index) + 1);\\n display: flex;\\n flex-direction: column;\\n outline: none;\\n overflow: hidden;\\n opacity: 0;\\n pointer-events: auto;\\n}\\n\\n:host([open]) .drawer {\\n opacity: 1;\\n}\\n\\n/* Default styles when no position attribute (defaults to left) */\\n:host(:not([position])) .drawer {\\n top: 0;\\n left: 0;\\n height: 100%;\\n width: var(--drawer-width-medium);\\n transform: translateX(-100%);\\n}\\n\\n:host(:not([position])[open]) .drawer {\\n transform: translateX(0);\\n}\\n\\n/* Position: Left */\\n:host([position=\\\"left\\\"]) .drawer {\\n top: 0;\\n left: 0;\\n height: 100%;\\n width: var(--drawer-width-medium); /* Default width */\\n transform: translateX(-100%);\\n}\\n\\n:host([position=\\\"left\\\"][size=\\\"small\\\"]) .drawer {\\n width: var(--drawer-width-small);\\n}\\n\\n:host([position=\\\"left\\\"][size=\\\"medium\\\"]) .drawer {\\n width: var(--drawer-width-medium);\\n}\\n\\n:host([position=\\\"left\\\"][size=\\\"large\\\"]) .drawer {\\n width: var(--drawer-width-large);\\n}\\n\\n:host([position=\\\"left\\\"][size=\\\"xl\\\"]) .drawer {\\n width: var(--drawer-width-xl);\\n}\\n\\n:host([position=\\\"left\\\"][size=\\\"xxl\\\"]) .drawer {\\n width: var(--drawer-width-xxl);\\n}\\n\\n:host([position=\\\"left\\\"][size=\\\"xxxl\\\"]) .drawer {\\n width: var(--drawer-width-xxxl);\\n}\\n\\n:host([position=\\\"left\\\"][size=\\\"full\\\"]) .drawer {\\n width: 100%;\\n}\\n\\n:host([position=\\\"left\\\"][open]) .drawer {\\n transform: translateX(0);\\n}\\n\\n/* Position: Right */\\n:host([position=\\\"right\\\"]) .drawer {\\n top: 0;\\n right: 0;\\n height: 100%;\\n width: var(--drawer-width-medium); /* Default width */\\n transform: translateX(100%);\\n}\\n\\n:host([position=\\\"right\\\"][size=\\\"small\\\"]) .drawer {\\n width: var(--drawer-width-small);\\n}\\n\\n:host([position=\\\"right\\\"][size=\\\"medium\\\"]) .drawer {\\n width: var(--drawer-width-medium);\\n}\\n\\n:host([position=\\\"right\\\"][size=\\\"large\\\"]) .drawer {\\n width: var(--drawer-width-large);\\n}\\n\\n:host([position=\\\"right\\\"][size=\\\"xl\\\"]) .drawer {\\n width: var(--drawer-width-xl);\\n}\\n\\n:host([position=\\\"right\\\"][size=\\\"xxl\\\"]) .drawer {\\n width: var(--drawer-width-xxl);\\n}\\n\\n:host([position=\\\"right\\\"][size=\\\"xxxl\\\"]) .drawer {\\n width: var(--drawer-width-xxxl);\\n}\\n\\n:host([position=\\\"right\\\"][size=\\\"full\\\"]) .drawer {\\n width: 100%;\\n}\\n\\n:host([position=\\\"right\\\"][open]) .drawer {\\n transform: translateX(0);\\n}\\n\\n/* Position: Top */\\n:host([position=\\\"top\\\"]) .drawer {\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: var(--drawer-height-medium); /* Default height */\\n transform: translateY(-100%);\\n}\\n\\n:host([position=\\\"top\\\"][size=\\\"small\\\"]) .drawer {\\n height: var(--drawer-height-small);\\n}\\n\\n:host([position=\\\"top\\\"][size=\\\"medium\\\"]) .drawer {\\n height: var(--drawer-height-medium);\\n}\\n\\n:host([position=\\\"top\\\"][size=\\\"large\\\"]) .drawer {\\n height: var(--drawer-height-large);\\n}\\n\\n:host([position=\\\"top\\\"][size=\\\"xl\\\"]) .drawer {\\n height: var(--drawer-height-xl);\\n}\\n\\n:host([position=\\\"top\\\"][size=\\\"xxl\\\"]) .drawer {\\n height: var(--drawer-height-xxl);\\n}\\n\\n:host([position=\\\"top\\\"][size=\\\"xxxl\\\"]) .drawer {\\n height: var(--drawer-height-xxxl);\\n}\\n\\n:host([position=\\\"top\\\"][size=\\\"full\\\"]) .drawer {\\n height: 100%;\\n}\\n\\n:host([position=\\\"top\\\"][open]) .drawer {\\n transform: translateY(0);\\n}\\n\\n/* Position: Bottom */\\n:host([position=\\\"bottom\\\"]) .drawer {\\n bottom: 0;\\n left: 0;\\n width: 100%;\\n height: var(--drawer-height-medium); /* Default height */\\n transform: translateY(100%);\\n}\\n\\n:host([position=\\\"bottom\\\"][size=\\\"small\\\"]) .drawer {\\n height: var(--drawer-height-small);\\n}\\n\\n:host([position=\\\"bottom\\\"][size=\\\"medium\\\"]) .drawer {\\n height: var(--drawer-height-medium);\\n}\\n\\n:host([position=\\\"bottom\\\"][size=\\\"large\\\"]) .drawer {\\n height: var(--drawer-height-large);\\n}\\n\\n:host([position=\\\"bottom\\\"][size=\\\"xl\\\"]) .drawer {\\n height: var(--drawer-height-xl);\\n}\\n\\n:host([position=\\\"bottom\\\"][size=\\\"xxl\\\"]) .drawer {\\n height: var(--drawer-height-xxl);\\n}\\n\\n:host([position=\\\"bottom\\\"][size=\\\"xxxl\\\"]) .drawer {\\n height: var(--drawer-height-xxxl);\\n}\\n\\n:host([position=\\\"bottom\\\"][size=\\\"full\\\"]) .drawer {\\n height: 100%;\\n}\\n\\n:host([position=\\\"bottom\\\"][open]) .drawer {\\n transform: translateY(0);\\n}\\n\\n/* Drawer Header */\\n.drawer-header {\\n display: flex;\\n align-items: center;\\n justify-content: space-between;\\n padding: var(--snice-spacing-md, 1rem) var(--snice-spacing-lg, 1.25rem); /* 16px 20px */\\n border-bottom: 1px solid var(--snice-color-border, rgb(229 231 235));\\n background: var(--snice-color-background, white);\\n flex-shrink: 0;\\n}\\n\\n.drawer-header:has(.drawer-title:empty):not(:has(.drawer-close)) {\\n display: none;\\n}\\n\\n.drawer-title {\\n font-size: var(--snice-font-size-lg, 1.125rem); /* 18px */\\n font-weight: var(--snice-font-weight-semibold, 600);\\n margin: 0;\\n color: var(--snice-color-text, rgb(17 24 39));\\n line-height: var(--snice-line-height-tight, 1.25);\\n}\\n\\n.drawer-close {\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n width: var(--snice-size-control-md, 2rem); /* 32px */\\n height: var(--snice-size-control-md, 2rem); /* 32px */\\n border: none;\\n background: transparent;\\n border-radius: var(--snice-border-radius-md, 6px);\\n cursor: pointer;\\n color: var(--snice-color-text-secondary, rgb(107 114 128));\\n transition: all var(--snice-transition-fast, 150ms) ease;\\n}\\n\\n.drawer-close:hover {\\n background: var(--snice-color-background-hover, rgb(243 244 246));\\n color: var(--snice-color-text, rgb(17 24 39));\\n}\\n\\n.drawer-close:focus-visible {\\n outline: var(--snice-focus-ring-width, 2px) solid var(--snice-focus-ring-color, rgb(59 130 246));\\n outline-offset: var(--snice-focus-ring-offset, 2px);\\n}\\n\\n/* Drawer Body */\\n.drawer-body {\\n flex: 1;\\n padding: var(--snice-spacing-lg, 1.25rem); /* 20px */\\n overflow-y: auto;\\n overflow-x: hidden;\\n color: var(--snice-color-text, rgb(17 24 39));\\n}\\n\\n/* Drawer Footer */\\n.drawer-footer {\\n padding: var(--snice-spacing-md, 1rem) var(--snice-spacing-lg, 1.25rem); /* 16px 20px */\\n border-top: 1px solid var(--snice-color-border, rgb(229 231 235));\\n background: var(--snice-color-background, white);\\n flex-shrink: 0;\\n}\\n\\n.drawer-footer:empty {\\n display: none;\\n}\\n\\n/* Animations */\\n@media (prefers-reduced-motion: reduce) {\\n .drawer,\\n .drawer-backdrop {\\n transition: none;\\n }\\n}\\n\\n/* Responsive */\\n@media (max-width: 640px) {\\n :host([position=\\\"left\\\"][size=\\\"medium\\\"]) .drawer,\\n :host([position=\\\"left\\\"][size=\\\"large\\\"]) .drawer,\\n :host([position=\\\"left\\\"][size=\\\"xl\\\"]) .drawer,\\n :host([position=\\\"left\\\"][size=\\\"xxl\\\"]) .drawer,\\n :host([position=\\\"left\\\"][size=\\\"xxxl\\\"]) .drawer,\\n :host([position=\\\"right\\\"][size=\\\"medium\\\"]) .drawer,\\n :host([position=\\\"right\\\"][size=\\\"large\\\"]) .drawer,\\n :host([position=\\\"right\\\"][size=\\\"xl\\\"]) .drawer,\\n :host([position=\\\"right\\\"][size=\\\"xxl\\\"]) .drawer,\\n :host([position=\\\"right\\\"][size=\\\"xxxl\\\"]) .drawer {\\n width: calc(100% - 2.5rem); /* 40px */\\n }\\n}\\n\\n/* Focus trap styles */\\n.focus-trap-start,\\n.focus-trap-end {\\n position: absolute;\\n width: 1px;\\n height: 1px;\\n padding: 0;\\n margin: -1px;\\n overflow: hidden;\\n clip: rect(0, 0, 0, 0);\\n white-space: nowrap;\\n border: 0;\\n}\\n\\n/* Push content mode */\\n:host([push-content]) {\\n --drawer-push-amount: 0px;\\n}\\n\\n/* Left position push amounts */\\n:host([push-content][position=\\\"left\\\"][open][size=\\\"small\\\"]) {\\n --drawer-push-amount: var(--drawer-width-small);\\n}\\n\\n:host([push-content][position=\\\"left\\\"][open][size=\\\"medium\\\"]) {\\n --drawer-push-amount: var(--drawer-width-medium);\\n}\\n\\n:host([push-content][position=\\\"left\\\"][open][size=\\\"large\\\"]) {\\n --drawer-push-amount: var(--drawer-width-large);\\n}\\n\\n:host([push-content][position=\\\"left\\\"][open][size=\\\"xl\\\"]) {\\n --drawer-push-amount: var(--drawer-width-xl);\\n}\\n\\n:host([push-content][position=\\\"left\\\"][open][size=\\\"xxl\\\"]) {\\n --drawer-push-amount: var(--drawer-width-xxl);\\n}\\n\\n:host([push-content][position=\\\"left\\\"][open][size=\\\"xxxl\\\"]) {\\n --drawer-push-amount: var(--drawer-width-xxxl);\\n}\\n\\n:host([push-content][position=\\\"left\\\"][open][size=\\\"full\\\"]) {\\n --drawer-push-amount: 100vw;\\n}\\n\\n/* Also handle when no size is specified (defaults to medium) */\\n:host([push-content][position=\\\"left\\\"][open]:not([size])) {\\n --drawer-push-amount: var(--drawer-width-medium);\\n}\\n\\n/* Right position push amounts */\\n:host([push-content][position=\\\"right\\\"][open][size=\\\"small\\\"]) {\\n --drawer-push-amount: calc(-1 * var(--drawer-width-small));\\n}\\n\\n:host([push-content][position=\\\"right\\\"][open][size=\\\"medium\\\"]) {\\n --drawer-push-amount: calc(-1 * var(--drawer-width-medium));\\n}\\n\\n:host([push-content][position=\\\"right\\\"][open][size=\\\"large\\\"]) {\\n --drawer-push-amount: calc(-1 * var(--drawer-width-large));\\n}\\n\\n:host([push-content][position=\\\"right\\\"][open][size=\\\"xl\\\"]) {\\n --drawer-push-amount: calc(-1 * var(--drawer-width-xl));\\n}\\n\\n:host([push-content][position=\\\"right\\\"][open][size=\\\"xxl\\\"]) {\\n --drawer-push-amount: calc(-1 * var(--drawer-width-xxl));\\n}\\n\\n:host([push-content][position=\\\"right\\\"][open][size=\\\"xxxl\\\"]) {\\n --drawer-push-amount: calc(-1 * var(--drawer-width-xxxl));\\n}\\n\\n:host([push-content][position=\\\"right\\\"][open][size=\\\"full\\\"]) {\\n --drawer-push-amount: -100vw;\\n}\\n\\n:host([push-content][position=\\\"right\\\"][open]:not([size])) {\\n --drawer-push-amount: calc(-1 * var(--drawer-width-medium));\\n}\\n\\n/* Top position push amounts */\\n:host([push-content][position=\\\"top\\\"][open][size=\\\"small\\\"]) {\\n --drawer-push-amount: var(--drawer-height-small);\\n}\\n\\n:host([push-content][position=\\\"top\\\"][open][size=\\\"medium\\\"]) {\\n --drawer-push-amount: var(--drawer-height-medium);\\n}\\n\\n:host([push-content][position=\\\"top\\\"][open][size=\\\"large\\\"]) {\\n --drawer-push-amount: var(--drawer-height-large);\\n}\\n\\n:host([push-content][position=\\\"top\\\"][open][size=\\\"xl\\\"]) {\\n --drawer-push-amount: var(--drawer-height-xl);\\n}\\n\\n:host([push-content][position=\\\"top\\\"][open][size=\\\"xxl\\\"]) {\\n --drawer-push-amount: var(--drawer-height-xxl);\\n}\\n\\n:host([push-content][position=\\\"top\\\"][open][size=\\\"xxxl\\\"]) {\\n --drawer-push-amount: var(--drawer-height-xxxl);\\n}\\n\\n:host([push-content][position=\\\"top\\\"][open][size=\\\"full\\\"]) {\\n --drawer-push-amount: 100vh;\\n}\\n\\n:host([push-content][position=\\\"top\\\"][open]:not([size])) {\\n --drawer-push-amount: var(--drawer-height-medium);\\n}\\n\\n/* Bottom position push amounts */\\n:host([push-content][position=\\\"bottom\\\"][open][size=\\\"small\\\"]) {\\n --drawer-push-amount: calc(-1 * var(--drawer-height-small));\\n}\\n\\n:host([push-content][position=\\\"bottom\\\"][open][size=\\\"medium\\\"]) {\\n --drawer-push-amount: calc(-1 * var(--drawer-height-medium));\\n}\\n\\n:host([push-content][position=\\\"bottom\\\"][open][size=\\\"large\\\"]) {\\n --drawer-push-amount: calc(-1 * var(--drawer-height-large));\\n}\\n\\n:host([push-content][position=\\\"bottom\\\"][open][size=\\\"xl\\\"]) {\\n --drawer-push-amount: calc(-1 * var(--drawer-height-xl));\\n}\\n\\n:host([push-content][position=\\\"bottom\\\"][open][size=\\\"xxl\\\"]) {\\n --drawer-push-amount: calc(-1 * var(--drawer-height-xxl));\\n}\\n\\n:host([push-content][position=\\\"bottom\\\"][open][size=\\\"xxxl\\\"]) {\\n --drawer-push-amount: calc(-1 * var(--drawer-height-xxxl));\\n}\\n\\n:host([push-content][position=\\\"bottom\\\"][open][size=\\\"full\\\"]) {\\n --drawer-push-amount: -100vh;\\n}\\n\\n:host([push-content][position=\\\"bottom\\\"][open]:not([size])) {\\n --drawer-push-amount: calc(-1 * var(--drawer-height-medium));\\n}\";",null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"snice-drawer.js","sources":["../../../components/drawer/snice-drawer.css?inline","../../../../components/drawer/snice-drawer.ts"],"sourcesContent":["export default \":host {\\n /* Drawer sizes with theme integration and rem units */\\n --drawer-width-small: var(--snice-size-drawer-small, 15rem); /* 240px */\\n --drawer-width-medium: var(--snice-size-drawer-medium, 20rem); /* 320px */\\n --drawer-width-large: var(--snice-size-drawer-large, 30rem); /* 480px */\\n --drawer-width-xl: var(--snice-size-drawer-xl, 40rem); /* 640px */\\n --drawer-width-xxl: var(--snice-size-drawer-xxl, 50rem); /* 800px */\\n --drawer-width-xxxl: var(--snice-size-drawer-xxxl, 60rem); /* 960px */\\n --drawer-height-small: var(--snice-size-drawer-height-small, 12.5rem); /* 200px */\\n --drawer-height-medium: var(--snice-size-drawer-height-medium, 25rem); /* 400px */\\n --drawer-height-large: var(--snice-size-drawer-height-large, 37.5rem); /* 600px */\\n --drawer-height-xl: var(--snice-size-drawer-height-xl, 70vh);\\n --drawer-height-xxl: var(--snice-size-drawer-height-xxl, 80vh);\\n --drawer-height-xxxl: var(--snice-size-drawer-height-xxxl, 90vh);\\n\\n /* Theme-integrated colors and effects */\\n --drawer-bg: var(--snice-color-background, white);\\n --drawer-shadow: var(--snice-shadow-lg, 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1));\\n --drawer-backdrop: var(--snice-color-backdrop, rgba(0, 0, 0, 0.5));\\n --drawer-transition: transform var(--snice-transition-medium, 250ms) cubic-bezier(0.4, 0, 0.2, 1);\\n --drawer-z-index: var(--snice-z-index-modal, 1050);\\n\\n /* Default: fixed positioning (modal behavior) */\\n display: block;\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100vw;\\n height: 100vh;\\n pointer-events: none;\\n isolation: isolate;\\n font-family: var(--snice-font-family, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif);\\n contain: layout style paint;\\n}\\n\\n/* Contained variant - position within parent */\\n:host([contained]) {\\n position: absolute;\\n width: 100%;\\n height: 100%;\\n}\\n\\n.drawer-backdrop {\\n position: absolute;\\n inset: 0;\\n background: var(--drawer-backdrop);\\n opacity: 0;\\n transition: opacity 0.3s ease-in-out;\\n z-index: var(--drawer-z-index);\\n pointer-events: none;\\n visibility: hidden;\\n}\\n\\n:host([open]) {\\n pointer-events: auto;\\n}\\n\\n:host([open]) .drawer-backdrop {\\n opacity: 1;\\n pointer-events: auto;\\n visibility: visible;\\n}\\n\\n:host([no-backdrop]) .drawer-backdrop {\\n display: none;\\n}\\n\\n.drawer {\\n position: absolute;\\n background: var(--drawer-bg);\\n box-shadow: var(--drawer-shadow);\\n transition:\\n transform var(--snice-transition-medium, 250ms) cubic-bezier(0.4, 0, 0.2, 1),\\n opacity var(--snice-transition-medium, 250ms) cubic-bezier(0.2, 0, 0.8, 1);\\n z-index: calc(var(--drawer-z-index) + 1);\\n display: flex;\\n flex-direction: column;\\n outline: none;\\n overflow: hidden;\\n opacity: 0;\\n pointer-events: auto;\\n}\\n\\n:host([open]) .drawer {\\n opacity: 1;\\n}\\n\\n/* Default styles when no position attribute (defaults to left) */\\n:host(:not([position])) .drawer {\\n top: 0;\\n left: 0;\\n height: 100%;\\n width: var(--drawer-width-medium);\\n transform: translateX(-100%);\\n}\\n\\n:host(:not([position])[open]) .drawer {\\n transform: translateX(0);\\n}\\n\\n/* Position: Left */\\n:host([position=\\\"left\\\"]) .drawer {\\n top: 0;\\n left: 0;\\n height: 100%;\\n width: var(--drawer-width-medium); /* Default width */\\n transform: translateX(-100%);\\n}\\n\\n:host([position=\\\"left\\\"][size=\\\"small\\\"]) .drawer {\\n width: var(--drawer-width-small);\\n}\\n\\n:host([position=\\\"left\\\"][size=\\\"medium\\\"]) .drawer {\\n width: var(--drawer-width-medium);\\n}\\n\\n:host([position=\\\"left\\\"][size=\\\"large\\\"]) .drawer {\\n width: var(--drawer-width-large);\\n}\\n\\n:host([position=\\\"left\\\"][size=\\\"xl\\\"]) .drawer {\\n width: var(--drawer-width-xl);\\n}\\n\\n:host([position=\\\"left\\\"][size=\\\"xxl\\\"]) .drawer {\\n width: var(--drawer-width-xxl);\\n}\\n\\n:host([position=\\\"left\\\"][size=\\\"xxxl\\\"]) .drawer {\\n width: var(--drawer-width-xxxl);\\n}\\n\\n:host([position=\\\"left\\\"][size=\\\"full\\\"]) .drawer {\\n width: 100%;\\n}\\n\\n:host([position=\\\"left\\\"][open]) .drawer {\\n transform: translateX(0);\\n}\\n\\n/* Position: Right */\\n:host([position=\\\"right\\\"]) .drawer {\\n top: 0;\\n right: 0;\\n height: 100%;\\n width: var(--drawer-width-medium); /* Default width */\\n transform: translateX(100%);\\n}\\n\\n:host([position=\\\"right\\\"][size=\\\"small\\\"]) .drawer {\\n width: var(--drawer-width-small);\\n}\\n\\n:host([position=\\\"right\\\"][size=\\\"medium\\\"]) .drawer {\\n width: var(--drawer-width-medium);\\n}\\n\\n:host([position=\\\"right\\\"][size=\\\"large\\\"]) .drawer {\\n width: var(--drawer-width-large);\\n}\\n\\n:host([position=\\\"right\\\"][size=\\\"xl\\\"]) .drawer {\\n width: var(--drawer-width-xl);\\n}\\n\\n:host([position=\\\"right\\\"][size=\\\"xxl\\\"]) .drawer {\\n width: var(--drawer-width-xxl);\\n}\\n\\n:host([position=\\\"right\\\"][size=\\\"xxxl\\\"]) .drawer {\\n width: var(--drawer-width-xxxl);\\n}\\n\\n:host([position=\\\"right\\\"][size=\\\"full\\\"]) .drawer {\\n width: 100%;\\n}\\n\\n:host([position=\\\"right\\\"][open]) .drawer {\\n transform: translateX(0);\\n}\\n\\n/* Position: Top */\\n:host([position=\\\"top\\\"]) .drawer {\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: var(--drawer-height-medium); /* Default height */\\n transform: translateY(-100%);\\n}\\n\\n:host([position=\\\"top\\\"][size=\\\"small\\\"]) .drawer {\\n height: var(--drawer-height-small);\\n}\\n\\n:host([position=\\\"top\\\"][size=\\\"medium\\\"]) .drawer {\\n height: var(--drawer-height-medium);\\n}\\n\\n:host([position=\\\"top\\\"][size=\\\"large\\\"]) .drawer {\\n height: var(--drawer-height-large);\\n}\\n\\n:host([position=\\\"top\\\"][size=\\\"xl\\\"]) .drawer {\\n height: var(--drawer-height-xl);\\n}\\n\\n:host([position=\\\"top\\\"][size=\\\"xxl\\\"]) .drawer {\\n height: var(--drawer-height-xxl);\\n}\\n\\n:host([position=\\\"top\\\"][size=\\\"xxxl\\\"]) .drawer {\\n height: var(--drawer-height-xxxl);\\n}\\n\\n:host([position=\\\"top\\\"][size=\\\"full\\\"]) .drawer {\\n height: 100%;\\n}\\n\\n:host([position=\\\"top\\\"][open]) .drawer {\\n transform: translateY(0);\\n}\\n\\n/* Position: Bottom */\\n:host([position=\\\"bottom\\\"]) .drawer {\\n bottom: 0;\\n left: 0;\\n width: 100%;\\n height: var(--drawer-height-medium); /* Default height */\\n transform: translateY(100%);\\n}\\n\\n:host([position=\\\"bottom\\\"][size=\\\"small\\\"]) .drawer {\\n height: var(--drawer-height-small);\\n}\\n\\n:host([position=\\\"bottom\\\"][size=\\\"medium\\\"]) .drawer {\\n height: var(--drawer-height-medium);\\n}\\n\\n:host([position=\\\"bottom\\\"][size=\\\"large\\\"]) .drawer {\\n height: var(--drawer-height-large);\\n}\\n\\n:host([position=\\\"bottom\\\"][size=\\\"xl\\\"]) .drawer {\\n height: var(--drawer-height-xl);\\n}\\n\\n:host([position=\\\"bottom\\\"][size=\\\"xxl\\\"]) .drawer {\\n height: var(--drawer-height-xxl);\\n}\\n\\n:host([position=\\\"bottom\\\"][size=\\\"xxxl\\\"]) .drawer {\\n height: var(--drawer-height-xxxl);\\n}\\n\\n:host([position=\\\"bottom\\\"][size=\\\"full\\\"]) .drawer {\\n height: 100%;\\n}\\n\\n:host([position=\\\"bottom\\\"][open]) .drawer {\\n transform: translateY(0);\\n}\\n\\n/* Drawer Header */\\n.drawer-header {\\n display: flex;\\n align-items: center;\\n justify-content: space-between;\\n padding: var(--snice-spacing-md, 1rem) var(--snice-spacing-lg, 1.25rem); /* 16px 20px */\\n border-bottom: 1px solid var(--snice-color-border, rgb(229 231 235));\\n background: var(--snice-color-background, white);\\n flex-shrink: 0;\\n}\\n\\n.drawer-header:has(.drawer-title:empty):not(:has(.drawer-close)) {\\n display: none;\\n}\\n\\n.drawer-title {\\n font-size: var(--snice-font-size-lg, 1.125rem); /* 18px */\\n font-weight: var(--snice-font-weight-semibold, 600);\\n margin: 0;\\n color: var(--snice-color-text, rgb(17 24 39));\\n line-height: var(--snice-line-height-tight, 1.25);\\n}\\n\\n.drawer-close {\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n width: var(--snice-size-control-md, 2rem); /* 32px */\\n height: var(--snice-size-control-md, 2rem); /* 32px */\\n border: none;\\n background: transparent;\\n border-radius: var(--snice-border-radius-md, 6px);\\n cursor: pointer;\\n color: var(--snice-color-text-secondary, rgb(107 114 128));\\n transition: all var(--snice-transition-fast, 150ms) ease;\\n}\\n\\n.drawer-close:hover {\\n background: var(--snice-color-background-hover, rgb(243 244 246));\\n color: var(--snice-color-text, rgb(17 24 39));\\n}\\n\\n.drawer-close:focus-visible {\\n outline: var(--snice-focus-ring-width, 2px) solid var(--snice-focus-ring-color, rgb(59 130 246));\\n outline-offset: var(--snice-focus-ring-offset, 2px);\\n}\\n\\n/* Drawer Body */\\n.drawer-body {\\n flex: 1;\\n padding: var(--snice-spacing-lg, 1.25rem); /* 20px */\\n overflow-y: auto;\\n overflow-x: hidden;\\n color: var(--snice-color-text, rgb(17 24 39));\\n}\\n\\n/* Drawer Footer */\\n.drawer-footer {\\n padding: var(--snice-spacing-md, 1rem) var(--snice-spacing-lg, 1.25rem); /* 16px 20px */\\n border-top: 1px solid var(--snice-color-border, rgb(229 231 235));\\n background: var(--snice-color-background, white);\\n flex-shrink: 0;\\n}\\n\\n.drawer-footer:empty {\\n display: none;\\n}\\n\\n/* Animations */\\n@media (prefers-reduced-motion: reduce) {\\n .drawer,\\n .drawer-backdrop {\\n transition: none;\\n }\\n}\\n\\n/* Responsive */\\n@media (max-width: 640px) {\\n :host([position=\\\"left\\\"][size=\\\"medium\\\"]) .drawer,\\n :host([position=\\\"left\\\"][size=\\\"large\\\"]) .drawer,\\n :host([position=\\\"left\\\"][size=\\\"xl\\\"]) .drawer,\\n :host([position=\\\"left\\\"][size=\\\"xxl\\\"]) .drawer,\\n :host([position=\\\"left\\\"][size=\\\"xxxl\\\"]) .drawer,\\n :host([position=\\\"right\\\"][size=\\\"medium\\\"]) .drawer,\\n :host([position=\\\"right\\\"][size=\\\"large\\\"]) .drawer,\\n :host([position=\\\"right\\\"][size=\\\"xl\\\"]) .drawer,\\n :host([position=\\\"right\\\"][size=\\\"xxl\\\"]) .drawer,\\n :host([position=\\\"right\\\"][size=\\\"xxxl\\\"]) .drawer {\\n width: calc(100% - 2.5rem); /* 40px */\\n }\\n}\\n\\n/* Focus trap styles */\\n.focus-trap-start,\\n.focus-trap-end {\\n position: absolute;\\n width: 1px;\\n height: 1px;\\n padding: 0;\\n margin: -1px;\\n overflow: hidden;\\n clip: rect(0, 0, 0, 0);\\n white-space: nowrap;\\n border: 0;\\n}\\n\\n/* Push content mode */\\n:host([push-content]) {\\n --drawer-push-amount: 0px;\\n}\\n\\n/* Left position push amounts */\\n:host([push-content][position=\\\"left\\\"][open][size=\\\"small\\\"]) {\\n --drawer-push-amount: var(--drawer-width-small);\\n}\\n\\n:host([push-content][position=\\\"left\\\"][open][size=\\\"medium\\\"]) {\\n --drawer-push-amount: var(--drawer-width-medium);\\n}\\n\\n:host([push-content][position=\\\"left\\\"][open][size=\\\"large\\\"]) {\\n --drawer-push-amount: var(--drawer-width-large);\\n}\\n\\n:host([push-content][position=\\\"left\\\"][open][size=\\\"xl\\\"]) {\\n --drawer-push-amount: var(--drawer-width-xl);\\n}\\n\\n:host([push-content][position=\\\"left\\\"][open][size=\\\"xxl\\\"]) {\\n --drawer-push-amount: var(--drawer-width-xxl);\\n}\\n\\n:host([push-content][position=\\\"left\\\"][open][size=\\\"xxxl\\\"]) {\\n --drawer-push-amount: var(--drawer-width-xxxl);\\n}\\n\\n:host([push-content][position=\\\"left\\\"][open][size=\\\"full\\\"]) {\\n --drawer-push-amount: 100vw;\\n}\\n\\n/* Also handle when no size is specified (defaults to medium) */\\n:host([push-content][position=\\\"left\\\"][open]:not([size])) {\\n --drawer-push-amount: var(--drawer-width-medium);\\n}\\n\\n/* Right position push amounts */\\n:host([push-content][position=\\\"right\\\"][open][size=\\\"small\\\"]) {\\n --drawer-push-amount: calc(-1 * var(--drawer-width-small));\\n}\\n\\n:host([push-content][position=\\\"right\\\"][open][size=\\\"medium\\\"]) {\\n --drawer-push-amount: calc(-1 * var(--drawer-width-medium));\\n}\\n\\n:host([push-content][position=\\\"right\\\"][open][size=\\\"large\\\"]) {\\n --drawer-push-amount: calc(-1 * var(--drawer-width-large));\\n}\\n\\n:host([push-content][position=\\\"right\\\"][open][size=\\\"xl\\\"]) {\\n --drawer-push-amount: calc(-1 * var(--drawer-width-xl));\\n}\\n\\n:host([push-content][position=\\\"right\\\"][open][size=\\\"xxl\\\"]) {\\n --drawer-push-amount: calc(-1 * var(--drawer-width-xxl));\\n}\\n\\n:host([push-content][position=\\\"right\\\"][open][size=\\\"xxxl\\\"]) {\\n --drawer-push-amount: calc(-1 * var(--drawer-width-xxxl));\\n}\\n\\n:host([push-content][position=\\\"right\\\"][open][size=\\\"full\\\"]) {\\n --drawer-push-amount: -100vw;\\n}\\n\\n:host([push-content][position=\\\"right\\\"][open]:not([size])) {\\n --drawer-push-amount: calc(-1 * var(--drawer-width-medium));\\n}\\n\\n/* Top position push amounts */\\n:host([push-content][position=\\\"top\\\"][open][size=\\\"small\\\"]) {\\n --drawer-push-amount: var(--drawer-height-small);\\n}\\n\\n:host([push-content][position=\\\"top\\\"][open][size=\\\"medium\\\"]) {\\n --drawer-push-amount: var(--drawer-height-medium);\\n}\\n\\n:host([push-content][position=\\\"top\\\"][open][size=\\\"large\\\"]) {\\n --drawer-push-amount: var(--drawer-height-large);\\n}\\n\\n:host([push-content][position=\\\"top\\\"][open][size=\\\"xl\\\"]) {\\n --drawer-push-amount: var(--drawer-height-xl);\\n}\\n\\n:host([push-content][position=\\\"top\\\"][open][size=\\\"xxl\\\"]) {\\n --drawer-push-amount: var(--drawer-height-xxl);\\n}\\n\\n:host([push-content][position=\\\"top\\\"][open][size=\\\"xxxl\\\"]) {\\n --drawer-push-amount: var(--drawer-height-xxxl);\\n}\\n\\n:host([push-content][position=\\\"top\\\"][open][size=\\\"full\\\"]) {\\n --drawer-push-amount: 100vh;\\n}\\n\\n:host([push-content][position=\\\"top\\\"][open]:not([size])) {\\n --drawer-push-amount: var(--drawer-height-medium);\\n}\\n\\n/* Bottom position push amounts */\\n:host([push-content][position=\\\"bottom\\\"][open][size=\\\"small\\\"]) {\\n --drawer-push-amount: calc(-1 * var(--drawer-height-small));\\n}\\n\\n:host([push-content][position=\\\"bottom\\\"][open][size=\\\"medium\\\"]) {\\n --drawer-push-amount: calc(-1 * var(--drawer-height-medium));\\n}\\n\\n:host([push-content][position=\\\"bottom\\\"][open][size=\\\"large\\\"]) {\\n --drawer-push-amount: calc(-1 * var(--drawer-height-large));\\n}\\n\\n:host([push-content][position=\\\"bottom\\\"][open][size=\\\"xl\\\"]) {\\n --drawer-push-amount: calc(-1 * var(--drawer-height-xl));\\n}\\n\\n:host([push-content][position=\\\"bottom\\\"][open][size=\\\"xxl\\\"]) {\\n --drawer-push-amount: calc(-1 * var(--drawer-height-xxl));\\n}\\n\\n:host([push-content][position=\\\"bottom\\\"][open][size=\\\"xxxl\\\"]) {\\n --drawer-push-amount: calc(-1 * var(--drawer-height-xxxl));\\n}\\n\\n:host([push-content][position=\\\"bottom\\\"][open][size=\\\"full\\\"]) {\\n --drawer-push-amount: -100vh;\\n}\\n\\n:host([push-content][position=\\\"bottom\\\"][open]:not([size])) {\\n --drawer-push-amount: calc(-1 * var(--drawer-height-medium));\\n}\";",null],"names":["cssTag"],"mappings":"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"}
@@ -1,5 +1,7 @@
1
1
  import type { InputType, InputSize, InputVariant, SniceInputElement } from './snice-input.types';
2
2
  export declare class SniceInput extends HTMLElement implements SniceInputElement {
3
+ internals: ElementInternals;
4
+ constructor();
3
5
  type: InputType;
4
6
  size: InputSize;
5
7
  variant: InputVariant;
@@ -28,15 +30,15 @@ export declare class SniceInput extends HTMLElement implements SniceInputElement
28
30
  clearButton?: HTMLButtonElement;
29
31
  passwordToggle?: HTMLButtonElement;
30
32
  private showPassword;
31
- html(): string;
32
- css(): string;
33
+ renderContent(): import("snice").TemplateResult;
34
+ componentStyles(): import("snice").CSSResult;
33
35
  init(): void;
34
36
  handleInput(e: Event): void;
35
37
  handleChange(e: Event): void;
36
- handleFocus(): void;
37
- handleBlur(): void;
38
- handleClear(): void;
39
- handlePasswordToggle(): void;
38
+ handleFocus(e: Event): void;
39
+ handleBlur(e: Event): void;
40
+ handleClear(e: Event): void;
41
+ handlePasswordToggle(e: Event): void;
40
42
  handleValueChange(): void;
41
43
  handleInvalidChange(): void;
42
44
  handleDisabledChange(): void;
@@ -1,10 +1,10 @@
1
- import { __runInitializers, __esDecorate } from 'tslib';
2
- import { element, property, query, ready, on, watch, dispatch } from 'snice';
1
+ import { __esDecorate, __runInitializers } from 'tslib';
2
+ import { element, property, query, render, styles, ready, watch, dispatch, html, css } from 'snice';
3
3
 
4
- var css = ":host {\n display: inline-block;\n width: 100%;\n font-family: var(--snice-font-family);\n}\n\n.input-wrapper {\n position: relative;\n width: 100%;\n}\n\n.input-container {\n position: relative;\n display: flex;\n align-items: center;\n width: 100%;\n transition: all var(--snice-transition-fast) ease;\n}\n\n/* Base Input Styles */\n.input {\n flex: 1;\n width: 100%;\n font-family: inherit;\n font-size: var(--snice-font-size-md);\n background: var(--snice-color-background);\n color: var(--snice-color-text);\n border: 1px solid var(--snice-color-border);\n border-radius: var(--snice-border-radius-md);\n transition: all var(--snice-transition-fast) ease;\n outline: none;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n}\n\n.input:focus {\n border-color: var(--snice-color-primary);\n box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);\n}\n\n.input:disabled {\n background: var(--snice-color-background-secondary);\n color: var(--snice-color-text-secondary);\n cursor: not-allowed;\n opacity: 0.6;\n}\n\n.input::placeholder {\n color: var(--snice-color-text-secondary);\n opacity: 0.7;\n}\n\n/* Size Variants */\n.input--small {\n padding: 0.375rem 0.625rem; /* 6px 10px */\n font-size: var(--snice-font-size-sm);\n}\n\n.input--medium {\n padding: 0.5rem 0.75rem; /* 8px 12px */\n font-size: var(--snice-font-size-md);\n}\n\n.input--large {\n padding: 0.625rem 0.875rem; /* 10px 14px */\n font-size: var(--snice-font-size-lg);\n}\n\n/* Style Variants */\n.input--outlined {\n background: var(--snice-color-background);\n border: 1px solid var(--snice-color-border);\n}\n\n.input--filled {\n background: var(--snice-color-background-secondary);\n border: 1px solid transparent;\n border-bottom-color: var(--snice-color-border);\n border-radius: var(--snice-border-radius-md) var(--snice-border-radius-md) 0 0;\n}\n\n.input--filled:focus {\n background: var(--snice-color-background-hover);\n border-bottom-color: var(--snice-color-primary);\n}\n\n.input--underlined {\n background: transparent;\n border: none;\n border-bottom: 1px solid var(--snice-color-border);\n border-radius: 0;\n padding-left: 0;\n padding-right: 0;\n}\n\n.input--underlined:focus {\n border-bottom-color: var(--snice-color-primary);\n box-shadow: none;\n}\n\n/* Invalid State */\n.input--invalid {\n border-color: var(--snice-color-danger);\n}\n\n.input--invalid:focus {\n border-color: var(--snice-color-danger);\n box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1);\n}\n\n/* With Icons */\n.input--with-prefix-icon {\n padding-left: 2.25rem; /* 36px */\n}\n\n.input--with-suffix-icon,\n.input--clearable {\n padding-right: 2.25rem; /* 36px */\n}\n\n.input--with-suffix-icon.input--clearable {\n padding-right: 3.75rem; /* 60px */\n}\n\n/* Label */\n.label {\n display: block;\n margin-bottom: 0.375rem; /* 6px */\n font-size: var(--snice-font-size-sm);\n font-weight: 500;\n color: var(--snice-color-text);\n}\n\n.label--required::after {\n content: ' *';\n color: var(--snice-color-danger);\n}\n\n/* Helper and Error Text */\n.helper-text,\n.error-text {\n display: block;\n margin-top: 0.25rem; /* 4px */\n font-size: var(--snice-font-size-xs);\n min-height: 1.125rem; /* 18px */\n}\n\n.helper-text {\n color: var(--snice-color-text-secondary);\n}\n\n.error-text {\n color: var(--snice-color-danger);\n}\n\n/* Icons */\n.icon {\n position: absolute;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 1.25rem; /* 20px */\n height: 1.25rem; /* 20px */\n color: var(--snice-color-text-secondary);\n pointer-events: none;\n}\n\n.icon--prefix {\n left: 0.625rem; /* 10px */\n}\n\n.icon--suffix {\n right: 0.625rem; /* 10px */\n}\n\n/* Clear Button */\n.clear-button {\n position: absolute;\n right: 0.5rem; /* 8px */\n display: flex;\n align-items: center;\n justify-content: center;\n width: 1.5rem; /* 24px */\n height: 1.5rem; /* 24px */\n padding: 0.25rem; /* 4px */\n background: transparent;\n border: none;\n border-radius: var(--snice-border-radius-sm);\n color: var(--snice-color-text-secondary);\n cursor: pointer;\n transition: all var(--snice-transition-fast) ease;\n opacity: 0;\n visibility: hidden;\n}\n\n.clear-button:hover {\n background: var(--snice-color-background-hover);\n color: var(--snice-color-text);\n}\n\n.input-container:hover .clear-button--visible,\n.input:focus ~ .clear-button--visible {\n opacity: 1;\n visibility: visible;\n}\n\n.clear-button--with-suffix {\n right: 2rem; /* 32px */\n}\n\n/* Password Toggle */\n.password-toggle {\n position: absolute;\n right: 0.5rem; /* 8px */\n display: flex;\n align-items: center;\n justify-content: center;\n width: 1.5rem; /* 24px */\n height: 1.5rem; /* 24px */\n padding: 0.25rem; /* 4px */\n background: transparent;\n border: none;\n border-radius: var(--snice-border-radius-sm);\n color: var(--snice-color-text-secondary);\n cursor: pointer;\n transition: all var(--snice-transition-fast) ease;\n}\n\n.password-toggle:hover {\n background: var(--snice-color-background-hover);\n color: var(--snice-color-text);\n}\n\n/* Number Input Arrows - Hide native */\n.input[type=\"number\"]::-webkit-inner-spin-button,\n.input[type=\"number\"]::-webkit-outer-spin-button {\n -webkit-appearance: none;\n margin: 0;\n}\n\n.input[type=\"number\"] {\n -moz-appearance: textfield;\n}\n\n/* Search Input - Hide native clear */\n.input[type=\"search\"]::-webkit-search-decoration,\n.input[type=\"search\"]::-webkit-search-cancel-button,\n.input[type=\"search\"]::-webkit-search-results-button,\n.input[type=\"search\"]::-webkit-search-results-decoration {\n -webkit-appearance: none;\n}\n\n/* Focus Within for Container */\n.input-container:focus-within {\n z-index: 1;\n}";
4
+ var cssContent = ":host {\n display: inline-block;\n width: 100%;\n font-family: var(--snice-font-family);\n}\n\n.input-wrapper {\n position: relative;\n width: 100%;\n}\n\n.input-container {\n position: relative;\n display: flex;\n align-items: center;\n width: 100%;\n transition: all var(--snice-transition-fast) ease;\n}\n\n/* Base Input Styles */\n.input {\n flex: 1;\n width: 100%;\n font-family: inherit;\n font-size: var(--snice-font-size-md);\n background: var(--snice-color-background);\n color: var(--snice-color-text);\n border: 1px solid var(--snice-color-border);\n border-radius: var(--snice-border-radius-md);\n transition: all var(--snice-transition-fast) ease;\n outline: none;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n}\n\n.input:focus {\n border-color: var(--snice-color-primary);\n box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);\n}\n\n.input:disabled {\n background: var(--snice-color-background-secondary);\n color: var(--snice-color-text-secondary);\n cursor: not-allowed;\n opacity: 0.6;\n}\n\n.input::placeholder {\n color: var(--snice-color-text-secondary);\n opacity: 0.7;\n}\n\n/* Size Variants */\n.input--small {\n padding: 0.375rem 0.625rem; /* 6px 10px */\n font-size: var(--snice-font-size-sm);\n}\n\n.input--medium {\n padding: 0.5rem 0.75rem; /* 8px 12px */\n font-size: var(--snice-font-size-md);\n}\n\n.input--large {\n padding: 0.625rem 0.875rem; /* 10px 14px */\n font-size: var(--snice-font-size-lg);\n}\n\n/* Style Variants */\n.input--outlined {\n background: var(--snice-color-background);\n border: 1px solid var(--snice-color-border);\n}\n\n.input--filled {\n background: var(--snice-color-background-secondary);\n border: 1px solid transparent;\n border-bottom-color: var(--snice-color-border);\n border-radius: var(--snice-border-radius-md) var(--snice-border-radius-md) 0 0;\n}\n\n.input--filled:focus {\n background: var(--snice-color-background-hover);\n border-bottom-color: var(--snice-color-primary);\n}\n\n.input--underlined {\n background: transparent;\n border: none;\n border-bottom: 1px solid var(--snice-color-border);\n border-radius: 0;\n padding-left: 0;\n padding-right: 0;\n}\n\n.input--underlined:focus {\n border-bottom-color: var(--snice-color-primary);\n box-shadow: none;\n}\n\n/* Invalid State */\n.input--invalid {\n border-color: var(--snice-color-danger);\n}\n\n.input--invalid:focus {\n border-color: var(--snice-color-danger);\n box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1);\n}\n\n/* With Icons */\n.input--with-prefix-icon {\n padding-left: 2.25rem; /* 36px */\n}\n\n.input--with-suffix-icon,\n.input--clearable {\n padding-right: 2.25rem; /* 36px */\n}\n\n.input--with-suffix-icon.input--clearable {\n padding-right: 3.75rem; /* 60px */\n}\n\n/* Label */\n.label {\n display: block;\n margin-bottom: 0.375rem; /* 6px */\n font-size: var(--snice-font-size-sm);\n font-weight: 500;\n color: var(--snice-color-text);\n}\n\n.label--required::after {\n content: ' *';\n color: var(--snice-color-danger);\n}\n\n/* Helper and Error Text */\n.helper-text,\n.error-text {\n display: block;\n margin-top: 0.25rem; /* 4px */\n font-size: var(--snice-font-size-xs);\n min-height: 1.125rem; /* 18px */\n}\n\n.helper-text {\n color: var(--snice-color-text-secondary);\n}\n\n.error-text {\n color: var(--snice-color-danger);\n}\n\n/* Icons */\n.icon {\n position: absolute;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 1.25rem; /* 20px */\n height: 1.25rem; /* 20px */\n color: var(--snice-color-text-secondary);\n pointer-events: none;\n}\n\n.icon--prefix {\n left: 0.625rem; /* 10px */\n}\n\n.icon--suffix {\n right: 0.625rem; /* 10px */\n}\n\n/* Clear Button */\n.clear-button {\n position: absolute;\n right: 0.5rem; /* 8px */\n display: flex;\n align-items: center;\n justify-content: center;\n width: 1.5rem; /* 24px */\n height: 1.5rem; /* 24px */\n padding: 0.25rem; /* 4px */\n background: transparent;\n border: none;\n border-radius: var(--snice-border-radius-sm);\n color: var(--snice-color-text-secondary);\n cursor: pointer;\n transition: all var(--snice-transition-fast) ease;\n opacity: 0;\n visibility: hidden;\n}\n\n.clear-button:hover {\n background: var(--snice-color-background-hover);\n color: var(--snice-color-text);\n}\n\n.input-container:hover .clear-button--visible,\n.input:focus ~ .clear-button--visible {\n opacity: 1;\n visibility: visible;\n}\n\n.clear-button--with-suffix {\n right: 2rem; /* 32px */\n}\n\n/* Password Toggle */\n.password-toggle {\n position: absolute;\n right: 0.5rem; /* 8px */\n display: flex;\n align-items: center;\n justify-content: center;\n width: 1.5rem; /* 24px */\n height: 1.5rem; /* 24px */\n padding: 0.25rem; /* 4px */\n background: transparent;\n border: none;\n border-radius: var(--snice-border-radius-sm);\n color: var(--snice-color-text-secondary);\n cursor: pointer;\n transition: all var(--snice-transition-fast) ease;\n}\n\n.password-toggle:hover {\n background: var(--snice-color-background-hover);\n color: var(--snice-color-text);\n}\n\n/* Number Input Arrows - Hide native */\n.input[type=\"number\"]::-webkit-inner-spin-button,\n.input[type=\"number\"]::-webkit-outer-spin-button {\n -webkit-appearance: none;\n margin: 0;\n}\n\n.input[type=\"number\"] {\n -moz-appearance: textfield;\n}\n\n/* Search Input - Hide native clear */\n.input[type=\"search\"]::-webkit-search-decoration,\n.input[type=\"search\"]::-webkit-search-cancel-button,\n.input[type=\"search\"]::-webkit-search-results-button,\n.input[type=\"search\"]::-webkit-search-results-decoration {\n -webkit-appearance: none;\n}\n\n/* Focus Within for Container */\n.input-container:focus-within {\n z-index: 1;\n}";
5
5
 
6
6
  let SniceInput = (() => {
7
- let _classDecorators = [element('snice-input')];
7
+ let _classDecorators = [element('snice-input', { formAssociated: true })];
8
8
  let _classDescriptor;
9
9
  let _classExtraInitializers = [];
10
10
  let _classThis;
@@ -91,13 +91,9 @@ let SniceInput = (() => {
91
91
  let _passwordToggle_decorators;
92
92
  let _passwordToggle_initializers = [];
93
93
  let _passwordToggle_extraInitializers = [];
94
+ let _renderContent_decorators;
95
+ let _componentStyles_decorators;
94
96
  let _init_decorators;
95
- let _handleInput_decorators;
96
- let _handleChange_decorators;
97
- let _handleFocus_decorators;
98
- let _handleBlur_decorators;
99
- let _handleClear_decorators;
100
- let _handlePasswordToggle_decorators;
101
97
  let _handleValueChange_decorators;
102
98
  let _handleInvalidChange_decorators;
103
99
  let _handleDisabledChange_decorators;
@@ -118,37 +114,6 @@ let SniceInput = (() => {
118
114
  let _dispatchClearEvent_decorators;
119
115
  (class extends _classSuper {
120
116
  static { _classThis = this; }
121
- constructor() {
122
- super(...arguments);
123
- this.type = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _type_initializers, 'text'));
124
- this.size = (__runInitializers(this, _type_extraInitializers), __runInitializers(this, _size_initializers, 'medium'));
125
- this.variant = (__runInitializers(this, _size_extraInitializers), __runInitializers(this, _variant_initializers, 'outlined'));
126
- this.value = (__runInitializers(this, _variant_extraInitializers), __runInitializers(this, _value_initializers, ''));
127
- this.placeholder = (__runInitializers(this, _value_extraInitializers), __runInitializers(this, _placeholder_initializers, ''));
128
- this.label = (__runInitializers(this, _placeholder_extraInitializers), __runInitializers(this, _label_initializers, ''));
129
- this.helperText = (__runInitializers(this, _label_extraInitializers), __runInitializers(this, _helperText_initializers, ''));
130
- this.errorText = (__runInitializers(this, _helperText_extraInitializers), __runInitializers(this, _errorText_initializers, ''));
131
- this.disabled = (__runInitializers(this, _errorText_extraInitializers), __runInitializers(this, _disabled_initializers, false));
132
- this.readonly = (__runInitializers(this, _disabled_extraInitializers), __runInitializers(this, _readonly_initializers, false));
133
- this.required = (__runInitializers(this, _readonly_extraInitializers), __runInitializers(this, _required_initializers, false));
134
- this.invalid = (__runInitializers(this, _required_extraInitializers), __runInitializers(this, _invalid_initializers, false));
135
- this.clearable = (__runInitializers(this, _invalid_extraInitializers), __runInitializers(this, _clearable_initializers, false));
136
- this.password = (__runInitializers(this, _clearable_extraInitializers), __runInitializers(this, _password_initializers, false));
137
- this.min = (__runInitializers(this, _password_extraInitializers), __runInitializers(this, _min_initializers, ''));
138
- this.max = (__runInitializers(this, _min_extraInitializers), __runInitializers(this, _max_initializers, ''));
139
- this.step = (__runInitializers(this, _max_extraInitializers), __runInitializers(this, _step_initializers, ''));
140
- this.pattern = (__runInitializers(this, _step_extraInitializers), __runInitializers(this, _pattern_initializers, ''));
141
- this.maxlength = (__runInitializers(this, _pattern_extraInitializers), __runInitializers(this, _maxlength_initializers, -1));
142
- this.minlength = (__runInitializers(this, _maxlength_extraInitializers), __runInitializers(this, _minlength_initializers, -1));
143
- this.autocomplete = (__runInitializers(this, _minlength_extraInitializers), __runInitializers(this, _autocomplete_initializers, ''));
144
- this.name = (__runInitializers(this, _autocomplete_extraInitializers), __runInitializers(this, _name_initializers, ''));
145
- this.prefixIcon = (__runInitializers(this, _name_extraInitializers), __runInitializers(this, _prefixIcon_initializers, ''));
146
- this.suffixIcon = (__runInitializers(this, _prefixIcon_extraInitializers), __runInitializers(this, _suffixIcon_initializers, ''));
147
- this.input = (__runInitializers(this, _suffixIcon_extraInitializers), __runInitializers(this, _input_initializers, void 0));
148
- this.clearButton = (__runInitializers(this, _input_extraInitializers), __runInitializers(this, _clearButton_initializers, void 0));
149
- this.passwordToggle = (__runInitializers(this, _clearButton_extraInitializers), __runInitializers(this, _passwordToggle_initializers, void 0));
150
- this.showPassword = (__runInitializers(this, _passwordToggle_extraInitializers), false);
151
- }
152
117
  static {
153
118
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
154
119
  _type_decorators = [property({})];
@@ -178,13 +143,9 @@ let SniceInput = (() => {
178
143
  _input_decorators = [query('.input')];
179
144
  _clearButton_decorators = [query('.clear-button')];
180
145
  _passwordToggle_decorators = [query('.password-toggle')];
146
+ _renderContent_decorators = [render()];
147
+ _componentStyles_decorators = [styles()];
181
148
  _init_decorators = [ready()];
182
- _handleInput_decorators = [on('input', '.input')];
183
- _handleChange_decorators = [on('change', '.input')];
184
- _handleFocus_decorators = [on('focus', '.input')];
185
- _handleBlur_decorators = [on('blur', '.input')];
186
- _handleClear_decorators = [on('click', '.clear-button')];
187
- _handlePasswordToggle_decorators = [on('click', '.password-toggle')];
188
149
  _handleValueChange_decorators = [watch('value')];
189
150
  _handleInvalidChange_decorators = [watch('invalid')];
190
151
  _handleDisabledChange_decorators = [watch('disabled')];
@@ -203,13 +164,9 @@ let SniceInput = (() => {
203
164
  _dispatchFocusEvent_decorators = [dispatch('@snice/input-focus', { bubbles: true, composed: true })];
204
165
  _dispatchBlurEvent_decorators = [dispatch('@snice/input-blur', { bubbles: true, composed: true })];
205
166
  _dispatchClearEvent_decorators = [dispatch('@snice/input-clear', { bubbles: true, composed: true })];
167
+ __esDecorate(this, null, _renderContent_decorators, { kind: "method", name: "renderContent", static: false, private: false, access: { has: obj => "renderContent" in obj, get: obj => obj.renderContent }, metadata: _metadata }, null, _instanceExtraInitializers);
168
+ __esDecorate(this, null, _componentStyles_decorators, { kind: "method", name: "componentStyles", static: false, private: false, access: { has: obj => "componentStyles" in obj, get: obj => obj.componentStyles }, metadata: _metadata }, null, _instanceExtraInitializers);
206
169
  __esDecorate(this, null, _init_decorators, { kind: "method", name: "init", static: false, private: false, access: { has: obj => "init" in obj, get: obj => obj.init }, metadata: _metadata }, null, _instanceExtraInitializers);
207
- __esDecorate(this, null, _handleInput_decorators, { kind: "method", name: "handleInput", static: false, private: false, access: { has: obj => "handleInput" in obj, get: obj => obj.handleInput }, metadata: _metadata }, null, _instanceExtraInitializers);
208
- __esDecorate(this, null, _handleChange_decorators, { kind: "method", name: "handleChange", static: false, private: false, access: { has: obj => "handleChange" in obj, get: obj => obj.handleChange }, metadata: _metadata }, null, _instanceExtraInitializers);
209
- __esDecorate(this, null, _handleFocus_decorators, { kind: "method", name: "handleFocus", static: false, private: false, access: { has: obj => "handleFocus" in obj, get: obj => obj.handleFocus }, metadata: _metadata }, null, _instanceExtraInitializers);
210
- __esDecorate(this, null, _handleBlur_decorators, { kind: "method", name: "handleBlur", static: false, private: false, access: { has: obj => "handleBlur" in obj, get: obj => obj.handleBlur }, metadata: _metadata }, null, _instanceExtraInitializers);
211
- __esDecorate(this, null, _handleClear_decorators, { kind: "method", name: "handleClear", static: false, private: false, access: { has: obj => "handleClear" in obj, get: obj => obj.handleClear }, metadata: _metadata }, null, _instanceExtraInitializers);
212
- __esDecorate(this, null, _handlePasswordToggle_decorators, { kind: "method", name: "handlePasswordToggle", static: false, private: false, access: { has: obj => "handlePasswordToggle" in obj, get: obj => obj.handlePasswordToggle }, metadata: _metadata }, null, _instanceExtraInitializers);
213
170
  __esDecorate(this, null, _handleValueChange_decorators, { kind: "method", name: "handleValueChange", static: false, private: false, access: { has: obj => "handleValueChange" in obj, get: obj => obj.handleValueChange }, metadata: _metadata }, null, _instanceExtraInitializers);
214
171
  __esDecorate(this, null, _handleInvalidChange_decorators, { kind: "method", name: "handleInvalidChange", static: false, private: false, access: { has: obj => "handleInvalidChange" in obj, get: obj => obj.handleInvalidChange }, metadata: _metadata }, null, _instanceExtraInitializers);
215
172
  __esDecorate(this, null, _handleDisabledChange_decorators, { kind: "method", name: "handleDisabledChange", static: false, private: false, access: { has: obj => "handleDisabledChange" in obj, get: obj => obj.handleDisabledChange }, metadata: _metadata }, null, _instanceExtraInitializers);
@@ -260,65 +217,111 @@ let SniceInput = (() => {
260
217
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
261
218
  __runInitializers(_classThis, _classExtraInitializers);
262
219
  }
263
- html() {
264
- return /*html*/ `
220
+ constructor() {
221
+ super();
222
+ this.internals = __runInitializers(this, _instanceExtraInitializers);
223
+ this.type = __runInitializers(this, _type_initializers, 'text');
224
+ this.size = (__runInitializers(this, _type_extraInitializers), __runInitializers(this, _size_initializers, 'medium'));
225
+ this.variant = (__runInitializers(this, _size_extraInitializers), __runInitializers(this, _variant_initializers, 'outlined'));
226
+ this.value = (__runInitializers(this, _variant_extraInitializers), __runInitializers(this, _value_initializers, ''));
227
+ this.placeholder = (__runInitializers(this, _value_extraInitializers), __runInitializers(this, _placeholder_initializers, ''));
228
+ this.label = (__runInitializers(this, _placeholder_extraInitializers), __runInitializers(this, _label_initializers, ''));
229
+ this.helperText = (__runInitializers(this, _label_extraInitializers), __runInitializers(this, _helperText_initializers, ''));
230
+ this.errorText = (__runInitializers(this, _helperText_extraInitializers), __runInitializers(this, _errorText_initializers, ''));
231
+ this.disabled = (__runInitializers(this, _errorText_extraInitializers), __runInitializers(this, _disabled_initializers, false));
232
+ this.readonly = (__runInitializers(this, _disabled_extraInitializers), __runInitializers(this, _readonly_initializers, false));
233
+ this.required = (__runInitializers(this, _readonly_extraInitializers), __runInitializers(this, _required_initializers, false));
234
+ this.invalid = (__runInitializers(this, _required_extraInitializers), __runInitializers(this, _invalid_initializers, false));
235
+ this.clearable = (__runInitializers(this, _invalid_extraInitializers), __runInitializers(this, _clearable_initializers, false));
236
+ this.password = (__runInitializers(this, _clearable_extraInitializers), __runInitializers(this, _password_initializers, false));
237
+ this.min = (__runInitializers(this, _password_extraInitializers), __runInitializers(this, _min_initializers, ''));
238
+ this.max = (__runInitializers(this, _min_extraInitializers), __runInitializers(this, _max_initializers, ''));
239
+ this.step = (__runInitializers(this, _max_extraInitializers), __runInitializers(this, _step_initializers, ''));
240
+ this.pattern = (__runInitializers(this, _step_extraInitializers), __runInitializers(this, _pattern_initializers, ''));
241
+ this.maxlength = (__runInitializers(this, _pattern_extraInitializers), __runInitializers(this, _maxlength_initializers, -1));
242
+ this.minlength = (__runInitializers(this, _maxlength_extraInitializers), __runInitializers(this, _minlength_initializers, -1));
243
+ this.autocomplete = (__runInitializers(this, _minlength_extraInitializers), __runInitializers(this, _autocomplete_initializers, ''));
244
+ this.name = (__runInitializers(this, _autocomplete_extraInitializers), __runInitializers(this, _name_initializers, ''));
245
+ this.prefixIcon = (__runInitializers(this, _name_extraInitializers), __runInitializers(this, _prefixIcon_initializers, ''));
246
+ this.suffixIcon = (__runInitializers(this, _prefixIcon_extraInitializers), __runInitializers(this, _suffixIcon_initializers, ''));
247
+ this.input = (__runInitializers(this, _suffixIcon_extraInitializers), __runInitializers(this, _input_initializers, void 0));
248
+ this.clearButton = (__runInitializers(this, _input_extraInitializers), __runInitializers(this, _clearButton_initializers, void 0));
249
+ this.passwordToggle = (__runInitializers(this, _clearButton_extraInitializers), __runInitializers(this, _passwordToggle_initializers, void 0));
250
+ this.showPassword = (__runInitializers(this, _passwordToggle_extraInitializers), false);
251
+ if (typeof this.attachInternals == 'function') {
252
+ this.internals = this.attachInternals();
253
+ }
254
+ }
255
+ renderContent() {
256
+ const inputClasses = [
257
+ 'input',
258
+ `input--${this.size}`,
259
+ `input--${this.variant}`,
260
+ this.invalid ? 'input--invalid' : '',
261
+ this.prefixIcon ? 'input--with-prefix-icon' : '',
262
+ this.suffixIcon || (this.type === 'password' && this.password) ? 'input--with-suffix-icon' : '',
263
+ this.clearable ? 'input--clearable' : ''
264
+ ].filter(Boolean).join(' ');
265
+ const labelClasses = ['label', this.required ? 'label--required' : ''].filter(Boolean).join(' ');
266
+ const clearButtonClasses = ['clear-button', this.suffixIcon || (this.type === 'password' && this.password) ? 'clear-button--with-suffix' : ''].filter(Boolean).join(' ');
267
+ return html /*html*/ `
265
268
  <div class="input-wrapper">
266
- ${this.label ? /*html*/ `
267
- <label class="label ${this.required ? 'label--required' : ''}">
269
+ <if ${this.label}>
270
+ <label class="${labelClasses}">
268
271
  ${this.label}
269
272
  </label>
270
- ` : ''}
271
-
273
+ </if>
274
+
272
275
  <div class="input-container">
273
- ${this.prefixIcon ? /*html*/ `
276
+ <if ${this.prefixIcon}>
274
277
  <span class="icon icon--prefix">${this.prefixIcon}</span>
275
- ` : ''}
276
-
278
+ </if>
279
+
277
280
  <input
278
- class="input
279
- input--${this.size}
280
- input--${this.variant}
281
- ${this.invalid ? 'input--invalid' : ''}
282
- ${this.prefixIcon ? 'input--with-prefix-icon' : ''}
283
- ${this.suffixIcon || (this.type === 'password' && this.password) ? 'input--with-suffix-icon' : ''}
284
- ${this.clearable ? 'input--clearable' : ''}"
281
+ class="${inputClasses}"
285
282
  type="${this.type}"
286
283
  value="${this.value}"
287
284
  placeholder="${this.placeholder}"
288
- ${this.disabled ? 'disabled' : ''}
289
- ${this.readonly ? 'readonly' : ''}
290
- ${this.required ? 'required' : ''}
291
- ${this.min ? `min="${this.min}"` : ''}
292
- ${this.max ? `max="${this.max}"` : ''}
293
- ${this.step ? `step="${this.step}"` : ''}
294
- ${this.pattern ? `pattern="${this.pattern}"` : ''}
295
- ${this.maxlength > 0 ? `maxlength="${this.maxlength}"` : ''}
296
- ${this.minlength > 0 ? `minlength="${this.minlength}"` : ''}
297
- ${this.autocomplete ? `autocomplete="${this.autocomplete}"` : ''}
298
- ${this.name ? `name="${this.name}"` : ''}
285
+ ?disabled="${this.disabled}"
286
+ ?readonly="${this.readonly}"
287
+ ?required="${this.required}"
288
+ min="${this.min || ''}"
289
+ max="${this.max || ''}"
290
+ step="${this.step || ''}"
291
+ pattern="${this.pattern || ''}"
292
+ maxlength="${this.maxlength > 0 ? this.maxlength : ''}"
293
+ minlength="${this.minlength > 0 ? this.minlength : ''}"
294
+ autocomplete="${this.autocomplete || ''}"
295
+ name="${this.name || ''}"
299
296
  part="input"
297
+ @input=${this.handleInput}
298
+ @change=${this.handleChange}
299
+ @focus=${this.handleFocus}
300
+ @blur=${this.handleBlur}
300
301
  />
301
-
302
+
302
303
  <button
303
- class="clear-button ${this.suffixIcon || (this.type === 'password' && this.password) ? 'clear-button--with-suffix' : ''}"
304
+ class="${clearButtonClasses}"
304
305
  type="button"
305
306
  aria-label="Clear"
306
307
  tabindex="-1"
307
308
  part="clear"
308
309
  style="display: none;"
310
+ @click=${this.handleClear}
309
311
  >
310
312
  <svg viewBox="0 0 24 24" width="16" height="16">
311
313
  <path d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z" fill="currentColor"/>
312
314
  </svg>
313
315
  </button>
314
-
315
- ${this.type === 'password' && this.password ? /*html*/ `
316
+
317
+ <if ${this.type === 'password' && this.password}>
316
318
  <button
317
319
  class="password-toggle"
318
320
  type="button"
319
321
  aria-label="Show password"
320
322
  tabindex="-1"
321
323
  part="password-toggle"
324
+ @click=${this.handlePasswordToggle}
322
325
  >
323
326
  <svg viewBox="0 0 24 24" width="18" height="18" class="password-icon password-icon--hidden">
324
327
  <path d="M12 7c2.76 0 5 2.24 5 5 0 .65-.13 1.26-.36 1.83l2.92 2.92c1.51-1.26 2.7-2.89 3.43-4.75-1.73-4.39-6-7.5-11-7.5-1.4 0-2.74.25-3.98.7l2.16 2.16C10.74 7.13 11.35 7 12 7zM2 4.27l2.28 2.28.46.46C3.08 8.3 1.78 10.02 1 12c1.73 4.39 6 7.5 11 7.5 1.55 0 3.03-.3 4.38-.84l.42.42L19.73 22 21 20.73 3.27 3 2 4.27zM7.53 9.8l1.55 1.55c-.05.21-.08.43-.08.65 0 1.66 1.34 3 3 3 .22 0 .44-.03.65-.08l1.55 1.55c-.67.33-1.41.53-2.2.53-2.76 0-5-2.24-5-5 0-.79.2-1.53.53-2.2zm4.31-.78l3.15 3.15.02-.16c0-1.66-1.34-3-3-3l-.17.01z" fill="currentColor"/>
@@ -327,25 +330,34 @@ let SniceInput = (() => {
327
330
  <path d="M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z" fill="currentColor"/>
328
331
  </svg>
329
332
  </button>
330
- ` : this.suffixIcon ? /*html*/ `
333
+ </if>
334
+ <if ${!(this.type === 'password' && this.password) && this.suffixIcon}>
331
335
  <span class="icon icon--suffix">${this.suffixIcon}</span>
332
- ` : ''}
336
+ </if>
333
337
  </div>
334
-
335
- ${this.errorText ? /*html*/ `
336
- <span class="error-text" part="error-text">${this.errorText}</span>
337
- ` : this.helperText ? /*html*/ `
338
- <span class="helper-text" part="helper-text">${this.helperText}</span>
339
- ` : /*html*/ `
340
- <span class="helper-text" part="helper-text">&nbsp;</span>
341
- `}
338
+
339
+ <case ${this.errorText ? 'error' : this.helperText ? 'helper' : 'empty'}>
340
+ <when value="error">
341
+ <span class="error-text" part="error-text">${this.errorText}</span>
342
+ </when>
343
+ <when value="helper">
344
+ <span class="helper-text" part="helper-text">${this.helperText}</span>
345
+ </when>
346
+ <default>
347
+ <span class="helper-text" part="helper-text">&nbsp;</span>
348
+ </default>
349
+ </case>
342
350
  </div>
343
351
  `;
344
352
  }
345
- css() {
346
- return css;
353
+ componentStyles() {
354
+ return css /*css*/ `${cssContent}`;
347
355
  }
348
356
  init() {
357
+ // Set initial form value
358
+ if (this.internals) {
359
+ this.internals.setFormValue(this.value);
360
+ }
349
361
  // Set initial clear button visibility
350
362
  if (this.clearButton && this.clearable) {
351
363
  const shouldShow = this.value && !this.disabled && !this.readonly;
@@ -386,25 +398,25 @@ let SniceInput = (() => {
386
398
  }
387
399
  }
388
400
  handleInput(e) {
389
- const target = e.target;
390
- this.value = target.value;
401
+ const input = e.target;
402
+ this.value = input.value;
391
403
  this.dispatchInputEvent();
392
404
  }
393
405
  handleChange(e) {
394
- const target = e.target;
395
- this.value = target.value;
406
+ const input = e.target;
407
+ this.value = input.value;
396
408
  this.dispatchChangeEvent();
397
409
  }
398
- handleFocus() {
410
+ handleFocus(e) {
399
411
  this.dispatchFocusEvent();
400
412
  }
401
- handleBlur() {
413
+ handleBlur(e) {
402
414
  this.dispatchBlurEvent();
403
415
  }
404
- handleClear() {
416
+ handleClear(e) {
405
417
  this.clear();
406
418
  }
407
- handlePasswordToggle() {
419
+ handlePasswordToggle(e) {
408
420
  this.showPassword = !this.showPassword;
409
421
  if (this.input) {
410
422
  this.input.type = this.showPassword ? 'text' : 'password';
@@ -420,9 +432,14 @@ let SniceInput = (() => {
420
432
  }
421
433
  }
422
434
  handleValueChange() {
423
- if (this.input) {
435
+ // Only update input.value if it's different to avoid unnecessary DOM updates
436
+ if (this.input && this.input.value !== this.value) {
424
437
  this.input.value = this.value;
425
438
  }
439
+ // Update form value
440
+ if (this.internals) {
441
+ this.internals.setFormValue(this.value);
442
+ }
426
443
  // Show/hide clear button based on value
427
444
  if (this.clearButton && this.clearable) {
428
445
  const shouldShow = this.value && !this.disabled && !this.readonly;