snice 2.1.5 → 2.2.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 (367) hide show
  1. package/dist/components/accordion/snice-accordion-item.d.ts +25 -0
  2. package/dist/components/accordion/snice-accordion-item.js +255 -0
  3. package/dist/components/accordion/snice-accordion-item.js.map +1 -0
  4. package/dist/components/accordion/snice-accordion.d.ts +28 -0
  5. package/dist/components/accordion/snice-accordion.js +206 -0
  6. package/dist/components/accordion/snice-accordion.js.map +1 -0
  7. package/dist/components/accordion/snice-accordion.types.d.ts +29 -0
  8. package/dist/components/alert/snice-alert.d.ts +26 -0
  9. package/dist/components/alert/snice-alert.js +180 -0
  10. package/dist/components/alert/snice-alert.js.map +1 -0
  11. package/{components/alert/snice-alert.types.ts → dist/components/alert/snice-alert.types.d.ts} +8 -9
  12. package/dist/components/avatar/snice-avatar.d.ts +24 -0
  13. package/dist/components/avatar/snice-avatar.js +180 -0
  14. package/dist/components/avatar/snice-avatar.js.map +1 -0
  15. package/dist/components/avatar/snice-avatar.types.d.ts +12 -0
  16. package/dist/components/badge/snice-badge.d.ts +25 -0
  17. package/dist/components/badge/snice-badge.js +169 -0
  18. package/dist/components/badge/snice-badge.js.map +1 -0
  19. package/{components/badge/snice-badge.types.ts → dist/components/badge/snice-badge.types.d.ts} +11 -12
  20. package/dist/components/breadcrumbs/snice-breadcrumbs.d.ts +27 -0
  21. package/dist/components/breadcrumbs/snice-breadcrumbs.js +214 -0
  22. package/dist/components/breadcrumbs/snice-breadcrumbs.js.map +1 -0
  23. package/dist/components/breadcrumbs/snice-breadcrumbs.types.d.ts +23 -0
  24. package/dist/components/breadcrumbs/snice-crumb.d.ts +9 -0
  25. package/dist/components/breadcrumbs/snice-crumb.js +63 -0
  26. package/dist/components/breadcrumbs/snice-crumb.js.map +1 -0
  27. package/dist/components/button/snice-button.d.ts +32 -0
  28. package/dist/components/button/snice-button.js +232 -0
  29. package/dist/components/button/snice-button.js.map +1 -0
  30. package/dist/components/button/snice-button.types.d.ts +23 -0
  31. package/dist/components/card/snice-card.d.ts +19 -0
  32. package/dist/components/card/snice-card.js +136 -0
  33. package/dist/components/card/snice-card.js.map +1 -0
  34. package/{components/card/snice-card.types.ts → dist/components/card/snice-card.types.d.ts} +6 -7
  35. package/dist/components/checkbox/snice-checkbox.d.ts +34 -0
  36. package/dist/components/checkbox/snice-checkbox.js +286 -0
  37. package/dist/components/checkbox/snice-checkbox.js.map +1 -0
  38. package/dist/components/checkbox/snice-checkbox.types.d.ts +20 -0
  39. package/dist/components/chip/snice-chip.d.ts +28 -0
  40. package/dist/components/chip/snice-chip.js +199 -0
  41. package/dist/components/chip/snice-chip.js.map +1 -0
  42. package/dist/components/chip/snice-chip.types.d.ts +14 -0
  43. package/dist/components/date-picker/snice-date-picker.d.ts +82 -0
  44. package/dist/components/date-picker/snice-date-picker.js +847 -0
  45. package/dist/components/date-picker/snice-date-picker.js.map +1 -0
  46. package/dist/components/date-picker/snice-date-picker.types.d.ts +71 -0
  47. package/dist/components/divider/snice-divider.d.ts +17 -0
  48. package/dist/components/divider/snice-divider.js +122 -0
  49. package/dist/components/divider/snice-divider.js.map +1 -0
  50. package/{components/divider/snice-divider.types.ts → dist/components/divider/snice-divider.types.d.ts} +9 -10
  51. package/dist/components/drawer/snice-drawer.d.ts +37 -0
  52. package/dist/components/drawer/snice-drawer.js +337 -0
  53. package/dist/components/drawer/snice-drawer.js.map +1 -0
  54. package/dist/components/drawer/snice-drawer.types.d.ts +16 -0
  55. package/dist/components/input/snice-input.d.ts +65 -0
  56. package/dist/components/input/snice-input.js +567 -0
  57. package/dist/components/input/snice-input.js.map +1 -0
  58. package/dist/components/input/snice-input.types.d.ts +53 -0
  59. package/dist/components/layout/snice-layout-blog.d.ts +4 -0
  60. package/dist/components/layout/snice-layout-blog.js +67 -0
  61. package/dist/components/layout/snice-layout-blog.js.map +1 -0
  62. package/dist/components/layout/snice-layout-card.d.ts +6 -0
  63. package/dist/components/layout/snice-layout-card.js +64 -0
  64. package/dist/components/layout/snice-layout-card.js.map +1 -0
  65. package/dist/components/layout/snice-layout-centered.d.ts +5 -0
  66. package/dist/components/layout/snice-layout-centered.js +48 -0
  67. package/dist/components/layout/snice-layout-centered.js.map +1 -0
  68. package/dist/components/layout/snice-layout-dashboard.d.ts +4 -0
  69. package/dist/components/layout/snice-layout-dashboard.js +64 -0
  70. package/dist/components/layout/snice-layout-dashboard.js.map +1 -0
  71. package/dist/components/layout/snice-layout-fullscreen.d.ts +5 -0
  72. package/dist/components/layout/snice-layout-fullscreen.js +60 -0
  73. package/dist/components/layout/snice-layout-fullscreen.js.map +1 -0
  74. package/dist/components/layout/snice-layout-landing.d.ts +4 -0
  75. package/dist/components/layout/snice-layout-landing.js +66 -0
  76. package/dist/components/layout/snice-layout-landing.js.map +1 -0
  77. package/dist/components/layout/snice-layout-minimal.d.ts +4 -0
  78. package/dist/components/layout/snice-layout-minimal.js +38 -0
  79. package/dist/components/layout/snice-layout-minimal.js.map +1 -0
  80. package/dist/components/layout/snice-layout-sidebar.d.ts +5 -0
  81. package/dist/components/layout/snice-layout-sidebar.js +74 -0
  82. package/dist/components/layout/snice-layout-sidebar.js.map +1 -0
  83. package/dist/components/layout/snice-layout-split.d.ts +6 -0
  84. package/dist/components/layout/snice-layout-split.js +58 -0
  85. package/dist/components/layout/snice-layout-split.js.map +1 -0
  86. package/dist/components/layout/snice-layout.d.ts +4 -0
  87. package/dist/components/layout/snice-layout.js +54 -0
  88. package/dist/components/layout/snice-layout.js.map +1 -0
  89. package/{components/layout/snice-layout.types.ts → dist/components/layout/snice-layout.types.d.ts} +1 -3
  90. package/dist/components/login/snice-login.d.ts +44 -0
  91. package/dist/components/login/snice-login.js +382 -0
  92. package/dist/components/login/snice-login.js.map +1 -0
  93. package/dist/components/login/snice-login.types.d.ts +26 -0
  94. package/dist/components/modal/snice-modal.d.ts +32 -0
  95. package/dist/components/modal/snice-modal.js +280 -0
  96. package/dist/components/modal/snice-modal.js.map +1 -0
  97. package/dist/components/modal/snice-modal.types.d.ts +18 -0
  98. package/dist/components/pagination/snice-pagination.d.ts +26 -0
  99. package/dist/components/pagination/snice-pagination.js +373 -0
  100. package/dist/components/pagination/snice-pagination.js.map +1 -0
  101. package/dist/components/pagination/snice-pagination.types.d.ts +18 -0
  102. package/dist/components/progress/snice-progress.d.ts +35 -0
  103. package/dist/components/progress/snice-progress.js +305 -0
  104. package/dist/components/progress/snice-progress.js.map +1 -0
  105. package/dist/components/progress/snice-progress.types.d.ts +18 -0
  106. package/dist/components/radio/snice-radio.d.ts +33 -0
  107. package/dist/components/radio/snice-radio.js +279 -0
  108. package/dist/components/radio/snice-radio.js.map +1 -0
  109. package/dist/components/radio/snice-radio.types.d.ts +19 -0
  110. package/dist/components/select/snice-option.d.ts +17 -0
  111. package/dist/components/select/snice-option.js +88 -0
  112. package/dist/components/select/snice-option.js.map +1 -0
  113. package/{components/select/snice-option.types.ts → dist/components/select/snice-option.types.d.ts} +8 -8
  114. package/dist/components/select/snice-select.d.ts +89 -0
  115. package/dist/components/select/snice-select.js +864 -0
  116. package/dist/components/select/snice-select.js.map +1 -0
  117. package/dist/components/select/snice-select.types.d.ts +49 -0
  118. package/dist/components/skeleton/snice-skeleton.d.ts +16 -0
  119. package/dist/components/skeleton/snice-skeleton.js +166 -0
  120. package/dist/components/skeleton/snice-skeleton.js.map +1 -0
  121. package/{components/skeleton/snice-skeleton.types.ts → dist/components/skeleton/snice-skeleton.types.d.ts} +7 -8
  122. package/dist/components/snice-cell-C9N6yGxQ.js +4 -0
  123. package/dist/components/snice-cell-C9N6yGxQ.js.map +1 -0
  124. package/dist/components/switch/snice-switch.d.ts +38 -0
  125. package/dist/components/switch/snice-switch.js +305 -0
  126. package/dist/components/switch/snice-switch.js.map +1 -0
  127. package/dist/components/switch/snice-switch.types.d.ts +21 -0
  128. package/dist/components/symbols.d.ts +1 -0
  129. package/dist/components/symbols.js +22 -0
  130. package/dist/components/symbols.js.map +1 -0
  131. package/dist/components/table/snice-cell-boolean.d.ts +21 -0
  132. package/dist/components/table/snice-cell-boolean.js +164 -0
  133. package/dist/components/table/snice-cell-boolean.js.map +1 -0
  134. package/dist/components/table/snice-cell-date.d.ts +24 -0
  135. package/dist/components/table/snice-cell-date.js +253 -0
  136. package/dist/components/table/snice-cell-date.js.map +1 -0
  137. package/dist/components/table/snice-cell-duration.d.ts +16 -0
  138. package/dist/components/table/snice-cell-duration.js +130 -0
  139. package/dist/components/table/snice-cell-duration.js.map +1 -0
  140. package/dist/components/table/snice-cell-filesize.d.ts +16 -0
  141. package/dist/components/table/snice-cell-filesize.js +126 -0
  142. package/dist/components/table/snice-cell-filesize.js.map +1 -0
  143. package/dist/components/table/snice-cell-number.d.ts +23 -0
  144. package/dist/components/table/snice-cell-number.js +215 -0
  145. package/dist/components/table/snice-cell-number.js.map +1 -0
  146. package/dist/components/table/snice-cell-progress.d.ts +17 -0
  147. package/dist/components/table/snice-cell-progress.js +121 -0
  148. package/dist/components/table/snice-cell-progress.js.map +1 -0
  149. package/dist/components/table/snice-cell-rating.d.ts +17 -0
  150. package/dist/components/table/snice-cell-rating.js +120 -0
  151. package/dist/components/table/snice-cell-rating.js.map +1 -0
  152. package/dist/components/table/snice-cell-sparkline.d.ts +29 -0
  153. package/dist/components/table/snice-cell-sparkline.js +306 -0
  154. package/dist/components/table/snice-cell-sparkline.js.map +1 -0
  155. package/dist/components/table/snice-cell-text.d.ts +19 -0
  156. package/dist/components/table/snice-cell-text.js +161 -0
  157. package/dist/components/table/snice-cell-text.js.map +1 -0
  158. package/dist/components/table/snice-cell.d.ts +32 -0
  159. package/dist/components/table/snice-cell.js +458 -0
  160. package/dist/components/table/snice-cell.js.map +1 -0
  161. package/dist/components/table/snice-column.d.ts +62 -0
  162. package/dist/components/table/snice-column.js +506 -0
  163. package/dist/components/table/snice-column.js.map +1 -0
  164. package/dist/components/table/snice-header.d.ts +33 -0
  165. package/dist/components/table/snice-header.js +289 -0
  166. package/dist/components/table/snice-header.js.map +1 -0
  167. package/dist/components/table/snice-progress.d.ts +10 -0
  168. package/dist/components/table/snice-progress.js +105 -0
  169. package/dist/components/table/snice-progress.js.map +1 -0
  170. package/dist/components/table/snice-rating.d.ts +9 -0
  171. package/dist/components/table/snice-rating.js +81 -0
  172. package/dist/components/table/snice-rating.js.map +1 -0
  173. package/dist/components/table/snice-row.d.ts +43 -0
  174. package/dist/components/table/snice-row.js +353 -0
  175. package/dist/components/table/snice-row.js.map +1 -0
  176. package/dist/components/table/snice-table.d.ts +69 -0
  177. package/dist/components/table/snice-table.js +792 -0
  178. package/dist/components/table/snice-table.js.map +1 -0
  179. package/dist/components/table/snice-table.types.d.ts +137 -0
  180. package/dist/components/tabs/snice-tab-panel.d.ts +12 -0
  181. package/dist/components/tabs/snice-tab-panel.js +87 -0
  182. package/dist/components/tabs/snice-tab-panel.js.map +1 -0
  183. package/dist/components/tabs/snice-tab.d.ts +13 -0
  184. package/dist/components/tabs/snice-tab.js +98 -0
  185. package/dist/components/tabs/snice-tab.js.map +1 -0
  186. package/dist/components/tabs/snice-tabs.d.ts +34 -0
  187. package/dist/components/tabs/snice-tabs.js +375 -0
  188. package/dist/components/tabs/snice-tabs.js.map +1 -0
  189. package/dist/components/tabs/snice-tabs.types.d.ts +23 -0
  190. package/dist/components/toast/snice-toast-container.d.ts +25 -0
  191. package/dist/components/toast/snice-toast-container.js +252 -0
  192. package/dist/components/toast/snice-toast-container.js.map +1 -0
  193. package/dist/components/toast/snice-toast.d.ts +23 -0
  194. package/dist/components/toast/snice-toast.js +321 -0
  195. package/dist/components/toast/snice-toast.js.map +1 -0
  196. package/dist/components/toast/snice-toast.types.d.ts +30 -0
  197. package/dist/components/tooltip/snice-tooltip.d.ts +50 -0
  198. package/dist/components/tooltip/snice-tooltip.js +644 -0
  199. package/dist/components/tooltip/snice-tooltip.js.map +1 -0
  200. package/dist/components/tooltip/snice-tooltip.types.d.ts +18 -0
  201. package/dist/components/transitions.d.ts +11 -0
  202. package/dist/components/transitions.js +72 -0
  203. package/dist/components/transitions.js.map +1 -0
  204. package/dist/index.cjs +1 -1
  205. package/dist/index.esm.js +1 -1
  206. package/dist/index.iife.js +1 -1
  207. package/dist/symbols.esm.js +1 -1
  208. package/dist/transitions.esm.js +1 -1
  209. package/package.json +10 -6
  210. package/components/accordion/demo.html +0 -403
  211. package/components/accordion/snice-accordion-item.css +0 -85
  212. package/components/accordion/snice-accordion-item.ts +0 -226
  213. package/components/accordion/snice-accordion.css +0 -31
  214. package/components/accordion/snice-accordion.ts +0 -182
  215. package/components/accordion/snice-accordion.types.ts +0 -32
  216. package/components/alert/demo.html +0 -445
  217. package/components/alert/snice-alert.css +0 -195
  218. package/components/alert/snice-alert.ts +0 -141
  219. package/components/avatar/demo.html +0 -598
  220. package/components/avatar/snice-avatar.css +0 -131
  221. package/components/avatar/snice-avatar.ts +0 -136
  222. package/components/avatar/snice-avatar.types.ts +0 -13
  223. package/components/badge/demo.html +0 -523
  224. package/components/badge/snice-badge.css +0 -161
  225. package/components/badge/snice-badge.ts +0 -117
  226. package/components/breadcrumbs/demo.html +0 -404
  227. package/components/breadcrumbs/snice-breadcrumbs.css +0 -133
  228. package/components/breadcrumbs/snice-breadcrumbs.ts +0 -191
  229. package/components/breadcrumbs/snice-breadcrumbs.types.ts +0 -26
  230. package/components/breadcrumbs/snice-crumb.ts +0 -26
  231. package/components/button/demo.html +0 -42
  232. package/components/button/snice-button.css +0 -230
  233. package/components/button/snice-button.ts +0 -169
  234. package/components/button/snice-button.types.ts +0 -25
  235. package/components/card/demo.html +0 -525
  236. package/components/card/snice-card.css +0 -140
  237. package/components/card/snice-card.ts +0 -102
  238. package/components/checkbox/demo.html +0 -253
  239. package/components/checkbox/snice-checkbox.css +0 -164
  240. package/components/checkbox/snice-checkbox.ts +0 -223
  241. package/components/checkbox/snice-checkbox.types.ts +0 -22
  242. package/components/chip/demo.html +0 -383
  243. package/components/chip/snice-chip.css +0 -195
  244. package/components/chip/snice-chip.ts +0 -139
  245. package/components/chip/snice-chip.types.ts +0 -15
  246. package/components/date-picker/README.md +0 -233
  247. package/components/date-picker/demo.html +0 -191
  248. package/components/date-picker/snice-date-picker.css +0 -330
  249. package/components/date-picker/snice-date-picker.ts +0 -777
  250. package/components/date-picker/snice-date-picker.types.ts +0 -83
  251. package/components/divider/demo.html +0 -233
  252. package/components/divider/snice-divider.css +0 -155
  253. package/components/divider/snice-divider.ts +0 -69
  254. package/components/drawer/demo.html +0 -328
  255. package/components/drawer/snice-drawer.css +0 -476
  256. package/components/drawer/snice-drawer.ts +0 -287
  257. package/components/drawer/snice-drawer.types.ts +0 -17
  258. package/components/global.d.ts +0 -14
  259. package/components/input/demo.html +0 -303
  260. package/components/input/snice-input.css +0 -257
  261. package/components/input/snice-input.ts +0 -442
  262. package/components/input/snice-input.types.ts +0 -59
  263. package/components/input/test.html +0 -77
  264. package/components/layout/README.md +0 -260
  265. package/components/layout/demo.html +0 -538
  266. package/components/layout/snice-layout-blog.css +0 -129
  267. package/components/layout/snice-layout-blog.ts +0 -48
  268. package/components/layout/snice-layout-card.css +0 -104
  269. package/components/layout/snice-layout-card.ts +0 -35
  270. package/components/layout/snice-layout-centered.css +0 -51
  271. package/components/layout/snice-layout-centered.ts +0 -22
  272. package/components/layout/snice-layout-dashboard.css +0 -98
  273. package/components/layout/snice-layout-dashboard.ts +0 -45
  274. package/components/layout/snice-layout-fullscreen.css +0 -72
  275. package/components/layout/snice-layout-fullscreen.ts +0 -34
  276. package/components/layout/snice-layout-landing.css +0 -92
  277. package/components/layout/snice-layout-landing.ts +0 -47
  278. package/components/layout/snice-layout-minimal.css +0 -16
  279. package/components/layout/snice-layout-minimal.ts +0 -19
  280. package/components/layout/snice-layout-sidebar.css +0 -117
  281. package/components/layout/snice-layout-sidebar.ts +0 -48
  282. package/components/layout/snice-layout-split.css +0 -103
  283. package/components/layout/snice-layout-split.ts +0 -29
  284. package/components/layout/snice-layout.css +0 -72
  285. package/components/layout/snice-layout.ts +0 -35
  286. package/components/login/demo-auth-controller.ts +0 -185
  287. package/components/login/demo.html +0 -470
  288. package/components/login/snice-login.css +0 -204
  289. package/components/login/snice-login.ts +0 -326
  290. package/components/login/snice-login.types.ts +0 -29
  291. package/components/modal/demo.html +0 -291
  292. package/components/modal/snice-modal.css +0 -203
  293. package/components/modal/snice-modal.ts +0 -233
  294. package/components/modal/snice-modal.types.ts +0 -21
  295. package/components/pagination/demo.html +0 -395
  296. package/components/pagination/snice-pagination.ts +0 -333
  297. package/components/pagination/snice-pagination.types.ts +0 -21
  298. package/components/progress/demo.html +0 -510
  299. package/components/progress/snice-progress.css +0 -267
  300. package/components/progress/snice-progress.ts +0 -247
  301. package/components/progress/snice-progress.types.ts +0 -19
  302. package/components/radio/demo.html +0 -287
  303. package/components/radio/snice-radio.css +0 -171
  304. package/components/radio/snice-radio.ts +0 -218
  305. package/components/radio/snice-radio.types.ts +0 -21
  306. package/components/select/demo.html +0 -511
  307. package/components/select/snice-option.ts +0 -52
  308. package/components/select/snice-select.css +0 -392
  309. package/components/select/snice-select.ts +0 -796
  310. package/components/select/snice-select.types.ts +0 -55
  311. package/components/skeleton/demo.html +0 -514
  312. package/components/skeleton/snice-skeleton.css +0 -109
  313. package/components/skeleton/snice-skeleton.ts +0 -126
  314. package/components/switch/demo.html +0 -284
  315. package/components/switch/snice-switch.css +0 -221
  316. package/components/switch/snice-switch.ts +0 -229
  317. package/components/switch/snice-switch.types.ts +0 -23
  318. package/components/symbols.ts +0 -23
  319. package/components/table/demo-table-controller.ts +0 -100
  320. package/components/table/demo.html +0 -480
  321. package/components/table/snice-cell-boolean.ts +0 -112
  322. package/components/table/snice-cell-date.ts +0 -210
  323. package/components/table/snice-cell-duration.ts +0 -91
  324. package/components/table/snice-cell-filesize.ts +0 -90
  325. package/components/table/snice-cell-number.ts +0 -165
  326. package/components/table/snice-cell-progress.ts +0 -83
  327. package/components/table/snice-cell-rating.ts +0 -82
  328. package/components/table/snice-cell-sparkline.ts +0 -253
  329. package/components/table/snice-cell-text.ts +0 -125
  330. package/components/table/snice-cell.css +0 -296
  331. package/components/table/snice-cell.ts +0 -473
  332. package/components/table/snice-column.ts +0 -353
  333. package/components/table/snice-header.css +0 -243
  334. package/components/table/snice-header.ts +0 -261
  335. package/components/table/snice-progress.ts +0 -66
  336. package/components/table/snice-rating.ts +0 -45
  337. package/components/table/snice-row.css +0 -255
  338. package/components/table/snice-row.ts +0 -331
  339. package/components/table/snice-table.css +0 -241
  340. package/components/table/snice-table.ts +0 -737
  341. package/components/table/snice-table.types.ts +0 -158
  342. package/components/tabs/demo.html +0 -487
  343. package/components/tabs/snice-tab-panel.css +0 -264
  344. package/components/tabs/snice-tab-panel.ts +0 -47
  345. package/components/tabs/snice-tab.css +0 -96
  346. package/components/tabs/snice-tab.ts +0 -65
  347. package/components/tabs/snice-tabs.css +0 -189
  348. package/components/tabs/snice-tabs.ts +0 -332
  349. package/components/tabs/snice-tabs.types.ts +0 -28
  350. package/components/theme/theme.css +0 -234
  351. package/components/toast/demo.html +0 -329
  352. package/components/toast/snice-toast-container.ts +0 -256
  353. package/components/toast/snice-toast.css +0 -213
  354. package/components/toast/snice-toast.ts +0 -276
  355. package/components/toast/snice-toast.types.ts +0 -35
  356. package/components/tooltip/demo.html +0 -350
  357. package/components/tooltip/snice-tooltip-portal.css +0 -79
  358. package/components/tooltip/snice-tooltip.css +0 -117
  359. package/components/tooltip/snice-tooltip.ts +0 -612
  360. package/components/tooltip/snice-tooltip.types.ts +0 -32
  361. package/components/transitions.ts +0 -94
  362. package/components/tsconfig.json +0 -18
  363. package/dist/index.cjs.min.map +0 -1
  364. package/dist/index.esm.min.js +0 -14
  365. package/dist/index.esm.min.js.map +0 -1
  366. package/dist/index.iife.min.js +0 -15
  367. package/dist/index.iife.min.js.map +0 -1
@@ -0,0 +1,382 @@
1
+ import { __runInitializers, __esDecorate } from 'tslib';
2
+ import { element, property, query, queryAll, request, on, dispatch } from 'snice';
3
+ import '../alert/snice-alert.js';
4
+ import '../button/snice-button.js';
5
+
6
+ var css = "/* Login Component */\n:host {\n display: block;\n font-family: var(--snice-font-family, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif);\n}\n\n.login {\n max-width: 24rem; /* 384px */\n margin: 0 auto;\n}\n\n.login--card {\n background: var(--snice-color-background-element, rgb(252 251 249));\n border: 1px solid var(--snice-color-border, rgb(226 226 226));\n border-radius: var(--snice-border-radius-lg, 0.5rem);\n padding: var(--snice-spacing-xl, 2rem);\n box-shadow: var(--snice-shadow-md, 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1));\n}\n\n.login--minimal {\n background: transparent;\n border: none;\n padding: 0;\n box-shadow: none;\n}\n\n.login--small {\n max-width: 20rem; /* 320px */\n}\n\n.login--large {\n max-width: 28rem; /* 448px */\n}\n\n.login__header {\n text-align: center;\n margin-bottom: var(--snice-spacing-xl, 2rem);\n}\n\n.login__title {\n margin: 0 0 var(--snice-spacing-xs, 0.5rem) 0;\n font-size: var(--snice-font-size-2xl, 1.5rem);\n font-weight: var(--snice-font-weight-bold, 700);\n color: var(--snice-color-text, rgb(23 23 23));\n}\n\n.login__subtitle {\n margin: 0;\n font-size: var(--snice-font-size-sm, 0.875rem);\n color: var(--snice-color-text-secondary, rgb(82 82 82));\n}\n\n.login__form {\n display: flex;\n flex-direction: column;\n gap: var(--snice-spacing-md, 1rem);\n}\n\n.login__field {\n display: flex;\n flex-direction: column;\n gap: var(--snice-spacing-2xs, 0.25rem);\n}\n\n.login__label {\n font-size: var(--snice-font-size-sm, 0.875rem);\n font-weight: var(--snice-font-weight-medium, 500);\n color: var(--snice-color-text, rgb(23 23 23));\n}\n\n.login__input {\n padding: var(--snice-spacing-sm, 0.75rem);\n border: 1px solid var(--snice-color-border, rgb(226 226 226));\n border-radius: var(--snice-border-radius-md, 0.25rem);\n font-size: var(--snice-font-size-md, 1rem);\n font-family: var(--snice-font-family, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif);\n transition: border-color var(--snice-transition-fast, 150ms) ease;\n background: var(--snice-color-background, rgb(255 255 255));\n color: var(--snice-color-text, rgb(23 23 23));\n}\n\n.login__input:focus {\n outline: none;\n border-color: var(--snice-color-border-focus, rgb(59 130 246));\n box-shadow: 0 0 0 var(--snice-focus-ring-width, 2px) var(--snice-focus-ring-color, rgb(59 130 246 / 0.5));\n}\n\n.login__input:disabled {\n background: var(--snice-color-background-secondary, rgb(250 250 250));\n color: var(--snice-color-text-tertiary, rgb(115 115 115));\n cursor: not-allowed;\n}\n\n.login__input--error {\n border-color: var(--snice-color-danger, rgb(220 38 38));\n}\n\n.login__input--error:focus {\n border-color: var(--snice-color-danger, rgb(220 38 38));\n box-shadow: 0 0 0 var(--snice-focus-ring-width, 2px) rgb(239 68 68 / 0.2);\n}\n\n.login__options {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin: var(--snice-spacing-xs, 0.5rem) 0;\n}\n\n.login__remember {\n display: flex;\n align-items: center;\n gap: var(--snice-spacing-xs, 0.5rem);\n font-size: var(--snice-font-size-sm, 0.875rem);\n color: var(--snice-color-text-secondary, rgb(82 82 82));\n}\n\n.login__checkbox {\n margin: 0;\n}\n\n.login__forgot {\n font-size: var(--snice-font-size-sm, 0.875rem);\n color: var(--snice-color-primary, rgb(37 99 235));\n text-decoration: none;\n transition: color var(--snice-transition-fast, 150ms) ease;\n}\n\n.login__forgot:hover {\n color: var(--snice-color-primary-hover, rgb(29 78 216));\n text-decoration: underline;\n}\n\n\n\n.login__footer {\n text-align: center;\n margin-top: var(--snice-spacing-lg, 1.5rem);\n}\n\n.login__footer ::slotted(*) {\n font-size: var(--snice-font-size-sm, 0.875rem);\n color: var(--snice-color-text-secondary, rgb(82 82 82));\n}\n\n.login__footer ::slotted(a) {\n color: var(--snice-color-primary, rgb(37 99 235));\n text-decoration: none;\n}\n\n.login__footer ::slotted(a:hover) {\n text-decoration: underline;\n}\n\n/* Size variants */\n.login--small .login__title {\n font-size: 1.25rem; /* 20px */\n}\n\n.login--small .login__input,\n.login--small .login__button {\n padding: 0.625rem; /* 10px */\n font-size: 0.875rem; /* 14px */\n}\n\n.login--small .login__button {\n min-height: 2.5rem; /* 40px */\n}\n\n.login--large .login__title {\n font-size: 1.875rem; /* 30px */\n}\n\n.login--large .login__input,\n.login--large .login__button {\n padding: 1rem; /* 16px */\n font-size: 1.125rem; /* 18px */\n}\n\n.login--large .login__button {\n min-height: 3.5rem; /* 56px */\n}\n\n[hidden] {\n display: none;\n}\n\nsnice-alert {\n margin-top: var(--snice-spacing-md, 1rem);\n}\n\n/* Mobile responsive */\n@media (max-width: 640px) {\n .login {\n max-width: none;\n margin: 0;\n }\n \n .login--card {\n border-radius: 0;\n border-left: none;\n border-right: none;\n }\n}";
7
+
8
+ let SniceLogin = (() => {
9
+ let _classDecorators = [element('snice-login')];
10
+ let _classDescriptor;
11
+ let _classExtraInitializers = [];
12
+ let _classThis;
13
+ let _classSuper = HTMLElement;
14
+ let _instanceExtraInitializers = [];
15
+ let _variant_decorators;
16
+ let _variant_initializers = [];
17
+ let _variant_extraInitializers = [];
18
+ let _size_decorators;
19
+ let _size_initializers = [];
20
+ let _size_extraInitializers = [];
21
+ let _title_decorators;
22
+ let _title_initializers = [];
23
+ let _title_extraInitializers = [];
24
+ let _disabled_decorators;
25
+ let _disabled_initializers = [];
26
+ let _disabled_extraInitializers = [];
27
+ let _loading_decorators;
28
+ let _loading_initializers = [];
29
+ let _loading_extraInitializers = [];
30
+ let _showRememberMe_decorators;
31
+ let _showRememberMe_initializers = [];
32
+ let _showRememberMe_extraInitializers = [];
33
+ let _showForgotPassword_decorators;
34
+ let _showForgotPassword_initializers = [];
35
+ let _showForgotPassword_extraInitializers = [];
36
+ let _actionText_decorators;
37
+ let _actionText_initializers = [];
38
+ let _actionText_extraInitializers = [];
39
+ let _form_decorators;
40
+ let _form_initializers = [];
41
+ let _form_extraInitializers = [];
42
+ let _usernameInput_decorators;
43
+ let _usernameInput_initializers = [];
44
+ let _usernameInput_extraInitializers = [];
45
+ let _passwordInput_decorators;
46
+ let _passwordInput_initializers = [];
47
+ let _passwordInput_extraInitializers = [];
48
+ let _rememberInput_decorators;
49
+ let _rememberInput_initializers = [];
50
+ let _rememberInput_extraInitializers = [];
51
+ let _alertElement_decorators;
52
+ let _alertElement_initializers = [];
53
+ let _alertElement_extraInitializers = [];
54
+ let _buttonElement_decorators;
55
+ let _buttonElement_initializers = [];
56
+ let _buttonElement_extraInitializers = [];
57
+ let _inputElements_decorators;
58
+ let _inputElements_initializers = [];
59
+ let _inputElements_extraInitializers = [];
60
+ let _login_decorators;
61
+ let _handleButtonClick_decorators;
62
+ let _handleSubmit_decorators;
63
+ let _handleEnterKey_decorators;
64
+ let _handleForgotPassword_decorators;
65
+ let _dispatchLoginSuccess_decorators;
66
+ let _dispatchLoginError_decorators;
67
+ (class extends _classSuper {
68
+ static { _classThis = this; }
69
+ constructor() {
70
+ super(...arguments);
71
+ this.variant = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _variant_initializers, 'default'));
72
+ this.size = (__runInitializers(this, _variant_extraInitializers), __runInitializers(this, _size_initializers, 'medium'));
73
+ this.title = (__runInitializers(this, _size_extraInitializers), __runInitializers(this, _title_initializers, 'Sign In'));
74
+ this.disabled = (__runInitializers(this, _title_extraInitializers), __runInitializers(this, _disabled_initializers, false));
75
+ this.loading = (__runInitializers(this, _disabled_extraInitializers), __runInitializers(this, _loading_initializers, false));
76
+ this.showRememberMe = (__runInitializers(this, _loading_extraInitializers), __runInitializers(this, _showRememberMe_initializers, true));
77
+ this.showForgotPassword = (__runInitializers(this, _showRememberMe_extraInitializers), __runInitializers(this, _showForgotPassword_initializers, true));
78
+ this.actionText = (__runInitializers(this, _showForgotPassword_extraInitializers), __runInitializers(this, _actionText_initializers, 'Sign In'));
79
+ this.form = (__runInitializers(this, _actionText_extraInitializers), __runInitializers(this, _form_initializers, void 0));
80
+ this.usernameInput = (__runInitializers(this, _form_extraInitializers), __runInitializers(this, _usernameInput_initializers, void 0));
81
+ this.passwordInput = (__runInitializers(this, _usernameInput_extraInitializers), __runInitializers(this, _passwordInput_initializers, void 0));
82
+ this.rememberInput = (__runInitializers(this, _passwordInput_extraInitializers), __runInitializers(this, _rememberInput_initializers, void 0));
83
+ this.alertElement = (__runInitializers(this, _rememberInput_extraInitializers), __runInitializers(this, _alertElement_initializers, void 0));
84
+ this.buttonElement = (__runInitializers(this, _alertElement_extraInitializers), __runInitializers(this, _buttonElement_initializers, void 0));
85
+ this.inputElements = (__runInitializers(this, _buttonElement_extraInitializers), __runInitializers(this, _inputElements_initializers, void 0));
86
+ this.alertMessage = (__runInitializers(this, _inputElements_extraInitializers), '');
87
+ this.alertVariant = '';
88
+ }
89
+ static {
90
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
91
+ _variant_decorators = [property({ reflect: true })];
92
+ _size_decorators = [property({ reflect: true })];
93
+ _title_decorators = [property({ reflect: true })];
94
+ _disabled_decorators = [property({ type: Boolean, reflect: true })];
95
+ _loading_decorators = [property({ type: Boolean, reflect: true })];
96
+ _showRememberMe_decorators = [property({ type: Boolean, reflect: true, attribute: 'show-remember-me' })];
97
+ _showForgotPassword_decorators = [property({ type: Boolean, reflect: true, attribute: 'show-forgot-password' })];
98
+ _actionText_decorators = [property({ reflect: true, attribute: 'action-text' })];
99
+ _form_decorators = [query('.login__form')];
100
+ _usernameInput_decorators = [query('input[name="username"]')];
101
+ _passwordInput_decorators = [query('input[name="password"]')];
102
+ _rememberInput_decorators = [query('input[name="remember"]')];
103
+ _alertElement_decorators = [query('snice-alert')];
104
+ _buttonElement_decorators = [query('snice-button')];
105
+ _inputElements_decorators = [queryAll('input')];
106
+ _login_decorators = [request('login-user')];
107
+ _handleButtonClick_decorators = [on('click', 'snice-button')];
108
+ _handleSubmit_decorators = [on('submit', '.login__form'), dispatch('@snice/login-attempt', { bubbles: true, composed: true })];
109
+ _handleEnterKey_decorators = [on('keydown:Enter', '.login__input')];
110
+ _handleForgotPassword_decorators = [on('click', '.login__forgot'), dispatch('@snice/login-forgot-password', { bubbles: true, composed: true })];
111
+ _dispatchLoginSuccess_decorators = [dispatch('@snice/login-success', { bubbles: true, composed: true })];
112
+ _dispatchLoginError_decorators = [dispatch('@snice/login-error', { bubbles: true, composed: true })];
113
+ __esDecorate(this, null, _login_decorators, { kind: "method", name: "login", static: false, private: false, access: { has: obj => "login" in obj, get: obj => obj.login }, metadata: _metadata }, null, _instanceExtraInitializers);
114
+ __esDecorate(this, null, _handleButtonClick_decorators, { kind: "method", name: "handleButtonClick", static: false, private: false, access: { has: obj => "handleButtonClick" in obj, get: obj => obj.handleButtonClick }, metadata: _metadata }, null, _instanceExtraInitializers);
115
+ __esDecorate(this, null, _handleSubmit_decorators, { kind: "method", name: "handleSubmit", static: false, private: false, access: { has: obj => "handleSubmit" in obj, get: obj => obj.handleSubmit }, metadata: _metadata }, null, _instanceExtraInitializers);
116
+ __esDecorate(this, null, _handleEnterKey_decorators, { kind: "method", name: "handleEnterKey", static: false, private: false, access: { has: obj => "handleEnterKey" in obj, get: obj => obj.handleEnterKey }, metadata: _metadata }, null, _instanceExtraInitializers);
117
+ __esDecorate(this, null, _handleForgotPassword_decorators, { kind: "method", name: "handleForgotPassword", static: false, private: false, access: { has: obj => "handleForgotPassword" in obj, get: obj => obj.handleForgotPassword }, metadata: _metadata }, null, _instanceExtraInitializers);
118
+ __esDecorate(this, null, _dispatchLoginSuccess_decorators, { kind: "method", name: "dispatchLoginSuccess", static: false, private: false, access: { has: obj => "dispatchLoginSuccess" in obj, get: obj => obj.dispatchLoginSuccess }, metadata: _metadata }, null, _instanceExtraInitializers);
119
+ __esDecorate(this, null, _dispatchLoginError_decorators, { kind: "method", name: "dispatchLoginError", static: false, private: false, access: { has: obj => "dispatchLoginError" in obj, get: obj => obj.dispatchLoginError }, metadata: _metadata }, null, _instanceExtraInitializers);
120
+ __esDecorate(null, null, _variant_decorators, { kind: "field", name: "variant", static: false, private: false, access: { has: obj => "variant" in obj, get: obj => obj.variant, set: (obj, value) => { obj.variant = value; } }, metadata: _metadata }, _variant_initializers, _variant_extraInitializers);
121
+ __esDecorate(null, null, _size_decorators, { kind: "field", name: "size", static: false, private: false, access: { has: obj => "size" in obj, get: obj => obj.size, set: (obj, value) => { obj.size = value; } }, metadata: _metadata }, _size_initializers, _size_extraInitializers);
122
+ __esDecorate(null, null, _title_decorators, { kind: "field", name: "title", static: false, private: false, access: { has: obj => "title" in obj, get: obj => obj.title, set: (obj, value) => { obj.title = value; } }, metadata: _metadata }, _title_initializers, _title_extraInitializers);
123
+ __esDecorate(null, null, _disabled_decorators, { kind: "field", name: "disabled", static: false, private: false, access: { has: obj => "disabled" in obj, get: obj => obj.disabled, set: (obj, value) => { obj.disabled = value; } }, metadata: _metadata }, _disabled_initializers, _disabled_extraInitializers);
124
+ __esDecorate(null, null, _loading_decorators, { kind: "field", name: "loading", static: false, private: false, access: { has: obj => "loading" in obj, get: obj => obj.loading, set: (obj, value) => { obj.loading = value; } }, metadata: _metadata }, _loading_initializers, _loading_extraInitializers);
125
+ __esDecorate(null, null, _showRememberMe_decorators, { kind: "field", name: "showRememberMe", static: false, private: false, access: { has: obj => "showRememberMe" in obj, get: obj => obj.showRememberMe, set: (obj, value) => { obj.showRememberMe = value; } }, metadata: _metadata }, _showRememberMe_initializers, _showRememberMe_extraInitializers);
126
+ __esDecorate(null, null, _showForgotPassword_decorators, { kind: "field", name: "showForgotPassword", static: false, private: false, access: { has: obj => "showForgotPassword" in obj, get: obj => obj.showForgotPassword, set: (obj, value) => { obj.showForgotPassword = value; } }, metadata: _metadata }, _showForgotPassword_initializers, _showForgotPassword_extraInitializers);
127
+ __esDecorate(null, null, _actionText_decorators, { kind: "field", name: "actionText", static: false, private: false, access: { has: obj => "actionText" in obj, get: obj => obj.actionText, set: (obj, value) => { obj.actionText = value; } }, metadata: _metadata }, _actionText_initializers, _actionText_extraInitializers);
128
+ __esDecorate(null, null, _form_decorators, { kind: "field", name: "form", static: false, private: false, access: { has: obj => "form" in obj, get: obj => obj.form, set: (obj, value) => { obj.form = value; } }, metadata: _metadata }, _form_initializers, _form_extraInitializers);
129
+ __esDecorate(null, null, _usernameInput_decorators, { kind: "field", name: "usernameInput", static: false, private: false, access: { has: obj => "usernameInput" in obj, get: obj => obj.usernameInput, set: (obj, value) => { obj.usernameInput = value; } }, metadata: _metadata }, _usernameInput_initializers, _usernameInput_extraInitializers);
130
+ __esDecorate(null, null, _passwordInput_decorators, { kind: "field", name: "passwordInput", static: false, private: false, access: { has: obj => "passwordInput" in obj, get: obj => obj.passwordInput, set: (obj, value) => { obj.passwordInput = value; } }, metadata: _metadata }, _passwordInput_initializers, _passwordInput_extraInitializers);
131
+ __esDecorate(null, null, _rememberInput_decorators, { kind: "field", name: "rememberInput", static: false, private: false, access: { has: obj => "rememberInput" in obj, get: obj => obj.rememberInput, set: (obj, value) => { obj.rememberInput = value; } }, metadata: _metadata }, _rememberInput_initializers, _rememberInput_extraInitializers);
132
+ __esDecorate(null, null, _alertElement_decorators, { kind: "field", name: "alertElement", static: false, private: false, access: { has: obj => "alertElement" in obj, get: obj => obj.alertElement, set: (obj, value) => { obj.alertElement = value; } }, metadata: _metadata }, _alertElement_initializers, _alertElement_extraInitializers);
133
+ __esDecorate(null, null, _buttonElement_decorators, { kind: "field", name: "buttonElement", static: false, private: false, access: { has: obj => "buttonElement" in obj, get: obj => obj.buttonElement, set: (obj, value) => { obj.buttonElement = value; } }, metadata: _metadata }, _buttonElement_initializers, _buttonElement_extraInitializers);
134
+ __esDecorate(null, null, _inputElements_decorators, { kind: "field", name: "inputElements", static: false, private: false, access: { has: obj => "inputElements" in obj, get: obj => obj.inputElements, set: (obj, value) => { obj.inputElements = value; } }, metadata: _metadata }, _inputElements_initializers, _inputElements_extraInitializers);
135
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
136
+ _classThis = _classDescriptor.value;
137
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
138
+ __runInitializers(_classThis, _classExtraInitializers);
139
+ }
140
+ html() {
141
+ return /*html*/ `
142
+ <div class="login login--${this.variant} login--${this.size}">
143
+ <slot name="before-header"></slot>
144
+
145
+ <div class="login__header">
146
+ <h1 class="login__title">${this.title}</h1>
147
+ <slot name="subtitle">
148
+ <p class="login__subtitle">Enter your credentials to continue</p>
149
+ </slot>
150
+ </div>
151
+
152
+ <slot name="after-header"></slot>
153
+ <slot name="before-form"></slot>
154
+
155
+ <form class="login__form">
156
+ <slot name="form-top"></slot>
157
+
158
+ <div class="login__field">
159
+ <label class="login__label" for="username">Username</label>
160
+ <input
161
+ class="login__input"
162
+ type="text"
163
+ name="username"
164
+ id="username"
165
+ required
166
+ autocomplete="username"
167
+ placeholder="Enter your username"
168
+ ${this.disabled || this.loading ? 'disabled' : ''}
169
+ />
170
+ </div>
171
+
172
+ <slot name="between-fields"></slot>
173
+
174
+ <div class="login__field">
175
+ <label class="login__label" for="password">Password</label>
176
+ <input
177
+ class="login__input"
178
+ type="password"
179
+ name="password"
180
+ id="password"
181
+ required
182
+ autocomplete="current-password"
183
+ placeholder="Enter your password"
184
+ ${this.disabled || this.loading ? 'disabled' : ''}
185
+ />
186
+ </div>
187
+
188
+ <div class="login__options" ${!this.showRememberMe && !this.showForgotPassword ? 'hidden' : ''}>
189
+ <label class="login__remember" ${!this.showRememberMe ? 'hidden' : ''}>
190
+ <input class="login__checkbox" type="checkbox" name="remember" ${this.disabled || this.loading ? 'disabled' : ''} />
191
+ Remember me
192
+ </label>
193
+
194
+ <a href="#" class="login__forgot" ${!this.showForgotPassword ? 'hidden' : ''}>Forgot password?</a>
195
+ </div>
196
+
197
+ <slot name="before-submit"></slot>
198
+
199
+ <snice-button type="submit" variant="primary" ${this.disabled ? 'disabled' : ''} ${this.loading ? 'loading' : ''}>
200
+ ${this.actionText}
201
+ </snice-button>
202
+
203
+ <slot name="after-submit"></slot>
204
+ </form>
205
+
206
+ <slot name="after-form"></slot>
207
+
208
+ <snice-alert variant="${this.alertVariant}" ${!this.alertMessage ? 'hidden' : ''}>${this.alertMessage}</snice-alert>
209
+
210
+ <div class="login__footer">
211
+ <slot name="footer"></slot>
212
+ </div>
213
+ </div>
214
+ `;
215
+ }
216
+ css() {
217
+ return css;
218
+ }
219
+ async *login(credentials) {
220
+ if (!credentials) {
221
+ credentials = this.getFormData();
222
+ }
223
+ if (!credentials.username || !credentials.password) {
224
+ return {
225
+ success: false,
226
+ error: 'Username and password are required'
227
+ };
228
+ }
229
+ try {
230
+ const result = await (yield credentials);
231
+ return result;
232
+ }
233
+ catch (error) {
234
+ return {
235
+ success: false,
236
+ error: error instanceof Error ? error.message : 'Login failed'
237
+ };
238
+ }
239
+ }
240
+ async handleButtonClick(event) {
241
+ event.preventDefault();
242
+ // Trigger form submit
243
+ if (this.form) {
244
+ this.form.requestSubmit();
245
+ }
246
+ }
247
+ async handleSubmit(event) {
248
+ event.preventDefault();
249
+ if (this.loading || this.disabled) {
250
+ return;
251
+ }
252
+ this.clearAlert();
253
+ this.loading = true;
254
+ this.updateLoadingState();
255
+ // Wait a tick to ensure the form is properly rendered
256
+ await new Promise(resolve => setTimeout(resolve, 0));
257
+ try {
258
+ const credentials = this.getFormData();
259
+ if (!credentials.username || !credentials.password) {
260
+ this.showAlert('Username and password are required', 'error');
261
+ return;
262
+ }
263
+ const result = await this.login(credentials);
264
+ if (result.success) {
265
+ this.showAlert('Login successful!', 'success');
266
+ this.dispatchLoginSuccess(result);
267
+ }
268
+ else {
269
+ this.showAlert(result.error || 'Login failed', 'error');
270
+ this.dispatchLoginError(result.error || 'Login failed');
271
+ }
272
+ }
273
+ catch (error) {
274
+ const errorMessage = error instanceof Error ? error.message : 'Login failed';
275
+ this.showAlert(errorMessage, 'error');
276
+ this.dispatchLoginError(errorMessage);
277
+ }
278
+ finally {
279
+ this.loading = false;
280
+ this.updateLoadingState();
281
+ }
282
+ const credentials = this.getFormData();
283
+ return {
284
+ username: credentials.username,
285
+ timestamp: new Date().toISOString()
286
+ };
287
+ }
288
+ handleEnterKey() {
289
+ if (!this.loading && !this.disabled && this.form) {
290
+ this.form.requestSubmit();
291
+ }
292
+ }
293
+ handleForgotPassword(event) {
294
+ event.preventDefault();
295
+ return {
296
+ timestamp: new Date().toISOString()
297
+ };
298
+ }
299
+ dispatchLoginSuccess(result) {
300
+ return { timestamp: new Date().toISOString() };
301
+ }
302
+ dispatchLoginError(error) {
303
+ return {
304
+ error,
305
+ timestamp: new Date().toISOString()
306
+ };
307
+ }
308
+ getFormData() {
309
+ const usernameInput = this.shadowRoot?.querySelector('#username');
310
+ const passwordInput = this.shadowRoot?.querySelector('#password');
311
+ const rememberInput = this.shadowRoot?.querySelector('input[name="remember"]');
312
+ return {
313
+ username: usernameInput?.value || '',
314
+ password: passwordInput?.value || '',
315
+ remember: rememberInput?.checked || false
316
+ };
317
+ }
318
+ showAlert(message, variant) {
319
+ this.alertMessage = message;
320
+ this.alertVariant = variant;
321
+ this.updateAlert();
322
+ }
323
+ clearAlert() {
324
+ this.alertMessage = '';
325
+ this.alertVariant = '';
326
+ this.updateAlert();
327
+ }
328
+ updateAlert() {
329
+ if (this.alertElement) {
330
+ this.alertElement.setAttribute('variant', this.alertVariant);
331
+ this.alertElement.textContent = this.alertMessage;
332
+ if (this.alertMessage) {
333
+ this.alertElement.removeAttribute('hidden');
334
+ }
335
+ else {
336
+ this.alertElement.setAttribute('hidden', '');
337
+ }
338
+ }
339
+ }
340
+ updateLoadingState() {
341
+ if (this.buttonElement) {
342
+ if (this.loading) {
343
+ this.buttonElement.setAttribute('loading', '');
344
+ }
345
+ else {
346
+ this.buttonElement.removeAttribute('loading');
347
+ }
348
+ if (this.disabled) {
349
+ this.buttonElement.setAttribute('disabled', '');
350
+ }
351
+ else {
352
+ this.buttonElement.removeAttribute('disabled');
353
+ }
354
+ }
355
+ this.inputElements?.forEach(input => {
356
+ if (this.disabled || this.loading) {
357
+ input.setAttribute('disabled', '');
358
+ }
359
+ else {
360
+ input.removeAttribute('disabled');
361
+ }
362
+ });
363
+ }
364
+ setError(message) {
365
+ this.showAlert(message, 'error');
366
+ }
367
+ clearError() {
368
+ this.clearAlert();
369
+ }
370
+ reset() {
371
+ if (this.form) {
372
+ this.form.reset();
373
+ }
374
+ this.clearAlert();
375
+ this.loading = false;
376
+ }
377
+ });
378
+ return _classThis;
379
+ })();
380
+
381
+ export { SniceLogin };
382
+ //# sourceMappingURL=snice-login.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snice-login.js","sources":["../../../components/login/snice-login.css?inline","../../../../components/login/snice-login.ts"],"sourcesContent":["export default \"/* Login Component */\\n:host {\\n display: block;\\n font-family: var(--snice-font-family, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif);\\n}\\n\\n.login {\\n max-width: 24rem; /* 384px */\\n margin: 0 auto;\\n}\\n\\n.login--card {\\n background: var(--snice-color-background-element, rgb(252 251 249));\\n border: 1px solid var(--snice-color-border, rgb(226 226 226));\\n border-radius: var(--snice-border-radius-lg, 0.5rem);\\n padding: var(--snice-spacing-xl, 2rem);\\n box-shadow: var(--snice-shadow-md, 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1));\\n}\\n\\n.login--minimal {\\n background: transparent;\\n border: none;\\n padding: 0;\\n box-shadow: none;\\n}\\n\\n.login--small {\\n max-width: 20rem; /* 320px */\\n}\\n\\n.login--large {\\n max-width: 28rem; /* 448px */\\n}\\n\\n.login__header {\\n text-align: center;\\n margin-bottom: var(--snice-spacing-xl, 2rem);\\n}\\n\\n.login__title {\\n margin: 0 0 var(--snice-spacing-xs, 0.5rem) 0;\\n font-size: var(--snice-font-size-2xl, 1.5rem);\\n font-weight: var(--snice-font-weight-bold, 700);\\n color: var(--snice-color-text, rgb(23 23 23));\\n}\\n\\n.login__subtitle {\\n margin: 0;\\n font-size: var(--snice-font-size-sm, 0.875rem);\\n color: var(--snice-color-text-secondary, rgb(82 82 82));\\n}\\n\\n.login__form {\\n display: flex;\\n flex-direction: column;\\n gap: var(--snice-spacing-md, 1rem);\\n}\\n\\n.login__field {\\n display: flex;\\n flex-direction: column;\\n gap: var(--snice-spacing-2xs, 0.25rem);\\n}\\n\\n.login__label {\\n font-size: var(--snice-font-size-sm, 0.875rem);\\n font-weight: var(--snice-font-weight-medium, 500);\\n color: var(--snice-color-text, rgb(23 23 23));\\n}\\n\\n.login__input {\\n padding: var(--snice-spacing-sm, 0.75rem);\\n border: 1px solid var(--snice-color-border, rgb(226 226 226));\\n border-radius: var(--snice-border-radius-md, 0.25rem);\\n font-size: var(--snice-font-size-md, 1rem);\\n font-family: var(--snice-font-family, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif);\\n transition: border-color var(--snice-transition-fast, 150ms) ease;\\n background: var(--snice-color-background, rgb(255 255 255));\\n color: var(--snice-color-text, rgb(23 23 23));\\n}\\n\\n.login__input:focus {\\n outline: none;\\n border-color: var(--snice-color-border-focus, rgb(59 130 246));\\n box-shadow: 0 0 0 var(--snice-focus-ring-width, 2px) var(--snice-focus-ring-color, rgb(59 130 246 / 0.5));\\n}\\n\\n.login__input:disabled {\\n background: var(--snice-color-background-secondary, rgb(250 250 250));\\n color: var(--snice-color-text-tertiary, rgb(115 115 115));\\n cursor: not-allowed;\\n}\\n\\n.login__input--error {\\n border-color: var(--snice-color-danger, rgb(220 38 38));\\n}\\n\\n.login__input--error:focus {\\n border-color: var(--snice-color-danger, rgb(220 38 38));\\n box-shadow: 0 0 0 var(--snice-focus-ring-width, 2px) rgb(239 68 68 / 0.2);\\n}\\n\\n.login__options {\\n display: flex;\\n justify-content: space-between;\\n align-items: center;\\n margin: var(--snice-spacing-xs, 0.5rem) 0;\\n}\\n\\n.login__remember {\\n display: flex;\\n align-items: center;\\n gap: var(--snice-spacing-xs, 0.5rem);\\n font-size: var(--snice-font-size-sm, 0.875rem);\\n color: var(--snice-color-text-secondary, rgb(82 82 82));\\n}\\n\\n.login__checkbox {\\n margin: 0;\\n}\\n\\n.login__forgot {\\n font-size: var(--snice-font-size-sm, 0.875rem);\\n color: var(--snice-color-primary, rgb(37 99 235));\\n text-decoration: none;\\n transition: color var(--snice-transition-fast, 150ms) ease;\\n}\\n\\n.login__forgot:hover {\\n color: var(--snice-color-primary-hover, rgb(29 78 216));\\n text-decoration: underline;\\n}\\n\\n\\n\\n.login__footer {\\n text-align: center;\\n margin-top: var(--snice-spacing-lg, 1.5rem);\\n}\\n\\n.login__footer ::slotted(*) {\\n font-size: var(--snice-font-size-sm, 0.875rem);\\n color: var(--snice-color-text-secondary, rgb(82 82 82));\\n}\\n\\n.login__footer ::slotted(a) {\\n color: var(--snice-color-primary, rgb(37 99 235));\\n text-decoration: none;\\n}\\n\\n.login__footer ::slotted(a:hover) {\\n text-decoration: underline;\\n}\\n\\n/* Size variants */\\n.login--small .login__title {\\n font-size: 1.25rem; /* 20px */\\n}\\n\\n.login--small .login__input,\\n.login--small .login__button {\\n padding: 0.625rem; /* 10px */\\n font-size: 0.875rem; /* 14px */\\n}\\n\\n.login--small .login__button {\\n min-height: 2.5rem; /* 40px */\\n}\\n\\n.login--large .login__title {\\n font-size: 1.875rem; /* 30px */\\n}\\n\\n.login--large .login__input,\\n.login--large .login__button {\\n padding: 1rem; /* 16px */\\n font-size: 1.125rem; /* 18px */\\n}\\n\\n.login--large .login__button {\\n min-height: 3.5rem; /* 56px */\\n}\\n\\n[hidden] {\\n display: none;\\n}\\n\\nsnice-alert {\\n margin-top: var(--snice-spacing-md, 1rem);\\n}\\n\\n/* Mobile responsive */\\n@media (max-width: 640px) {\\n .login {\\n max-width: none;\\n margin: 0;\\n }\\n \\n .login--card {\\n border-radius: 0;\\n border-left: none;\\n border-right: none;\\n }\\n}\";",null],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ export type LoginVariant = 'default' | 'card' | 'minimal';
2
+ export type LoginSize = 'small' | 'medium' | 'large';
3
+ export interface LoginCredentials {
4
+ username: string;
5
+ password: string;
6
+ remember?: boolean;
7
+ }
8
+ export interface LoginResult {
9
+ success: boolean;
10
+ error?: string;
11
+ data?: any;
12
+ }
13
+ export interface SniceLoginElement extends HTMLElement {
14
+ variant: LoginVariant;
15
+ size: LoginSize;
16
+ title: string;
17
+ disabled: boolean;
18
+ loading: boolean;
19
+ showRememberMe: boolean;
20
+ showForgotPassword: boolean;
21
+ actionText: string;
22
+ login(credentials: LoginCredentials): Promise<LoginResult>;
23
+ reset(): void;
24
+ setError(message: string): void;
25
+ clearError(): void;
26
+ }
@@ -0,0 +1,32 @@
1
+ import type { ModalSize, SniceModalElement } from './snice-modal.types';
2
+ export declare class SniceModal extends HTMLElement implements SniceModalElement {
3
+ open: boolean;
4
+ size: ModalSize;
5
+ private previousSize;
6
+ noBackdropDismiss: boolean;
7
+ noEscapeDismiss: boolean;
8
+ noFocusTrap: boolean;
9
+ noCloseButton: boolean;
10
+ label: string;
11
+ modal?: HTMLElement;
12
+ panel?: HTMLElement;
13
+ backdrop?: HTMLElement;
14
+ private previousFocus;
15
+ html(): string;
16
+ css(): string;
17
+ init(): void;
18
+ handleOpenChange(): void;
19
+ handleSizeChange(): void;
20
+ handleCloseButtonChange(): void;
21
+ handleBackdropClick(): void;
22
+ handleCloseClick(): void;
23
+ handleEscape(): void;
24
+ handleTab(e: KeyboardEvent): void;
25
+ private showModal;
26
+ private hideModal;
27
+ private trapFocus;
28
+ private dispatchOpenEvent;
29
+ private dispatchCloseEvent;
30
+ show(): void;
31
+ close(): void;
32
+ }