snice 1.14.2 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (311) hide show
  1. package/bin/templates/base/tsconfig.json +5 -4
  2. package/components/accordion/demo.html +403 -0
  3. package/components/alert/demo.html +445 -0
  4. package/components/avatar/demo.html +598 -0
  5. package/components/badge/demo.html +523 -0
  6. package/components/breadcrumbs/demo.html +404 -0
  7. package/components/button/demo.html +42 -0
  8. package/components/card/demo.html +525 -0
  9. package/components/checkbox/demo.html +253 -0
  10. package/components/chip/demo.html +383 -0
  11. package/components/date-picker/demo.html +191 -0
  12. package/components/divider/demo.html +233 -0
  13. package/components/drawer/demo.html +328 -0
  14. package/components/input/demo.html +303 -0
  15. package/components/input/test.html +77 -0
  16. package/components/layout/demo.html +538 -0
  17. package/components/login/demo-auth-controller.ts +185 -0
  18. package/components/login/demo.html +470 -0
  19. package/components/login/snice-login.ts +2 -2
  20. package/components/modal/demo.html +291 -0
  21. package/components/pagination/demo.html +395 -0
  22. package/components/progress/demo.html +510 -0
  23. package/components/radio/demo.html +287 -0
  24. package/components/select/demo.html +511 -0
  25. package/components/skeleton/demo.html +514 -0
  26. package/components/switch/demo.html +284 -0
  27. package/components/table/demo-table-controller.ts +100 -0
  28. package/components/table/demo.html +480 -0
  29. package/components/table/snice-table.ts +2 -2
  30. package/components/tabs/demo.html +487 -0
  31. package/components/toast/demo.html +329 -0
  32. package/components/tooltip/demo.html +350 -0
  33. package/dist/index.cjs +441 -329
  34. package/dist/index.cjs.map +1 -1
  35. package/dist/index.cjs.min.map +1 -1
  36. package/dist/index.esm.js +441 -329
  37. package/dist/index.esm.js.map +1 -1
  38. package/dist/index.esm.min.js +3 -3
  39. package/dist/index.esm.min.js.map +1 -1
  40. package/dist/index.iife.js +441 -329
  41. package/dist/index.iife.js.map +1 -1
  42. package/dist/index.iife.min.js +3 -3
  43. package/dist/index.iife.min.js.map +1 -1
  44. package/dist/symbols.esm.js +1 -1
  45. package/dist/transitions.esm.js +1 -1
  46. package/dist/types/controller.d.ts +1 -1
  47. package/dist/types/element.d.ts +10 -10
  48. package/dist/types/events.d.ts +2 -2
  49. package/dist/types/index.d.ts +1 -1
  50. package/dist/types/observe.d.ts +1 -1
  51. package/dist/types/request-response.d.ts +2 -3
  52. package/dist/types/router.d.ts +1 -1
  53. package/package.json +9 -10
  54. package/dist/components/accordion/snice-accordion-item.d.ts +0 -25
  55. package/dist/components/accordion/snice-accordion-item.js +0 -260
  56. package/dist/components/accordion/snice-accordion-item.js.map +0 -1
  57. package/dist/components/accordion/snice-accordion.d.ts +0 -28
  58. package/dist/components/accordion/snice-accordion.js +0 -221
  59. package/dist/components/accordion/snice-accordion.js.map +0 -1
  60. package/dist/components/accordion/snice-accordion.types.d.ts +0 -29
  61. package/dist/components/accordion/snice-accordion.types.js +0 -2
  62. package/dist/components/accordion/snice-accordion.types.js.map +0 -1
  63. package/dist/components/alert/snice-alert.d.ts +0 -26
  64. package/dist/components/alert/snice-alert.js +0 -191
  65. package/dist/components/alert/snice-alert.js.map +0 -1
  66. package/dist/components/alert/snice-alert.types.d.ts +0 -11
  67. package/dist/components/alert/snice-alert.types.js +0 -2
  68. package/dist/components/alert/snice-alert.types.js.map +0 -1
  69. package/dist/components/avatar/snice-avatar.d.ts +0 -24
  70. package/dist/components/avatar/snice-avatar.js +0 -177
  71. package/dist/components/avatar/snice-avatar.js.map +0 -1
  72. package/dist/components/avatar/snice-avatar.types.d.ts +0 -12
  73. package/dist/components/avatar/snice-avatar.types.js +0 -2
  74. package/dist/components/avatar/snice-avatar.types.js.map +0 -1
  75. package/dist/components/badge/snice-badge.d.ts +0 -25
  76. package/dist/components/badge/snice-badge.js +0 -157
  77. package/dist/components/badge/snice-badge.js.map +0 -1
  78. package/dist/components/badge/snice-badge.types.d.ts +0 -15
  79. package/dist/components/badge/snice-badge.types.js +0 -2
  80. package/dist/components/badge/snice-badge.types.js.map +0 -1
  81. package/dist/components/breadcrumbs/snice-breadcrumbs.d.ts +0 -27
  82. package/dist/components/breadcrumbs/snice-breadcrumbs.js +0 -212
  83. package/dist/components/breadcrumbs/snice-breadcrumbs.js.map +0 -1
  84. package/dist/components/breadcrumbs/snice-breadcrumbs.types.d.ts +0 -23
  85. package/dist/components/breadcrumbs/snice-breadcrumbs.types.js +0 -2
  86. package/dist/components/breadcrumbs/snice-breadcrumbs.types.js.map +0 -1
  87. package/dist/components/breadcrumbs/snice-crumb.d.ts +0 -9
  88. package/dist/components/breadcrumbs/snice-crumb.js +0 -50
  89. package/dist/components/breadcrumbs/snice-crumb.js.map +0 -1
  90. package/dist/components/button/snice-button.d.ts +0 -32
  91. package/dist/components/button/snice-button.js +0 -212
  92. package/dist/components/button/snice-button.js.map +0 -1
  93. package/dist/components/button/snice-button.types.d.ts +0 -23
  94. package/dist/components/button/snice-button.types.js +0 -2
  95. package/dist/components/button/snice-button.types.js.map +0 -1
  96. package/dist/components/card/snice-card.d.ts +0 -19
  97. package/dist/components/card/snice-card.js +0 -132
  98. package/dist/components/card/snice-card.js.map +0 -1
  99. package/dist/components/card/snice-card.types.d.ts +0 -9
  100. package/dist/components/card/snice-card.types.js +0 -2
  101. package/dist/components/card/snice-card.types.js.map +0 -1
  102. package/dist/components/checkbox/snice-checkbox.d.ts +0 -34
  103. package/dist/components/checkbox/snice-checkbox.js +0 -289
  104. package/dist/components/checkbox/snice-checkbox.js.map +0 -1
  105. package/dist/components/checkbox/snice-checkbox.types.d.ts +0 -20
  106. package/dist/components/checkbox/snice-checkbox.types.js +0 -2
  107. package/dist/components/checkbox/snice-checkbox.types.js.map +0 -1
  108. package/dist/components/chip/snice-chip.d.ts +0 -28
  109. package/dist/components/chip/snice-chip.js +0 -203
  110. package/dist/components/chip/snice-chip.js.map +0 -1
  111. package/dist/components/chip/snice-chip.types.d.ts +0 -14
  112. package/dist/components/chip/snice-chip.types.js +0 -2
  113. package/dist/components/chip/snice-chip.types.js.map +0 -1
  114. package/dist/components/date-picker/snice-date-picker.d.ts +0 -82
  115. package/dist/components/date-picker/snice-date-picker.js +0 -880
  116. package/dist/components/date-picker/snice-date-picker.js.map +0 -1
  117. package/dist/components/date-picker/snice-date-picker.types.d.ts +0 -71
  118. package/dist/components/date-picker/snice-date-picker.types.js +0 -2
  119. package/dist/components/date-picker/snice-date-picker.types.js.map +0 -1
  120. package/dist/components/divider/snice-divider.d.ts +0 -17
  121. package/dist/components/divider/snice-divider.js +0 -111
  122. package/dist/components/divider/snice-divider.js.map +0 -1
  123. package/dist/components/divider/snice-divider.types.d.ts +0 -14
  124. package/dist/components/divider/snice-divider.types.js +0 -2
  125. package/dist/components/divider/snice-divider.types.js.map +0 -1
  126. package/dist/components/drawer/snice-drawer.d.ts +0 -37
  127. package/dist/components/drawer/snice-drawer.js +0 -335
  128. package/dist/components/drawer/snice-drawer.js.map +0 -1
  129. package/dist/components/drawer/snice-drawer.types.d.ts +0 -16
  130. package/dist/components/drawer/snice-drawer.types.js +0 -2
  131. package/dist/components/drawer/snice-drawer.types.js.map +0 -1
  132. package/dist/components/input/snice-input.d.ts +0 -65
  133. package/dist/components/input/snice-input.js +0 -603
  134. package/dist/components/input/snice-input.js.map +0 -1
  135. package/dist/components/input/snice-input.types.d.ts +0 -53
  136. package/dist/components/input/snice-input.types.js +0 -2
  137. package/dist/components/input/snice-input.types.js.map +0 -1
  138. package/dist/components/layout/snice-layout-blog.d.ts +0 -4
  139. package/dist/components/layout/snice-layout-blog.js +0 -56
  140. package/dist/components/layout/snice-layout-blog.js.map +0 -1
  141. package/dist/components/layout/snice-layout-card.d.ts +0 -6
  142. package/dist/components/layout/snice-layout-card.js +0 -53
  143. package/dist/components/layout/snice-layout-card.js.map +0 -1
  144. package/dist/components/layout/snice-layout-centered.d.ts +0 -5
  145. package/dist/components/layout/snice-layout-centered.js +0 -38
  146. package/dist/components/layout/snice-layout-centered.js.map +0 -1
  147. package/dist/components/layout/snice-layout-dashboard.d.ts +0 -4
  148. package/dist/components/layout/snice-layout-dashboard.js +0 -53
  149. package/dist/components/layout/snice-layout-dashboard.js.map +0 -1
  150. package/dist/components/layout/snice-layout-fullscreen.d.ts +0 -5
  151. package/dist/components/layout/snice-layout-fullscreen.js +0 -50
  152. package/dist/components/layout/snice-layout-fullscreen.js.map +0 -1
  153. package/dist/components/layout/snice-layout-landing.d.ts +0 -4
  154. package/dist/components/layout/snice-layout-landing.js +0 -55
  155. package/dist/components/layout/snice-layout-landing.js.map +0 -1
  156. package/dist/components/layout/snice-layout-minimal.d.ts +0 -4
  157. package/dist/components/layout/snice-layout-minimal.js +0 -27
  158. package/dist/components/layout/snice-layout-minimal.js.map +0 -1
  159. package/dist/components/layout/snice-layout-sidebar.d.ts +0 -5
  160. package/dist/components/layout/snice-layout-sidebar.js +0 -64
  161. package/dist/components/layout/snice-layout-sidebar.js.map +0 -1
  162. package/dist/components/layout/snice-layout-split.d.ts +0 -6
  163. package/dist/components/layout/snice-layout-split.js +0 -47
  164. package/dist/components/layout/snice-layout-split.js.map +0 -1
  165. package/dist/components/layout/snice-layout.d.ts +0 -4
  166. package/dist/components/layout/snice-layout.js +0 -43
  167. package/dist/components/layout/snice-layout.js.map +0 -1
  168. package/dist/components/layout/snice-layout.types.d.ts +0 -3
  169. package/dist/components/layout/snice-layout.types.js +0 -2
  170. package/dist/components/layout/snice-layout.types.js.map +0 -1
  171. package/dist/components/login/snice-login.d.ts +0 -45
  172. package/dist/components/login/snice-login.js +0 -385
  173. package/dist/components/login/snice-login.js.map +0 -1
  174. package/dist/components/login/snice-login.types.d.ts +0 -31
  175. package/dist/components/login/snice-login.types.js +0 -2
  176. package/dist/components/login/snice-login.types.js.map +0 -1
  177. package/dist/components/modal/snice-modal.d.ts +0 -32
  178. package/dist/components/modal/snice-modal.js +0 -288
  179. package/dist/components/modal/snice-modal.js.map +0 -1
  180. package/dist/components/modal/snice-modal.types.d.ts +0 -18
  181. package/dist/components/modal/snice-modal.types.js +0 -2
  182. package/dist/components/modal/snice-modal.types.js.map +0 -1
  183. package/dist/components/pagination/snice-pagination.d.ts +0 -26
  184. package/dist/components/pagination/snice-pagination.js +0 -373
  185. package/dist/components/pagination/snice-pagination.js.map +0 -1
  186. package/dist/components/pagination/snice-pagination.types.d.ts +0 -18
  187. package/dist/components/pagination/snice-pagination.types.js +0 -2
  188. package/dist/components/pagination/snice-pagination.types.js.map +0 -1
  189. package/dist/components/progress/snice-progress.d.ts +0 -35
  190. package/dist/components/progress/snice-progress.js +0 -295
  191. package/dist/components/progress/snice-progress.js.map +0 -1
  192. package/dist/components/progress/snice-progress.types.d.ts +0 -18
  193. package/dist/components/progress/snice-progress.types.js +0 -2
  194. package/dist/components/progress/snice-progress.types.js.map +0 -1
  195. package/dist/components/radio/snice-radio.d.ts +0 -33
  196. package/dist/components/radio/snice-radio.js +0 -286
  197. package/dist/components/radio/snice-radio.js.map +0 -1
  198. package/dist/components/radio/snice-radio.types.d.ts +0 -19
  199. package/dist/components/radio/snice-radio.types.js +0 -2
  200. package/dist/components/radio/snice-radio.types.js.map +0 -1
  201. package/dist/components/select/snice-option.d.ts +0 -17
  202. package/dist/components/select/snice-option.js +0 -77
  203. package/dist/components/select/snice-option.js.map +0 -1
  204. package/dist/components/select/snice-option.types.d.ts +0 -14
  205. package/dist/components/select/snice-option.types.js +0 -2
  206. package/dist/components/select/snice-option.types.js.map +0 -1
  207. package/dist/components/select/snice-select.d.ts +0 -89
  208. package/dist/components/select/snice-select.js +0 -900
  209. package/dist/components/select/snice-select.js.map +0 -1
  210. package/dist/components/select/snice-select.types.d.ts +0 -49
  211. package/dist/components/select/snice-select.types.js +0 -2
  212. package/dist/components/select/snice-select.types.js.map +0 -1
  213. package/dist/components/skeleton/snice-skeleton.d.ts +0 -16
  214. package/dist/components/skeleton/snice-skeleton.js +0 -159
  215. package/dist/components/skeleton/snice-skeleton.js.map +0 -1
  216. package/dist/components/skeleton/snice-skeleton.types.d.ts +0 -10
  217. package/dist/components/skeleton/snice-skeleton.types.js +0 -2
  218. package/dist/components/skeleton/snice-skeleton.types.js.map +0 -1
  219. package/dist/components/switch/snice-switch.d.ts +0 -38
  220. package/dist/components/switch/snice-switch.js +0 -309
  221. package/dist/components/switch/snice-switch.js.map +0 -1
  222. package/dist/components/switch/snice-switch.types.d.ts +0 -21
  223. package/dist/components/switch/snice-switch.types.js +0 -2
  224. package/dist/components/switch/snice-switch.types.js.map +0 -1
  225. package/dist/components/symbols.d.ts +0 -1
  226. package/dist/components/symbols.js +0 -20
  227. package/dist/components/symbols.js.map +0 -1
  228. package/dist/components/table/snice-cell-boolean.d.ts +0 -21
  229. package/dist/components/table/snice-cell-boolean.js +0 -152
  230. package/dist/components/table/snice-cell-boolean.js.map +0 -1
  231. package/dist/components/table/snice-cell-date.d.ts +0 -24
  232. package/dist/components/table/snice-cell-date.js +0 -240
  233. package/dist/components/table/snice-cell-date.js.map +0 -1
  234. package/dist/components/table/snice-cell-duration.d.ts +0 -16
  235. package/dist/components/table/snice-cell-duration.js +0 -123
  236. package/dist/components/table/snice-cell-duration.js.map +0 -1
  237. package/dist/components/table/snice-cell-filesize.d.ts +0 -16
  238. package/dist/components/table/snice-cell-filesize.js +0 -119
  239. package/dist/components/table/snice-cell-filesize.js.map +0 -1
  240. package/dist/components/table/snice-cell-number.d.ts +0 -23
  241. package/dist/components/table/snice-cell-number.js +0 -202
  242. package/dist/components/table/snice-cell-number.js.map +0 -1
  243. package/dist/components/table/snice-cell-progress.d.ts +0 -17
  244. package/dist/components/table/snice-cell-progress.js +0 -114
  245. package/dist/components/table/snice-cell-progress.js.map +0 -1
  246. package/dist/components/table/snice-cell-rating.d.ts +0 -17
  247. package/dist/components/table/snice-cell-rating.js +0 -113
  248. package/dist/components/table/snice-cell-rating.js.map +0 -1
  249. package/dist/components/table/snice-cell-sparkline.d.ts +0 -29
  250. package/dist/components/table/snice-cell-sparkline.js +0 -290
  251. package/dist/components/table/snice-cell-sparkline.js.map +0 -1
  252. package/dist/components/table/snice-cell-text.d.ts +0 -19
  253. package/dist/components/table/snice-cell-text.js +0 -153
  254. package/dist/components/table/snice-cell-text.js.map +0 -1
  255. package/dist/components/table/snice-cell.d.ts +0 -32
  256. package/dist/components/table/snice-cell.js +0 -451
  257. package/dist/components/table/snice-cell.js.map +0 -1
  258. package/dist/components/table/snice-column.d.ts +0 -62
  259. package/dist/components/table/snice-column.js +0 -440
  260. package/dist/components/table/snice-column.js.map +0 -1
  261. package/dist/components/table/snice-header.d.ts +0 -33
  262. package/dist/components/table/snice-header.js +0 -303
  263. package/dist/components/table/snice-header.js.map +0 -1
  264. package/dist/components/table/snice-progress.d.ts +0 -10
  265. package/dist/components/table/snice-progress.js +0 -91
  266. package/dist/components/table/snice-progress.js.map +0 -1
  267. package/dist/components/table/snice-rating.d.ts +0 -9
  268. package/dist/components/table/snice-rating.js +0 -68
  269. package/dist/components/table/snice-rating.js.map +0 -1
  270. package/dist/components/table/snice-row.d.ts +0 -43
  271. package/dist/components/table/snice-row.js +0 -365
  272. package/dist/components/table/snice-row.js.map +0 -1
  273. package/dist/components/table/snice-table.d.ts +0 -69
  274. package/dist/components/table/snice-table.js +0 -814
  275. package/dist/components/table/snice-table.js.map +0 -1
  276. package/dist/components/table/snice-table.types.d.ts +0 -137
  277. package/dist/components/table/snice-table.types.js +0 -2
  278. package/dist/components/table/snice-table.types.js.map +0 -1
  279. package/dist/components/tabs/snice-tab-panel.d.ts +0 -12
  280. package/dist/components/tabs/snice-tab-panel.js +0 -78
  281. package/dist/components/tabs/snice-tab-panel.js.map +0 -1
  282. package/dist/components/tabs/snice-tab.d.ts +0 -13
  283. package/dist/components/tabs/snice-tab.js +0 -90
  284. package/dist/components/tabs/snice-tab.js.map +0 -1
  285. package/dist/components/tabs/snice-tabs.d.ts +0 -34
  286. package/dist/components/tabs/snice-tabs.js +0 -367
  287. package/dist/components/tabs/snice-tabs.js.map +0 -1
  288. package/dist/components/tabs/snice-tabs.types.d.ts +0 -23
  289. package/dist/components/tabs/snice-tabs.types.js +0 -2
  290. package/dist/components/tabs/snice-tabs.types.js.map +0 -1
  291. package/dist/components/toast/snice-toast-container.d.ts +0 -25
  292. package/dist/components/toast/snice-toast-container.js +0 -251
  293. package/dist/components/toast/snice-toast-container.js.map +0 -1
  294. package/dist/components/toast/snice-toast.d.ts +0 -23
  295. package/dist/components/toast/snice-toast.js +0 -316
  296. package/dist/components/toast/snice-toast.js.map +0 -1
  297. package/dist/components/toast/snice-toast.types.d.ts +0 -30
  298. package/dist/components/toast/snice-toast.types.js +0 -2
  299. package/dist/components/toast/snice-toast.types.js.map +0 -1
  300. package/dist/components/tooltip/snice-tooltip.d.ts +0 -50
  301. package/dist/components/tooltip/snice-tooltip.js +0 -656
  302. package/dist/components/tooltip/snice-tooltip.js.map +0 -1
  303. package/dist/components/tooltip/snice-tooltip.types.d.ts +0 -18
  304. package/dist/components/tooltip/snice-tooltip.types.js +0 -2
  305. package/dist/components/tooltip/snice-tooltip.types.js.map +0 -1
  306. package/dist/components/transitions.d.ts +0 -11
  307. package/dist/components/transitions.js +0 -69
  308. package/dist/components/transitions.js.map +0 -1
  309. package/dist/index.cjs.min +0 -15
  310. package/dist/symbols.cjs +0 -103
  311. package/dist/transitions.cjs +0 -219
@@ -1,27 +0,0 @@
1
- import type { BreadcrumbItem, BreadcrumbSeparator, BreadcrumbSize, SniceBreadcrumbsElement } from './snice-breadcrumbs.types';
2
- export declare class SniceBreadcrumbs extends HTMLElement implements SniceBreadcrumbsElement {
3
- items: BreadcrumbItem[];
4
- separator: BreadcrumbSeparator;
5
- size: BreadcrumbSize;
6
- maxItems: number;
7
- breadcrumbElement?: HTMLElement;
8
- private collapsed;
9
- private slotItems;
10
- html(): string;
11
- css(): string;
12
- private getAllItems;
13
- private getVisibleItems;
14
- handleEllipsisClick(): void;
15
- handleLinkClick(event: MouseEvent): {
16
- item: BreadcrumbItem;
17
- index: number;
18
- href: string;
19
- label: string;
20
- };
21
- private handleSlotChange;
22
- init(): void;
23
- updateBreadcrumb(): void;
24
- setItems(items: BreadcrumbItem[]): void;
25
- private renderIcon;
26
- private render;
27
- }
@@ -1,212 +0,0 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- var __metadata = (this && this.__metadata) || function (k, v) {
8
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
- };
10
- import { element, property, watch, query, dispatch, on, ready } from 'snice';
11
- import css from './snice-breadcrumbs.css?inline';
12
- let SniceBreadcrumbs = class SniceBreadcrumbs extends HTMLElement {
13
- constructor() {
14
- super(...arguments);
15
- this.items = [];
16
- this.separator = '/';
17
- this.size = 'medium';
18
- this.maxItems = 0;
19
- this.collapsed = true;
20
- this.slotItems = [];
21
- }
22
- html() {
23
- const allItems = this.getAllItems();
24
- const visibleItems = this.getVisibleItems(allItems);
25
- const hasCollapsed = this.maxItems > 0 && allItems.length > this.maxItems && this.collapsed;
26
- return /*html*/ `
27
- <slot style="display: none"></slot>
28
- <nav aria-label="Breadcrumb">
29
- <ol class="breadcrumb ${hasCollapsed ? 'breadcrumb--collapsed' : ''}">
30
- ${visibleItems.map((item, index) => {
31
- const isLast = index === visibleItems.length - 1;
32
- const isActive = item.active || isLast;
33
- const isHidden = hasCollapsed && index > 0 && index < visibleItems.length - 2;
34
- return /*html*/ `
35
- <li class="breadcrumb-item ${isActive ? 'breadcrumb-item--active' : ''} ${isHidden ? 'breadcrumb-item--hidden' : ''}">
36
- ${item.href && !isActive ? /*html*/ `
37
- <a href="${item.href}"
38
- class="breadcrumb-link"
39
- aria-current="${isActive ? 'page' : ''}"
40
- tabindex="0">
41
- ${this.renderIcon(item)}
42
- ${item.label}
43
- </a>
44
- ` : /*html*/ `
45
- <span class="breadcrumb-text"
46
- aria-current="${isActive ? 'page' : ''}">
47
- ${this.renderIcon(item)}
48
- ${item.label}
49
- </span>
50
- `}
51
- ${!isLast ? /*html*/ `
52
- <span class="breadcrumb-separator" aria-hidden="true">
53
- ${this.separator}
54
- </span>
55
- ` : ''}
56
- </li>
57
- ${hasCollapsed && index === 0 && allItems.length > this.maxItems ? /*html*/ `
58
- <li class="breadcrumb-item">
59
- <button class="breadcrumb-ellipsis"
60
- aria-label="Show all breadcrumbs"
61
- tabindex="0">
62
- •••
63
- </button>
64
- <span class="breadcrumb-separator" aria-hidden="true">
65
- ${this.separator}
66
- </span>
67
- </li>
68
- ` : ''}
69
- `;
70
- }).join('')}
71
- </ol>
72
- </nav>
73
- `;
74
- }
75
- css() {
76
- return css;
77
- }
78
- getAllItems() {
79
- // Prefer slot items if available, otherwise use items property
80
- return this.slotItems.length > 0 ? this.slotItems : this.items;
81
- }
82
- getVisibleItems(allItems) {
83
- if (this.maxItems <= 0 || allItems.length <= this.maxItems || !this.collapsed) {
84
- return allItems;
85
- }
86
- // Show first item and last (maxItems - 1) items
87
- const firstItem = allItems[0];
88
- const lastItems = allItems.slice(-(this.maxItems - 1));
89
- return [firstItem, ...lastItems];
90
- }
91
- handleEllipsisClick() {
92
- this.collapsed = false;
93
- this.render();
94
- }
95
- handleLinkClick(event) {
96
- const target = event.target;
97
- const label = target.textContent?.trim() || '';
98
- const href = target.getAttribute('href') || '';
99
- // Find the item index
100
- const allItems = this.getAllItems();
101
- const index = allItems.findIndex(item => item.label === label);
102
- return {
103
- item: allItems[index],
104
- index,
105
- href,
106
- label
107
- };
108
- }
109
- handleSlotChange() {
110
- const slot = this.shadowRoot?.querySelector('slot');
111
- if (!slot)
112
- return;
113
- const crumbs = slot.assignedElements().filter(el => el.tagName.toLowerCase() === 'snice-crumb');
114
- this.slotItems = crumbs.map(crumb => ({
115
- label: crumb.label || crumb.textContent?.trim() || '',
116
- href: crumb.href || undefined,
117
- icon: crumb.icon || undefined,
118
- iconImage: crumb.iconImage || undefined,
119
- active: crumb.active || false
120
- }));
121
- this.render();
122
- }
123
- init() {
124
- // Setup slot change handling
125
- const slot = this.shadowRoot?.querySelector('slot');
126
- if (slot) {
127
- slot.addEventListener('slotchange', () => this.handleSlotChange());
128
- // Initial check for slotted content
129
- this.handleSlotChange();
130
- }
131
- }
132
- updateBreadcrumb() {
133
- this.collapsed = true;
134
- // Only render if not using slot items, otherwise slot change will handle it
135
- if (!this.slotItems || this.slotItems.length === 0) {
136
- this.render();
137
- }
138
- }
139
- setItems(items) {
140
- this.items = items;
141
- }
142
- renderIcon(item) {
143
- return /*html*/ `
144
- <img class="breadcrumb-icon-image" src="${item.iconImage || ''}" alt="" ${item.iconImage ? '' : 'hidden'}>
145
- <span class="breadcrumb-icon" ${item.icon ? '' : 'hidden'}>${item.icon || ''}</span>
146
- `;
147
- }
148
- render() {
149
- const shadow = this.shadowRoot;
150
- if (shadow) {
151
- shadow.innerHTML = '';
152
- if (this.css) {
153
- const style = document.createElement('style');
154
- style.textContent = this.css();
155
- shadow.appendChild(style);
156
- }
157
- const template = document.createElement('template');
158
- template.innerHTML = this.html();
159
- shadow.appendChild(template.content.cloneNode(true));
160
- }
161
- }
162
- };
163
- __decorate([
164
- property({ type: Array }),
165
- __metadata("design:type", Array)
166
- ], SniceBreadcrumbs.prototype, "items", void 0);
167
- __decorate([
168
- property({ reflect: true }),
169
- __metadata("design:type", String)
170
- ], SniceBreadcrumbs.prototype, "separator", void 0);
171
- __decorate([
172
- property({ reflect: true }),
173
- __metadata("design:type", String)
174
- ], SniceBreadcrumbs.prototype, "size", void 0);
175
- __decorate([
176
- property({ type: Number, reflect: true }),
177
- __metadata("design:type", Object)
178
- ], SniceBreadcrumbs.prototype, "maxItems", void 0);
179
- __decorate([
180
- query('.breadcrumb'),
181
- __metadata("design:type", HTMLElement)
182
- ], SniceBreadcrumbs.prototype, "breadcrumbElement", void 0);
183
- __decorate([
184
- on('click', '.breadcrumb-ellipsis'),
185
- __metadata("design:type", Function),
186
- __metadata("design:paramtypes", []),
187
- __metadata("design:returntype", void 0)
188
- ], SniceBreadcrumbs.prototype, "handleEllipsisClick", null);
189
- __decorate([
190
- on('click', '.breadcrumb-link'),
191
- dispatch('breadcrumb-click'),
192
- __metadata("design:type", Function),
193
- __metadata("design:paramtypes", [MouseEvent]),
194
- __metadata("design:returntype", void 0)
195
- ], SniceBreadcrumbs.prototype, "handleLinkClick", null);
196
- __decorate([
197
- ready(),
198
- __metadata("design:type", Function),
199
- __metadata("design:paramtypes", []),
200
- __metadata("design:returntype", void 0)
201
- ], SniceBreadcrumbs.prototype, "init", null);
202
- __decorate([
203
- watch('items', 'separator', 'maxItems'),
204
- __metadata("design:type", Function),
205
- __metadata("design:paramtypes", []),
206
- __metadata("design:returntype", void 0)
207
- ], SniceBreadcrumbs.prototype, "updateBreadcrumb", null);
208
- SniceBreadcrumbs = __decorate([
209
- element('snice-breadcrumbs')
210
- ], SniceBreadcrumbs);
211
- export { SniceBreadcrumbs };
212
- //# sourceMappingURL=snice-breadcrumbs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"snice-breadcrumbs.js","sourceRoot":"","sources":["../../../components/breadcrumbs/snice-breadcrumbs.ts"],"names":[],"mappings":"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"}
@@ -1,23 +0,0 @@
1
- export type BreadcrumbSeparator = '/' | '>' | '»' | '•' | '|';
2
- export type BreadcrumbSize = 'small' | 'medium' | 'large';
3
- export interface BreadcrumbItem {
4
- label: string;
5
- href?: string;
6
- icon?: string;
7
- iconImage?: string;
8
- active?: boolean;
9
- }
10
- export interface SniceBreadcrumbsElement extends HTMLElement {
11
- items: BreadcrumbItem[];
12
- separator: BreadcrumbSeparator;
13
- size: BreadcrumbSize;
14
- maxItems: number;
15
- setItems(items: BreadcrumbItem[]): void;
16
- }
17
- export interface SniceCrumbElement extends HTMLElement {
18
- label: string;
19
- href: string;
20
- icon: string;
21
- iconImage: string;
22
- active: boolean;
23
- }
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=snice-breadcrumbs.types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"snice-breadcrumbs.types.js","sourceRoot":"","sources":["../../../components/breadcrumbs/snice-breadcrumbs.types.ts"],"names":[],"mappings":""}
@@ -1,9 +0,0 @@
1
- import type { SniceCrumbElement } from './snice-breadcrumbs.types';
2
- export declare class SniceCrumb extends HTMLElement implements SniceCrumbElement {
3
- label: string;
4
- href: string;
5
- icon: string;
6
- iconImage: string;
7
- active: boolean;
8
- connectedCallback(): void;
9
- }
@@ -1,50 +0,0 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- var __metadata = (this && this.__metadata) || function (k, v) {
8
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
- };
10
- import { element, property } from 'snice';
11
- let SniceCrumb = class SniceCrumb extends HTMLElement {
12
- constructor() {
13
- super(...arguments);
14
- this.label = '';
15
- this.href = '';
16
- this.icon = '';
17
- this.iconImage = '';
18
- this.active = false;
19
- }
20
- // No shadow DOM - this is a data element
21
- connectedCallback() {
22
- // Hide the element as it's only for data
23
- this.style.display = 'none';
24
- }
25
- };
26
- __decorate([
27
- property({ reflect: true }),
28
- __metadata("design:type", Object)
29
- ], SniceCrumb.prototype, "label", void 0);
30
- __decorate([
31
- property({ reflect: true }),
32
- __metadata("design:type", Object)
33
- ], SniceCrumb.prototype, "href", void 0);
34
- __decorate([
35
- property({ reflect: true }),
36
- __metadata("design:type", Object)
37
- ], SniceCrumb.prototype, "icon", void 0);
38
- __decorate([
39
- property({ attribute: 'icon-image', reflect: true }),
40
- __metadata("design:type", Object)
41
- ], SniceCrumb.prototype, "iconImage", void 0);
42
- __decorate([
43
- property({ type: Boolean, reflect: true }),
44
- __metadata("design:type", Object)
45
- ], SniceCrumb.prototype, "active", void 0);
46
- SniceCrumb = __decorate([
47
- element('snice-crumb')
48
- ], SniceCrumb);
49
- export { SniceCrumb };
50
- //# sourceMappingURL=snice-crumb.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"snice-crumb.js","sourceRoot":"","sources":["../../../components/breadcrumbs/snice-crumb.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAInC,IAAM,UAAU,GAAhB,MAAM,UAAW,SAAQ,WAAW;IAApC;;QAEL,UAAK,GAAG,EAAE,CAAC;QAGX,SAAI,GAAG,EAAE,CAAC;QAGV,SAAI,GAAG,EAAE,CAAC;QAGV,cAAS,GAAG,EAAE,CAAC;QAGf,WAAM,GAAG,KAAK,CAAC;IAOjB,CAAC;IALC,yCAAyC;IACzC,iBAAiB;QACf,yCAAyC;QACzC,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;IAC9B,CAAC;CACF,CAAA;AAnBC;IADC,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;yCACjB;AAGX;IADC,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;wCAClB;AAGV;IADC,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;wCAClB;AAGV;IADC,QAAQ,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;6CACtC;AAGf;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;0CAC5B;AAdJ,UAAU;IADtB,OAAO,CAAC,aAAa,CAAC;GACV,UAAU,CAqBtB"}
@@ -1,32 +0,0 @@
1
- import type { ButtonVariant, ButtonSize, IconPlacement, SniceButtonElement } from './snice-button.types';
2
- export declare class SniceButton extends HTMLElement implements SniceButtonElement {
3
- variant: ButtonVariant;
4
- size: ButtonSize;
5
- disabled: boolean;
6
- loading: boolean;
7
- outline: boolean;
8
- pill: boolean;
9
- circle: boolean;
10
- href: string;
11
- target: string;
12
- download: string;
13
- icon: string;
14
- iconPlacement: IconPlacement;
15
- button?: HTMLButtonElement;
16
- spinner?: HTMLElement;
17
- label?: HTMLElement;
18
- iconElement?: HTMLImageElement;
19
- html(): string;
20
- css(): string;
21
- updateButtonClasses(): void;
22
- updateDisabledState(): void;
23
- setLoading(loading: boolean): void;
24
- setDisabled(disabled: boolean): void;
25
- setVariant(variant: typeof this.variant): void;
26
- handleClick(event: MouseEvent): {
27
- originalEvent: MouseEvent;
28
- } | undefined;
29
- focus(options?: FocusOptions): void;
30
- blur(): void;
31
- click(): void;
32
- }
@@ -1,212 +0,0 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- var __metadata = (this && this.__metadata) || function (k, v) {
8
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
- };
10
- import { element, property, query, on, dispatch, watch } from 'snice';
11
- import css from './snice-button.css?inline';
12
- let SniceButton = class SniceButton extends HTMLElement {
13
- constructor() {
14
- super(...arguments);
15
- this.variant = 'default';
16
- this.size = 'medium';
17
- this.disabled = false;
18
- this.loading = false;
19
- this.outline = false;
20
- this.pill = false;
21
- this.circle = false;
22
- this.href = '';
23
- this.target = '';
24
- this.download = '';
25
- this.icon = '';
26
- this.iconPlacement = 'start';
27
- }
28
- html() {
29
- const classes = [
30
- 'button',
31
- `button--${this.variant || 'default'}`,
32
- `button--${this.size || 'medium'}`,
33
- this.outline ? 'button--outline' : '',
34
- this.pill ? 'button--pill' : '',
35
- this.circle ? 'button--circle' : '',
36
- this.loading ? 'button--loading' : '',
37
- this.disabled ? 'button--disabled' : '',
38
- this.icon ? `button--has-icon` : '',
39
- this.icon ? `button--icon-${this.iconPlacement}` : ''
40
- ].filter(Boolean).join(' ');
41
- const iconElement = this.icon ? /*html*/ `
42
- <img class="icon" src="${this.icon}" alt="" part="icon" />
43
- ` : '';
44
- return /*html*/ `
45
- <button class="${classes}" type="button" ${this.disabled ? 'disabled' : ''} part="base">
46
- <span class="spinner" part="spinner"></span>
47
- ${this.iconPlacement === 'start' ? iconElement : ''}
48
- <span class="label" part="label">
49
- <slot></slot>
50
- </span>
51
- ${this.iconPlacement === 'end' ? iconElement : ''}
52
- </button>
53
- `;
54
- }
55
- css() {
56
- return css;
57
- }
58
- updateButtonClasses() {
59
- if (!this.button)
60
- return;
61
- // Rebuild all classes based on current state
62
- const classes = [
63
- 'button',
64
- `button--${this.variant}`,
65
- `button--${this.size}`,
66
- this.outline ? 'button--outline' : '',
67
- this.pill ? 'button--pill' : '',
68
- this.circle ? 'button--circle' : '',
69
- this.loading ? 'button--loading' : '',
70
- this.disabled ? 'button--disabled' : '',
71
- this.icon ? `button--has-icon` : '',
72
- this.icon ? `button--icon-${this.iconPlacement}` : ''
73
- ].filter(Boolean);
74
- // Set the className directly to avoid class manipulation issues
75
- this.button.className = classes.join(' ');
76
- }
77
- updateDisabledState() {
78
- if (this.button) {
79
- this.button.disabled = this.disabled;
80
- }
81
- }
82
- // Keep these methods for backwards compatibility if needed
83
- setLoading(loading) {
84
- this.loading = loading;
85
- }
86
- setDisabled(disabled) {
87
- this.disabled = disabled;
88
- }
89
- setVariant(variant) {
90
- this.variant = variant;
91
- }
92
- handleClick(event) {
93
- if (this.disabled || this.loading) {
94
- event.preventDefault();
95
- event.stopPropagation();
96
- return;
97
- }
98
- // Handle navigation if href is set
99
- if (this.href) {
100
- if (this.download) {
101
- const a = document.createElement('a');
102
- a.href = this.href;
103
- a.download = this.download;
104
- a.click();
105
- }
106
- else if (this.target) {
107
- window.open(this.href, this.target);
108
- }
109
- else {
110
- window.location.href = this.href;
111
- }
112
- }
113
- return { originalEvent: event };
114
- }
115
- focus(options) {
116
- this.button?.focus(options);
117
- }
118
- blur() {
119
- this.button?.blur();
120
- }
121
- click() {
122
- this.button?.click();
123
- }
124
- };
125
- __decorate([
126
- property({ reflect: true }),
127
- __metadata("design:type", String)
128
- ], SniceButton.prototype, "variant", void 0);
129
- __decorate([
130
- property({ reflect: true }),
131
- __metadata("design:type", String)
132
- ], SniceButton.prototype, "size", void 0);
133
- __decorate([
134
- property({ type: Boolean, reflect: true }),
135
- __metadata("design:type", Object)
136
- ], SniceButton.prototype, "disabled", void 0);
137
- __decorate([
138
- property({ type: Boolean, reflect: true }),
139
- __metadata("design:type", Object)
140
- ], SniceButton.prototype, "loading", void 0);
141
- __decorate([
142
- property({ type: Boolean, reflect: true }),
143
- __metadata("design:type", Object)
144
- ], SniceButton.prototype, "outline", void 0);
145
- __decorate([
146
- property({ type: Boolean, reflect: true }),
147
- __metadata("design:type", Object)
148
- ], SniceButton.prototype, "pill", void 0);
149
- __decorate([
150
- property({ type: Boolean, reflect: true }),
151
- __metadata("design:type", Object)
152
- ], SniceButton.prototype, "circle", void 0);
153
- __decorate([
154
- property({ type: String, reflect: true }),
155
- __metadata("design:type", Object)
156
- ], SniceButton.prototype, "href", void 0);
157
- __decorate([
158
- property({ type: String, reflect: true }),
159
- __metadata("design:type", Object)
160
- ], SniceButton.prototype, "target", void 0);
161
- __decorate([
162
- property({ type: String, reflect: true }),
163
- __metadata("design:type", Object)
164
- ], SniceButton.prototype, "download", void 0);
165
- __decorate([
166
- property({ type: String, reflect: true }),
167
- __metadata("design:type", Object)
168
- ], SniceButton.prototype, "icon", void 0);
169
- __decorate([
170
- property({ attribute: 'icon-placement', reflect: true }),
171
- __metadata("design:type", String)
172
- ], SniceButton.prototype, "iconPlacement", void 0);
173
- __decorate([
174
- query('.button'),
175
- __metadata("design:type", HTMLButtonElement)
176
- ], SniceButton.prototype, "button", void 0);
177
- __decorate([
178
- query('.spinner'),
179
- __metadata("design:type", HTMLElement)
180
- ], SniceButton.prototype, "spinner", void 0);
181
- __decorate([
182
- query('.label'),
183
- __metadata("design:type", HTMLElement)
184
- ], SniceButton.prototype, "label", void 0);
185
- __decorate([
186
- query('.icon'),
187
- __metadata("design:type", HTMLImageElement)
188
- ], SniceButton.prototype, "iconElement", void 0);
189
- __decorate([
190
- watch('*'),
191
- __metadata("design:type", Function),
192
- __metadata("design:paramtypes", []),
193
- __metadata("design:returntype", void 0)
194
- ], SniceButton.prototype, "updateButtonClasses", null);
195
- __decorate([
196
- watch('disabled'),
197
- __metadata("design:type", Function),
198
- __metadata("design:paramtypes", []),
199
- __metadata("design:returntype", void 0)
200
- ], SniceButton.prototype, "updateDisabledState", null);
201
- __decorate([
202
- on('click'),
203
- dispatch('@snice/click'),
204
- __metadata("design:type", Function),
205
- __metadata("design:paramtypes", [MouseEvent]),
206
- __metadata("design:returntype", void 0)
207
- ], SniceButton.prototype, "handleClick", null);
208
- SniceButton = __decorate([
209
- element('snice-button')
210
- ], SniceButton);
211
- export { SniceButton };
212
- //# sourceMappingURL=snice-button.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"snice-button.js","sourceRoot":"","sources":["../../../components/button/snice-button.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AACtE,OAAO,GAAG,MAAM,2BAA2B,CAAC;AAIrC,IAAM,WAAW,GAAjB,MAAM,WAAY,SAAQ,WAAW;IAArC;;QAEL,YAAO,GAAkB,SAAS,CAAC;QAGnC,SAAI,GAAe,QAAQ,CAAC;QAG5B,aAAQ,GAAG,KAAK,CAAC;QAGjB,YAAO,GAAG,KAAK,CAAC;QAGhB,YAAO,GAAG,KAAK,CAAC;QAGhB,SAAI,GAAG,KAAK,CAAC;QAGb,WAAM,GAAG,KAAK,CAAC;QAGf,SAAI,GAAG,EAAE,CAAC;QAGV,WAAM,GAAG,EAAE,CAAC;QAGZ,aAAQ,GAAG,EAAE,CAAC;QAGd,SAAI,GAAG,EAAE,CAAC;QAGV,kBAAa,GAAkB,OAAO,CAAC;IAgIzC,CAAC;IAjHC,IAAI;QACF,MAAM,OAAO,GAAG;YACd,QAAQ;YACR,WAAW,IAAI,CAAC,OAAO,IAAI,SAAS,EAAE;YACtC,WAAW,IAAI,CAAC,IAAI,IAAI,QAAQ,EAAE;YAClC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE;YACrC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE;YAC/B,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE;YACnC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE;YACrC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE;YACvC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE;YACnC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE;SACtD,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAE5B,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAA;+BACb,IAAI,CAAC,IAAI;KACnC,CAAC,CAAC,CAAC,EAAE,CAAC;QAEP,OAAO,QAAQ,CAAA;uBACI,OAAO,mBAAmB,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;;UAEtE,IAAI,CAAC,aAAa,KAAK,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE;;;;UAIjD,IAAI,CAAC,aAAa,KAAK,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE;;KAEpD,CAAC;IACJ,CAAC;IAED,GAAG;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAGD,mBAAmB;QACjB,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO;QAEzB,6CAA6C;QAC7C,MAAM,OAAO,GAAG;YACd,QAAQ;YACR,WAAW,IAAI,CAAC,OAAO,EAAE;YACzB,WAAW,IAAI,CAAC,IAAI,EAAE;YACtB,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE;YACrC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE;YAC/B,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE;YACnC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE;YACrC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE;YACvC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE;YACnC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE;SACtD,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAElB,gEAAgE;QAChE,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC5C,CAAC;IAGD,mBAAmB;QACjB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QACvC,CAAC;IACH,CAAC;IAED,2DAA2D;IAC3D,UAAU,CAAC,OAAgB;QACzB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,WAAW,CAAC,QAAiB;QAC3B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,UAAU,CAAC,OAA4B;QACrC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAID,WAAW,CAAC,KAAiB;QAC3B,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,KAAK,CAAC,eAAe,EAAE,CAAC;YACxB,OAAO;QACT,CAAC;QAED,mCAAmC;QACnC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClB,MAAM,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;gBACtC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;gBACnB,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;gBAC3B,CAAC,CAAC,KAAK,EAAE,CAAC;YACZ,CAAC;iBAAM,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBACvB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YACtC,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACnC,CAAC;QACH,CAAC;QAED,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,OAAsB;QAC1B,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;IAED,IAAI;QACF,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC;IACtB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC;IACvB,CAAC;CACF,CAAA;AAjKC;IADC,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;4CACO;AAGnC;IADC,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;yCACA;AAG5B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;6CAC1B;AAGjB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;4CAC3B;AAGhB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;4CAC3B;AAGhB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;yCAC9B;AAGb;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;2CAC5B;AAGf;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;yCAChC;AAGV;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;2CAC9B;AAGZ;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;6CAC5B;AAGd;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;yCAChC;AAGV;IADC,QAAQ,CAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;kDAClB;AAIvC;IADC,KAAK,CAAC,SAAS,CAAC;8BACR,iBAAiB;2CAAC;AAG3B;IADC,KAAK,CAAC,UAAU,CAAC;8BACR,WAAW;4CAAC;AAGtB;IADC,KAAK,CAAC,QAAQ,CAAC;8BACR,WAAW;0CAAC;AAGpB;IADC,KAAK,CAAC,OAAO,CAAC;8BACD,gBAAgB;gDAAC;AAqC/B;IADC,KAAK,CAAC,GAAG,CAAC;;;;sDAoBV;AAGD;IADC,KAAK,CAAC,UAAU,CAAC;;;;sDAKjB;AAiBD;IAFC,EAAE,CAAC,OAAO,CAAC;IACX,QAAQ,CAAC,cAAc,CAAC;;qCACN,UAAU;;8CAsB5B;AAtJU,WAAW;IADvB,OAAO,CAAC,cAAc,CAAC;GACX,WAAW,CAmKvB"}
@@ -1,23 +0,0 @@
1
- export type ButtonVariant = 'default' | 'primary' | 'success' | 'warning' | 'danger' | 'text';
2
- export type ButtonSize = 'small' | 'medium' | 'large';
3
- export type IconPlacement = 'start' | 'end';
4
- export interface SniceButtonElement extends HTMLElement {
5
- variant: ButtonVariant;
6
- size: ButtonSize;
7
- disabled: boolean;
8
- loading: boolean;
9
- outline: boolean;
10
- pill: boolean;
11
- circle: boolean;
12
- href: string;
13
- target: string;
14
- download: string;
15
- icon: string;
16
- iconPlacement: IconPlacement;
17
- focus(options?: FocusOptions): void;
18
- blur(): void;
19
- click(): void;
20
- }
21
- export interface ButtonClickDetail {
22
- button: SniceButtonElement;
23
- }
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=snice-button.types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"snice-button.types.js","sourceRoot":"","sources":["../../../components/button/snice-button.types.ts"],"names":[],"mappings":""}
@@ -1,19 +0,0 @@
1
- import type { CardVariant, CardSize, SniceCardElement } from './snice-card.types';
2
- export declare class SniceCard extends HTMLElement implements SniceCardElement {
3
- variant: CardVariant;
4
- size: CardSize;
5
- clickable: boolean;
6
- selected: boolean;
7
- disabled: boolean;
8
- private hasHeader;
9
- private hasFooter;
10
- html(): string;
11
- css(): string;
12
- init(): void;
13
- private setupSlotListeners;
14
- private checkSlots;
15
- handleClick(event: MouseEvent): {
16
- selected: boolean;
17
- } | undefined;
18
- handleKeydown(event: KeyboardEvent): void;
19
- }