@streamscloud/kit 0.2.42 → 0.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (735) hide show
  1. package/dist/core/files/blob-storage-registry.svelte.d.ts +28 -0
  2. package/dist/core/files/blob-storage-registry.svelte.js +37 -0
  3. package/dist/core/files/file-validation-rules.d.ts +30 -0
  4. package/dist/core/files/file-validation-rules.js +95 -0
  5. package/dist/core/files/file-validation-types.d.ts +18 -0
  6. package/dist/core/files/file-validator.d.ts +5 -0
  7. package/dist/core/files/file-validator.js +17 -0
  8. package/dist/core/files/index.d.ts +8 -0
  9. package/dist/core/files/index.js +5 -0
  10. package/dist/core/files/open-file.d.ts +14 -0
  11. package/dist/core/files/open-file.js +38 -0
  12. package/dist/core/files/upload-media-store.svelte.d.ts +74 -0
  13. package/dist/core/files/upload-media-store.svelte.js +118 -0
  14. package/dist/core/files/upload-types.d.ts +57 -0
  15. package/dist/core/transitions/durations.d.ts +5 -0
  16. package/dist/core/transitions/durations.js +6 -0
  17. package/dist/core/transitions/index.d.ts +1 -0
  18. package/dist/core/transitions/index.js +1 -0
  19. package/dist/core/transitions/slide-horizontally.js +2 -1
  20. package/dist/core/utils/href-validator.d.ts +1 -10
  21. package/dist/core/utils/href-validator.js +8 -19
  22. package/dist/core/validation/form-validation-handler/form-validation-handler.svelte.js +2 -0
  23. package/dist/fonts.d.ts +11 -0
  24. package/dist/fonts.js +19 -0
  25. package/dist/styles/_functions.scss +2 -2
  26. package/dist/styles/_index.scss +1 -2
  27. package/dist/styles/_primitives.scss +68 -0
  28. package/dist/styles/_reset.scss +2 -2
  29. package/dist/styles/_semantic.scss +188 -0
  30. package/dist/styles/_transitions.scss +1 -14
  31. package/dist/styles/reset.css +2 -2
  32. package/dist/ui/_internal/_affordance.scss +58 -0
  33. package/dist/ui/_internal/input-clear-button/cmp.input-clear-button.svelte +87 -0
  34. package/dist/ui/_internal/input-clear-button/cmp.input-clear-button.svelte.d.ts +33 -0
  35. package/dist/ui/_internal/input-clear-button/index.d.ts +1 -0
  36. package/dist/ui/_internal/input-clear-button/index.js +1 -0
  37. package/dist/ui/_internal/input-clear-button/input-clear-button-localization.d.ts +3 -0
  38. package/dist/ui/_internal/input-clear-button/input-clear-button-localization.js +12 -0
  39. package/dist/ui/_internal/input-emoji-picker/cmp.input-emoji-picker.svelte +74 -0
  40. package/dist/ui/_internal/input-emoji-picker/cmp.input-emoji-picker.svelte.d.ts +26 -0
  41. package/dist/ui/{inputs → _internal}/input-emoji-picker/index.d.ts +0 -1
  42. package/dist/ui/{inputs → _internal}/input-emoji-picker/index.js +0 -1
  43. package/dist/ui/_internal/input-password-toggle/cmp.input-password-toggle.svelte +93 -0
  44. package/dist/ui/_internal/input-password-toggle/cmp.input-password-toggle.svelte.d.ts +31 -0
  45. package/dist/ui/_internal/input-password-toggle/index.d.ts +1 -0
  46. package/dist/ui/_internal/input-password-toggle/index.js +1 -0
  47. package/dist/ui/_internal/input-password-toggle/input-password-toggle-localization.d.ts +4 -0
  48. package/dist/ui/_internal/input-password-toggle/input-password-toggle-localization.js +13 -0
  49. package/dist/ui/_internal/spinner/cmp.spinner.svelte +41 -0
  50. package/dist/ui/_internal/spinner/cmp.spinner.svelte.d.ts +37 -0
  51. package/dist/ui/_internal/spinner/index.d.ts +1 -0
  52. package/dist/ui/_internal/spinner/index.js +1 -0
  53. package/dist/ui/ai-panel/ai-panel-localization.d.ts +3 -0
  54. package/dist/ui/ai-panel/ai-panel-localization.js +12 -0
  55. package/dist/ui/ai-panel/cmp.ai-panel.svelte +90 -0
  56. package/dist/ui/ai-panel/cmp.ai-panel.svelte.d.ts +58 -0
  57. package/dist/ui/ai-panel/index.d.ts +1 -0
  58. package/dist/ui/ai-panel/index.js +1 -0
  59. package/dist/ui/avatar/cmp.avatar.svelte +135 -0
  60. package/dist/ui/avatar/cmp.avatar.svelte.d.ts +34 -0
  61. package/dist/ui/avatar/index.d.ts +1 -0
  62. package/dist/ui/avatar/index.js +1 -0
  63. package/dist/ui/badge/cmp.badge.svelte +69 -60
  64. package/dist/ui/badge/cmp.badge.svelte.d.ts +16 -13
  65. package/dist/ui/badge/index.d.ts +1 -1
  66. package/dist/ui/badge/types.d.ts +1 -1
  67. package/dist/ui/banner/banner-localization.d.ts +3 -0
  68. package/dist/ui/banner/banner-localization.js +12 -0
  69. package/dist/ui/banner/cmp.banner.svelte +147 -0
  70. package/dist/ui/banner/cmp.banner.svelte.d.ts +44 -0
  71. package/dist/ui/banner/index.d.ts +1 -0
  72. package/dist/ui/banner/index.js +1 -0
  73. package/dist/ui/breadcrumb/breadcrumb-localization.d.ts +3 -0
  74. package/dist/ui/breadcrumb/breadcrumb-localization.js +12 -0
  75. package/dist/ui/breadcrumb/cmp.breadcrumb.svelte +78 -0
  76. package/dist/ui/breadcrumb/cmp.breadcrumb.svelte.d.ts +28 -0
  77. package/dist/ui/breadcrumb/index.d.ts +2 -0
  78. package/dist/ui/breadcrumb/index.js +1 -0
  79. package/dist/ui/breadcrumb/types.d.ts +14 -0
  80. package/dist/ui/button/cmp.button.svelte +288 -48
  81. package/dist/ui/button/cmp.button.svelte.d.ts +57 -50
  82. package/dist/ui/button/index.d.ts +1 -2
  83. package/dist/ui/button/index.js +0 -1
  84. package/dist/ui/button/types.d.ts +2 -0
  85. package/dist/ui/card/cmp.card.svelte +104 -0
  86. package/dist/ui/card/cmp.card.svelte.d.ts +42 -0
  87. package/dist/ui/card/index.d.ts +1 -0
  88. package/dist/ui/card/index.js +1 -0
  89. package/dist/ui/card-actions/cmp.card-action.svelte +19 -6
  90. package/dist/ui/card-actions/cmp.card-action.svelte.d.ts +4 -2
  91. package/dist/ui/card-actions/cmp.card-actions.svelte +19 -20
  92. package/dist/ui/card-actions/cmp.card-actions.svelte.d.ts +11 -8
  93. package/dist/ui/card-actions/types.d.ts +2 -3
  94. package/dist/ui/checkbox/cmp.checkbox.svelte +99 -76
  95. package/dist/ui/checkbox/cmp.checkbox.svelte.d.ts +21 -18
  96. package/dist/ui/checkbox/index.d.ts +0 -2
  97. package/dist/ui/checkbox/index.js +0 -1
  98. package/dist/ui/chip-group/cmp.chip-group.svelte +170 -0
  99. package/dist/ui/chip-group/cmp.chip-group.svelte.d.ts +84 -0
  100. package/dist/ui/chip-group/index.d.ts +2 -0
  101. package/dist/ui/chip-group/index.js +1 -0
  102. package/dist/ui/chip-group/types.d.ts +5 -0
  103. package/dist/ui/color-picker/cmp.color-picker.svelte +127 -36
  104. package/dist/ui/color-picker/cmp.color-picker.svelte.d.ts +43 -10
  105. package/dist/ui/color-picker/color-picker-localization.d.ts +1 -0
  106. package/dist/ui/color-picker/color-picker-localization.js +7 -0
  107. package/dist/ui/confirmation-dialog/cmp.confirmation-dialog.svelte +16 -13
  108. package/dist/ui/confirmation-dialog/cmp.confirmation-dialog.svelte.d.ts +8 -0
  109. package/dist/ui/cropper/image-editor-dialog/cmp.image-editor-dialog.svelte +1 -1
  110. package/dist/ui/cropper/image-editor-dialog/crop-and-resize.d.ts +36 -0
  111. package/dist/ui/cropper/image-editor-dialog/crop-and-resize.js +47 -0
  112. package/dist/ui/cropper/image-editor-dialog/index.d.ts +4 -2
  113. package/dist/ui/cropper/image-editor-dialog/index.js +3 -2
  114. package/dist/ui/cropper/img-cropper/cmp.img-cropper-controls.svelte +16 -15
  115. package/dist/ui/cropper/img-cropper/cmp.img-cropper-toolbar.svelte +9 -12
  116. package/dist/ui/cropper/img-cropper/cmp.img-cropper-toolbar.svelte.d.ts +1 -1
  117. package/dist/ui/cropper/img-cropper/cmp.img-cropper.svelte +4 -4
  118. package/dist/ui/cropper/img-cropper/cmp.img-cropper.svelte.d.ts +1 -1
  119. package/dist/ui/date-picker/cmp.date-picker-calendar.svelte +294 -0
  120. package/dist/ui/date-picker/cmp.date-picker-calendar.svelte.d.ts +59 -0
  121. package/dist/ui/date-picker/cmp.date-picker.svelte +331 -0
  122. package/dist/ui/date-picker/cmp.date-picker.svelte.d.ts +82 -0
  123. package/dist/ui/date-picker/date-picker-localization.d.ts +6 -0
  124. package/dist/ui/date-picker/date-picker-localization.js +33 -0
  125. package/dist/ui/date-picker/index.d.ts +2 -0
  126. package/dist/ui/date-picker/index.js +1 -0
  127. package/dist/ui/date-picker/types.d.ts +1 -0
  128. package/dist/ui/dialog/cmp.dialog-button.svelte +11 -4
  129. package/dist/ui/dialog/cmp.dialog-button.svelte.d.ts +14 -3
  130. package/dist/ui/dialog/cmp.dialog-cancel-button.svelte +10 -3
  131. package/dist/ui/dialog/cmp.dialog-cancel-button.svelte.d.ts +10 -1
  132. package/dist/ui/dialog/cmp.dialog-close-button.svelte +38 -8
  133. package/dist/ui/dialog/cmp.dialog-close-button.svelte.d.ts +8 -2
  134. package/dist/ui/dialog/cmp.dialog-container.svelte +50 -11
  135. package/dist/ui/dialog/cmp.dialog-container.svelte.d.ts +11 -0
  136. package/dist/ui/dialog/cmp.dialog-host.svelte +25 -0
  137. package/dist/ui/dialog/cmp.dialog-host.svelte.d.ts +15 -0
  138. package/dist/ui/dialog/cmp.dialog.svelte +31 -22
  139. package/dist/ui/dialog/cmp.dialog.svelte.d.ts +10 -8
  140. package/dist/ui/dialog/dialog-controller.d.ts +2 -2
  141. package/dist/ui/dialog/dialog-data.d.ts +4 -5
  142. package/dist/ui/dialog/dialog-host-mount.d.ts +6 -0
  143. package/dist/ui/dialog/dialog-host-mount.js +18 -0
  144. package/dist/ui/dialog/dialog-localization.d.ts +3 -0
  145. package/dist/ui/dialog/dialog-localization.js +12 -0
  146. package/dist/ui/dialog/dialog-store.svelte.d.ts +27 -0
  147. package/dist/ui/dialog/dialog-store.svelte.js +125 -0
  148. package/dist/ui/dialog/index.d.ts +3 -2
  149. package/dist/ui/dialog/index.js +2 -1
  150. package/dist/ui/dialog/types.svelte.d.ts +1 -1
  151. package/dist/ui/divider/cmp.divider.svelte +71 -0
  152. package/dist/ui/divider/cmp.divider.svelte.d.ts +25 -0
  153. package/dist/ui/divider/index.d.ts +1 -0
  154. package/dist/ui/divider/index.js +1 -0
  155. package/dist/ui/drag-and-drop/cmp.drag-source.svelte +30 -0
  156. package/dist/ui/drag-and-drop/cmp.drag-source.svelte.d.ts +39 -0
  157. package/dist/ui/drag-and-drop/cmp.drop-zone.svelte +122 -0
  158. package/dist/ui/drag-and-drop/cmp.drop-zone.svelte.d.ts +72 -0
  159. package/dist/ui/drag-and-drop/drag-and-drop.svelte.d.ts +15 -0
  160. package/dist/ui/drag-and-drop/drag-and-drop.svelte.js +13 -0
  161. package/dist/ui/drag-and-drop/index.d.ts +4 -0
  162. package/dist/ui/drag-and-drop/index.js +3 -0
  163. package/dist/ui/drag-and-drop/types.d.ts +9 -0
  164. package/dist/ui/drawer/cmp.drawer-view.svelte +40 -0
  165. package/dist/ui/drawer/cmp.drawer-view.svelte.d.ts +9 -0
  166. package/dist/ui/drawer/cmp.drawer.svelte +29 -0
  167. package/dist/ui/drawer/cmp.drawer.svelte.d.ts +29 -0
  168. package/dist/ui/drawer/drawer.d.ts +41 -0
  169. package/dist/ui/drawer/drawer.js +28 -0
  170. package/dist/ui/drawer/index.d.ts +3 -0
  171. package/dist/ui/drawer/index.js +2 -0
  172. package/dist/ui/dynamic-component/cmp.dynamic-component.svelte +21 -1
  173. package/dist/ui/dynamic-component/cmp.dynamic-component.svelte.d.ts +23 -1
  174. package/dist/ui/emoji-picker/cmp.emoji-panel.svelte +45 -24
  175. package/dist/ui/emoji-picker/cmp.emoji-panel.svelte.d.ts +7 -6
  176. package/dist/ui/emoji-picker/cmp.emoji-picker.svelte +37 -22
  177. package/dist/ui/emoji-picker/cmp.emoji-picker.svelte.d.ts +16 -5
  178. package/dist/ui/empty-state/cmp.empty-state.svelte +126 -0
  179. package/dist/ui/empty-state/cmp.empty-state.svelte.d.ts +39 -0
  180. package/dist/ui/empty-state/index.d.ts +1 -0
  181. package/dist/ui/empty-state/index.js +1 -0
  182. package/dist/ui/empty-state/zero-content.svg +133 -0
  183. package/dist/ui/file-uploader/cmp.file-row.svelte +145 -0
  184. package/dist/ui/file-uploader/cmp.file-row.svelte.d.ts +31 -0
  185. package/dist/ui/file-uploader/cmp.file-upload-progress.svelte +141 -0
  186. package/dist/ui/file-uploader/cmp.file-upload-progress.svelte.d.ts +25 -0
  187. package/dist/ui/file-uploader/cmp.file-uploader.svelte +210 -0
  188. package/dist/ui/file-uploader/cmp.file-uploader.svelte.d.ts +56 -0
  189. package/dist/ui/file-uploader/file-type-colors.d.ts +3 -0
  190. package/dist/ui/file-uploader/file-type-colors.js +38 -0
  191. package/dist/ui/file-uploader/file-uploader-localization.d.ts +4 -0
  192. package/dist/ui/file-uploader/file-uploader-localization.js +19 -0
  193. package/dist/ui/file-uploader/index.d.ts +6 -0
  194. package/dist/ui/file-uploader/index.js +6 -0
  195. package/dist/ui/file-uploader/to-uploading-file.d.ts +7 -0
  196. package/dist/ui/file-uploader/to-uploading-file.js +12 -0
  197. package/dist/ui/form-field/cmp.form-field-validatable.svelte +42 -0
  198. package/dist/ui/form-field/cmp.form-field-validatable.svelte.d.ts +75 -0
  199. package/dist/ui/form-field/cmp.form-field.svelte +55 -0
  200. package/dist/ui/form-field/cmp.form-field.svelte.d.ts +24 -0
  201. package/dist/ui/form-field/index.d.ts +2 -0
  202. package/dist/ui/form-field/index.js +2 -0
  203. package/dist/ui/grid-card/cmp.grid-card-media.svelte +170 -0
  204. package/dist/ui/grid-card/cmp.grid-card-media.svelte.d.ts +30 -0
  205. package/dist/ui/grid-card/cmp.grid-card.svelte +111 -0
  206. package/dist/ui/grid-card/cmp.grid-card.svelte.d.ts +39 -0
  207. package/dist/ui/grid-card/cmp.video-player.svelte +196 -0
  208. package/dist/ui/grid-card/cmp.video-player.svelte.d.ts +26 -0
  209. package/dist/ui/grid-card/fields/cmp.grid-card-actions-field.svelte +25 -0
  210. package/dist/ui/grid-card/fields/cmp.grid-card-actions-field.svelte.d.ts +21 -0
  211. package/dist/ui/grid-card/fields/cmp.grid-card-badge-field.svelte +28 -0
  212. package/dist/ui/grid-card/fields/cmp.grid-card-badge-field.svelte.d.ts +20 -0
  213. package/dist/ui/grid-card/fields/cmp.grid-card-button.svelte +28 -0
  214. package/dist/ui/grid-card/fields/cmp.grid-card-button.svelte.d.ts +17 -0
  215. package/dist/ui/grid-card/fields/cmp.grid-card-field.svelte +61 -0
  216. package/dist/ui/grid-card/fields/cmp.grid-card-field.svelte.d.ts +23 -0
  217. package/dist/ui/grid-card/fields/cmp.grid-card-fields.svelte +32 -0
  218. package/dist/ui/grid-card/fields/cmp.grid-card-fields.svelte.d.ts +17 -0
  219. package/dist/ui/grid-card/fields/cmp.grid-card-id-field.svelte +39 -0
  220. package/dist/ui/grid-card/fields/cmp.grid-card-id-field.svelte.d.ts +13 -0
  221. package/dist/ui/grid-card/fields/cmp.grid-card-progress-field.svelte +69 -0
  222. package/dist/ui/grid-card/fields/cmp.grid-card-progress-field.svelte.d.ts +30 -0
  223. package/dist/ui/grid-card/fields/cmp.grid-card-text-field.svelte +36 -0
  224. package/dist/ui/grid-card/fields/cmp.grid-card-text-field.svelte.d.ts +14 -0
  225. package/dist/ui/grid-card/fields/index.d.ts +8 -0
  226. package/dist/ui/grid-card/fields/index.js +8 -0
  227. package/dist/ui/grid-card/icon-checkbox-checked.svg +5 -0
  228. package/dist/ui/grid-card/icon-checkbox-unchecked.svg +4 -0
  229. package/dist/ui/grid-card/index.d.ts +4 -0
  230. package/dist/ui/grid-card/index.js +3 -0
  231. package/dist/ui/grid-card/types.d.ts +4 -0
  232. package/dist/ui/grouped-sidebar/cmp.grouped-sidebar-section.svelte +28 -23
  233. package/dist/ui/grouped-sidebar/cmp.grouped-sidebar-section.svelte.d.ts +7 -6
  234. package/dist/ui/grouped-sidebar/cmp.grouped-sidebar.svelte +27 -12
  235. package/dist/ui/grouped-sidebar/cmp.grouped-sidebar.svelte.d.ts +20 -4
  236. package/dist/ui/grouped-sidebar/types.svelte.js +3 -3
  237. package/dist/ui/handle-input/cmp.handle-input.svelte +125 -0
  238. package/dist/ui/handle-input/cmp.handle-input.svelte.d.ts +38 -0
  239. package/dist/ui/handle-input/handle-input-localization.d.ts +6 -0
  240. package/dist/ui/handle-input/handle-input-localization.js +33 -0
  241. package/dist/ui/handle-input/index.d.ts +2 -0
  242. package/dist/ui/handle-input/index.js +2 -0
  243. package/dist/ui/html-block/cmp.html-block.svelte +40 -22
  244. package/dist/ui/html-block/cmp.html-block.svelte.d.ts +13 -0
  245. package/dist/ui/icon/cmp.icon-slot.svelte +19 -0
  246. package/dist/ui/icon/cmp.icon-slot.svelte.d.ts +18 -0
  247. package/dist/ui/icon/cmp.icon.svelte +58 -34
  248. package/dist/ui/icon/cmp.icon.svelte.d.ts +19 -9
  249. package/dist/ui/icon/icon-utils.d.ts +9 -0
  250. package/dist/ui/icon/icon-utils.js +12 -0
  251. package/dist/ui/icon/index.d.ts +3 -1
  252. package/dist/ui/icon/index.js +2 -0
  253. package/dist/ui/icon/types.d.ts +8 -1
  254. package/dist/ui/icon-picker/cmp.icon-picker.svelte +137 -0
  255. package/dist/ui/icon-picker/cmp.icon-picker.svelte.d.ts +34 -0
  256. package/dist/ui/icon-picker/index.d.ts +2 -0
  257. package/dist/ui/icon-picker/index.js +1 -0
  258. package/dist/ui/icon-picker/types.d.ts +16 -0
  259. package/dist/ui/icon-picker/types.js +1 -0
  260. package/dist/ui/icon-text/cmp.icon-text.svelte +37 -34
  261. package/dist/ui/icon-text/cmp.icon-text.svelte.d.ts +18 -19
  262. package/dist/ui/image/cmp.image-rounded.svelte +10 -14
  263. package/dist/ui/image/cmp.image-rounded.svelte.d.ts +6 -4
  264. package/dist/ui/image/cmp.image-stub.svelte +2 -2
  265. package/dist/ui/image/cmp.image-stub.svelte.d.ts +1 -1
  266. package/dist/ui/image/cmp.image.svelte +6 -9
  267. package/dist/ui/image/cmp.image.svelte.d.ts +1 -1
  268. package/dist/ui/image/image-state.d.ts +1 -5
  269. package/dist/ui/image/image-state.js +3 -9
  270. package/dist/ui/image/index.d.ts +2 -1
  271. package/dist/ui/image/index.js +1 -1
  272. package/dist/ui/infinite-scroll/cmp.infinite-scroll.svelte +103 -0
  273. package/dist/ui/infinite-scroll/cmp.infinite-scroll.svelte.d.ts +27 -0
  274. package/dist/ui/infinite-scroll/index.d.ts +1 -0
  275. package/dist/ui/infinite-scroll/index.js +1 -0
  276. package/dist/ui/input/cmp.input.svelte +327 -0
  277. package/dist/ui/input/cmp.input.svelte.d.ts +38 -0
  278. package/dist/ui/input/index.d.ts +2 -0
  279. package/dist/ui/input/index.js +1 -0
  280. package/dist/ui/input/types.d.ts +77 -0
  281. package/dist/ui/input/types.js +1 -0
  282. package/dist/ui/line-clamp/cmp.line-clamp-auto.svelte +12 -1
  283. package/dist/ui/line-clamp/cmp.line-clamp-auto.svelte.d.ts +3 -1
  284. package/dist/ui/line-clamp/cmp.line-clamp.svelte +13 -1
  285. package/dist/ui/line-clamp/cmp.line-clamp.svelte.d.ts +4 -1
  286. package/dist/ui/link/cmp.link.svelte +72 -0
  287. package/dist/ui/link/cmp.link.svelte.d.ts +33 -0
  288. package/dist/ui/link/index.d.ts +1 -0
  289. package/dist/ui/link/index.js +1 -0
  290. package/dist/ui/listing-card/cmp.listing-card.svelte +170 -0
  291. package/dist/ui/listing-card/cmp.listing-card.svelte.d.ts +41 -0
  292. package/dist/ui/listing-card/index.d.ts +1 -0
  293. package/dist/ui/listing-card/index.js +1 -0
  294. package/dist/ui/logo/cmp.logo.svelte +77 -0
  295. package/dist/ui/logo/cmp.logo.svelte.d.ts +35 -0
  296. package/dist/ui/logo/index.d.ts +1 -0
  297. package/dist/ui/logo/index.js +1 -0
  298. package/dist/ui/media-playback/playback-manager.svelte.d.ts +3 -0
  299. package/dist/ui/media-playback/playback-manager.svelte.js +5 -0
  300. package/dist/ui/media-viewer-dialog/cmp.media-viewer-dialog.svelte +6 -5
  301. package/dist/ui/media-viewer-dialog/index.d.ts +2 -2
  302. package/dist/ui/media-viewer-dialog/index.js +3 -3
  303. package/dist/ui/navigation/cmp.nav-menu-account-row.svelte +146 -0
  304. package/dist/ui/navigation/cmp.nav-menu-account-row.svelte.d.ts +28 -0
  305. package/dist/ui/navigation/cmp.nav-menu-divider.svelte +14 -0
  306. package/dist/ui/navigation/cmp.nav-menu-divider.svelte.d.ts +22 -0
  307. package/dist/ui/navigation/cmp.nav-menu-group.svelte +17 -0
  308. package/dist/ui/{form-group/cmp.form-group.svelte.d.ts → navigation/cmp.nav-menu-group.svelte.d.ts} +4 -2
  309. package/dist/ui/navigation/cmp.nav-menu-header.svelte +17 -0
  310. package/dist/ui/navigation/cmp.nav-menu-header.svelte.d.ts +10 -0
  311. package/dist/ui/navigation/cmp.nav-menu-item.svelte +157 -0
  312. package/dist/ui/navigation/cmp.nav-menu-item.svelte.d.ts +43 -0
  313. package/dist/ui/navigation/cmp.nav-menu.svelte +96 -0
  314. package/dist/ui/navigation/cmp.nav-menu.svelte.d.ts +27 -0
  315. package/dist/ui/navigation/cmp.nav-rail-item.svelte +118 -0
  316. package/dist/ui/navigation/cmp.nav-rail-item.svelte.d.ts +38 -0
  317. package/dist/ui/navigation/cmp.nav-rail.svelte +216 -0
  318. package/dist/ui/navigation/cmp.nav-rail.svelte.d.ts +40 -0
  319. package/dist/ui/navigation/index.d.ts +8 -0
  320. package/dist/ui/navigation/index.js +8 -0
  321. package/dist/ui/navigation/nav-rail-localization.d.ts +4 -0
  322. package/dist/ui/navigation/nav-rail-localization.js +19 -0
  323. package/dist/ui/numeral-input/cmp.numeral-input.svelte +331 -0
  324. package/dist/ui/numeral-input/cmp.numeral-input.svelte.d.ts +97 -0
  325. package/dist/ui/numeral-input/index.d.ts +1 -0
  326. package/dist/ui/numeral-input/index.js +1 -0
  327. package/dist/ui/open-file-button/cmp.open-file-button.svelte +42 -0
  328. package/dist/ui/open-file-button/cmp.open-file-button.svelte.d.ts +45 -0
  329. package/dist/ui/open-file-button/index.d.ts +1 -0
  330. package/dist/ui/open-file-button/index.js +1 -0
  331. package/dist/ui/option-pill/cmp.option-pill.svelte +140 -0
  332. package/dist/ui/option-pill/cmp.option-pill.svelte.d.ts +73 -0
  333. package/dist/ui/option-pill/index.d.ts +2 -0
  334. package/dist/ui/option-pill/index.js +1 -0
  335. package/dist/ui/option-pill/types.d.ts +8 -0
  336. package/dist/ui/option-pill/types.js +1 -0
  337. package/dist/ui/page-header/cmp.page-header.svelte +75 -0
  338. package/dist/ui/page-header/cmp.page-header.svelte.d.ts +32 -0
  339. package/dist/ui/page-header/index.d.ts +1 -0
  340. package/dist/ui/page-header/index.js +1 -0
  341. package/dist/ui/page-layout/cmp.page-layout.svelte +171 -0
  342. package/dist/ui/page-layout/cmp.page-layout.svelte.d.ts +33 -0
  343. package/dist/ui/page-layout/cmp.page-panel-sidebars.svelte +182 -0
  344. package/dist/ui/page-layout/cmp.page-panel-sidebars.svelte.d.ts +37 -0
  345. package/dist/ui/page-layout/cmp.page-panel.svelte +379 -0
  346. package/dist/ui/page-layout/cmp.page-panel.svelte.d.ts +60 -0
  347. package/dist/ui/page-layout/cmp.page-panels.svelte +21 -0
  348. package/dist/ui/{form-group/cmp.form-group-label.svelte.d.ts → page-layout/cmp.page-panels.svelte.d.ts} +4 -2
  349. package/dist/ui/page-layout/cmp.panel-collapse-button.svelte +64 -0
  350. package/dist/ui/page-layout/cmp.panel-collapse-button.svelte.d.ts +23 -0
  351. package/dist/ui/page-layout/cmp.panel-content.svelte +21 -0
  352. package/dist/ui/{page-toolbar/cmp.toolbar-button-item.svelte.d.ts → page-layout/cmp.panel-content.svelte.d.ts} +2 -5
  353. package/dist/ui/page-layout/index.d.ts +8 -0
  354. package/dist/ui/page-layout/index.js +7 -0
  355. package/dist/ui/page-layout/page-layout-localization.d.ts +5 -0
  356. package/dist/ui/page-layout/page-layout-localization.js +26 -0
  357. package/dist/ui/page-layout/panel-state.svelte.d.ts +50 -0
  358. package/dist/ui/page-layout/panel-state.svelte.js +61 -0
  359. package/dist/ui/page-layout/types.d.ts +19 -0
  360. package/dist/ui/page-layout/types.js +1 -0
  361. package/dist/ui/page-toolbar/cmp.reorderable-toggle-list.svelte +20 -27
  362. package/dist/ui/page-toolbar/cmp.reorderable-toggle-list.svelte.d.ts +3 -3
  363. package/dist/ui/page-toolbar/cmp.toolbar-checkbox-item.svelte +3 -5
  364. package/dist/ui/page-toolbar/cmp.toolbar-panel-button.svelte +42 -0
  365. package/dist/ui/page-toolbar/cmp.toolbar-panel-button.svelte.d.ts +20 -0
  366. package/dist/ui/page-toolbar/cmp.toolbar-panel.svelte +17 -18
  367. package/dist/ui/page-toolbar/cmp.toolbar-panel.svelte.d.ts +2 -2
  368. package/dist/ui/page-toolbar/cmp.toolbar-popover.svelte +31 -0
  369. package/dist/ui/page-toolbar/cmp.toolbar-popover.svelte.d.ts +23 -0
  370. package/dist/ui/page-toolbar/cmp.toolbar-search-input.svelte +21 -16
  371. package/dist/ui/page-toolbar/cmp.toolbar-search-input.svelte.d.ts +8 -1
  372. package/dist/ui/page-toolbar/cmp.toolbar-segmented-control.svelte +9 -15
  373. package/dist/ui/page-toolbar/cmp.toolbar-segmented-control.svelte.d.ts +10 -16
  374. package/dist/ui/page-toolbar/cmp.toolbar-switch-item.svelte +13 -16
  375. package/dist/ui/page-toolbar/cmp.toolbar-switch-item.svelte.d.ts +10 -12
  376. package/dist/ui/page-toolbar/cmp.toolbar-toggle-item.svelte +4 -33
  377. package/dist/ui/page-toolbar/cmp.toolbar-toggle-item.svelte.d.ts +2 -9
  378. package/dist/ui/page-toolbar/index.d.ts +2 -2
  379. package/dist/ui/page-toolbar/index.js +2 -2
  380. package/dist/ui/pagination/cmp.pagination.svelte +199 -0
  381. package/dist/ui/pagination/cmp.pagination.svelte.d.ts +35 -0
  382. package/dist/ui/pagination/index.d.ts +2 -0
  383. package/dist/ui/pagination/index.js +2 -0
  384. package/dist/ui/pagination/pagination-localization.d.ts +6 -0
  385. package/dist/ui/pagination/pagination-localization.js +33 -0
  386. package/dist/ui/pagination/pagination-state.svelte.d.ts +13 -0
  387. package/dist/ui/pagination/pagination-state.svelte.js +35 -0
  388. package/dist/ui/pin-input/cmp.pin-input.svelte +154 -0
  389. package/dist/ui/pin-input/cmp.pin-input.svelte.d.ts +44 -0
  390. package/dist/ui/player/buttons/cmp.mobile-player-buttons.svelte +4 -4
  391. package/dist/ui/player/buttons/cmp.player-buttons.svelte +11 -11
  392. package/dist/ui/player/buttons/types.d.ts +2 -3
  393. package/dist/ui/player/carousel/cmp.carousel.svelte +6 -4
  394. package/dist/ui/player/carousel/cmp.carousel.svelte.d.ts +2 -1
  395. package/dist/ui/popover/cmp.hover-popover.svelte +64 -0
  396. package/dist/ui/popover/cmp.hover-popover.svelte.d.ts +52 -0
  397. package/dist/ui/popover/cmp.popover-item.svelte +89 -0
  398. package/dist/ui/popover/cmp.popover-item.svelte.d.ts +35 -0
  399. package/dist/ui/popover/cmp.popover.svelte +369 -0
  400. package/dist/ui/popover/cmp.popover.svelte.d.ts +70 -0
  401. package/dist/ui/popover/index.d.ts +10 -0
  402. package/dist/ui/popover/index.js +4 -0
  403. package/dist/ui/{dropdown/dropdown-ignore.d.ts → popover/popover-ignore.d.ts} +1 -1
  404. package/dist/ui/{dropdown/dropdown-ignore.js → popover/popover-ignore.js} +2 -2
  405. package/dist/ui/progress/cmp.progress.svelte +90 -21
  406. package/dist/ui/progress/cmp.progress.svelte.d.ts +26 -6
  407. package/dist/ui/radio/cmp.radio-card.svelte +157 -0
  408. package/dist/ui/radio/cmp.radio-card.svelte.d.ts +43 -0
  409. package/dist/ui/radio/cmp.radio.svelte +115 -0
  410. package/dist/ui/radio/cmp.radio.svelte.d.ts +37 -0
  411. package/dist/ui/radio/index.d.ts +2 -0
  412. package/dist/ui/radio/index.js +2 -0
  413. package/dist/ui/rich-text-input/cmp.rich-text-input.svelte +283 -0
  414. package/dist/ui/rich-text-input/cmp.rich-text-input.svelte.d.ts +69 -0
  415. package/dist/ui/rich-text-input/hugerte.declarations.d.ts +10 -0
  416. package/dist/ui/{inputs/rich-text-input → rich-text-input}/rich-text-input-localization.js +1 -1
  417. package/dist/ui/rich-text-input/types.js +1 -0
  418. package/dist/ui/{inputs/rich-text-input → rich-text-input}/validated-link-button.d.ts +1 -1
  419. package/dist/ui/{inputs/rich-text-input → rich-text-input}/validated-link-button.js +1 -1
  420. package/dist/ui/seek-bar/cmp.seek-bar.svelte +15 -12
  421. package/dist/ui/seek-bar/cmp.seek-bar.svelte.d.ts +6 -5
  422. package/dist/ui/seek-bar/seek-bar-localization.d.ts +3 -0
  423. package/dist/ui/seek-bar/seek-bar-localization.js +12 -0
  424. package/dist/ui/segmented-control/cmp.segmented-control.svelte +137 -85
  425. package/dist/ui/segmented-control/cmp.segmented-control.svelte.d.ts +46 -27
  426. package/dist/ui/segmented-control/index.d.ts +1 -0
  427. package/dist/ui/select/_select-trigger.scss +199 -0
  428. package/dist/ui/select/cmp.multiselect-async.svelte +54 -0
  429. package/dist/ui/select/cmp.multiselect-async.svelte.d.ts +79 -0
  430. package/dist/ui/select/cmp.multiselect-tree.svelte +115 -0
  431. package/dist/ui/select/cmp.multiselect-tree.svelte.d.ts +152 -0
  432. package/dist/ui/select/cmp.multiselect.svelte +70 -0
  433. package/dist/ui/select/cmp.multiselect.svelte.d.ts +78 -0
  434. package/dist/ui/select/cmp.singleselect-async.svelte +343 -0
  435. package/dist/ui/select/cmp.singleselect-async.svelte.d.ts +105 -0
  436. package/dist/ui/select/cmp.singleselect.svelte +136 -0
  437. package/dist/ui/select/cmp.singleselect.svelte.d.ts +96 -0
  438. package/dist/ui/select/index.d.ts +11 -0
  439. package/dist/ui/select/index.js +5 -0
  440. package/dist/ui/select/multiselect-base.svelte +565 -0
  441. package/dist/ui/select/multiselect-base.svelte.d.ts +81 -0
  442. package/dist/ui/select/multiselect-localization.d.ts +11 -0
  443. package/dist/ui/select/multiselect-localization.js +47 -0
  444. package/dist/ui/select/select-chip.svelte +123 -0
  445. package/dist/ui/select/select-chip.svelte.d.ts +48 -0
  446. package/dist/ui/select/select-core.svelte.d.ts +87 -0
  447. package/dist/ui/select/select-core.svelte.js +380 -0
  448. package/dist/ui/select/select-internals.d.ts +33 -0
  449. package/dist/ui/select/select-internals.js +111 -0
  450. package/dist/ui/select/select-listbox-localization.d.ts +4 -0
  451. package/dist/ui/select/select-listbox-localization.js +16 -0
  452. package/dist/ui/select/select-listbox.svelte +366 -0
  453. package/dist/ui/select/select-listbox.svelte.d.ts +93 -0
  454. package/dist/ui/select/singleselect-localization.d.ts +4 -0
  455. package/dist/ui/select/singleselect-localization.js +13 -0
  456. package/dist/ui/select/types.d.ts +211 -0
  457. package/dist/ui/select/types.js +1 -0
  458. package/dist/ui/skeleton/cmp.skeleton.svelte +72 -0
  459. package/dist/ui/skeleton/cmp.skeleton.svelte.d.ts +25 -0
  460. package/dist/ui/skeleton/index.d.ts +1 -0
  461. package/dist/ui/skeleton/index.js +1 -0
  462. package/dist/ui/slider/cmp.slider.svelte +160 -0
  463. package/dist/ui/slider/cmp.slider.svelte.d.ts +40 -0
  464. package/dist/ui/slider/index.d.ts +1 -0
  465. package/dist/ui/slider/index.js +1 -0
  466. package/dist/ui/spinner/cmp.spinner.svelte +156 -0
  467. package/dist/ui/spinner/cmp.spinner.svelte.d.ts +47 -0
  468. package/dist/ui/spinner/index.d.ts +1 -0
  469. package/dist/ui/spinner/index.js +1 -0
  470. package/dist/ui/stack/cmp.stack.svelte +25 -0
  471. package/dist/ui/stack/cmp.stack.svelte.d.ts +22 -0
  472. package/dist/ui/stack/index.d.ts +1 -0
  473. package/dist/ui/stack/index.js +1 -0
  474. package/dist/ui/stat/cmp.stat.svelte +105 -0
  475. package/dist/ui/stat/cmp.stat.svelte.d.ts +34 -0
  476. package/dist/ui/stat/index.d.ts +1 -0
  477. package/dist/ui/stat/index.js +1 -0
  478. package/dist/ui/stepper/cmp.stepper.svelte +286 -0
  479. package/dist/ui/stepper/cmp.stepper.svelte.d.ts +59 -0
  480. package/dist/ui/stepper/index.d.ts +1 -0
  481. package/dist/ui/stepper/index.js +1 -0
  482. package/dist/ui/stepper-dialog/cmp.stepper-dialog.svelte +221 -0
  483. package/dist/ui/stepper-dialog/cmp.stepper-dialog.svelte.d.ts +17 -0
  484. package/dist/ui/stepper-dialog/index.d.ts +2 -0
  485. package/dist/ui/stepper-dialog/index.js +1 -0
  486. package/dist/ui/stepper-dialog/stepper-dialog-localization.d.ts +6 -0
  487. package/dist/ui/stepper-dialog/stepper-dialog-localization.js +33 -0
  488. package/dist/ui/stepper-dialog/stepper-dialog.d.ts +22 -0
  489. package/dist/ui/stepper-dialog/stepper-dialog.js +26 -0
  490. package/dist/ui/stepper-dialog/types.d.ts +34 -0
  491. package/dist/ui/stepper-dialog/types.js +1 -0
  492. package/dist/ui/swipe-indicator/cmp.swipe-indicator.svelte +68 -9
  493. package/dist/ui/swipe-indicator/cmp.swipe-indicator.svelte.d.ts +20 -4
  494. package/dist/ui/table/cmp.table.svelte +115 -59
  495. package/dist/ui/table/cmp.table.svelte.d.ts +24 -15
  496. package/dist/ui/table/table-cells/table-actions-cell.svelte +14 -21
  497. package/dist/ui/table/table-cells/table-actions-cell.svelte.d.ts +5 -5
  498. package/dist/ui/table/table-cells/table-badge-cell.svelte +2 -2
  499. package/dist/ui/table/table-cells/table-button-cell.svelte +3 -3
  500. package/dist/ui/table/table-cells/table-by-cell.svelte +12 -21
  501. package/dist/ui/table/table-cells/table-checkbox-cell.svelte +3 -0
  502. package/dist/ui/table/table-cells/table-icon-cell.svelte +6 -29
  503. package/dist/ui/table/table-cells/table-icon-cell.svelte.d.ts +1 -10
  504. package/dist/ui/table/table-cells/table-move-row-cell.svelte +3 -3
  505. package/dist/ui/table/table-cells/table-select-cell.svelte +18 -12
  506. package/dist/ui/table/table-cells/table-text-cell.svelte +2 -5
  507. package/dist/ui/table/table-cells/table-text-cell.svelte.d.ts +1 -1
  508. package/dist/ui/table/table-cells/table-text-input-cell.svelte +11 -25
  509. package/dist/ui/table/table-columns-manager/cmp.table-columns-manager.svelte +8 -11
  510. package/dist/ui/table/table-columns-manager/cmp.table-columns-manager.svelte.d.ts +2 -2
  511. package/dist/ui/table/table-group-actions/cmp.table-group-actions.svelte +14 -14
  512. package/dist/ui/table/table-group-actions/cmp.table-group-actions.svelte.d.ts +1 -1
  513. package/dist/ui/table/table-group-actions/types.svelte.d.ts +2 -3
  514. package/dist/ui/table/table-headers/table-header-sortable.svelte +5 -5
  515. package/dist/ui/table/table-headers/table-header.svelte +3 -3
  516. package/dist/ui/table/table-model.svelte.d.ts +2 -1
  517. package/dist/ui/table/table-model.svelte.js +4 -1
  518. package/dist/ui/table/types.d.ts +24 -13
  519. package/dist/ui/tabs/cmp.tabs.svelte +67 -0
  520. package/dist/ui/tabs/cmp.tabs.svelte.d.ts +73 -0
  521. package/dist/ui/tabs/index.d.ts +2 -0
  522. package/dist/ui/tabs/index.js +1 -0
  523. package/dist/ui/tabs/tab.svelte +169 -0
  524. package/dist/ui/tabs/tab.svelte.d.ts +34 -0
  525. package/dist/ui/tabs/tabs-localization.d.ts +3 -0
  526. package/dist/ui/tabs/tabs-localization.js +12 -0
  527. package/dist/ui/tabs/types.d.ts +8 -0
  528. package/dist/ui/tabs/types.js +1 -0
  529. package/dist/ui/textarea/cmp.textarea.svelte +254 -0
  530. package/dist/ui/textarea/cmp.textarea.svelte.d.ts +80 -0
  531. package/dist/ui/textarea/index.d.ts +1 -0
  532. package/dist/ui/textarea/index.js +1 -0
  533. package/dist/ui/time-ago/cmp.time-ago.svelte +6 -3
  534. package/dist/ui/time-ago/cmp.time-ago.svelte.d.ts +5 -2
  535. package/dist/ui/toast/cmp.toast-item.svelte +191 -0
  536. package/dist/ui/{form-group/cmp.form-group-note.svelte.d.ts → toast/cmp.toast-item.svelte.d.ts} +5 -2
  537. package/dist/ui/toast/cmp.toaster.svelte +112 -0
  538. package/dist/ui/toast/cmp.toaster.svelte.d.ts +29 -0
  539. package/dist/ui/toast/index.d.ts +3 -0
  540. package/dist/ui/toast/index.js +2 -0
  541. package/dist/ui/toast/toast-localization.d.ts +3 -0
  542. package/dist/ui/toast/toast-localization.js +12 -0
  543. package/dist/ui/toast/toast-store.svelte.d.ts +17 -0
  544. package/dist/ui/toast/toast-store.svelte.js +65 -0
  545. package/dist/ui/toast/toaster-host.svelte.d.ts +6 -0
  546. package/dist/ui/toast/toaster-host.svelte.js +18 -0
  547. package/dist/ui/toast/toastr.d.ts +17 -0
  548. package/dist/ui/toast/toastr.js +30 -0
  549. package/dist/ui/toast/types.d.ts +27 -0
  550. package/dist/ui/toast/types.js +1 -0
  551. package/dist/ui/toggle/cmp.toggle.svelte +169 -77
  552. package/dist/ui/toggle/cmp.toggle.svelte.d.ts +33 -11
  553. package/dist/ui/tooltip/cmp.tooltip.svelte +125 -155
  554. package/dist/ui/tooltip/cmp.tooltip.svelte.d.ts +23 -19
  555. package/dist/ui/tooltip/index.d.ts +0 -1
  556. package/dist/ui/tree/cmp.tree-node-view.svelte +342 -0
  557. package/dist/ui/tree/cmp.tree-node-view.svelte.d.ts +12 -0
  558. package/dist/ui/tree/cmp.tree.svelte +65 -0
  559. package/dist/ui/tree/cmp.tree.svelte.d.ts +32 -0
  560. package/dist/ui/tree/index.d.ts +4 -0
  561. package/dist/ui/tree/index.js +2 -0
  562. package/dist/ui/tree/tree-navigation.svelte.d.ts +14 -0
  563. package/dist/ui/tree/tree-navigation.svelte.js +99 -0
  564. package/dist/ui/tree/tree-node-action.d.ts +8 -0
  565. package/dist/ui/tree/tree-node-action.js +1 -0
  566. package/dist/ui/tree/tree-node-drag-config.svelte.d.ts +16 -0
  567. package/dist/ui/tree/tree-node-drag-config.svelte.js +4 -0
  568. package/dist/ui/tree/tree-node.svelte.d.ts +81 -0
  569. package/dist/ui/tree/tree-node.svelte.js +232 -0
  570. package/dist/ui/typography/cmp.heading.svelte +77 -0
  571. package/dist/ui/typography/cmp.heading.svelte.d.ts +29 -0
  572. package/dist/ui/typography/cmp.text.svelte +68 -0
  573. package/dist/ui/typography/cmp.text.svelte.d.ts +32 -0
  574. package/dist/ui/typography/index.d.ts +2 -0
  575. package/dist/ui/typography/index.js +2 -0
  576. package/dist/ui/usage/cmp.usage-row.svelte +85 -0
  577. package/dist/ui/usage/cmp.usage-row.svelte.d.ts +29 -0
  578. package/dist/ui/usage/cmp.usage.svelte +50 -0
  579. package/dist/ui/usage/cmp.usage.svelte.d.ts +23 -0
  580. package/dist/ui/usage/index.d.ts +2 -0
  581. package/dist/ui/usage/index.js +2 -0
  582. package/dist/ui/validatable/cmp.field-error.svelte +36 -0
  583. package/dist/ui/validatable/cmp.field-error.svelte.d.ts +17 -0
  584. package/dist/ui/validatable/cmp.validatable.svelte +86 -50
  585. package/dist/ui/validatable/cmp.validatable.svelte.d.ts +72 -28
  586. package/dist/ui/validatable/cmp.validation-error.svelte +8 -45
  587. package/dist/ui/validatable/cmp.validation-error.svelte.d.ts +3 -8
  588. package/dist/ui/validatable/index.d.ts +1 -0
  589. package/dist/ui/video/cmp.video.svelte +7 -7
  590. package/dist/ui/visual-select/cmp.visual-select.svelte +154 -0
  591. package/dist/ui/visual-select/cmp.visual-select.svelte.d.ts +78 -0
  592. package/dist/ui/visual-select/index.d.ts +1 -0
  593. package/dist/ui/visual-select/index.js +1 -0
  594. package/dist/ui/website-input/cmp.website-input.svelte +78 -0
  595. package/dist/ui/website-input/cmp.website-input.svelte.d.ts +25 -0
  596. package/dist/ui/website-input/index.d.ts +1 -0
  597. package/dist/ui/website-input/index.js +1 -0
  598. package/dist/ui/website-input/website-input-localization.d.ts +3 -0
  599. package/dist/ui/website-input/website-input-localization.js +12 -0
  600. package/package.json +243 -89
  601. package/dist/core/toastr/index.d.ts +0 -3
  602. package/dist/core/toastr/index.js +0 -2
  603. package/dist/core/toastr/toaster-host.svelte.d.ts +0 -7
  604. package/dist/core/toastr/toaster-host.svelte.js +0 -41
  605. package/dist/core/toastr/toastr.scss +0 -66
  606. package/dist/core/toastr/toastr.svelte.d.ts +0 -8
  607. package/dist/core/toastr/toastr.svelte.js +0 -30
  608. package/dist/core/toastr/types.d.ts +0 -16
  609. package/dist/styles/_colors.scss +0 -126
  610. package/dist/styles/_form-group.scss +0 -37
  611. package/dist/styles/_input.scss +0 -100
  612. package/dist/styles/_row.scss +0 -81
  613. package/dist/styles/_theme.scss +0 -68
  614. package/dist/ui/button/cmp.options-button.svelte +0 -214
  615. package/dist/ui/button/cmp.options-button.svelte.d.ts +0 -38
  616. package/dist/ui/button/resources/button-base.svelte +0 -81
  617. package/dist/ui/button/resources/button-base.svelte.d.ts +0 -13
  618. package/dist/ui/button/resources/button-theme.svelte +0 -335
  619. package/dist/ui/button/resources/button-theme.svelte.d.ts +0 -10
  620. package/dist/ui/button/resources/types.d.ts +0 -2
  621. package/dist/ui/checkbox/cmp.three-state-checkbox.svelte +0 -117
  622. package/dist/ui/checkbox/cmp.three-state-checkbox.svelte.d.ts +0 -37
  623. package/dist/ui/checkbox/types.d.ts +0 -1
  624. package/dist/ui/datetime-picker/cmp.datetime-picker.svelte +0 -292
  625. package/dist/ui/datetime-picker/cmp.datetime-picker.svelte.d.ts +0 -37
  626. package/dist/ui/datetime-picker/datetime-picker-localization.d.ts +0 -5
  627. package/dist/ui/datetime-picker/datetime-picker-localization.js +0 -26
  628. package/dist/ui/datetime-picker/flatpickr-theme.d.ts +0 -1
  629. package/dist/ui/datetime-picker/flatpickr-theme.js +0 -13
  630. package/dist/ui/datetime-picker/index.d.ts +0 -2
  631. package/dist/ui/datetime-picker/index.js +0 -1
  632. package/dist/ui/datetime-picker/types.d.ts +0 -16
  633. package/dist/ui/dialog/dialog-mount.d.ts +0 -3
  634. package/dist/ui/dialog/dialog-mount.js +0 -19
  635. package/dist/ui/dialog/dialogs.svelte.d.ts +0 -16
  636. package/dist/ui/dialog/dialogs.svelte.js +0 -86
  637. package/dist/ui/dropdown/cmp.dropdown-item.svelte +0 -93
  638. package/dist/ui/dropdown/cmp.dropdown-item.svelte.d.ts +0 -32
  639. package/dist/ui/dropdown/cmp.dropdown.svelte +0 -289
  640. package/dist/ui/dropdown/cmp.dropdown.svelte.d.ts +0 -48
  641. package/dist/ui/dropdown/index.d.ts +0 -4
  642. package/dist/ui/dropdown/index.js +0 -3
  643. package/dist/ui/form-group/cmp.form-group-label.svelte +0 -25
  644. package/dist/ui/form-group/cmp.form-group-note.svelte +0 -16
  645. package/dist/ui/form-group/cmp.form-group.svelte +0 -16
  646. package/dist/ui/form-group/index.d.ts +0 -3
  647. package/dist/ui/form-group/index.js +0 -3
  648. package/dist/ui/infinite-scrolling/cmp.infinite-scrolling.svelte +0 -101
  649. package/dist/ui/infinite-scrolling/cmp.infinite-scrolling.svelte.d.ts +0 -25
  650. package/dist/ui/infinite-scrolling/index.d.ts +0 -1
  651. package/dist/ui/infinite-scrolling/index.js +0 -1
  652. package/dist/ui/inputs/index.d.ts +0 -6
  653. package/dist/ui/inputs/index.js +0 -5
  654. package/dist/ui/inputs/input/cmp.input-validatable.svelte +0 -57
  655. package/dist/ui/inputs/input/cmp.input-validatable.svelte.d.ts +0 -57
  656. package/dist/ui/inputs/input/cmp.input.svelte +0 -241
  657. package/dist/ui/inputs/input/cmp.input.svelte.d.ts +0 -61
  658. package/dist/ui/inputs/input/index.d.ts +0 -2
  659. package/dist/ui/inputs/input/index.js +0 -2
  660. package/dist/ui/inputs/input-emoji-picker/cmp.input-emoji-picker.svelte +0 -44
  661. package/dist/ui/inputs/input-emoji-picker/cmp.input-emoji-picker.svelte.d.ts +0 -9
  662. package/dist/ui/inputs/input-emoji-picker/input-emoji-picker-container.d.ts +0 -2
  663. package/dist/ui/inputs/input-emoji-picker/input-emoji-picker-container.js +0 -16
  664. package/dist/ui/inputs/numeral-input/cmp.numeral-input-validatable.svelte +0 -55
  665. package/dist/ui/inputs/numeral-input/cmp.numeral-input-validatable.svelte.d.ts +0 -62
  666. package/dist/ui/inputs/numeral-input/cmp.numeral-input.svelte +0 -254
  667. package/dist/ui/inputs/numeral-input/cmp.numeral-input.svelte.d.ts +0 -66
  668. package/dist/ui/inputs/numeral-input/index.d.ts +0 -2
  669. package/dist/ui/inputs/numeral-input/index.js +0 -2
  670. package/dist/ui/inputs/pin-input/cmp.pin-input.svelte +0 -58
  671. package/dist/ui/inputs/pin-input/cmp.pin-input.svelte.d.ts +0 -23
  672. package/dist/ui/inputs/pin-input/pin-input-generator.d.ts +0 -27
  673. package/dist/ui/inputs/pin-input/pin-input-generator.js +0 -114
  674. package/dist/ui/inputs/rich-text-input/cmp.rich-text-input.svelte +0 -55
  675. package/dist/ui/inputs/rich-text-input/cmp.rich-text-input.svelte.d.ts +0 -43
  676. package/dist/ui/inputs/rich-text-input/tinymce-input.svelte +0 -252
  677. package/dist/ui/inputs/rich-text-input/tinymce-input.svelte.d.ts +0 -25
  678. package/dist/ui/inputs/rich-text-input/tinymce.declarations.d.ts +0 -7
  679. package/dist/ui/inputs/textarea/cmp.textarea-validatable.svelte +0 -35
  680. package/dist/ui/inputs/textarea/cmp.textarea-validatable.svelte.d.ts +0 -54
  681. package/dist/ui/inputs/textarea/cmp.textarea.svelte +0 -249
  682. package/dist/ui/inputs/textarea/cmp.textarea.svelte.d.ts +0 -58
  683. package/dist/ui/inputs/textarea/index.d.ts +0 -2
  684. package/dist/ui/inputs/textarea/index.js +0 -2
  685. package/dist/ui/loading/cmp.loading.svelte +0 -93
  686. package/dist/ui/loading/cmp.loading.svelte.d.ts +0 -22
  687. package/dist/ui/loading/index.d.ts +0 -1
  688. package/dist/ui/loading/index.js +0 -1
  689. package/dist/ui/multiselect-dropdown/cmp.checkbox-node.svelte +0 -76
  690. package/dist/ui/multiselect-dropdown/cmp.checkbox-node.svelte.d.ts +0 -14
  691. package/dist/ui/multiselect-dropdown/cmp.multiselect-dropdown.svelte +0 -276
  692. package/dist/ui/multiselect-dropdown/cmp.multiselect-dropdown.svelte.d.ts +0 -45
  693. package/dist/ui/multiselect-dropdown/index.d.ts +0 -3
  694. package/dist/ui/multiselect-dropdown/index.js +0 -2
  695. package/dist/ui/multiselect-dropdown/mapper.d.ts +0 -3
  696. package/dist/ui/multiselect-dropdown/mapper.js +0 -39
  697. package/dist/ui/multiselect-dropdown/multiselect-dropdown-localization.d.ts +0 -11
  698. package/dist/ui/multiselect-dropdown/multiselect-dropdown-localization.js +0 -41
  699. package/dist/ui/multiselect-dropdown/types.d.ts +0 -10
  700. package/dist/ui/page-toolbar/cmp.toolbar-button-item.svelte +0 -34
  701. package/dist/ui/page-toolbar/cmp.toolbar-dropdown.svelte +0 -29
  702. package/dist/ui/page-toolbar/cmp.toolbar-dropdown.svelte.d.ts +0 -17
  703. package/dist/ui/placeholder/cmp.placeholder.svelte +0 -65
  704. package/dist/ui/placeholder/cmp.placeholder.svelte.d.ts +0 -19
  705. package/dist/ui/placeholder/index.d.ts +0 -1
  706. package/dist/ui/placeholder/index.js +0 -1
  707. package/dist/ui/selects/_multiselect.scss +0 -282
  708. package/dist/ui/selects/_singleselect.scss +0 -176
  709. package/dist/ui/selects/cmp.multiselect.svelte +0 -531
  710. package/dist/ui/selects/cmp.multiselect.svelte.d.ts +0 -87
  711. package/dist/ui/selects/cmp.search-multiselect.svelte +0 -533
  712. package/dist/ui/selects/cmp.search-multiselect.svelte.d.ts +0 -69
  713. package/dist/ui/selects/cmp.singleselect.svelte +0 -386
  714. package/dist/ui/selects/cmp.singleselect.svelte.d.ts +0 -80
  715. package/dist/ui/selects/index.d.ts +0 -5
  716. package/dist/ui/selects/index.js +0 -4
  717. package/dist/ui/selects/select-localization.d.ts +0 -6
  718. package/dist/ui/selects/select-localization.js +0 -27
  719. package/dist/ui/selects/types.d.ts +0 -29
  720. package/dist/ui/tooltip/types.d.ts +0 -2
  721. package/dist/ui/validatable/_validatable.scss +0 -34
  722. /package/dist/core/{toastr/types.js → files/file-validation-types.js} +0 -0
  723. /package/dist/{ui/button/resources/types.js → core/files/upload-types.js} +0 -0
  724. /package/dist/ui/{checkbox → breadcrumb}/types.js +0 -0
  725. /package/dist/ui/{datetime-picker → button}/types.js +0 -0
  726. /package/dist/ui/{inputs/rich-text-input → chip-group}/types.js +0 -0
  727. /package/dist/ui/{multiselect-dropdown → date-picker}/types.js +0 -0
  728. /package/dist/ui/{selects → drag-and-drop}/types.js +0 -0
  729. /package/dist/ui/{tooltip → grid-card}/types.js +0 -0
  730. /package/dist/ui/{inputs/pin-input → pin-input}/index.d.ts +0 -0
  731. /package/dist/ui/{inputs/pin-input → pin-input}/index.js +0 -0
  732. /package/dist/ui/{inputs/rich-text-input → rich-text-input}/index.d.ts +0 -0
  733. /package/dist/ui/{inputs/rich-text-input → rich-text-input}/index.js +0 -0
  734. /package/dist/ui/{inputs/rich-text-input → rich-text-input}/rich-text-input-localization.d.ts +0 -0
  735. /package/dist/ui/{inputs/rich-text-input → rich-text-input}/types.d.ts +0 -0
@@ -0,0 +1,170 @@
1
+ <script lang="ts">import { Icon } from '../icon';
2
+ import { Image } from '../image';
3
+ import { PlaybackManager } from '../media-playback';
4
+ import { Carousel } from '../player/carousel';
5
+ import { ProportionalContainer } from '../proportional-container';
6
+ import { SeekBar } from '../seek-bar';
7
+ import { default as VideoPlayer } from './cmp.video-player.svelte';
8
+ import IconImageOff from '@fluentui/svg-icons/icons/image_off_20_regular.svg?raw';
9
+ const { items, aspectRatio = 'vertical', objectFit = 'contain', showSeekBar = true, duration } = $props();
10
+ let currentIndex = $state(0);
11
+ let currentTime = $state(0);
12
+ let mediaDuration = $state(NaN);
13
+ let activePlayerId = $state.raw(null);
14
+ const hasPlayable = $derived(items.some((item) => item.playable));
15
+ const isCurrentPlayable = $derived(items[currentIndex]?.playable === true);
16
+ const progress = $derived(mediaDuration ? currentTime / mediaDuration : 0);
17
+ const onPlayerTimeUpdate = (t) => (currentTime = t);
18
+ const onPlayerDurationChange = (d) => (mediaDuration = d);
19
+ const onPlayerActivate = (id) => (activePlayerId = id);
20
+ const normalizedRatio = $derived.by(() => {
21
+ switch (aspectRatio) {
22
+ case 'vertical':
23
+ return 9 / 16;
24
+ case 'square':
25
+ return 1;
26
+ case 'horizontal':
27
+ return 16 / 9;
28
+ }
29
+ });
30
+ const onSeek = (value) => {
31
+ if (isNaN(mediaDuration)) {
32
+ return;
33
+ }
34
+ currentTime = value * mediaDuration;
35
+ if (activePlayerId) {
36
+ PlaybackManager.seek(activePlayerId, currentTime);
37
+ }
38
+ };
39
+ const onCarouselIndexChanged = (index) => {
40
+ currentIndex = index;
41
+ activePlayerId = null;
42
+ };
43
+ </script>
44
+
45
+ <div class="grid-card-media" class:grid-card-media--contain={objectFit === 'contain'} class:grid-card-media--cover={objectFit === 'cover'}>
46
+ <ProportionalContainer ratio={normalizedRatio}>
47
+ {#if items.length === 0}
48
+ <div class="grid-card-media__empty">
49
+ <Icon src={IconImageOff} color="on-accent" />
50
+ </div>
51
+ {:else if items.length === 1}
52
+ {#if items[0].playable}
53
+ <VideoPlayer
54
+ src={items[0].url}
55
+ active={true}
56
+ on={{ timeUpdate: onPlayerTimeUpdate, durationChange: onPlayerDurationChange, activate: onPlayerActivate }} />
57
+ {:else}
58
+ <Image src={items[0].url} showStubOnError={true} />
59
+ {/if}
60
+ {:else}
61
+ <div class="grid-card-media__carousel">
62
+ <Carousel items={items} mode="arrows-with-counts" initialIndex={0} on={{ indexChanged: onCarouselIndexChanged }}>
63
+ {#snippet children(item)}
64
+ <div class="grid-card-media__slide">
65
+ {#if item.playable}
66
+ <VideoPlayer
67
+ src={item.url}
68
+ active={item === items[currentIndex]}
69
+ on={{ timeUpdate: onPlayerTimeUpdate, durationChange: onPlayerDurationChange, activate: onPlayerActivate }} />
70
+ {:else}
71
+ <Image src={item.url} showStubOnError={true} />
72
+ {/if}
73
+ </div>
74
+ {/snippet}
75
+ </Carousel>
76
+ </div>
77
+ {/if}
78
+
79
+ {#if duration}
80
+ <span class="grid-card-media__duration">{duration}</span>
81
+ {/if}
82
+ </ProportionalContainer>
83
+ </div>
84
+
85
+ {#if showSeekBar && hasPlayable}
86
+ <div class="seek-bar-section">
87
+ <div class="seek-bar-section__content">
88
+ <div class="seek-bar-section__bar" class:seek-bar-section__bar--hidden={!isCurrentPlayable}>
89
+ <SeekBar value={progress} on={{ seek: onSeek }} />
90
+ </div>
91
+ </div>
92
+ </div>
93
+ {/if}
94
+
95
+ <!--
96
+ @component
97
+ Media slot for `GridCard`. Renders an empty placeholder, a single `Image` / `VideoPlayer`, or
98
+ a `Carousel` of mixed image / video items. Seek-bar appears below the media when any item is
99
+ playable; in a carousel it's hidden via `visibility: hidden` when the current slide is an
100
+ image (preserves card height). Optional `duration` overlay renders bottom-right.
101
+
102
+ ### CSS Custom Properties
103
+ | Property | Description | Default |
104
+ |---|---|---|
105
+ | `--sc-kit--grid-card--media--object-fit` | Object-fit forwarded to image / video | `contain` (per `objectFit` prop) |
106
+ -->
107
+
108
+ <style>.grid-card-media {
109
+ width: 100%;
110
+ margin-bottom: 0.5rem;
111
+ }
112
+ .grid-card-media--contain {
113
+ --sc-kit--image--object-fit: contain;
114
+ --sc-kit--grid-card--media--object-fit: contain;
115
+ }
116
+ .grid-card-media--cover {
117
+ --sc-kit--image--object-fit: cover;
118
+ --sc-kit--grid-card--media--object-fit: cover;
119
+ }
120
+ .grid-card-media__empty {
121
+ width: 100%;
122
+ height: 100%;
123
+ display: flex;
124
+ justify-content: center;
125
+ align-items: center;
126
+ background: var(--sc-kit--color--bg--images);
127
+ --sc-kit--icon--size: 1.5rem;
128
+ }
129
+ .grid-card-media__carousel {
130
+ display: contents;
131
+ --sc-kit--carousel--button-color: light-dark(rgba(255, 255, 255, 0.7), rgba(255, 255, 255, 0.2));
132
+ --sc-kit--carousel--text-color: var(--sc-kit--color--text--primary);
133
+ --sc-kit--carousel--navigation-button--size: 1.625rem;
134
+ --sc-kit--carousel--counts--text-shadow: 0 1px 2px rgba(0, 0, 0, 0.8), 0 0 2px rgba(0, 0, 0, 0.6);
135
+ --sc-kit--carousel--counts--font-size: 0.75rem;
136
+ --sc-kit--carousel--counts--width: 3.75rem;
137
+ }
138
+ .grid-card-media__slide {
139
+ width: 100%;
140
+ height: 100%;
141
+ background-color: light-dark(#ffffff, #000000);
142
+ }
143
+ .grid-card-media__duration {
144
+ position: absolute;
145
+ bottom: 0.5rem;
146
+ right: 0.5rem;
147
+ background: light-dark(rgba(255, 255, 255, 0.9), rgba(0, 0, 0, 0.7));
148
+ color: var(--sc-kit--color--text--secondary);
149
+ padding: 0.125rem 0.375rem;
150
+ border-radius: 0.125rem;
151
+ font-size: 0.75rem;
152
+ font-weight: var(--sc-kit--font-weight--medium);
153
+ line-height: var(--sc-kit--leading--normal);
154
+ z-index: 1;
155
+ }
156
+
157
+ .seek-bar-section__content {
158
+ display: flex;
159
+ align-items: center;
160
+ width: 100%;
161
+ background: var(--sc-kit--color--bg--panel);
162
+ padding: 1px 0.5rem;
163
+ border-radius: 0.125rem;
164
+ }
165
+ .seek-bar-section__bar {
166
+ width: 100%;
167
+ }
168
+ .seek-bar-section__bar--hidden {
169
+ visibility: hidden;
170
+ }</style>
@@ -0,0 +1,30 @@
1
+ import type { AspectRatio, ObjectFit } from './types';
2
+ export type MediaItem = {
3
+ url: string;
4
+ playable?: boolean;
5
+ };
6
+ type Props = {
7
+ items: MediaItem[];
8
+ /** @default 'vertical' */
9
+ aspectRatio?: AspectRatio;
10
+ /** @default 'contain' */
11
+ objectFit?: ObjectFit;
12
+ /** @default true */
13
+ showSeekBar?: boolean;
14
+ /** Optional duration badge rendered as an overlay at the bottom-right of the media. */
15
+ duration?: string;
16
+ };
17
+ /**
18
+ * Media slot for `GridCard`. Renders an empty placeholder, a single `Image` / `VideoPlayer`, or
19
+ * a `Carousel` of mixed image / video items. Seek-bar appears below the media when any item is
20
+ * playable; in a carousel it's hidden via `visibility: hidden` when the current slide is an
21
+ * image (preserves card height). Optional `duration` overlay renders bottom-right.
22
+ *
23
+ * ### CSS Custom Properties
24
+ * | Property | Description | Default |
25
+ * |---|---|---|
26
+ * | `--sc-kit--grid-card--media--object-fit` | Object-fit forwarded to image / video | `contain` (per `objectFit` prop) |
27
+ */
28
+ declare const Cmp: import("svelte").Component<Props, {}, "">;
29
+ type Cmp = ReturnType<typeof Cmp>;
30
+ export default Cmp;
@@ -0,0 +1,111 @@
1
+ <script lang="ts">import { Icon } from '../icon';
2
+ import IconCheckboxChecked from './icon-checkbox-checked.svg?raw';
3
+ import IconCheckboxUnchecked from './icon-checkbox-unchecked.svg?raw';
4
+ const { selected, children, on } = $props();
5
+ const interactive = $derived(!!on?.activate);
6
+ const onCheckboxClick = (e) => {
7
+ e.stopPropagation();
8
+ on?.select?.(!selected);
9
+ };
10
+ const onCardKeydown = (e) => {
11
+ if (!on?.activate) {
12
+ return;
13
+ }
14
+ if (e.key === 'Enter' || e.key === ' ') {
15
+ e.preventDefault();
16
+ on.activate();
17
+ }
18
+ };
19
+ </script>
20
+
21
+ <div class="grid-card-container">
22
+ <!-- role="button" + onkeydown for Enter/Space make this interactive; the conditional confuses the lint, so we suppress. -->
23
+ <!-- svelte-ignore a11y_no_noninteractive_tabindex -->
24
+ <div
25
+ class="grid-card"
26
+ class:grid-card--interactive={interactive}
27
+ role={interactive ? 'button' : undefined}
28
+ tabindex={interactive ? 0 : undefined}
29
+ onclick={() => on?.activate?.()}
30
+ onkeydown={onCardKeydown}>
31
+ {@render children()}
32
+ {#if selected || on?.select}
33
+ <button type="button" class="grid-card__checkbox" class:grid-card__checkbox--checked={selected} onclick={onCheckboxClick} aria-pressed={selected}>
34
+ <Icon src={selected ? IconCheckboxChecked : IconCheckboxUnchecked} />
35
+ </button>
36
+ {/if}
37
+ </div>
38
+ </div>
39
+
40
+ <!--
41
+ @component
42
+ Media-first grid card primitive for catalog / browser views (ads, products, content lists,
43
+ short-videos). Composable: media in the top slot via `<GridCardMedia>`, key-value rows via
44
+ `<GridCardFields>` containing `<GridCardField>` / `<GridCardTextField>` / `<GridCardIdField>` /
45
+ `<GridCardBadgeField>` / `<GridCardProgressField>` / `<GridCardActionsField>`.
46
+
47
+ Selection: pass `selected` (and `on.select`) to render a checkbox at top-left. Whole-card
48
+ activation: pass `on.activate` to make the root a keyboard-accessible button (Enter / Space).
49
+ Inner interactive elements stop event propagation so they don't double-fire activation.
50
+
51
+ ### CSS Custom Properties
52
+ | Property | Description | Default |
53
+ |---|---|---|
54
+ | `--sc-kit--grid-card--background` | Card background | `var(--sc-kit--color--bg--element)` |
55
+ | `--sc-kit--grid-card--padding` | Inner padding (container-query responsive) | `clamp(4px, 8cqi, 8px)` |
56
+ | `--sc-kit--grid-card--gap` | Gap between media and fields | `4px` |
57
+ | `--sc-kit--grid-card--border-radius` | Card border radius | `4px` |
58
+ | `--sc-kit--grid-card--checkbox--color` | Checkbox icon color (unchecked) | `var(--sc-kit--color--text--muted)` |
59
+ | `--sc-kit--grid-card--checkbox--color--checked` | Checkbox icon color (checked) | `var(--sc-kit--color--accent)` |
60
+ -->
61
+
62
+ <style>.grid-card-container {
63
+ container-type: inline-size;
64
+ width: 100%;
65
+ height: 100%;
66
+ }
67
+
68
+ .grid-card {
69
+ --_grid-card--background: var(--sc-kit--grid-card--background, var(--sc-kit--color--bg--element));
70
+ --_grid-card--padding: var(--sc-kit--grid-card--padding, clamp(0.25rem, 3.6cqi, 0.5rem));
71
+ --_grid-card--gap: var(--sc-kit--grid-card--gap, 0.25rem);
72
+ --_grid-card--border-radius: var(--sc-kit--grid-card--border-radius, 0.25rem);
73
+ --_grid-card--checkbox-color: var(--sc-kit--grid-card--checkbox--color, var(--sc-kit--color--text--muted));
74
+ --_grid-card--checkbox-color-checked: var(--sc-kit--grid-card--checkbox--color--checked, var(--sc-kit--color--accent));
75
+ position: relative;
76
+ width: 100%;
77
+ height: 100%;
78
+ border-radius: var(--_grid-card--border-radius);
79
+ background: var(--_grid-card--background);
80
+ padding: var(--_grid-card--padding);
81
+ display: flex;
82
+ flex-direction: column;
83
+ gap: var(--_grid-card--gap);
84
+ transition: box-shadow var(--sc-kit--duration--base) var(--sc-kit--ease--default);
85
+ }
86
+ .grid-card--interactive {
87
+ cursor: pointer;
88
+ }
89
+ .grid-card--interactive:hover {
90
+ box-shadow: 0 4px 12px light-dark(rgba(0, 0, 0, 0.08), rgba(255, 255, 255, 0.08));
91
+ }
92
+ .grid-card--interactive:focus-visible {
93
+ outline: 2px solid var(--sc-kit--color--border--focus);
94
+ outline-offset: 2px;
95
+ }
96
+ .grid-card__checkbox {
97
+ position: absolute;
98
+ top: 0.5rem;
99
+ left: 0.5rem;
100
+ z-index: 10;
101
+ padding: 0;
102
+ border: none;
103
+ background: none;
104
+ cursor: pointer;
105
+ line-height: 0;
106
+ --sc-kit--icon--size: 1.5rem;
107
+ --sc-kit--icon--color: var(--_grid-card--checkbox-color);
108
+ }
109
+ .grid-card__checkbox--checked {
110
+ --sc-kit--icon--color: var(--_grid-card--checkbox-color-checked);
111
+ }</style>
@@ -0,0 +1,39 @@
1
+ import type { Snippet } from 'svelte';
2
+ type Props = {
3
+ selected?: boolean;
4
+ children: Snippet;
5
+ on?: {
6
+ /** Fires on checkbox click. Render the checkbox by either setting `selected` or wiring `select`. */
7
+ select?: (value: boolean) => void;
8
+ /**
9
+ * Fires on whole-card activation: click on the card surface OR Enter/Space when focused.
10
+ * When set, the card root becomes `role="button"` + `tabindex="0"` for keyboard a11y.
11
+ * Inner interactive elements (checkbox, buttons inside fields) stopPropagation so they
12
+ * don't double-fire `activate`.
13
+ */
14
+ activate?: () => void;
15
+ };
16
+ };
17
+ /**
18
+ * Media-first grid card primitive for catalog / browser views (ads, products, content lists,
19
+ * short-videos). Composable: media in the top slot via `<GridCardMedia>`, key-value rows via
20
+ * `<GridCardFields>` containing `<GridCardField>` / `<GridCardTextField>` / `<GridCardIdField>` /
21
+ * `<GridCardBadgeField>` / `<GridCardProgressField>` / `<GridCardActionsField>`.
22
+ *
23
+ * Selection: pass `selected` (and `on.select`) to render a checkbox at top-left. Whole-card
24
+ * activation: pass `on.activate` to make the root a keyboard-accessible button (Enter / Space).
25
+ * Inner interactive elements stop event propagation so they don't double-fire activation.
26
+ *
27
+ * ### CSS Custom Properties
28
+ * | Property | Description | Default |
29
+ * |---|---|---|
30
+ * | `--sc-kit--grid-card--background` | Card background | `var(--sc-kit--color--bg--element)` |
31
+ * | `--sc-kit--grid-card--padding` | Inner padding (container-query responsive) | `clamp(4px, 8cqi, 8px)` |
32
+ * | `--sc-kit--grid-card--gap` | Gap between media and fields | `4px` |
33
+ * | `--sc-kit--grid-card--border-radius` | Card border radius | `4px` |
34
+ * | `--sc-kit--grid-card--checkbox--color` | Checkbox icon color (unchecked) | `var(--sc-kit--color--text--muted)` |
35
+ * | `--sc-kit--grid-card--checkbox--color--checked` | Checkbox icon color (checked) | `var(--sc-kit--color--accent)` |
36
+ */
37
+ declare const Cmp: import("svelte").Component<Props, {}, "">;
38
+ type Cmp = ReturnType<typeof Cmp>;
39
+ export default Cmp;
@@ -0,0 +1,196 @@
1
+ <script lang="ts">import { randomNanoid } from '../../core/utils';
2
+ import { Icon } from '../icon';
3
+ import { PlaybackManager } from '../media-playback';
4
+ import IconPause from '@fluentui/svg-icons/icons/pause_20_regular.svg?raw';
5
+ import IconPlay from '@fluentui/svg-icons/icons/play_20_regular.svg?raw';
6
+ import { untrack } from 'svelte';
7
+ const { src, active, on } = $props();
8
+ const id = randomNanoid();
9
+ let videoEl = $state(null);
10
+ let currentTime = $state(0);
11
+ let duration = $state(NaN);
12
+ let isPlaying = $state(false);
13
+ // Seek requested before metadata loaded — applied on `loadedmetadata`. Some browsers
14
+ // silently drop currentTime writes before HAVE_METADATA (readyState < 1).
15
+ let pendingSeekTime = null;
16
+ // Register with the global PlaybackManager so only one player runs at a time.
17
+ $effect(() => untrack(() => {
18
+ PlaybackManager.registerMountedPlayer(id, {
19
+ onPlay: () => setPlaying(true),
20
+ onPause: () => setPlaying(false),
21
+ onStop: () => {
22
+ setPlaying(false);
23
+ currentTime = 0;
24
+ },
25
+ onSeek: (time) => seekTo(time)
26
+ });
27
+ return () => PlaybackManager.unregisterPlayer(id);
28
+ }));
29
+ $effect(() => {
30
+ if (isPlaying) {
31
+ PlaybackManager.setPlayingComponent(id);
32
+ }
33
+ });
34
+ // Re-publish state when the parent flips us to active (e.g. carousel slide change). Native
35
+ // `durationchange` only fires once on metadata load, so this is how a parent recovers the
36
+ // already-known duration after navigation.
37
+ $effect(() => {
38
+ if (active && videoEl) {
39
+ on?.activate?.(id);
40
+ if (!isNaN(videoEl.duration)) {
41
+ on?.durationChange?.(videoEl.duration);
42
+ }
43
+ on?.timeUpdate?.(videoEl.currentTime);
44
+ }
45
+ });
46
+ $effect(() => {
47
+ if (!videoEl) {
48
+ return;
49
+ }
50
+ if (isPlaying) {
51
+ const el = videoEl;
52
+ void (async () => {
53
+ try {
54
+ await el.play();
55
+ }
56
+ catch {
57
+ setPlaying(false);
58
+ }
59
+ })();
60
+ }
61
+ else {
62
+ videoEl.pause();
63
+ }
64
+ });
65
+ const setPlaying = (value) => {
66
+ isPlaying = value;
67
+ };
68
+ const formatTime = (seconds) => {
69
+ if (isNaN(seconds) || seconds < 0) {
70
+ return '00:00';
71
+ }
72
+ const minutes = Math.floor(seconds / 60);
73
+ const remainingSeconds = Math.floor(seconds % 60);
74
+ return `${minutes.toString().padStart(2, '0')}:${remainingSeconds.toString().padStart(2, '0')}`;
75
+ };
76
+ const togglePlay = () => setPlaying(!isPlaying);
77
+ const onTimeUpdate = () => {
78
+ if (!videoEl) {
79
+ return;
80
+ }
81
+ currentTime = videoEl.currentTime;
82
+ on?.timeUpdate?.(currentTime);
83
+ };
84
+ const onDurationChange = () => {
85
+ if (!videoEl) {
86
+ return;
87
+ }
88
+ duration = videoEl.duration;
89
+ on?.durationChange?.(duration);
90
+ };
91
+ const onLoadedMetadata = () => {
92
+ if (!videoEl) {
93
+ return;
94
+ }
95
+ if (pendingSeekTime !== null) {
96
+ videoEl.currentTime = pendingSeekTime;
97
+ pendingSeekTime = null;
98
+ }
99
+ };
100
+ export const seekTo = (time) => {
101
+ if (!videoEl) {
102
+ return;
103
+ }
104
+ // HAVE_METADATA = 1; before that, currentTime writes can be dropped silently.
105
+ if (videoEl.readyState >= 1) {
106
+ videoEl.currentTime = time;
107
+ }
108
+ else {
109
+ pendingSeekTime = time;
110
+ }
111
+ };
112
+ </script>
113
+
114
+ <div class="video-player">
115
+ <video
116
+ bind:this={videoEl}
117
+ src={src}
118
+ controls={false}
119
+ preload="auto"
120
+ ontimeupdate={onTimeUpdate}
121
+ ondurationchange={onDurationChange}
122
+ onloadedmetadata={onLoadedMetadata}
123
+ onplay={() => setPlaying(true)}
124
+ onpause={() => setPlaying(false)}
125
+ onended={() => setPlaying(false)}
126
+ onclick={togglePlay}>
127
+ <track kind="captions" />
128
+ </video>
129
+
130
+ <button
131
+ type="button"
132
+ class="video-player__control-button"
133
+ class:is-playing={isPlaying}
134
+ onmousedown={(e) => e.preventDefault()}
135
+ onclick={(e) => {
136
+ e.stopPropagation();
137
+ togglePlay();
138
+ }}>
139
+ <Icon src={isPlaying ? IconPause : IconPlay} color="on-accent" />
140
+ </button>
141
+
142
+ <div class="video-player__duration">{formatTime(duration - currentTime)}</div>
143
+ </div>
144
+
145
+ <!--
146
+ @component
147
+ Internal video player used by `GridCardMedia` for a single playable media item. Integrates
148
+ with the global `PlaybackManager` so only one player can play at a time. Exposes `seekTo(t)`
149
+ via `bind:this` for parent seek-bar sync. Not exported standalone — use `GridCardMedia`.
150
+ -->
151
+
152
+ <style>.video-player {
153
+ --_video-player--object-fit: var(--sc-kit--grid-card--media--object-fit, contain);
154
+ position: relative;
155
+ width: 100%;
156
+ height: 100%;
157
+ overflow: hidden;
158
+ }
159
+ .video-player video {
160
+ width: 100%;
161
+ height: 100%;
162
+ object-fit: var(--_video-player--object-fit);
163
+ }
164
+ .video-player__control-button {
165
+ position: absolute;
166
+ top: 50%;
167
+ left: 50%;
168
+ transform: translate(-50%, -50%);
169
+ padding: 0;
170
+ border: none;
171
+ background: none;
172
+ cursor: pointer;
173
+ --sc-kit--icon--filter: drop-shadow(1px 1px black);
174
+ transition: opacity var(--sc-kit--duration--base) var(--sc-kit--ease--default);
175
+ }
176
+ .video-player__control-button.is-playing {
177
+ opacity: 0;
178
+ }
179
+ .video-player__control-button.is-playing:focus {
180
+ opacity: 1;
181
+ }
182
+ .video-player:hover .video-player__control-button.is-playing {
183
+ opacity: 1;
184
+ }
185
+ .video-player__duration {
186
+ position: absolute;
187
+ bottom: 0.5rem;
188
+ right: 0.5rem;
189
+ background: light-dark(rgba(255, 255, 255, 0.9), rgba(0, 0, 0, 0.7));
190
+ color: var(--sc-kit--color--text--secondary);
191
+ padding: 0.125rem 0.375rem;
192
+ border-radius: 0.125rem;
193
+ font-size: 0.75rem;
194
+ font-weight: var(--sc-kit--font-weight--medium);
195
+ line-height: var(--sc-kit--leading--normal);
196
+ }</style>
@@ -0,0 +1,26 @@
1
+ type Props = {
2
+ src: string;
3
+ /**
4
+ * When `true`, the player re-publishes its current `currentTime` / `duration` upward via
5
+ * `on.timeUpdate` / `on.durationChange` so the parent can read this slide's state on
6
+ * carousel navigation. Native HTML5 `durationchange` only fires once on metadata load,
7
+ * so the parent can't recover those values just from native events.
8
+ */
9
+ active?: boolean;
10
+ on?: {
11
+ timeUpdate?: (currentTime: number) => void;
12
+ durationChange?: (duration: number) => void;
13
+ /** Fires when `active` flips true. Carries this player's stable id so parent can route seeks. */
14
+ activate?: (id: string) => void;
15
+ };
16
+ };
17
+ /**
18
+ * Internal video player used by `GridCardMedia` for a single playable media item. Integrates
19
+ * with the global `PlaybackManager` so only one player can play at a time. Exposes `seekTo(t)`
20
+ * via `bind:this` for parent seek-bar sync. Not exported standalone — use `GridCardMedia`.
21
+ */
22
+ declare const Cmp: import("svelte").Component<Props, {
23
+ seekTo: (time: number) => void;
24
+ }, "">;
25
+ type Cmp = ReturnType<typeof Cmp>;
26
+ export default Cmp;
@@ -0,0 +1,25 @@
1
+ <script lang="ts">import GridCardButton from './cmp.grid-card-button.svelte';
2
+ import GridCardField from './cmp.grid-card-field.svelte';
3
+ const { label, actions } = $props();
4
+ </script>
5
+
6
+ <GridCardField label={label}>
7
+ <div class="grid-card-actions-field">
8
+ {#each actions as action (action)}
9
+ <GridCardButton icon={action.icon} text={action.text} on={action.on} />
10
+ {/each}
11
+ </div>
12
+ </GridCardField>
13
+
14
+ <!--
15
+ @component
16
+ Row of compact action buttons (edit, delete, etc.) for `GridCard`. Each `action` carries an
17
+ icon + optional text + click handler; buttons stop propagation so they don't fire whole-card
18
+ activation.
19
+ -->
20
+
21
+ <style>.grid-card-actions-field {
22
+ display: flex;
23
+ flex-wrap: nowrap;
24
+ gap: 0.25rem;
25
+ }</style>
@@ -0,0 +1,21 @@
1
+ import type { IconProp } from '../../icon';
2
+ export type GridCardAction = {
3
+ /** Use the `{ src, color }` object form to tint the icon (e.g. `'danger'` for delete) without coloring the whole button. */
4
+ icon: IconProp;
5
+ text?: string;
6
+ on: {
7
+ click: (e: MouseEvent) => void;
8
+ };
9
+ };
10
+ type Props = {
11
+ label: string;
12
+ actions: GridCardAction[];
13
+ };
14
+ /**
15
+ * Row of compact action buttons (edit, delete, etc.) for `GridCard`. Each `action` carries an
16
+ * icon + optional text + click handler; buttons stop propagation so they don't fire whole-card
17
+ * activation.
18
+ */
19
+ declare const Cmp: import("svelte").Component<Props, {}, "">;
20
+ type Cmp = ReturnType<typeof Cmp>;
21
+ export default Cmp;
@@ -0,0 +1,28 @@
1
+ <script lang="ts">import { Badge } from '../../badge';
2
+ import { IconSlot } from '../../icon';
3
+ import GridCardField from './cmp.grid-card-field.svelte';
4
+ const { label, text, variant = 'neutral', style = 'soft', icon } = $props();
5
+ </script>
6
+
7
+ <GridCardField label={label}>
8
+ <Badge variant={variant} style={style} size="sm">
9
+ {#if icon}
10
+ <span class="grid-card-badge-field__icon" aria-hidden="true"><IconSlot icon={icon} /></span>
11
+ {/if}
12
+ {text}
13
+ </Badge>
14
+ </GridCardField>
15
+
16
+ <!--
17
+ @component
18
+ Status badge row. Wraps a kit `<Badge>` with optional leading icon (SVG string or snippet)
19
+ inside a `<GridCardField>` so it aligns with text rows. Use for content status, asset state,
20
+ plan / tier indicators, etc.
21
+ -->
22
+
23
+ <style>.grid-card-badge-field__icon {
24
+ display: inline-flex;
25
+ align-items: center;
26
+ --sc-kit--icon--size: 0.875em;
27
+ --sc-kit--icon--color: currentColor;
28
+ }</style>
@@ -0,0 +1,20 @@
1
+ import type { BadgeVariant } from '../../badge';
2
+ import { type IconProp } from '../../icon';
3
+ type Props = {
4
+ label: string;
5
+ text: string;
6
+ /** Badge color variant. @default 'neutral' */
7
+ variant?: BadgeVariant;
8
+ /** @default 'soft' */
9
+ style?: 'soft' | 'solid';
10
+ /** Optional leading icon rendered inside the badge. */
11
+ icon?: IconProp;
12
+ };
13
+ /**
14
+ * Status badge row. Wraps a kit `<Badge>` with optional leading icon (SVG string or snippet)
15
+ * inside a `<GridCardField>` so it aligns with text rows. Use for content status, asset state,
16
+ * plan / tier indicators, etc.
17
+ */
18
+ declare const Cmp: import("svelte").Component<Props, {}, "">;
19
+ type Cmp = ReturnType<typeof Cmp>;
20
+ export default Cmp;