@skf-design-system/ui-components 1.0.2-beta.1 → 1.0.2-beta.10

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 (220) hide show
  1. package/README.md +25 -1
  2. package/dist/components/accordion/accordion-item.component.js +49 -38
  3. package/dist/components/accordion/accordion.component.d.ts +2 -2
  4. package/dist/components/accordion/accordion.component.js +12 -12
  5. package/dist/components/alert/alert.component.d.ts +8 -3
  6. package/dist/components/alert/alert.component.js +59 -50
  7. package/dist/components/alert/alert.styles.js +51 -47
  8. package/dist/components/breadcrumb/breadcrumb-item.component.js +30 -32
  9. package/dist/components/breadcrumb/breadcrumb-item.d.ts +2 -2
  10. package/dist/components/breadcrumb/breadcrumb-item.styles.js +16 -15
  11. package/dist/components/breadcrumb/breadcrumb.component.d.ts +5 -2
  12. package/dist/components/breadcrumb/breadcrumb.component.js +51 -46
  13. package/dist/components/breadcrumb/breadcrumb.d.ts +2 -2
  14. package/dist/components/breadcrumb/breadcrumb.styles.js +13 -10
  15. package/dist/components/button/button.component.js +63 -67
  16. package/dist/components/button/button.styles.js +5 -4
  17. package/dist/components/card/card.component.d.ts +5 -0
  18. package/dist/components/card/card.component.js +46 -24
  19. package/dist/components/card/card.styles.js +31 -14
  20. package/dist/components/checkbox/checkbox.component.d.ts +6 -5
  21. package/dist/components/checkbox/checkbox.component.js +67 -69
  22. package/dist/components/checkbox/checkbox.styles.js +1 -1
  23. package/dist/components/{date-picker/datepicker.calendar.component.d.ts → datepicker/datepicker-calendar.component.d.ts} +8 -1
  24. package/dist/components/{date-picker/datepicker.calendar.component.js → datepicker/datepicker-calendar.component.js} +109 -115
  25. package/dist/components/datepicker/datepicker-calendar.d.ts +8 -0
  26. package/dist/components/datepicker/datepicker-calendar.js +6 -0
  27. package/dist/components/{date-picker/datepicker.component.d.ts → datepicker/datepicker-popup.component.d.ts} +9 -20
  28. package/dist/components/datepicker/datepicker-popup.component.js +272 -0
  29. package/dist/components/datepicker/datepicker-popup.d.ts +8 -0
  30. package/dist/components/{date-picker/datepicker.helpers.d.ts → datepicker/datepicker-popup.helpers.d.ts} +3 -3
  31. package/dist/components/datepicker/datepicker-popup.helpers.js +83 -0
  32. package/dist/components/datepicker/datepicker-popup.js +6 -0
  33. package/dist/components/{date-picker/datepicker.styles.js → datepicker/datepicker-popup.styles.js} +3 -3
  34. package/dist/components/{date-picker-input/datepicker-input.component.d.ts → datepicker/datepicker.component.d.ts} +21 -14
  35. package/dist/components/datepicker/datepicker.component.js +455 -0
  36. package/dist/components/datepicker/datepicker.d.ts +8 -0
  37. package/dist/components/datepicker/datepicker.js +6 -0
  38. package/dist/components/dialog/dialog.component.d.ts +3 -2
  39. package/dist/components/dialog/dialog.component.js +49 -49
  40. package/dist/components/dialog/dialog.d.ts +2 -2
  41. package/dist/components/divider/divider.component.d.ts +3 -0
  42. package/dist/components/divider/divider.component.js +43 -22
  43. package/dist/components/divider/divider.styles.js +9 -9
  44. package/dist/components/drawer/drawer.component.d.ts +12 -4
  45. package/dist/components/drawer/drawer.component.js +84 -61
  46. package/dist/components/drawer/drawer.d.ts +2 -2
  47. package/dist/components/drawer/drawer.styles.js +47 -40
  48. package/dist/components/header/header.component.d.ts +4 -2
  49. package/dist/components/header/header.component.js +64 -57
  50. package/dist/components/header/header.d.ts +2 -2
  51. package/dist/components/header/header.styles.js +2 -2
  52. package/dist/components/heading/heading.component.d.ts +5 -1
  53. package/dist/components/heading/heading.component.js +54 -27
  54. package/dist/components/heading/heading.styles.js +34 -36
  55. package/dist/components/icon/icon.component.d.ts +4 -0
  56. package/dist/components/icon/icon.component.js +62 -43
  57. package/dist/components/icon/icon.styles.js +60 -60
  58. package/dist/components/input/input.component.d.ts +4 -8
  59. package/dist/components/input/input.component.js +90 -97
  60. package/dist/components/input/input.controllers.d.ts +0 -1
  61. package/dist/components/input/input.controllers.js +14 -19
  62. package/dist/components/link/link.component.d.ts +15 -18
  63. package/dist/components/link/link.component.js +104 -107
  64. package/dist/components/link/link.styles.js +53 -45
  65. package/dist/components/loader/loader.component.d.ts +5 -3
  66. package/dist/components/loader/loader.component.js +39 -28
  67. package/dist/components/loader/loader.styles.js +6 -10
  68. package/dist/components/logo/logo.component.d.ts +4 -1
  69. package/dist/components/logo/logo.component.js +55 -51
  70. package/dist/components/logo/logo.styles.js +26 -16
  71. package/dist/components/menu/menu-item.component.d.ts +1 -1
  72. package/dist/components/menu/menu-item.component.js +8 -8
  73. package/dist/components/menu/menu-item.d.ts +2 -2
  74. package/dist/components/menu/menu-item.styles.js +13 -9
  75. package/dist/components/menu/menu.component.d.ts +5 -2
  76. package/dist/components/menu/menu.component.js +8 -8
  77. package/dist/components/menu/menu.d.ts +2 -2
  78. package/dist/components/nav/nav-item.component.d.ts +6 -2
  79. package/dist/components/nav/nav-item.component.js +44 -25
  80. package/dist/components/nav/nav-item.styles.js +29 -25
  81. package/dist/components/nav/nav.component.d.ts +9 -0
  82. package/dist/components/nav/nav.component.js +47 -21
  83. package/dist/components/nav/nav.d.ts +2 -2
  84. package/dist/components/nav/nav.styles.js +15 -9
  85. package/dist/components/popover/popover.component.d.ts +10 -3
  86. package/dist/components/popover/popover.component.js +30 -22
  87. package/dist/components/popover/popover.d.ts +2 -2
  88. package/dist/components/progress/progress.component.d.ts +2 -0
  89. package/dist/components/progress/progress.component.js +38 -29
  90. package/dist/components/progress/progress.d.ts +2 -2
  91. package/dist/components/progress/progress.styles.js +10 -8
  92. package/dist/components/radio/radio.component.d.ts +4 -2
  93. package/dist/components/radio/radio.component.js +96 -91
  94. package/dist/components/radio/radio.styles.js +1 -1
  95. package/dist/components/segmented-button/segmented-button-item.component.js +1 -1
  96. package/dist/components/segmented-button/segmented-button-item.d.ts +2 -2
  97. package/dist/components/segmented-button/segmented-button-item.styles.js +1 -1
  98. package/dist/components/segmented-button/segmented-button.component.js +22 -24
  99. package/dist/components/segmented-button/segmented-button.d.ts +2 -2
  100. package/dist/components/select/select-option-group.component.d.ts +4 -0
  101. package/dist/components/select/select-option-group.component.js +37 -18
  102. package/dist/components/select/select-option-group.d.ts +2 -2
  103. package/dist/components/select/select-option-group.style.js +12 -6
  104. package/dist/components/select/select-option.component.d.ts +9 -4
  105. package/dist/components/select/select-option.component.js +70 -58
  106. package/dist/components/select/select-option.styles.js +43 -31
  107. package/dist/components/select/select.component.d.ts +21 -12
  108. package/dist/components/select/select.component.js +125 -87
  109. package/dist/components/select/select.controllers.js +15 -20
  110. package/dist/components/select/select.styles.js +8 -2
  111. package/dist/components/stepper/stepper-item.component.d.ts +1 -1
  112. package/dist/components/stepper/stepper-item.component.js +59 -56
  113. package/dist/components/stepper/stepper-item.d.ts +2 -2
  114. package/dist/components/stepper/stepper-item.styles.js +4 -4
  115. package/dist/components/stepper/stepper.component.js +2 -3
  116. package/dist/components/stepper/stepper.d.ts +2 -2
  117. package/dist/components/stepper/stepper.helpers.js +6 -7
  118. package/dist/components/switch/switch.component.d.ts +4 -2
  119. package/dist/components/switch/switch.component.js +64 -58
  120. package/dist/components/switch/switch.d.ts +2 -2
  121. package/dist/components/switch/switch.styles.js +1 -1
  122. package/dist/components/{tab-panel → tabs}/tab-panel.component.d.ts +1 -1
  123. package/dist/components/tabs/tab-panel.component.js +39 -0
  124. package/dist/components/{tab-panel → tabs}/tab-panel.d.ts +2 -2
  125. package/dist/components/{tab → tabs}/tab.component.d.ts +3 -3
  126. package/dist/components/{tab → tabs}/tab.component.js +17 -14
  127. package/dist/components/{tab → tabs}/tab.d.ts +2 -2
  128. package/dist/components/{tab → tabs}/tab.styles.js +2 -2
  129. package/dist/components/{tab-group/tab-group.component.d.ts → tabs/tabs.component.d.ts} +3 -4
  130. package/dist/components/{tab-group/tab-group.component.js → tabs/tabs.component.js} +35 -36
  131. package/dist/components/tabs/tabs.d.ts +8 -0
  132. package/dist/components/tabs/tabs.js +6 -0
  133. package/dist/components/{tab-group/tab-group.styles.js → tabs/tabs.styles.js} +16 -16
  134. package/dist/components/tag/tag.component.d.ts +10 -2
  135. package/dist/components/tag/tag.component.js +77 -65
  136. package/dist/components/tag/tag.d.ts +2 -2
  137. package/dist/components/tag/tag.styles.js +63 -50
  138. package/dist/components/textarea/textarea.component.d.ts +4 -2
  139. package/dist/components/textarea/textarea.component.js +102 -95
  140. package/dist/components/toast/toast-item.styles.js +13 -10
  141. package/dist/components/toast/toast.component.js +9 -9
  142. package/dist/components/toast/toast.singleton.d.ts +1 -1
  143. package/dist/components/toast/toast.singleton.js +19 -20
  144. package/dist/components/tooltip/tooltip.component.d.ts +9 -2
  145. package/dist/components/tooltip/tooltip.component.js +15 -11
  146. package/dist/components/tooltip/tooltip.d.ts +2 -2
  147. package/dist/custom-elements.json +1681 -1112
  148. package/dist/index.d.ts +8 -7
  149. package/dist/index.js +96 -93
  150. package/dist/internal/base-classes/popover/popover.base.d.ts +24 -5
  151. package/dist/internal/base-classes/popover/popover.base.js +41 -44
  152. package/dist/internal/base-classes/popover/popover.styles.js +4 -5
  153. package/dist/internal/components/formBase.d.ts +1 -0
  154. package/dist/internal/components/formBase.js +11 -19
  155. package/dist/internal/components/hint/hint.component.d.ts +4 -0
  156. package/dist/internal/components/hint/hint.component.js +47 -20
  157. package/dist/internal/components/hint/hint.styles.js +29 -25
  158. package/dist/internal/components/skf-element.d.ts +1 -3
  159. package/dist/internal/components/skf-element.js +4 -9
  160. package/dist/internal/controllers/popover.controller.d.ts +2 -0
  161. package/dist/internal/controllers/popover.controller.js +11 -14
  162. package/dist/internal/helpers/stateMap.d.ts +14 -0
  163. package/dist/internal/helpers/stateMap.js +68 -0
  164. package/dist/internal/helpers/uuid.d.ts +8 -10
  165. package/dist/internal/helpers/uuid.js +4 -11
  166. package/dist/internal/helpers/watch.d.ts +1 -1
  167. package/dist/internal/helpers/watch.js +12 -12
  168. package/dist/internal/templates/asterisk.d.ts +1 -1
  169. package/dist/internal/templates/asterisk.js +4 -4
  170. package/dist/internal/types.d.ts +4 -0
  171. package/dist/styles/component.styles.js +37 -36
  172. package/dist/styles/global-alt.css +1 -0
  173. package/dist/styles/global.css +1 -1
  174. package/dist/translations/en.d.ts +3 -0
  175. package/dist/translations/en.js +27 -0
  176. package/dist/translations/es.d.ts +3 -0
  177. package/dist/translations/es.js +27 -0
  178. package/dist/translations/index.d.ts +4 -0
  179. package/dist/translations/pt.d.ts +3 -0
  180. package/dist/translations/pt.js +27 -0
  181. package/dist/translations/sv.d.ts +3 -0
  182. package/dist/translations/sv.js +27 -0
  183. package/dist/types/jsx/custom-element-jsx.d.ts +1988 -866
  184. package/dist/types/vue/index.d.ts +220 -169
  185. package/dist/utilities/localize.d.ts +28 -0
  186. package/dist/utilities/localize.js +13 -0
  187. package/dist/vscode.html-custom-data.json +265 -188
  188. package/dist/web-types.json +731 -548
  189. package/package.json +38 -51
  190. package/dist/components/accordion/accordion-item.test.d.ts +0 -1
  191. package/dist/components/accordion/accordion.test.d.ts +0 -1
  192. package/dist/components/checkbox/checkbox.test.d.ts +0 -1
  193. package/dist/components/date-picker/datepicker.component.js +0 -261
  194. package/dist/components/date-picker/datepicker.d.ts +0 -10
  195. package/dist/components/date-picker/datepicker.helpers.js +0 -76
  196. package/dist/components/date-picker/datepicker.js +0 -8
  197. package/dist/components/date-picker-input/datepicker-input.component.js +0 -442
  198. package/dist/components/date-picker-input/datepicker-input.d.ts +0 -8
  199. package/dist/components/date-picker-input/datepicker-input.js +0 -6
  200. package/dist/components/input/input.test.d.ts +0 -1
  201. package/dist/components/radio/radio.test.d.ts +0 -1
  202. package/dist/components/switch/switch.test.d.ts +0 -1
  203. package/dist/components/tab-group/tab-group.d.ts +0 -8
  204. package/dist/components/tab-group/tab-group.js +0 -6
  205. package/dist/components/tab-panel/tab-panel.component.js +0 -36
  206. package/dist/internal/playwright/index.d.ts +0 -1
  207. /package/dist/components/{date-picker/datepicker.calendar.styles.d.ts → datepicker/datepicker-calendar.styles.d.ts} +0 -0
  208. /package/dist/components/{date-picker/datepicker.calendar.styles.js → datepicker/datepicker-calendar.styles.js} +0 -0
  209. /package/dist/components/{date-picker/datepicker.styles.d.ts → datepicker/datepicker-popup.styles.d.ts} +0 -0
  210. /package/dist/components/{date-picker-input/datepicker-input.helpers.d.ts → datepicker/datepicker.helpers.d.ts} +0 -0
  211. /package/dist/components/{date-picker-input/datepicker-input.helpers.js → datepicker/datepicker.helpers.js} +0 -0
  212. /package/dist/components/{date-picker-input/datepicker-input.styles.d.ts → datepicker/datepicker.styles.d.ts} +0 -0
  213. /package/dist/components/{date-picker-input/datepicker-input.styles.js → datepicker/datepicker.styles.js} +0 -0
  214. /package/dist/components/select/{select.stories.icons.d.ts → stories/select.stories.icons.d.ts} +0 -0
  215. /package/dist/components/{tab-panel → tabs}/tab-panel.js +0 -0
  216. /package/dist/components/{tab-panel → tabs}/tab-panel.styles.d.ts +0 -0
  217. /package/dist/components/{tab-panel → tabs}/tab-panel.styles.js +0 -0
  218. /package/dist/components/{tab → tabs}/tab.js +0 -0
  219. /package/dist/components/{tab → tabs}/tab.styles.d.ts +0 -0
  220. /package/dist/components/{tab-group/tab-group.styles.d.ts → tabs/tabs.styles.d.ts} +0 -0
package/package.json CHANGED
@@ -6,7 +6,7 @@
6
6
  "url": "https://github.com/SKF-Internal/ui-components/issues"
7
7
  },
8
8
  "engines": {
9
- "node": ">=20",
9
+ "node": ">=22",
10
10
  "pnpm": ">=10"
11
11
  },
12
12
  "engineStrict": true,
@@ -17,8 +17,9 @@
17
17
  "import": "./dist/index.js"
18
18
  },
19
19
  "./components/*": "./dist/components/*",
20
- "./react/*": "./dist/react/*",
21
- "./styles/*.css": "./dist/styles/*.css"
20
+ "./styles/*.css": "./dist/styles/*.css",
21
+ "./translations/*": "./dist/translations/*",
22
+ "./utilities/*": "./dist/utilities/*"
22
23
  },
23
24
  "homepage": "https://github.com/SKF-Internal/ui-components",
24
25
  "license": "UNLICENSED",
@@ -34,65 +35,54 @@
34
35
  "sideEffects": true,
35
36
  "type": "module",
36
37
  "types": "./dist/index.d.ts",
37
- "version": "1.0.2-beta.1",
38
+ "version": "1.0.2-beta.10",
38
39
  "dependencies": {
39
- "@floating-ui/dom": "^1.6.13",
40
- "@js-temporal/polyfill": "^0.5.1"
40
+ "@floating-ui/dom": "^1.7.1",
41
+ "@js-temporal/polyfill": "^0.5.1",
42
+ "@shoelace-style/localize": "^3.2.1",
43
+ "@skf-design-system/ui-assets": "0.1.3-beta.16",
44
+ "lit": "^3.3.0"
41
45
  },
42
46
  "devDependencies": {
43
- "@chromatic-com/storybook": "^3.2.6",
44
- "@commitlint/cli": "^19.8.0",
45
- "@commitlint/config-conventional": "^19.8.0",
47
+ "@chromatic-com/storybook": "^4.0.1",
48
+ "@commitlint/cli": "^19.8.1",
49
+ "@commitlint/config-conventional": "^19.8.1",
46
50
  "@custom-elements-manifest/analyzer": "^0.10.4",
47
- "@eslint/js": "^9.23.0",
48
- "@playwright/test": "^1.51.1",
49
- "@skf-design-system/ui-assets": "0.1.3-beta.4",
50
- "@storybook/addon-a11y": "^8.6.12",
51
- "@storybook/addon-essentials": "^8.6.12",
52
- "@storybook/addon-interactions": "^8.6.12",
53
- "@storybook/addon-links": "^8.6.12",
54
- "@storybook/blocks": "^8.6.12",
55
- "@storybook/manager-api": "^8.6.12",
56
- "@storybook/test": "^8.6.12",
57
- "@storybook/test-runner": "^0.22.0",
58
- "@storybook/theming": "^8.6.12",
59
- "@storybook/web-components": "^8.6.12",
60
- "@storybook/web-components-vite": "^8.6.12",
61
- "@types/node": "^22.14.0",
51
+ "@eslint/js": "^9.29.0",
52
+ "@storybook/addon-a11y": "^9.0.13",
53
+ "@storybook/addon-docs": "^9.0.13",
54
+ "@storybook/addon-links": "^9.0.13",
55
+ "@storybook/web-components-vite": "^9.0.13",
56
+ "@types/node": "^24.0.4",
57
+ "@wc-toolkit/jsx-types": "^1.2.2",
62
58
  "@wc-toolkit/module-path-resolver": "^1.0.0",
63
- "@wc-toolkit/storybook-helpers": "^1.1.1",
59
+ "@wc-toolkit/storybook-helpers": "^9.0.1",
64
60
  "@wc-toolkit/type-parser": "^1.0.3",
65
- "concurrently": "^9.1.2",
61
+ "concurrently": "^9.2.0",
66
62
  "custom-element-jet-brains-integration": "^1.7.0",
67
- "custom-element-jsx-integration": "^1.6.0",
68
63
  "custom-element-vs-code-integration": "^1.5.0",
69
64
  "custom-element-vuejs-integration": "^1.4.0",
70
- "eslint": "^9.23.0",
71
- "eslint-plugin-lit": "^2.0.0",
72
- "eslint-plugin-lit-a11y": "^4.1.4",
73
- "eslint-plugin-wc": "^3.0.0",
74
- "express": "^5.1.0",
65
+ "eslint": "^9.29.0",
66
+ "eslint-plugin-lit": "^2.1.1",
67
+ "eslint-plugin-lit-a11y": "^5.0.1",
68
+ "eslint-plugin-storybook": "9.0.13",
69
+ "eslint-plugin-wc": "^3.0.1",
75
70
  "husky": "^9.1.7",
76
- "lint-staged": "^15.5.0",
77
- "lit": "^3.2.1",
71
+ "lint-staged": "^16.1.2",
78
72
  "postcss-styled-syntax": "^0.7.1",
79
- "prettier": "3.5.3",
80
- "storybook": "^8.6.12",
81
- "stylelint": "^16.17.0",
82
- "stylelint-config-standard": "^37.0.0",
73
+ "prettier": "3.6.1",
74
+ "storybook": "^9.0.13",
75
+ "stylelint": "^16.21.0",
76
+ "stylelint-config-standard": "^38.0.0",
83
77
  "stylelint-no-unsupported-browser-features": "^8.0.4",
84
- "stylelint-order": "^6.0.4",
78
+ "stylelint-order": "^7.0.0",
85
79
  "stylelint-value-no-unknown-custom-properties": "^6.0.1",
86
- "tsc-alias": "^1.8.13",
87
- "typescript": "^5.8.2",
88
- "typescript-eslint": "^8.29.0",
89
- "vite": "^6.2.4",
80
+ "tsc-alias": "^1.8.16",
81
+ "typescript": "^5.8.3",
82
+ "typescript-eslint": "^8.35.0",
83
+ "vite": "^7.0.0",
90
84
  "vite-tsconfig-paths": "^5.1.4"
91
85
  },
92
- "peerDependencies": {
93
- "@skf-design-system/ui-assets": "0.1.3-beta.1",
94
- "lit": "^3.1.3"
95
- },
96
86
  "scripts": {
97
87
  "analyze": "cem analyze",
98
88
  "dev": "vite",
@@ -107,9 +97,6 @@
107
97
  "lint:eslint": "eslint \"**/*.{js,ts}\" --ignore-pattern .gitignore",
108
98
  "lint:prettier": "prettier \"**/*.{js,ts}\" --check --ignore-path .gitignore --log-level warn",
109
99
  "lint:stylelint": "stylelint \"**/*.{css,ts}\" --quiet --ignore-path .gitignore",
110
- "serve:storybook-static": "pnpm build && pnpm storybook build && node ./build/serve.js",
111
- "storybook": "concurrently \"storybook dev -p 9009\" \"pnpm analyze --watch\"",
112
- "test": "npx playwright test",
113
- "test:ui": " npx playwright test --ui"
100
+ "storybook": "concurrently \"storybook dev -p 6006\" \"pnpm analyze --watch\""
114
101
  }
115
102
  }
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1,261 +0,0 @@
1
- import "../button/button.js";
2
- import { dateFormatter as l, is as v } from "../date-picker-input/datepicker-input.helpers.js";
3
- import { SkfElement as R } from "../../internal/components/skf-element.js";
4
- import { watch as p } from "../../internal/helpers/watch.js";
5
- import { componentStyles as S } from "../../styles/component.styles.js";
6
- import { html as D } from "lit";
7
- import { property as o, state as m } from "lit/decorators.js";
8
- import "./datepicker.js";
9
- import { getDateParts as g, assertISODate as $, earliestDate as T, latestDate as C, compareDates as c, doAnimate as b } from "./datepicker.helpers.js";
10
- import { styles as k } from "./datepicker.styles.js";
11
- var F = Object.defineProperty, E = Object.getOwnPropertyDescriptor, n = (w, e, t, a) => {
12
- for (var s = a > 1 ? void 0 : a ? E(e, t) : e, r = w.length - 1, d; r >= 0; r--)
13
- (d = w[r]) && (s = (a ? d(e, t, s) : d(s)) || s);
14
- return a && s && F(e, t, s), s;
15
- };
16
- const y = class y extends R {
17
- constructor() {
18
- super(...arguments), this.locale = "en-CA", this.date = (/* @__PURE__ */ new Date()).toLocaleDateString(this.locale), this.id = "", this.range = !1, this.selectedDate = void 0, this.selectedDateRange = {
19
- start: null,
20
- end: null
21
- }, this._datePlusOneMonth = new Date(
22
- new Date(this.date).getFullYear(),
23
- new Date(this.date).getMonth() + 1,
24
- 1
25
- ), this._handleCalendarView = (e) => {
26
- this._handleChangeCalendarView(e.detail);
27
- }, this._handleSelectedDate = (e) => {
28
- var t;
29
- if (this.selectedDate = e.detail.date, console.log("selectedDate", this.selectedDate), this.range) {
30
- const a = (t = this.shadowRoot) == null ? void 0 : t.querySelectorAll("skf-datepicker-calendar"), s = this.selectedDateRange, r = s.start && this.selectedDate < s.start;
31
- if (!!(s.start && s.end) || r)
32
- this.selectedDateRange = {
33
- start: this.selectedDate,
34
- end: null
35
- };
36
- else {
37
- const f = !!s.start ? { end: e.detail.date } : { start: e.detail.date };
38
- this.selectedDateRange = {
39
- ...s,
40
- ...f
41
- };
42
- }
43
- this._onRangeCompleteEmitEvent(), a != null && a.length && [...a].forEach((h) => {
44
- h.selectedDateRange = this.selectedDateRange;
45
- });
46
- }
47
- this.emit("skf-datepicker-selected", {
48
- detail: { date: this.range ? this.selectedDateRange : this.selectedDate }
49
- }), this.requestUpdate();
50
- }, this._handleTodayClick = () => {
51
- const { month: e, year: t } = g(), { month: a, year: s } = g(this.date);
52
- if (a === e && s === t && (this.selectedDateRange.start || this.selectedDate)) {
53
- this.date = l(this.selectedDateRange.start ?? this.selectedDate), this.emit("update-calendar-view", {
54
- detail: this.date
55
- });
56
- return;
57
- }
58
- if (this.range) {
59
- this.emit("update-calendar-view", {
60
- detail: l(/* @__PURE__ */ new Date())
61
- });
62
- return;
63
- }
64
- this.date = l(/* @__PURE__ */ new Date());
65
- };
66
- }
67
- connectedCallback() {
68
- super.connectedCallback(), this.addEventListener("update-calendar-view", this._handleCalendarView), this.addEventListener("selected-date-changed", this._handleSelectedDate);
69
- }
70
- firstUpdated() {
71
- (this.selectedDateRange.start ?? this.selectedDate) && this._onRangeCompleteEmitEvent();
72
- const t = this.selectedDate ?? this.selectedDateRange.start;
73
- t instanceof Date && this.gotoDate(t);
74
- }
75
- clearSelection() {
76
- this.selectedDateRange = {
77
- start: null,
78
- end: null
79
- }, this.selectedDate = void 0;
80
- }
81
- /** @internal */
82
- _onRangeCompleteEmitEvent() {
83
- if (!this.selectedDateRange.start || !this.selectedDateRange.end) return;
84
- const e = Math.abs(
85
- this.selectedDateRange.end.getTime() - this.selectedDateRange.start.getTime()
86
- ), t = Math.ceil(e / (1e3 * 60 * 60 * 24)) + 1;
87
- this.emit("selected-date-range-changed", {
88
- detail: {
89
- ...this.selectedDateRange,
90
- days: t,
91
- id: this.id
92
- }
93
- });
94
- }
95
- _handleRangeChange() {
96
- this.style.setProperty("--max-width", this.range ? "43em" : "21em");
97
- }
98
- _handleDateChange() {
99
- console.log("%cdate changed", "color:red", this.date), this.date = this.date && $(this.date) ? this.date : l(/* @__PURE__ */ new Date()), this.date = T(
100
- C(this.date, this.selectableFrom ?? this.date),
101
- this.selectableTo ?? this.date
102
- ), this._date = new Date(this.date), this._datePlusOneMonth = new Date(this._date.getFullYear(), this._date.getMonth() + 1, 1);
103
- }
104
- _handleSelectedDateRangeChange() {
105
- }
106
- _handleSelectedDateChange() {
107
- console.log("selected date changed", this.selectedDate);
108
- }
109
- /**
110
- * Navigates to the given date.
111
- * @param date - The date to navigate to, either a Date object or a string in the format 'yyyy-mm-dd'
112
- */
113
- gotoDate(e) {
114
- if (e instanceof Date)
115
- this.date = l(e);
116
- else if (v(e).dateISO())
117
- this.date = e;
118
- else
119
- throw new Error("Invalid date format");
120
- this.emit("update-calendar-view", {
121
- detail: e
122
- });
123
- }
124
- render() {
125
- return D`
126
- <div class="calendar-container">
127
- <skf-datepicker-calendar
128
- .date=${this._date ?? /* @__PURE__ */ new Date()}
129
- .eventid="${this.id}"
130
- .range=${this.range}
131
- .selectedDate=${this.selectedDate}
132
- .selectedDateRange=${this.selectedDateRange}
133
- .selectableFrom=${this.selectableFrom}
134
- .selectableTo=${this.selectableTo}
135
- .invalidDates=${this.invalidDates}
136
- class="start"
137
- id=${this.id}
138
- locale="${this.locale}"
139
- ></skf-datepicker-calendar>
140
- <skf-datepicker-calendar
141
- ?hidden=${!this.range}
142
- .date=${this._datePlusOneMonth}
143
- .eventid="${this.id}"
144
- .range=${!0}
145
- .selectedDate="${this.selectedDate}"
146
- .selectedDateRange=${this.selectedDateRange}
147
- .selectableFrom=${this.selectableFrom}
148
- .selectableTo=${this.selectableTo}
149
- .invalidDates=${this.invalidDates}
150
- class="end"
151
- id=${`${this.id}-range-end`}
152
- locale="${this.locale}"
153
- ></skf-datepicker-calendar>
154
- </div>
155
- ${this._renderTodayBtn()}
156
- <slot></slot>
157
- <div class="triangle"></div>
158
- `;
159
- }
160
- /** @internal */
161
- _renderTodayBtn() {
162
- let e = !1;
163
- if (this.selectableTo && c(this.selectableTo, l(/* @__PURE__ */ new Date())) === -1)
164
- return D``;
165
- if (this.selectableFrom && c(this.selectableFrom, l(/* @__PURE__ */ new Date())) === 1)
166
- return D``;
167
- const { month: t, year: a } = g(), { month: s, year: r } = g(this.date), d = this.selectedDate ?? this.selectedDateRange.start, h = t === s && a === r, f = d && c(l(/* @__PURE__ */ new Date()), l(d), "months") === 0;
168
- return (h && !d || f && h) && (e = !0), D`
169
- <div class="today">
170
- <skf-button
171
- @click=${this._handleTodayClick}
172
- ?disabled=${e}
173
- variant="tertiary"
174
- size="sm"
175
- >
176
- ${_(this.date) && (this.selectedDate || this.selectedDateRange.start) && !e ? "Selected date" : "Today"}
177
- </skf-button>
178
- </div>
179
- `;
180
- function _(u) {
181
- return c(u, l(/* @__PURE__ */ new Date()), "months") === 0;
182
- }
183
- }
184
- /** @internal */
185
- _handleChangeCalendarView(e) {
186
- const t = c(this.date, e);
187
- this._animateView(t, () => {
188
- this.date = e;
189
- }).then(() => {
190
- }).catch((a) => {
191
- console.error(a);
192
- });
193
- }
194
- /** @internal */
195
- async _animateView(e, t) {
196
- if (!this.shadowRoot) return;
197
- const a = [...this.shadowRoot.querySelectorAll("skf-datepicker-calendar")];
198
- return a.length ? (await b(
199
- a,
200
- [{ opacity: 0, transform: `translateX(calc(16px * ${e.toString()}))` }],
201
- { duration: 100, easing: "ease-in", fill: "backwards" }
202
- ), t(), await b(
203
- a,
204
- [
205
- { opacity: 0, transform: `translateX(${(-16 * e).toString()}px)` },
206
- { opacity: 1, transform: "translateX(0)" }
207
- ],
208
- { duration: 100, easing: "ease-out", fill: "backwards" }
209
- )) : Promise.resolve();
210
- }
211
- };
212
- y.styles = [S, k];
213
- let i = y;
214
- n([
215
- o({ reflect: !0 })
216
- ], i.prototype, "locale", 2);
217
- n([
218
- o({ type: String, reflect: !0 })
219
- ], i.prototype, "date", 2);
220
- n([
221
- o({ type: String })
222
- ], i.prototype, "id", 2);
223
- n([
224
- o({ attribute: "invalid-dates" })
225
- ], i.prototype, "invalidDates", 2);
226
- n([
227
- o({ type: Boolean })
228
- ], i.prototype, "range", 2);
229
- n([
230
- m()
231
- ], i.prototype, "selectedDate", 2);
232
- n([
233
- o({ attribute: "selectable-from" })
234
- ], i.prototype, "selectableFrom", 2);
235
- n([
236
- o({ attribute: "selectable-to" })
237
- ], i.prototype, "selectableTo", 2);
238
- n([
239
- m()
240
- ], i.prototype, "selectedDateRange", 2);
241
- n([
242
- m()
243
- ], i.prototype, "_date", 2);
244
- n([
245
- m()
246
- ], i.prototype, "_datePlusOneMonth", 2);
247
- n([
248
- p("range")
249
- ], i.prototype, "_handleRangeChange", 1);
250
- n([
251
- p("date")
252
- ], i.prototype, "_handleDateChange", 1);
253
- n([
254
- p("selectedDateRange")
255
- ], i.prototype, "_handleSelectedDateRangeChange", 1);
256
- n([
257
- p("selectedDate")
258
- ], i.prototype, "_handleSelectedDateChange", 1);
259
- export {
260
- i as SkfDatePicker
261
- };
@@ -1,10 +0,0 @@
1
- import { SkfDatePickerCalendar } from './datepicker.calendar.component.js';
2
- import { SkfDatePicker } from './datepicker.component.js';
3
- export * from './datepicker.component.js';
4
- export default SkfDatePicker;
5
- declare global {
6
- interface HTMLElementTagNameMap {
7
- 'skf-datepicker': SkfDatePicker;
8
- 'skf-datepicker-calendar': SkfDatePickerCalendar;
9
- }
10
- }
@@ -1,76 +0,0 @@
1
- import { is as c } from "../date-picker-input/datepicker-input.helpers.js";
2
- import { Temporal as e } from "@js-temporal/polyfill";
3
- function I(t, n, s) {
4
- const o = (r) => Array.isArray(r) ? r : [r], f = o(t);
5
- n = o(n);
6
- const a = [];
7
- for (const r of f) {
8
- const { promise: i, resolve: m, reject: p } = Promise.withResolvers(), l = r.animate(n, {
9
- fill: "forwards",
10
- duration: 300,
11
- iterations: 1,
12
- ...s
13
- });
14
- l.onfinish = () => m("finished"), l.oncancel = () => p("canceled"), a.push(i);
15
- }
16
- return Promise.allSettled(a);
17
- }
18
- function P(t = e.Now.plainDateISO()) {
19
- return t ?? (t = e.Now.plainDateISO()), t instanceof Date && (t = e.PlainDate.from(t.toISOString())), typeof t == "string" && (t = e.PlainDate.from(S(t, !0))), {
20
- year: t.year,
21
- month: t.month - 1,
22
- // new Date is 0 based
23
- day: t.day
24
- };
25
- }
26
- function v(t, n, s = "days") {
27
- console.assert(c(t, n).plainISO(), "Invalid dates passed to compareDates()"), typeof t == "string" && (t = e.PlainDate.from(t)), typeof n == "string" && (n = e.PlainDate.from(n)), console.assert(
28
- c(t, n).plain(),
29
- `Invalid date was sent to helper function compareDates(). Got ${JSON.stringify(t)} and ${JSON.stringify(n)} passed in`
30
- );
31
- const o = D(t, n, s);
32
- return f(o);
33
- function f(a) {
34
- return Math.max(-1, Math.min(a, 1));
35
- }
36
- }
37
- function D(t, n, s = "days") {
38
- return typeof t == "string" && (t = e.PlainDate.from(t)), typeof n == "string" && (n = e.PlainDate.from(n)), console.assert(
39
- t instanceof e.PlainDate && n instanceof e.PlainDate,
40
- `Invalid date was sent to helper function timeBetween(). Got ${JSON.stringify(t)} and ${JSON.stringify(n)} passed in`
41
- ), s === "months" ? n.until(t, { largestUnit: "months" }).months : s === "years" ? n.until(t, { largestUnit: "years" }).years : n.until(t, { largestUnit: "days" }).days;
42
- }
43
- function u(...t) {
44
- if (t.length === 0)
45
- throw new Error("At least one date must be provided");
46
- const n = (i) => i instanceof Date, s = t.map((i) => n(i) ? i : new Date(i));
47
- if (s.length === 1)
48
- return s[0].toISOString().split("T")[0];
49
- const [o, ...f] = s, a = u(...f), r = new Date(a);
50
- return o < r ? o.toISOString().split("T")[0] : r.toISOString().split("T")[0];
51
- }
52
- function g(...t) {
53
- if (t.length === 0)
54
- throw new Error("At least one date must be provided");
55
- const n = (i) => i instanceof Date, s = t.map((i) => n(i) ? i : new Date(i));
56
- if (s.length === 1)
57
- return s[0].toISOString().split("T")[0];
58
- const [o, ...f] = s, a = g(...f), r = new Date(a);
59
- return o > r ? o.toISOString().split("T")[0] : r.toISOString().split("T")[0];
60
- }
61
- function S(t, n = !1) {
62
- t instanceof Date && (t = e.PlainDate.from(t.toISOString())), typeof t != "string" && (t = t.toString());
63
- const s = /^\d{4}-\d{2}-\d{2}$/;
64
- if (!s.test(t) && n)
65
- throw new Error(`Invalid date format. Got ${t} passed in.`);
66
- return s.test(t) ? t : "";
67
- }
68
- export {
69
- S as assertISODate,
70
- v as compareDates,
71
- I as doAnimate,
72
- u as earliestDate,
73
- P as getDateParts,
74
- g as latestDate,
75
- D as timeBetween
76
- };
@@ -1,8 +0,0 @@
1
- import { SkfDatePickerCalendar as e } from "./datepicker.calendar.component.js";
2
- import { SkfDatePicker as r } from "./datepicker.component.js";
3
- r.define("skf-datepicker");
4
- e.define("skf-datepicker-calendar");
5
- export {
6
- r as SkfDatePicker,
7
- r as default
8
- };