snice 7.5.0 → 7.7.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 (265) hide show
  1. package/adapters/react/SniceProvider.js +1 -1
  2. package/adapters/react/SniceRouter.js +1 -1
  3. package/adapters/react/avatar.d.ts +1 -0
  4. package/adapters/react/avatar.d.ts.map +1 -1
  5. package/adapters/react/avatar.js +1 -1
  6. package/adapters/react/avatar.js.map +1 -1
  7. package/adapters/react/avatar.tsx +2 -1
  8. package/adapters/react/calendar.d.ts +4 -0
  9. package/adapters/react/calendar.d.ts.map +1 -1
  10. package/adapters/react/calendar.js +1 -1
  11. package/adapters/react/calendar.js.map +1 -1
  12. package/adapters/react/calendar.tsx +5 -1
  13. package/adapters/react/matchRoute.js +68 -2
  14. package/adapters/react/matchRoute.js.map +1 -1
  15. package/adapters/react/route-match.d.ts +7 -0
  16. package/adapters/react/useRequestHandler.js +1 -1
  17. package/bin/analyzer-contracts.js +60 -2
  18. package/bin/project-analyzer.js +1262 -118
  19. package/bin/snice.js +95 -5
  20. package/custom-elements.json +112 -0
  21. package/dist/cdn/accordion/snice-accordion.js +1 -1
  22. package/dist/cdn/action-bar/snice-action-bar.js +1 -1
  23. package/dist/cdn/activity-feed/snice-activity-feed.js +1 -1
  24. package/dist/cdn/alert/snice-alert.js +1 -1
  25. package/dist/cdn/app-tiles/snice-app-tiles.js +1 -1
  26. package/dist/cdn/approval-flow/snice-approval-flow.js +1 -1
  27. package/dist/cdn/audio-recorder/snice-audio-recorder.js +1 -1
  28. package/dist/cdn/availability/snice-availability.js +1 -1
  29. package/dist/cdn/avatar/README.md +1 -1
  30. package/dist/cdn/avatar/snice-avatar.js +9 -3
  31. package/dist/cdn/avatar/snice-avatar.js.map +1 -1
  32. package/dist/cdn/avatar/snice-avatar.min.js +2 -2
  33. package/dist/cdn/avatar/snice-avatar.min.js.map +1 -1
  34. package/dist/cdn/avatar-group/snice-avatar-group.js +1 -1
  35. package/dist/cdn/badge/snice-badge.js +1 -1
  36. package/dist/cdn/banner/snice-banner.js +1 -1
  37. package/dist/cdn/binpack/snice-binpack.js +1 -1
  38. package/dist/cdn/book/snice-book.js +1 -1
  39. package/dist/cdn/booking/snice-booking.js +1 -1
  40. package/dist/cdn/breadcrumbs/snice-breadcrumbs.js +1 -1
  41. package/dist/cdn/button/snice-button.js +2 -2
  42. package/dist/cdn/button/snice-button.js.map +1 -1
  43. package/dist/cdn/button/snice-button.min.js +1 -1
  44. package/dist/cdn/button/snice-button.min.js.map +1 -1
  45. package/dist/cdn/calendar/README.md +2 -2
  46. package/dist/cdn/calendar/snice-calendar.js +562 -40
  47. package/dist/cdn/calendar/snice-calendar.js.map +1 -1
  48. package/dist/cdn/calendar/snice-calendar.min.js +28 -1
  49. package/dist/cdn/calendar/snice-calendar.min.js.map +1 -1
  50. package/dist/cdn/camera/snice-camera.js +1 -1
  51. package/dist/cdn/camera-annotate/snice-camera-annotate.js +1 -1
  52. package/dist/cdn/candlestick/snice-candlestick.js +1 -1
  53. package/dist/cdn/card/snice-card.js +1 -1
  54. package/dist/cdn/carousel/snice-carousel.js +1 -1
  55. package/dist/cdn/cart/snice-cart.js +1 -1
  56. package/dist/cdn/chart/snice-chart.js +1 -1
  57. package/dist/cdn/chat/snice-chat.js +1 -1
  58. package/dist/cdn/checkbox/snice-checkbox.js +1 -1
  59. package/dist/cdn/chip/snice-chip.js +1 -1
  60. package/dist/cdn/code-block/snice-code-block.js +1 -1
  61. package/dist/cdn/color-display/snice-color-display.js +1 -1
  62. package/dist/cdn/color-picker/snice-color-picker.js +1 -1
  63. package/dist/cdn/command-palette/snice-command-palette.js +1 -1
  64. package/dist/cdn/comments/snice-comments.js +1 -1
  65. package/dist/cdn/countdown/snice-countdown.js +1 -1
  66. package/dist/cdn/cropper/snice-cropper.js +1 -1
  67. package/dist/cdn/data-card/snice-data-card.js +1 -1
  68. package/dist/cdn/date-picker/snice-date-picker.js +1 -1
  69. package/dist/cdn/date-range-picker/snice-date-range-picker.js +1 -1
  70. package/dist/cdn/date-time-picker/snice-date-time-picker.js +1 -1
  71. package/dist/cdn/diff/snice-diff.js +1 -1
  72. package/dist/cdn/divider/snice-divider.js +1 -1
  73. package/dist/cdn/doc/snice-doc.js +1 -1
  74. package/dist/cdn/draw/snice-draw.js +1 -1
  75. package/dist/cdn/drawer/snice-drawer.js +1 -1
  76. package/dist/cdn/empty-state/snice-empty-state.js +1 -1
  77. package/dist/cdn/estimate/snice-estimate.js +1 -1
  78. package/dist/cdn/file-gallery/snice-file-gallery.js +1 -1
  79. package/dist/cdn/file-upload/snice-file-upload.js +1 -1
  80. package/dist/cdn/flip-card/snice-flip-card.js +1 -1
  81. package/dist/cdn/flow/snice-flow.js +1 -1
  82. package/dist/cdn/form-layout/snice-form-layout.js +1 -1
  83. package/dist/cdn/funnel/snice-funnel.js +1 -1
  84. package/dist/cdn/gantt/snice-gantt.js +1 -1
  85. package/dist/cdn/gauge/snice-gauge.js +1 -1
  86. package/dist/cdn/grid/snice-grid.js +1 -1
  87. package/dist/cdn/heatmap/snice-heatmap.js +1 -1
  88. package/dist/cdn/image/snice-image.js +1 -1
  89. package/dist/cdn/input/snice-input.js +1 -1
  90. package/dist/cdn/invoice/snice-invoice.js +1 -1
  91. package/dist/cdn/kanban/snice-kanban.js +1 -1
  92. package/dist/cdn/key-value/snice-key-value.js +1 -1
  93. package/dist/cdn/kpi/snice-kpi.js +1 -1
  94. package/dist/cdn/layout/snice-layout.js +1 -1
  95. package/dist/cdn/leaderboard/snice-leaderboard.js +1 -1
  96. package/dist/cdn/link/snice-link.js +1 -1
  97. package/dist/cdn/link-preview/snice-link-preview.js +1 -1
  98. package/dist/cdn/list/snice-list.js +1 -1
  99. package/dist/cdn/location/snice-location.js +1 -1
  100. package/dist/cdn/login/README.md +1 -1
  101. package/dist/cdn/login/snice-login.js +2 -2
  102. package/dist/cdn/login/snice-login.js.map +1 -1
  103. package/dist/cdn/login/snice-login.min.js +1 -1
  104. package/dist/cdn/login/snice-login.min.js.map +1 -1
  105. package/dist/cdn/map/snice-map.js +1 -1
  106. package/dist/cdn/markdown/snice-markdown.js +1 -1
  107. package/dist/cdn/masonry/snice-masonry.js +1 -1
  108. package/dist/cdn/menu/snice-menu.js +1 -1
  109. package/dist/cdn/message-strip/snice-message-strip.js +1 -1
  110. package/dist/cdn/modal/snice-modal.js +1 -1
  111. package/dist/cdn/music-player/snice-music-player.js +1 -1
  112. package/dist/cdn/nav/snice-nav.js +1 -1
  113. package/dist/cdn/network-graph/snice-network-graph.js +1 -1
  114. package/dist/cdn/notification-center/snice-notification-center.js +1 -1
  115. package/dist/cdn/order-tracker/snice-order-tracker.js +1 -1
  116. package/dist/cdn/org-chart/snice-org-chart.js +1 -1
  117. package/dist/cdn/pagination/snice-pagination.js +1 -1
  118. package/dist/cdn/paint/snice-paint.js +1 -1
  119. package/dist/cdn/pdf-viewer/snice-pdf-viewer.js +1 -1
  120. package/dist/cdn/permission-matrix/snice-permission-matrix.js +1 -1
  121. package/dist/cdn/podcast-player/snice-podcast-player.js +1 -1
  122. package/dist/cdn/popover/snice-popover.js +1 -1
  123. package/dist/cdn/pricing-table/snice-pricing-table.js +1 -1
  124. package/dist/cdn/product-card/snice-product-card.js +1 -1
  125. package/dist/cdn/progress/snice-progress.js +1 -1
  126. package/dist/cdn/progress-ring/snice-progress-ring.js +1 -1
  127. package/dist/cdn/qr-code/snice-qr-code.js +1 -1
  128. package/dist/cdn/qr-reader/snice-qr-reader.js +1 -1
  129. package/dist/cdn/radio/snice-radio.js +1 -1
  130. package/dist/cdn/range-slider/snice-range-slider.js +1 -1
  131. package/dist/cdn/rating/snice-rating.js +1 -1
  132. package/dist/cdn/receipt/snice-receipt.js +1 -1
  133. package/dist/cdn/recipe/snice-recipe.js +1 -1
  134. package/dist/cdn/runtime/README.md +2 -2
  135. package/dist/cdn/runtime/snice-runtime.esm.js +706 -267
  136. package/dist/cdn/runtime/snice-runtime.esm.js.map +1 -1
  137. package/dist/cdn/runtime/snice-runtime.esm.min.js +1 -1
  138. package/dist/cdn/runtime/snice-runtime.esm.min.js.map +1 -1
  139. package/dist/cdn/runtime/snice-runtime.js +706 -267
  140. package/dist/cdn/runtime/snice-runtime.js.map +1 -1
  141. package/dist/cdn/runtime/snice-runtime.min.js +1 -1
  142. package/dist/cdn/runtime/snice-runtime.min.js.map +1 -1
  143. package/dist/cdn/sankey/snice-sankey.js +1 -1
  144. package/dist/cdn/segmented-control/snice-segmented-control.js +1 -1
  145. package/dist/cdn/select/snice-select.js +3 -1
  146. package/dist/cdn/select/snice-select.js.map +1 -1
  147. package/dist/cdn/select/snice-select.min.js +2 -2
  148. package/dist/cdn/select/snice-select.min.js.map +1 -1
  149. package/dist/cdn/skeleton/snice-skeleton.js +1 -1
  150. package/dist/cdn/slider/snice-slider.js +1 -1
  151. package/dist/cdn/sortable/snice-sortable.js +1 -1
  152. package/dist/cdn/sparkline/snice-sparkline.js +1 -1
  153. package/dist/cdn/spinner/snice-spinner.js +1 -1
  154. package/dist/cdn/split-button/snice-split-button.js +1 -1
  155. package/dist/cdn/split-pane/snice-split-pane.js +1 -1
  156. package/dist/cdn/spotlight/snice-spotlight.js +1 -1
  157. package/dist/cdn/stat-group/snice-stat-group.js +1 -1
  158. package/dist/cdn/step-input/snice-step-input.js +1 -1
  159. package/dist/cdn/stepper/snice-stepper.js +1 -1
  160. package/dist/cdn/switch/README.md +1 -1
  161. package/dist/cdn/switch/snice-switch.js +8 -4
  162. package/dist/cdn/switch/snice-switch.js.map +1 -1
  163. package/dist/cdn/switch/snice-switch.min.js +8 -4
  164. package/dist/cdn/switch/snice-switch.min.js.map +1 -1
  165. package/dist/cdn/table/README.md +2 -2
  166. package/dist/cdn/table/snice-table.esm.js +77 -5
  167. package/dist/cdn/table/snice-table.esm.js.map +1 -1
  168. package/dist/cdn/table/snice-table.esm.min.js +68 -47
  169. package/dist/cdn/table/snice-table.esm.min.js.map +1 -1
  170. package/dist/cdn/table/snice-table.js +76 -4
  171. package/dist/cdn/table/snice-table.js.map +1 -1
  172. package/dist/cdn/table/snice-table.min.js +53 -32
  173. package/dist/cdn/table/snice-table.min.js.map +1 -1
  174. package/dist/cdn/tabs/snice-tabs.js +1 -1
  175. package/dist/cdn/tag/snice-tag.js +1 -1
  176. package/dist/cdn/tag-input/snice-tag-input.js +1 -1
  177. package/dist/cdn/terminal/snice-terminal.js +1 -1
  178. package/dist/cdn/testimonial/snice-testimonial.js +1 -1
  179. package/dist/cdn/textarea/snice-textarea.js +1 -1
  180. package/dist/cdn/time-picker/snice-time-picker.js +1 -1
  181. package/dist/cdn/time-range-picker/snice-time-range-picker.js +1 -1
  182. package/dist/cdn/timeline/snice-timeline.js +1 -1
  183. package/dist/cdn/timer/snice-timer.js +1 -1
  184. package/dist/cdn/toast/snice-toast.js +1 -1
  185. package/dist/cdn/tooltip/snice-tooltip.js +1 -1
  186. package/dist/cdn/tree/snice-tree.js +1 -1
  187. package/dist/cdn/treemap/snice-treemap.js +1 -1
  188. package/dist/cdn/user-card/snice-user-card.js +1 -1
  189. package/dist/cdn/video-player/snice-video-player.js +1 -1
  190. package/dist/cdn/virtual-scroller/snice-virtual-scroller.js +1 -1
  191. package/dist/cdn/waterfall/snice-waterfall.js +1 -1
  192. package/dist/cdn/weather/snice-weather.js +1 -1
  193. package/dist/cdn/work-order/snice-work-order.js +1 -1
  194. package/dist/components/avatar/snice-avatar.d.ts +1 -0
  195. package/dist/components/avatar/snice-avatar.js +8 -2
  196. package/dist/components/avatar/snice-avatar.js.map +1 -1
  197. package/dist/components/avatar/snice-avatar.types.d.ts +2 -0
  198. package/dist/components/button/snice-button.js +1 -1
  199. package/dist/components/button/snice-button.js.map +1 -1
  200. package/dist/components/calendar/snice-calendar.d.ts +38 -1
  201. package/dist/components/calendar/snice-calendar.js +390 -40
  202. package/dist/components/calendar/snice-calendar.js.map +1 -1
  203. package/dist/components/calendar/snice-calendar.types.d.ts +63 -0
  204. package/dist/components/select/snice-select.js +2 -0
  205. package/dist/components/select/snice-select.js.map +1 -1
  206. package/dist/components/switch/snice-switch.js +7 -3
  207. package/dist/components/switch/snice-switch.js.map +1 -1
  208. package/dist/components/table/snice-table.d.ts +9 -0
  209. package/dist/components/table/snice-table.js +72 -2
  210. package/dist/components/table/snice-table.js.map +1 -1
  211. package/dist/components/table/table-keyboard.js +1 -1
  212. package/dist/components/table/table-keyboard.js.map +1 -1
  213. package/dist/index.cjs +703 -264
  214. package/dist/index.cjs.map +1 -1
  215. package/dist/index.d.ts +3 -1
  216. package/dist/index.esm.js +703 -264
  217. package/dist/index.esm.js.map +1 -1
  218. package/dist/index.iife.js +703 -264
  219. package/dist/index.iife.js.map +1 -1
  220. package/dist/parts.d.ts +14 -4
  221. package/dist/react/SniceProvider.js +1 -1
  222. package/dist/react/SniceRouter.js +1 -1
  223. package/dist/react/index.js +1 -1
  224. package/dist/react/matchRoute.js +68 -2
  225. package/dist/react/matchRoute.js.map +1 -1
  226. package/dist/react/route-match.d.ts +7 -0
  227. package/dist/react/useRequestHandler.js +1 -1
  228. package/dist/render-errors.d.ts +9 -0
  229. package/dist/route-match.d.ts +7 -0
  230. package/dist/symbols.cjs +1 -1
  231. package/dist/symbols.esm.js +1 -1
  232. package/dist/template-marker.d.ts +5 -0
  233. package/dist/testing-dom.cjs +1 -1
  234. package/dist/testing-dom.esm.js +1 -1
  235. package/dist/testing.d.ts +3 -0
  236. package/dist/transitions.cjs +1 -1
  237. package/dist/transitions.esm.js +1 -1
  238. package/dist/types/dispatch-options.d.ts +5 -4
  239. package/dist/types/event-timing.d.ts +7 -0
  240. package/dist/types/index.d.ts +1 -0
  241. package/dist/types/on-options.d.ts +21 -6
  242. package/dist/utils.d.ts +3 -0
  243. package/docs/ai/DEVELOPMENT.md +1 -1
  244. package/docs/ai/api.md +7 -2
  245. package/docs/ai/cli.md +14 -0
  246. package/docs/ai/components/avatar.md +1 -0
  247. package/docs/ai/components/calendar.md +24 -1
  248. package/docs/ai/components/switch.md +3 -0
  249. package/docs/ai/components/table.md +1 -1
  250. package/docs/ai/decorators.md +3 -2
  251. package/docs/ai/events.md +45 -8
  252. package/docs/ai/rendering.md +7 -0
  253. package/docs/ai/routing.md +6 -1
  254. package/docs/ai/testing.md +17 -0
  255. package/docs/cli.md +19 -0
  256. package/docs/components/avatar.md +1 -0
  257. package/docs/components/calendar.md +112 -2
  258. package/docs/components/switch.md +7 -1
  259. package/docs/components/table.md +2 -1
  260. package/docs/events.md +90 -10
  261. package/docs/rendering.md +10 -0
  262. package/docs/routing.md +22 -1
  263. package/docs/testing.md +19 -0
  264. package/package.json +2 -2
  265. package/vscode.html-custom-data.json +28 -0
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * snice v7.5.0
2
+ * snice v7.6.0
3
3
  * A decorator-driven web component library with routing, controllers, daemons, and 130+ UI components. For better coding-agent results, run npx snice init-ai.
4
4
  * (c) 2024
5
5
  * Released under the MIT License.
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * snice v7.5.0
2
+ * snice v7.6.0
3
3
  * A decorator-driven web component library with routing, controllers, daemons, and 130+ UI components. For better coding-agent results, run npx snice init-ai.
4
4
  * (c) 2024
5
5
  * Released under the MIT License.
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * snice v7.5.0
2
+ * snice v7.6.0
3
3
  * A decorator-driven web component library with routing, controllers, daemons, and 130+ UI components. For better coding-agent results, run npx snice init-ai.
4
4
  * (c) 2024
5
5
  * Released under the MIT License.
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * snice v7.5.0
2
+ * snice v7.6.0
3
3
  * A decorator-driven web component library with routing, controllers, daemons, and 130+ UI components. For better coding-agent results, run npx snice init-ai.
4
4
  * (c) 2024
5
5
  * Released under the MIT License.
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * snice v7.5.0
2
+ * snice v7.6.0
3
3
  * A decorator-driven web component library with routing, controllers, daemons, and 130+ UI components. For better coding-agent results, run npx snice init-ai.
4
4
  * (c) 2024
5
5
  * Released under the MIT License.
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * snice v7.5.0
2
+ * snice v7.6.0
3
3
  * A decorator-driven web component library with routing, controllers, daemons, and 130+ UI components. For better coding-agent results, run npx snice init-ai.
4
4
  * (c) 2024
5
5
  * Released under the MIT License.
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * snice v7.5.0
2
+ * snice v7.6.0
3
3
  * A decorator-driven web component library with routing, controllers, daemons, and 130+ UI components. For better coding-agent results, run npx snice init-ai.
4
4
  * (c) 2024
5
5
  * Released under the MIT License.
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * snice v7.5.0
2
+ * snice v7.6.0
3
3
  * A decorator-driven web component library with routing, controllers, daemons, and 130+ UI components. For better coding-agent results, run npx snice init-ai.
4
4
  * (c) 2024
5
5
  * Released under the MIT License.
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * snice v7.5.0
2
+ * snice v7.6.0
3
3
  * A decorator-driven web component library with routing, controllers, daemons, and 130+ UI components. For better coding-agent results, run npx snice init-ai.
4
4
  * (c) 2024
5
5
  * Released under the MIT License.
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * snice v7.5.0
2
+ * snice v7.6.0
3
3
  * A decorator-driven web component library with routing, controllers, daemons, and 130+ UI components. For better coding-agent results, run npx snice init-ai.
4
4
  * (c) 2024
5
5
  * Released under the MIT License.
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * snice v7.5.0
2
+ * snice v7.6.0
3
3
  * A decorator-driven web component library with routing, controllers, daemons, and 130+ UI components. For better coding-agent results, run npx snice init-ai.
4
4
  * (c) 2024
5
5
  * Released under the MIT License.
@@ -11,7 +11,7 @@ CDN build of the Snice switch component. Requires the Snice runtime (`snice-runt
11
11
  ```
12
12
 
13
13
  ## Size
14
- - Minified: 27.4 KB
14
+ - Minified: 27.3 KB
15
15
  - Gzipped: 7.3 KB
16
16
 
17
17
  ## Theme
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * snice v7.5.0
2
+ * snice v7.6.0
3
3
  * A decorator-driven web component library with routing, controllers, daemons, and 130+ UI components. For better coding-agent results, run npx snice init-ai.
4
4
  * (c) 2024
5
5
  * Released under the MIT License.
@@ -424,7 +424,7 @@ var SniceSwitch = (function (exports, snice) {
424
424
  }
425
425
  }
426
426
 
427
- var cssContent = ":host([hidden]){display:none}:host{display:inline-flex;align-items:center;align-self:flex-end;min-height:2.5rem;font-family:var(--snice-font-family, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif)}:host([size=small]){min-height:2rem;align-self:center}:host([size=large]){min-height:3rem;align-self:center}.switch-wrapper{display:inline-flex;align-items:center;gap:var(--snice-spacing-xs,.5rem);cursor:pointer;user-select:none}.switch-wrapper--disabled{cursor:not-allowed;opacity:.6}.switch-input{position:absolute;opacity:0;width:0;height:0}.switch-track{position:relative;display:inline-block;background:var(--snice-color-border,rgb(226 226 226));border-radius:999px;transition:background-color var(--snice-transition-fast, 150ms) ease}.switch-track--small{width:2.25rem;height:1.25rem}.switch-track--medium{width:2.75rem;height:1.5rem}.switch-track--large{width:3.25rem;height:1.75rem}.switch-thumb{position:absolute;top:2px;left:2px;background:var(--snice-color-surface-container-lowest,rgb(255 255 255));border-radius:50%;box-shadow:var(--snice-shadow-sm,0 2px 6px 0 rgb(0 0 0 / .04),0 2px 4px -1px rgb(0 0 0 / .06));transition:transform var(--snice-transition-fast, 150ms) ease;z-index:2}.switch-track--small .switch-thumb{width:1rem;height:1rem}.switch-track--medium .switch-thumb{width:1.25rem;height:1.25rem}.switch-track--large .switch-thumb{width:1.5rem;height:1.5rem}.switch-input:checked~.switch-track{background:var(--snice-color-primary,rgb(37 99 235))}.switch-input:checked~.switch-track--small .switch-thumb{transform:translateX(1rem)}.switch-input:checked~.switch-track--medium .switch-thumb{transform:translateX(1.25rem)}.switch-input:checked~.switch-track--large .switch-thumb{transform:translateX(1.5rem)}.switch-input:focus-visible~.switch-track{box-shadow:0 0 0 var(--snice-focus-ring-width,2px) var(--snice-focus-ring-color,rgb(59 130 246 / .5))}.switch-input:disabled~.switch-track{background:var(--snice-color-surface-container-low,rgb(250 250 250))}.switch-input:disabled~.switch-track .switch-thumb{background:var(--snice-color-surface-container-lowest,rgb(255 255 255))}.switch-input:disabled:checked~.switch-track{background:var(--snice-color-text-secondary,rgb(82 82 82))}.switch-track--invalid{background:var(--snice-color-danger-subtle,rgb(254 226 226))}.switch-input:checked~.switch-track--invalid{background:var(--snice-color-danger,rgb(220 38 38))}.switch-wrapper:not(.switch-wrapper--disabled):hover .switch-track{background:var(--snice-color-border-hover,rgb(163 163 163))}.switch-wrapper:not(.switch-wrapper--disabled):hover .switch-input:checked~.switch-track{background:var(--snice-color-primary-hover,rgb(29 78 216))}.switch-label{color:var(--snice-color-text,rgb(23 23 23));cursor:pointer}.switch-label--small{font-size:var(--snice-font-size-sm, .875rem)}.switch-label--medium{font-size:var(--snice-font-size-md, 1rem)}.switch-label--large{font-size:var(--snice-font-size-lg, 1.125rem)}.switch-wrapper--disabled .switch-label{color:var(--snice-color-text-secondary,rgb(82 82 82));cursor:not-allowed}.switch-label--required::after{content:' *';color:var(--snice-color-danger,rgb(220 38 38))}.switch-state-label{position:absolute;top:50%;transform:translateY(-50%);font-size:.5rem;font-weight:var(--snice-font-weight-bold,700);text-transform:uppercase;letter-spacing:var(--snice-tracking-widest, .1em);opacity:0;transition:opacity var(--snice-transition-fast, 150ms) ease;pointer-events:none;z-index:1}.switch-state-label--on{left:.3125rem;color:var(--snice-color-text-inverse,rgb(250 250 250));mix-blend-mode:overlay}.switch-state-label--off{right:.375rem;color:var(--snice-color-text,rgb(23 23 23))}.switch-track--medium .switch-state-label{font-size:.5625rem}.switch-track--medium .switch-state-label--on{left:.3125rem}.switch-track--medium .switch-state-label--off{right:.5rem}.switch-track--large .switch-state-label{font-size:.625rem}.switch-track--large .switch-state-label--on{left:.4375rem}.switch-track--large .switch-state-label--off{right:.5rem}.switch-input:checked~.switch-track .switch-state-label--on,.switch-input:not(:checked)~.switch-track .switch-state-label--off{opacity:.7}.switch-track--small .switch-state-label{display:none}.switch-track--loading .switch-thumb{animation:1s ease-in-out infinite switch-pulse}@keyframes switch-pulse{0%,100%{opacity:1}50%{opacity:.5}}.switch-wrapper--loading{cursor:wait;opacity:.7}.switch-track--loading{cursor:wait}.switch-spinner{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;width:100%;height:100%;pointer-events:none}.switch-spinner::after{content:'';display:block;width:.625em;height:.625em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){*{transition-duration:0s!important;animation-duration:0s!important}}:host([label-off]) .switch-track--small,:host([label-on]) .switch-track--small{width:3rem}:host([label-off]) .switch-track--medium,:host([label-on]) .switch-track--medium{width:3.5rem}:host([label-off]) .switch-track--large,:host([label-on]) .switch-track--large{width:4rem}:host([label-off]) .switch-input:checked~.switch-track--small .switch-thumb,:host([label-on]) .switch-input:checked~.switch-track--small .switch-thumb{transform:translateX(1.75rem)}:host([label-off]) .switch-input:checked~.switch-track--medium .switch-thumb,:host([label-on]) .switch-input:checked~.switch-track--medium .switch-thumb{transform:translateX(2rem)}:host([label-off]) .switch-input:checked~.switch-track--large .switch-thumb,:host([label-on]) .switch-input:checked~.switch-track--large .switch-thumb{transform:translateX(2.25rem)}";
427
+ var cssContent = ":host([hidden]){display:none}:host{display:inline-flex;align-items:center;align-self:flex-end;min-height:2.5rem;font-family:var(--snice-font-family, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif)}:host([size=small]){min-height:2rem;align-self:center}:host([size=large]){min-height:3rem;align-self:center}.switch-wrapper{display:inline-flex;align-items:center;gap:var(--snice-spacing-xs,.5rem);cursor:pointer;user-select:none}.switch-wrapper--disabled{cursor:not-allowed;opacity:.6}.switch-input{position:absolute;opacity:0;width:0;height:0}.switch-track{position:relative;display:inline-block;background:var(--snice-color-border,rgb(226 226 226));border-radius:999px;transition:background-color var(--snice-transition-fast, 150ms) ease}.switch-track--small{min-width:2.25rem;height:1.25rem}.switch-track--medium{min-width:2.75rem;height:1.5rem}.switch-track--large{min-width:3.25rem;height:1.75rem}.switch-thumb{position:absolute;top:2px;left:2px;background:var(--snice-color-surface-container-lowest,rgb(255 255 255));border-radius:50%;box-shadow:var(--snice-shadow-sm,0 2px 6px 0 rgb(0 0 0 / .04),0 2px 4px -1px rgb(0 0 0 / .06));transition:left var(--snice-transition-fast, 150ms) ease;z-index:2}.switch-track--small .switch-thumb{width:1rem;height:1rem}.switch-track--medium .switch-thumb{width:1.25rem;height:1.25rem}.switch-track--large .switch-thumb{width:1.5rem;height:1.5rem}.switch-input:checked~.switch-track{background:var(--snice-color-primary,rgb(37 99 235))}.switch-input:checked~.switch-track--small .switch-thumb{left:calc(100% - 1rem - 2px)}.switch-input:checked~.switch-track--medium .switch-thumb{left:calc(100% - 1.25rem - 2px)}.switch-input:checked~.switch-track--large .switch-thumb{left:calc(100% - 1.5rem - 2px)}.switch-input:focus-visible~.switch-track{box-shadow:0 0 0 var(--snice-focus-ring-width,2px) var(--snice-focus-ring-color,rgb(59 130 246 / .5))}.switch-input:disabled~.switch-track{background:var(--snice-color-surface-container-low,rgb(250 250 250))}.switch-input:disabled~.switch-track .switch-thumb{background:var(--snice-color-surface-container-lowest,rgb(255 255 255))}.switch-input:disabled:checked~.switch-track{background:var(--snice-color-text-secondary,rgb(82 82 82))}.switch-track--invalid{background:var(--snice-color-danger-subtle,rgb(254 226 226))}.switch-input:checked~.switch-track--invalid{background:var(--snice-color-danger,rgb(220 38 38))}.switch-wrapper:not(.switch-wrapper--disabled):hover .switch-track{background:var(--snice-color-border-hover,rgb(163 163 163))}.switch-wrapper:not(.switch-wrapper--disabled):hover .switch-input:checked~.switch-track{background:var(--snice-color-primary-hover,rgb(29 78 216))}.switch-label{color:var(--snice-color-text,rgb(23 23 23));cursor:pointer}.switch-label--small{font-size:var(--snice-font-size-sm, .875rem)}.switch-label--medium{font-size:var(--snice-font-size-md, 1rem)}.switch-label--large{font-size:var(--snice-font-size-lg, 1.125rem)}.switch-wrapper--disabled .switch-label{color:var(--snice-color-text-secondary,rgb(82 82 82));cursor:not-allowed}.switch-label--required::after{content:' *';color:var(--snice-color-danger,rgb(220 38 38))}.switch-state-label,.switch-track-sizer>span{font-size:.5rem;font-weight:var(--snice-font-weight-bold,700);text-transform:uppercase;letter-spacing:var(--snice-tracking-widest, .1em)}.switch-state-label{position:absolute;top:50%;transform:translateY(-50%);opacity:0;transition:opacity var(--snice-transition-fast, 150ms) ease;pointer-events:none;z-index:1}.switch-track-sizer{display:grid;visibility:hidden}.switch-track-sizer>span{grid-area:1/1;white-space:nowrap}.switch-state-label--on{left:.3125rem;color:var(--snice-color-text-inverse,rgb(250 250 250))}.switch-state-label--off{right:.375rem;color:var(--snice-color-text,rgb(23 23 23))}.switch-track--medium .switch-state-label,.switch-track--medium .switch-track-sizer>span{font-size:.5625rem}.switch-track--medium .switch-track-sizer{padding-left:calc(1.25rem + 6px);padding-right:.5rem}.switch-track--large .switch-track-sizer{padding-left:calc(1.5rem + 6px);padding-right:.5rem}.switch-track--medium .switch-state-label--on{left:.3125rem}.switch-track--medium .switch-state-label--off{right:.5rem}.switch-track--large .switch-state-label,.switch-track--large .switch-track-sizer>span{font-size:.625rem}.switch-track--large .switch-state-label--on{left:.4375rem}.switch-track--large .switch-state-label--off{right:.5rem}.switch-input:checked~.switch-track .switch-state-label--on,.switch-input:not(:checked)~.switch-track .switch-state-label--off{opacity:1}.switch-track--small .switch-state-label,.switch-track--small .switch-track-sizer{display:none}.switch-track--loading .switch-thumb{animation:1s ease-in-out infinite switch-pulse}@keyframes switch-pulse{0%,100%{opacity:1}50%{opacity:.5}}.switch-wrapper--loading{cursor:wait;opacity:.7}.switch-track--loading{cursor:wait}.switch-spinner{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;width:100%;height:100%;pointer-events:none}.switch-spinner::after{content:'';display:block;width:.625em;height:.625em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){*{transition-duration:0s!important;animation-duration:0s!important}}";
428
428
 
429
429
  let SniceSwitch = (() => {
430
430
  let _classDecorators = [snice.element('snice-switch', { formAssociated: true, delegatesFocus: true })];
@@ -687,8 +687,12 @@ var SniceSwitch = (function (exports, snice) {
687
687
  </if>
688
688
  </span>
689
689
  <if ${this.labelOn || this.labelOff}>
690
- <span class="switch-state-label switch-state-label--on">${this.labelOn}</span>
691
- <span class="switch-state-label switch-state-label--off">${this.labelOff}</span>
690
+ <span class="switch-state-label switch-state-label--on" part="label-on">${this.labelOn}</span>
691
+ <span class="switch-state-label switch-state-label--off" part="label-off">${this.labelOff}</span>
692
+ <span class="switch-track-sizer" aria-hidden="true">
693
+ <span>${this.labelOn}</span>
694
+ <span>${this.labelOff}</span>
695
+ </span>
692
696
  </if>
693
697
  </span>
694
698