@skf-design-system/ui-components 1.0.2-beta.1 → 1.0.2-beta.11
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.
- package/README.md +25 -1
- package/dist/components/accordion/accordion-item.component.js +49 -38
- package/dist/components/accordion/accordion.component.d.ts +2 -2
- package/dist/components/accordion/accordion.component.js +12 -12
- package/dist/components/alert/alert.component.d.ts +8 -3
- package/dist/components/alert/alert.component.js +59 -50
- package/dist/components/alert/alert.styles.js +51 -47
- package/dist/components/breadcrumb/breadcrumb-item.component.js +30 -32
- package/dist/components/breadcrumb/breadcrumb-item.d.ts +2 -2
- package/dist/components/breadcrumb/breadcrumb-item.styles.js +16 -15
- package/dist/components/breadcrumb/breadcrumb.component.d.ts +5 -2
- package/dist/components/breadcrumb/breadcrumb.component.js +51 -46
- package/dist/components/breadcrumb/breadcrumb.d.ts +2 -2
- package/dist/components/breadcrumb/breadcrumb.styles.js +13 -10
- package/dist/components/button/button.component.js +63 -67
- package/dist/components/button/button.styles.js +5 -4
- package/dist/components/card/card.component.d.ts +5 -0
- package/dist/components/card/card.component.js +46 -24
- package/dist/components/card/card.styles.js +31 -14
- package/dist/components/checkbox/checkbox.component.d.ts +6 -5
- package/dist/components/checkbox/checkbox.component.js +67 -69
- package/dist/components/checkbox/checkbox.styles.js +1 -1
- package/dist/components/{date-picker/datepicker.calendar.component.d.ts → datepicker/datepicker-calendar.component.d.ts} +8 -1
- package/dist/components/{date-picker/datepicker.calendar.component.js → datepicker/datepicker-calendar.component.js} +109 -115
- package/dist/components/datepicker/datepicker-calendar.d.ts +8 -0
- package/dist/components/datepicker/datepicker-calendar.js +6 -0
- package/dist/components/{date-picker/datepicker.component.d.ts → datepicker/datepicker-popup.component.d.ts} +9 -20
- package/dist/components/datepicker/datepicker-popup.component.js +272 -0
- package/dist/components/datepicker/datepicker-popup.d.ts +8 -0
- package/dist/components/{date-picker/datepicker.helpers.d.ts → datepicker/datepicker-popup.helpers.d.ts} +3 -3
- package/dist/components/datepicker/datepicker-popup.helpers.js +83 -0
- package/dist/components/datepicker/datepicker-popup.js +6 -0
- package/dist/components/{date-picker/datepicker.styles.js → datepicker/datepicker-popup.styles.js} +3 -3
- package/dist/components/{date-picker-input/datepicker-input.component.d.ts → datepicker/datepicker.component.d.ts} +21 -14
- package/dist/components/datepicker/datepicker.component.js +455 -0
- package/dist/components/datepicker/datepicker.d.ts +8 -0
- package/dist/components/datepicker/datepicker.js +6 -0
- package/dist/components/dialog/dialog.component.d.ts +3 -2
- package/dist/components/dialog/dialog.component.js +49 -49
- package/dist/components/dialog/dialog.d.ts +2 -2
- package/dist/components/divider/divider.component.d.ts +3 -0
- package/dist/components/divider/divider.component.js +43 -22
- package/dist/components/divider/divider.styles.js +9 -9
- package/dist/components/drawer/drawer.component.d.ts +12 -4
- package/dist/components/drawer/drawer.component.js +84 -61
- package/dist/components/drawer/drawer.d.ts +2 -2
- package/dist/components/drawer/drawer.styles.js +47 -40
- package/dist/components/header/header.component.d.ts +4 -2
- package/dist/components/header/header.component.js +64 -57
- package/dist/components/header/header.d.ts +2 -2
- package/dist/components/header/header.styles.js +2 -2
- package/dist/components/heading/heading.component.d.ts +5 -1
- package/dist/components/heading/heading.component.js +54 -27
- package/dist/components/heading/heading.styles.js +34 -36
- package/dist/components/icon/icon.component.d.ts +4 -0
- package/dist/components/icon/icon.component.js +62 -43
- package/dist/components/icon/icon.styles.js +60 -60
- package/dist/components/input/input.component.d.ts +4 -8
- package/dist/components/input/input.component.js +90 -97
- package/dist/components/input/input.controllers.d.ts +0 -1
- package/dist/components/input/input.controllers.js +14 -19
- package/dist/components/link/link.component.d.ts +16 -18
- package/dist/components/link/link.component.js +109 -106
- package/dist/components/link/link.styles.js +49 -45
- package/dist/components/loader/loader.component.d.ts +5 -3
- package/dist/components/loader/loader.component.js +39 -28
- package/dist/components/loader/loader.styles.js +6 -10
- package/dist/components/logo/logo.component.d.ts +4 -1
- package/dist/components/logo/logo.component.js +55 -51
- package/dist/components/logo/logo.styles.js +26 -16
- package/dist/components/menu/menu-item.component.d.ts +1 -1
- package/dist/components/menu/menu-item.component.js +8 -8
- package/dist/components/menu/menu-item.d.ts +2 -2
- package/dist/components/menu/menu-item.styles.js +13 -9
- package/dist/components/menu/menu.component.d.ts +5 -2
- package/dist/components/menu/menu.component.js +8 -8
- package/dist/components/menu/menu.d.ts +2 -2
- package/dist/components/nav/nav-item.component.d.ts +6 -2
- package/dist/components/nav/nav-item.component.js +44 -25
- package/dist/components/nav/nav-item.styles.js +29 -25
- package/dist/components/nav/nav.component.d.ts +9 -0
- package/dist/components/nav/nav.component.js +47 -21
- package/dist/components/nav/nav.d.ts +2 -2
- package/dist/components/nav/nav.styles.js +15 -9
- package/dist/components/popover/popover.component.d.ts +10 -3
- package/dist/components/popover/popover.component.js +30 -22
- package/dist/components/popover/popover.d.ts +2 -2
- package/dist/components/progress/progress.component.d.ts +2 -0
- package/dist/components/progress/progress.component.js +38 -29
- package/dist/components/progress/progress.d.ts +2 -2
- package/dist/components/progress/progress.styles.js +10 -8
- package/dist/components/radio/radio.component.d.ts +4 -2
- package/dist/components/radio/radio.component.js +96 -91
- package/dist/components/radio/radio.styles.js +1 -1
- package/dist/components/segmented-button/segmented-button-item.component.js +1 -1
- package/dist/components/segmented-button/segmented-button-item.d.ts +2 -2
- package/dist/components/segmented-button/segmented-button-item.styles.js +1 -1
- package/dist/components/segmented-button/segmented-button.component.js +22 -24
- package/dist/components/segmented-button/segmented-button.d.ts +2 -2
- package/dist/components/select/select-option-group.component.d.ts +4 -0
- package/dist/components/select/select-option-group.component.js +37 -18
- package/dist/components/select/select-option-group.d.ts +2 -2
- package/dist/components/select/select-option-group.style.js +12 -6
- package/dist/components/select/select-option.component.d.ts +9 -4
- package/dist/components/select/select-option.component.js +70 -58
- package/dist/components/select/select-option.styles.js +43 -31
- package/dist/components/select/select.component.d.ts +21 -12
- package/dist/components/select/select.component.js +125 -87
- package/dist/components/select/select.controllers.js +15 -20
- package/dist/components/select/select.styles.js +8 -2
- package/dist/components/stepper/stepper-item.component.d.ts +1 -1
- package/dist/components/stepper/stepper-item.component.js +59 -56
- package/dist/components/stepper/stepper-item.d.ts +2 -2
- package/dist/components/stepper/stepper-item.styles.js +4 -4
- package/dist/components/stepper/stepper.component.js +2 -3
- package/dist/components/stepper/stepper.d.ts +2 -2
- package/dist/components/stepper/stepper.helpers.js +6 -7
- package/dist/components/switch/switch.component.d.ts +4 -2
- package/dist/components/switch/switch.component.js +64 -58
- package/dist/components/switch/switch.d.ts +2 -2
- package/dist/components/switch/switch.styles.js +1 -1
- package/dist/components/{tab-panel → tabs}/tab-panel.component.d.ts +1 -1
- package/dist/components/tabs/tab-panel.component.js +39 -0
- package/dist/components/{tab-panel → tabs}/tab-panel.d.ts +2 -2
- package/dist/components/{tab → tabs}/tab.component.d.ts +3 -3
- package/dist/components/{tab → tabs}/tab.component.js +17 -14
- package/dist/components/{tab → tabs}/tab.d.ts +2 -2
- package/dist/components/{tab → tabs}/tab.styles.js +2 -2
- package/dist/components/{tab-group/tab-group.component.d.ts → tabs/tabs.component.d.ts} +3 -4
- package/dist/components/{tab-group/tab-group.component.js → tabs/tabs.component.js} +35 -36
- package/dist/components/tabs/tabs.d.ts +8 -0
- package/dist/components/tabs/tabs.js +6 -0
- package/dist/components/{tab-group/tab-group.styles.js → tabs/tabs.styles.js} +16 -16
- package/dist/components/tag/tag.component.d.ts +10 -2
- package/dist/components/tag/tag.component.js +77 -65
- package/dist/components/tag/tag.d.ts +2 -2
- package/dist/components/tag/tag.styles.js +63 -50
- package/dist/components/textarea/textarea.component.d.ts +4 -2
- package/dist/components/textarea/textarea.component.js +102 -95
- package/dist/components/toast/toast-item.styles.js +13 -10
- package/dist/components/toast/toast.component.js +9 -9
- package/dist/components/toast/toast.singleton.d.ts +1 -1
- package/dist/components/toast/toast.singleton.js +19 -20
- package/dist/components/tooltip/tooltip.component.d.ts +9 -2
- package/dist/components/tooltip/tooltip.component.js +15 -11
- package/dist/components/tooltip/tooltip.d.ts +2 -2
- package/dist/custom-elements.json +1699 -1112
- package/dist/index.d.ts +8 -7
- package/dist/index.js +96 -93
- package/dist/internal/base-classes/popover/popover.base.d.ts +24 -5
- package/dist/internal/base-classes/popover/popover.base.js +41 -44
- package/dist/internal/base-classes/popover/popover.styles.js +4 -5
- package/dist/internal/components/formBase.d.ts +1 -0
- package/dist/internal/components/formBase.js +11 -19
- package/dist/internal/components/hint/hint.component.d.ts +4 -0
- package/dist/internal/components/hint/hint.component.js +47 -20
- package/dist/internal/components/hint/hint.styles.js +29 -25
- package/dist/internal/components/skf-element.d.ts +1 -3
- package/dist/internal/components/skf-element.js +4 -9
- package/dist/internal/controllers/popover.controller.d.ts +2 -0
- package/dist/internal/controllers/popover.controller.js +11 -14
- package/dist/internal/helpers/stateMap.d.ts +14 -0
- package/dist/internal/helpers/stateMap.js +68 -0
- package/dist/internal/helpers/uuid.d.ts +8 -10
- package/dist/internal/helpers/uuid.js +4 -11
- package/dist/internal/helpers/watch.d.ts +1 -1
- package/dist/internal/helpers/watch.js +12 -12
- package/dist/internal/templates/asterisk.d.ts +1 -1
- package/dist/internal/templates/asterisk.js +4 -4
- package/dist/internal/types.d.ts +4 -0
- package/dist/styles/component.styles.js +37 -36
- package/dist/styles/global-alt.css +1 -0
- package/dist/styles/global.css +1 -1
- package/dist/translations/en.d.ts +3 -0
- package/dist/translations/en.js +27 -0
- package/dist/translations/es.d.ts +3 -0
- package/dist/translations/es.js +27 -0
- package/dist/translations/index.d.ts +4 -0
- package/dist/translations/pt.d.ts +3 -0
- package/dist/translations/pt.js +27 -0
- package/dist/translations/sv.d.ts +3 -0
- package/dist/translations/sv.js +27 -0
- package/dist/types/jsx/custom-element-jsx.d.ts +1990 -866
- package/dist/types/vue/index.d.ts +220 -169
- package/dist/utilities/localize.d.ts +28 -0
- package/dist/utilities/localize.js +13 -0
- package/dist/vscode.html-custom-data.json +265 -188
- package/dist/web-types.json +731 -548
- package/package.json +39 -51
- package/dist/components/accordion/accordion-item.test.d.ts +0 -1
- package/dist/components/accordion/accordion.test.d.ts +0 -1
- package/dist/components/checkbox/checkbox.test.d.ts +0 -1
- package/dist/components/date-picker/datepicker.component.js +0 -261
- package/dist/components/date-picker/datepicker.d.ts +0 -10
- package/dist/components/date-picker/datepicker.helpers.js +0 -76
- package/dist/components/date-picker/datepicker.js +0 -8
- package/dist/components/date-picker-input/datepicker-input.component.js +0 -442
- package/dist/components/date-picker-input/datepicker-input.d.ts +0 -8
- package/dist/components/date-picker-input/datepicker-input.js +0 -6
- package/dist/components/input/input.test.d.ts +0 -1
- package/dist/components/radio/radio.test.d.ts +0 -1
- package/dist/components/switch/switch.test.d.ts +0 -1
- package/dist/components/tab-group/tab-group.d.ts +0 -8
- package/dist/components/tab-group/tab-group.js +0 -6
- package/dist/components/tab-panel/tab-panel.component.js +0 -36
- package/dist/internal/playwright/index.d.ts +0 -1
- /package/dist/components/{date-picker/datepicker.calendar.styles.d.ts → datepicker/datepicker-calendar.styles.d.ts} +0 -0
- /package/dist/components/{date-picker/datepicker.calendar.styles.js → datepicker/datepicker-calendar.styles.js} +0 -0
- /package/dist/components/{date-picker/datepicker.styles.d.ts → datepicker/datepicker-popup.styles.d.ts} +0 -0
- /package/dist/components/{date-picker-input/datepicker-input.helpers.d.ts → datepicker/datepicker.helpers.d.ts} +0 -0
- /package/dist/components/{date-picker-input/datepicker-input.helpers.js → datepicker/datepicker.helpers.js} +0 -0
- /package/dist/components/{date-picker-input/datepicker-input.styles.d.ts → datepicker/datepicker.styles.d.ts} +0 -0
- /package/dist/components/{date-picker-input/datepicker-input.styles.js → datepicker/datepicker.styles.js} +0 -0
- /package/dist/components/select/{select.stories.icons.d.ts → stories/select.stories.icons.d.ts} +0 -0
- /package/dist/components/{tab-panel → tabs}/tab-panel.js +0 -0
- /package/dist/components/{tab-panel → tabs}/tab-panel.styles.d.ts +0 -0
- /package/dist/components/{tab-panel → tabs}/tab-panel.styles.js +0 -0
- /package/dist/components/{tab → tabs}/tab.js +0 -0
- /package/dist/components/{tab → tabs}/tab.styles.d.ts +0 -0
- /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": ">=
|
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
|
-
"./
|
21
|
-
"./
|
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,55 @@
|
|
34
35
|
"sideEffects": true,
|
35
36
|
"type": "module",
|
36
37
|
"types": "./dist/index.d.ts",
|
37
|
-
"version": "1.0.2-beta.
|
38
|
+
"version": "1.0.2-beta.11",
|
38
39
|
"dependencies": {
|
39
|
-
"@floating-ui/dom": "^1.
|
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
|
-
"@
|
44
|
-
"@
|
45
|
-
"@commitlint/
|
47
|
+
"@changesets/cli": "^2.29.5",
|
48
|
+
"@chromatic-com/storybook": "^4.0.1",
|
49
|
+
"@commitlint/cli": "^19.8.1",
|
50
|
+
"@commitlint/config-conventional": "^19.8.1",
|
46
51
|
"@custom-elements-manifest/analyzer": "^0.10.4",
|
47
|
-
"@eslint/js": "^9.
|
48
|
-
"@
|
49
|
-
"@
|
50
|
-
"@storybook/addon-
|
51
|
-
"@storybook/
|
52
|
-
"@
|
53
|
-
"@
|
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",
|
52
|
+
"@eslint/js": "^9.29.0",
|
53
|
+
"@storybook/addon-a11y": "^9.0.13",
|
54
|
+
"@storybook/addon-docs": "^9.0.13",
|
55
|
+
"@storybook/addon-links": "^9.0.13",
|
56
|
+
"@storybook/web-components-vite": "^9.0.13",
|
57
|
+
"@types/node": "^24.0.4",
|
58
|
+
"@wc-toolkit/jsx-types": "^1.2.2",
|
62
59
|
"@wc-toolkit/module-path-resolver": "^1.0.0",
|
63
|
-
"@wc-toolkit/storybook-helpers": "^
|
60
|
+
"@wc-toolkit/storybook-helpers": "^9.0.1",
|
64
61
|
"@wc-toolkit/type-parser": "^1.0.3",
|
65
|
-
"concurrently": "^9.
|
62
|
+
"concurrently": "^9.2.0",
|
66
63
|
"custom-element-jet-brains-integration": "^1.7.0",
|
67
|
-
"custom-element-jsx-integration": "^1.6.0",
|
68
64
|
"custom-element-vs-code-integration": "^1.5.0",
|
69
65
|
"custom-element-vuejs-integration": "^1.4.0",
|
70
|
-
"eslint": "^9.
|
71
|
-
"eslint-plugin-lit": "^2.
|
72
|
-
"eslint-plugin-lit-a11y": "^
|
73
|
-
"eslint-plugin-
|
74
|
-
"
|
66
|
+
"eslint": "^9.29.0",
|
67
|
+
"eslint-plugin-lit": "^2.1.1",
|
68
|
+
"eslint-plugin-lit-a11y": "^5.0.1",
|
69
|
+
"eslint-plugin-storybook": "9.0.13",
|
70
|
+
"eslint-plugin-wc": "^3.0.1",
|
75
71
|
"husky": "^9.1.7",
|
76
|
-
"lint-staged": "^
|
77
|
-
"lit": "^3.2.1",
|
72
|
+
"lint-staged": "^16.1.2",
|
78
73
|
"postcss-styled-syntax": "^0.7.1",
|
79
|
-
"prettier": "3.
|
80
|
-
"storybook": "^
|
81
|
-
"stylelint": "^16.
|
82
|
-
"stylelint-config-standard": "^
|
74
|
+
"prettier": "3.6.1",
|
75
|
+
"storybook": "^9.0.13",
|
76
|
+
"stylelint": "^16.21.0",
|
77
|
+
"stylelint-config-standard": "^38.0.0",
|
83
78
|
"stylelint-no-unsupported-browser-features": "^8.0.4",
|
84
|
-
"stylelint-order": "^
|
79
|
+
"stylelint-order": "^7.0.0",
|
85
80
|
"stylelint-value-no-unknown-custom-properties": "^6.0.1",
|
86
|
-
"tsc-alias": "^1.8.
|
87
|
-
"typescript": "^5.8.
|
88
|
-
"typescript-eslint": "^8.
|
89
|
-
"vite": "^
|
81
|
+
"tsc-alias": "^1.8.16",
|
82
|
+
"typescript": "^5.8.3",
|
83
|
+
"typescript-eslint": "^8.35.0",
|
84
|
+
"vite": "^7.0.0",
|
90
85
|
"vite-tsconfig-paths": "^5.1.4"
|
91
86
|
},
|
92
|
-
"peerDependencies": {
|
93
|
-
"@skf-design-system/ui-assets": "0.1.3-beta.1",
|
94
|
-
"lit": "^3.1.3"
|
95
|
-
},
|
96
87
|
"scripts": {
|
97
88
|
"analyze": "cem analyze",
|
98
89
|
"dev": "vite",
|
@@ -107,9 +98,6 @@
|
|
107
98
|
"lint:eslint": "eslint \"**/*.{js,ts}\" --ignore-pattern .gitignore",
|
108
99
|
"lint:prettier": "prettier \"**/*.{js,ts}\" --check --ignore-path .gitignore --log-level warn",
|
109
100
|
"lint:stylelint": "stylelint \"**/*.{css,ts}\" --quiet --ignore-path .gitignore",
|
110
|
-
"
|
111
|
-
"storybook": "concurrently \"storybook dev -p 9009\" \"pnpm analyze --watch\"",
|
112
|
-
"test": "npx playwright test",
|
113
|
-
"test:ui": " npx playwright test --ui"
|
101
|
+
"storybook": "concurrently \"storybook dev -p 6006\" \"pnpm analyze --watch\""
|
114
102
|
}
|
115
103
|
}
|
@@ -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
|
-
};
|