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,880 +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, watch, dispatch, ready } from 'snice';
11
- import css from './snice-date-picker.css?inline';
12
- let SniceDatePicker = class SniceDatePicker extends HTMLElement {
13
- constructor() {
14
- super(...arguments);
15
- this.size = 'medium';
16
- this.variant = 'outlined';
17
- this.value = '';
18
- // Track input separately to prevent cursor jumps during typing
19
- this.inputValue = '';
20
- this.format = 'mm/dd/yyyy';
21
- this.placeholder = '';
22
- this.label = '';
23
- this.helperText = '';
24
- this.errorText = '';
25
- this.disabled = false;
26
- this.readonly = false;
27
- this.required = false;
28
- this.invalid = false;
29
- this.clearable = false;
30
- this.min = '';
31
- this.max = '';
32
- this.name = '';
33
- this.showCalendar = false;
34
- this.firstDayOfWeek = 0; // 0 = Sunday
35
- this.selectedDate = null;
36
- this.viewDate = new Date();
37
- this.monthNames = [
38
- 'January', 'February', 'March', 'April', 'May', 'June',
39
- 'July', 'August', 'September', 'October', 'November', 'December'
40
- ];
41
- this.dayNames = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];
42
- }
43
- css() {
44
- return css;
45
- }
46
- html() {
47
- return /*html*/ `
48
- <div class="date-picker-wrapper">
49
- ${this.label ? /*html*/ `
50
- <label class="label ${this.required ? 'label--required' : ''}">
51
- ${this.label}
52
- </label>
53
- ` : ''}
54
-
55
- <div class="input-container">
56
- <input
57
- class="input
58
- input--${this.size}
59
- input--${this.variant}
60
- ${this.invalid ? 'input--invalid' : ''}
61
- ${this.clearable ? 'input--clearable' : ''}"
62
- type="text"
63
- value="${this.inputValue || this.getFormattedValue()}"
64
- placeholder="${this.placeholder || this.getPlaceholderForFormat()}"
65
- ${this.disabled ? 'disabled' : ''}
66
- ${this.readonly ? 'readonly' : ''}
67
- ${this.required ? 'required' : ''}
68
- ${this.name ? `name="${this.name}"` : ''}
69
- part="input"
70
- autocomplete="off"
71
- />
72
-
73
- <button
74
- class="calendar-toggle"
75
- type="button"
76
- aria-label="Open calendar"
77
- tabindex="-1"
78
- part="calendar-toggle"
79
- ${this.disabled ? 'disabled' : ''}
80
- >
81
- <svg viewBox="0 0 24 24" width="18" height="18">
82
- <path d="M19 3h-1V1h-2v2H8V1H6v2H5c-1.11 0-1.99.9-1.99 2L3 19c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H5V8h14v11zM7 10h5v5H7z" fill="currentColor"/>
83
- </svg>
84
- </button>
85
-
86
- <button
87
- class="clear-button"
88
- type="button"
89
- aria-label="Clear"
90
- tabindex="-1"
91
- part="clear"
92
- style="display: none;"
93
- >
94
- <svg viewBox="0 0 24 24" width="16" height="16">
95
- <path d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z" fill="currentColor"/>
96
- </svg>
97
- </button>
98
-
99
- <div class="calendar" part="calendar" hidden>
100
- <div class="calendar-header">
101
- <button class="nav-button" type="button" data-nav="prev-month" aria-label="Previous month">
102
- <svg viewBox="0 0 24 24" width="20" height="20">
103
- <path d="M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z" fill="currentColor"/>
104
- </svg>
105
- </button>
106
-
107
- <div class="calendar-title">
108
- <button class="month-button" type="button" data-nav="month-picker">
109
- ${this.monthNames[this.viewDate.getMonth()]} ${this.viewDate.getFullYear()}
110
- </button>
111
- </div>
112
-
113
- <button class="nav-button" type="button" data-nav="next-month" aria-label="Next month">
114
- <svg viewBox="0 0 24 24" width="20" height="20">
115
- <path d="M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z" fill="currentColor"/>
116
- </svg>
117
- </button>
118
- </div>
119
-
120
- <div class="calendar-weekdays">
121
- ${this.getDayHeaders()}
122
- </div>
123
-
124
- <div class="calendar-days">
125
- ${this.getDaysGrid()}
126
- </div>
127
-
128
- <div class="calendar-footer">
129
- <button class="today-button" type="button" data-nav="today">
130
- Today
131
- </button>
132
- </div>
133
- </div>
134
- </div>
135
-
136
- ${this.errorText ? /*html*/ `
137
- <span class="error-text" part="error-text">${this.errorText}</span>
138
- ` : this.helperText ? /*html*/ `
139
- <span class="helper-text" part="helper-text">${this.helperText}</span>
140
- ` : /*html*/ `
141
- <span class="helper-text" part="helper-text">&nbsp;</span>
142
- `}
143
- </div>
144
- `;
145
- }
146
- init() {
147
- this.parseInitialValue();
148
- this.updateClearButton();
149
- this.setupCalendarClickOutside();
150
- if (this.input) {
151
- this.input.disabled = this.disabled;
152
- this.input.readOnly = this.readonly;
153
- this.input.required = this.required;
154
- if (this.invalid) {
155
- this.input.setAttribute('aria-invalid', 'true');
156
- this.input.classList.add('input--invalid');
157
- }
158
- }
159
- }
160
- parseInitialValue() {
161
- if (this.value) {
162
- const date = this.parseDate(this.value);
163
- if (date) {
164
- this.selectedDate = date;
165
- this.viewDate = new Date(date);
166
- this.inputValue = this.formatDate(date);
167
- }
168
- else {
169
- this.inputValue = this.value;
170
- }
171
- }
172
- }
173
- parseDate(dateString) {
174
- if (!dateString)
175
- return null;
176
- if (this.format === 'mmmm dd, yyyy') {
177
- const monthNameRegex = /^([A-Za-z]+)\s+(\d{1,2}),\s+(\d{4})$/;
178
- const match = dateString.match(monthNameRegex);
179
- if (match) {
180
- const [, monthName, day, year] = match;
181
- const monthIndex = this.monthNames.findIndex(m => m.toLowerCase() === monthName.toLowerCase());
182
- if (monthIndex >= 0) {
183
- const date = new Date(parseInt(year), monthIndex, parseInt(day));
184
- if (!isNaN(date.getTime())) {
185
- return date;
186
- }
187
- }
188
- }
189
- return null;
190
- }
191
- let date = new Date(dateString);
192
- if (!isNaN(date.getTime())) {
193
- return date;
194
- }
195
- const parts = dateString.split(/[-\/]/);
196
- if (parts.length !== 3)
197
- return null;
198
- let year, month, day;
199
- switch (this.format) {
200
- case 'mm/dd/yyyy':
201
- case 'mm-dd-yyyy':
202
- [month, day, year] = parts.map(Number);
203
- break;
204
- case 'dd/mm/yyyy':
205
- case 'dd-mm-yyyy':
206
- [day, month, year] = parts.map(Number);
207
- break;
208
- case 'yyyy-mm-dd':
209
- case 'yyyy/mm/dd':
210
- [year, month, day] = parts.map(Number);
211
- break;
212
- default:
213
- return null;
214
- }
215
- if (year && month && day) {
216
- date = new Date(year, month - 1, day);
217
- if (!isNaN(date.getTime())) {
218
- return date;
219
- }
220
- }
221
- return null;
222
- }
223
- formatDate(date) {
224
- if (!date)
225
- return '';
226
- const year = date.getFullYear();
227
- const month = date.getMonth() + 1;
228
- const day = date.getDate();
229
- const mm = month.toString().padStart(2, '0');
230
- const dd = day.toString().padStart(2, '0');
231
- const yyyy = year.toString();
232
- switch (this.format) {
233
- case 'mm/dd/yyyy':
234
- return `${mm}/${dd}/${yyyy}`;
235
- case 'dd/mm/yyyy':
236
- return `${dd}/${mm}/${yyyy}`;
237
- case 'yyyy-mm-dd':
238
- return `${yyyy}-${mm}-${dd}`;
239
- case 'yyyy/mm/dd':
240
- return `${yyyy}/${mm}/${dd}`;
241
- case 'dd-mm-yyyy':
242
- return `${dd}-${mm}-${yyyy}`;
243
- case 'mm-dd-yyyy':
244
- return `${mm}-${dd}-${yyyy}`;
245
- case 'mmmm dd, yyyy':
246
- return `${this.monthNames[date.getMonth()]} ${dd}, ${yyyy}`;
247
- default:
248
- return `${mm}/${dd}/${yyyy}`;
249
- }
250
- }
251
- getFormattedValue() {
252
- return this.selectedDate ? this.formatDate(this.selectedDate) : this.value;
253
- }
254
- getPlaceholderForFormat() {
255
- switch (this.format) {
256
- case 'mm/dd/yyyy':
257
- return 'MM/DD/YYYY';
258
- case 'dd/mm/yyyy':
259
- return 'DD/MM/YYYY';
260
- case 'yyyy-mm-dd':
261
- return 'YYYY-MM-DD';
262
- case 'yyyy/mm/dd':
263
- return 'YYYY/MM/DD';
264
- case 'dd-mm-yyyy':
265
- return 'DD-MM-YYYY';
266
- case 'mm-dd-yyyy':
267
- return 'MM-DD-YYYY';
268
- case 'mmmm dd, yyyy':
269
- return 'Month DD, YYYY';
270
- default:
271
- return 'MM/DD/YYYY';
272
- }
273
- }
274
- getDayHeaders() {
275
- const days = [...this.dayNames];
276
- // Rotate array based on firstDayOfWeek (0=Sunday, 1=Monday, etc.)
277
- for (let i = 0; i < this.firstDayOfWeek; i++) {
278
- days.push(days.shift());
279
- }
280
- return days.map(day => `<div class="weekday">${day}</div>`).join('');
281
- }
282
- getDaysGrid() {
283
- const year = this.viewDate.getFullYear();
284
- const month = this.viewDate.getMonth();
285
- // First day of the month
286
- const firstDay = new Date(year, month, 1);
287
- // Last day of the month
288
- const lastDay = new Date(year, month + 1, 0);
289
- // Calculate starting position based on first day of week preference
290
- let startingDayOfWeek = firstDay.getDay() - this.firstDayOfWeek;
291
- if (startingDayOfWeek < 0)
292
- startingDayOfWeek += 7;
293
- const daysInMonth = lastDay.getDate();
294
- const today = new Date();
295
- const isToday = (date) => date.getDate() === today.getDate() &&
296
- date.getMonth() === today.getMonth() &&
297
- date.getFullYear() === today.getFullYear();
298
- const isSelected = (date) => this.selectedDate &&
299
- date.getDate() === this.selectedDate.getDate() &&
300
- date.getMonth() === this.selectedDate.getMonth() &&
301
- date.getFullYear() === this.selectedDate.getFullYear();
302
- const isDisabled = (date) => {
303
- if (this.min) {
304
- const minDate = this.parseDate(this.min);
305
- if (minDate && date < minDate)
306
- return true;
307
- }
308
- if (this.max) {
309
- const maxDate = this.parseDate(this.max);
310
- if (maxDate && date > maxDate)
311
- return true;
312
- }
313
- return false;
314
- };
315
- let html = '';
316
- // Empty cells for days before month starts
317
- for (let i = 0; i < startingDayOfWeek; i++) {
318
- html += '<div class="day day--empty"></div>';
319
- }
320
- // Days of the month
321
- for (let day = 1; day <= daysInMonth; day++) {
322
- const date = new Date(year, month, day);
323
- const classes = ['day'];
324
- if (isToday(date))
325
- classes.push('day--today');
326
- if (isSelected(date))
327
- classes.push('day--selected');
328
- if (isDisabled(date))
329
- classes.push('day--disabled');
330
- html += `
331
- <button
332
- class="${classes.join(' ')}"
333
- type="button"
334
- data-date="${year}-${(month + 1).toString().padStart(2, '0')}-${day.toString().padStart(2, '0')}"
335
- ${isDisabled(date) ? 'disabled' : ''}
336
- aria-label="${this.formatDate(date)}"
337
- >
338
- ${day}
339
- </button>
340
- `;
341
- }
342
- return html;
343
- }
344
- updateInputValue() {
345
- if (this.input && document.activeElement !== this.input) {
346
- const displayValue = this.getFormattedValue();
347
- this.input.value = displayValue;
348
- this.inputValue = displayValue;
349
- }
350
- this.updateClearButton();
351
- }
352
- isCompleteDate(value) {
353
- if (this.format === 'mmmm dd, yyyy') {
354
- return /^[A-Za-z]+\s+\d{1,2},\s+\d{4}$/.test(value);
355
- }
356
- const separators = (value.match(/[\/\-]/g) || []).length;
357
- return separators >= 2 && value.length >= 8;
358
- }
359
- updateClearButton() {
360
- if (this.clearButton && this.clearable) {
361
- const shouldShow = this.selectedDate && !this.disabled && !this.readonly;
362
- this.clearButton.style.display = shouldShow ? '' : 'none';
363
- this.clearButton.classList.toggle('clear-button--visible', !!shouldShow);
364
- }
365
- }
366
- updateCalendarGrid() {
367
- const calendarDays = this.calendar?.querySelector('.calendar-days');
368
- const calendarTitle = this.calendar?.querySelector('.month-button');
369
- if (calendarDays) {
370
- calendarDays.innerHTML = this.getDaysGrid();
371
- }
372
- if (calendarTitle) {
373
- calendarTitle.textContent = `${this.monthNames[this.viewDate.getMonth()]} ${this.viewDate.getFullYear()}`;
374
- }
375
- }
376
- setupCalendarClickOutside() {
377
- document.addEventListener('click', (e) => {
378
- if (!this.contains(e.target) && this.showCalendar) {
379
- this.close();
380
- }
381
- });
382
- }
383
- handleInput(e) {
384
- const target = e.target;
385
- this.inputValue = target.value;
386
- const date = this.parseDate(target.value);
387
- if (date && this.isCompleteDate(target.value)) {
388
- this.selectedDate = date;
389
- this.viewDate = new Date(date);
390
- if (this.showCalendar) {
391
- this.updateCalendarGrid();
392
- }
393
- }
394
- this.updateClearButton();
395
- this.dispatchInputEvent();
396
- }
397
- handleChange(e) {
398
- const target = e.target;
399
- const date = this.parseDate(target.value);
400
- if (date) {
401
- this.selectedDate = date;
402
- this.value = this.formatDate(date);
403
- this.inputValue = this.value;
404
- if (this.input) {
405
- this.input.value = this.value;
406
- }
407
- }
408
- else if (target.value) {
409
- this.selectedDate = null;
410
- this.value = target.value;
411
- this.inputValue = target.value;
412
- }
413
- else {
414
- this.selectedDate = null;
415
- this.value = '';
416
- this.inputValue = '';
417
- }
418
- this.updateClearButton();
419
- this.dispatchChangeEvent();
420
- }
421
- handleFocus() {
422
- this.dispatchFocusEvent();
423
- }
424
- handleInputClick() {
425
- if (!this.showCalendar && !this.disabled && !this.readonly) {
426
- this.open();
427
- }
428
- }
429
- handleBlur() {
430
- this.dispatchBlurEvent();
431
- }
432
- handleCalendarToggle() {
433
- if (this.showCalendar) {
434
- this.close();
435
- }
436
- else {
437
- this.open();
438
- }
439
- }
440
- handleClear() {
441
- this.clear();
442
- }
443
- handleCalendarClick(e) {
444
- e.stopPropagation();
445
- const target = e.target;
446
- if (target.closest('[data-date]')) {
447
- const dateString = target.closest('[data-date]')?.getAttribute('data-date');
448
- if (dateString) {
449
- const date = new Date(dateString);
450
- this.selectDate(date);
451
- }
452
- }
453
- else if (target.closest('[data-nav]')) {
454
- const nav = target.closest('[data-nav]')?.getAttribute('data-nav');
455
- this.handleNavigation(nav);
456
- }
457
- }
458
- handleKeydown(e) {
459
- if (e.key === 'Enter' || e.key === ' ') {
460
- e.preventDefault();
461
- if (!this.showCalendar) {
462
- this.open();
463
- }
464
- }
465
- else if (e.key === 'Escape' && this.showCalendar) {
466
- this.close();
467
- this.focus();
468
- }
469
- }
470
- handleNavigation(nav) {
471
- switch (nav) {
472
- case 'prev-month':
473
- this.viewDate.setMonth(this.viewDate.getMonth() - 1);
474
- this.updateCalendarGrid();
475
- break;
476
- case 'next-month':
477
- this.viewDate.setMonth(this.viewDate.getMonth() + 1);
478
- this.updateCalendarGrid();
479
- break;
480
- case 'today':
481
- this.goToToday();
482
- break;
483
- }
484
- }
485
- handleValueChange() {
486
- const date = this.parseDate(this.value);
487
- this.selectedDate = date;
488
- if (date) {
489
- this.viewDate = new Date(date);
490
- }
491
- this.updateInputValue();
492
- if (this.showCalendar) {
493
- this.updateCalendarGrid();
494
- }
495
- }
496
- // Manual DOM manipulation required since Snice is imperative
497
- handleShowCalendarChange() {
498
- console.log('showCalendar changed:', this.calendar);
499
- if (this.calendar) {
500
- if (this.showCalendar) {
501
- this.calendar.removeAttribute('hidden');
502
- this.dispatchOpenEvent();
503
- // Focus selected date or first available date for accessibility
504
- setTimeout(() => {
505
- (this.selectedDayButton || this.firstDayButton)?.focus();
506
- }, 100);
507
- }
508
- else {
509
- this.calendar.setAttribute('hidden', '');
510
- this.dispatchCloseEvent();
511
- }
512
- }
513
- }
514
- handleDisabledChange() {
515
- if (this.input) {
516
- this.input.disabled = this.disabled;
517
- }
518
- if (this.calendarToggle) {
519
- this.calendarToggle.disabled = this.disabled;
520
- }
521
- this.updateClearButton();
522
- }
523
- handleReadonlyChange() {
524
- if (this.input) {
525
- this.input.readOnly = this.readonly;
526
- }
527
- this.updateClearButton();
528
- }
529
- handleInvalidChange() {
530
- if (this.input) {
531
- this.input.setAttribute('aria-invalid', String(this.invalid));
532
- this.input.classList.toggle('input--invalid', this.invalid);
533
- }
534
- }
535
- handleFormatChange() {
536
- this.updateInputValue();
537
- }
538
- dispatchInputEvent() {
539
- return { value: this.value, datePicker: this };
540
- }
541
- dispatchChangeEvent() {
542
- return {
543
- value: this.value,
544
- date: this.selectedDate,
545
- formatted: this.selectedDate ? this.formatDate(this.selectedDate) : '',
546
- iso: this.selectedDate ? this.selectedDate.toISOString().split('T')[0] : '',
547
- datePicker: this
548
- };
549
- }
550
- dispatchFocusEvent() {
551
- return { datePicker: this };
552
- }
553
- dispatchBlurEvent() {
554
- return { datePicker: this };
555
- }
556
- dispatchOpenEvent() {
557
- return { datePicker: this };
558
- }
559
- dispatchCloseEvent() {
560
- return { datePicker: this };
561
- }
562
- dispatchClearEvent() {
563
- return { datePicker: this };
564
- }
565
- dispatchSelectEvent(date) {
566
- return {
567
- date,
568
- formatted: this.formatDate(date),
569
- iso: date.toISOString().split('T')[0],
570
- datePicker: this
571
- };
572
- }
573
- focus() {
574
- this.input?.focus();
575
- }
576
- blur() {
577
- this.input?.blur();
578
- }
579
- clear() {
580
- this.selectedDate = null;
581
- this.value = '';
582
- this.updateInputValue();
583
- this.dispatchClearEvent();
584
- this.dispatchChangeEvent();
585
- this.focus();
586
- }
587
- open() {
588
- if (!this.disabled && !this.readonly) {
589
- this.showCalendar = true;
590
- if (this.selectedDate) {
591
- this.viewDate = new Date(this.selectedDate);
592
- }
593
- this.updateCalendarGrid();
594
- if (this.calendar) {
595
- this.calendar.removeAttribute('hidden');
596
- }
597
- this.dispatchOpenEvent();
598
- }
599
- }
600
- close() {
601
- this.showCalendar = false;
602
- if (this.calendar) {
603
- this.calendar.setAttribute('hidden', '');
604
- }
605
- this.dispatchCloseEvent();
606
- }
607
- selectDate(date) {
608
- this.selectedDate = date;
609
- this.value = this.formatDate(date);
610
- this.viewDate = new Date(date);
611
- this.updateInputValue();
612
- this.updateCalendarGrid();
613
- this.dispatchSelectEvent(date);
614
- this.dispatchChangeEvent();
615
- this.close();
616
- this.focus();
617
- }
618
- goToMonth(year, month) {
619
- this.viewDate = new Date(year, month, 1);
620
- this.updateCalendarGrid();
621
- }
622
- goToToday() {
623
- const today = new Date();
624
- this.selectDate(today);
625
- }
626
- checkValidity() {
627
- return this.input?.checkValidity() ?? true;
628
- }
629
- reportValidity() {
630
- return this.input?.reportValidity() ?? true;
631
- }
632
- setCustomValidity(message) {
633
- this.input?.setCustomValidity(message);
634
- }
635
- };
636
- __decorate([
637
- property({ reflect: true }),
638
- __metadata("design:type", String)
639
- ], SniceDatePicker.prototype, "size", void 0);
640
- __decorate([
641
- property({ reflect: true }),
642
- __metadata("design:type", String)
643
- ], SniceDatePicker.prototype, "variant", void 0);
644
- __decorate([
645
- property({ reflect: true }),
646
- __metadata("design:type", Object)
647
- ], SniceDatePicker.prototype, "value", void 0);
648
- __decorate([
649
- property({ reflect: true }),
650
- __metadata("design:type", String)
651
- ], SniceDatePicker.prototype, "format", void 0);
652
- __decorate([
653
- property({ reflect: true }),
654
- __metadata("design:type", Object)
655
- ], SniceDatePicker.prototype, "placeholder", void 0);
656
- __decorate([
657
- property({ reflect: true }),
658
- __metadata("design:type", Object)
659
- ], SniceDatePicker.prototype, "label", void 0);
660
- __decorate([
661
- property({ attribute: 'helper-text', reflect: true }),
662
- __metadata("design:type", Object)
663
- ], SniceDatePicker.prototype, "helperText", void 0);
664
- __decorate([
665
- property({ attribute: 'error-text', reflect: true }),
666
- __metadata("design:type", Object)
667
- ], SniceDatePicker.prototype, "errorText", void 0);
668
- __decorate([
669
- property({ type: Boolean, reflect: true }),
670
- __metadata("design:type", Object)
671
- ], SniceDatePicker.prototype, "disabled", void 0);
672
- __decorate([
673
- property({ type: Boolean, reflect: true }),
674
- __metadata("design:type", Object)
675
- ], SniceDatePicker.prototype, "readonly", void 0);
676
- __decorate([
677
- property({ type: Boolean, reflect: true }),
678
- __metadata("design:type", Object)
679
- ], SniceDatePicker.prototype, "required", void 0);
680
- __decorate([
681
- property({ type: Boolean, reflect: true }),
682
- __metadata("design:type", Object)
683
- ], SniceDatePicker.prototype, "invalid", void 0);
684
- __decorate([
685
- property({ type: Boolean, reflect: true }),
686
- __metadata("design:type", Object)
687
- ], SniceDatePicker.prototype, "clearable", void 0);
688
- __decorate([
689
- property({ reflect: true }),
690
- __metadata("design:type", Object)
691
- ], SniceDatePicker.prototype, "min", void 0);
692
- __decorate([
693
- property({ reflect: true }),
694
- __metadata("design:type", Object)
695
- ], SniceDatePicker.prototype, "max", void 0);
696
- __decorate([
697
- property({ reflect: true }),
698
- __metadata("design:type", Object)
699
- ], SniceDatePicker.prototype, "name", void 0);
700
- __decorate([
701
- property({ type: Boolean, attribute: 'show-calendar', reflect: true }),
702
- __metadata("design:type", Object)
703
- ], SniceDatePicker.prototype, "showCalendar", void 0);
704
- __decorate([
705
- property({ type: Number, attribute: 'first-day-of-week', reflect: true }),
706
- __metadata("design:type", Object)
707
- ], SniceDatePicker.prototype, "firstDayOfWeek", void 0);
708
- __decorate([
709
- query('.input'),
710
- __metadata("design:type", HTMLInputElement)
711
- ], SniceDatePicker.prototype, "input", void 0);
712
- __decorate([
713
- query('.calendar'),
714
- __metadata("design:type", HTMLElement)
715
- ], SniceDatePicker.prototype, "calendar", void 0);
716
- __decorate([
717
- query('.clear-button'),
718
- __metadata("design:type", HTMLButtonElement)
719
- ], SniceDatePicker.prototype, "clearButton", void 0);
720
- __decorate([
721
- query('.calendar-toggle'),
722
- __metadata("design:type", HTMLButtonElement)
723
- ], SniceDatePicker.prototype, "calendarToggle", void 0);
724
- __decorate([
725
- query('.day--selected'),
726
- __metadata("design:type", HTMLButtonElement)
727
- ], SniceDatePicker.prototype, "selectedDayButton", void 0);
728
- __decorate([
729
- query('.day:not(.day--empty):not(.day--disabled)'),
730
- __metadata("design:type", HTMLButtonElement)
731
- ], SniceDatePicker.prototype, "firstDayButton", void 0);
732
- __decorate([
733
- ready(),
734
- __metadata("design:type", Function),
735
- __metadata("design:paramtypes", []),
736
- __metadata("design:returntype", void 0)
737
- ], SniceDatePicker.prototype, "init", null);
738
- __decorate([
739
- on('input', '.input'),
740
- __metadata("design:type", Function),
741
- __metadata("design:paramtypes", [Event]),
742
- __metadata("design:returntype", void 0)
743
- ], SniceDatePicker.prototype, "handleInput", null);
744
- __decorate([
745
- on('change', '.input'),
746
- __metadata("design:type", Function),
747
- __metadata("design:paramtypes", [Event]),
748
- __metadata("design:returntype", void 0)
749
- ], SniceDatePicker.prototype, "handleChange", null);
750
- __decorate([
751
- on('focus', '.input'),
752
- __metadata("design:type", Function),
753
- __metadata("design:paramtypes", []),
754
- __metadata("design:returntype", void 0)
755
- ], SniceDatePicker.prototype, "handleFocus", null);
756
- __decorate([
757
- on('click', '.input'),
758
- __metadata("design:type", Function),
759
- __metadata("design:paramtypes", []),
760
- __metadata("design:returntype", void 0)
761
- ], SniceDatePicker.prototype, "handleInputClick", null);
762
- __decorate([
763
- on('blur', '.input'),
764
- __metadata("design:type", Function),
765
- __metadata("design:paramtypes", []),
766
- __metadata("design:returntype", void 0)
767
- ], SniceDatePicker.prototype, "handleBlur", null);
768
- __decorate([
769
- on('click', '.calendar-toggle'),
770
- __metadata("design:type", Function),
771
- __metadata("design:paramtypes", []),
772
- __metadata("design:returntype", void 0)
773
- ], SniceDatePicker.prototype, "handleCalendarToggle", null);
774
- __decorate([
775
- on('click', '.clear-button'),
776
- __metadata("design:type", Function),
777
- __metadata("design:paramtypes", []),
778
- __metadata("design:returntype", void 0)
779
- ], SniceDatePicker.prototype, "handleClear", null);
780
- __decorate([
781
- on('click', '.calendar'),
782
- __metadata("design:type", Function),
783
- __metadata("design:paramtypes", [Event]),
784
- __metadata("design:returntype", void 0)
785
- ], SniceDatePicker.prototype, "handleCalendarClick", null);
786
- __decorate([
787
- on('keydown', '.input'),
788
- __metadata("design:type", Function),
789
- __metadata("design:paramtypes", [KeyboardEvent]),
790
- __metadata("design:returntype", void 0)
791
- ], SniceDatePicker.prototype, "handleKeydown", null);
792
- __decorate([
793
- watch('value'),
794
- __metadata("design:type", Function),
795
- __metadata("design:paramtypes", []),
796
- __metadata("design:returntype", void 0)
797
- ], SniceDatePicker.prototype, "handleValueChange", null);
798
- __decorate([
799
- watch('show-calendar'),
800
- __metadata("design:type", Function),
801
- __metadata("design:paramtypes", []),
802
- __metadata("design:returntype", void 0)
803
- ], SniceDatePicker.prototype, "handleShowCalendarChange", null);
804
- __decorate([
805
- watch('disabled'),
806
- __metadata("design:type", Function),
807
- __metadata("design:paramtypes", []),
808
- __metadata("design:returntype", void 0)
809
- ], SniceDatePicker.prototype, "handleDisabledChange", null);
810
- __decorate([
811
- watch('readonly'),
812
- __metadata("design:type", Function),
813
- __metadata("design:paramtypes", []),
814
- __metadata("design:returntype", void 0)
815
- ], SniceDatePicker.prototype, "handleReadonlyChange", null);
816
- __decorate([
817
- watch('invalid'),
818
- __metadata("design:type", Function),
819
- __metadata("design:paramtypes", []),
820
- __metadata("design:returntype", void 0)
821
- ], SniceDatePicker.prototype, "handleInvalidChange", null);
822
- __decorate([
823
- watch('format'),
824
- __metadata("design:type", Function),
825
- __metadata("design:paramtypes", []),
826
- __metadata("design:returntype", void 0)
827
- ], SniceDatePicker.prototype, "handleFormatChange", null);
828
- __decorate([
829
- dispatch('@snice/datepicker-input', { bubbles: true, composed: true }),
830
- __metadata("design:type", Function),
831
- __metadata("design:paramtypes", []),
832
- __metadata("design:returntype", void 0)
833
- ], SniceDatePicker.prototype, "dispatchInputEvent", null);
834
- __decorate([
835
- dispatch('@snice/datepicker-change', { bubbles: true, composed: true }),
836
- __metadata("design:type", Function),
837
- __metadata("design:paramtypes", []),
838
- __metadata("design:returntype", void 0)
839
- ], SniceDatePicker.prototype, "dispatchChangeEvent", null);
840
- __decorate([
841
- dispatch('@snice/datepicker-focus', { bubbles: true, composed: true }),
842
- __metadata("design:type", Function),
843
- __metadata("design:paramtypes", []),
844
- __metadata("design:returntype", void 0)
845
- ], SniceDatePicker.prototype, "dispatchFocusEvent", null);
846
- __decorate([
847
- dispatch('@snice/datepicker-blur', { bubbles: true, composed: true }),
848
- __metadata("design:type", Function),
849
- __metadata("design:paramtypes", []),
850
- __metadata("design:returntype", void 0)
851
- ], SniceDatePicker.prototype, "dispatchBlurEvent", null);
852
- __decorate([
853
- dispatch('@snice/datepicker-open', { bubbles: true, composed: true }),
854
- __metadata("design:type", Function),
855
- __metadata("design:paramtypes", []),
856
- __metadata("design:returntype", void 0)
857
- ], SniceDatePicker.prototype, "dispatchOpenEvent", null);
858
- __decorate([
859
- dispatch('@snice/datepicker-close', { bubbles: true, composed: true }),
860
- __metadata("design:type", Function),
861
- __metadata("design:paramtypes", []),
862
- __metadata("design:returntype", void 0)
863
- ], SniceDatePicker.prototype, "dispatchCloseEvent", null);
864
- __decorate([
865
- dispatch('@snice/datepicker-clear', { bubbles: true, composed: true }),
866
- __metadata("design:type", Function),
867
- __metadata("design:paramtypes", []),
868
- __metadata("design:returntype", void 0)
869
- ], SniceDatePicker.prototype, "dispatchClearEvent", null);
870
- __decorate([
871
- dispatch('@snice/datepicker-select', { bubbles: true, composed: true }),
872
- __metadata("design:type", Function),
873
- __metadata("design:paramtypes", [Date]),
874
- __metadata("design:returntype", void 0)
875
- ], SniceDatePicker.prototype, "dispatchSelectEvent", null);
876
- SniceDatePicker = __decorate([
877
- element('snice-date-picker')
878
- ], SniceDatePicker);
879
- export { SniceDatePicker };
880
- //# sourceMappingURL=snice-date-picker.js.map