@rededor/cura 0.5.4 → 1.0.0-alpha.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/icons/iconset-default-list.ts +1 -1
- package/dist/assets/icons/iconset-default-tmp.svg +8 -0
- package/dist/assets/icons/iconset-default.svg +1 -1
- package/dist/cjs/app-globals-bcffd819.js +511 -0
- package/dist/cjs/app-globals-bcffd819.js.map +1 -0
- package/dist/cjs/cura-accordion_9.cjs.entry.js +544 -0
- package/dist/cjs/cura-accordion_9.cjs.entry.js.map +1 -0
- package/dist/cjs/cura-alert.cjs.entry.js +57 -55
- package/dist/cjs/cura-alert.cjs.entry.js.map +1 -1
- package/dist/cjs/cura-avatar.cjs.entry.js +68 -0
- package/dist/cjs/cura-avatar.cjs.entry.js.map +1 -0
- package/dist/cjs/cura-button-outline.cjs.entry.js +102 -71
- package/dist/cjs/cura-button-outline.cjs.entry.js.map +1 -1
- package/dist/cjs/cura-button-select.cjs.entry.js +91 -85
- package/dist/cjs/cura-button-select.cjs.entry.js.map +1 -1
- package/dist/cjs/cura-button-transparent_2.cjs.entry.js +4055 -0
- package/dist/cjs/cura-button-transparent_2.cjs.entry.js.map +1 -0
- package/dist/cjs/cura-calendar.cjs.entry.js +3913 -0
- package/dist/cjs/cura-calendar.cjs.entry.js.map +1 -0
- package/dist/cjs/cura-card.cjs.entry.js +53 -0
- package/dist/cjs/cura-card.cjs.entry.js.map +1 -0
- package/dist/cjs/cura-checkbox.cjs.entry.js +168 -131
- package/dist/cjs/cura-checkbox.cjs.entry.js.map +1 -1
- package/dist/cjs/cura-display.cjs.entry.js +63 -62
- package/dist/cjs/cura-display.cjs.entry.js.map +1 -1
- package/dist/cjs/cura-dropdown-search-option-title.cjs.entry.js +22 -0
- package/dist/cjs/cura-dropdown-search-option-title.cjs.entry.js.map +1 -0
- package/dist/cjs/cura-dropdown-search-option.cjs.entry.js +55 -0
- package/dist/cjs/cura-dropdown-search-option.cjs.entry.js.map +1 -0
- package/dist/cjs/cura-dropdown-search.cjs.entry.js +209 -0
- package/dist/cjs/cura-dropdown-search.cjs.entry.js.map +1 -0
- package/dist/cjs/cura-forms.definitions-c164f1b8.js +20 -0
- package/dist/cjs/cura-forms.definitions-c164f1b8.js.map +1 -0
- package/dist/cjs/cura-icon.definitions-8d714f6a.js +21 -0
- package/dist/cjs/cura-icon.definitions-8d714f6a.js.map +1 -0
- package/dist/cjs/cura-icons-view.cjs.entry.js +24 -23
- package/dist/cjs/cura-icons-view.cjs.entry.js.map +1 -1
- package/dist/cjs/cura-radio.cjs.entry.js +142 -103
- package/dist/cjs/cura-radio.cjs.entry.js.map +1 -1
- package/dist/cjs/cura-select_2.cjs.entry.js +325 -0
- package/dist/cjs/cura-select_2.cjs.entry.js.map +1 -0
- package/dist/cjs/cura-switch.cjs.entry.js +113 -78
- package/dist/cjs/cura-switch.cjs.entry.js.map +1 -1
- package/dist/cjs/cura.cjs.js +13 -22
- package/dist/cjs/cura.cjs.js.map +1 -1
- package/dist/cjs/index-5b63ff7a.js +1529 -0
- package/dist/cjs/index-5b63ff7a.js.map +1 -0
- package/dist/cjs/index.cjs.js +1 -1
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/loader.cjs.js +6 -31
- package/dist/cjs/loader.cjs.js.map +1 -1
- package/dist/collection/api/cura-api.js +30 -30
- package/dist/collection/api/cura-api.js.map +1 -1
- package/dist/collection/api/cura-api.type.js +2 -2
- package/dist/collection/api/cura-api.type.js.map +1 -1
- package/dist/collection/api/modules/cura-theme-breakpoints-module.js +10 -10
- package/dist/collection/api/modules/cura-theme-breakpoints-module.js.map +1 -1
- package/dist/collection/api/modules/cura-theme-colors-module.js +72 -72
- package/dist/collection/api/modules/cura-theme-colors-module.js.map +1 -1
- package/dist/collection/api/modules/cura-theme-fonts-module.js +28 -28
- package/dist/collection/api/modules/cura-theme-fonts-module.js.map +1 -1
- package/dist/collection/api/modules/cura-theme-module.js +66 -66
- package/dist/collection/api/modules/cura-theme-module.js.map +1 -1
- package/dist/collection/api/modules/cura-theme-spacing-module.js +9 -9
- package/dist/collection/api/modules/cura-theme-spacing-module.js.map +1 -1
- package/dist/collection/api/theme-presets/static.js +63 -63
- package/dist/collection/api/theme-presets/static.js.map +1 -1
- package/dist/collection/api/theme-presets/theme-default.js +41 -41
- package/dist/collection/api/theme-presets/theme-default.js.map +1 -1
- package/dist/collection/api/theme-presets/theme-legacy-default.js +24 -24
- package/dist/collection/api/theme-presets/theme-legacy-default.js.map +1 -1
- package/dist/collection/api/theme-presets/theme-maternity.js +38 -38
- package/dist/collection/api/theme-presets/theme-maternity.js.map +1 -1
- package/dist/collection/api/theme-presets/theme-oncology.js +46 -46
- package/dist/collection/api/theme-presets/theme-oncology.js.map +1 -1
- package/dist/collection/api/theme-presets/theme-presets.js +8 -8
- package/dist/collection/api/theme-presets/theme-presets.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 +8 -0
- package/dist/collection/assets/icons/iconset-default.svg +1 -1
- package/dist/collection/assets/images/avatar/doctor-default.svg +8 -0
- package/dist/collection/assets/images/avatar/dora-default.svg +5 -0
- package/dist/collection/assets/images/avatar/patient-default.svg +12 -0
- package/dist/collection/assets/images/avatar/unit-default.svg +9 -0
- package/dist/collection/assets/images/logoCura.svg +15 -0
- package/dist/collection/assets-raw/icons/default/contacts.svg +3 -0
- package/dist/collection/assets-raw/icons/default/scheduleCancel.svg +3 -0
- package/dist/collection/collection-manifest.json +29 -21
- package/dist/collection/components/accordion/cura-accordion/cura-accordion.js +267 -267
- package/dist/collection/components/accordion/cura-accordion/cura-accordion.js.map +1 -1
- package/dist/collection/components/accordion/cura-accordion/cura-accordion.stories.js +127 -127
- package/dist/collection/components/accordion/cura-accordion/cura-accordion.stories.js.map +1 -1
- package/dist/collection/components/accordion/cura-accordion-item/cura-accordion-item.js +196 -196
- package/dist/collection/components/accordion/cura-accordion-item/cura-accordion-item.js.map +1 -1
- package/dist/collection/components/buttons/cura-button/cura-button.css +112 -46
- package/dist/collection/components/buttons/cura-button/cura-button.js +368 -306
- package/dist/collection/components/buttons/cura-button/cura-button.js.map +1 -1
- package/dist/collection/components/buttons/cura-button/cura-button.stories.js +184 -159
- 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 +37 -64
- package/dist/collection/components/buttons/cura-button-outline/cura-button-outline.js +374 -306
- 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 +184 -159
- 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 +36 -23
- package/dist/collection/components/buttons/cura-button-select/cura-button-select.js +265 -260
- package/dist/collection/components/buttons/cura-button-select/cura-button-select.js.map +1 -1
- package/dist/collection/components/buttons/cura-button-transparent/cura-button-transparent.css +32 -50
- package/dist/collection/components/buttons/cura-button-transparent/cura-button-transparent.js +339 -306
- 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 +172 -159
- package/dist/collection/components/buttons/cura-button-transparent/cura-button-transparent.stories.js.map +1 -1
- package/dist/collection/components/cura-alert/cura-alert.js +182 -164
- package/dist/collection/components/cura-alert/cura-alert.js.map +1 -1
- package/dist/collection/components/cura-alert/cura-alert.stories.js +90 -77
- package/dist/collection/components/cura-alert/cura-alert.stories.js.map +1 -1
- package/dist/collection/components/cura-avatar/cura-avatar.css +24 -0
- package/dist/collection/components/cura-avatar/cura-avatar.definitions.js +7 -0
- package/dist/collection/components/cura-avatar/cura-avatar.definitions.js.map +1 -0
- package/dist/collection/components/cura-avatar/cura-avatar.js +231 -0
- package/dist/collection/components/cura-avatar/cura-avatar.js.map +1 -0
- package/dist/collection/components/cura-avatar/cura-avatar.stories.js +198 -0
- package/dist/collection/components/cura-avatar/cura-avatar.stories.js.map +1 -0
- package/dist/collection/components/cura-calendar/cura-calendar.css +181 -0
- package/dist/collection/components/cura-calendar/cura-calendar.js +681 -0
- package/dist/collection/components/cura-calendar/cura-calendar.js.map +1 -0
- package/dist/collection/components/cura-calendar/cura-calendar.stories.js +126 -0
- package/dist/collection/components/cura-calendar/cura-calendar.stories.js.map +1 -0
- package/dist/collection/components/cura-card/cura-card.css +175 -0
- package/dist/collection/components/cura-card/cura-card.js +201 -0
- package/dist/collection/components/cura-card/cura-card.js.map +1 -0
- package/dist/collection/components/cura-card/cura-card.stories.js +127 -0
- package/dist/collection/components/cura-card/cura-card.stories.js.map +1 -0
- package/dist/collection/components/cura-icon/cura-icon.definitions.js +11 -11
- package/dist/collection/components/cura-icon/cura-icon.definitions.js.map +1 -1
- package/dist/collection/components/cura-icon/cura-icon.js +151 -151
- package/dist/collection/components/cura-icon/cura-icon.js.map +1 -1
- package/dist/collection/components/cura-icon/cura-icon.stories.js +60 -60
- package/dist/collection/components/cura-icon/cura-icon.stories.js.map +1 -1
- package/dist/collection/components/cura-icons-view/cura-icons-view.js +37 -37
- package/dist/collection/components/cura-icons-view/cura-icons-view.js.map +1 -1
- package/dist/collection/components/cura-icons-view/cura-icons-view.stories.js +7 -7
- package/dist/collection/components/cura-icons-view/cura-icons-view.stories.js.map +1 -1
- package/dist/collection/components/cura-page-template/cura-page-template.js +52 -52
- package/dist/collection/components/cura-page-template/cura-page-template.js.map +1 -1
- package/dist/collection/components/forms/cura-checkbox/cura-checkbox.css +19 -11
- package/dist/collection/components/forms/cura-checkbox/cura-checkbox.js +457 -427
- package/dist/collection/components/forms/cura-checkbox/cura-checkbox.js.map +1 -1
- package/dist/collection/components/forms/cura-checkbox/cura-checkbox.stories.js +170 -170
- package/dist/collection/components/forms/cura-checkbox/cura-checkbox.stories.js.map +1 -1
- package/dist/collection/components/forms/cura-dropdown-search/cura-dropdown-search-option/cura-dropdown-search-option.css +50 -0
- package/dist/collection/components/forms/cura-dropdown-search/cura-dropdown-search-option/cura-dropdown-search-option.js +136 -0
- package/dist/collection/components/forms/cura-dropdown-search/cura-dropdown-search-option/cura-dropdown-search-option.js.map +1 -0
- package/dist/collection/components/forms/cura-dropdown-search/cura-dropdown-search-option/cura-dropdown-search-option.stories.js +56 -0
- package/dist/collection/components/forms/cura-dropdown-search/cura-dropdown-search-option/cura-dropdown-search-option.stories.js.map +1 -0
- package/dist/collection/components/forms/cura-dropdown-search/cura-dropdown-search-option-title/cura-dropdown-search-option-title.css +10 -0
- package/dist/collection/components/forms/cura-dropdown-search/cura-dropdown-search-option-title/cura-dropdown-search-option-title.js +19 -0
- package/dist/collection/components/forms/cura-dropdown-search/cura-dropdown-search-option-title/cura-dropdown-search-option-title.js.map +1 -0
- package/dist/collection/components/forms/cura-dropdown-search/cura-dropdown-search.css +149 -0
- package/dist/collection/components/forms/cura-dropdown-search/cura-dropdown-search.js +384 -0
- package/dist/collection/components/forms/cura-dropdown-search/cura-dropdown-search.js.map +1 -0
- package/dist/collection/components/forms/cura-dropdown-search/cura-dropdown-search.stories.js +181 -0
- package/dist/collection/components/forms/cura-dropdown-search/cura-dropdown-search.stories.js.map +1 -0
- package/dist/collection/components/forms/cura-forms.definitions.js +12 -12
- package/dist/collection/components/forms/cura-forms.definitions.js.map +1 -1
- package/dist/collection/components/forms/cura-input-text/cura-input-text.css +849 -139
- package/dist/collection/components/forms/cura-input-text/cura-input-text.js +732 -641
- package/dist/collection/components/forms/cura-input-text/cura-input-text.js.map +1 -1
- package/dist/collection/components/forms/cura-input-text/cura-input-text.stories.js +217 -196
- package/dist/collection/components/forms/cura-input-text/cura-input-text.stories.js.map +1 -1
- package/dist/collection/components/forms/cura-input-text/mask-presets/input-mask-presets.js +40 -40
- package/dist/collection/components/forms/cura-input-text/mask-presets/input-mask-presets.js.map +1 -1
- package/dist/collection/components/forms/cura-label/cura-label.js +187 -187
- package/dist/collection/components/forms/cura-label/cura-label.js.map +1 -1
- package/dist/collection/components/forms/cura-label/cura-label.stories.js +108 -108
- package/dist/collection/components/forms/cura-label/cura-label.stories.js.map +1 -1
- package/dist/collection/components/forms/cura-radio/cura-radio.js +395 -363
- package/dist/collection/components/forms/cura-radio/cura-radio.js.map +1 -1
- package/dist/collection/components/forms/cura-radio/cura-radio.stories.js +150 -150
- package/dist/collection/components/forms/cura-radio/cura-radio.stories.js.map +1 -1
- package/dist/collection/components/forms/cura-select/cura-select.css +519 -0
- package/dist/collection/components/forms/cura-select/cura-select.js +444 -0
- package/dist/collection/components/forms/cura-select/cura-select.js.map +1 -0
- package/dist/collection/components/forms/cura-select/cura-select.stories.js +144 -0
- package/dist/collection/components/forms/cura-select/cura-select.stories.js.map +1 -0
- package/dist/collection/components/forms/cura-select-options/cura-select-option.css +28 -0
- package/dist/collection/components/forms/cura-select-options/cura-select-option.js +138 -0
- package/dist/collection/components/forms/cura-select-options/cura-select-option.js.map +1 -0
- package/dist/collection/components/forms/cura-switch/cura-switch.css +88 -24
- package/dist/collection/components/forms/cura-switch/cura-switch.js +292 -264
- package/dist/collection/components/forms/cura-switch/cura-switch.js.map +1 -1
- package/dist/collection/components/forms/cura-switch/cura-switch.stories.js +115 -115
- package/dist/collection/components/forms/cura-switch/cura-switch.stories.js.map +1 -1
- package/dist/collection/components/loaders/cura-loader-circle/cura-loader-circle.js +74 -74
- package/dist/collection/components/loaders/cura-loader-circle/cura-loader-circle.js.map +1 -1
- package/dist/collection/components/loaders/cura-loader-circle/cura-loader-circle.stories.js +41 -41
- package/dist/collection/components/loaders/cura-loader-circle/cura-loader-circle.stories.js.map +1 -1
- package/dist/collection/components/text/cura-display/cura-display.js +174 -174
- package/dist/collection/components/text/cura-display/cura-display.js.map +1 -1
- package/dist/collection/components/text/cura-display/cura-display.stories.js +97 -97
- package/dist/collection/components/text/cura-display/cura-display.stories.js.map +1 -1
- package/dist/collection/components/text/cura-heading/cura-heading.js +220 -220
- package/dist/collection/components/text/cura-heading/cura-heading.js.map +1 -1
- package/dist/collection/components/text/cura-heading/cura-heading.stories.js +117 -117
- package/dist/collection/components/text/cura-heading/cura-heading.stories.js.map +1 -1
- package/dist/collection/components/text/cura-paragraph/cura-paragraph.js +168 -168
- package/dist/collection/components/text/cura-paragraph/cura-paragraph.js.map +1 -1
- package/dist/collection/components/text/cura-paragraph/cura-paragraph.stories.js +98 -98
- package/dist/collection/components/text/cura-paragraph/cura-paragraph.stories.js.map +1 -1
- package/dist/collection/index.js +1 -1
- package/dist/collection/index.js.map +1 -1
- package/dist/collection/rededor-cura-start.js +7 -7
- package/dist/collection/rededor-cura-start.js.map +1 -1
- package/dist/collection/utils/utils.js +11 -11
- package/dist/collection/utils/utils.js.map +1 -1
- package/dist/components/cura-accordion-item.d.ts +2 -2
- package/dist/components/cura-accordion-item.js +62 -61
- package/dist/components/cura-accordion-item.js.map +1 -1
- package/dist/components/cura-accordion.d.ts +2 -2
- package/dist/components/cura-accordion.js +108 -104
- package/dist/components/cura-accordion.js.map +1 -1
- package/dist/components/cura-alert.d.ts +2 -2
- package/dist/components/cura-alert.js +93 -88
- package/dist/components/cura-alert.js.map +1 -1
- package/dist/components/cura-avatar.d.ts +11 -0
- package/dist/components/cura-avatar.js +95 -0
- package/dist/components/cura-avatar.js.map +1 -0
- package/dist/components/cura-button-outline.d.ts +2 -2
- package/dist/components/cura-button-outline.js +147 -109
- package/dist/components/cura-button-outline.js.map +1 -1
- package/dist/components/cura-button-select.d.ts +2 -2
- package/dist/components/cura-button-select.js +129 -113
- package/dist/components/cura-button-select.js.map +1 -1
- package/dist/components/cura-button-transparent.d.ts +2 -2
- package/dist/components/cura-button-transparent.js +1 -116
- package/dist/components/cura-button-transparent.js.map +1 -1
- package/dist/components/cura-button-transparent2.js +144 -0
- package/dist/components/cura-button-transparent2.js.map +1 -0
- package/dist/components/cura-button.d.ts +2 -2
- package/dist/components/cura-button.js +145 -109
- package/dist/components/cura-button.js.map +1 -1
- package/dist/components/cura-calendar.d.ts +11 -0
- package/dist/components/cura-calendar.js +3969 -0
- package/dist/components/cura-calendar.js.map +1 -0
- package/dist/components/cura-card.d.ts +11 -0
- package/dist/components/cura-card.js +75 -0
- package/dist/components/cura-card.js.map +1 -0
- package/dist/components/cura-checkbox.d.ts +2 -2
- package/dist/components/cura-checkbox.js +210 -174
- package/dist/components/cura-checkbox.js.map +1 -1
- package/dist/components/cura-display.d.ts +2 -2
- package/dist/components/cura-display.js +85 -81
- package/dist/components/cura-display.js.map +1 -1
- package/dist/components/cura-dropdown-search-option-title.d.ts +11 -0
- package/dist/components/cura-dropdown-search-option-title.js +42 -0
- package/dist/components/cura-dropdown-search-option-title.js.map +1 -0
- package/dist/components/cura-dropdown-search-option.d.ts +11 -0
- package/dist/components/cura-dropdown-search-option.js +82 -0
- package/dist/components/cura-dropdown-search-option.js.map +1 -0
- package/dist/components/cura-dropdown-search.d.ts +11 -0
- package/dist/components/cura-dropdown-search.js +272 -0
- package/dist/components/cura-dropdown-search.js.map +1 -0
- package/dist/components/cura-forms.definitions.js +12 -12
- package/dist/components/cura-forms.definitions.js.map +1 -1
- package/dist/components/cura-heading.d.ts +2 -2
- package/dist/components/cura-heading2.js +97 -93
- package/dist/components/cura-heading2.js.map +1 -1
- package/dist/components/cura-icon.d.ts +2 -2
- package/dist/components/cura-icon2.js +74 -69
- package/dist/components/cura-icon2.js.map +1 -1
- package/dist/components/cura-icons-view.d.ts +2 -2
- package/dist/components/cura-icons-view.js +57 -56
- package/dist/components/cura-icons-view.js.map +1 -1
- package/dist/components/cura-input-text.d.ts +2 -2
- package/dist/components/cura-input-text.js +1 -3954
- package/dist/components/cura-input-text.js.map +1 -1
- package/dist/{cjs/cura-input-text.cjs.entry.js → components/cura-input-text2.js} +393 -283
- package/dist/components/cura-input-text2.js.map +1 -0
- package/dist/components/cura-label.d.ts +2 -2
- package/dist/components/cura-label2.js +81 -77
- package/dist/components/cura-label2.js.map +1 -1
- package/dist/components/cura-loader-circle.d.ts +2 -2
- package/dist/components/cura-loader-circle2.js +41 -40
- package/dist/components/cura-loader-circle2.js.map +1 -1
- package/dist/components/cura-page-template.d.ts +2 -2
- package/dist/components/cura-page-template.js +36 -35
- package/dist/components/cura-page-template.js.map +1 -1
- package/dist/components/cura-paragraph.d.ts +2 -2
- package/dist/components/cura-paragraph2.js +79 -75
- package/dist/components/cura-paragraph2.js.map +1 -1
- package/dist/components/cura-radio.d.ts +2 -2
- package/dist/components/cura-radio.js +176 -139
- package/dist/components/cura-radio.js.map +1 -1
- package/dist/components/cura-select-option.d.ts +11 -0
- package/dist/components/cura-select-option.js +8 -0
- package/dist/components/cura-select-option.js.map +1 -0
- package/dist/components/cura-select-option2.js +87 -0
- package/dist/components/cura-select-option2.js.map +1 -0
- package/dist/components/cura-select.d.ts +11 -0
- package/dist/components/cura-select.js +8 -0
- package/dist/components/cura-select.js.map +1 -0
- package/dist/components/cura-select2.js +308 -0
- package/dist/components/cura-select2.js.map +1 -0
- package/dist/components/cura-switch.d.ts +2 -2
- package/dist/components/cura-switch.js +138 -105
- package/dist/components/cura-switch.js.map +1 -1
- package/dist/components/index.d.ts +6 -0
- package/dist/components/index.js +482 -466
- 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/index.esm.js.map +1 -1
- package/dist/cura/p-12d75346.entry.js +2 -0
- package/dist/cura/p-12d75346.entry.js.map +1 -0
- package/dist/cura/p-2176f253.entry.js +2 -0
- package/dist/cura/p-2176f253.entry.js.map +1 -0
- package/dist/cura/p-22292bfa.entry.js +2 -0
- package/dist/cura/p-22292bfa.entry.js.map +1 -0
- package/dist/cura/p-2a8be665.entry.js +2 -0
- package/dist/cura/p-2a8be665.entry.js.map +1 -0
- package/dist/cura/p-2d70b515.entry.js +2 -0
- package/dist/cura/p-2d70b515.entry.js.map +1 -0
- package/dist/cura/p-3c2ebc3a.entry.js +2 -0
- package/dist/cura/p-3c2ebc3a.entry.js.map +1 -0
- package/dist/cura/p-45a0a5e8.entry.js +2 -0
- package/dist/cura/p-45a0a5e8.entry.js.map +1 -0
- package/dist/cura/p-586bbe43.js +3 -0
- package/dist/cura/p-586bbe43.js.map +1 -0
- package/dist/cura/p-5d8e3ee3.entry.js +2 -0
- package/dist/cura/p-5d8e3ee3.entry.js.map +1 -0
- package/dist/cura/{p-f8fffdc1.js → p-70c369b1.js} +1 -1
- package/dist/cura/p-70c369b1.js.map +1 -0
- package/dist/cura/p-7c41f034.entry.js +2 -0
- package/dist/cura/p-7c41f034.entry.js.map +1 -0
- package/dist/cura/p-8cecf9e5.entry.js +2 -0
- package/dist/cura/p-8cecf9e5.entry.js.map +1 -0
- package/dist/cura/p-94b5c3b3.entry.js +2 -0
- package/dist/cura/p-94b5c3b3.entry.js.map +1 -0
- package/dist/cura/p-a5456007.entry.js +2 -0
- package/dist/cura/p-a5456007.entry.js.map +1 -0
- package/dist/cura/{p-c791725b.js → p-a7221f0c.js} +1 -1
- package/dist/{esm-es5/cura-icon.definitions-a63d1862.js.map → cura/p-a7221f0c.js.map} +1 -1
- package/dist/cura/p-cd757625.entry.js +2 -0
- package/dist/cura/p-cd757625.entry.js.map +1 -0
- package/dist/cura/p-de870781.entry.js +2 -0
- package/dist/cura/p-de870781.entry.js.map +1 -0
- package/dist/cura/p-e661bcca.entry.js +2 -0
- package/dist/cura/p-e661bcca.entry.js.map +1 -0
- package/dist/cura/p-ee7388a5.entry.js +2 -0
- package/dist/cura/p-ee7388a5.entry.js.map +1 -0
- package/dist/cura/{p-3688570d.js → p-f9b8f665.js} +1 -1
- package/dist/{esm-es5/cura-forms.definitions-0f774253.js.map → cura/p-f9b8f665.js.map} +1 -1
- package/dist/cura/p-fb9bece3.entry.js +2 -0
- package/dist/cura/p-fb9bece3.entry.js.map +1 -0
- package/dist/esm/app-globals-f2da2b14.js +509 -0
- package/dist/esm/app-globals-f2da2b14.js.map +1 -0
- package/dist/esm/cura-accordion_9.entry.js +532 -0
- package/dist/esm/cura-accordion_9.entry.js.map +1 -0
- package/dist/esm/cura-alert.entry.js +57 -55
- package/dist/esm/cura-alert.entry.js.map +1 -1
- package/dist/esm/cura-avatar.entry.js +64 -0
- package/dist/esm/cura-avatar.entry.js.map +1 -0
- package/dist/esm/cura-button-outline.entry.js +102 -71
- package/dist/esm/cura-button-outline.entry.js.map +1 -1
- package/dist/esm/cura-button-select.entry.js +91 -85
- package/dist/esm/cura-button-select.entry.js.map +1 -1
- package/dist/esm/{cura-input-text.entry.js → cura-button-transparent_2.entry.js} +423 -276
- package/dist/esm/cura-button-transparent_2.entry.js.map +1 -0
- package/dist/esm/cura-calendar.entry.js +3909 -0
- package/dist/esm/cura-calendar.entry.js.map +1 -0
- package/dist/esm/cura-card.entry.js +49 -0
- package/dist/esm/cura-card.entry.js.map +1 -0
- package/dist/esm/cura-checkbox.entry.js +168 -131
- package/dist/esm/cura-checkbox.entry.js.map +1 -1
- package/dist/esm/cura-display.entry.js +63 -62
- package/dist/esm/cura-display.entry.js.map +1 -1
- package/dist/esm/cura-dropdown-search-option-title.entry.js +18 -0
- package/dist/esm/cura-dropdown-search-option-title.entry.js.map +1 -0
- package/dist/esm/cura-dropdown-search-option.entry.js +51 -0
- package/dist/esm/cura-dropdown-search-option.entry.js.map +1 -0
- package/dist/esm/cura-dropdown-search.entry.js +205 -0
- package/dist/esm/cura-dropdown-search.entry.js.map +1 -0
- package/dist/esm/cura-forms.definitions-2f963167.js +18 -0
- package/dist/esm/cura-forms.definitions-2f963167.js.map +1 -0
- package/dist/esm/cura-icon.definitions-aaa4e80f.js +18 -0
- package/dist/esm/cura-icon.definitions-aaa4e80f.js.map +1 -0
- package/dist/esm/cura-icons-view.entry.js +24 -23
- package/dist/esm/cura-icons-view.entry.js.map +1 -1
- package/dist/esm/cura-radio.entry.js +142 -103
- package/dist/esm/cura-radio.entry.js.map +1 -1
- package/dist/esm/cura-select_2.entry.js +320 -0
- package/dist/esm/cura-select_2.entry.js.map +1 -0
- package/dist/esm/cura-switch.entry.js +113 -78
- package/dist/esm/cura-switch.entry.js.map +1 -1
- package/dist/esm/cura.js +14 -23
- package/dist/esm/cura.js.map +1 -1
- package/dist/esm/index-b6c443d5.js +1500 -0
- package/dist/esm/index-b6c443d5.js.map +1 -0
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/loader.js +8 -33
- package/dist/esm/loader.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/loader/cdn.js +1 -3
- package/dist/loader/index.cjs.js +1 -3
- package/dist/loader/index.d.ts +4 -1
- package/dist/loader/index.es2017.js +1 -3
- package/dist/loader/index.js +1 -3
- package/dist/types/api/cura-api.d.ts +3 -3
- package/dist/types/api/cura-api.type.d.ts +44 -44
- package/dist/types/api/modules/cura-theme-breakpoints-module.d.ts +3 -3
- package/dist/types/api/modules/cura-theme-colors-module.d.ts +46 -46
- package/dist/types/api/modules/cura-theme-fonts-module.d.ts +22 -22
- package/dist/types/api/modules/cura-theme-module.d.ts +25 -25
- package/dist/types/api/modules/cura-theme-spacing-module.d.ts +4 -4
- package/dist/types/api/theme-presets/static.d.ts +62 -62
- package/dist/types/api/theme-presets/theme-default.d.ts +38 -38
- package/dist/types/api/theme-presets/theme-legacy-default.d.ts +38 -38
- package/dist/types/api/theme-presets/theme-maternity.d.ts +38 -38
- package/dist/types/api/theme-presets/theme-oncology.d.ts +45 -45
- package/dist/types/api/theme-presets/theme-presets.d.ts +175 -175
- package/dist/types/components/accordion/cura-accordion/cura-accordion.d.ts +37 -37
- package/dist/types/components/accordion/cura-accordion/cura-accordion.stories.d.ts +140 -140
- package/dist/types/components/accordion/cura-accordion-item/cura-accordion-item.d.ts +27 -27
- package/dist/types/components/buttons/cura-button/cura-button.d.ts +70 -59
- package/dist/types/components/buttons/cura-button/cura-button.stories.d.ts +184 -155
- package/dist/types/components/buttons/cura-button-outline/cura-button-outline.d.ts +70 -59
- package/dist/types/components/buttons/cura-button-outline/cura-button-outline.stories.d.ts +184 -155
- package/dist/types/components/buttons/cura-button-select/cura-button-select.d.ts +48 -47
- package/dist/types/components/buttons/cura-button-transparent/cura-button-transparent.d.ts +65 -59
- package/dist/types/components/buttons/cura-button-transparent/cura-button-transparent.stories.d.ts +169 -155
- package/dist/types/components/cura-alert/cura-alert.d.ts +14 -13
- package/dist/types/components/cura-alert/cura-alert.stories.d.ts +85 -70
- package/dist/types/components/cura-avatar/cura-avatar.d.ts +24 -0
- package/dist/types/components/cura-avatar/cura-avatar.definitions.d.ts +14 -0
- package/dist/types/components/cura-avatar/cura-avatar.stories.d.ts +167 -0
- package/dist/types/components/cura-calendar/cura-calendar.d.ts +323 -0
- package/dist/types/components/cura-calendar/cura-calendar.stories.d.ts +128 -0
- package/dist/types/components/cura-card/cura-card.d.ts +48 -0
- package/dist/types/components/cura-card/cura-card.stories.d.ts +98 -0
- package/dist/types/components/cura-icon/cura-icon.d.ts +12 -12
- package/dist/types/components/cura-icon/cura-icon.definitions.d.ts +44 -44
- package/dist/types/components/cura-icon/cura-icon.stories.d.ts +56 -56
- package/dist/types/components/cura-icons-view/cura-icons-view.d.ts +6 -6
- package/dist/types/components/cura-icons-view/cura-icons-view.stories.d.ts +3 -3
- package/dist/types/components/cura-page-template/cura-page-template.d.ts +6 -6
- package/dist/types/components/forms/cura-checkbox/cura-checkbox.d.ts +111 -95
- package/dist/types/components/forms/cura-checkbox/cura-checkbox.stories.d.ts +193 -193
- package/dist/types/components/forms/cura-dropdown-search/cura-dropdown-search-option/cura-dropdown-search-option.d.ts +27 -0
- package/dist/types/components/forms/cura-dropdown-search/cura-dropdown-search-option/cura-dropdown-search-option.stories.d.ts +44 -0
- package/dist/types/components/forms/cura-dropdown-search/cura-dropdown-search-option-title/cura-dropdown-search-option-title.d.ts +3 -0
- package/dist/types/components/forms/cura-dropdown-search/cura-dropdown-search.d.ts +103 -0
- package/dist/types/components/forms/cura-dropdown-search/cura-dropdown-search.stories.d.ts +112 -0
- package/dist/types/components/forms/cura-forms.definitions.d.ts +12 -12
- package/dist/types/components/forms/cura-input-text/cura-input-text.d.ts +169 -132
- package/dist/types/components/forms/cura-input-text/cura-input-text.stories.d.ts +241 -218
- package/dist/types/components/forms/cura-input-text/mask-presets/input-mask-presets.d.ts +1 -2
- package/dist/types/components/forms/cura-label/cura-label.d.ts +52 -52
- package/dist/types/components/forms/cura-label/cura-label.stories.d.ts +112 -112
- package/dist/types/components/forms/cura-radio/cura-radio.d.ts +96 -74
- package/dist/types/components/forms/cura-radio/cura-radio.stories.d.ts +162 -162
- package/dist/types/components/forms/cura-select/cura-select.d.ts +176 -0
- package/dist/types/components/forms/cura-select/cura-select.stories.d.ts +156 -0
- package/dist/types/components/forms/cura-select-options/cura-select-option.d.ts +17 -0
- package/dist/types/components/forms/cura-switch/cura-switch.d.ts +78 -57
- package/dist/types/components/forms/cura-switch/cura-switch.stories.d.ts +121 -121
- package/dist/types/components/loaders/cura-loader-circle/cura-loader-circle.d.ts +21 -21
- package/dist/types/components/loaders/cura-loader-circle/cura-loader-circle.stories.d.ts +35 -35
- package/dist/types/components/text/cura-display/cura-display.d.ts +47 -47
- package/dist/types/components/text/cura-display/cura-display.stories.d.ts +101 -101
- package/dist/types/components/text/cura-heading/cura-heading.d.ts +58 -58
- package/dist/types/components/text/cura-heading/cura-heading.stories.d.ts +127 -127
- package/dist/types/components/text/cura-paragraph/cura-paragraph.d.ts +47 -47
- package/dist/types/components/text/cura-paragraph/cura-paragraph.stories.d.ts +99 -99
- package/dist/types/components.d.ts +689 -13
- package/dist/types/index.d.ts +4 -4
- package/dist/types/rededor-cura-start.d.ts +4 -4
- package/dist/types/stencil-public-runtime.d.ts +51 -15
- package/package.json +5 -5
- package/dist/cjs/app-globals-2988084b.js +0 -511
- package/dist/cjs/app-globals-2988084b.js.map +0 -1
- package/dist/cjs/css-shim-83cf0349.js +0 -8
- package/dist/cjs/css-shim-83cf0349.js.map +0 -1
- package/dist/cjs/cura-accordion_8.cjs.entry.js +0 -445
- package/dist/cjs/cura-accordion_8.cjs.entry.js.map +0 -1
- package/dist/cjs/cura-button-transparent.cjs.entry.js +0 -83
- package/dist/cjs/cura-button-transparent.cjs.entry.js.map +0 -1
- package/dist/cjs/cura-forms.definitions-11be2ebd.js +0 -20
- package/dist/cjs/cura-forms.definitions-11be2ebd.js.map +0 -1
- package/dist/cjs/cura-icon.definitions-b73b0178.js +0 -21
- package/dist/cjs/cura-icon.definitions-b73b0178.js.map +0 -1
- package/dist/cjs/cura-input-text.cjs.entry.js.map +0 -1
- package/dist/cjs/cura-label.cjs.entry.js +0 -69
- package/dist/cjs/cura-label.cjs.entry.js.map +0 -1
- package/dist/cjs/index-7616f620.js +0 -2281
- package/dist/cjs/index-7616f620.js.map +0 -1
- package/dist/cjs/shadow-css-8baae635.js +0 -391
- package/dist/cjs/shadow-css-8baae635.js.map +0 -1
- package/dist/collection/utils/utils.spec.js +0 -16
- package/dist/collection/utils/utils.spec.js.map +0 -1
- package/dist/cura/cura.js +0 -133
- package/dist/cura/p-118112e5.system.js +0 -14
- package/dist/cura/p-118112e5.system.js.map +0 -1
- package/dist/cura/p-120926c5.system.js +0 -2
- package/dist/cura/p-120926c5.system.js.map +0 -1
- package/dist/cura/p-1228e771.entry.js +0 -2
- package/dist/cura/p-1228e771.entry.js.map +0 -1
- package/dist/cura/p-183305c3.js +0 -2
- package/dist/cura/p-183305c3.js.map +0 -1
- package/dist/cura/p-2d42ccf4.entry.js +0 -2
- package/dist/cura/p-2d42ccf4.entry.js.map +0 -1
- package/dist/cura/p-3688570d.js.map +0 -1
- package/dist/cura/p-36a83bc7.system.js +0 -3
- package/dist/cura/p-36a83bc7.system.js.map +0 -1
- package/dist/cura/p-3f3355f3.system.entry.js +0 -2
- package/dist/cura/p-3f3355f3.system.entry.js.map +0 -1
- package/dist/cura/p-3f5de5e2.entry.js +0 -2
- package/dist/cura/p-3f5de5e2.entry.js.map +0 -1
- package/dist/cura/p-3f6aaefc.system.js +0 -2
- package/dist/cura/p-3f6aaefc.system.js.map +0 -1
- package/dist/cura/p-48426f60.system.js +0 -2
- package/dist/cura/p-48426f60.system.js.map +0 -1
- package/dist/cura/p-4db87e8d.system.entry.js +0 -2
- package/dist/cura/p-4db87e8d.system.entry.js.map +0 -1
- package/dist/cura/p-51e00a16.entry.js +0 -2
- package/dist/cura/p-51e00a16.entry.js.map +0 -1
- package/dist/cura/p-72a9ed55.entry.js +0 -2
- package/dist/cura/p-72a9ed55.entry.js.map +0 -1
- package/dist/cura/p-75b2e4d1.system.entry.js +0 -2
- package/dist/cura/p-75b2e4d1.system.entry.js.map +0 -1
- package/dist/cura/p-880917c1.entry.js +0 -2
- package/dist/cura/p-880917c1.entry.js.map +0 -1
- package/dist/cura/p-8d959fb2.entry.js +0 -2
- package/dist/cura/p-8d959fb2.entry.js.map +0 -1
- package/dist/cura/p-9471c93e.system.entry.js +0 -2
- package/dist/cura/p-9471c93e.system.entry.js.map +0 -1
- package/dist/cura/p-98014544.entry.js +0 -2
- package/dist/cura/p-98014544.entry.js.map +0 -1
- package/dist/cura/p-98352c92.system.entry.js +0 -2
- package/dist/cura/p-98352c92.system.entry.js.map +0 -1
- package/dist/cura/p-a32889a4.system.js +0 -2
- package/dist/cura/p-a32889a4.system.js.map +0 -1
- package/dist/cura/p-ab8c9a8f.system.entry.js +0 -2
- package/dist/cura/p-ab8c9a8f.system.entry.js.map +0 -1
- package/dist/cura/p-ad194144.entry.js +0 -2
- package/dist/cura/p-ad194144.entry.js.map +0 -1
- package/dist/cura/p-b0e13882.system.entry.js +0 -2
- package/dist/cura/p-b0e13882.system.entry.js.map +0 -1
- package/dist/cura/p-ba66d7be.js +0 -3
- package/dist/cura/p-ba66d7be.js.map +0 -1
- package/dist/cura/p-bb3f9d05.entry.js +0 -2
- package/dist/cura/p-bb3f9d05.entry.js.map +0 -1
- package/dist/cura/p-beab48cd.js +0 -13
- package/dist/cura/p-beab48cd.js.map +0 -1
- package/dist/cura/p-c791725b.js.map +0 -1
- package/dist/cura/p-cb4e2a0c.system.entry.js +0 -2
- package/dist/cura/p-cb4e2a0c.system.entry.js.map +0 -1
- package/dist/cura/p-d3f9c888.system.js +0 -2
- package/dist/cura/p-d3f9c888.system.js.map +0 -1
- package/dist/cura/p-e5e259fd.system.entry.js +0 -2
- package/dist/cura/p-e5e259fd.system.entry.js.map +0 -1
- package/dist/cura/p-edeffbfc.entry.js +0 -2
- package/dist/cura/p-edeffbfc.entry.js.map +0 -1
- package/dist/cura/p-f51705c2.system.entry.js +0 -2
- package/dist/cura/p-f51705c2.system.entry.js.map +0 -1
- package/dist/cura/p-f89f2ecc.system.entry.js +0 -2
- package/dist/cura/p-f89f2ecc.system.entry.js.map +0 -1
- package/dist/cura/p-f8fffdc1.js.map +0 -1
- package/dist/cura/p-fc4ba4ce.system.js +0 -2
- package/dist/cura/p-fc4ba4ce.system.js.map +0 -1
- package/dist/cura/p-fef52079.entry.js +0 -2
- package/dist/cura/p-fef52079.entry.js.map +0 -1
- package/dist/cura/p-ffd41520.system.entry.js +0 -2
- package/dist/cura/p-ffd41520.system.entry.js.map +0 -1
- package/dist/esm/app-globals-29001758.js +0 -509
- package/dist/esm/app-globals-29001758.js.map +0 -1
- package/dist/esm/css-shim-d13f0738.js +0 -6
- package/dist/esm/css-shim-d13f0738.js.map +0 -1
- package/dist/esm/cura-accordion_8.entry.js +0 -434
- package/dist/esm/cura-accordion_8.entry.js.map +0 -1
- package/dist/esm/cura-button-transparent.entry.js +0 -79
- package/dist/esm/cura-button-transparent.entry.js.map +0 -1
- package/dist/esm/cura-forms.definitions-0f774253.js +0 -18
- package/dist/esm/cura-forms.definitions-0f774253.js.map +0 -1
- package/dist/esm/cura-icon.definitions-a63d1862.js +0 -18
- package/dist/esm/cura-icon.definitions-a63d1862.js.map +0 -1
- package/dist/esm/cura-input-text.entry.js.map +0 -1
- package/dist/esm/cura-label.entry.js +0 -65
- package/dist/esm/cura-label.entry.js.map +0 -1
- package/dist/esm/index-81f1a268.js +0 -2249
- package/dist/esm/index-81f1a268.js.map +0 -1
- package/dist/esm/polyfills/core-js.js +0 -11
- package/dist/esm/polyfills/css-shim.js +0 -1
- package/dist/esm/polyfills/dom.js +0 -79
- package/dist/esm/polyfills/es5-html-element.js +0 -1
- package/dist/esm/polyfills/index.js +0 -34
- package/dist/esm/polyfills/system.js +0 -6
- package/dist/esm/shadow-css-07b0c8c8.js +0 -389
- package/dist/esm/shadow-css-07b0c8c8.js.map +0 -1
- package/dist/esm-es5/app-globals-29001758.js +0 -2
- package/dist/esm-es5/app-globals-29001758.js.map +0 -1
- package/dist/esm-es5/css-shim-d13f0738.js +0 -2
- package/dist/esm-es5/css-shim-d13f0738.js.map +0 -1
- package/dist/esm-es5/cura-accordion_8.entry.js +0 -2
- package/dist/esm-es5/cura-accordion_8.entry.js.map +0 -1
- package/dist/esm-es5/cura-alert.entry.js +0 -2
- package/dist/esm-es5/cura-alert.entry.js.map +0 -1
- package/dist/esm-es5/cura-button-outline.entry.js +0 -2
- package/dist/esm-es5/cura-button-outline.entry.js.map +0 -1
- package/dist/esm-es5/cura-button-select.entry.js +0 -2
- package/dist/esm-es5/cura-button-select.entry.js.map +0 -1
- package/dist/esm-es5/cura-button-transparent.entry.js +0 -2
- package/dist/esm-es5/cura-button-transparent.entry.js.map +0 -1
- package/dist/esm-es5/cura-checkbox.entry.js +0 -2
- package/dist/esm-es5/cura-checkbox.entry.js.map +0 -1
- package/dist/esm-es5/cura-display.entry.js +0 -2
- package/dist/esm-es5/cura-display.entry.js.map +0 -1
- package/dist/esm-es5/cura-forms.definitions-0f774253.js +0 -2
- package/dist/esm-es5/cura-icon.definitions-a63d1862.js +0 -2
- package/dist/esm-es5/cura-icons-view.entry.js +0 -2
- package/dist/esm-es5/cura-icons-view.entry.js.map +0 -1
- package/dist/esm-es5/cura-input-text.entry.js +0 -2
- package/dist/esm-es5/cura-input-text.entry.js.map +0 -1
- package/dist/esm-es5/cura-label.entry.js +0 -2
- package/dist/esm-es5/cura-label.entry.js.map +0 -1
- package/dist/esm-es5/cura-radio.entry.js +0 -2
- package/dist/esm-es5/cura-radio.entry.js.map +0 -1
- package/dist/esm-es5/cura-switch.entry.js +0 -2
- package/dist/esm-es5/cura-switch.entry.js.map +0 -1
- package/dist/esm-es5/cura.js +0 -2
- package/dist/esm-es5/cura.js.map +0 -1
- package/dist/esm-es5/index-81f1a268.js +0 -3
- package/dist/esm-es5/index-81f1a268.js.map +0 -1
- package/dist/esm-es5/index.js +0 -2
- package/dist/esm-es5/index.js.map +0 -1
- package/dist/esm-es5/loader.js +0 -2
- package/dist/esm-es5/loader.js.map +0 -1
- package/dist/esm-es5/shadow-css-07b0c8c8.js +0 -13
- package/dist/esm-es5/shadow-css-07b0c8c8.js.map +0 -1
|
@@ -0,0 +1,444 @@
|
|
|
1
|
+
import { Host, h } from "@stencil/core";
|
|
2
|
+
export class CuraSelect {
|
|
3
|
+
constructor() {
|
|
4
|
+
/**
|
|
5
|
+
* Styles to be applied to the component.
|
|
6
|
+
*/
|
|
7
|
+
this.styles = {};
|
|
8
|
+
/**
|
|
9
|
+
* Theme object containing font and color information.
|
|
10
|
+
*/
|
|
11
|
+
this.theme = window.CuraAPI.theme;
|
|
12
|
+
/**
|
|
13
|
+
* Handles mutations observed by the MutationObserver.
|
|
14
|
+
* Updates the selected option or filters options based on the mutation type.
|
|
15
|
+
*/
|
|
16
|
+
this.handleMutations = (mutations) => {
|
|
17
|
+
mutations.forEach(mutation => {
|
|
18
|
+
if (mutation.type === 'attributes') {
|
|
19
|
+
if (mutation.attributeName === 'selected')
|
|
20
|
+
this.updateSelectedOption();
|
|
21
|
+
if (mutation.attributeName === 'value')
|
|
22
|
+
this.filterOptions();
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* Handles the selection of an option.
|
|
28
|
+
*/
|
|
29
|
+
this.onOptiselected = (event) => {
|
|
30
|
+
const selectedOption = event.target;
|
|
31
|
+
this.clearSelectedAttributes();
|
|
32
|
+
selectedOption.setAttribute('selected', 'true');
|
|
33
|
+
};
|
|
34
|
+
this.handleKeyDown = (event) => {
|
|
35
|
+
var _a;
|
|
36
|
+
if (!this.isOpen)
|
|
37
|
+
return;
|
|
38
|
+
const { key } = event;
|
|
39
|
+
if (key === 'ArrowDown') {
|
|
40
|
+
event.preventDefault();
|
|
41
|
+
this.updateActiveIndex(1);
|
|
42
|
+
}
|
|
43
|
+
if (key === 'ArrowUp') {
|
|
44
|
+
event.preventDefault();
|
|
45
|
+
this.updateActiveIndex(-1);
|
|
46
|
+
}
|
|
47
|
+
if (key === 'Enter') {
|
|
48
|
+
(_a = this.options[this.activeIndex]) === null || _a === void 0 ? void 0 : _a.click();
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
this.handleInputChange = (e) => {
|
|
52
|
+
this.value = e.target.value;
|
|
53
|
+
this.isOpen = !!this.value.length;
|
|
54
|
+
this.internals.setFormValue(this.value);
|
|
55
|
+
};
|
|
56
|
+
this.handleClick = (event) => {
|
|
57
|
+
if (this.disabled)
|
|
58
|
+
return event.preventDefault();
|
|
59
|
+
const target = event.target;
|
|
60
|
+
if (target.tagName === 'CURA-SELECT-OPTION')
|
|
61
|
+
return this.onOptiselected(event);
|
|
62
|
+
this.isOpen = !this.isOpen;
|
|
63
|
+
};
|
|
64
|
+
this.label = '';
|
|
65
|
+
this.placeholder = '';
|
|
66
|
+
this.value = '';
|
|
67
|
+
this.mode = 'default';
|
|
68
|
+
this.size = 'medium';
|
|
69
|
+
this.status = 'default';
|
|
70
|
+
this.disabled = false;
|
|
71
|
+
this.required = false;
|
|
72
|
+
this.isHovered = false;
|
|
73
|
+
this.isFocused = false;
|
|
74
|
+
this.isOpen = false;
|
|
75
|
+
this.options = undefined;
|
|
76
|
+
this.activeIndex = -1;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Callback for form association.
|
|
80
|
+
*/
|
|
81
|
+
formAssociatedCallback(form) {
|
|
82
|
+
form.ariaLabel = this.label;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Callback to restore the switch state from the form.
|
|
86
|
+
*/
|
|
87
|
+
formStateRestoreCallback(state) {
|
|
88
|
+
this.value = state.value;
|
|
89
|
+
this.updateSelectedOption();
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Callback to reset the switch state when the form is reset.
|
|
93
|
+
*/
|
|
94
|
+
formResetCallback() {
|
|
95
|
+
this.value = '';
|
|
96
|
+
this.clearSelectedAttributes();
|
|
97
|
+
this.internals.setFormValue(this.value);
|
|
98
|
+
this.internals.setValidity({});
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Callback to update the switch's disabled state when the form's disabled state changes.
|
|
102
|
+
*/
|
|
103
|
+
formDisabledCallback(disabled) {
|
|
104
|
+
this.disabled = disabled;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Lifecycle method called before the component is rendered.
|
|
108
|
+
* Initializes the options for the select component.
|
|
109
|
+
*/
|
|
110
|
+
componentWillLoad() {
|
|
111
|
+
this.initializeOptions();
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Lifecycle method called after the component is rendered.
|
|
115
|
+
* Initializes select-related functionality.
|
|
116
|
+
*/
|
|
117
|
+
componentDidLoad() {
|
|
118
|
+
this.setupMutationObserver();
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Lifecycle method called when the component is connected to the DOM.
|
|
122
|
+
* Applies styles based on the theme.
|
|
123
|
+
*/
|
|
124
|
+
connectedCallback() {
|
|
125
|
+
this.applyStyles();
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Lifecycle method called when the component is disconnected from the DOM.
|
|
129
|
+
* Disconnects the MutationObserver if it exists.
|
|
130
|
+
*/
|
|
131
|
+
disconnectedCallback() {
|
|
132
|
+
var _a;
|
|
133
|
+
(_a = this.mutationObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
|
|
134
|
+
}
|
|
135
|
+
initializeOptions() {
|
|
136
|
+
this.options = this.host.querySelectorAll('cura-select-option');
|
|
137
|
+
this.options.forEach(option => {
|
|
138
|
+
option.setAttribute('size', this.size);
|
|
139
|
+
option.setAttribute('selected', 'false');
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Applies styles to the component based on the theme.
|
|
144
|
+
*/
|
|
145
|
+
applyStyles() {
|
|
146
|
+
const { fonts, colors } = this.theme;
|
|
147
|
+
const fontWeights = fonts.getWeights();
|
|
148
|
+
this.styles = Object.assign(Object.assign({}, this.styles), { '--font-weight-medium': fontWeights.medium, '--font-weight-bold': fontWeights.bold, '--font-weight-regular': fontWeights.regular, '--font-color': fonts.getColor(), '--font-family': fonts.getFamily(), '--font-size': fonts.getSize() });
|
|
149
|
+
const colorKeys = [
|
|
150
|
+
'primary-base', 'neutral-purewhite', 'neutral-white', 'neutral-black', 'neutral-medium', 'neutral-light',
|
|
151
|
+
'neutral-base', 'neutral-dark', 'success-dark', 'success-darker', 'success-lighter',
|
|
152
|
+
'error-lighter', 'error-dark', 'error-darker', 'error-base', 'info-base'
|
|
153
|
+
];
|
|
154
|
+
colorKeys.forEach(key => {
|
|
155
|
+
this.styles[`--${key}`] = colors.getColor(key);
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Sets up a MutationObserver to watch for changes in the component.
|
|
160
|
+
*/
|
|
161
|
+
setupMutationObserver() {
|
|
162
|
+
this.mutationObserver = new MutationObserver(this.handleMutations);
|
|
163
|
+
this.mutationObserver.observe(this.host, { attributes: true, subtree: true, attributeFilter: ['selected', 'value'] });
|
|
164
|
+
}
|
|
165
|
+
updateSelectedOption() {
|
|
166
|
+
const selectedOption = this.host.querySelector('cura-select-option[selected]');
|
|
167
|
+
if (selectedOption) {
|
|
168
|
+
const selectedValue = selectedOption.textContent;
|
|
169
|
+
if (this.value !== selectedValue) {
|
|
170
|
+
this.value = selectedValue;
|
|
171
|
+
this.isOpen = false;
|
|
172
|
+
this.internals.setFormValue(this.value);
|
|
173
|
+
this.selected.emit({ value: this.value, selected: true });
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* Clears the 'selected' attribute from all options.
|
|
179
|
+
*/
|
|
180
|
+
clearSelectedAttributes() {
|
|
181
|
+
this.options.forEach(option => option.removeAttribute('selected'));
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* Filters the options based on the current input value.
|
|
185
|
+
*/
|
|
186
|
+
filterOptions() {
|
|
187
|
+
const inputValue = this.value.toLowerCase();
|
|
188
|
+
this.options.forEach(option => {
|
|
189
|
+
var _a;
|
|
190
|
+
const optionValue = ((_a = option.textContent) === null || _a === void 0 ? void 0 : _a.toLowerCase()) || '';
|
|
191
|
+
const isVisible = this.isOpen ? optionValue.includes(inputValue) : true;
|
|
192
|
+
option.style.display = isVisible ? 'block' : 'none';
|
|
193
|
+
});
|
|
194
|
+
}
|
|
195
|
+
updateActiveIndex(direction) {
|
|
196
|
+
if (this.options.length === 0)
|
|
197
|
+
return;
|
|
198
|
+
this.activeIndex = (this.activeIndex + direction + this.options.length) % this.options.length;
|
|
199
|
+
this.updateOptionHighlights();
|
|
200
|
+
}
|
|
201
|
+
updateOptionHighlights() {
|
|
202
|
+
this.options.forEach((option, index) => option.active = index === this.activeIndex);
|
|
203
|
+
}
|
|
204
|
+
getClasses() {
|
|
205
|
+
return {
|
|
206
|
+
wrapper: true,
|
|
207
|
+
label: !!this.label,
|
|
208
|
+
disabled: this.disabled,
|
|
209
|
+
transparent: this.mode === 'transparent',
|
|
210
|
+
[this.size.toLowerCase()]: true,
|
|
211
|
+
[this.status.toLowerCase()]: true,
|
|
212
|
+
};
|
|
213
|
+
}
|
|
214
|
+
/**
|
|
215
|
+
* Determines the color based on the item type and component state.
|
|
216
|
+
*/
|
|
217
|
+
getColor(item) {
|
|
218
|
+
if (this.disabled)
|
|
219
|
+
return 'neutral-medium';
|
|
220
|
+
const isStatusDefault = this.status === 'default';
|
|
221
|
+
const isHoveredOrFocused = this.isFocused || this.isHovered;
|
|
222
|
+
if (item === 'label') {
|
|
223
|
+
if (!isStatusDefault || isHoveredOrFocused)
|
|
224
|
+
return 'neutral-black';
|
|
225
|
+
return 'neutral-dark';
|
|
226
|
+
}
|
|
227
|
+
if (isHoveredOrFocused && isStatusDefault)
|
|
228
|
+
return 'neutral-black';
|
|
229
|
+
if (this.status === 'success')
|
|
230
|
+
return 'success-dark';
|
|
231
|
+
if (this.status === 'error')
|
|
232
|
+
return 'error-dark';
|
|
233
|
+
return 'neutral-dark';
|
|
234
|
+
}
|
|
235
|
+
/**
|
|
236
|
+
* Renders the icon based on the component's status.
|
|
237
|
+
*/
|
|
238
|
+
renderIcon() {
|
|
239
|
+
if (this.status === 'default')
|
|
240
|
+
return null;
|
|
241
|
+
const icon = { success: 'checkCircle', error: 'alertCircle' }[this.status];
|
|
242
|
+
return (h("cura-icon", { class: 'feedback-icon', name: icon, iconset: 'default', size: this.size === 'large' ? 20 : 16, color: this.getColor('icon'), style: this.styles }));
|
|
243
|
+
}
|
|
244
|
+
render() {
|
|
245
|
+
return (h(Host, { key: '25024f752db0a0189ece93612e54a43b47668efd', style: this.styles }, h("div", { key: 'eae2f00129bb2d82fa1586ce7f6e2e4bb71b20de', class: this.getClasses(), tabIndex: 0, ref: (el) => (this.selectRef = el), onMouseEnter: () => (this.isHovered = true), onMouseLeave: () => (this.isHovered = false), onKeyDown: this.handleKeyDown, onClick: this.handleClick }, this.label && (h("cura-label", { key: '0ac1eb8e18c97432a2c46e35dc04fce4d2dc640a', class: 'label', weight: 'bold', size: this.size === 'large' ? 'small' : 'xsmall', color: this.getColor('label') }, this.label, " ", this.required && h("span", { key: '09e8e758d595c641afbb7729847bc6e123ecd869', class: 'required' }, "* "))), h("div", { key: '2248ebad1ab820689635db06db8725d39118b04b', class: {
|
|
246
|
+
'cura-input-field': true,
|
|
247
|
+
'open': this.isOpen
|
|
248
|
+
} }, this.renderIcon(), h("input", { key: 'ea3909b76182006256055be075a446a8cb2813af', tabIndex: 0, type: "text", autocomplete: 'off', onFocus: () => (this.isFocused = true), onBlur: () => (this.isFocused = false), "aria-required": String(this.required), "aria-disabled": String(this.disabled), "aria-invalid": String(this.status === 'error'), onInput: this.handleInputChange, style: this.styles, placeholder: this.placeholder, disabled: this.disabled, required: this.required, value: this.value }), h("cura-icon", { key: '13a28271273b9a96e39cb62ca91e6769ea33ee43', name: this.isOpen ? 'up' : 'down', class: "up-down-icon", color: this.disabled ? 'neutral-dark' : 'primary-base', size: 16, iconset: 'default' })), h("cura-label", { key: 'fb1802d14cf6099e0ddf71f0623c1f0ffba6747c', class: "helper-text", size: 'xsmall', color: this.getColor('text'), weight: this.mode === 'transparent' ? 'bold' : 'regular' }, h("slot", { key: '2c257fd28f5c560dd66fe9f73c2fb3c165174efa' })), this.isOpen && (h("div", { key: '36dbd0fa457f7d1ec9c771dafc7491a821267812', class: {
|
|
249
|
+
'menu': true,
|
|
250
|
+
'open': this.isOpen
|
|
251
|
+
} }, h("slot", { key: 'f8d751989092e50820cb7b71903eef743f672a6b', name: 'option' }))))));
|
|
252
|
+
}
|
|
253
|
+
static get is() { return "cura-select"; }
|
|
254
|
+
static get encapsulation() { return "shadow"; }
|
|
255
|
+
static get formAssociated() { return true; }
|
|
256
|
+
static get originalStyleUrls() {
|
|
257
|
+
return {
|
|
258
|
+
"$": ["cura-select.scss"]
|
|
259
|
+
};
|
|
260
|
+
}
|
|
261
|
+
static get styleUrls() {
|
|
262
|
+
return {
|
|
263
|
+
"$": ["cura-select.css"]
|
|
264
|
+
};
|
|
265
|
+
}
|
|
266
|
+
static get properties() {
|
|
267
|
+
return {
|
|
268
|
+
"label": {
|
|
269
|
+
"type": "string",
|
|
270
|
+
"mutable": false,
|
|
271
|
+
"complexType": {
|
|
272
|
+
"original": "string",
|
|
273
|
+
"resolved": "string",
|
|
274
|
+
"references": {}
|
|
275
|
+
},
|
|
276
|
+
"required": false,
|
|
277
|
+
"optional": false,
|
|
278
|
+
"docs": {
|
|
279
|
+
"tags": [],
|
|
280
|
+
"text": "The label text for the select component.\nReflects as an attribute in the DOM."
|
|
281
|
+
},
|
|
282
|
+
"attribute": "label",
|
|
283
|
+
"reflect": true,
|
|
284
|
+
"defaultValue": "''"
|
|
285
|
+
},
|
|
286
|
+
"placeholder": {
|
|
287
|
+
"type": "string",
|
|
288
|
+
"mutable": false,
|
|
289
|
+
"complexType": {
|
|
290
|
+
"original": "string",
|
|
291
|
+
"resolved": "string",
|
|
292
|
+
"references": {}
|
|
293
|
+
},
|
|
294
|
+
"required": false,
|
|
295
|
+
"optional": false,
|
|
296
|
+
"docs": {
|
|
297
|
+
"tags": [],
|
|
298
|
+
"text": "Placeholder text for the input field.\nReflects as an attribute in the DOM."
|
|
299
|
+
},
|
|
300
|
+
"attribute": "placeholder",
|
|
301
|
+
"reflect": true,
|
|
302
|
+
"defaultValue": "''"
|
|
303
|
+
},
|
|
304
|
+
"value": {
|
|
305
|
+
"type": "string",
|
|
306
|
+
"mutable": true,
|
|
307
|
+
"complexType": {
|
|
308
|
+
"original": "string",
|
|
309
|
+
"resolved": "string",
|
|
310
|
+
"references": {}
|
|
311
|
+
},
|
|
312
|
+
"required": false,
|
|
313
|
+
"optional": false,
|
|
314
|
+
"docs": {
|
|
315
|
+
"tags": [],
|
|
316
|
+
"text": "Current value of the select component.\nReflects as an attribute in the DOM and is mutable."
|
|
317
|
+
},
|
|
318
|
+
"attribute": "value",
|
|
319
|
+
"reflect": true,
|
|
320
|
+
"defaultValue": "''"
|
|
321
|
+
},
|
|
322
|
+
"mode": {
|
|
323
|
+
"type": "string",
|
|
324
|
+
"mutable": false,
|
|
325
|
+
"complexType": {
|
|
326
|
+
"original": "'default' | 'transparent'",
|
|
327
|
+
"resolved": "\"default\" | \"transparent\"",
|
|
328
|
+
"references": {}
|
|
329
|
+
},
|
|
330
|
+
"required": false,
|
|
331
|
+
"optional": false,
|
|
332
|
+
"docs": {
|
|
333
|
+
"tags": [],
|
|
334
|
+
"text": "Display mode of the select component.\nCan be 'default' or 'transparent'."
|
|
335
|
+
},
|
|
336
|
+
"attribute": "mode",
|
|
337
|
+
"reflect": true,
|
|
338
|
+
"defaultValue": "'default'"
|
|
339
|
+
},
|
|
340
|
+
"size": {
|
|
341
|
+
"type": "string",
|
|
342
|
+
"mutable": false,
|
|
343
|
+
"complexType": {
|
|
344
|
+
"original": "'small' | 'medium' | 'large'",
|
|
345
|
+
"resolved": "\"large\" | \"medium\" | \"small\"",
|
|
346
|
+
"references": {}
|
|
347
|
+
},
|
|
348
|
+
"required": false,
|
|
349
|
+
"optional": false,
|
|
350
|
+
"docs": {
|
|
351
|
+
"tags": [],
|
|
352
|
+
"text": "Size of the select component.\nCan be 'small', 'medium', or 'large'."
|
|
353
|
+
},
|
|
354
|
+
"attribute": "size",
|
|
355
|
+
"reflect": true,
|
|
356
|
+
"defaultValue": "'medium'"
|
|
357
|
+
},
|
|
358
|
+
"status": {
|
|
359
|
+
"type": "string",
|
|
360
|
+
"mutable": true,
|
|
361
|
+
"complexType": {
|
|
362
|
+
"original": "'success' | 'error' | 'default'",
|
|
363
|
+
"resolved": "\"default\" | \"error\" | \"success\"",
|
|
364
|
+
"references": {}
|
|
365
|
+
},
|
|
366
|
+
"required": false,
|
|
367
|
+
"optional": false,
|
|
368
|
+
"docs": {
|
|
369
|
+
"tags": [],
|
|
370
|
+
"text": "Status of the select component.\nCan be 'success', 'error', or 'default'."
|
|
371
|
+
},
|
|
372
|
+
"attribute": "status",
|
|
373
|
+
"reflect": true,
|
|
374
|
+
"defaultValue": "'default'"
|
|
375
|
+
},
|
|
376
|
+
"disabled": {
|
|
377
|
+
"type": "boolean",
|
|
378
|
+
"mutable": false,
|
|
379
|
+
"complexType": {
|
|
380
|
+
"original": "boolean",
|
|
381
|
+
"resolved": "boolean",
|
|
382
|
+
"references": {}
|
|
383
|
+
},
|
|
384
|
+
"required": false,
|
|
385
|
+
"optional": false,
|
|
386
|
+
"docs": {
|
|
387
|
+
"tags": [],
|
|
388
|
+
"text": "Whether the select component is disabled.\nReflects as an attribute in the DOM."
|
|
389
|
+
},
|
|
390
|
+
"attribute": "disabled",
|
|
391
|
+
"reflect": true,
|
|
392
|
+
"defaultValue": "false"
|
|
393
|
+
},
|
|
394
|
+
"required": {
|
|
395
|
+
"type": "boolean",
|
|
396
|
+
"mutable": false,
|
|
397
|
+
"complexType": {
|
|
398
|
+
"original": "boolean",
|
|
399
|
+
"resolved": "boolean",
|
|
400
|
+
"references": {}
|
|
401
|
+
},
|
|
402
|
+
"required": false,
|
|
403
|
+
"optional": false,
|
|
404
|
+
"docs": {
|
|
405
|
+
"tags": [],
|
|
406
|
+
"text": "Whether the select component is required.\nReflects as an attribute in the DOM."
|
|
407
|
+
},
|
|
408
|
+
"attribute": "required",
|
|
409
|
+
"reflect": true,
|
|
410
|
+
"defaultValue": "false"
|
|
411
|
+
}
|
|
412
|
+
};
|
|
413
|
+
}
|
|
414
|
+
static get states() {
|
|
415
|
+
return {
|
|
416
|
+
"isHovered": {},
|
|
417
|
+
"isFocused": {},
|
|
418
|
+
"isOpen": {},
|
|
419
|
+
"options": {},
|
|
420
|
+
"activeIndex": {}
|
|
421
|
+
};
|
|
422
|
+
}
|
|
423
|
+
static get events() {
|
|
424
|
+
return [{
|
|
425
|
+
"method": "selected",
|
|
426
|
+
"name": "selected",
|
|
427
|
+
"bubbles": true,
|
|
428
|
+
"cancelable": true,
|
|
429
|
+
"composed": true,
|
|
430
|
+
"docs": {
|
|
431
|
+
"tags": [],
|
|
432
|
+
"text": "Event emitted when an option is selected."
|
|
433
|
+
},
|
|
434
|
+
"complexType": {
|
|
435
|
+
"original": "any",
|
|
436
|
+
"resolved": "any",
|
|
437
|
+
"references": {}
|
|
438
|
+
}
|
|
439
|
+
}];
|
|
440
|
+
}
|
|
441
|
+
static get elementRef() { return "host"; }
|
|
442
|
+
static get attachInternalsMemberName() { return "internals"; }
|
|
443
|
+
}
|
|
444
|
+
//# sourceMappingURL=cura-select.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cura-select.js","sourceRoot":"","sources":["../../../../src/components/forms/cura-select/cura-select.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, Host, Prop, State, h, Event, EventEmitter, AttachInternals } from '@stencil/core';\n\n@Component({\n tag: 'cura-select',\n styleUrl: 'cura-select.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class CuraSelect {\n /**\n * The label text for the select component.\n * Reflects as an attribute in the DOM.\n */\n @Prop({ reflect: true }) label: string = '';\n\n /**\n * Placeholder text for the input field.\n * Reflects as an attribute in the DOM.\n */\n @Prop({ reflect: true }) placeholder: string = '';\n\n /**\n * Current value of the select component.\n * Reflects as an attribute in the DOM and is mutable.\n */\n @Prop({ reflect: true, mutable: true }) value: string = '';\n\n /**\n * Display mode of the select component.\n * Can be 'default' or 'transparent'.\n */\n @Prop({ reflect: true }) mode: 'default' | 'transparent' = 'default';\n\n /**\n * Size of the select component.\n * Can be 'small', 'medium', or 'large'.\n */\n @Prop({ reflect: true }) size: 'small' | 'medium' | 'large' = 'medium';\n\n /**\n * Status of the select component.\n * Can be 'success', 'error', or 'default'.\n */\n @Prop({ reflect: true, mutable: true }) status: 'success' | 'error' | 'default' = 'default';\n\n /**\n * Whether the select component is disabled.\n * Reflects as an attribute in the DOM.\n */\n @Prop({ reflect: true }) disabled: boolean = false;\n\n /**\n * Whether the select component is required.\n * Reflects as an attribute in the DOM.\n */\n @Prop({ reflect: true }) required: boolean = false;\n\n /**\n * Internal state: Whether the input is hovered.\n * Default: false\n */\n @State() isHovered: boolean = false;\n\n /**\n * Internal state: Whether the input is focused.\n * Default: false\n */\n @State() isFocused: boolean = false;\n\n /**\n * Internal state: Whether the dropdown menu is open.\n * Default: false\n */\n @State() isOpen: boolean = false;\n\n /**\n * Internal state: Collection of options for the select component.\n */\n @State() options: NodeListOf<HTMLElement>;\n\n\n @State() activeIndex: number = -1\n\n /**\n * Reference to the host element of the component.\n */\n @Element() host: HTMLElement;\n\n /**\n * Event emitted when an option is selected.\n */\n @Event() selected: EventEmitter;\n\n /**\n * Reference to the select component element.\n */\n selectRef: HTMLElement;\n\n /**\n * MutationObserver to watch changes in the component.\n */\n mutationObserver: MutationObserver;\n\n /**\n * Styles to be applied to the component.\n */\n styles = {};\n\n /**\n * Theme object containing font and color information.\n */\n theme = window.CuraAPI.theme;\n\n @AttachInternals() internals: ElementInternals;\n\n /**\n * Callback for form association.\n */\n formAssociatedCallback(form: { ariaLabel: string; }) {\n form.ariaLabel = this.label;\n }\n\n /**\n * Callback to restore the switch state from the form.\n */\n formStateRestoreCallback(state: { value: string }) {\n this.value = state.value;\n this.updateSelectedOption();\n }\n\n /**\n * Callback to reset the switch state when the form is reset.\n */\n formResetCallback() {\n this.value = '';\n this.clearSelectedAttributes()\n this.internals.setFormValue(this.value);\n this.internals.setValidity({});\n }\n\n /**\n * Callback to update the switch's disabled state when the form's disabled state changes.\n */\n formDisabledCallback(disabled: boolean) {\n this.disabled = disabled;\n }\n\n /**\n * Lifecycle method called before the component is rendered.\n * Initializes the options for the select component.\n */\n componentWillLoad() {\n this.initializeOptions();\n }\n /**\n * Lifecycle method called after the component is rendered.\n * Initializes select-related functionality.\n */\n componentDidLoad() {\n this.setupMutationObserver();\n }\n /**\n * Lifecycle method called when the component is connected to the DOM.\n * Applies styles based on the theme.\n */\n connectedCallback() {\n this.applyStyles();\n }\n /**\n * Lifecycle method called when the component is disconnected from the DOM.\n * Disconnects the MutationObserver if it exists.\n */\n disconnectedCallback() {\n this.mutationObserver?.disconnect();\n }\n\n initializeOptions() {\n this.options = this.host.querySelectorAll('cura-select-option');\n this.options.forEach(option => {\n option.setAttribute('size', this.size);\n option.setAttribute('selected', 'false');\n });\n }\n /**\n * Applies styles to the component based on the theme.\n */\n applyStyles() {\n const { fonts, colors } = this.theme;\n const fontWeights = fonts.getWeights();\n\n this.styles = {\n ...this.styles,\n '--font-weight-medium': fontWeights.medium,\n '--font-weight-bold': fontWeights.bold,\n '--font-weight-regular': fontWeights.regular,\n '--font-color': fonts.getColor(),\n '--font-family': fonts.getFamily(),\n '--font-size': fonts.getSize(),\n };\n\n const colorKeys = [\n 'primary-base', 'neutral-purewhite', 'neutral-white', 'neutral-black', 'neutral-medium', 'neutral-light',\n 'neutral-base', 'neutral-dark', 'success-dark', 'success-darker', 'success-lighter',\n 'error-lighter', 'error-dark', 'error-darker', 'error-base', 'info-base'\n ];\n\n colorKeys.forEach(key => {\n this.styles[`--${key}`] = colors.getColor(key);\n });\n }\n /**\n * Sets up a MutationObserver to watch for changes in the component.\n */\n setupMutationObserver() {\n this.mutationObserver = new MutationObserver(this.handleMutations);\n this.mutationObserver.observe(this.host, { attributes: true, subtree: true, attributeFilter: ['selected', 'value'] });\n }\n /**\n * Handles mutations observed by the MutationObserver.\n * Updates the selected option or filters options based on the mutation type.\n */\n handleMutations = (mutations: MutationRecord[]) => {\n mutations.forEach(mutation => {\n if (mutation.type === 'attributes') {\n if (mutation.attributeName === 'selected') this.updateSelectedOption();\n if (mutation.attributeName === 'value') this.filterOptions();\n }\n });\n };\n /**\n * Handles the selection of an option.\n */\n onOptiselected = (event: Event) => {\n const selectedOption = event.target as HTMLElement;\n this.clearSelectedAttributes();\n selectedOption.setAttribute('selected', 'true');\n };\n\n updateSelectedOption() {\n const selectedOption = this.host.querySelector('cura-select-option[selected]');\n\n if (selectedOption) {\n const selectedValue = selectedOption.textContent;\n if (this.value !== selectedValue) {\n this.value = selectedValue ;\n this.isOpen = false;\n this.internals.setFormValue(this.value);\n this.selected.emit({ value: this.value, selected: true });\n }\n }\n }\n\n /**\n * Clears the 'selected' attribute from all options.\n */\n clearSelectedAttributes() {\n this.options.forEach(option => option.removeAttribute('selected'));\n }\n\n /**\n * Filters the options based on the current input value.\n */\n filterOptions() {\n const inputValue = this.value.toLowerCase();\n\n this.options.forEach(option => {\n const optionValue = option.textContent?.toLowerCase() || '';\n const isVisible = this.isOpen ? optionValue.includes(inputValue) : true;\n option.style.display = isVisible ? 'block' : 'none';\n });\n }\n\n handleKeyDown = (event: KeyboardEvent) => {\n if (!this.isOpen) return;\n const { key } = event\n\n if (key === 'ArrowDown') {\n event.preventDefault();\n this.updateActiveIndex(1);\n }\n\n if (key === 'ArrowUp') {\n event.preventDefault();\n this.updateActiveIndex(-1);\n }\n\n if (key === 'Enter') {\n this.options[this.activeIndex]?.click();\n }\n }\n\n updateActiveIndex(direction: number) {\n if (this.options.length === 0) return;\n this.activeIndex = (this.activeIndex + direction + this.options.length) % this.options.length;\n this.updateOptionHighlights()\n }\n\n updateOptionHighlights() {\n this.options.forEach((option, index) => (option as any).active = index === this.activeIndex);\n }\n\n\n handleInputChange = (e: Event) => {\n this.value = (e.target as HTMLInputElement).value;\n this.isOpen = !!this.value.length;\n this.internals.setFormValue(this.value);\n };\n\n\n getClasses() {\n return {\n wrapper: true,\n label: !!this.label,\n disabled: this.disabled,\n transparent: this.mode === 'transparent',\n [this.size.toLowerCase()]: true,\n [this.status.toLowerCase()]: true,\n };\n }\n\n /**\n * Determines the color based on the item type and component state.\n */\n getColor(item: 'label' | 'text' | 'icon') {\n if (this.disabled) return 'neutral-medium';\n\n const isStatusDefault = this.status === 'default';\n const isHoveredOrFocused = this.isFocused || this.isHovered;\n\n if (item === 'label') {\n if (!isStatusDefault || isHoveredOrFocused) return 'neutral-black';\n return 'neutral-dark';\n }\n\n if (isHoveredOrFocused && isStatusDefault) return 'neutral-black';\n if (this.status === 'success') return 'success-dark';\n if (this.status === 'error') return 'error-dark';\n\n return 'neutral-dark';\n }\n\n /**\n * Renders the icon based on the component's status.\n */\n renderIcon() {\n if (this.status === 'default') return null;\n const icon = { success: 'checkCircle', error: 'alertCircle' }[this.status];\n return (\n <cura-icon\n class='feedback-icon'\n name={icon}\n iconset='default'\n size={this.size === 'large' ? 20 : 16}\n color={this.getColor('icon')}\n style={this.styles}\n />\n );\n }\n\n handleClick = (event: MouseEvent) => {\n if (this.disabled) return event.preventDefault();\n const target = event.target as HTMLElement;\n\n if (target.tagName === 'CURA-SELECT-OPTION') return this.onOptiselected(event);\n this.isOpen = !this.isOpen;\n };\n\n\n render() {\n return (\n <Host style={this.styles}>\n <div\n class={this.getClasses()}\n tabIndex={0}\n ref={(el) => (this.selectRef = el as HTMLElement)}\n onMouseEnter={() => (this.isHovered = true)}\n onMouseLeave={() => (this.isHovered = false)}\n onKeyDown={this.handleKeyDown}\n onClick={this.handleClick}\n >\n {this.label && (\n <cura-label\n class='label'\n weight='bold'\n size={this.size === 'large' ? 'small' : 'xsmall'}\n color={this.getColor('label')}\n >\n {this.label} {this.required && <span class='required'>* </span>}\n </cura-label>\n )}\n\n <div class={{\n 'cura-input-field': true,\n 'open': this.isOpen\n }}>\n {this.renderIcon()}\n <input\n tabIndex={0}\n type=\"text\"\n autocomplete='off'\n onFocus={() => (this.isFocused = true)}\n onBlur={() => (this.isFocused = false)}\n aria-required={String(this.required)}\n aria-disabled={String(this.disabled)}\n aria-invalid={String(this.status === 'error')}\n onInput={this.handleInputChange}\n style={this.styles}\n placeholder={this.placeholder}\n disabled={this.disabled}\n required={this.required}\n value={this.value}\n />\n <cura-icon\n name={this.isOpen ? 'up' : 'down'}\n class=\"up-down-icon\"\n color={this.disabled ? 'neutral-dark' : 'primary-base'}\n size={16}\n iconset='default'\n />\n </div>\n <cura-label\n class=\"helper-text\"\n size='xsmall'\n color={this.getColor('text')}\n weight={this.mode === 'transparent' ? 'bold' : 'regular'} >\n <slot></slot>\n </cura-label>\n {this.isOpen && (\n <div class={{\n 'menu': true,\n 'open': this.isOpen\n }}>\n <slot name='option'></slot>\n </div>\n )}\n </div>\n </Host>\n );\n }\n}\n"]}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
const renderCuraSelect = (args) => {
|
|
2
|
+
const optionsMarkup = args.options.map(option => `<cura-select-option value="${option.value}">${option.label}</cura-select-option>`).join('');
|
|
3
|
+
const block = `<cura-select${args.label ? `
|
|
4
|
+
label="${args.label}"` : ''}${args.placeholder ? `
|
|
5
|
+
placeholder="${args.placeholder}"` : ''}${args.defaultValue ? `
|
|
6
|
+
default-value="${args.defaultValue}"` : ''}${args.value ? `
|
|
7
|
+
value="${args.value}"` : ''}${args.mode ? `
|
|
8
|
+
mode="${args.mode}"` : ''}${args.size ? `
|
|
9
|
+
size="${args.size}"` : ''}${args.status ? `
|
|
10
|
+
status="${args.status}"` : ''}${args.disabled ? `
|
|
11
|
+
disabled` : ''}${args.required ? `
|
|
12
|
+
required` : ''}>
|
|
13
|
+
${args.helperText}
|
|
14
|
+
${optionsMarkup}
|
|
15
|
+
</cura-select>`;
|
|
16
|
+
return `<div style="height: 200px; padding: 20px;">${block}</div>`;
|
|
17
|
+
};
|
|
18
|
+
export default {
|
|
19
|
+
title: 'Componentes/Forms/Select',
|
|
20
|
+
component: 'cura-select',
|
|
21
|
+
tags: ['autodocs'],
|
|
22
|
+
render: (args) => renderCuraSelect(args),
|
|
23
|
+
argTypes: {
|
|
24
|
+
label: {
|
|
25
|
+
control: 'text',
|
|
26
|
+
description: 'Texto do rótulo para o componente select.',
|
|
27
|
+
table: {
|
|
28
|
+
category: 'Propriedades',
|
|
29
|
+
defaultValue: { summary: '' },
|
|
30
|
+
},
|
|
31
|
+
},
|
|
32
|
+
placeholder: {
|
|
33
|
+
control: 'text',
|
|
34
|
+
description: 'Texto de espaço reservado para o campo de entrada.',
|
|
35
|
+
table: {
|
|
36
|
+
category: 'Propriedades',
|
|
37
|
+
defaultValue: { summary: '' },
|
|
38
|
+
},
|
|
39
|
+
},
|
|
40
|
+
defaultValue: {
|
|
41
|
+
control: 'text',
|
|
42
|
+
description: 'Valor padrão para o componente select.',
|
|
43
|
+
table: {
|
|
44
|
+
category: 'Propriedades',
|
|
45
|
+
defaultValue: { summary: '' },
|
|
46
|
+
},
|
|
47
|
+
},
|
|
48
|
+
value: {
|
|
49
|
+
control: 'text',
|
|
50
|
+
description: 'Valor atual do componente select. Ao inicar a busca o mesmo se refere ao option relacionado',
|
|
51
|
+
table: {
|
|
52
|
+
category: 'Propriedades',
|
|
53
|
+
defaultValue: { summary: '' },
|
|
54
|
+
},
|
|
55
|
+
},
|
|
56
|
+
mode: {
|
|
57
|
+
control: { type: 'inline-radio' },
|
|
58
|
+
options: ['default', 'transparent'],
|
|
59
|
+
description: "Modo de exibição do componente select. Pode ser 'default' ou 'transparent'.",
|
|
60
|
+
table: {
|
|
61
|
+
category: 'Propriedades',
|
|
62
|
+
defaultValue: { summary: 'default' },
|
|
63
|
+
},
|
|
64
|
+
},
|
|
65
|
+
size: {
|
|
66
|
+
control: { type: 'inline-radio' },
|
|
67
|
+
options: ['small', 'medium', 'large'],
|
|
68
|
+
description: "Tamanho do componente select. Pode ser 'small', 'medium' ou 'large'.",
|
|
69
|
+
table: {
|
|
70
|
+
category: 'Propriedades',
|
|
71
|
+
defaultValue: { summary: 'medium' },
|
|
72
|
+
},
|
|
73
|
+
},
|
|
74
|
+
status: {
|
|
75
|
+
control: { type: 'inline-radio' },
|
|
76
|
+
options: ['default', 'success', 'error'],
|
|
77
|
+
description: "Status do componente select. Pode ser 'success', 'error' ou 'default'.",
|
|
78
|
+
table: {
|
|
79
|
+
category: 'Propriedades',
|
|
80
|
+
defaultValue: { summary: 'default' },
|
|
81
|
+
},
|
|
82
|
+
},
|
|
83
|
+
disabled: {
|
|
84
|
+
control: 'boolean',
|
|
85
|
+
description: 'Indica se o componente select está desabilitado.',
|
|
86
|
+
table: {
|
|
87
|
+
category: 'states',
|
|
88
|
+
defaultValue: { summary: 'false' },
|
|
89
|
+
},
|
|
90
|
+
},
|
|
91
|
+
required: {
|
|
92
|
+
control: 'boolean',
|
|
93
|
+
description: 'Indica se o componente select é obrigatório.',
|
|
94
|
+
table: {
|
|
95
|
+
category: 'states',
|
|
96
|
+
defaultValue: { summary: 'false' },
|
|
97
|
+
},
|
|
98
|
+
},
|
|
99
|
+
helperText: {
|
|
100
|
+
name: 'content',
|
|
101
|
+
control: 'text',
|
|
102
|
+
description: 'Define o texto de ajuda do input, renderizado dentro do slot num elemento <cura-label>. Aceita tags HTML.',
|
|
103
|
+
table: {
|
|
104
|
+
category: 'Slots',
|
|
105
|
+
defaultValue: { summary: '' },
|
|
106
|
+
},
|
|
107
|
+
},
|
|
108
|
+
onselect: {
|
|
109
|
+
description: 'Emite um evento via Listener quando um valor é selecionado. { value: string , selected: boolean }',
|
|
110
|
+
table: {
|
|
111
|
+
category: 'Evento',
|
|
112
|
+
defaultValue: { summary: '' },
|
|
113
|
+
},
|
|
114
|
+
},
|
|
115
|
+
options: {
|
|
116
|
+
control: 'array',
|
|
117
|
+
description: 'Lista de opções definido pela aplicação para cura-select-option.',
|
|
118
|
+
table: {
|
|
119
|
+
category: 'aplication',
|
|
120
|
+
defaultValue: { summary: '[]' },
|
|
121
|
+
},
|
|
122
|
+
},
|
|
123
|
+
},
|
|
124
|
+
};
|
|
125
|
+
export const CuraSelect = {
|
|
126
|
+
args: {
|
|
127
|
+
options: [
|
|
128
|
+
{ value: '1', label: 'Opção 1' },
|
|
129
|
+
{ value: '2', label: 'Escolha 2' },
|
|
130
|
+
{ value: '3', label: 'Exemplo 3' },
|
|
131
|
+
],
|
|
132
|
+
label: 'Escolha uma opção',
|
|
133
|
+
placeholder: 'Selecione...',
|
|
134
|
+
defaultValue: '',
|
|
135
|
+
value: '',
|
|
136
|
+
mode: 'default',
|
|
137
|
+
size: 'medium',
|
|
138
|
+
status: 'default',
|
|
139
|
+
disabled: false,
|
|
140
|
+
required: false,
|
|
141
|
+
helperText: 'Texto de ajuda'
|
|
142
|
+
},
|
|
143
|
+
};
|
|
144
|
+
//# sourceMappingURL=cura-select.stories.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cura-select.stories.js","sourceRoot":"","sources":["../../../../src/components/forms/cura-select/cura-select.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["const renderCuraSelect = (args) => {\n const optionsMarkup = args.options.map(option =>\n `<cura-select-option value=\"${option.value}\">${option.label}</cura-select-option>`\n ).join('');\n\n const block = `<cura-select${args.label ? `\n label=\"${args.label}\"` : ''}${args.placeholder ? `\n placeholder=\"${args.placeholder}\"` : ''}${args.defaultValue ? `\n default-value=\"${args.defaultValue}\"` : ''}${args.value ? `\n value=\"${args.value}\"` : ''}${args.mode ? `\n mode=\"${args.mode}\"` : ''}${args.size ? `\n size=\"${args.size}\"` : ''}${args.status ? `\n status=\"${args.status}\"` : ''}${args.disabled ? `\n disabled` : ''}${args.required ? `\n required` : ''}>\n ${args.helperText}\n ${optionsMarkup}\n</cura-select>`;\n\n return `<div style=\"height: 200px; padding: 20px;\">${block}</div>`;\n};\n\n\n\nexport default {\n title: 'Componentes/Forms/Select',\n component: 'cura-select',\n tags: ['autodocs'],\n render: (args) => renderCuraSelect(args),\n argTypes: {\n label: {\n control: 'text',\n description: 'Texto do rótulo para o componente select.',\n table: {\n category: 'Propriedades',\n defaultValue: { summary: '' },\n },\n },\n placeholder: {\n control: 'text',\n description: 'Texto de espaço reservado para o campo de entrada.',\n table: {\n category: 'Propriedades',\n defaultValue: { summary: '' },\n },\n },\n defaultValue: {\n control: 'text',\n description: 'Valor padrão para o componente select.',\n table: {\n category: 'Propriedades',\n defaultValue: { summary: '' },\n },\n },\n value: {\n control: 'text',\n description: 'Valor atual do componente select. Ao inicar a busca o mesmo se refere ao option relacionado',\n table: {\n category: 'Propriedades',\n defaultValue: { summary: '' },\n },\n },\n mode: {\n control: { type: 'inline-radio' },\n options: ['default', 'transparent'],\n description: \"Modo de exibição do componente select. Pode ser 'default' ou 'transparent'.\",\n table: {\n category: 'Propriedades',\n defaultValue: { summary: 'default' },\n },\n },\n size: {\n control: { type: 'inline-radio' },\n options: ['small', 'medium', 'large'],\n description: \"Tamanho do componente select. Pode ser 'small', 'medium' ou 'large'.\",\n table: {\n category: 'Propriedades',\n defaultValue: { summary: 'medium' },\n },\n },\n status: {\n control: { type: 'inline-radio' },\n options: ['default', 'success', 'error'],\n description: \"Status do componente select. Pode ser 'success', 'error' ou 'default'.\",\n table: {\n category: 'Propriedades',\n defaultValue: { summary: 'default' },\n },\n },\n disabled: {\n control: 'boolean',\n description: 'Indica se o componente select está desabilitado.',\n table: {\n category: 'states',\n defaultValue: { summary: 'false' },\n },\n },\n required: {\n control: 'boolean',\n description: 'Indica se o componente select é obrigatório.',\n table: {\n category: 'states',\n defaultValue: { summary: 'false' },\n },\n },\n helperText: {\n name: 'content',\n control: 'text',\n description: 'Define o texto de ajuda do input, renderizado dentro do slot num elemento <cura-label>. Aceita tags HTML.',\n table: {\n category: 'Slots',\n defaultValue: { summary: '' },\n },\n },\n onselect: {\n description: 'Emite um evento via Listener quando um valor é selecionado. { value: string , selected: boolean }',\n table: {\n category: 'Evento',\n defaultValue: { summary: '' },\n },\n },\n options: {\n control: 'array',\n description: 'Lista de opções definido pela aplicação para cura-select-option.',\n table: {\n category: 'aplication',\n defaultValue: { summary: '[]' },\n },\n },\n },\n};\n\nexport const CuraSelect = {\n args: {\n options: [\n { value: '1', label: 'Opção 1' },\n { value: '2', label: 'Escolha 2' },\n { value: '3', label: 'Exemplo 3' },\n ],\n label: 'Escolha uma opção',\n placeholder: 'Selecione...',\n defaultValue: '',\n value: '',\n mode: 'default',\n size: 'medium',\n status: 'default',\n disabled: false,\n required: false,\n helperText: 'Texto de ajuda'\n },\n};\n"]}
|