@rededor/cura 1.0.0-alpha.8 → 1.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.
- package/dist/assets/assets/cura-assets.zip +0 -0
- package/dist/assets/assets/fonts/Gotham/Gotham-Black.woff2 +0 -0
- package/dist/assets/assets/fonts/Gotham/Gotham-BlackItalic.woff2 +0 -0
- package/dist/assets/assets/fonts/Gotham/Gotham-Bold.woff2 +0 -0
- package/dist/assets/assets/fonts/Gotham/Gotham-BoldItalic.woff2 +0 -0
- package/dist/assets/assets/fonts/Gotham/Gotham-Book.woff2 +0 -0
- package/dist/assets/assets/fonts/Gotham/Gotham-BookItalic.woff2 +0 -0
- package/dist/assets/assets/fonts/Gotham/Gotham-ExtraLight.woff2 +0 -0
- package/dist/assets/assets/fonts/Gotham/Gotham-ExtraLightItalic.woff2 +0 -0
- package/dist/assets/assets/fonts/Gotham/Gotham-Light.woff2 +0 -0
- package/dist/assets/assets/fonts/Gotham/Gotham-LightItalic.woff2 +0 -0
- package/dist/assets/assets/fonts/Gotham/Gotham-Medium.woff2 +0 -0
- package/dist/assets/assets/fonts/Gotham/Gotham-MediumItalic.woff2 +0 -0
- package/dist/assets/assets/fonts/Gotham/Gotham-Thin.woff2 +0 -0
- package/dist/assets/assets/fonts/Gotham/Gotham-ThinItalic.woff2 +0 -0
- package/dist/assets/assets/fonts/Gotham/Gotham-Ultra.woff2 +0 -0
- package/dist/assets/assets/fonts/Gotham/Gotham-UltraItalic.woff2 +0 -0
- package/dist/assets/assets/fonts/Gotham/style.css +90 -0
- package/dist/assets/assets/fonts/HankenGrotesk/HankenGrotesk-Italic-VariableFont_wght.woff2 +0 -0
- package/dist/assets/assets/fonts/HankenGrotesk/HankenGrotesk-VariableFont_wght.woff2 +0 -0
- package/dist/assets/assets/fonts/HankenGrotesk/style-webfont.css +72 -0
- package/dist/assets/assets/fonts/HankenGrotesk/style.css +16 -0
- package/dist/assets/assets/fonts/Roboto/Roboto-Black.woff2 +0 -0
- package/dist/assets/assets/fonts/Roboto/Roboto-BlackItalic.woff2 +0 -0
- package/dist/assets/assets/fonts/Roboto/Roboto-Bold.woff2 +0 -0
- package/dist/assets/assets/fonts/Roboto/Roboto-BoldItalic.woff2 +0 -0
- package/dist/assets/assets/fonts/Roboto/Roboto-Italic.woff2 +0 -0
- package/dist/assets/assets/fonts/Roboto/Roboto-Light.woff2 +0 -0
- package/dist/assets/assets/fonts/Roboto/Roboto-LightItalic.woff2 +0 -0
- package/dist/assets/assets/fonts/Roboto/Roboto-Medium.woff2 +0 -0
- package/dist/assets/assets/fonts/Roboto/Roboto-MediumItalic.woff2 +0 -0
- package/dist/assets/assets/fonts/Roboto/Roboto-Regular.woff2 +0 -0
- package/dist/assets/assets/fonts/Roboto/Roboto-Thin.woff2 +0 -0
- package/dist/assets/assets/fonts/Roboto/Roboto-ThinItalic.woff2 +0 -0
- package/dist/assets/assets/fonts/Roboto/style-webfont.css +756 -0
- package/dist/assets/assets/fonts/Roboto/style.css +90 -0
- package/dist/assets/assets/icons/iconset-default-list.ts +1 -1
- package/dist/assets/assets/icons/iconset-default-tmp.svg +4 -0
- package/dist/assets/assets/icons/iconset-default.svg +1 -1
- package/dist/assets/assets/images/avatar/doctor-default.svg +6 -7
- package/dist/assets/assets/images/avatar/doctor-default_old.svg +8 -0
- package/dist/assets/assets/images/avatar/dora-default.svg +3 -4
- package/dist/assets/assets/images/avatar/dora-default_old.svg +5 -0
- package/dist/assets/assets/images/avatar/patient-default.svg +16 -10
- package/dist/assets/assets/images/avatar/patient-default_old.svg +12 -0
- package/dist/assets/assets/images/avatar/unit-default.svg +7 -8
- package/dist/assets/assets/images/avatar/unit-default_old.svg +9 -0
- package/dist/cjs/{app-globals-bcffd819.js → app-globals-4d07f363.js} +26 -10
- package/dist/cjs/app-globals-4d07f363.js.map +1 -0
- package/dist/cjs/cura-accordion_12.cjs.entry.js +23 -17
- package/dist/cjs/cura-accordion_12.cjs.entry.js.map +1 -1
- package/dist/cjs/cura-alert.cjs.entry.js +1 -1
- package/dist/cjs/cura-avatar.cjs.entry.js +1 -1
- package/dist/cjs/cura-badge-distance.cjs.entry.js +46 -0
- package/dist/cjs/cura-badge-distance.cjs.entry.js.map +1 -0
- package/dist/cjs/cura-button-outline.cjs.entry.js +10 -6
- package/dist/cjs/cura-button-outline.cjs.entry.js.map +1 -1
- package/dist/cjs/cura-button-select.cjs.entry.js +2 -2
- package/dist/cjs/cura-button-select.cjs.entry.js.map +1 -1
- package/dist/cjs/cura-button-transparent.cjs.entry.js +11 -7
- package/dist/cjs/cura-button-transparent.cjs.entry.js.map +1 -1
- package/dist/cjs/cura-button.definitions-f036371c.js +12 -0
- package/dist/cjs/cura-button.definitions-f036371c.js.map +1 -0
- package/dist/cjs/cura-calendar.cjs.entry.js +104 -10
- package/dist/cjs/cura-calendar.cjs.entry.js.map +1 -1
- package/dist/cjs/cura-card.cjs.entry.js +1 -1
- package/dist/cjs/cura-checkbox.cjs.entry.js +2 -2
- package/dist/cjs/cura-checkbox.cjs.entry.js.map +1 -1
- package/dist/cjs/cura-display.cjs.entry.js +19 -10
- package/dist/cjs/cura-display.cjs.entry.js.map +1 -1
- package/dist/cjs/cura-dropdown-search-option-title.cjs.entry.js +1 -1
- package/dist/cjs/cura-dropdown-search-option.cjs.entry.js +5 -3
- package/dist/cjs/cura-dropdown-search-option.cjs.entry.js.map +1 -1
- package/dist/cjs/cura-dropdown-search.cjs.entry.js +6 -5
- package/dist/cjs/cura-dropdown-search.cjs.entry.js.map +1 -1
- package/dist/cjs/cura-icons-view.cjs.entry.js +4 -4
- package/dist/cjs/cura-icons-view.cjs.entry.js.map +1 -1
- package/dist/cjs/cura-loader-bar.cjs.entry.js +1 -1
- package/dist/cjs/cura-radio.cjs.entry.js +1 -1
- package/dist/cjs/cura-switch.cjs.entry.js +1 -1
- package/dist/cjs/cura-toast.cjs.entry.js +1 -1
- package/dist/cjs/cura.cjs.js +2 -2
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/collection/api/theme-presets/theme-default.js +3 -3
- package/dist/collection/api/theme-presets/theme-default.js.map +1 -1
- package/dist/collection/api/theme-presets/theme-legacy-default.js +16 -0
- package/dist/collection/api/theme-presets/theme-legacy-default.js.map +1 -1
- package/dist/collection/api/theme-presets/theme-maternity.js +6 -6
- package/dist/collection/api/theme-presets/theme-maternity.js.map +1 -1
- package/dist/collection/assets/icons/iconset-default-list.js +1 -1
- package/dist/collection/assets/icons/iconset-default-list.js.map +1 -1
- package/dist/collection/assets/icons/iconset-default-tmp.svg +4 -0
- package/dist/collection/assets/icons/iconset-default.svg +1 -1
- package/dist/collection/assets/images/avatar/doctor-default.svg +6 -7
- package/dist/collection/assets/images/avatar/doctor-default_old.svg +8 -0
- package/dist/collection/assets/images/avatar/dora-default.svg +3 -4
- package/dist/collection/assets/images/avatar/dora-default_old.svg +5 -0
- package/dist/collection/assets/images/avatar/patient-default.svg +16 -10
- package/dist/collection/assets/images/avatar/patient-default_old.svg +12 -0
- package/dist/collection/assets/images/avatar/unit-default.svg +7 -8
- package/dist/collection/assets/images/avatar/unit-default_old.svg +9 -0
- package/dist/collection/assets-raw/icons/default/drug.svg +3 -0
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/components/badges/cura-badge-distance/cura-badge-distance.css +28 -0
- package/dist/collection/components/badges/cura-badge-distance/cura-badge-distance.js +94 -0
- package/dist/collection/components/badges/cura-badge-distance/cura-badge-distance.js.map +1 -0
- package/dist/collection/components/badges/cura-badge-distance/cura-badge-distance.stories.js +56 -0
- package/dist/collection/components/badges/cura-badge-distance/cura-badge-distance.stories.js.map +1 -0
- package/dist/collection/components/buttons/cura-button/cura-button.css +61 -65
- package/dist/collection/components/buttons/cura-button/cura-button.js +26 -3
- package/dist/collection/components/buttons/cura-button/cura-button.js.map +1 -1
- package/dist/collection/components/buttons/cura-button/cura-button.stories.js +28 -2
- package/dist/collection/components/buttons/cura-button/cura-button.stories.js.map +1 -1
- package/dist/collection/components/buttons/cura-button-outline/cura-button-outline.css +50 -53
- package/dist/collection/components/buttons/cura-button-outline/cura-button-outline.js +28 -6
- package/dist/collection/components/buttons/cura-button-outline/cura-button-outline.js.map +1 -1
- package/dist/collection/components/buttons/cura-button-outline/cura-button-outline.stories.js +28 -2
- package/dist/collection/components/buttons/cura-button-outline/cura-button-outline.stories.js.map +1 -1
- package/dist/collection/components/buttons/cura-button-select/cura-button-select.css +29 -33
- package/dist/collection/components/buttons/cura-button-select/cura-button-select.js +1 -1
- package/dist/collection/components/buttons/cura-button-transparent/cura-button-transparent.css +37 -54
- package/dist/collection/components/buttons/cura-button-transparent/cura-button-transparent.js +31 -9
- package/dist/collection/components/buttons/cura-button-transparent/cura-button-transparent.js.map +1 -1
- package/dist/collection/components/buttons/cura-button-transparent/cura-button-transparent.stories.js +16 -6
- package/dist/collection/components/buttons/cura-button-transparent/cura-button-transparent.stories.js.map +1 -1
- package/dist/collection/components/buttons/cura-button.definitions.js +7 -0
- package/dist/collection/components/buttons/cura-button.definitions.js.map +1 -0
- package/dist/collection/components/cura-alert/cura-alert.js +1 -1
- package/dist/collection/components/cura-avatar/cura-avatar.js +1 -1
- package/dist/collection/components/cura-calendar/cura-calendar.css +30 -5
- package/dist/collection/components/cura-calendar/cura-calendar.js +148 -17
- package/dist/collection/components/cura-calendar/cura-calendar.js.map +1 -1
- package/dist/collection/components/cura-calendar/cura-calendar.stories.js +55 -5
- package/dist/collection/components/cura-calendar/cura-calendar.stories.js.map +1 -1
- package/dist/collection/components/cura-card/cura-card.js +1 -1
- package/dist/collection/components/cura-icon/cura-icon.js +1 -1
- package/dist/collection/components/cura-icons-view/cura-icons-view.js +3 -3
- package/dist/collection/components/cura-page-template/cura-page-template.js +1 -1
- package/dist/collection/components/cura-toast/cura-toast.js +1 -1
- package/dist/collection/components/forms/cura-checkbox/cura-checkbox.css +13 -5
- package/dist/collection/components/forms/cura-checkbox/cura-checkbox.js +1 -1
- package/dist/collection/components/forms/cura-dropdown-search/cura-dropdown-search-option/cura-dropdown-search-option.css +48 -29
- package/dist/collection/components/forms/cura-dropdown-search/cura-dropdown-search-option/cura-dropdown-search-option.js +4 -2
- package/dist/collection/components/forms/cura-dropdown-search/cura-dropdown-search-option/cura-dropdown-search-option.js.map +1 -1
- package/dist/collection/components/forms/cura-dropdown-search/cura-dropdown-search-option-title/cura-dropdown-search-option-title.js +1 -1
- package/dist/collection/components/forms/cura-dropdown-search/cura-dropdown-search.js +24 -5
- package/dist/collection/components/forms/cura-dropdown-search/cura-dropdown-search.js.map +1 -1
- package/dist/collection/components/forms/cura-dropdown-search/cura-dropdown-search.stories.js +19 -6
- package/dist/collection/components/forms/cura-dropdown-search/cura-dropdown-search.stories.js.map +1 -1
- package/dist/collection/components/forms/cura-label/cura-label.js +3 -3
- package/dist/collection/components/forms/cura-label/cura-label.js.map +1 -1
- package/dist/collection/components/forms/cura-radio/cura-radio.js +1 -1
- package/dist/collection/components/forms/cura-select/cura-select.css +1 -0
- package/dist/collection/components/forms/cura-select/cura-select.js +23 -4
- package/dist/collection/components/forms/cura-select/cura-select.js.map +1 -1
- package/dist/collection/components/forms/cura-select/cura-select.stories.js +11 -1
- package/dist/collection/components/forms/cura-select/cura-select.stories.js.map +1 -1
- package/dist/collection/components/forms/cura-select-options/cura-select-option.js +1 -1
- package/dist/collection/components/forms/cura-switch/cura-switch.js +1 -1
- package/dist/collection/components/loaders/cura-loader-bar/cura-loader-bar.js +1 -1
- package/dist/collection/components/loaders/cura-loader-circle/cura-loader-circle.js +1 -1
- package/dist/collection/components/text/cura-display/cura-display.css +16 -0
- package/dist/collection/components/text/cura-display/cura-display.js +37 -10
- package/dist/collection/components/text/cura-display/cura-display.js.map +1 -1
- package/dist/collection/components/text/cura-display/cura-display.stories.js +13 -2
- package/dist/collection/components/text/cura-display/cura-display.stories.js.map +1 -1
- package/dist/collection/components/text/cura-heading/cura-heading.js +1 -1
- package/dist/collection/components/text/cura-paragraph/cura-paragraph.css +12 -2
- package/dist/collection/components/text/cura-paragraph/cura-paragraph.js +1 -1
- package/dist/collection/components/text/cura-paragraph/cura-paragraph.stories.js +1 -1
- package/dist/collection/components/text/cura-paragraph/cura-paragraph.stories.js.map +1 -1
- package/dist/collection/stories/blocks/index.js +85 -0
- package/dist/components/cura-alert.js +1 -1
- package/dist/components/cura-avatar.js +1 -1
- package/dist/components/cura-badge-distance.d.ts +11 -0
- package/dist/components/cura-badge-distance.js +73 -0
- package/dist/components/cura-badge-distance.js.map +1 -0
- package/dist/components/cura-button-outline.js +11 -6
- package/dist/components/cura-button-outline.js.map +1 -1
- package/dist/components/cura-button-select.js +2 -2
- package/dist/components/cura-button-select.js.map +1 -1
- package/dist/components/cura-button-transparent2.js +13 -8
- package/dist/components/cura-button-transparent2.js.map +1 -1
- package/dist/components/cura-button.definitions.js +10 -0
- package/dist/components/cura-button.definitions.js.map +1 -0
- package/dist/components/cura-button.js +10 -4
- package/dist/components/cura-button.js.map +1 -1
- package/dist/components/cura-calendar.js +126 -15
- package/dist/components/cura-calendar.js.map +1 -1
- package/dist/components/cura-card.js +1 -1
- package/dist/components/cura-checkbox.js +2 -2
- package/dist/components/cura-checkbox.js.map +1 -1
- package/dist/components/cura-display.js +21 -11
- package/dist/components/cura-display.js.map +1 -1
- package/dist/components/cura-dropdown-search-option-title.js +1 -1
- package/dist/components/cura-dropdown-search-option.js +5 -3
- package/dist/components/cura-dropdown-search-option.js.map +1 -1
- package/dist/components/cura-dropdown-search.js +7 -5
- package/dist/components/cura-dropdown-search.js.map +1 -1
- package/dist/components/cura-heading2.js +1 -1
- package/dist/components/cura-icon2.js +1 -1
- package/dist/components/cura-icons-view.js +4 -4
- package/dist/components/cura-icons-view.js.map +1 -1
- package/dist/components/cura-label2.js +1 -1
- package/dist/components/cura-label2.js.map +1 -1
- package/dist/components/cura-loader-bar2.js +1 -1
- package/dist/components/cura-loader-circle2.js +1 -1
- package/dist/components/cura-page-template.js +1 -1
- package/dist/components/cura-paragraph2.js +2 -2
- package/dist/components/cura-paragraph2.js.map +1 -1
- package/dist/components/cura-radio.js +1 -1
- package/dist/components/cura-select-option2.js +1 -1
- package/dist/components/cura-select2.js +7 -5
- package/dist/components/cura-select2.js.map +1 -1
- package/dist/components/cura-switch.js +1 -1
- package/dist/components/cura-toast.js +1 -1
- package/dist/components/index.js +27 -9
- package/dist/components/index.js.map +1 -1
- package/dist/cura/cura.esm.js +1 -1
- package/dist/cura/cura.esm.js.map +1 -1
- package/dist/cura/p-0b7a7306.js +2 -0
- package/dist/cura/p-0b7a7306.js.map +1 -0
- package/dist/cura/{p-260edb61.entry.js → p-0d435e42.entry.js} +2 -2
- package/dist/cura/{p-c63f4695.entry.js → p-2203e829.entry.js} +2 -2
- package/dist/cura/p-42dfa3a7.entry.js +2 -0
- package/dist/cura/p-42dfa3a7.entry.js.map +1 -0
- package/dist/cura/{p-6373c7cd.entry.js → p-4c7a2419.entry.js} +2 -2
- package/dist/cura/p-57b8b468.entry.js +2 -0
- package/dist/cura/p-57b8b468.entry.js.map +1 -0
- package/dist/cura/p-5ac9d510.entry.js +2 -0
- package/dist/cura/p-5ac9d510.entry.js.map +1 -0
- package/dist/cura/p-6682619b.entry.js +2 -0
- package/dist/cura/p-6682619b.entry.js.map +1 -0
- package/dist/cura/{p-5fcfbf32.entry.js → p-66c5cf5f.entry.js} +2 -2
- package/dist/cura/{p-4eaeb590.entry.js → p-84d8c67d.entry.js} +2 -2
- package/dist/cura/p-9b658260.entry.js +2 -0
- package/dist/cura/p-9b658260.entry.js.map +1 -0
- package/dist/cura/p-a00d2c68.entry.js +2 -0
- package/dist/cura/p-a00d2c68.entry.js.map +1 -0
- package/dist/cura/{p-a9dad622.entry.js → p-a5cf0fd6.entry.js} +2 -2
- package/dist/cura/p-a9cda3b1.entry.js +2 -0
- package/dist/cura/p-a9cda3b1.entry.js.map +1 -0
- package/dist/cura/{p-f016eb62.entry.js → p-ad8a7e0f.entry.js} +2 -2
- package/dist/cura/p-afd2c148.entry.js +2 -0
- package/dist/cura/p-afd2c148.entry.js.map +1 -0
- package/dist/cura/p-df5c3a86.entry.js +2 -0
- package/dist/cura/{p-17a878d4.entry.js.map → p-df5c3a86.entry.js.map} +1 -1
- package/dist/cura/p-dfc65f66.entry.js +2 -0
- package/dist/cura/p-efcb32eb.js +2 -0
- package/dist/cura/p-efcb32eb.js.map +1 -0
- package/dist/cura/p-f9433d24.entry.js +2 -0
- package/dist/cura/p-f9433d24.entry.js.map +1 -0
- package/dist/cura/p-fbf20e5a.entry.js +2 -0
- package/dist/cura/p-fbf20e5a.entry.js.map +1 -0
- package/dist/esm/{app-globals-f2da2b14.js → app-globals-6ca7103d.js} +26 -10
- package/dist/esm/app-globals-6ca7103d.js.map +1 -0
- package/dist/esm/cura-accordion_12.entry.js +23 -17
- package/dist/esm/cura-accordion_12.entry.js.map +1 -1
- package/dist/esm/cura-alert.entry.js +1 -1
- package/dist/esm/cura-avatar.entry.js +1 -1
- package/dist/esm/cura-badge-distance.entry.js +42 -0
- package/dist/esm/cura-badge-distance.entry.js.map +1 -0
- package/dist/esm/cura-button-outline.entry.js +10 -6
- package/dist/esm/cura-button-outline.entry.js.map +1 -1
- package/dist/esm/cura-button-select.entry.js +2 -2
- package/dist/esm/cura-button-select.entry.js.map +1 -1
- package/dist/esm/cura-button-transparent.entry.js +11 -7
- package/dist/esm/cura-button-transparent.entry.js.map +1 -1
- package/dist/esm/cura-button.definitions-617d3bad.js +10 -0
- package/dist/esm/cura-button.definitions-617d3bad.js.map +1 -0
- package/dist/esm/cura-calendar.entry.js +104 -10
- package/dist/esm/cura-calendar.entry.js.map +1 -1
- package/dist/esm/cura-card.entry.js +1 -1
- package/dist/esm/cura-checkbox.entry.js +2 -2
- package/dist/esm/cura-checkbox.entry.js.map +1 -1
- package/dist/esm/cura-display.entry.js +19 -10
- package/dist/esm/cura-display.entry.js.map +1 -1
- package/dist/esm/cura-dropdown-search-option-title.entry.js +1 -1
- package/dist/esm/cura-dropdown-search-option.entry.js +5 -3
- package/dist/esm/cura-dropdown-search-option.entry.js.map +1 -1
- package/dist/esm/cura-dropdown-search.entry.js +6 -5
- package/dist/esm/cura-dropdown-search.entry.js.map +1 -1
- package/dist/esm/cura-icons-view.entry.js +4 -4
- package/dist/esm/cura-icons-view.entry.js.map +1 -1
- package/dist/esm/cura-loader-bar.entry.js +1 -1
- package/dist/esm/cura-radio.entry.js +1 -1
- package/dist/esm/cura-switch.entry.js +1 -1
- package/dist/esm/cura-toast.entry.js +1 -1
- package/dist/esm/cura.js +2 -2
- package/dist/esm/loader.js +2 -2
- package/dist/types/api/theme-presets/theme-legacy-default.d.ts +3 -3
- package/dist/types/api/theme-presets/theme-presets.d.ts +3 -3
- package/dist/types/components/badges/cura-badge-distance/cura-badge-distance.d.ts +12 -0
- package/dist/types/components/badges/cura-badge-distance/cura-badge-distance.stories.d.ts +39 -0
- package/dist/types/components/buttons/cura-button/cura-button.d.ts +5 -0
- package/dist/types/components/buttons/cura-button/cura-button.stories.d.ts +23 -0
- package/dist/types/components/buttons/cura-button-outline/cura-button-outline.d.ts +6 -1
- package/dist/types/components/buttons/cura-button-outline/cura-button-outline.stories.d.ts +23 -0
- package/dist/types/components/buttons/cura-button-transparent/cura-button-transparent.d.ts +6 -0
- package/dist/types/components/buttons/cura-button-transparent/cura-button-transparent.stories.d.ts +11 -0
- package/dist/types/components/buttons/cura-button.definitions.d.ts +6 -0
- package/dist/types/components/cura-calendar/cura-calendar.d.ts +16 -7
- package/dist/types/components/cura-calendar/cura-calendar.stories.d.ts +56 -1
- package/dist/types/components/forms/cura-dropdown-search/cura-dropdown-search.d.ts +7 -3
- package/dist/types/components/forms/cura-dropdown-search/cura-dropdown-search.stories.d.ts +14 -0
- package/dist/types/components/forms/cura-label/cura-label.d.ts +1 -1
- package/dist/types/components/forms/cura-select/cura-select.d.ts +5 -0
- package/dist/types/components/forms/cura-select/cura-select.stories.d.ts +11 -0
- package/dist/types/components/text/cura-display/cura-display.d.ts +6 -0
- package/dist/types/components/text/cura-display/cura-display.stories.d.ts +14 -0
- package/dist/types/components.d.ts +89 -14
- package/package.json +5 -3
- package/dist/cjs/app-globals-bcffd819.js.map +0 -1
- package/dist/cura/p-0b1829ed.entry.js +0 -2
- package/dist/cura/p-0b1829ed.entry.js.map +0 -1
- package/dist/cura/p-17a878d4.entry.js +0 -2
- package/dist/cura/p-335323b5.entry.js +0 -2
- package/dist/cura/p-335323b5.entry.js.map +0 -1
- package/dist/cura/p-3c4215a8.entry.js +0 -2
- package/dist/cura/p-3c4215a8.entry.js.map +0 -1
- package/dist/cura/p-67e34464.entry.js +0 -2
- package/dist/cura/p-67e34464.entry.js.map +0 -1
- package/dist/cura/p-70c369b1.js +0 -2
- package/dist/cura/p-70c369b1.js.map +0 -1
- package/dist/cura/p-79fa3b97.entry.js +0 -2
- package/dist/cura/p-79fa3b97.entry.js.map +0 -1
- package/dist/cura/p-8433fec9.entry.js +0 -2
- package/dist/cura/p-8433fec9.entry.js.map +0 -1
- package/dist/cura/p-9a4094e3.entry.js +0 -2
- package/dist/cura/p-9a4094e3.entry.js.map +0 -1
- package/dist/cura/p-af2036a7.entry.js +0 -2
- package/dist/cura/p-b0d66386.entry.js +0 -2
- package/dist/cura/p-b0d66386.entry.js.map +0 -1
- package/dist/cura/p-c518a91c.entry.js +0 -2
- package/dist/cura/p-c518a91c.entry.js.map +0 -1
- package/dist/esm/app-globals-f2da2b14.js.map +0 -1
- /package/dist/cura/{p-260edb61.entry.js.map → p-0d435e42.entry.js.map} +0 -0
- /package/dist/cura/{p-c63f4695.entry.js.map → p-2203e829.entry.js.map} +0 -0
- /package/dist/cura/{p-6373c7cd.entry.js.map → p-4c7a2419.entry.js.map} +0 -0
- /package/dist/cura/{p-5fcfbf32.entry.js.map → p-66c5cf5f.entry.js.map} +0 -0
- /package/dist/cura/{p-4eaeb590.entry.js.map → p-84d8c67d.entry.js.map} +0 -0
- /package/dist/cura/{p-a9dad622.entry.js.map → p-a5cf0fd6.entry.js.map} +0 -0
- /package/dist/cura/{p-f016eb62.entry.js.map → p-ad8a7e0f.entry.js.map} +0 -0
- /package/dist/cura/{p-af2036a7.entry.js.map → p-dfc65f66.entry.js.map} +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { h, Host } from "@stencil/core";
|
|
2
|
-
import { getMonth, getYear, startOfMonth, endOfMonth, eachDayOfInterval, format, getDay, isBefore, isAfter, isSameDay, isToday, parseISO, addDays, addMonths, subDays, startOfYear, eachMonthOfInterval, startOfWeek, endOfWeek, subMonths, isValid } from "date-fns";
|
|
2
|
+
import { getMonth, getYear, startOfMonth, endOfMonth, eachDayOfInterval, format, getDay, isBefore, isAfter, isSameDay, isToday, parseISO, addDays, addMonths, subDays, startOfYear, eachMonthOfInterval, startOfWeek, endOfWeek, subMonths, isValid, subWeeks, addWeeks } from "date-fns";
|
|
3
3
|
import enAU from "date-fns/locale/en-AU";
|
|
4
4
|
import ptBR from "date-fns/locale/pt-BR";
|
|
5
5
|
export class CuraCalendar {
|
|
@@ -7,8 +7,8 @@ export class CuraCalendar {
|
|
|
7
7
|
this.theme = window.CuraAPI.theme;
|
|
8
8
|
this.weights = this.theme.fonts.getWeights();
|
|
9
9
|
this.optionsLocale = { 'pt-BR': ptBR, 'en-US': enAU };
|
|
10
|
-
this.period =
|
|
11
|
-
this.width = '
|
|
10
|
+
this.period = null;
|
|
11
|
+
this.width = '268px';
|
|
12
12
|
this.mode = 'single';
|
|
13
13
|
this.dateFormat = 'yyyy-MM-dd';
|
|
14
14
|
this.locale = 'pt-BR';
|
|
@@ -17,6 +17,11 @@ export class CuraCalendar {
|
|
|
17
17
|
this.enable = [];
|
|
18
18
|
this.defaultDate = [];
|
|
19
19
|
this.limitRange = null;
|
|
20
|
+
this.disablePassDates = undefined;
|
|
21
|
+
this.disableFutureDates = undefined;
|
|
22
|
+
this.collapsed = null;
|
|
23
|
+
this.floating = undefined;
|
|
24
|
+
this.embedded = undefined;
|
|
20
25
|
this.currentDate = new Date();
|
|
21
26
|
this.selectedDates = [];
|
|
22
27
|
this.rangeStart = null;
|
|
@@ -67,6 +72,9 @@ export class CuraCalendar {
|
|
|
67
72
|
* @returns {boolean} Whether the date is valid.
|
|
68
73
|
*/
|
|
69
74
|
isDateInValidPeriod(date) {
|
|
75
|
+
if (this.period === null) {
|
|
76
|
+
return true;
|
|
77
|
+
}
|
|
70
78
|
return this.period.includes(format(date, this.dateFormat));
|
|
71
79
|
}
|
|
72
80
|
/**
|
|
@@ -94,6 +102,14 @@ export class CuraCalendar {
|
|
|
94
102
|
* @returns {boolean} Whether the date is disabled.
|
|
95
103
|
*/
|
|
96
104
|
isDateInDisabledPeriod(date) {
|
|
105
|
+
const today = new Date();
|
|
106
|
+
today.setHours(0, 0, 0, 0);
|
|
107
|
+
if (this.disablePassDates)
|
|
108
|
+
return isBefore(date, today);
|
|
109
|
+
if (this.disableFutureDates)
|
|
110
|
+
return isAfter(date, today);
|
|
111
|
+
if (this.disable === null)
|
|
112
|
+
return false;
|
|
97
113
|
return this.isDateInList(this.expandDateRanges(this.disable), date);
|
|
98
114
|
}
|
|
99
115
|
/**
|
|
@@ -103,7 +119,7 @@ export class CuraCalendar {
|
|
|
103
119
|
* @returns {boolean} Whether the date is enabled.
|
|
104
120
|
*/
|
|
105
121
|
isDateInEnabledPeriod(date) {
|
|
106
|
-
if (this.enable
|
|
122
|
+
if (this.enable === null || [])
|
|
107
123
|
return true;
|
|
108
124
|
return this.isDateInList(this.expandDateRanges(this.enable), date);
|
|
109
125
|
}
|
|
@@ -147,7 +163,7 @@ export class CuraCalendar {
|
|
|
147
163
|
*/
|
|
148
164
|
onMonthDropdownChange(event) {
|
|
149
165
|
const { months } = this.fetchMonthNames();
|
|
150
|
-
const newMonth = event.detail
|
|
166
|
+
const newMonth = event.detail;
|
|
151
167
|
this.selectMonth = newMonth;
|
|
152
168
|
this.currentDate = new Date(getYear(this.currentDate), months.indexOf(newMonth), 1);
|
|
153
169
|
}
|
|
@@ -157,7 +173,7 @@ export class CuraCalendar {
|
|
|
157
173
|
* @param {CustomEvent} event - The change event.
|
|
158
174
|
*/
|
|
159
175
|
onYearDropdownChange(event) {
|
|
160
|
-
const newYear = event.detail
|
|
176
|
+
const newYear = event.detail;
|
|
161
177
|
this.selectYear = newYear;
|
|
162
178
|
this.currentDate = new Date(newYear, getMonth(this.currentDate), 1);
|
|
163
179
|
}
|
|
@@ -249,11 +265,38 @@ export class CuraCalendar {
|
|
|
249
265
|
*
|
|
250
266
|
* @returns {(Date | null)[]} An array of dates and nulls for the current month view.
|
|
251
267
|
*/
|
|
268
|
+
showNotColapsedCalendar() {
|
|
269
|
+
if (this.collapsed) {
|
|
270
|
+
this.fetchDaysOfWeek();
|
|
271
|
+
}
|
|
272
|
+
else
|
|
273
|
+
(this.fetchDaysOfMonth());
|
|
274
|
+
this.collapsed = false;
|
|
275
|
+
}
|
|
276
|
+
showColapsedCalendar() {
|
|
277
|
+
this.collapsed = true;
|
|
278
|
+
return this.fetchDaysOfWeek();
|
|
279
|
+
}
|
|
280
|
+
fetchDaysOfWeek() {
|
|
281
|
+
const DAYS_IN_CALENDAR_VIEW = 7;
|
|
282
|
+
const start = startOfWeek(this.currentDate);
|
|
283
|
+
const end = endOfWeek(this.currentDate);
|
|
284
|
+
const daysIncurrentDate = eachDayOfInterval({ start, end });
|
|
285
|
+
return daysIncurrentDate.slice(0, DAYS_IN_CALENDAR_VIEW);
|
|
286
|
+
}
|
|
287
|
+
updateCurrentWeek(direction) {
|
|
288
|
+
let newWeek = new Date(this.currentDate);
|
|
289
|
+
if (direction === 'prev')
|
|
290
|
+
newWeek = subWeeks(this.currentDate, 1);
|
|
291
|
+
if (direction === 'next')
|
|
292
|
+
newWeek = addWeeks(this.currentDate, 1);
|
|
293
|
+
this.currentDate = newWeek;
|
|
294
|
+
}
|
|
252
295
|
fetchDaysOfMonth() {
|
|
253
|
-
const start = startOfMonth(this.currentDate);
|
|
254
|
-
const end = endOfMonth(this.currentDate);
|
|
255
296
|
const WEEKS_IN_CALENDAR_VIEW = 6;
|
|
256
297
|
const DAYS_IN_CALENDAR_VIEW = 42;
|
|
298
|
+
const start = startOfMonth(this.currentDate);
|
|
299
|
+
const end = endOfMonth(this.currentDate);
|
|
257
300
|
const daysIncurrentDate = eachDayOfInterval({ start, end });
|
|
258
301
|
const prevMonthStart = startOfMonth(addMonths(start, -1));
|
|
259
302
|
const prevMonthEnd = endOfMonth(prevMonthStart);
|
|
@@ -308,7 +351,7 @@ export class CuraCalendar {
|
|
|
308
351
|
*/
|
|
309
352
|
determinePrevButtonColor() {
|
|
310
353
|
const isPrevDisabled = isBefore(new Date(getYear(this.currentDate), getMonth(this.currentDate) - 1, 1), startOfMonth(new Date()));
|
|
311
|
-
return isPrevDisabled
|
|
354
|
+
return isPrevDisabled && 'primary-base';
|
|
312
355
|
}
|
|
313
356
|
/**
|
|
314
357
|
* Get the status of a given date, determining its position and interval status.
|
|
@@ -382,7 +425,9 @@ export class CuraCalendar {
|
|
|
382
425
|
}
|
|
383
426
|
render() {
|
|
384
427
|
const { months } = this.fetchMonthNames();
|
|
385
|
-
return (h(Host, { key: '
|
|
428
|
+
return (h(Host, { key: 'c35f2925c454310e100ffb51291fe5dd590c67ad', style: this.getHostCSSProperties() }, h("div", { key: 'e2b10e544856cd095735b85102ea7f74daf7312f', class: `calendar ${this.floating ? "floating" : ""} ${this.embedded ? "embedded" : ""}`, style: this.styles }, h("header", { key: '68092a2f7fb49ee40ee318dba69f56a0caf2e4eb', class: "header" }, h("div", { key: '5b29701bbde12a32085818ff85cc45f5cfde8d1c', class: `month-year ${this.type === 'dropdown' && 'dropdown'}` }, h("cura-icon", { key: '48ac9b9790f493c4cc8f5ef7b4b54c1c22bd4286', class: `icon ${this.type === 'dropdown' && 'dropdown'}`, name: "left", color: this.determinePrevButtonColor(), onClick: !this.collapsed ? () => this.updateCurrentMonth('prev') : () => this.updateCurrentWeek('prev') }), this.type === 'dropdown' ? (h("div", { class: "select" }, h("cura-select", { size: 'small', class: "drop-month", mode: "transparent", value: months[getMonth(this.currentDate)], onSelected: (e) => this.onMonthDropdownChange(e) }, months.map((month, index) => (h("cura-select-option", { size: 'xsmall', key: index, value: month }, month)))), h("cura-select", { size: 'small', class: "drop-year", mode: "transparent", value: getYear(this.currentDate).toString(), onSelected: (e) => this.onYearDropdownChange(e) }, this.fetchYearList().map((year, index) => (h("cura-select-option", { key: index, value: year.toString() }, year.toString())))))) : (h("cura-label", { color: "neutral-black", size: "large" }, months[getMonth(this.currentDate)].slice(0, 3), ", ", getYear(this.currentDate))), h("cura-icon", { key: 'a50ea156b4d7a9e6d25393cf68a65ad72ce3679d', class: `icon ${this.type === 'dropdown' && 'dropdown'}`, name: "right", color: "primary-base", onClick: !this.collapsed ? () => this.updateCurrentMonth('next') : () => this.updateCurrentWeek('next') }))), h("span", { key: '742f91e5361baba1d4d6d2859276279ad24b0c71', class: "days-of-week" }, this.fetchWeekDays().map((day, index) => (h("cura-label", { class: "day", size: "xsmall", color: "neutral-black", weight: 'bold', key: index }, day === 'sab' ? 'SÁB' : day.toLocaleUpperCase())))), h("div", { key: 'eb753228943697a38d9b96de60a56c74cdfbc1c7', class: "dates" }, !this.collapsed ?
|
|
429
|
+
this.fetchDaysOfMonth().map((day, index) => (h("div", { key: index, class: this.getClasses(day), onClick: () => this.onDateClick(day) }, day ? format(day, 'd') : ''))) :
|
|
430
|
+
this.fetchDaysOfWeek().map((day, index) => (h("div", { key: index, class: this.getClasses(day), onClick: () => this.onDateClick(day) }, day ? format(day, 'd') : '')))), this.collapsed !== null ? (this.collapsed ? (h("div", { class: 'collapsed-container' }, h("cura-button-transparent", { onClick: () => this.showNotColapsedCalendar(), size: 'small', color: 'primary', fontColor: 'dark', iconName: 'plusCircle' }, "Veja mais datas"))) : (h("div", { class: 'collapsed-container' }, h("cura-button-transparent", { onClick: () => this.showColapsedCalendar(), size: 'small', color: 'primary', fontColor: 'dark', iconName: 'minusCircle' }, "Veja menos datas")))) : null)));
|
|
386
431
|
}
|
|
387
432
|
static get is() { return "cura-calendar"; }
|
|
388
433
|
static get encapsulation() { return "shadow"; }
|
|
@@ -402,7 +447,7 @@ export class CuraCalendar {
|
|
|
402
447
|
"type": "string",
|
|
403
448
|
"mutable": false,
|
|
404
449
|
"complexType": {
|
|
405
|
-
"original": "string[] | string",
|
|
450
|
+
"original": "null | string[] | string",
|
|
406
451
|
"resolved": "string | string[]",
|
|
407
452
|
"references": {}
|
|
408
453
|
},
|
|
@@ -423,7 +468,7 @@ export class CuraCalendar {
|
|
|
423
468
|
},
|
|
424
469
|
"attribute": "period",
|
|
425
470
|
"reflect": true,
|
|
426
|
-
"defaultValue": "
|
|
471
|
+
"defaultValue": "null"
|
|
427
472
|
},
|
|
428
473
|
"width": {
|
|
429
474
|
"type": "string",
|
|
@@ -441,13 +486,13 @@ export class CuraCalendar {
|
|
|
441
486
|
"text": "{string}"
|
|
442
487
|
}, {
|
|
443
488
|
"name": "default",
|
|
444
|
-
"text": "'
|
|
489
|
+
"text": "'280px'"
|
|
445
490
|
}],
|
|
446
491
|
"text": "Width of the component."
|
|
447
492
|
},
|
|
448
493
|
"attribute": "width",
|
|
449
494
|
"reflect": true,
|
|
450
|
-
"defaultValue": "'
|
|
495
|
+
"defaultValue": "'268px'"
|
|
451
496
|
},
|
|
452
497
|
"mode": {
|
|
453
498
|
"type": "string",
|
|
@@ -475,7 +520,7 @@ export class CuraCalendar {
|
|
|
475
520
|
},
|
|
476
521
|
"dateFormat": {
|
|
477
522
|
"type": "string",
|
|
478
|
-
"mutable":
|
|
523
|
+
"mutable": true,
|
|
479
524
|
"complexType": {
|
|
480
525
|
"original": "string",
|
|
481
526
|
"resolved": "string",
|
|
@@ -549,7 +594,7 @@ export class CuraCalendar {
|
|
|
549
594
|
"type": "unknown",
|
|
550
595
|
"mutable": false,
|
|
551
596
|
"complexType": {
|
|
552
|
-
"original": "string[]",
|
|
597
|
+
"original": "string[] | null",
|
|
553
598
|
"resolved": "string[]",
|
|
554
599
|
"references": {}
|
|
555
600
|
},
|
|
@@ -571,7 +616,7 @@ export class CuraCalendar {
|
|
|
571
616
|
"type": "unknown",
|
|
572
617
|
"mutable": false,
|
|
573
618
|
"complexType": {
|
|
574
|
-
"original": "string[]",
|
|
619
|
+
"original": "string[] | null",
|
|
575
620
|
"resolved": "string[]",
|
|
576
621
|
"references": {}
|
|
577
622
|
},
|
|
@@ -634,6 +679,92 @@ export class CuraCalendar {
|
|
|
634
679
|
"attribute": "limit-range",
|
|
635
680
|
"reflect": true,
|
|
636
681
|
"defaultValue": "null"
|
|
682
|
+
},
|
|
683
|
+
"disablePassDates": {
|
|
684
|
+
"type": "boolean",
|
|
685
|
+
"mutable": true,
|
|
686
|
+
"complexType": {
|
|
687
|
+
"original": "boolean",
|
|
688
|
+
"resolved": "boolean",
|
|
689
|
+
"references": {}
|
|
690
|
+
},
|
|
691
|
+
"required": false,
|
|
692
|
+
"optional": false,
|
|
693
|
+
"docs": {
|
|
694
|
+
"tags": [],
|
|
695
|
+
"text": ""
|
|
696
|
+
},
|
|
697
|
+
"attribute": "disable-pass-dates",
|
|
698
|
+
"reflect": true
|
|
699
|
+
},
|
|
700
|
+
"disableFutureDates": {
|
|
701
|
+
"type": "boolean",
|
|
702
|
+
"mutable": true,
|
|
703
|
+
"complexType": {
|
|
704
|
+
"original": "boolean",
|
|
705
|
+
"resolved": "boolean",
|
|
706
|
+
"references": {}
|
|
707
|
+
},
|
|
708
|
+
"required": false,
|
|
709
|
+
"optional": false,
|
|
710
|
+
"docs": {
|
|
711
|
+
"tags": [],
|
|
712
|
+
"text": ""
|
|
713
|
+
},
|
|
714
|
+
"attribute": "disable-future-dates",
|
|
715
|
+
"reflect": true
|
|
716
|
+
},
|
|
717
|
+
"collapsed": {
|
|
718
|
+
"type": "boolean",
|
|
719
|
+
"mutable": true,
|
|
720
|
+
"complexType": {
|
|
721
|
+
"original": "boolean | null",
|
|
722
|
+
"resolved": "boolean",
|
|
723
|
+
"references": {}
|
|
724
|
+
},
|
|
725
|
+
"required": false,
|
|
726
|
+
"optional": false,
|
|
727
|
+
"docs": {
|
|
728
|
+
"tags": [],
|
|
729
|
+
"text": ""
|
|
730
|
+
},
|
|
731
|
+
"attribute": "collapsed",
|
|
732
|
+
"reflect": true,
|
|
733
|
+
"defaultValue": "null"
|
|
734
|
+
},
|
|
735
|
+
"floating": {
|
|
736
|
+
"type": "boolean",
|
|
737
|
+
"mutable": true,
|
|
738
|
+
"complexType": {
|
|
739
|
+
"original": "boolean",
|
|
740
|
+
"resolved": "boolean",
|
|
741
|
+
"references": {}
|
|
742
|
+
},
|
|
743
|
+
"required": false,
|
|
744
|
+
"optional": false,
|
|
745
|
+
"docs": {
|
|
746
|
+
"tags": [],
|
|
747
|
+
"text": ""
|
|
748
|
+
},
|
|
749
|
+
"attribute": "floating",
|
|
750
|
+
"reflect": true
|
|
751
|
+
},
|
|
752
|
+
"embedded": {
|
|
753
|
+
"type": "boolean",
|
|
754
|
+
"mutable": true,
|
|
755
|
+
"complexType": {
|
|
756
|
+
"original": "boolean",
|
|
757
|
+
"resolved": "boolean",
|
|
758
|
+
"references": {}
|
|
759
|
+
},
|
|
760
|
+
"required": false,
|
|
761
|
+
"optional": false,
|
|
762
|
+
"docs": {
|
|
763
|
+
"tags": [],
|
|
764
|
+
"text": ""
|
|
765
|
+
},
|
|
766
|
+
"attribute": "embedded",
|
|
767
|
+
"reflect": true
|
|
637
768
|
}
|
|
638
769
|
};
|
|
639
770
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cura-calendar.js","sourceRoot":"","sources":["../../../src/components/cura-calendar/cura-calendar.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAgB,IAAI,EAAE,MAAM,eAAe,CAAC;AACrF,OAAO,EACL,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAC9E,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EACzF,mBAAmB,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EACtD,OAAO,EACR,MAAM,UAAU,CAAC;AAClB,OAAO,IAAI,MAAM,uBAAuB,CAAC;AACzC,OAAO,IAAI,MAAM,uBAAuB,CAAC;AAQzC,MAAM,OAAO,YAAY;;QA6IvB,UAAK,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;QAC7B,YAAO,GAA8B,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;QACnE,kBAAa,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;sBArII,EAAE;qBAOd,OAAO;oBAOiB,QAAQ;0BAO3B,YAAY;sBAOL,OAAO;oBAQL,UAAU;uBAQpB,EAAE;sBAOH,EAAE;2BAOG,EAAE;0BAOE,IAAI;2BAQ5B,IAAI,IAAI,EAAE;6BAQN,EAAE;0BAQA,IAAI;4BAQP,EAAE;2BAQH,EAAE;0BAQH,EAAE;sBAQd,EAAE;;IAcpB,iBAAiB;QACf,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9B,IAAI,CAAC,iBAAiB,EAAE,CAAA;QAExB,MAAM,MAAM,GAAG;YACb,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,aAAa,EAAE;YAC/C,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,cAAc,EAAE;YACjD,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,eAAe,EAAE;YACnD,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,gBAAgB,EAAE;YACrD,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,cAAc,EAAE;YACjD,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,eAAe,EAAE;SACpD,CAAC;QAEF,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,mCAAQ,IAAI,CAAC,MAAM,KAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC;IACnH,CAAC;IAED,iBAAiB;QACf,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;QACtE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QAClE,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QACpE,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;QAC1D,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;QACtD,IAAI,CAAC,MAAM,CAAC,uBAAuB,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;IAC9D,CAAC;IAED;;OAEG;IACH,sBAAsB;QACpB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC9D,CAAC;IAED;;;;KAIC;IACD,eAAe;QACb,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAgB,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC;IAClE,CAAC;IAED;;;;;KAKC;IACD,mBAAmB,CAAC,IAAU;QAC5B,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED;;;;;OAKG;IACH,cAAc,CAAC,IAAU;QACvB,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;IACrD,CAAC;IAED;;;;;OAKG;IACH,wBAAwB,CAAC,IAAU;QACjC,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IACpD,CAAC;IAED;;;;;OAKG;IACH,sBAAsB,CAAC,IAAU;QAC/B,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CAAA;IACrE,CAAC;IAED;;;;;OAKG;IACH,qBAAqB,CAAC,IAAU;QAC9B,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAC1C,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAA;IACpE,CAAC;IAED;;;;;;KAMC;IACD,YAAY,CAAC,KAAa,EAAE,IAAU;QACpC,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED;;;;;;OAMG;IACH,uBAAuB,CAAC,KAAa,EAAE,YAAkB;QACvD,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC;IACxD,CAAC;IAED;;;;OAIG;IACH,kBAAkB,CAAC,SAA0B;QAC3C,IAAI,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAE1C,IAAI,SAAS,KAAK,MAAM;YAAE,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAA;QACnE,IAAI,SAAS,KAAK,MAAM;YAAE,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAA;QAEnE,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC;IAC9B,CAAC;IAED;;;;OAIG;IACH,qBAAqB,CAAC,KAAkB;QACtC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAC1C,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;QAEpC,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAA;QAC3B,IAAI,CAAC,WAAW,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;IACtF,CAAC;IAED;;;;OAIG;IACH,oBAAoB,CAAC,KAAkB;QACrC,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;QAEnC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAA;QACzB,IAAI,CAAC,WAAW,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;IACtE,CAAC;IAED;;;;;OAKG;IACH,gBAAgB,CAAC,KAAgD;QAC/D,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAC1B,IAAI,OAAO,IAAI,KAAK,QAAQ;gBAAE,OAAO,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAErF,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClC,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAE9B,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,KAAK,IAAI,GAAG;gBAAE,OAAO,iBAAiB,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;YAC7F,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,gBAAgB,CAAC,IAAU;QACzB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED;;;;OAIG;IACH,mBAAmB,CAAC,IAAU;QAC5B,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC,aAAa,GAAG,CAAC,GAAG,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;QAElI,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAAA;QAC3E,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAA;IAC3E,CAAC;IAED;;;;OAIG;IACH,eAAe,CAAC,IAAU;QACxB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QAEvB,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;QACvE,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;QACpE,MAAM,KAAK,GAAG,iBAAiB,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;QAEhD,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,CAAC,CAAC;YAC5B,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,IAAI,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAChE,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACzB,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,WAAW,CAAC,IAAU;QACpB,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC;YAAE,OAAO;QAEtH,MAAM,iBAAiB,GAAG;YACxB,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC;YACxC,QAAQ,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC;YAC7C,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;SACvC,CAAC;QAEF,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC1H,CAAC;IAED;;;;MAIE;IACF,aAAa;QACX,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;QACpF,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;QAEhF,OAAO,iBAAiB,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,CAAC;IACjH,CAAC;IAED;;;;OAIG;IACH,gBAAgB;QACd,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC7C,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACzC,MAAM,sBAAsB,GAAG,CAAC,CAAC;QACjC,MAAM,qBAAqB,GAAG,EAAE,CAAC;QAEjC,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;QAE5D,MAAM,cAAc,GAAG,YAAY,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,MAAM,YAAY,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;QAChD,MAAM,eAAe,GAAG,iBAAiB,CAAC;YACxC,KAAK,EAAE,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;YAC3C,GAAG,EAAE,YAAY;SAClB,CAAC,CAAC;QAEH,MAAM,cAAc,GAAG,YAAY,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;QACvD,MAAM,YAAY,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;QAChD,MAAM,aAAa,GAAG,sBAAsB,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC3D,MAAM,eAAe,GAAG,iBAAiB,CAAC;YACxC,KAAK,EAAE,cAAc;YACrB,GAAG,EAAE,OAAO,CAAC,YAAY,EAAE,aAAa,CAAC;SAC1C,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG;YAChB,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACxC,GAAG,iBAAiB;YACpB,GAAG,eAAe;SACnB,CAAC;QAEF,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,qBAAqB,CAAC,CAAC;IACnD,CAAC;IAED;;;;OAIG;IACH,eAAe;QACb,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAEtC,MAAM,MAAM,GAAG,mBAAmB,CAAC;YACjC,KAAK,EAAE,WAAW,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAC/C,GAAG,EAAE,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,EAAE,EAAE,CAAC;SACnC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QAEnD,MAAM,UAAU,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QAE7F,OAAO;YACL,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC;SAC/B,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,aAAa;QACX,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QACxC,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;IAChE,CAAC;IAED;;;;MAIE;IACF,wBAAwB;QACtB,MAAM,cAAc,GAAG,QAAQ,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,YAAY,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;QAClI,OAAO,cAAc,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,cAAc,CAAC;IAC3D,CAAC;IAED;;;;;MAKE;IACF,aAAa,CAAC,IAAU;QACtB,MAAM,CAAC,aAAa,EAAE,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;QAChH,MAAM,CAAC,YAAY,EAAE,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;QAE3G,MAAM,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;QACvD,MAAM,wBAAwB,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;QAE9D,MAAM,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QACpF,MAAM,cAAc,GAAG,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAC5F,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAChF,MAAM,YAAY,GAAG,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAExF,MAAM,OAAO,GAAG,eAAe,IAAI,cAAc,CAAC;QAClD,MAAM,KAAK,GAAG,aAAa,IAAI,YAAY,CAAC;QAG5C,MAAM,iBAAiB,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,WAAW,EAAE,EAAE,EAAE,EAAE,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;QAC1H,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,WAAW,EAAE,EAAE,EAAE,EAAE,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;QAEvH,MAAM,gBAAgB,GAAG,gBAAgB,IAAI,IAAI,CAAC,YAAY,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;QACxF,MAAM,eAAe,GAAG,wBAAwB,IAAI,IAAI,CAAC,YAAY,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;QAE9F,MAAM,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC/C,MAAM,SAAS,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;QACrG,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,gBAAgB,IAAI,wBAAwB,CAAC,CAAC;QACxF,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;QAC/E,MAAM,UAAU,GAAG,CAAC,gBAAgB,IAAI,eAAe,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC;QAE/E,OAAO;YACL,OAAO;YACP,KAAK;YACL,OAAO;YACP,SAAS;YACT,UAAU;YACV,OAAO;YACP,SAAS;YACT,UAAU;SACX,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,UAAU,CAAC,IAAU;QACnB,MAAM,OAAO,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QACjC,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO,OAAO,CAAC;QAElC,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAE5C,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QACjC,OAAO,CAAC,OAAO,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC;QACtC,OAAO,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC;QAC1C,OAAO,CAAC,UAAU,CAAC,GAAG,UAAU,CAAC,UAAU,CAAC;QAC5C,OAAO,CAAC,OAAO,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC;QACtC,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC;QAChD,OAAO,CAAC,OAAO,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC;QACtC,OAAO,CAAC,UAAU,CAAC,GAAG,UAAU,CAAC,UAAU,CAAC;QAC5C,OAAO,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC;QAElC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;OAIG;IACH,oBAAoB;QAClB,OAAO;YACL,SAAS,EAAE,IAAI,CAAC,KAAK;SACtB,CAAC;IACJ,CAAC;IAGD,MAAM;QACJ,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAE1C,OAAO,CACL,EAAC,IAAI,qDAAC,KAAK,EAAE,IAAI,CAAC,oBAAoB,EAAE;YACtC,4DAAK,KAAK,EAAC,UAAU,EAAC,KAAK,EAAE,IAAI,CAAC,MAAM;gBACtC,+DAAQ,KAAK,EAAC,QAAQ;oBACpB,4DAAK,KAAK,EAAE,cAAc,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,UAAU,EAAE;wBAChE,kEACE,KAAK,EAAE,QAAQ,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,UAAU,EAAE,EACvD,IAAI,EAAC,MAAM,EACX,KAAK,EAAE,IAAI,CAAC,wBAAwB,EAAE,EACtC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,GACpC;wBACX,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,CAC1B,WAAK,KAAK,EAAC,QAAQ;4BACjB,mBACE,KAAK,EAAC,YAAY,EAClB,IAAI,EAAC,aAAa,EAClB,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,EACzC,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAE/C,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAC5B,0BACE,GAAG,EAAE,KAAK,EACV,KAAK,EAAE,KAAK,IACX,KAAK,CACa,CACtB,CAAC,CACU;4BACd,mBACE,KAAK,EAAC,WAAW,EACjB,IAAI,EAAC,aAAa,EAClB,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,EAC3C,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,IAE9C,IAAI,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CACzC,0BACE,GAAG,EAAE,KAAK,EACV,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,IACrB,IAAI,CAAC,QAAQ,EAAE,CACG,CACtB,CAAC,CACU,CACV,CACP,CAAC,CAAC,CAAC,CACF,kBACE,KAAK,EAAC,eAAe,EACrB,IAAI,EAAC,OAAO;4BACX,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;;4BAAI,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CACjE,CACd;wBACD,kEACE,KAAK,EAAE,QAAQ,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,UAAU,EAAE,EACvD,IAAI,EAAC,OAAO,EACZ,KAAK,EAAC,cAAc,EACpB,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,GACpC,CACR,CACC;gBAET,6DAAM,KAAK,EAAC,cAAc,IACvB,IAAI,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,CACxC,kBACE,KAAK,EAAC,KAAK,EACX,IAAI,EAAC,QAAQ,EACb,KAAK,EAAC,eAAe,EACrB,MAAM,EAAC,MAAM,EACb,GAAG,EAAE,KAAK,IACT,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,iBAAiB,EAAE,CACrC,CACd,CAAC,CACG;gBAEP,4DAAK,KAAK,EAAC,OAAO,IACf,IAAI,CAAC,gBAAgB,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,CAC3C,WACE,GAAG,EAAE,KAAK,EACV,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAC3B,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IACnC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CACxB,CACP,CAAC,CACE,CACD,CACD,CACT,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, h, State, Prop, Event, EventEmitter, Host } from '@stencil/core';\nimport {\n getMonth, getYear, startOfMonth, endOfMonth, eachDayOfInterval, format, getDay,\n isBefore, isAfter, isSameDay, isToday, parseISO, addDays, addMonths, subDays, startOfYear,\n eachMonthOfInterval, startOfWeek, endOfWeek, subMonths,\n isValid\n} from 'date-fns';\nimport enAU from 'date-fns/locale/en-AU';\nimport ptBR from 'date-fns/locale/pt-BR';\n\n@Component({\n tag: 'cura-calendar',\n styleUrl: 'cura-calendar.scss',\n shadow: true,\n})\n\nexport class CuraCalendar {\n /**\n * An array of specific dates to be highlighted or processed.\n *\n * @type {string[] | string}\n * @default []\n * @example\n * // Example usage\n * period = [\"2024-08-01\", \"2024-08-30\"];\n */\n @Prop({ reflect: true }) period: string[] | string = []\n /**\n * Width of the component.\n *\n * @type {string}\n * @default '300px'\n */\n @Prop({ reflect: true }) width: string = '300px';\n /**\n * Selection mode of the date picker.\n *\n * @type {'single' | 'multiple' | 'range'}\n * @default 'single'\n */\n @Prop({ reflect: true }) mode: 'single' | 'multiple' | 'range' = 'single';\n /**\n * Date format used for display and parsing.\n *\n * @type {string}\n * @default 'yyyy-MM-dd'\n */\n @Prop({ reflect: true }) dateFormat: string = 'yyyy-MM-dd';\n /**\n * Locale for date formatting.\n *\n * @type {'pt-BR' | 'en-US'}\n * @default 'pt-BR'\n */\n @Prop({ reflect: true }) locale: 'pt-BR' | 'en-US' = 'pt-BR';\n\n /**\n * Display type of the date picker.\n *\n * @type {'dropdown' | 'static'}\n * @default 'dropdown'\n */\n @Prop({ reflect: true }) type: 'dropdown' | 'static' = 'dropdown';\n\n /**\n * List of dates to disable.\n *\n * @type {string[]}\n * @default []\n */\n @Prop({ reflect: true }) disable: string[] = [];\n /**\n * List of dates to enable.\n *\n * @type {string[]}\n * @default []\n */\n @Prop({ reflect: true }) enable: string[] = [];\n /**\n * Default dates selected on initialization.\n *\n * @type {string[]}\n * @default []\n */\n @Prop({ reflect: true }) defaultDate: string[] = [];\n /**\n * Limits the selectable date range.\n *\n * @type {Date | null}\n * @default null\n */\n @Prop({ reflect: true }) limitRange: number | null = null;\n\n /**\n * The current month being viewed in the date picker.\n *\n * @type {Date}\n * @default new Date()\n */\n @State() currentDate: Date = new Date();\n\n /**\n * Array of currently selected dates.\n *\n * @type {Date[]}\n * @default []\n */\n @State() selectedDates: Date[] = [];\n\n /**\n * The start date of the range selection, if applicable.\n *\n * @type {Date | null}\n * @default null\n */\n @State() rangeStart: Date | null = null;\n\n /**\n * Array of default dates that are initially selected.\n *\n * @type {Date[]}\n * @default []\n */\n @State() defaultDates: Date[] = [];\n\n /**\n * Selected months on dropdown.\n *\n * @type {string}\n * @default ''\n */\n @State() selectMonth: string = '';\n\n /**\n * Selected year on dropdown.\n *\n * @type {string}\n * @default ''\n */\n @State() selectYear: string = ''\n\n /**\n * CSS styles applied to the component.\n *\n * @type {Object}\n * @default {}\n */\n @State() styles = {};\n\n /**\n * Event emitted when a day is changed.\n *\n * @event\n * @type {EventEmitter<{ days: Date[] }>}\n */\n @Event() onchangeday: EventEmitter<{ days: Date[] }>;\n\n theme = window.CuraAPI.theme;\n weights: { [key: string]: string } = this.theme.fonts.getWeights();\n optionsLocale = { 'pt-BR': ptBR, 'en-US': enAU };\n\n connectedCallback() {\n this.initializeDefaultDates();\n this.setFontProperties()\n\n const colors = [\n { name: '--accent-base', theme: 'accent-base' },\n { name: '--accent-light', theme: 'accent-light' },\n { name: '--neutral-black', theme: 'neutral-black' },\n { name: '--primary-darker', theme: 'primary-darker' },\n { name: '--neutral-dark', theme: 'neutral-dark' },\n { name: '--neutral-light', theme: 'neutral-light' },\n ];\n\n colors.forEach(color => this.styles = { ...this.styles, [color.name]: this.theme.colors.getColor(color.theme) });\n }\n\n setFontProperties() {\n this.styles['--font-family'] = window.CuraAPI.theme.fonts.getFamily();\n this.styles['--font-size'] = window.CuraAPI.theme.fonts.getSize();\n this.styles['--font-color'] = window.CuraAPI.theme.fonts.getColor();\n this.styles['--font-weight-medium'] = this.weights.medium;\n this.styles['--font-weight-bold'] = this.weights.bold;\n this.styles['--font-weight-regular'] = this.weights.regular;\n }\n\n /**\n * Initialize the selected dates based on defaultDate and mode.\n */\n initializeDefaultDates() {\n this.defaultDates = this.expandDateRanges(this.defaultDate);\n }\n\n /**\n * Get the locale for the calendar.\n *\n * @returns {Locale} The locale object.\n */\n determineLocale() {\n return this.optionsLocale[this.locale as string] || this.locale;\n }\n\n /**\n * Check if a date is within the valid period.\n *\n * @param {Date} date - The date to check.\n * @returns {boolean} Whether the date is valid.\n */\n isDateInValidPeriod(date: Date): boolean {\n return this.period.includes(format(date, this.dateFormat));\n }\n\n /**\n * Check if a date is selected.\n *\n * @param {Date} date - The date to check.\n * @returns {boolean} Whether the date is selected.\n */\n isDateSelected(date: Date): boolean {\n return this.isDateInList(this.selectedDates, date);\n }\n\n /**\n * Check if has date in defaultDates.\n *\n * @param {Date} date - The date to check.\n * @returns {boolean} Whether the date is selected.\n */\n isDateInDefaultSelection(date: Date): boolean {\n return this.isDateInList(this.defaultDates, date);\n }\n\n /**\n * Check if a date is within a disabled period.\n *\n * @param {Date} date - The date to check.\n * @returns {boolean} Whether the date is disabled.\n */\n isDateInDisabledPeriod(date: Date): boolean {\n return this.isDateInList(this.expandDateRanges(this.disable), date)\n }\n\n /**\n * Check if a date is within an enabled period.\n *\n * @param {Date} date - The date to check.\n * @returns {boolean} Whether the date is enabled.\n */\n isDateInEnabledPeriod(date: Date): boolean {\n if (this.enable.length === 0) return true;\n return this.isDateInList(this.expandDateRanges(this.enable), date)\n }\n\n /**\n * Checks if a date is in the provided list of dates.\n *\n * @param {Date[]} dates - The list of dates to check against.\n * @param {Date} date - The date to check.\n * @returns {boolean} Whether the date is in the list.\n */\n isDateInList(dates: Date[], date: Date): boolean {\n return dates.some(d => isSameDay(d, date));\n }\n\n /**\n * Removes a specific date from a list of dates.\n *\n * @param {Date[]} dates - The array of dates to filter.\n * @param {Date} dateToRemove - The date to remove from the array.\n * @returns {Date[]} A new array with the specified date removed.\n */\n removeDateFromSelection(dates: Date[], dateToRemove: Date): Date[] {\n return dates.filter(d => !isSameDay(d, dateToRemove));\n }\n\n /**\n * Change the current month.\n *\n * @param {string} direction - 'prev' | 'next'\n */\n updateCurrentMonth(direction: 'prev' | 'next') {\n let newMonth = new Date(this.currentDate);\n\n if (direction === 'prev') newMonth = subMonths(this.currentDate, 1)\n if (direction === 'next') newMonth = addMonths(this.currentDate, 1)\n\n this.currentDate = newMonth;\n }\n\n /**\n * Handle the month dropdown change.\n *\n * @param {CustomEvent} event - The change event.\n */\n onMonthDropdownChange(event: CustomEvent) {\n const { months } = this.fetchMonthNames();\n const newMonth = event.detail.value;\n\n this.selectMonth = newMonth\n this.currentDate = new Date(getYear(this.currentDate), months.indexOf(newMonth), 1);\n }\n\n /**\n * Handle the year input change.\n *\n * @param {CustomEvent} event - The change event.\n */\n onYearDropdownChange(event: CustomEvent) {\n const newYear = event.detail.value;\n\n this.selectYear = newYear\n this.currentDate = new Date(newYear, getMonth(this.currentDate), 1);\n }\n\n /**\n * Flatten date ranges into individual dates.\n *\n * @param {({ from: string; to: string } | string)[]} dates - An array of date ranges or individual dates.\n * @returns {Date[]} An array of individual dates.\n */\n expandDateRanges(dates: ({ from: string; to: string } | string)[]): Date[] {\n return dates.flatMap(date => {\n if (typeof date === 'string') return isValid(parseISO(date)) ? [parseISO(date)] : [];\n\n const start = parseISO(date.from);\n const end = parseISO(date.to);\n\n if (isValid(start) && isValid(end) && start <= end) return eachDayOfInterval({ start, end });\n return [];\n });\n }\n\n /**\n * Handle single date selection.\n *\n * @param {Date} date - The date to select.\n */\n selectSingleDate(date: Date) {\n this.defaultDates = [];\n this.selectedDates = [date];\n }\n\n /**\n * Handle multiple date selection.\n *\n * @param {Date} date - The date to select or deselect.\n */\n selectMultiplesDate(date: Date) {\n if (!this.isDateSelected(date) || !this.isDateInDefaultSelection(date)) return this.selectedDates = [...this.selectedDates, date];\n\n this.selectedDates = this.removeDateFromSelection(this.selectedDates, date)\n this.defaultDates = this.removeDateFromSelection(this.defaultDates, date)\n }\n\n /**\n * Handle range date selection.\n *\n * @param {Date} date - The date to select.\n */\n selectDateRange(date: Date) {\n this.defaultDates = [];\n\n const start = isBefore(this.rangeStart, date) ? this.rangeStart : date;\n const end = isAfter(this.rangeStart, date) ? this.rangeStart : date;\n const range = eachDayOfInterval({ start, end });\n\n if (!this.rangeStart || this.selectedDates.length === 2) {\n this.rangeStart = date;\n this.selectedDates = [date];\n return;\n }\n\n if (this.limitRange === null || range.length <= this.limitRange) {\n this.selectedDates = range;\n this.rangeStart = null;\n }\n }\n\n /**\n * Handle a click on a date.\n *\n * @param {Date} date - The date that was clicked.\n */\n onDateClick(date: Date) {\n if (!this.isDateInValidPeriod(date) || this.isDateInDisabledPeriod(date) || !this.isDateInEnabledPeriod(date)) return;\n\n const selectionHandlers = {\n single: this.selectSingleDate.bind(this),\n multiple: this.selectMultiplesDate.bind(this),\n range: this.selectDateRange.bind(this)\n };\n\n selectionHandlers[this.mode](date);\n this.onchangeday.emit({ days: [...this.defaultDates, ...this.selectedDates].filter(d => this.isDateInValidPeriod(d)) });\n }\n\n /**\n * Get the days of the week.\n *\n * @returns {string[]} An array of abbreviated day names.\n */\n fetchWeekDays(): string[] {\n const start = startOfWeek(new Date(2021, 0, 3), { locale: this.determineLocale() });\n const end = endOfWeek(new Date(2021, 0, 3), { locale: this.determineLocale() });\n\n return eachDayOfInterval({ start, end }).map(day => format(day, 'EEEEEE', { locale: this.determineLocale() }));\n }\n\n /**\n * Get the days of the current month, including leading nulls for alignment.\n *\n * @returns {(Date | null)[]} An array of dates and nulls for the current month view.\n */\n fetchDaysOfMonth(): Date[] {\n const start = startOfMonth(this.currentDate);\n const end = endOfMonth(this.currentDate);\n const WEEKS_IN_CALENDAR_VIEW = 6;\n const DAYS_IN_CALENDAR_VIEW = 42;\n\n const daysIncurrentDate = eachDayOfInterval({ start, end });\n\n const prevMonthStart = startOfMonth(addMonths(start, -1));\n const prevMonthEnd = endOfMonth(prevMonthStart);\n const daysInPrevMonth = eachDayOfInterval({\n start: subDays(prevMonthEnd, getDay(start)),\n end: prevMonthEnd\n });\n\n const nextMonthStart = startOfMonth(addMonths(end, 1));\n const nextMonthEnd = endOfMonth(nextMonthStart);\n const remainingDays = WEEKS_IN_CALENDAR_VIEW - getDay(end);\n const daysInNextMonth = eachDayOfInterval({\n start: nextMonthStart,\n end: addDays(nextMonthEnd, remainingDays)\n });\n\n const totalDays = [\n ...daysInPrevMonth.slice(-getDay(start)),\n ...daysIncurrentDate,\n ...daysInNextMonth\n ];\n\n return totalDays.slice(0, DAYS_IN_CALENDAR_VIEW);\n }\n\n /**\n * Get the names of all months in the current year.\n *\n * @returns {{ months: string[], currentMonth: string }} An object containing an array of month names and the name of the current month.\n */\n fetchMonthNames(): { months: string[] } {\n const currentYear = getYear(this.currentDate);\n const locale = this.determineLocale();\n\n const months = eachMonthOfInterval({\n start: startOfYear(new Date(currentYear, 0, 1)),\n end: new Date(currentYear, 11, 31)\n }).map(month => format(month, 'MMMM', { locale }));\n\n const capitalize = (str: string) => str.charAt(0).toUpperCase() + str.slice(1).toLowerCase();\n\n return {\n months: months.map(capitalize),\n };\n }\n\n /**\n * Get a list of years in descending order from the current year to a specified limit.\n *\n * @returns {number[]} An array of years.\n */\n fetchYearList(): number[] {\n const currentYear = getYear(new Date());\n return Array.from({ length: 100 }, (_, i) => currentYear - i);\n }\n\n /**\n * Get the color for the previous button.\n *\n * @returns {string} The color name for the previous button.\n */\n determinePrevButtonColor(): string {\n const isPrevDisabled = isBefore(new Date(getYear(this.currentDate), getMonth(this.currentDate) - 1, 1), startOfMonth(new Date()));\n return isPrevDisabled ? 'neutral-light' : 'primary-base';\n }\n\n /**\n * Get the status of a given date, determining its position and interval status.\n *\n * @param {Date | null} date - The date to evaluate.\n * @returns {Object} An object containing the status flags for the date.\n */\n getDateStatus(date: Date) {\n const [startSelected, endSelected] = [this.selectedDates[0], this.selectedDates[this.selectedDates.length - 1]];\n const [startDefault, endDefault] = [this.defaultDates[0], this.defaultDates[this.defaultDates.length - 1]];\n\n const hasSelectedDates = this.selectedDates.length > 1;\n const isDateInDefaultSelection = this.defaultDates.length > 1;\n\n const isStartSelected = this.isDateSelected(date) && isSameDay(date, startSelected);\n const isStartDefault = this.isDateInDefaultSelection(date) && isSameDay(date, startDefault);\n const isEndSelected = this.isDateSelected(date) && isSameDay(date, endSelected);\n const isEndDefault = this.isDateInDefaultSelection(date) && isSameDay(date, endDefault);\n\n const isStart = isStartSelected || isStartDefault;\n const isEnd = isEndSelected || isEndDefault;\n\n\n const selectedIntervals = this.expandDateRanges([{ from: startSelected?.toISOString(), to: endSelected?.toISOString() }]);\n const defaultIntervals = this.expandDateRanges([{ from: startDefault?.toISOString(), to: endDefault?.toISOString() }]);\n\n const intervalSelected = hasSelectedDates && this.isDateInList(selectedIntervals, date);\n const intervalDefault = isDateInDefaultSelection && this.isDateInList(defaultIntervals, date);\n\n const isValid = this.isDateInValidPeriod(date);\n const isInvalid = !isValid || this.isDateInDisabledPeriod(date) || !this.isDateInEnabledPeriod(date);\n const isSelected = this.isDateSelected(date);\n const isRange = this.mode === 'range' && (hasSelectedDates || isDateInDefaultSelection);\n const isDefault = this.mode !== 'range' && this.isDateInDefaultSelection(date);\n const isInterval = (intervalSelected || intervalDefault) && !isStart && !isEnd;\n\n return {\n isStart,\n isEnd,\n isValid,\n isInvalid,\n isSelected,\n isRange,\n isDefault,\n isInterval\n };\n }\n\n /**\n * Get the CSS classes for a given date based on its status.\n *\n * @param {Date | null} date - The date to evaluate.\n * @returns {Object} An object containing the CSS classes for the date.\n */\n getClasses(date: Date) {\n const classes = { 'date': true };\n if (date === null) return classes;\n\n const dateStatus = this.getDateStatus(date);\n\n classes['today'] = isToday(date);\n classes['valid'] = dateStatus.isValid;\n classes['invalid'] = dateStatus.isInvalid;\n classes['selected'] = dateStatus.isSelected;\n classes['range'] = dateStatus.isRange;\n classes['default-dates'] = dateStatus.isDefault;\n classes['start'] = dateStatus.isStart;\n classes['interval'] = dateStatus.isInterval;\n classes['end'] = dateStatus.isEnd;\n\n return classes;\n }\n\n /**\n * Get custom CSS properties for the host element.\n *\n * @returns {Object} An object containing CSS properties and their values.\n */\n getHostCSSProperties() {\n return {\n '--width': this.width,\n };\n }\n\n\n render() {\n const { months } = this.fetchMonthNames();\n\n return (\n <Host style={this.getHostCSSProperties()}>\n <div class=\"calendar\" style={this.styles}>\n <header class=\"header\">\n <div class={`month-year ${this.type === 'dropdown' && 'dropdown'}`}>\n <cura-icon\n class={`icon ${this.type === 'dropdown' && 'dropdown'}`}\n name=\"left\"\n color={this.determinePrevButtonColor()}\n onClick={() => this.updateCurrentMonth('prev')}>\n </cura-icon>\n {this.type === 'dropdown' ? (\n <div class=\"select\">\n <cura-select\n class=\"drop-month\"\n mode=\"transparent\"\n value={months[getMonth(this.currentDate)]}\n onSelected={(e) => this.onMonthDropdownChange(e)}\n >\n {months.map((month, index) => (\n <cura-select-option\n key={index}\n value={month}>\n {month}\n </cura-select-option>\n ))}\n </cura-select>\n <cura-select\n class=\"drop-year\"\n mode=\"transparent\"\n value={getYear(this.currentDate).toString()}\n onSelected={(e) => this.onYearDropdownChange(e)}\n >\n {this.fetchYearList().map((year, index) => (\n <cura-select-option\n key={index}\n value={year.toString()}>\n {year.toString()}\n </cura-select-option>\n ))}\n </cura-select>\n </div>\n ) : (\n <cura-label\n color=\"neutral-black\"\n size=\"large\">\n {months[getMonth(this.currentDate)].slice(0, 3)}, {getYear(this.currentDate)}\n </cura-label>\n )}\n <cura-icon\n class={`icon ${this.type === 'dropdown' && 'dropdown'}`}\n name=\"right\"\n color=\"primary-base\"\n onClick={() => this.updateCurrentMonth('next')}>\n </cura-icon>\n </div>\n </header>\n\n <span class=\"days-of-week\">\n {this.fetchWeekDays().map((day, index) => (\n <cura-label\n class=\"day\"\n size=\"xsmall\"\n color=\"neutral-black\"\n weight='bold'\n key={index}>\n {day === 'sab' ? 'SÁB' : day.toLocaleUpperCase()}\n </cura-label>\n ))}\n </span>\n\n <div class=\"dates\">\n {this.fetchDaysOfMonth().map((day, index) => (\n <div\n key={index}\n class={this.getClasses(day)}\n onClick={() => this.onDateClick(day)}>\n {day ? format(day, 'd') : ''}\n </div>\n ))}\n </div>\n </div >\n </Host >\n );\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"cura-calendar.js","sourceRoot":"","sources":["../../../src/components/cura-calendar/cura-calendar.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, h, State, Prop, Event, EventEmitter, Host } from '@stencil/core';\nimport {\n getMonth, getYear, startOfMonth, endOfMonth, eachDayOfInterval, format, getDay,\n isBefore, isAfter, isSameDay, isToday, parseISO, addDays, addMonths, subDays, startOfYear,\n eachMonthOfInterval, startOfWeek, endOfWeek, subMonths,\n isValid,\n subWeeks,\n addWeeks\n} from 'date-fns';\nimport enAU from 'date-fns/locale/en-AU';\nimport ptBR from 'date-fns/locale/pt-BR';\n\n@Component({\n tag: 'cura-calendar',\n styleUrl: 'cura-calendar.scss',\n shadow: true,\n})\n\nexport class CuraCalendar {\n /**\n * An array of specific dates to be highlighted or processed.\n *\n * @type {string[] | string}\n * @default []\n * @example\n * // Example usage\n * period = [\"2024-08-01\", \"2024-08-30\"];\n */\n @Prop({ reflect: true }) period: null | string[] | string = null;\n /**\n * Width of the component.\n *\n * @type {string}\n * @default '280px'\n */\n @Prop({ reflect: true }) width: string = '268px';\n /**\n * Selection mode of the date picker.\n *\n * @type {'single' | 'multiple' | 'range'}\n * @default 'single'\n */\n @Prop({ reflect: true }) mode: 'single' | 'multiple' | 'range' = 'single';\n /**\n * Date format used for display and parsing.\n *\n * @type {string}\n * @default 'yyyy-MM-dd'\n */\n @Prop({ reflect: true, mutable: true }) dateFormat: string = 'yyyy-MM-dd';\n /**\n * Locale for date formatting.\n *\n * @type {'pt-BR' | 'en-US'}\n * @default 'pt-BR'\n */\n @Prop({ reflect: true }) locale: 'pt-BR' | 'en-US' = 'pt-BR';\n\n /**\n * Display type of the date picker.\n *\n * @type {'dropdown' | 'static'}\n * @default 'dropdown'\n */\n @Prop({ reflect: true }) type: 'dropdown' | 'static' = 'dropdown';\n\n /**\n * List of dates to disable.\n *\n * @type {string[]}\n * @default []\n */\n @Prop({ reflect: true }) disable: string[] | null = [];\n /**\n * List of dates to enable.\n *\n * @type {string[]}\n * @default []\n */\n @Prop({ reflect: true }) enable: string[] | null = [];\n /**\n * Default dates selected on initialization.\n *\n * @type {string[]}\n * @default []\n */\n @Prop({ reflect: true }) defaultDate: string[] = [];\n /**\n * Limits the selectable date range.\n *\n * @type {Date | null}\n * @default null\n */\n @Prop({ reflect: true }) limitRange: number | null = null;\n\n @Prop({ reflect: true, mutable: true }) disablePassDates: boolean;\n\n @Prop({ reflect: true, mutable: true }) disableFutureDates: boolean;\n\n @Prop({ reflect: true, mutable: true }) collapsed: boolean | null = null;\n\n @Prop({ reflect: true, mutable: true }) floating: boolean;\n\n @Prop({ reflect: true, mutable: true }) embedded: boolean;\n\n\n\n /**\n * The current month being viewed in the date picker.\n *\n * @type {Date}\n * @default new Date()\n */\n @State() currentDate: Date = new Date();\n\n /**\n * Array of currently selected dates.\n *\n * @type {Date[]}\n * @default []\n */\n @State() selectedDates: Date[] = [];\n\n /**\n * The start date of the range selection, if applicable.\n *\n * @type {Date | null}\n * @default null\n */\n @State() rangeStart: Date | null = null;\n\n /**\n * Array of default dates that are initially selected.\n *\n * @type {Date[]}\n * @default []\n */\n @State() defaultDates: Date[] = [];\n\n /**\n * Selected months on dropdown.\n *\n * @type {string}\n * @default ''\n */\n @State() selectMonth: string = '';\n\n /**\n * Selected year on dropdown.\n *\n * @type {string}\n * @default ''\n */\n @State() selectYear: string = ''\n\n /**\n * CSS styles applied to the component.\n *\n * @type {Object}\n * @default {}\n */\n @State() styles = {};\n\n /**\n * Event emitted when a day is changed.\n *\n * @event\n * @type {EventEmitter<{ days: Date[] }>}\n */\n @Event() onchangeday: EventEmitter<{ days: Date[] }>;\n\n theme = window.CuraAPI.theme;\n weights: { [key: string]: string } = this.theme.fonts.getWeights();\n optionsLocale = { 'pt-BR': ptBR, 'en-US': enAU };\n\n connectedCallback() {\n this.initializeDefaultDates();\n this.setFontProperties()\n\n const colors = [\n { name: '--accent-base', theme: 'accent-base' },\n { name: '--accent-light', theme: 'accent-light' },\n { name: '--neutral-black', theme: 'neutral-black' },\n { name: '--primary-darker', theme: 'primary-darker' },\n { name: '--neutral-dark', theme: 'neutral-dark' },\n { name: '--neutral-light', theme: 'neutral-light' },\n ];\n\n colors.forEach(color => this.styles = { ...this.styles, [color.name]: this.theme.colors.getColor(color.theme) });\n }\n\n setFontProperties() {\n this.styles['--font-family'] = window.CuraAPI.theme.fonts.getFamily();\n this.styles['--font-size'] = window.CuraAPI.theme.fonts.getSize();\n this.styles['--font-color'] = window.CuraAPI.theme.fonts.getColor();\n this.styles['--font-weight-medium'] = this.weights.medium;\n this.styles['--font-weight-bold'] = this.weights.bold;\n this.styles['--font-weight-regular'] = this.weights.regular;\n }\n\n /**\n * Initialize the selected dates based on defaultDate and mode.\n */\n initializeDefaultDates() {\n this.defaultDates = this.expandDateRanges(this.defaultDate);\n }\n\n /**\n * Get the locale for the calendar.\n *\n * @returns {Locale} The locale object.\n */\n determineLocale() {\n return this.optionsLocale[this.locale as string] || this.locale;\n }\n\n /**\n * Check if a date is within the valid period.\n *\n * @param {Date} date - The date to check.\n * @returns {boolean} Whether the date is valid.\n */\n isDateInValidPeriod(date: Date | null): boolean {\n if (this.period === null) {\n return true;\n }\n return this.period.includes(format(date, this.dateFormat));\n }\n\n /**\n * Check if a date is selected.\n *\n * @param {Date} date - The date to check.\n * @returns {boolean} Whether the date is selected.\n */\n isDateSelected(date: Date): boolean {\n return this.isDateInList(this.selectedDates, date);\n }\n\n /**\n * Check if has date in defaultDates.\n *\n * @param {Date} date - The date to check.\n * @returns {boolean} Whether the date is selected.\n */\n isDateInDefaultSelection(date: Date): boolean {\n return this.isDateInList(this.defaultDates, date);\n }\n\n /**\n * Check if a date is within a disabled period.\n *\n * @param {Date} date - The date to check.\n * @returns {boolean} Whether the date is disabled.\n */\n isDateInDisabledPeriod(date: Date | null): boolean {\n\n const today = new Date()\n today.setHours(0, 0, 0, 0);\n if (this.disablePassDates) return isBefore(date, today)\n if (this.disableFutureDates) return isAfter(date, today)\n if (this.disable === null) return false\n return this.isDateInList(this.expandDateRanges(this.disable), date)\n }\n\n /**\n * Check if a date is within an enabled period.\n *\n * @param {Date} date - The date to check.\n * @returns {boolean} Whether the date is enabled.\n */\n isDateInEnabledPeriod(date: Date | null): boolean {\n if (this.enable === null || []) return true;\n return this.isDateInList(this.expandDateRanges(this.enable), date)\n }\n\n /**\n * Checks if a date is in the provided list of dates.\n *\n * @param {Date[]} dates - The list of dates to check against.\n * @param {Date} date - The date to check.\n * @returns {boolean} Whether the date is in the list.\n */\n isDateInList(dates: Date[], date: Date): boolean {\n return dates.some(d => isSameDay(d, date));\n }\n\n /**\n * Removes a specific date from a list of dates.\n *\n * @param {Date[]} dates - The array of dates to filter.\n * @param {Date} dateToRemove - The date to remove from the array.\n * @returns {Date[]} A new array with the specified date removed.\n */\n removeDateFromSelection(dates: Date[], dateToRemove: Date): Date[] {\n return dates.filter(d => !isSameDay(d, dateToRemove));\n }\n\n /**\n * Change the current month.\n *\n * @param {string} direction - 'prev' | 'next'\n */\n updateCurrentMonth(direction: 'prev' | 'next') {\n let newMonth = new Date(this.currentDate);\n\n if (direction === 'prev') newMonth = subMonths(this.currentDate, 1)\n if (direction === 'next') newMonth = addMonths(this.currentDate, 1)\n\n this.currentDate = newMonth;\n }\n\n /**\n * Handle the month dropdown change.\n *\n * @param {CustomEvent} event - The change event.\n */\n onMonthDropdownChange(event: CustomEvent) {\n const { months } = this.fetchMonthNames();\n const newMonth = event.detail;\n\n this.selectMonth = newMonth\n this.currentDate = new Date(getYear(this.currentDate), months.indexOf(newMonth), 1);\n }\n\n /**\n * Handle the year input change.\n *\n * @param {CustomEvent} event - The change event.\n */\n onYearDropdownChange(event: CustomEvent) {\n const newYear = event.detail;\n\n this.selectYear = newYear\n this.currentDate = new Date(newYear, getMonth(this.currentDate), 1);\n }\n\n /**\n * Flatten date ranges into individual dates.\n *\n * @param {({ from: string; to: string } | string)[]} dates - An array of date ranges or individual dates.\n * @returns {Date[]} An array of individual dates.\n */\n expandDateRanges(dates: ({ from: string; to: string } | string)[]): Date[] {\n return dates.flatMap(date => {\n if (typeof date === 'string') return isValid(parseISO(date)) ? [parseISO(date)] : [];\n\n const start = parseISO(date.from);\n const end = parseISO(date.to);\n\n if (isValid(start) && isValid(end) && start <= end) return eachDayOfInterval({ start, end });\n return [];\n });\n }\n\n /**\n * Handle single date selection.\n *\n * @param {Date} date - The date to select.\n */\n selectSingleDate(date: Date) {\n this.defaultDates = [];\n this.selectedDates = [date];\n }\n\n /**\n * Handle multiple date selection.\n *\n * @param {Date} date - The date to select or deselect.\n */\n selectMultiplesDate(date: Date) {\n if (!this.isDateSelected(date) || !this.isDateInDefaultSelection(date)) return this.selectedDates = [...this.selectedDates, date];\n\n this.selectedDates = this.removeDateFromSelection(this.selectedDates, date)\n this.defaultDates = this.removeDateFromSelection(this.defaultDates, date)\n }\n\n /**\n * Handle range date selection.\n *\n * @param {Date} date - The date to select.\n */\n selectDateRange(date: Date) {\n this.defaultDates = [];\n\n const start = isBefore(this.rangeStart, date) ? this.rangeStart : date;\n const end = isAfter(this.rangeStart, date) ? this.rangeStart : date;\n const range = eachDayOfInterval({ start, end });\n\n if (!this.rangeStart || this.selectedDates.length === 2) {\n this.rangeStart = date;\n this.selectedDates = [date];\n return;\n }\n\n if (this.limitRange === null || range.length <= this.limitRange) {\n this.selectedDates = range;\n this.rangeStart = null;\n }\n }\n\n /**\n * Handle a click on a date.\n *\n * @param {Date} date - The date that was clicked.\n */\n onDateClick(date: Date) {\n if (!this.isDateInValidPeriod(date) || this.isDateInDisabledPeriod(date) || !this.isDateInEnabledPeriod(date)) return;\n\n const selectionHandlers = {\n single: this.selectSingleDate.bind(this),\n multiple: this.selectMultiplesDate.bind(this),\n range: this.selectDateRange.bind(this)\n };\n\n selectionHandlers[this.mode](date);\n this.onchangeday.emit({ days: [...this.defaultDates, ...this.selectedDates].filter(d => this.isDateInValidPeriod(d)) });\n }\n\n /**\n * Get the days of the week.\n *\n * @returns {string[]} An array of abbreviated day names.\n */\n fetchWeekDays(): string[] {\n const start = startOfWeek(new Date(2021, 0, 3), { locale: this.determineLocale() });\n const end = endOfWeek(new Date(2021, 0, 3), { locale: this.determineLocale() });\n\n return eachDayOfInterval({ start, end }).map(day => format(day, 'EEEEEE', { locale: this.determineLocale() }));\n }\n\n /**\n * Get the days of the current month, including leading nulls for alignment.\n *\n * @returns {(Date | null)[]} An array of dates and nulls for the current month view.\n */\n showNotColapsedCalendar() {\n if (this.collapsed) {\n this.fetchDaysOfWeek()\n }\n else (\n this.fetchDaysOfMonth())\n this.collapsed = false\n }\n\n showColapsedCalendar() {\n this.collapsed = true\n return this.fetchDaysOfWeek()\n }\n\n fetchDaysOfWeek(): Date[] {\n\n const DAYS_IN_CALENDAR_VIEW = 7\n const start = startOfWeek(this.currentDate);\n const end = endOfWeek(this.currentDate);\n\n const daysIncurrentDate = eachDayOfInterval({ start, end });\n\n return daysIncurrentDate.slice(0, DAYS_IN_CALENDAR_VIEW);\n }\n\n updateCurrentWeek(direction: 'prev' | 'next') {\n let newWeek = new Date(this.currentDate);\n\n if (direction === 'prev') newWeek = subWeeks(this.currentDate, 1)\n if (direction === 'next') newWeek = addWeeks(this.currentDate, 1)\n\n this.currentDate = newWeek;\n }\n\n fetchDaysOfMonth(): Date[] {\n\n const WEEKS_IN_CALENDAR_VIEW = 6\n const DAYS_IN_CALENDAR_VIEW = 42\n const start = startOfMonth(this.currentDate);\n const end = endOfMonth(this.currentDate);\n\n const daysIncurrentDate = eachDayOfInterval({ start, end });\n\n const prevMonthStart = startOfMonth(addMonths(start, -1));\n const prevMonthEnd = endOfMonth(prevMonthStart);\n const daysInPrevMonth = eachDayOfInterval({\n start: subDays(prevMonthEnd, getDay(start)),\n end: prevMonthEnd\n });\n\n const nextMonthStart = startOfMonth(addMonths(end, 1));\n const nextMonthEnd = endOfMonth(nextMonthStart);\n const remainingDays = WEEKS_IN_CALENDAR_VIEW - getDay(end);\n const daysInNextMonth = eachDayOfInterval({\n start: nextMonthStart,\n end: addDays(nextMonthEnd, remainingDays)\n });\n\n const totalDays = [\n ...daysInPrevMonth.slice(-getDay(start)),\n ...daysIncurrentDate,\n ...daysInNextMonth\n ];\n\n return totalDays.slice(0, DAYS_IN_CALENDAR_VIEW);\n }\n\n /**\n * Get the names of all months in the current year.\n *\n * @returns {{ months: string[], currentMonth: string }} An object containing an array of month names and the name of the current month.\n */\n fetchMonthNames(): { months: string[] } {\n const currentYear = getYear(this.currentDate);\n const locale = this.determineLocale();\n\n const months = eachMonthOfInterval({\n start: startOfYear(new Date(currentYear, 0, 1)),\n end: new Date(currentYear, 11, 31)\n }).map(month => format(month, 'MMMM', { locale }));\n\n const capitalize = (str: string) => str.charAt(0).toUpperCase() + str.slice(1).toLowerCase();\n\n return {\n months: months.map(capitalize),\n };\n }\n\n /**\n * Get a list of years in descending order from the current year to a specified limit.\n *\n * @returns {number[]} An array of years.\n */\n fetchYearList(): number[] {\n const currentYear = getYear(new Date());\n return Array.from({ length: 100 }, (_, i) => currentYear - i);\n }\n\n /**\n * Get the color for the previous button.\n *\n * @returns {string} The color name for the previous button.\n */\n determinePrevButtonColor(): string {\n const isPrevDisabled = isBefore(new Date(getYear(this.currentDate), getMonth(this.currentDate) - 1, 1), startOfMonth(new Date()));\n return isPrevDisabled && 'primary-base';\n }\n\n /**\n * Get the status of a given date, determining its position and interval status.\n *\n * @param {Date | null} date - The date to evaluate.\n * @returns {Object} An object containing the status flags for the date.\n */\n getDateStatus(date: Date) {\n const [startSelected, endSelected] = [this.selectedDates[0], this.selectedDates[this.selectedDates.length - 1]];\n const [startDefault, endDefault] = [this.defaultDates[0], this.defaultDates[this.defaultDates.length - 1]];\n\n const hasSelectedDates = this.selectedDates.length > 1;\n const isDateInDefaultSelection = this.defaultDates.length > 1;\n\n const isStartSelected = this.isDateSelected(date) && isSameDay(date, startSelected);\n const isStartDefault = this.isDateInDefaultSelection(date) && isSameDay(date, startDefault);\n const isEndSelected = this.isDateSelected(date) && isSameDay(date, endSelected);\n const isEndDefault = this.isDateInDefaultSelection(date) && isSameDay(date, endDefault);\n\n const isStart = isStartSelected || isStartDefault;\n const isEnd = isEndSelected || isEndDefault;\n\n\n const selectedIntervals = this.expandDateRanges([{ from: startSelected?.toISOString(), to: endSelected?.toISOString() }]);\n const defaultIntervals = this.expandDateRanges([{ from: startDefault?.toISOString(), to: endDefault?.toISOString() }]);\n\n const intervalSelected = hasSelectedDates && this.isDateInList(selectedIntervals, date);\n const intervalDefault = isDateInDefaultSelection && this.isDateInList(defaultIntervals, date);\n\n const isValid = this.isDateInValidPeriod(date);\n const isInvalid = !isValid || this.isDateInDisabledPeriod(date) || !this.isDateInEnabledPeriod(date);\n const isSelected = this.isDateSelected(date);\n const isRange = this.mode === 'range' && (hasSelectedDates || isDateInDefaultSelection);\n const isDefault = this.mode !== 'range' && this.isDateInDefaultSelection(date);\n const isInterval = (intervalSelected || intervalDefault) && !isStart && !isEnd;\n\n return {\n isStart,\n isEnd,\n isValid,\n isInvalid,\n isSelected,\n isRange,\n isDefault,\n isInterval\n };\n }\n\n /**\n * Get the CSS classes for a given date based on its status.\n *\n * @param {Date | null} date - The date to evaluate.\n * @returns {Object} An object containing the CSS classes for the date.\n */\n getClasses(date: Date) {\n const classes = { 'date': true };\n if (date === null) return classes;\n\n const dateStatus = this.getDateStatus(date);\n\n classes['today'] = isToday(date);\n classes['valid'] = dateStatus.isValid;\n classes['invalid'] = dateStatus.isInvalid;\n classes['selected'] = dateStatus.isSelected;\n classes['range'] = dateStatus.isRange;\n classes['default-dates'] = dateStatus.isDefault;\n classes['start'] = dateStatus.isStart;\n classes['interval'] = dateStatus.isInterval;\n classes['end'] = dateStatus.isEnd;\n\n return classes;\n }\n\n /**\n * Get custom CSS properties for the host element.\n *\n * @returns {Object} An object containing CSS properties and their values.\n */\n getHostCSSProperties() {\n return {\n '--width': this.width,\n };\n }\n\n\n render() {\n const { months } = this.fetchMonthNames();\n\n\n\n return (\n <Host style={this.getHostCSSProperties()}>\n <div class={`calendar ${this.floating ? \"floating\" : \"\"} ${this.embedded ? \"embedded\" : \"\"}`} style={this.styles}>\n <header class=\"header\">\n <div class={`month-year ${this.type === 'dropdown' && 'dropdown'}`}>\n <cura-icon\n class={`icon ${this.type === 'dropdown' && 'dropdown'}`}\n name=\"left\"\n color={this.determinePrevButtonColor()}\n onClick={!this.collapsed ? () => this.updateCurrentMonth('prev') : () => this.updateCurrentWeek('prev')}>\n </cura-icon>\n {this.type === 'dropdown' ? (\n <div class=\"select\">\n <cura-select\n size='small'\n class=\"drop-month\"\n mode=\"transparent\"\n value={months[getMonth(this.currentDate)]}\n onSelected={(e) => this.onMonthDropdownChange(e)}\n >\n {months.map((month, index) => (\n <cura-select-option size='xsmall'\n key={index}\n value={month}>\n {month}\n </cura-select-option>\n ))}\n </cura-select>\n <cura-select\n size='small'\n class=\"drop-year\"\n mode=\"transparent\"\n value={getYear(this.currentDate).toString()}\n onSelected={(e) => this.onYearDropdownChange(e)}\n >\n {this.fetchYearList().map((year, index) => (\n <cura-select-option\n key={index}\n value={year.toString()}>\n {year.toString()}\n </cura-select-option>\n ))}\n </cura-select>\n </div>\n ) : (\n <cura-label\n color=\"neutral-black\"\n size=\"large\">\n {months[getMonth(this.currentDate)].slice(0, 3)}, {getYear(this.currentDate)}\n </cura-label>\n )}\n <cura-icon\n class={`icon ${this.type === 'dropdown' && 'dropdown'}`}\n name=\"right\"\n color=\"primary-base\"\n onClick={!this.collapsed ? () => this.updateCurrentMonth('next') : () => this.updateCurrentWeek('next')}>\n </cura-icon>\n </div>\n </header>\n\n <span class=\"days-of-week\">\n {this.fetchWeekDays().map((day, index) => (\n <cura-label\n class=\"day\"\n size=\"xsmall\"\n color=\"neutral-black\"\n weight='bold'\n key={index}>\n {day === 'sab' ? 'SÁB' : day.toLocaleUpperCase()}\n </cura-label>\n ))}\n </span>\n\n <div class=\"dates\">\n {!this.collapsed ?\n this.fetchDaysOfMonth().map((day, index) => (\n <div\n key={index}\n class={this.getClasses(day)}\n onClick={() => this.onDateClick(day)}>\n {day ? format(day, 'd') : ''}\n </div>\n )) :\n this.fetchDaysOfWeek().map((day, index) => (\n <div\n key={index}\n class={this.getClasses(day)}\n onClick={() => this.onDateClick(day)}>\n {day ? format(day, 'd') : ''}\n </div>\n ))}\n </div>\n {this.collapsed !== null ? (\n this.collapsed ? (\n <div class='collapsed-container'>\n <cura-button-transparent\n onClick={() => this.showNotColapsedCalendar()}\n size='small'\n color='primary'\n fontColor='dark'\n iconName='plusCircle'>\n Veja mais datas\n </cura-button-transparent>\n </div>\n ) : (\n <div class='collapsed-container'>\n <cura-button-transparent\n onClick={() => this.showColapsedCalendar()}\n size='small'\n color='primary'\n fontColor='dark'\n iconName='minusCircle'>\n Veja menos datas\n </cura-button-transparent>\n </div>\n )\n ) : null}\n </div >\n </Host >\n );\n }\n}\n"]}
|
|
@@ -9,6 +9,11 @@ const renderCuraCalendar = (args) => `
|
|
|
9
9
|
${`enable="${args.enable.length > 0 ? args.enable : '[]'}"`}
|
|
10
10
|
${`disable="${args.disable.length > 0 ? args.disable : '[]'}"`}
|
|
11
11
|
${`defaultDate="${args.defaultDate.length > 0 ? args.defaultDate : '[]'}"`}
|
|
12
|
+
${args.disablePassDates && `disable-pass-dates="${args.disablePassDates}"`}
|
|
13
|
+
${args.disableFutureDates && `disable-future-dates="${args.disableFutureDates}"`}
|
|
14
|
+
${args.collapsed && `collapsed="${args.collapsed}"`}
|
|
15
|
+
${args.floating && `floating="${args.floating}"`}
|
|
16
|
+
${args.embedded && `embedded="${args.embedded}"`}
|
|
12
17
|
${args.limitRange !== null ? `limit-range="${args.limitRange}"` : ''}
|
|
13
18
|
></cura-calendar>
|
|
14
19
|
`;
|
|
@@ -22,18 +27,18 @@ export default {
|
|
|
22
27
|
argTypes: {
|
|
23
28
|
period: {
|
|
24
29
|
control: 'array',
|
|
25
|
-
description: 'Define os períodos disponíveis para o calendário.',
|
|
30
|
+
description: 'Define os períodos disponíveis para o calendário. Quando não informado, considera todas as datas como habilitadas',
|
|
26
31
|
table: {
|
|
27
32
|
category: 'Properties',
|
|
28
|
-
defaultValue: { summary:
|
|
33
|
+
defaultValue: { summary: null },
|
|
29
34
|
},
|
|
30
35
|
},
|
|
31
36
|
width: {
|
|
32
37
|
control: 'text',
|
|
33
|
-
description: 'Define a largura do calendário. <b>Largura minima "
|
|
38
|
+
description: 'Define a largura do calendário. <b>Largura minima "268px"</b>.',
|
|
34
39
|
table: {
|
|
35
40
|
category: 'Properties',
|
|
36
|
-
defaultValue: { summary: '
|
|
41
|
+
defaultValue: { summary: '268px' },
|
|
37
42
|
},
|
|
38
43
|
},
|
|
39
44
|
mode: {
|
|
@@ -103,6 +108,46 @@ export default {
|
|
|
103
108
|
defaultValue: { summary: 'null' },
|
|
104
109
|
},
|
|
105
110
|
},
|
|
111
|
+
disablePassDates: {
|
|
112
|
+
control: 'boolean',
|
|
113
|
+
description: 'Define se as datas anteriores a data atual serão consideras como desabilitadas',
|
|
114
|
+
table: {
|
|
115
|
+
category: "Properties",
|
|
116
|
+
defaultValue: { summary: false },
|
|
117
|
+
},
|
|
118
|
+
},
|
|
119
|
+
disableFutureDates: {
|
|
120
|
+
control: 'boolean',
|
|
121
|
+
description: 'Define se as datas futuras a data atual serão consideras como desabilitadas',
|
|
122
|
+
table: {
|
|
123
|
+
category: "Properties",
|
|
124
|
+
defaultValue: { summary: false },
|
|
125
|
+
},
|
|
126
|
+
},
|
|
127
|
+
collapsed: {
|
|
128
|
+
control: 'boolean',
|
|
129
|
+
description: 'Define se a exibição do calendário será com recolhida ou expandida ',
|
|
130
|
+
table: {
|
|
131
|
+
category: "Properties",
|
|
132
|
+
defaultValue: { summary: null },
|
|
133
|
+
},
|
|
134
|
+
},
|
|
135
|
+
floating: {
|
|
136
|
+
control: 'boolean',
|
|
137
|
+
description: 'Define se o componente é flutuante e aplica o sombreamento.',
|
|
138
|
+
table: {
|
|
139
|
+
category: "Properties",
|
|
140
|
+
defaultValue: { summary: true },
|
|
141
|
+
},
|
|
142
|
+
},
|
|
143
|
+
embedded: {
|
|
144
|
+
control: 'boolean',
|
|
145
|
+
description: 'Define se o componente tenha borda, padding e sombra (box) ou não.',
|
|
146
|
+
table: {
|
|
147
|
+
category: "Properties",
|
|
148
|
+
defaultValue: { summary: true },
|
|
149
|
+
},
|
|
150
|
+
}
|
|
106
151
|
},
|
|
107
152
|
};
|
|
108
153
|
export const Calendar = {
|
|
@@ -112,7 +157,7 @@ export const Calendar = {
|
|
|
112
157
|
"2024-08-29", "2024-08-15", "2024-08-02", "2024-08-30", "2024-09-01",
|
|
113
158
|
"2024-09-29", "2024-10-15", "2024-09-02", "2024-09-30", "2024-10-01"
|
|
114
159
|
],
|
|
115
|
-
width: '
|
|
160
|
+
width: '280px',
|
|
116
161
|
mode: 'single',
|
|
117
162
|
type: 'static',
|
|
118
163
|
locale: 'pt-BR',
|
|
@@ -121,6 +166,11 @@ export const Calendar = {
|
|
|
121
166
|
enable: [],
|
|
122
167
|
disable: [],
|
|
123
168
|
limitRange: null,
|
|
169
|
+
disablePassDates: false,
|
|
170
|
+
disableFutureDates: false,
|
|
171
|
+
collapsed: null,
|
|
172
|
+
floating: true,
|
|
173
|
+
embedded: true
|
|
124
174
|
},
|
|
125
175
|
};
|
|
126
176
|
//# sourceMappingURL=cura-calendar.stories.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cura-calendar.stories.js","sourceRoot":"","sources":["../../../src/components/cura-calendar/cura-calendar.stories.tsx"],"names":[],"mappings":"AAAA,MAAM,kBAAkB,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;;QAE7B,IAAI,CAAC,MAAM,IAAI,WAAW,IAAI,CAAC,MAAM,GAAG;QACxC,IAAI,CAAC,KAAK,IAAI,UAAU,IAAI,CAAC,KAAK,GAAG;QACrC,IAAI,CAAC,IAAI,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG;QAClC,IAAI,CAAC,IAAI,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG;QAClC,IAAI,CAAC,UAAU,IAAI,gBAAgB,IAAI,CAAC,UAAU,GAAG;QACrD,IAAI,CAAC,MAAM,IAAI,WAAW,IAAI,CAAC,MAAM,GAAG;QACxC,WAAW,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG;QACzD,YAAY,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,GAAG;QAC5D,gBAAgB,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,GAAG;QACxE,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,gBAAgB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,EAAE;;CAEzE,CAAC;AAEF,eAAe;IACb,KAAK,EAAE,+BAA+B;IACtC,IAAI,EAAE,CAAC,UAAU,CAAC;IAClB,UAAU,EAAE;QACV,MAAM,EAAE,UAAU;KACnB;IACD,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC;IAC1C,QAAQ,EAAE;QACR,MAAM,EAAE;YACN,OAAO,EAAE,OAAO;YAChB,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"cura-calendar.stories.js","sourceRoot":"","sources":["../../../src/components/cura-calendar/cura-calendar.stories.tsx"],"names":[],"mappings":"AAAA,MAAM,kBAAkB,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;;QAE7B,IAAI,CAAC,MAAM,IAAI,WAAW,IAAI,CAAC,MAAM,GAAG;QACxC,IAAI,CAAC,KAAK,IAAI,UAAU,IAAI,CAAC,KAAK,GAAG;QACrC,IAAI,CAAC,IAAI,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG;QAClC,IAAI,CAAC,IAAI,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG;QAClC,IAAI,CAAC,UAAU,IAAI,gBAAgB,IAAI,CAAC,UAAU,GAAG;QACrD,IAAI,CAAC,MAAM,IAAI,WAAW,IAAI,CAAC,MAAM,GAAG;QACxC,WAAW,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG;QACzD,YAAY,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,GAAG;QAC5D,gBAAgB,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,GAAG;QACxE,IAAI,CAAC,gBAAgB,IAAI,uBAAuB,IAAI,CAAC,gBAAgB,GAAG;QACxE,IAAI,CAAC,kBAAkB,IAAI,yBAAyB,IAAI,CAAC,kBAAkB,GAAG;QAC9E,IAAI,CAAC,SAAS,IAAI,cAAc,IAAI,CAAC,SAAS,GAAG;QACjD,IAAI,CAAC,QAAQ,IAAI,aAAa,IAAI,CAAC,QAAQ,GAAG;QAC9C,IAAI,CAAC,QAAQ,IAAI,aAAa,IAAI,CAAC,QAAQ,GAAG;QAC9C,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,gBAAgB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,EAAE;;CAEzE,CAAC;AAEF,eAAe;IACb,KAAK,EAAE,+BAA+B;IACtC,IAAI,EAAE,CAAC,UAAU,CAAC;IAClB,UAAU,EAAE;QACV,MAAM,EAAE,UAAU;KACnB;IACD,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC;IAC1C,QAAQ,EAAE;QACR,MAAM,EAAE;YACN,OAAO,EAAE,OAAO;YAChB,WAAW,EAAE,mHAAmH;YAChI,KAAK,EAAE;gBACL,QAAQ,EAAE,YAAY;gBACtB,YAAY,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;aAChC;SACF;QACD,KAAK,EAAE;YACL,OAAO,EAAE,MAAM;YACf,WAAW,EAAE,gEAAgE;YAC7E,KAAK,EAAE;gBACL,QAAQ,EAAE,YAAY;gBACtB,YAAY,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE;aACnC;SACF;QACD,IAAI,EAAE;YACJ,OAAO,EAAE,cAAc;YACvB,OAAO,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,OAAO,CAAC;YACxC,WAAW,EAAE,oCAAoC;YACjD,KAAK,EAAE;gBACL,QAAQ,EAAE,YAAY;gBACtB,YAAY,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE;aACpC;SACF;QACD,IAAI,EAAE;YACJ,OAAO,EAAE,cAAc;YACvB,OAAO,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC;YAC/B,WAAW,EAAE,wDAAwD;YACrE,KAAK,EAAE;gBACL,QAAQ,EAAE,YAAY;gBACtB,YAAY,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE;aACpC;SACF;QACD,UAAU,EAAE;YACV,OAAO,EAAE,MAAM;YACf,WAAW,EAAE,sCAAsC;YACnD,KAAK,EAAE;gBACL,QAAQ,EAAE,YAAY;gBACtB,YAAY,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE;aACxC;SACF;QACD,MAAM,EAAE;YACN,OAAO,EAAE,cAAc;YACvB,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;YAC3B,WAAW,EAAE,4CAA4C;YACzD,KAAK,EAAE;gBACL,QAAQ,EAAE,YAAY;gBACtB,YAAY,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE;aACnC;SACF;QACD,WAAW,EAAE;YACX,OAAO,EAAE,OAAO;YAChB,WAAW,EAAE,2DAA2D;YACxE,KAAK,EAAE;gBACL,QAAQ,EAAE,YAAY;gBACtB,YAAY,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;aAChC;SACF;QACD,MAAM,EAAE;YACN,OAAO,EAAE,OAAO;YAChB,WAAW,EAAE,mDAAmD;YAChE,KAAK,EAAE;gBACL,QAAQ,EAAE,YAAY;gBACtB,YAAY,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;aAChC;SACF;QACD,OAAO,EAAE;YACP,OAAO,EAAE,OAAO;YAChB,WAAW,EAAE,qDAAqD;YAClE,KAAK,EAAE;gBACL,QAAQ,EAAE,YAAY;gBACtB,YAAY,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;aAChC;SACF;QACD,UAAU,EAAE;YACV,OAAO,EAAE,QAAQ;YACjB,WAAW,EAAE,kEAAkE;YAC/E,KAAK,EAAE;gBACL,QAAQ,EAAE,YAAY;gBACtB,YAAY,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE;aAClC;SACF;QACD,gBAAgB,EAAE;YAChB,OAAO,EAAE,SAAS;YAClB,WAAW,EAAE,gFAAgF;YAC7F,KAAK,EAAE;gBACL,QAAQ,EAAE,YAAY;gBACtB,YAAY,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE;aACjC;SACF;QACD,kBAAkB,EAAE;YAClB,OAAO,EAAE,SAAS;YAClB,WAAW,EAAE,6EAA6E;YAC1F,KAAK,EAAE;gBACL,QAAQ,EAAE,YAAY;gBACtB,YAAY,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE;aACjC;SACF;QACD,SAAS,EAAE;YACT,OAAO,EAAE,SAAS;YAClB,WAAW,EAAE,qEAAqE;YAClF,KAAK,EAAE;gBACL,QAAQ,EAAE,YAAY;gBACtB,YAAY,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;aAChC;SACF;QACD,QAAQ,EAAE;YACR,OAAO,EAAE,SAAS;YAClB,WAAW,EAAE,6DAA6D;YAC1E,KAAK,EAAE;gBACL,QAAQ,EAAE,YAAY;gBACtB,YAAY,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;aAChC;SACF;QACD,QAAQ,EAAE;YACR,OAAO,EAAE,SAAS;YAClB,WAAW,EAAE,oEAAoE;YACjF,KAAK,EAAE;gBACL,QAAQ,EAAE,YAAY;gBACtB,YAAY,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;aAChC;SACF;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,IAAI,EAAE;QACJ,MAAM,EAAE;YACN,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY;YACpE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY;YACpE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY;SACrE;QACD,KAAK,EAAE,OAAO;QACd,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,OAAO;QACf,UAAU,EAAE,YAAY;QACxB,WAAW,EAAE,EAAE;QACf,MAAM,EAAE,EAAE;QACV,OAAO,EAAE,EAAE;QACX,UAAU,EAAE,IAAI;QAChB,gBAAgB,EAAE,KAAK;QACvB,kBAAkB,EAAE,KAAK;QACzB,SAAS,EAAE,IAAI;QACf,QAAQ,EAAE,IAAI;QACd,QAAQ,EAAE,IAAI;KACf;CACF,CAAC","sourcesContent":["const renderCuraCalendar = (args) => `\n <cura-calendar\n ${args.period && `period=\"${args.period}\"`}\n ${args.width && `width=\"${args.width}\"`}\n ${args.mode && `mode=\"${args.mode}\"`}\n ${args.type && `type=\"${args.type}\"`}\n ${args.dateFormat && `date-format=\"${args.dateFormat}\"`}\n ${args.locale && `locale=\"${args.locale}\"`}\n ${`enable=\"${args.enable.length > 0 ? args.enable : '[]'}\"`}\n ${`disable=\"${args.disable.length > 0 ? args.disable : '[]'}\"`}\n ${`defaultDate=\"${args.defaultDate.length > 0 ? args.defaultDate : '[]'}\"`}\n ${args.disablePassDates && `disable-pass-dates=\"${args.disablePassDates}\"`}\n ${args.disableFutureDates && `disable-future-dates=\"${args.disableFutureDates}\"`}\n ${args.collapsed && `collapsed=\"${args.collapsed}\"`}\n ${args.floating && `floating=\"${args.floating}\"`}\n ${args.embedded && `embedded=\"${args.embedded}\"`}\n ${args.limitRange !== null ? `limit-range=\"${args.limitRange}\"` : ''}\n ></cura-calendar>\n`;\n\nexport default {\n title: 'Componentes/Calendar/Calendar',\n tags: ['autodocs'],\n parameters: {\n layout: 'centered',\n },\n render: (args) => renderCuraCalendar(args),\n argTypes: {\n period: {\n control: 'array',\n description: 'Define os períodos disponíveis para o calendário. Quando não informado, considera todas as datas como habilitadas',\n table: {\n category: 'Properties',\n defaultValue: { summary: null },\n },\n },\n width: {\n control: 'text',\n description: 'Define a largura do calendário. <b>Largura minima \"268px\"</b>.',\n table: {\n category: 'Properties',\n defaultValue: { summary: '268px' },\n },\n },\n mode: {\n control: 'inline-radio',\n options: ['single', 'multiple', 'range'],\n description: 'Define o modo de seleção de datas.',\n table: {\n category: \"Properties\",\n defaultValue: { summary: 'single' },\n },\n },\n type: {\n control: 'inline-radio',\n options: ['static', 'dropdown'],\n description: 'Define o tipo de visualização (mês/ano) do calendário.',\n table: {\n category: \"Properties\",\n defaultValue: { summary: 'static' },\n },\n },\n dateFormat: {\n control: 'text',\n description: 'Define o formato das datas exibidas.',\n table: {\n category: \"Properties\",\n defaultValue: { summary: 'yyyy-MM-dd' },\n },\n },\n locale: {\n control: 'inline-radio',\n options: ['pt-BR', 'en-US'],\n description: 'Define o idioma/localização do calendário.',\n table: {\n category: \"Properties\",\n defaultValue: { summary: 'pt-BR' },\n },\n },\n defaultDate: {\n control: 'array',\n description: 'Define as datas que serão pré-selecionadas no calendário.',\n table: {\n category: \"Properties\",\n defaultValue: { summary: '[]' },\n },\n },\n enable: {\n control: 'array',\n description: 'Define as datas que são habilitadas para seleção.',\n table: {\n category: \"Properties\",\n defaultValue: { summary: '[]' },\n },\n },\n disable: {\n control: 'array',\n description: 'Define as datas que são desabilitadas para seleção.',\n table: {\n category: \"Properties\",\n defaultValue: { summary: '[]' },\n },\n },\n limitRange: {\n control: 'number',\n description: 'Define o limite de datas selecionáveis no modo de seleção range.',\n table: {\n category: \"Properties\",\n defaultValue: { summary: 'null' },\n },\n },\n disablePassDates: {\n control: 'boolean',\n description: 'Define se as datas anteriores a data atual serão consideras como desabilitadas',\n table: {\n category: \"Properties\",\n defaultValue: { summary: false },\n },\n },\n disableFutureDates: {\n control: 'boolean',\n description: 'Define se as datas futuras a data atual serão consideras como desabilitadas',\n table: {\n category: \"Properties\",\n defaultValue: { summary: false },\n },\n },\n collapsed: {\n control: 'boolean',\n description: 'Define se a exibição do calendário será com recolhida ou expandida ',\n table: {\n category: \"Properties\",\n defaultValue: { summary: null },\n },\n },\n floating: {\n control: 'boolean',\n description: 'Define se o componente é flutuante e aplica o sombreamento.',\n table: {\n category: \"Properties\",\n defaultValue: { summary: true },\n },\n },\n embedded: {\n control: 'boolean',\n description: 'Define se o componente tenha borda, padding e sombra (box) ou não.',\n table: {\n category: \"Properties\",\n defaultValue: { summary: true },\n },\n }\n },\n};\n\nexport const Calendar = {\n args: {\n period: [\n \"2024-08-01\", \"2024-08-30\", \"2024-08-02\", \"2024-08-03\", \"2024-08-04\",\n \"2024-08-29\", \"2024-08-15\", \"2024-08-02\", \"2024-08-30\", \"2024-09-01\",\n \"2024-09-29\", \"2024-10-15\", \"2024-09-02\", \"2024-09-30\", \"2024-10-01\"\n ],\n width: '280px',\n mode: 'single',\n type: 'static',\n locale: 'pt-BR',\n dateFormat: 'yyyy-MM-dd',\n defaultDate: [],\n enable: [],\n disable: [],\n limitRange: null,\n disablePassDates: false,\n disableFutureDates: false,\n collapsed: null,\n floating: true,\n embedded: true\n },\n};\n"]}
|