@tylertech/forge 2.0.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/LICENSE +202 -0
- package/README.md +124 -0
- package/dist/busy-indicator/forge-busy-indicator.css +6 -0
- package/dist/button/forge-button.css +6 -0
- package/dist/dialog/forge-dialog-utils.css +6 -0
- package/dist/dialog/forge-dialog.css +6 -0
- package/dist/expansion-panel/forge-expansion-panel.css +6 -0
- package/dist/floating-action-button/forge-floating-action-button.css +6 -0
- package/dist/floating-label/forge-floating-label.css +6 -0
- package/dist/forge-core.css +6 -0
- package/dist/forge-dark.css +6 -0
- package/dist/forge.css +6 -0
- package/dist/form-field/forge-form-field.css +6 -0
- package/dist/icon-button/forge-icon-button.css +6 -0
- package/dist/popup/forge-popup.css +6 -0
- package/dist/quantity-field/forge-quantity-field.css +6 -0
- package/dist/ripple/forge-ripple.css +6 -0
- package/dist/scaffold/forge-scaffold.css +6 -0
- package/dist/table/forge-table.css +6 -0
- package/dist/theme/forge-theme.css +6 -0
- package/dist/tooltip/forge-tooltip.css +6 -0
- package/dist/typography/forge-form.css +6 -0
- package/dist/typography/forge-typography.css +6 -0
- package/dist/utils/forge-flex.css +6 -0
- package/dist/utils/forge-grid.css +6 -0
- package/dist/utils/forge-utils.css +6 -0
- package/esm/accordion/accordion-adapter.d.ts +48 -0
- package/esm/accordion/accordion-adapter.js +63 -0
- package/esm/accordion/accordion-constants.d.ts +11 -0
- package/esm/accordion/accordion-constants.js +14 -0
- package/esm/accordion/accordion-foundation.d.ts +27 -0
- package/esm/accordion/accordion-foundation.js +61 -0
- package/esm/accordion/accordion.d.ts +30 -0
- package/esm/accordion/accordion.js +52 -0
- package/esm/accordion/index.d.ts +10 -0
- package/esm/accordion/index.js +14 -0
- package/esm/app-bar/app-bar-adapter.d.ts +43 -0
- package/esm/app-bar/app-bar-adapter.js +60 -0
- package/esm/app-bar/app-bar-constants.d.ts +33 -0
- package/esm/app-bar/app-bar-constants.js +37 -0
- package/esm/app-bar/app-bar-foundation.d.ts +35 -0
- package/esm/app-bar/app-bar-foundation.js +70 -0
- package/esm/app-bar/app-bar.d.ts +34 -0
- package/esm/app-bar/app-bar.js +71 -0
- package/esm/app-bar/help-button/app-bar-help-button-adapter.d.ts +18 -0
- package/esm/app-bar/help-button/app-bar-help-button-adapter.js +19 -0
- package/esm/app-bar/help-button/app-bar-help-button-constants.d.ts +8 -0
- package/esm/app-bar/help-button/app-bar-help-button-constants.js +10 -0
- package/esm/app-bar/help-button/app-bar-help-button-foundation.d.ts +21 -0
- package/esm/app-bar/help-button/app-bar-help-button-foundation.js +29 -0
- package/esm/app-bar/help-button/app-bar-help-button.d.ts +23 -0
- package/esm/app-bar/help-button/app-bar-help-button.js +48 -0
- package/esm/app-bar/help-button/index.d.ts +10 -0
- package/esm/app-bar/help-button/index.js +14 -0
- package/esm/app-bar/index.d.ts +16 -0
- package/esm/app-bar/index.js +20 -0
- package/esm/app-bar/menu-button/app-bar-menu-button-constants.d.ts +8 -0
- package/esm/app-bar/menu-button/app-bar-menu-button-constants.js +10 -0
- package/esm/app-bar/menu-button/app-bar-menu-button.d.ts +17 -0
- package/esm/app-bar/menu-button/app-bar-menu-button.js +34 -0
- package/esm/app-bar/menu-button/index.d.ts +8 -0
- package/esm/app-bar/menu-button/index.js +12 -0
- package/esm/app-bar/notification-button/app-bar-notification-button-adapter.d.ts +23 -0
- package/esm/app-bar/notification-button/app-bar-notification-button-adapter.js +28 -0
- package/esm/app-bar/notification-button/app-bar-notification-button-constants.d.ts +14 -0
- package/esm/app-bar/notification-button/app-bar-notification-button-constants.js +17 -0
- package/esm/app-bar/notification-button/app-bar-notification-button-foundation.d.ts +32 -0
- package/esm/app-bar/notification-button/app-bar-notification-button-foundation.js +79 -0
- package/esm/app-bar/notification-button/app-bar-notification-button.d.ts +29 -0
- package/esm/app-bar/notification-button/app-bar-notification-button.js +78 -0
- package/esm/app-bar/notification-button/index.d.ts +10 -0
- package/esm/app-bar/notification-button/index.js +14 -0
- package/esm/app-bar/profile-button/app-bar-profile-button-adapter.d.ts +34 -0
- package/esm/app-bar/profile-button/app-bar-profile-button-adapter.js +72 -0
- package/esm/app-bar/profile-button/app-bar-profile-button-constants.d.ts +31 -0
- package/esm/app-bar/profile-button/app-bar-profile-button-constants.js +25 -0
- package/esm/app-bar/profile-button/app-bar-profile-button-foundation.d.ts +66 -0
- package/esm/app-bar/profile-button/app-bar-profile-button-foundation.js +199 -0
- package/esm/app-bar/profile-button/app-bar-profile-button.d.ts +42 -0
- package/esm/app-bar/profile-button/app-bar-profile-button.js +112 -0
- package/esm/app-bar/profile-button/index.d.ts +10 -0
- package/esm/app-bar/profile-button/index.js +14 -0
- package/esm/app-bar/search/app-bar-search-adapter.d.ts +59 -0
- package/esm/app-bar/search/app-bar-search-adapter.js +73 -0
- package/esm/app-bar/search/app-bar-search-constants.d.ts +38 -0
- package/esm/app-bar/search/app-bar-search-constants.js +42 -0
- package/esm/app-bar/search/app-bar-search-foundation.d.ts +62 -0
- package/esm/app-bar/search/app-bar-search-foundation.js +126 -0
- package/esm/app-bar/search/app-bar-search.d.ts +52 -0
- package/esm/app-bar/search/app-bar-search.js +101 -0
- package/esm/app-bar/search/index.d.ts +10 -0
- package/esm/app-bar/search/index.js +14 -0
- package/esm/autocomplete/autocomplete-adapter.d.ts +90 -0
- package/esm/autocomplete/autocomplete-adapter.js +222 -0
- package/esm/autocomplete/autocomplete-component-delegate.d.ts +34 -0
- package/esm/autocomplete/autocomplete-component-delegate.js +76 -0
- package/esm/autocomplete/autocomplete-constants.d.ts +68 -0
- package/esm/autocomplete/autocomplete-constants.js +49 -0
- package/esm/autocomplete/autocomplete-foundation.d.ts +175 -0
- package/esm/autocomplete/autocomplete-foundation.js +857 -0
- package/esm/autocomplete/autocomplete-utils.d.ts +22 -0
- package/esm/autocomplete/autocomplete-utils.js +36 -0
- package/esm/autocomplete/autocomplete.d.ts +85 -0
- package/esm/autocomplete/autocomplete.js +162 -0
- package/esm/autocomplete/index.d.ts +12 -0
- package/esm/autocomplete/index.js +16 -0
- package/esm/avatar/avatar-adapter.d.ts +42 -0
- package/esm/avatar/avatar-adapter.js +63 -0
- package/esm/avatar/avatar-component-delegate.d.ts +16 -0
- package/esm/avatar/avatar-component-delegate.js +15 -0
- package/esm/avatar/avatar-constants.d.ts +25 -0
- package/esm/avatar/avatar-constants.js +32 -0
- package/esm/avatar/avatar-foundation.d.ts +47 -0
- package/esm/avatar/avatar-foundation.js +119 -0
- package/esm/avatar/avatar.d.ts +36 -0
- package/esm/avatar/avatar.js +71 -0
- package/esm/avatar/index.d.ts +11 -0
- package/esm/avatar/index.js +15 -0
- package/esm/backdrop/backdrop-adapter.d.ts +36 -0
- package/esm/backdrop/backdrop-adapter.js +40 -0
- package/esm/backdrop/backdrop-constants.d.ts +26 -0
- package/esm/backdrop/backdrop-constants.js +31 -0
- package/esm/backdrop/backdrop-foundation.d.ts +38 -0
- package/esm/backdrop/backdrop-foundation.js +82 -0
- package/esm/backdrop/backdrop.d.ts +51 -0
- package/esm/backdrop/backdrop.js +85 -0
- package/esm/backdrop/index.d.ts +10 -0
- package/esm/backdrop/index.js +14 -0
- package/esm/badge/badge-adapter.d.ts +17 -0
- package/esm/badge/badge-adapter.js +20 -0
- package/esm/badge/badge-component-delegate.d.ts +16 -0
- package/esm/badge/badge-component-delegate.js +15 -0
- package/esm/badge/badge-constants.d.ts +21 -0
- package/esm/badge/badge-constants.js +26 -0
- package/esm/badge/badge-foundation.d.ts +24 -0
- package/esm/badge/badge-foundation.js +55 -0
- package/esm/badge/badge.d.ts +26 -0
- package/esm/badge/badge.js +51 -0
- package/esm/badge/index.d.ts +11 -0
- package/esm/badge/index.js +15 -0
- package/esm/banner/banner-adapter.d.ts +30 -0
- package/esm/banner/banner-adapter.js +44 -0
- package/esm/banner/banner-constants.d.ts +34 -0
- package/esm/banner/banner-constants.js +41 -0
- package/esm/banner/banner-foundation.d.ts +31 -0
- package/esm/banner/banner-foundation.js +73 -0
- package/esm/banner/banner.d.ts +35 -0
- package/esm/banner/banner.js +67 -0
- package/esm/banner/index.d.ts +10 -0
- package/esm/banner/index.js +14 -0
- package/esm/bottom-sheet/bottom-sheet-adapter.d.ts +70 -0
- package/esm/bottom-sheet/bottom-sheet-adapter.js +129 -0
- package/esm/bottom-sheet/bottom-sheet-constants.d.ts +49 -0
- package/esm/bottom-sheet/bottom-sheet-constants.js +47 -0
- package/esm/bottom-sheet/bottom-sheet-foundation.d.ts +79 -0
- package/esm/bottom-sheet/bottom-sheet-foundation.js +327 -0
- package/esm/bottom-sheet/bottom-sheet.d.ts +58 -0
- package/esm/bottom-sheet/bottom-sheet.js +85 -0
- package/esm/bottom-sheet/index.d.ts +10 -0
- package/esm/bottom-sheet/index.js +14 -0
- package/esm/busy-indicator/busy-indicator-adapter.d.ts +159 -0
- package/esm/busy-indicator/busy-indicator-adapter.js +201 -0
- package/esm/busy-indicator/busy-indicator-constants.d.ts +49 -0
- package/esm/busy-indicator/busy-indicator-constants.js +58 -0
- package/esm/busy-indicator/busy-indicator-foundation.d.ts +97 -0
- package/esm/busy-indicator/busy-indicator-foundation.js +268 -0
- package/esm/busy-indicator/busy-indicator.d.ts +73 -0
- package/esm/busy-indicator/busy-indicator.js +111 -0
- package/esm/busy-indicator/index.d.ts +10 -0
- package/esm/busy-indicator/index.js +14 -0
- package/esm/button/button-component-delegate.d.ts +24 -0
- package/esm/button/button-component-delegate.js +39 -0
- package/esm/button/button-constants.d.ts +28 -0
- package/esm/button/button-constants.js +33 -0
- package/esm/button/button.d.ts +43 -0
- package/esm/button/button.js +160 -0
- package/esm/button/index.d.ts +9 -0
- package/esm/button/index.js +13 -0
- package/esm/button-toggle/button-toggle/button-toggle-adapter.d.ts +30 -0
- package/esm/button-toggle/button-toggle/button-toggle-adapter.js +62 -0
- package/esm/button-toggle/button-toggle/button-toggle-constants.d.ts +33 -0
- package/esm/button-toggle/button-toggle/button-toggle-constants.js +35 -0
- package/esm/button-toggle/button-toggle/button-toggle-foundation.d.ts +37 -0
- package/esm/button-toggle/button-toggle/button-toggle-foundation.js +74 -0
- package/esm/button-toggle/button-toggle/button-toggle.d.ts +37 -0
- package/esm/button-toggle/button-toggle/button-toggle.js +76 -0
- package/esm/button-toggle/button-toggle/index.d.ts +10 -0
- package/esm/button-toggle/button-toggle/index.js +14 -0
- package/esm/button-toggle/button-toggle-group/button-toggle-group-adapter.d.ts +44 -0
- package/esm/button-toggle/button-toggle-group/button-toggle-group-adapter.js +125 -0
- package/esm/button-toggle/button-toggle-group/button-toggle-group-constants.d.ts +35 -0
- package/esm/button-toggle/button-toggle-group/button-toggle-group-constants.js +33 -0
- package/esm/button-toggle/button-toggle-group/button-toggle-group-foundation.d.ts +57 -0
- package/esm/button-toggle/button-toggle-group/button-toggle-group-foundation.js +198 -0
- package/esm/button-toggle/button-toggle-group/button-toggle-group.d.ts +38 -0
- package/esm/button-toggle/button-toggle-group/button-toggle-group.js +94 -0
- package/esm/button-toggle/button-toggle-group/index.d.ts +10 -0
- package/esm/button-toggle/button-toggle-group/index.js +14 -0
- package/esm/button-toggle/index.d.ts +7 -0
- package/esm/button-toggle/index.js +7 -0
- package/esm/calendar/calendar-adapter.d.ts +160 -0
- package/esm/calendar/calendar-adapter.js +425 -0
- package/esm/calendar/calendar-component-delegate.d.ts +21 -0
- package/esm/calendar/calendar-component-delegate.js +27 -0
- package/esm/calendar/calendar-constants.d.ts +261 -0
- package/esm/calendar/calendar-constants.js +170 -0
- package/esm/calendar/calendar-dom-utils.d.ts +46 -0
- package/esm/calendar/calendar-dom-utils.js +301 -0
- package/esm/calendar/calendar-dropdown/calendar-dropdown-constants.d.ts +15 -0
- package/esm/calendar/calendar-dropdown/calendar-dropdown-constants.js +11 -0
- package/esm/calendar/calendar-dropdown/calendar-dropdown.d.ts +41 -0
- package/esm/calendar/calendar-dropdown/calendar-dropdown.js +106 -0
- package/esm/calendar/calendar-dropdown/index.d.ts +7 -0
- package/esm/calendar/calendar-dropdown/index.js +7 -0
- package/esm/calendar/calendar-foundation.d.ts +547 -0
- package/esm/calendar/calendar-foundation.js +2218 -0
- package/esm/calendar/calendar-locale-utils.d.ts +20 -0
- package/esm/calendar/calendar-locale-utils.js +133 -0
- package/esm/calendar/calendar-menu/calendar-menu-adapter.d.ts +43 -0
- package/esm/calendar/calendar-menu/calendar-menu-adapter.js +156 -0
- package/esm/calendar/calendar-menu/calendar-menu-constants.d.ts +74 -0
- package/esm/calendar/calendar-menu/calendar-menu-constants.js +76 -0
- package/esm/calendar/calendar-menu/calendar-menu-foundation.d.ts +66 -0
- package/esm/calendar/calendar-menu/calendar-menu-foundation.js +229 -0
- package/esm/calendar/calendar-menu/calendar-menu-utils.d.ts +12 -0
- package/esm/calendar/calendar-menu/calendar-menu-utils.js +85 -0
- package/esm/calendar/calendar-menu/calendar-menu.d.ts +48 -0
- package/esm/calendar/calendar-menu/calendar-menu.js +86 -0
- package/esm/calendar/calendar-menu/index.d.ts +11 -0
- package/esm/calendar/calendar-menu/index.js +15 -0
- package/esm/calendar/calendar-utils.d.ts +64 -0
- package/esm/calendar/calendar-utils.js +309 -0
- package/esm/calendar/calendar.d.ts +96 -0
- package/esm/calendar/calendar.js +282 -0
- package/esm/calendar/core/calendar-base.d.ts +34 -0
- package/esm/calendar/core/calendar-base.js +6 -0
- package/esm/calendar/core/date-range.d.ts +15 -0
- package/esm/calendar/core/date-range.js +16 -0
- package/esm/calendar/core/index.d.ts +7 -0
- package/esm/calendar/core/index.js +7 -0
- package/esm/calendar/index.d.ts +17 -0
- package/esm/calendar/index.js +21 -0
- package/esm/card/card-constants.d.ts +17 -0
- package/esm/card/card-constants.js +22 -0
- package/esm/card/card.d.ts +27 -0
- package/esm/card/card.js +58 -0
- package/esm/card/index.d.ts +8 -0
- package/esm/card/index.js +12 -0
- package/esm/checkbox/checkbox-adapter.d.ts +71 -0
- package/esm/checkbox/checkbox-adapter.js +216 -0
- package/esm/checkbox/checkbox-component-delegate.d.ts +37 -0
- package/esm/checkbox/checkbox-component-delegate.js +92 -0
- package/esm/checkbox/checkbox-constants.d.ts +72 -0
- package/esm/checkbox/checkbox-constants.js +67 -0
- package/esm/checkbox/checkbox-foundation.d.ts +35 -0
- package/esm/checkbox/checkbox-foundation.js +175 -0
- package/esm/checkbox/checkbox.d.ts +28 -0
- package/esm/checkbox/checkbox.js +69 -0
- package/esm/checkbox/index.d.ts +11 -0
- package/esm/checkbox/index.js +15 -0
- package/esm/chip-field/chip-field-adapter.d.ts +32 -0
- package/esm/chip-field/chip-field-adapter.js +51 -0
- package/esm/chip-field/chip-field-component-delegate.d.ts +45 -0
- package/esm/chip-field/chip-field-component-delegate.js +125 -0
- package/esm/chip-field/chip-field-constants.d.ts +31 -0
- package/esm/chip-field/chip-field-constants.js +36 -0
- package/esm/chip-field/chip-field-foundation.d.ts +30 -0
- package/esm/chip-field/chip-field-foundation.js +151 -0
- package/esm/chip-field/chip-field.d.ts +21 -0
- package/esm/chip-field/chip-field.js +28 -0
- package/esm/chip-field/index.d.ts +11 -0
- package/esm/chip-field/index.js +15 -0
- package/esm/chips/chip/chip-adapter.d.ts +51 -0
- package/esm/chips/chip/chip-adapter.js +115 -0
- package/esm/chips/chip/chip-constants.d.ts +53 -0
- package/esm/chips/chip/chip-constants.js +47 -0
- package/esm/chips/chip/chip-foundation.d.ts +69 -0
- package/esm/chips/chip/chip-foundation.js +264 -0
- package/esm/chips/chip/chip.d.ts +50 -0
- package/esm/chips/chip/chip.js +98 -0
- package/esm/chips/chip/index.d.ts +10 -0
- package/esm/chips/chip/index.js +14 -0
- package/esm/chips/chip-set/chip-set-adapter.d.ts +23 -0
- package/esm/chips/chip-set/chip-set-adapter.js +33 -0
- package/esm/chips/chip-set/chip-set-constants.d.ts +21 -0
- package/esm/chips/chip-set/chip-set-constants.js +26 -0
- package/esm/chips/chip-set/chip-set-foundation.d.ts +35 -0
- package/esm/chips/chip-set/chip-set-foundation.js +74 -0
- package/esm/chips/chip-set/chip-set.d.ts +29 -0
- package/esm/chips/chip-set/chip-set.js +67 -0
- package/esm/chips/chip-set/index.d.ts +10 -0
- package/esm/chips/chip-set/index.js +14 -0
- package/esm/chips/index.d.ts +7 -0
- package/esm/chips/index.js +7 -0
- package/esm/circular-progress/circular-progress-adapter.d.ts +28 -0
- package/esm/circular-progress/circular-progress-adapter.js +42 -0
- package/esm/circular-progress/circular-progress-constants.d.ts +17 -0
- package/esm/circular-progress/circular-progress-constants.js +21 -0
- package/esm/circular-progress/circular-progress-foundation.d.ts +32 -0
- package/esm/circular-progress/circular-progress-foundation.js +66 -0
- package/esm/circular-progress/circular-progress.d.ts +27 -0
- package/esm/circular-progress/circular-progress.js +65 -0
- package/esm/circular-progress/index.d.ts +10 -0
- package/esm/circular-progress/index.js +14 -0
- package/esm/color-picker/color-picker-adapter.d.ts +78 -0
- package/esm/color-picker/color-picker-adapter.js +175 -0
- package/esm/color-picker/color-picker-constants.d.ts +79 -0
- package/esm/color-picker/color-picker-constants.js +65 -0
- package/esm/color-picker/color-picker-foundation.d.ts +67 -0
- package/esm/color-picker/color-picker-foundation.js +235 -0
- package/esm/color-picker/color-picker-gradient-slider.d.ts +30 -0
- package/esm/color-picker/color-picker-gradient-slider.js +135 -0
- package/esm/color-picker/color-picker-slider.d.ts +38 -0
- package/esm/color-picker/color-picker-slider.js +118 -0
- package/esm/color-picker/color-picker-utils.d.ts +40 -0
- package/esm/color-picker/color-picker-utils.js +197 -0
- package/esm/color-picker/color-picker.d.ts +43 -0
- package/esm/color-picker/color-picker.js +80 -0
- package/esm/color-picker/index.d.ts +10 -0
- package/esm/color-picker/index.js +14 -0
- package/esm/constants.d.ts +9 -0
- package/esm/constants.js +9 -0
- package/esm/core/base/base-adapter.d.ts +42 -0
- package/esm/core/base/base-adapter.js +56 -0
- package/esm/core/base/base-component.d.ts +11 -0
- package/esm/core/base/base-component.js +8 -0
- package/esm/core/base/index.d.ts +7 -0
- package/esm/core/base/index.js +7 -0
- package/esm/core/delegates/base-component-delegate.d.ts +40 -0
- package/esm/core/delegates/base-component-delegate.js +84 -0
- package/esm/core/delegates/form-field-component-delegate.d.ts +24 -0
- package/esm/core/delegates/form-field-component-delegate.js +11 -0
- package/esm/core/delegates/index.d.ts +7 -0
- package/esm/core/delegates/index.js +7 -0
- package/esm/core/index.d.ts +9 -0
- package/esm/core/index.js +9 -0
- package/esm/core/mask/date-input-mask.d.ts +35 -0
- package/esm/core/mask/date-input-mask.js +155 -0
- package/esm/core/mask/index.d.ts +7 -0
- package/esm/core/mask/index.js +7 -0
- package/esm/core/mask/time-input-mask.d.ts +38 -0
- package/esm/core/mask/time-input-mask.js +163 -0
- package/esm/core/utils/date-utils.d.ts +42 -0
- package/esm/core/utils/date-utils.js +133 -0
- package/esm/core/utils/index.d.ts +9 -0
- package/esm/core/utils/index.js +9 -0
- package/esm/core/utils/svg-utils.d.ts +14 -0
- package/esm/core/utils/svg-utils.js +62 -0
- package/esm/core/utils/time-utils.d.ts +21 -0
- package/esm/core/utils/time-utils.js +111 -0
- package/esm/core/utils/utils.d.ts +11 -0
- package/esm/core/utils/utils.js +26 -0
- package/esm/date-picker/base/base-date-picker-adapter.d.ts +98 -0
- package/esm/date-picker/base/base-date-picker-adapter.js +157 -0
- package/esm/date-picker/base/base-date-picker-constants.d.ts +52 -0
- package/esm/date-picker/base/base-date-picker-constants.js +33 -0
- package/esm/date-picker/base/base-date-picker-foundation.d.ts +152 -0
- package/esm/date-picker/base/base-date-picker-foundation.js +608 -0
- package/esm/date-picker/base/base-date-picker-utils.d.ts +6 -0
- package/esm/date-picker/base/base-date-picker-utils.js +21 -0
- package/esm/date-picker/base/base-date-picker.d.ts +82 -0
- package/esm/date-picker/base/base-date-picker.js +135 -0
- package/esm/date-picker/date-picker-adapter.d.ts +39 -0
- package/esm/date-picker/date-picker-adapter.js +121 -0
- package/esm/date-picker/date-picker-component-delegate.d.ts +34 -0
- package/esm/date-picker/date-picker-component-delegate.js +73 -0
- package/esm/date-picker/date-picker-constants.d.ts +20 -0
- package/esm/date-picker/date-picker-constants.js +25 -0
- package/esm/date-picker/date-picker-foundation.d.ts +34 -0
- package/esm/date-picker/date-picker-foundation.js +155 -0
- package/esm/date-picker/date-picker.d.ts +26 -0
- package/esm/date-picker/date-picker.js +54 -0
- package/esm/date-picker/index.d.ts +11 -0
- package/esm/date-picker/index.js +15 -0
- package/esm/date-range-picker/date-range-picker-adapter.d.ts +65 -0
- package/esm/date-range-picker/date-range-picker-adapter.js +190 -0
- package/esm/date-range-picker/date-range-picker-component-delegate.d.ts +41 -0
- package/esm/date-range-picker/date-range-picker-component-delegate.js +86 -0
- package/esm/date-range-picker/date-range-picker-constants.d.ts +34 -0
- package/esm/date-range-picker/date-range-picker-constants.js +38 -0
- package/esm/date-range-picker/date-range-picker-foundation.d.ts +60 -0
- package/esm/date-range-picker/date-range-picker-foundation.js +342 -0
- package/esm/date-range-picker/date-range-picker.d.ts +33 -0
- package/esm/date-range-picker/date-range-picker.js +64 -0
- package/esm/date-range-picker/index.d.ts +11 -0
- package/esm/date-range-picker/index.js +15 -0
- package/esm/dialog/dialog-adapter.d.ts +75 -0
- package/esm/dialog/dialog-adapter.js +164 -0
- package/esm/dialog/dialog-constants.d.ts +65 -0
- package/esm/dialog/dialog-constants.js +59 -0
- package/esm/dialog/dialog-foundation.d.ts +102 -0
- package/esm/dialog/dialog-foundation.js +451 -0
- package/esm/dialog/dialog.d.ts +71 -0
- package/esm/dialog/dialog.js +120 -0
- package/esm/dialog/index.d.ts +10 -0
- package/esm/dialog/index.js +14 -0
- package/esm/divider/divider-constants.d.ts +11 -0
- package/esm/divider/divider-constants.js +14 -0
- package/esm/divider/divider.d.ts +19 -0
- package/esm/divider/divider.js +26 -0
- package/esm/divider/index.d.ts +8 -0
- package/esm/divider/index.js +12 -0
- package/esm/drawer/base/base-drawer-adapter.d.ts +24 -0
- package/esm/drawer/base/base-drawer-adapter.js +48 -0
- package/esm/drawer/base/base-drawer-constants.d.ts +27 -0
- package/esm/drawer/base/base-drawer-constants.js +30 -0
- package/esm/drawer/base/base-drawer-foundation.d.ts +32 -0
- package/esm/drawer/base/base-drawer-foundation.js +89 -0
- package/esm/drawer/base/base-drawer.d.ts +30 -0
- package/esm/drawer/base/base-drawer.js +42 -0
- package/esm/drawer/base/index.d.ts +9 -0
- package/esm/drawer/base/index.js +9 -0
- package/esm/drawer/drawer/drawer-constants.d.ts +8 -0
- package/esm/drawer/drawer/drawer-constants.js +10 -0
- package/esm/drawer/drawer/drawer.d.ts +21 -0
- package/esm/drawer/drawer/drawer.js +24 -0
- package/esm/drawer/drawer/index.d.ts +8 -0
- package/esm/drawer/drawer/index.js +12 -0
- package/esm/drawer/index.d.ts +9 -0
- package/esm/drawer/index.js +9 -0
- package/esm/drawer/mini-drawer/index.d.ts +8 -0
- package/esm/drawer/mini-drawer/index.js +12 -0
- package/esm/drawer/mini-drawer/mini-drawer-constants.d.ts +11 -0
- package/esm/drawer/mini-drawer/mini-drawer-constants.js +14 -0
- package/esm/drawer/mini-drawer/mini-drawer.d.ts +17 -0
- package/esm/drawer/mini-drawer/mini-drawer.js +24 -0
- package/esm/drawer/modal-drawer/index.d.ts +10 -0
- package/esm/drawer/modal-drawer/index.js +14 -0
- package/esm/drawer/modal-drawer/modal-drawer-adapter.d.ts +20 -0
- package/esm/drawer/modal-drawer/modal-drawer-adapter.js +30 -0
- package/esm/drawer/modal-drawer/modal-drawer-constants.d.ts +15 -0
- package/esm/drawer/modal-drawer/modal-drawer-constants.js +19 -0
- package/esm/drawer/modal-drawer/modal-drawer-foundation.d.ts +22 -0
- package/esm/drawer/modal-drawer/modal-drawer-foundation.js +52 -0
- package/esm/drawer/modal-drawer/modal-drawer.d.ts +21 -0
- package/esm/drawer/modal-drawer/modal-drawer.js +28 -0
- package/esm/expansion-panel/expansion-panel-adapter.d.ts +33 -0
- package/esm/expansion-panel/expansion-panel-adapter.js +182 -0
- package/esm/expansion-panel/expansion-panel-constants.d.ts +38 -0
- package/esm/expansion-panel/expansion-panel-constants.js +47 -0
- package/esm/expansion-panel/expansion-panel-foundation.d.ts +59 -0
- package/esm/expansion-panel/expansion-panel-foundation.js +151 -0
- package/esm/expansion-panel/expansion-panel.d.ts +60 -0
- package/esm/expansion-panel/expansion-panel.js +81 -0
- package/esm/expansion-panel/index.d.ts +10 -0
- package/esm/expansion-panel/index.js +14 -0
- package/esm/field/field-adapter.d.ts +101 -0
- package/esm/field/field-adapter.js +184 -0
- package/esm/field/field-constants.d.ts +36 -0
- package/esm/field/field-constants.js +36 -0
- package/esm/field/field-foundation.d.ts +65 -0
- package/esm/field/field-foundation.js +328 -0
- package/esm/field/field.d.ts +40 -0
- package/esm/field/field.js +78 -0
- package/esm/file-picker/file-picker-adapter.d.ts +81 -0
- package/esm/file-picker/file-picker-adapter.js +134 -0
- package/esm/file-picker/file-picker-component-delegate.d.ts +23 -0
- package/esm/file-picker/file-picker-component-delegate.js +49 -0
- package/esm/file-picker/file-picker-constants.d.ts +41 -0
- package/esm/file-picker/file-picker-constants.js +44 -0
- package/esm/file-picker/file-picker-foundation.d.ts +66 -0
- package/esm/file-picker/file-picker-foundation.js +226 -0
- package/esm/file-picker/file-picker.d.ts +45 -0
- package/esm/file-picker/file-picker.js +88 -0
- package/esm/file-picker/index.d.ts +11 -0
- package/esm/file-picker/index.js +15 -0
- package/esm/floating-action-button/floating-action-button-component-delegate.d.ts +22 -0
- package/esm/floating-action-button/floating-action-button-component-delegate.js +36 -0
- package/esm/floating-action-button/floating-action-button-constants.d.ts +27 -0
- package/esm/floating-action-button/floating-action-button-constants.js +32 -0
- package/esm/floating-action-button/floating-action-button.d.ts +40 -0
- package/esm/floating-action-button/floating-action-button.js +126 -0
- package/esm/floating-action-button/index.d.ts +9 -0
- package/esm/floating-action-button/index.js +13 -0
- package/esm/floating-label/floating-label-adapter.d.ts +23 -0
- package/esm/floating-label/floating-label-adapter.js +32 -0
- package/esm/floating-label/floating-label-constants.d.ts +13 -0
- package/esm/floating-label/floating-label-constants.js +14 -0
- package/esm/floating-label/floating-label-foundation.d.ts +17 -0
- package/esm/floating-label/floating-label-foundation.js +71 -0
- package/esm/floating-label/floating-label.d.ts +27 -0
- package/esm/floating-label/floating-label.js +34 -0
- package/esm/floating-label/index.d.ts +9 -0
- package/esm/floating-label/index.js +9 -0
- package/esm/icon/icon-adapter.d.ts +23 -0
- package/esm/icon/icon-adapter.js +43 -0
- package/esm/icon/icon-component-delegate.d.ts +15 -0
- package/esm/icon/icon-component-delegate.js +15 -0
- package/esm/icon/icon-constants.d.ts +27 -0
- package/esm/icon/icon-constants.js +31 -0
- package/esm/icon/icon-foundation.d.ts +58 -0
- package/esm/icon/icon-foundation.js +187 -0
- package/esm/icon/icon-registry.d.ts +53 -0
- package/esm/icon/icon-registry.js +94 -0
- package/esm/icon/icon-utils.d.ts +12 -0
- package/esm/icon/icon-utils.js +66 -0
- package/esm/icon/icon.d.ts +46 -0
- package/esm/icon/icon.js +89 -0
- package/esm/icon/index.d.ts +13 -0
- package/esm/icon/index.js +23 -0
- package/esm/icon-button/icon-button-component-delegate.d.ts +31 -0
- package/esm/icon-button/icon-button-component-delegate.js +68 -0
- package/esm/icon-button/icon-button-constants.d.ts +30 -0
- package/esm/icon-button/icon-button-constants.js +43 -0
- package/esm/icon-button/icon-button.d.ts +57 -0
- package/esm/icon-button/icon-button.js +219 -0
- package/esm/icon-button/index.d.ts +9 -0
- package/esm/icon-button/index.js +13 -0
- package/esm/index.d.ts +70 -0
- package/esm/index.js +212 -0
- package/esm/inline-message/index.d.ts +8 -0
- package/esm/inline-message/index.js +12 -0
- package/esm/inline-message/inline-message-constants.d.ts +11 -0
- package/esm/inline-message/inline-message-constants.js +14 -0
- package/esm/inline-message/inline-message.d.ts +16 -0
- package/esm/inline-message/inline-message.js +23 -0
- package/esm/keyboard-shortcut/index.d.ts +11 -0
- package/esm/keyboard-shortcut/index.js +15 -0
- package/esm/keyboard-shortcut/keyboard-shortcut-adapter.d.ts +44 -0
- package/esm/keyboard-shortcut/keyboard-shortcut-adapter.js +79 -0
- package/esm/keyboard-shortcut/keyboard-shortcut-constants.d.ts +29 -0
- package/esm/keyboard-shortcut/keyboard-shortcut-constants.js +44 -0
- package/esm/keyboard-shortcut/keyboard-shortcut-foundation.d.ts +63 -0
- package/esm/keyboard-shortcut/keyboard-shortcut-foundation.js +165 -0
- package/esm/keyboard-shortcut/keyboard-shortcut-utils.d.ts +16 -0
- package/esm/keyboard-shortcut/keyboard-shortcut-utils.js +61 -0
- package/esm/keyboard-shortcut/keyboard-shortcut.d.ts +45 -0
- package/esm/keyboard-shortcut/keyboard-shortcut.js +93 -0
- package/esm/label-value/index.d.ts +11 -0
- package/esm/label-value/index.js +15 -0
- package/esm/label-value/label-value-adapter.d.ts +24 -0
- package/esm/label-value/label-value-adapter.js +47 -0
- package/esm/label-value/label-value-component-delegate.d.ts +29 -0
- package/esm/label-value/label-value-component-delegate.js +54 -0
- package/esm/label-value/label-value-constants.d.ts +27 -0
- package/esm/label-value/label-value-constants.js +30 -0
- package/esm/label-value/label-value-foundation.d.ts +33 -0
- package/esm/label-value/label-value-foundation.js +80 -0
- package/esm/label-value/label-value.d.ts +34 -0
- package/esm/label-value/label-value.js +65 -0
- package/esm/linear-progress/index.d.ts +8 -0
- package/esm/linear-progress/index.js +12 -0
- package/esm/linear-progress/linear-progress-constants.d.ts +18 -0
- package/esm/linear-progress/linear-progress-constants.js +22 -0
- package/esm/linear-progress/linear-progress.d.ts +44 -0
- package/esm/linear-progress/linear-progress.js +143 -0
- package/esm/list/index.d.ts +7 -0
- package/esm/list/index.js +7 -0
- package/esm/list/list/index.d.ts +10 -0
- package/esm/list/list/index.js +14 -0
- package/esm/list/list/list-adapter.d.ts +61 -0
- package/esm/list/list/list-adapter.js +99 -0
- package/esm/list/list/list-constants.d.ts +18 -0
- package/esm/list/list/list-constants.js +22 -0
- package/esm/list/list/list-foundation.d.ts +48 -0
- package/esm/list/list/list-foundation.js +142 -0
- package/esm/list/list/list.d.ts +38 -0
- package/esm/list/list/list.js +77 -0
- package/esm/list/list-item/index.d.ts +10 -0
- package/esm/list/list-item/index.js +14 -0
- package/esm/list/list-item/list-item-adapter.d.ts +101 -0
- package/esm/list/list-item/list-item-adapter.js +175 -0
- package/esm/list/list-item/list-item-constants.d.ts +57 -0
- package/esm/list/list-item/list-item-constants.js +59 -0
- package/esm/list/list-item/list-item-foundation.d.ts +102 -0
- package/esm/list/list-item/list-item-foundation.js +305 -0
- package/esm/list/list-item/list-item.d.ts +72 -0
- package/esm/list/list-item/list-item.js +168 -0
- package/esm/list-dropdown/cascading-list-dropdown-aware-foundation.d.ts +43 -0
- package/esm/list-dropdown/cascading-list-dropdown-aware-foundation.js +62 -0
- package/esm/list-dropdown/index.d.ts +10 -0
- package/esm/list-dropdown/index.js +10 -0
- package/esm/list-dropdown/list-dropdown-adapter.d.ts +64 -0
- package/esm/list-dropdown/list-dropdown-adapter.js +282 -0
- package/esm/list-dropdown/list-dropdown-aware-foundation.d.ts +40 -0
- package/esm/list-dropdown/list-dropdown-aware-foundation.js +62 -0
- package/esm/list-dropdown/list-dropdown-aware.d.ts +34 -0
- package/esm/list-dropdown/list-dropdown-aware.js +54 -0
- package/esm/list-dropdown/list-dropdown-constants.d.ts +101 -0
- package/esm/list-dropdown/list-dropdown-constants.js +39 -0
- package/esm/list-dropdown/list-dropdown-foundation.d.ts +64 -0
- package/esm/list-dropdown/list-dropdown-foundation.js +224 -0
- package/esm/list-dropdown/list-dropdown-utils.d.ts +35 -0
- package/esm/list-dropdown/list-dropdown-utils.js +347 -0
- package/esm/list-dropdown/list-dropdown.d.ts +63 -0
- package/esm/list-dropdown/list-dropdown.js +86 -0
- package/esm/menu/index.d.ts +10 -0
- package/esm/menu/index.js +14 -0
- package/esm/menu/menu-adapter.d.ts +67 -0
- package/esm/menu/menu-adapter.js +202 -0
- package/esm/menu/menu-constants.d.ts +59 -0
- package/esm/menu/menu-constants.js +48 -0
- package/esm/menu/menu-foundation.d.ts +101 -0
- package/esm/menu/menu-foundation.js +514 -0
- package/esm/menu/menu.d.ts +71 -0
- package/esm/menu/menu.js +136 -0
- package/esm/open-icon/index.d.ts +10 -0
- package/esm/open-icon/index.js +14 -0
- package/esm/open-icon/open-icon-adapter.d.ts +18 -0
- package/esm/open-icon/open-icon-adapter.js +27 -0
- package/esm/open-icon/open-icon-constants.d.ts +20 -0
- package/esm/open-icon/open-icon-constants.js +25 -0
- package/esm/open-icon/open-icon-foundation.d.ts +22 -0
- package/esm/open-icon/open-icon-foundation.js +35 -0
- package/esm/open-icon/open-icon.d.ts +29 -0
- package/esm/open-icon/open-icon.js +55 -0
- package/esm/page-state/index.d.ts +8 -0
- package/esm/page-state/index.js +12 -0
- package/esm/page-state/page-state-constants.d.ts +8 -0
- package/esm/page-state/page-state-constants.js +10 -0
- package/esm/page-state/page-state.d.ts +16 -0
- package/esm/page-state/page-state.js +23 -0
- package/esm/paginator/index.d.ts +10 -0
- package/esm/paginator/index.js +14 -0
- package/esm/paginator/paginator-adapter.d.ts +96 -0
- package/esm/paginator/paginator-adapter.js +149 -0
- package/esm/paginator/paginator-constants.d.ts +74 -0
- package/esm/paginator/paginator-constants.js +75 -0
- package/esm/paginator/paginator-foundation.d.ts +132 -0
- package/esm/paginator/paginator-foundation.js +402 -0
- package/esm/paginator/paginator.d.ts +59 -0
- package/esm/paginator/paginator.js +135 -0
- package/esm/popup/index.d.ts +10 -0
- package/esm/popup/index.js +14 -0
- package/esm/popup/popup-adapter.d.ts +43 -0
- package/esm/popup/popup-adapter.js +136 -0
- package/esm/popup/popup-constants.d.ts +54 -0
- package/esm/popup/popup-constants.js +52 -0
- package/esm/popup/popup-foundation.d.ts +68 -0
- package/esm/popup/popup-foundation.js +249 -0
- package/esm/popup/popup.d.ts +49 -0
- package/esm/popup/popup.js +94 -0
- package/esm/product-icon/index.d.ts +10 -0
- package/esm/product-icon/index.js +14 -0
- package/esm/product-icon/product-icon-adapter.d.ts +27 -0
- package/esm/product-icon/product-icon-adapter.js +50 -0
- package/esm/product-icon/product-icon-constants.d.ts +38 -0
- package/esm/product-icon/product-icon-constants.js +46 -0
- package/esm/product-icon/product-icon-foundation.d.ts +40 -0
- package/esm/product-icon/product-icon-foundation.js +116 -0
- package/esm/product-icon/product-icon.d.ts +32 -0
- package/esm/product-icon/product-icon.js +65 -0
- package/esm/profile-card/index.d.ts +10 -0
- package/esm/profile-card/index.js +14 -0
- package/esm/profile-card/profile-card-adapter.d.ts +46 -0
- package/esm/profile-card/profile-card-adapter.js +81 -0
- package/esm/profile-card/profile-card-constants.d.ts +33 -0
- package/esm/profile-card/profile-card-constants.js +39 -0
- package/esm/profile-card/profile-card-foundation.d.ts +48 -0
- package/esm/profile-card/profile-card-foundation.js +108 -0
- package/esm/profile-card/profile-card.d.ts +38 -0
- package/esm/profile-card/profile-card.js +94 -0
- package/esm/quantity-field/index.d.ts +11 -0
- package/esm/quantity-field/index.js +15 -0
- package/esm/quantity-field/quantity-field-adapter.d.ts +77 -0
- package/esm/quantity-field/quantity-field-adapter.js +225 -0
- package/esm/quantity-field/quantity-field-component-delegate.d.ts +44 -0
- package/esm/quantity-field/quantity-field-component-delegate.js +129 -0
- package/esm/quantity-field/quantity-field-constants.d.ts +35 -0
- package/esm/quantity-field/quantity-field-constants.js +41 -0
- package/esm/quantity-field/quantity-field-foundation.d.ts +36 -0
- package/esm/quantity-field/quantity-field-foundation.js +100 -0
- package/esm/quantity-field/quantity-field.d.ts +29 -0
- package/esm/quantity-field/quantity-field.js +89 -0
- package/esm/radio/index.d.ts +8 -0
- package/esm/radio/index.js +12 -0
- package/esm/radio/radio-adapter.d.ts +70 -0
- package/esm/radio/radio-adapter.js +250 -0
- package/esm/radio/radio-constants.d.ts +30 -0
- package/esm/radio/radio-constants.js +36 -0
- package/esm/radio/radio-foundation.d.ts +31 -0
- package/esm/radio/radio-foundation.js +80 -0
- package/esm/radio/radio.d.ts +31 -0
- package/esm/radio/radio.js +73 -0
- package/esm/ripple/forge-ripple.d.ts +11 -0
- package/esm/ripple/forge-ripple.js +10 -0
- package/esm/ripple/index.d.ts +11 -0
- package/esm/ripple/index.js +15 -0
- package/esm/ripple/ripple-adapter.d.ts +23 -0
- package/esm/ripple/ripple-adapter.js +47 -0
- package/esm/ripple/ripple-constants.d.ts +15 -0
- package/esm/ripple/ripple-constants.js +19 -0
- package/esm/ripple/ripple-foundation.d.ts +30 -0
- package/esm/ripple/ripple-foundation.js +48 -0
- package/esm/ripple/ripple.d.ts +31 -0
- package/esm/ripple/ripple.js +59 -0
- package/esm/scaffold/index.d.ts +8 -0
- package/esm/scaffold/index.js +12 -0
- package/esm/scaffold/scaffold-constants.d.ts +8 -0
- package/esm/scaffold/scaffold-constants.js +10 -0
- package/esm/scaffold/scaffold.d.ts +19 -0
- package/esm/scaffold/scaffold.js +26 -0
- package/esm/select/core/base-select-adapter.d.ts +68 -0
- package/esm/select/core/base-select-adapter.js +167 -0
- package/esm/select/core/base-select-constants.d.ts +28 -0
- package/esm/select/core/base-select-constants.js +22 -0
- package/esm/select/core/base-select-foundation.d.ts +137 -0
- package/esm/select/core/base-select-foundation.js +609 -0
- package/esm/select/core/base-select.d.ts +51 -0
- package/esm/select/core/base-select.js +67 -0
- package/esm/select/core/index.d.ts +10 -0
- package/esm/select/core/index.js +10 -0
- package/esm/select/core/select-utils.d.ts +18 -0
- package/esm/select/core/select-utils.js +27 -0
- package/esm/select/index.d.ts +20 -0
- package/esm/select/index.js +11 -0
- package/esm/select/option/index.d.ts +10 -0
- package/esm/select/option/index.js +14 -0
- package/esm/select/option/option-adapter.d.ts +17 -0
- package/esm/select/option/option-adapter.js +14 -0
- package/esm/select/option/option-constants.d.ts +21 -0
- package/esm/select/option/option-constants.js +24 -0
- package/esm/select/option/option-foundation.d.ts +67 -0
- package/esm/select/option/option-foundation.js +149 -0
- package/esm/select/option/option.d.ts +51 -0
- package/esm/select/option/option.js +122 -0
- package/esm/select/option-group/index.d.ts +8 -0
- package/esm/select/option-group/index.js +12 -0
- package/esm/select/option-group/option-group-constants.d.ts +11 -0
- package/esm/select/option-group/option-group-constants.js +14 -0
- package/esm/select/option-group/option-group.d.ts +26 -0
- package/esm/select/option-group/option-group.js +45 -0
- package/esm/select/select/index.d.ts +10 -0
- package/esm/select/select/index.js +14 -0
- package/esm/select/select/select-adapter.d.ts +85 -0
- package/esm/select/select/select-adapter.js +159 -0
- package/esm/select/select/select-constants.d.ts +37 -0
- package/esm/select/select/select-constants.js +42 -0
- package/esm/select/select/select-foundation.d.ts +96 -0
- package/esm/select/select/select-foundation.js +338 -0
- package/esm/select/select/select.d.ts +54 -0
- package/esm/select/select/select.js +129 -0
- package/esm/select/select-component-delegate.d.ts +30 -0
- package/esm/select/select-component-delegate.js +62 -0
- package/esm/select/select-dropdown/index.d.ts +10 -0
- package/esm/select/select-dropdown/index.js +14 -0
- package/esm/select/select-dropdown/select-dropdown-adapter.d.ts +36 -0
- package/esm/select/select-dropdown/select-dropdown-adapter.js +123 -0
- package/esm/select/select-dropdown/select-dropdown-constants.d.ts +16 -0
- package/esm/select/select-dropdown/select-dropdown-constants.js +21 -0
- package/esm/select/select-dropdown/select-dropdown-foundation.d.ts +35 -0
- package/esm/select/select-dropdown/select-dropdown-foundation.js +88 -0
- package/esm/select/select-dropdown/select-dropdown.d.ts +31 -0
- package/esm/select/select-dropdown/select-dropdown.js +83 -0
- package/esm/skeleton/index.d.ts +8 -0
- package/esm/skeleton/index.js +12 -0
- package/esm/skeleton/skeleton-constants.d.ts +8 -0
- package/esm/skeleton/skeleton-constants.js +10 -0
- package/esm/skeleton/skeleton.d.ts +16 -0
- package/esm/skeleton/skeleton.js +23 -0
- package/esm/slider/index.d.ts +9 -0
- package/esm/slider/index.js +13 -0
- package/esm/slider/slider-component-delegate.d.ts +27 -0
- package/esm/slider/slider-component-delegate.js +42 -0
- package/esm/slider/slider-constants.d.ts +41 -0
- package/esm/slider/slider-constants.js +38 -0
- package/esm/slider/slider.d.ts +92 -0
- package/esm/slider/slider.js +298 -0
- package/esm/stepper/core/stepper-utils.d.ts +51 -0
- package/esm/stepper/core/stepper-utils.js +139 -0
- package/esm/stepper/index.d.ts +7 -0
- package/esm/stepper/index.js +7 -0
- package/esm/stepper/step/index.d.ts +10 -0
- package/esm/stepper/step/index.js +14 -0
- package/esm/stepper/step/step-adapter.d.ts +76 -0
- package/esm/stepper/step/step-adapter.js +161 -0
- package/esm/stepper/step/step-constants.d.ts +76 -0
- package/esm/stepper/step/step-constants.js +82 -0
- package/esm/stepper/step/step-foundation.d.ts +78 -0
- package/esm/stepper/step/step-foundation.js +248 -0
- package/esm/stepper/step/step.d.ts +49 -0
- package/esm/stepper/step/step.js +127 -0
- package/esm/stepper/stepper/index.d.ts +10 -0
- package/esm/stepper/stepper/index.js +14 -0
- package/esm/stepper/stepper/stepper-adapter.d.ts +67 -0
- package/esm/stepper/stepper/stepper-adapter.js +148 -0
- package/esm/stepper/stepper/stepper-constants.d.ts +77 -0
- package/esm/stepper/stepper/stepper-constants.js +79 -0
- package/esm/stepper/stepper/stepper-foundation.d.ts +76 -0
- package/esm/stepper/stepper/stepper-foundation.js +292 -0
- package/esm/stepper/stepper/stepper.d.ts +44 -0
- package/esm/stepper/stepper/stepper.js +95 -0
- package/esm/switch/index.d.ts +9 -0
- package/esm/switch/index.js +13 -0
- package/esm/switch/switch-component-delegate.d.ts +32 -0
- package/esm/switch/switch-component-delegate.js +70 -0
- package/esm/switch/switch-constants.d.ts +26 -0
- package/esm/switch/switch-constants.js +31 -0
- package/esm/switch/switch.d.ts +53 -0
- package/esm/switch/switch.js +155 -0
- package/esm/table/index.d.ts +12 -0
- package/esm/table/index.js +16 -0
- package/esm/table/multi-sort-manager.d.ts +18 -0
- package/esm/table/multi-sort-manager.js +67 -0
- package/esm/table/table-adapter.d.ts +80 -0
- package/esm/table/table-adapter.js +120 -0
- package/esm/table/table-constants.d.ts +104 -0
- package/esm/table/table-constants.js +115 -0
- package/esm/table/table-foundation.d.ts +271 -0
- package/esm/table/table-foundation.js +918 -0
- package/esm/table/table-row.d.ts +13 -0
- package/esm/table/table-row.js +14 -0
- package/esm/table/table-utils.d.ts +389 -0
- package/esm/table/table-utils.js +1415 -0
- package/esm/table/table.d.ts +182 -0
- package/esm/table/table.js +290 -0
- package/esm/table/types.d.ts +157 -0
- package/esm/table/types.js +26 -0
- package/esm/tabs/index.d.ts +7 -0
- package/esm/tabs/index.js +7 -0
- package/esm/tabs/tab/index.d.ts +10 -0
- package/esm/tabs/tab/index.js +14 -0
- package/esm/tabs/tab/tab-adapter.d.ts +54 -0
- package/esm/tabs/tab/tab-adapter.js +103 -0
- package/esm/tabs/tab/tab-constants.d.ts +32 -0
- package/esm/tabs/tab/tab-constants.js +32 -0
- package/esm/tabs/tab/tab-foundation.d.ts +43 -0
- package/esm/tabs/tab/tab-foundation.js +98 -0
- package/esm/tabs/tab/tab.d.ts +42 -0
- package/esm/tabs/tab/tab.js +79 -0
- package/esm/tabs/tab-bar/index.d.ts +10 -0
- package/esm/tabs/tab-bar/index.js +14 -0
- package/esm/tabs/tab-bar/tab-bar-adapter.d.ts +98 -0
- package/esm/tabs/tab-bar/tab-bar-adapter.js +223 -0
- package/esm/tabs/tab-bar/tab-bar-constants.d.ts +64 -0
- package/esm/tabs/tab-bar/tab-bar-constants.js +79 -0
- package/esm/tabs/tab-bar/tab-bar-foundation.d.ts +96 -0
- package/esm/tabs/tab-bar/tab-bar-foundation.js +385 -0
- package/esm/tabs/tab-bar/tab-bar.d.ts +64 -0
- package/esm/tabs/tab-bar/tab-bar.js +123 -0
- package/esm/text-field/index.d.ts +11 -0
- package/esm/text-field/index.js +15 -0
- package/esm/text-field/text-field-adapter.d.ts +34 -0
- package/esm/text-field/text-field-adapter.js +109 -0
- package/esm/text-field/text-field-component-delegate.d.ts +45 -0
- package/esm/text-field/text-field-component-delegate.js +125 -0
- package/esm/text-field/text-field-constants.d.ts +21 -0
- package/esm/text-field/text-field-constants.js +25 -0
- package/esm/text-field/text-field-foundation.d.ts +14 -0
- package/esm/text-field/text-field-foundation.js +16 -0
- package/esm/text-field/text-field.d.ts +17 -0
- package/esm/text-field/text-field.js +26 -0
- package/esm/theme/color-constants.d.ts +313 -0
- package/esm/theme/color-constants.js +363 -0
- package/esm/theme/index.d.ts +7 -0
- package/esm/theme/index.js +7 -0
- package/esm/theme/theme-utils.d.ts +9 -0
- package/esm/theme/theme-utils.js +68 -0
- package/esm/time-picker/index.d.ts +12 -0
- package/esm/time-picker/index.js +16 -0
- package/esm/time-picker/time-picker-adapter.d.ts +80 -0
- package/esm/time-picker/time-picker-adapter.js +208 -0
- package/esm/time-picker/time-picker-component-delegate.d.ts +33 -0
- package/esm/time-picker/time-picker-component-delegate.js +68 -0
- package/esm/time-picker/time-picker-constants.d.ts +59 -0
- package/esm/time-picker/time-picker-constants.js +48 -0
- package/esm/time-picker/time-picker-foundation.d.ts +146 -0
- package/esm/time-picker/time-picker-foundation.js +814 -0
- package/esm/time-picker/time-picker-utils.d.ts +25 -0
- package/esm/time-picker/time-picker-utils.js +122 -0
- package/esm/time-picker/time-picker.d.ts +76 -0
- package/esm/time-picker/time-picker.js +198 -0
- package/esm/toast/index.d.ts +10 -0
- package/esm/toast/index.js +14 -0
- package/esm/toast/toast-adapter.d.ts +83 -0
- package/esm/toast/toast-adapter.js +146 -0
- package/esm/toast/toast-constants.d.ts +58 -0
- package/esm/toast/toast-constants.js +63 -0
- package/esm/toast/toast-foundation.d.ts +67 -0
- package/esm/toast/toast-foundation.js +150 -0
- package/esm/toast/toast.d.ts +49 -0
- package/esm/toast/toast.js +93 -0
- package/esm/toolbar/index.d.ts +8 -0
- package/esm/toolbar/index.js +12 -0
- package/esm/toolbar/toolbar-constants.d.ts +25 -0
- package/esm/toolbar/toolbar-constants.js +30 -0
- package/esm/toolbar/toolbar.d.ts +26 -0
- package/esm/toolbar/toolbar.js +58 -0
- package/esm/tooltip/index.d.ts +11 -0
- package/esm/tooltip/index.js +15 -0
- package/esm/tooltip/tooltip-adapter.d.ts +74 -0
- package/esm/tooltip/tooltip-adapter.js +127 -0
- package/esm/tooltip/tooltip-constants.d.ts +35 -0
- package/esm/tooltip/tooltip-constants.js +41 -0
- package/esm/tooltip/tooltip-foundation.d.ts +104 -0
- package/esm/tooltip/tooltip-foundation.js +251 -0
- package/esm/tooltip/tooltip-utils.d.ts +13 -0
- package/esm/tooltip/tooltip-utils.js +53 -0
- package/esm/tooltip/tooltip.d.ts +47 -0
- package/esm/tooltip/tooltip.js +80 -0
- package/esm/utils/color-utils.d.ts +14 -0
- package/esm/utils/color-utils.js +35 -0
- package/esm/utils/index.d.ts +6 -0
- package/esm/utils/index.js +6 -0
- package/esm/view-switcher/index.d.ts +11 -0
- package/esm/view-switcher/index.js +15 -0
- package/esm/view-switcher/view/index.d.ts +8 -0
- package/esm/view-switcher/view/index.js +12 -0
- package/esm/view-switcher/view/view-constants.d.ts +8 -0
- package/esm/view-switcher/view/view-constants.js +10 -0
- package/esm/view-switcher/view/view.d.ts +16 -0
- package/esm/view-switcher/view/view.js +23 -0
- package/esm/view-switcher/view-switcher-adapter.d.ts +93 -0
- package/esm/view-switcher/view-switcher-adapter.js +281 -0
- package/esm/view-switcher/view-switcher-constants.d.ts +38 -0
- package/esm/view-switcher/view-switcher-constants.js +43 -0
- package/esm/view-switcher/view-switcher-foundation.d.ts +38 -0
- package/esm/view-switcher/view-switcher-foundation.js +122 -0
- package/esm/view-switcher/view-switcher.d.ts +40 -0
- package/esm/view-switcher/view-switcher.js +73 -0
- package/package.json +22 -0
- package/styles/app-bar/_mixins.scss +242 -0
- package/styles/app-bar/_variables.scss +34 -0
- package/styles/app-bar/app-bar.scss +22 -0
- package/styles/app-bar/search/_mixins.scss +238 -0
- package/styles/app-bar/search/_variables.scss +18 -0
- package/styles/app-bar/search/app-bar-search.scss +16 -0
- package/styles/autocomplete/autocomplete.scss +12 -0
- package/styles/avatar/_mixins.scss +46 -0
- package/styles/avatar/_variables.scss +16 -0
- package/styles/avatar/avatar.scss +16 -0
- package/styles/backdrop/_mixins.scss +31 -0
- package/styles/backdrop/_variables.scss +12 -0
- package/styles/backdrop/backdrop.scss +32 -0
- package/styles/badge/_mixins.scss +121 -0
- package/styles/badge/_variables.scss +87 -0
- package/styles/badge/badge.scss +40 -0
- package/styles/banner/_mixins.scss +219 -0
- package/styles/banner/_variables.scss +88 -0
- package/styles/banner/banner.scss +24 -0
- package/styles/bottom-sheet/_mixins.scss +98 -0
- package/styles/bottom-sheet/_variables.scss +7 -0
- package/styles/bottom-sheet/bottom-sheet.scss +21 -0
- package/styles/busy-indicator/_mixins.scss +184 -0
- package/styles/busy-indicator/_variables.scss +9 -0
- package/styles/busy-indicator/busy-indicator.scss +23 -0
- package/styles/busy-indicator/forge-busy-indicator.scss +8 -0
- package/styles/button/_button-base.scss +183 -0
- package/styles/button/_button-filled-theme.scss +60 -0
- package/styles/button/_button-filled.scss +71 -0
- package/styles/button/_button-outlined-theme.scss +175 -0
- package/styles/button/_button-outlined.scss +76 -0
- package/styles/button/_button-protected-theme.scss +60 -0
- package/styles/button/_button-protected.scss +88 -0
- package/styles/button/_button-ripple.scss +69 -0
- package/styles/button/_button-shared-theme.scss +447 -0
- package/styles/button/_button-text-theme.scss +60 -0
- package/styles/button/_button-text.scss +57 -0
- package/styles/button/_button.mixins.scss +148 -0
- package/styles/button/_mixins.scss +183 -0
- package/styles/button/forge-button.scss +9 -0
- package/styles/button-toggle/button-toggle/_mixins.scss +98 -0
- package/styles/button-toggle/button-toggle/button-toggle.scss +35 -0
- package/styles/button-toggle/button-toggle-group/_mixins.scss +79 -0
- package/styles/button-toggle/button-toggle-group/button-toggle-group.scss +16 -0
- package/styles/calendar/_mixins.scss +440 -0
- package/styles/calendar/_variables.scss +79 -0
- package/styles/calendar/calendar-menu/_mixins.scss +419 -0
- package/styles/calendar/calendar-menu/_variables.scss +10 -0
- package/styles/calendar/calendar-menu/calendar-menu.scss +22 -0
- package/styles/calendar/calendar.scss +26 -0
- package/styles/card/_mixins.scss +45 -0
- package/styles/card/_variables.scss +9 -0
- package/styles/card/card.scss +16 -0
- package/styles/checkbox/_checkbox-custom-properties.scss +11 -0
- package/styles/checkbox/_checkbox-theme.scss +577 -0
- package/styles/checkbox/_checkbox.mixins.scss +595 -0
- package/styles/checkbox/checkbox.scss +19 -0
- package/styles/chip-field/_base.scss +298 -0
- package/styles/chip-field/_core.scss +25 -0
- package/styles/chip-field/_mixins.scss +26 -0
- package/styles/chip-field/_selector.scss +229 -0
- package/styles/chip-field/_variables.scss +76 -0
- package/styles/chip-field/chip-field.scss +16 -0
- package/styles/chips/chip/_mixins.scss +277 -0
- package/styles/chips/chip/_variables.scss +7 -0
- package/styles/chips/chip/chip.scss +22 -0
- package/styles/chips/chip-set/_mixins.scss +40 -0
- package/styles/chips/chip-set/_variables.scss +6 -0
- package/styles/chips/chip-set/chip-set.scss +16 -0
- package/styles/circular-progress/_keyframes.scss +185 -0
- package/styles/circular-progress/_mixins.scss +320 -0
- package/styles/circular-progress/_variables.scss +50 -0
- package/styles/circular-progress/circular-progress.scss +9 -0
- package/styles/color-picker/_mixins.scss +231 -0
- package/styles/color-picker/_variables.scss +6 -0
- package/styles/color-picker/color-picker.scss +21 -0
- package/styles/date-picker/date-picker.scss +12 -0
- package/styles/date-range-picker/date-range-picker.scss +12 -0
- package/styles/dialog/_mixins.scss +199 -0
- package/styles/dialog/_variables.scss +22 -0
- package/styles/dialog/dialog.scss +16 -0
- package/styles/dialog/forge-dialog-utils.scss +31 -0
- package/styles/dialog/forge-dialog.scss +8 -0
- package/styles/divider/_mixins.scss +47 -0
- package/styles/divider/_variables.scss +7 -0
- package/styles/divider/divider.scss +31 -0
- package/styles/drawer/base/_mixins.scss +137 -0
- package/styles/drawer/base/_variables.scss +11 -0
- package/styles/drawer/drawer/_mixins.scss +10 -0
- package/styles/drawer/drawer/_variables.scss +12 -0
- package/styles/drawer/drawer/drawer.scss +25 -0
- package/styles/drawer/mini-drawer/_mixins.scss +66 -0
- package/styles/drawer/mini-drawer/_variables.scss +7 -0
- package/styles/drawer/mini-drawer/mini-drawer.scss +40 -0
- package/styles/drawer/modal-drawer/_mixins.scss +69 -0
- package/styles/drawer/modal-drawer/modal-drawer.scss +8 -0
- package/styles/expansion-panel/_mixins.scss +87 -0
- package/styles/expansion-panel/expansion-panel.scss +16 -0
- package/styles/expansion-panel/forge-expansion-panel.scss +16 -0
- package/styles/field/_base.scss +622 -0
- package/styles/field/_core.scss +61 -0
- package/styles/field/_selector.scss +560 -0
- package/styles/field/_utils.scss +48 -0
- package/styles/field/_variables.scss +126 -0
- package/styles/file-picker/_mixins.scss +153 -0
- package/styles/file-picker/_variables.scss +8 -0
- package/styles/file-picker/file-picker.scss +16 -0
- package/styles/floating-action-button/_extended-fab-theme.scss +238 -0
- package/styles/floating-action-button/_fab-custom-properties.scss +29 -0
- package/styles/floating-action-button/_fab-theme.scss +541 -0
- package/styles/floating-action-button/_fab.mixins.scss +351 -0
- package/styles/floating-action-button/forge-floating-action-button.scss +16 -0
- package/styles/floating-label/_mixins.scss +291 -0
- package/styles/floating-label/_variables.scss +15 -0
- package/styles/floating-label/forge-floating-label.scss +8 -0
- package/styles/forge-core.scss +14 -0
- package/styles/forge-dark.scss +10 -0
- package/styles/forge.scss +26 -0
- package/styles/form-field/_mixins.scss +71 -0
- package/styles/form-field/forge-form-field.scss +8 -0
- package/styles/icon/_mixins.scss +37 -0
- package/styles/icon/_variables.scss +10 -0
- package/styles/icon/icon.scss +26 -0
- package/styles/icon-button/_mixins.scss +345 -0
- package/styles/icon-button/_variables.scss +42 -0
- package/styles/icon-button/forge-icon-button.scss +8 -0
- package/styles/inline-message/_mixins.scss +82 -0
- package/styles/inline-message/_variables.scss +67 -0
- package/styles/inline-message/inline-message.scss +18 -0
- package/styles/label-value/_base.scss +252 -0
- package/styles/label-value/_core.scss +15 -0
- package/styles/label-value/_mixins.scss +15 -0
- package/styles/label-value/_selector.scss +167 -0
- package/styles/label-value/_variables.scss +37 -0
- package/styles/label-value/label-value.scss +17 -0
- package/styles/linear-progress/_mixins.scss +11 -0
- package/styles/linear-progress/_variables.scss +15 -0
- package/styles/linear-progress/linear-progress.scss +40 -0
- package/styles/list/list/_mixins.scss +45 -0
- package/styles/list/list/list.scss +16 -0
- package/styles/list/list-item/_mixins.scss +392 -0
- package/styles/list/list-item/_variables.scss +25 -0
- package/styles/list/list-item/list-item.scss +30 -0
- package/styles/menu/menu.scss +12 -0
- package/styles/open-icon/_mixins.scss +39 -0
- package/styles/open-icon/_variables.scss +8 -0
- package/styles/open-icon/open-icon.scss +16 -0
- package/styles/page-state/_mixins.scss +123 -0
- package/styles/page-state/_variables.scss +9 -0
- package/styles/page-state/page-state.scss +17 -0
- package/styles/paginator/_mixins.scss +136 -0
- package/styles/paginator/_variables.scss +6 -0
- package/styles/paginator/paginator.scss +21 -0
- package/styles/popup/_mixins.scss +86 -0
- package/styles/popup/_variables.scss +7 -0
- package/styles/popup/forge-popup.scss +8 -0
- package/styles/popup/popup.scss +16 -0
- package/styles/product-icon/_mixins.scss +49 -0
- package/styles/product-icon/_variables.scss +7 -0
- package/styles/product-icon/product-icon.scss +16 -0
- package/styles/profile-card/_mixins.scss +83 -0
- package/styles/profile-card/profile-card.scss +22 -0
- package/styles/quantity-field/_mixins.scss +116 -0
- package/styles/quantity-field/forge-quantity-field.scss +18 -0
- package/styles/quantity-field/quantity-field.scss +16 -0
- package/styles/radio/_mixins.scss +309 -0
- package/styles/radio/_radio-theme.scss +314 -0
- package/styles/radio/radio.scss +19 -0
- package/styles/ripple/forge-ripple.scss +17 -0
- package/styles/scaffold/_mixins.scss +194 -0
- package/styles/scaffold/forge-scaffold.scss +43 -0
- package/styles/scaffold/scaffold.scss +21 -0
- package/styles/select/select/_base.scss +84 -0
- package/styles/select/select/_core.scss +23 -0
- package/styles/select/select/_mixins.scss +25 -0
- package/styles/select/select/_selector.scss +88 -0
- package/styles/select/select/_variables.scss +16 -0
- package/styles/select/select/select.scss +17 -0
- package/styles/select/select-dropdown/select-dropdown.scss +8 -0
- package/styles/skeleton/_mixins.scss +132 -0
- package/styles/skeleton/_variables.scss +45 -0
- package/styles/skeleton/skeleton.scss +18 -0
- package/styles/slider/slider.scss +33 -0
- package/styles/stepper/step/_mixins.scss +416 -0
- package/styles/stepper/step/_variables.scss +21 -0
- package/styles/stepper/step/step.scss +164 -0
- package/styles/stepper/stepper/_mixins.scss +113 -0
- package/styles/stepper/stepper/stepper.scss +22 -0
- package/styles/switch/_switch-mixins.scss +301 -0
- package/styles/switch/_switch-theme.scss +701 -0
- package/styles/switch/switch.scss +80 -0
- package/styles/table/_mixins.scss +527 -0
- package/styles/table/_variables.scss +57 -0
- package/styles/table/forge-table.scss +12 -0
- package/styles/tabs/tab/_mixins.scss +165 -0
- package/styles/tabs/tab/_variables.scss +9 -0
- package/styles/tabs/tab/tab.scss +30 -0
- package/styles/tabs/tab-bar/_mixins.scss +78 -0
- package/styles/tabs/tab-bar/tab-bar.scss +19 -0
- package/styles/text-field/_base.scss +76 -0
- package/styles/text-field/_core.scss +19 -0
- package/styles/text-field/_mixins.scss +28 -0
- package/styles/text-field/_selector.scss +57 -0
- package/styles/text-field/_variables.scss +20 -0
- package/styles/text-field/text-field.scss +17 -0
- package/styles/theme/_custom-properties.scss +311 -0
- package/styles/theme/_icon-mixins.scss +62 -0
- package/styles/theme/_index.scss +7 -0
- package/styles/theme/_keys.scss +477 -0
- package/styles/theme/_theme-dark.scss +47 -0
- package/styles/theme/_theme-utils.scss +23 -0
- package/styles/theme/_theme-values.scss +244 -0
- package/styles/theme/_theme.scss +353 -0
- package/styles/theme/forge-material-icons.scss +19 -0
- package/styles/theme/forge-theme.scss +9 -0
- package/styles/time-picker/time-picker.scss +12 -0
- package/styles/toast/_mixins.scss +242 -0
- package/styles/toast/_variables.scss +52 -0
- package/styles/toast/toast.scss +18 -0
- package/styles/toolbar/_mixins.scss +79 -0
- package/styles/toolbar/_variables.scss +10 -0
- package/styles/toolbar/toolbar.scss +28 -0
- package/styles/tooltip/_mixins.scss +98 -0
- package/styles/tooltip/_variables.scss +18 -0
- package/styles/tooltip/forge-tooltip.scss +12 -0
- package/styles/typography/_index.scss +7 -0
- package/styles/typography/_mixins.scss +93 -0
- package/styles/typography/_variables.scss +100 -0
- package/styles/typography/forge-form.scss +67 -0
- package/styles/typography/forge-typography.scss +9 -0
- package/styles/utils/_functions-grid.scss +8 -0
- package/styles/utils/_mixins-animation.scss +37 -0
- package/styles/utils/_mixins-core.scss +18 -0
- package/styles/utils/_mixins-flex.scss +53 -0
- package/styles/utils/_mixins-grid.scss +29 -0
- package/styles/utils/_mixins-media.scss +38 -0
- package/styles/utils/_mixins.scss +45 -0
- package/styles/utils/_variables-flex.scss +30 -0
- package/styles/utils/_variables-grid.scss +9 -0
- package/styles/utils/_variables-media.scss +11 -0
- package/styles/utils/forge-flex.scss +30 -0
- package/styles/utils/forge-grid.scss +54 -0
- package/styles/utils/forge-utils.scss +45 -0
- package/styles/view-switcher/_mixins.scss +49 -0
- package/styles/view-switcher/_variables.scss +6 -0
- package/styles/view-switcher/view/view.scss +12 -0
- package/styles/view-switcher/view-switcher.scss +32 -0
|
@@ -0,0 +1,338 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022 Tyler Technologies, Inc.
|
|
4
|
+
* License: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { isDefined, getEventPath } from '@tylertech/forge-core';
|
|
7
|
+
import { BaseSelectFoundation } from '../core';
|
|
8
|
+
import { SELECT_CONSTANTS } from './select-constants';
|
|
9
|
+
import { FIELD_CONSTANTS } from '../../field/field-constants';
|
|
10
|
+
/**
|
|
11
|
+
* The foundation class behind the `<forge-select>` component.
|
|
12
|
+
*/
|
|
13
|
+
export class SelectFoundation extends BaseSelectFoundation {
|
|
14
|
+
constructor(adapter) {
|
|
15
|
+
super(adapter);
|
|
16
|
+
this._shape = 'default';
|
|
17
|
+
this._label = '';
|
|
18
|
+
this._disabled = false;
|
|
19
|
+
this._invalid = false;
|
|
20
|
+
this._required = false;
|
|
21
|
+
this._floatLabelType = 'auto';
|
|
22
|
+
this._density = 'default';
|
|
23
|
+
this._isInitialized = false;
|
|
24
|
+
this._leadingChangeListener = evt => this._onLeadingSlotChanged(evt);
|
|
25
|
+
this._addonEndChangeListener = evt => this._onAddonEndSlotChanged(evt);
|
|
26
|
+
this._targetWidthCallback = () => this._adapter.getTargetWidth();
|
|
27
|
+
this._mousedownListener = evt => this._onMouseDown(evt);
|
|
28
|
+
}
|
|
29
|
+
initialize() {
|
|
30
|
+
super.initialize();
|
|
31
|
+
super.initializeTarget();
|
|
32
|
+
this._initializeLabel();
|
|
33
|
+
this._initializeAccessibility();
|
|
34
|
+
this._adapter.setPlaceholderText(this._placeholder);
|
|
35
|
+
this._applyDensity();
|
|
36
|
+
this._setShapeType();
|
|
37
|
+
this._detectLeadingElement();
|
|
38
|
+
this._detectAddonEndContent();
|
|
39
|
+
this._adapter.addMouseDownListener(this._mousedownListener);
|
|
40
|
+
this._adapter.setLeadingListener(this._leadingChangeListener);
|
|
41
|
+
this._adapter.setAddonEndListener(this._addonEndChangeListener);
|
|
42
|
+
if (this._disabled) {
|
|
43
|
+
this._adapter.setDisabled(true);
|
|
44
|
+
}
|
|
45
|
+
if (this._invalid) {
|
|
46
|
+
this._adapter.setInvalid(true);
|
|
47
|
+
}
|
|
48
|
+
this._isInitialized = true;
|
|
49
|
+
}
|
|
50
|
+
disconnect() {
|
|
51
|
+
super.disconnect();
|
|
52
|
+
this._adapter.removeMouseDownListener(this._mousedownListener);
|
|
53
|
+
this._adapter.removeLeadingListener(this._leadingChangeListener);
|
|
54
|
+
this._adapter.removeAddonEndListener(this._leadingChangeListener);
|
|
55
|
+
if (this._floatingLabelInstance) {
|
|
56
|
+
this._floatingLabelInstance.destroy();
|
|
57
|
+
this._floatingLabelInstance = undefined;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
_initializeLabel() {
|
|
61
|
+
this._adapter.initializeLabel();
|
|
62
|
+
this._updateLabel();
|
|
63
|
+
this._floatingLabelInstance = this._adapter.initializeFloatingLabel();
|
|
64
|
+
if (this._floatLabelType === 'always') {
|
|
65
|
+
this._floatLabel(true);
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
const hasText = !!this._getSelectedText();
|
|
69
|
+
const hasPlaceholder = !!this._placeholder;
|
|
70
|
+
this._floatLabel(hasText || hasPlaceholder);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
_destroyLabel() {
|
|
74
|
+
if (this._floatingLabelInstance) {
|
|
75
|
+
this._floatingLabelInstance.destroy();
|
|
76
|
+
this._floatingLabelInstance = undefined;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
_initializeValue() {
|
|
80
|
+
super._initializeValue();
|
|
81
|
+
if (this._selectedValues.length) {
|
|
82
|
+
this._floatLabel(true);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
_initializeAccessibility() {
|
|
86
|
+
this._adapter.setMultiple(this._multiple);
|
|
87
|
+
if (this._required) {
|
|
88
|
+
this._adapter.setHostAttribute('aria-required', 'true');
|
|
89
|
+
}
|
|
90
|
+
if (this._disabled) {
|
|
91
|
+
this._adapter.setHostAttribute('aria-disabled', 'true');
|
|
92
|
+
}
|
|
93
|
+
if (this._invalid) {
|
|
94
|
+
this._adapter.setHostAttribute('aria-invalid', 'true');
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
_onMouseDown(evt) {
|
|
98
|
+
const isElementWithinSelf = this._adapter.isWithinSelf(evt.target);
|
|
99
|
+
if (isElementWithinSelf) {
|
|
100
|
+
evt.preventDefault();
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
/** Called when the `slotchange` event fires on the "leading" slot element. */
|
|
104
|
+
_onLeadingSlotChanged(evt) {
|
|
105
|
+
this._detectLeadingElement();
|
|
106
|
+
}
|
|
107
|
+
/** Called when the `slotchange` event fires on the "addon-end" slot element. */
|
|
108
|
+
_onAddonEndSlotChanged(evt) {
|
|
109
|
+
this._detectAddonEndContent();
|
|
110
|
+
}
|
|
111
|
+
/** Updates the component state based on the existance of elements within the "leading" slot. */
|
|
112
|
+
_detectLeadingElement() {
|
|
113
|
+
if (this._adapter.hasLeadingElement()) {
|
|
114
|
+
this._adapter.addRootClass(FIELD_CONSTANTS.classes.LEADING);
|
|
115
|
+
}
|
|
116
|
+
else {
|
|
117
|
+
this._adapter.removeRootClass(FIELD_CONSTANTS.classes.LEADING);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
_detectAddonEndContent() {
|
|
121
|
+
if (this._adapter.hasAddonEndNodes()) {
|
|
122
|
+
this._adapter.addRootClass(FIELD_CONSTANTS.classes.ADDON_END);
|
|
123
|
+
}
|
|
124
|
+
else {
|
|
125
|
+
this._adapter.removeRootClass(FIELD_CONSTANTS.classes.ADDON_END);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
_onClick(evt) {
|
|
129
|
+
if (this._disabled) {
|
|
130
|
+
return;
|
|
131
|
+
}
|
|
132
|
+
// We ignore clicks events that originate from without our addon-end container
|
|
133
|
+
const composedPath = getEventPath(evt);
|
|
134
|
+
if (composedPath.find(el => el.classList && el.classList.contains(FIELD_CONSTANTS.classes.ADDON_END_CONTAINER))) {
|
|
135
|
+
return;
|
|
136
|
+
}
|
|
137
|
+
this.setFocus();
|
|
138
|
+
super._onClick(evt);
|
|
139
|
+
}
|
|
140
|
+
/** Handles receiving focus on the selected text element. */
|
|
141
|
+
_onFocus(evt) {
|
|
142
|
+
if (this._disabled) {
|
|
143
|
+
return;
|
|
144
|
+
}
|
|
145
|
+
this._adapter.addRootClass(FIELD_CONSTANTS.classes.FOCUSED);
|
|
146
|
+
this._floatLabel(true);
|
|
147
|
+
super._onFocus(evt);
|
|
148
|
+
}
|
|
149
|
+
_floatLabel(value) {
|
|
150
|
+
if (!this._floatingLabelInstance) {
|
|
151
|
+
return;
|
|
152
|
+
}
|
|
153
|
+
if (value) {
|
|
154
|
+
this._adapter.addRootClass(SELECT_CONSTANTS.classes.LABEL_FLOAT);
|
|
155
|
+
}
|
|
156
|
+
else {
|
|
157
|
+
this._adapter.removeRootClass(SELECT_CONSTANTS.classes.LABEL_FLOAT);
|
|
158
|
+
}
|
|
159
|
+
if (this._floatLabelType === 'always') {
|
|
160
|
+
value = true;
|
|
161
|
+
}
|
|
162
|
+
this._floatingLabelInstance.float(value, this._floatLabelType === 'always');
|
|
163
|
+
}
|
|
164
|
+
/** Handles losing focus on the selected text element. */
|
|
165
|
+
_onBlur(evt) {
|
|
166
|
+
super._onBlur(evt);
|
|
167
|
+
this._setBlurred();
|
|
168
|
+
}
|
|
169
|
+
_onDismiss() {
|
|
170
|
+
super._onDismiss();
|
|
171
|
+
this._setBlurred();
|
|
172
|
+
}
|
|
173
|
+
_onDropdownScrollEnd() {
|
|
174
|
+
this._adapter.emitHostEvent(SELECT_CONSTANTS.events.SCROLLED_BOTTOM);
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Handles selecting an item in the dropdown.
|
|
178
|
+
* @param {ISelectOption} option The selected option.
|
|
179
|
+
* @param {number} optionIndex The index of the selected option.
|
|
180
|
+
*/
|
|
181
|
+
async _onSelect(option, optionIndex, closeDropdown = true) {
|
|
182
|
+
const result = await super._onSelect(option, optionIndex, closeDropdown);
|
|
183
|
+
if (result) {
|
|
184
|
+
this._adapter.setSelectedText(this._getSelectedText());
|
|
185
|
+
if (closeDropdown && !this._multiple) {
|
|
186
|
+
this._adapter.setFocus();
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
return result;
|
|
190
|
+
}
|
|
191
|
+
/** Updates the state of the component to not contain focus. */
|
|
192
|
+
_setBlurred() {
|
|
193
|
+
var _a;
|
|
194
|
+
this._adapter.removeRootClass(FIELD_CONSTANTS.classes.FOCUSED);
|
|
195
|
+
if (!this._selectedValues.length && !((_a = this._placeholder) === null || _a === void 0 ? void 0 : _a.length)) {
|
|
196
|
+
this._floatLabel(false);
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
/** Resets the state of the component to original values. */
|
|
200
|
+
_reset() {
|
|
201
|
+
var _a;
|
|
202
|
+
super._reset();
|
|
203
|
+
this._adapter.setSelectedText('');
|
|
204
|
+
this._floatLabel(!((_a = this._placeholder) === null || _a === void 0 ? void 0 : _a.length));
|
|
205
|
+
}
|
|
206
|
+
_updateLabel() {
|
|
207
|
+
if (this._adapter.hasLabel()) {
|
|
208
|
+
this._adapter.setLabel(this._label);
|
|
209
|
+
}
|
|
210
|
+
if (this._label && this._density !== 'dense') {
|
|
211
|
+
this._adapter.addRootClass(FIELD_CONSTANTS.classes.LABEL);
|
|
212
|
+
}
|
|
213
|
+
else {
|
|
214
|
+
this._adapter.removeRootClass(FIELD_CONSTANTS.classes.LABEL);
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
_applyValue(value) {
|
|
218
|
+
super._applyValue(value);
|
|
219
|
+
// Update the state of the component based on the existence of a selected value
|
|
220
|
+
const text = this._getSelectedText();
|
|
221
|
+
this._adapter.setSelectedText(text);
|
|
222
|
+
if (!this._open) {
|
|
223
|
+
this._floatLabel(!!text || !!this._placeholder);
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
_applyDensity() {
|
|
227
|
+
this._adapter.setRoomy(this._density === 'roomy');
|
|
228
|
+
this._adapter.setDense(this._density === 'dense');
|
|
229
|
+
}
|
|
230
|
+
_setShapeType() {
|
|
231
|
+
if (this._shape === 'rounded') {
|
|
232
|
+
this._adapter.addRootClass(FIELD_CONSTANTS.classes.SHAPE_ROUNDED);
|
|
233
|
+
}
|
|
234
|
+
else {
|
|
235
|
+
this._adapter.removeRootClass(FIELD_CONSTANTS.classes.SHAPE_ROUNDED);
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
setFocus() {
|
|
239
|
+
this._adapter.setFocus();
|
|
240
|
+
}
|
|
241
|
+
/** Gets/sets the label text. */
|
|
242
|
+
get label() {
|
|
243
|
+
return this._label;
|
|
244
|
+
}
|
|
245
|
+
set label(value) {
|
|
246
|
+
if (this._label !== value) {
|
|
247
|
+
this._label = value;
|
|
248
|
+
this._updateLabel();
|
|
249
|
+
if (this._label) {
|
|
250
|
+
this._initializeLabel();
|
|
251
|
+
this._adapter.setHostAttribute(SELECT_CONSTANTS.attributes.LABEL, this._label);
|
|
252
|
+
}
|
|
253
|
+
else {
|
|
254
|
+
this._destroyLabel();
|
|
255
|
+
this.required = false;
|
|
256
|
+
this._adapter.removeHostAttribute(SELECT_CONSTANTS.attributes.LABEL);
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
get shape() {
|
|
261
|
+
return this._shape;
|
|
262
|
+
}
|
|
263
|
+
set shape(value) {
|
|
264
|
+
if (this._shape !== value) {
|
|
265
|
+
this._shape = value;
|
|
266
|
+
if (this._isInitialized) {
|
|
267
|
+
this._setShapeType();
|
|
268
|
+
}
|
|
269
|
+
this._adapter.setHostAttribute(FIELD_CONSTANTS.attributes.SHAPE, this._shape);
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
/** Gets/sets the disabled state. */
|
|
273
|
+
get disabled() {
|
|
274
|
+
return this._disabled;
|
|
275
|
+
}
|
|
276
|
+
set disabled(value) {
|
|
277
|
+
if (this._disabled !== value) {
|
|
278
|
+
this._disabled = value;
|
|
279
|
+
this._adapter.setDisabled(this._disabled);
|
|
280
|
+
this._initializeLabel();
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
/** Gets/sets the invalid state. */
|
|
284
|
+
get invalid() {
|
|
285
|
+
return this._invalid;
|
|
286
|
+
}
|
|
287
|
+
set invalid(value) {
|
|
288
|
+
if (this._invalid !== value) {
|
|
289
|
+
this._invalid = value;
|
|
290
|
+
this._adapter.setInvalid(this._invalid);
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
/** Gets/sets the required state which controls the visibility of the asterisk in the label. */
|
|
294
|
+
get required() {
|
|
295
|
+
return this._required;
|
|
296
|
+
}
|
|
297
|
+
set required(value) {
|
|
298
|
+
if (this._required !== value) {
|
|
299
|
+
this._required = value;
|
|
300
|
+
this._adapter.setRequired(this._required);
|
|
301
|
+
this._adapter.toggleHostAttribute(FIELD_CONSTANTS.attributes.REQUIRED, this._required);
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
/** Gets/sets the dense state. */
|
|
305
|
+
get density() {
|
|
306
|
+
return this._density;
|
|
307
|
+
}
|
|
308
|
+
set density(value) {
|
|
309
|
+
if (this._density !== value) {
|
|
310
|
+
this._density = value;
|
|
311
|
+
this._applyDensity();
|
|
312
|
+
this._adapter.setHostAttribute(FIELD_CONSTANTS.attributes.DENSITY, this._density.toString());
|
|
313
|
+
this._initializeLabel(); // This ensures label is removed while dense
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
/** Gets/sets the floating label type. */
|
|
317
|
+
get floatLabelType() {
|
|
318
|
+
return this._floatLabelType;
|
|
319
|
+
}
|
|
320
|
+
set floatLabelType(value) {
|
|
321
|
+
if (this._floatLabelType !== value) {
|
|
322
|
+
this._floatLabelType = value;
|
|
323
|
+
this._floatLabel(this._floatLabelType === 'always' || !!this._placeholder);
|
|
324
|
+
this._adapter.setHostAttribute(FIELD_CONSTANTS.attributes.FLOAT_LABEL_TYPE, isDefined(this._floatLabelType) ? this._floatLabelType.toString() : '');
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
/** Gets/sets the placeholder text. */
|
|
328
|
+
get placeholder() {
|
|
329
|
+
return this._placeholder;
|
|
330
|
+
}
|
|
331
|
+
set placeholder(value) {
|
|
332
|
+
if (this._placeholder !== value) {
|
|
333
|
+
this._placeholder = value;
|
|
334
|
+
this._adapter.setPlaceholderText(this._placeholder);
|
|
335
|
+
this._initializeLabel();
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022 Tyler Technologies, Inc.
|
|
4
|
+
* License: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { SelectFoundation } from './select-foundation';
|
|
7
|
+
import { BaseSelectComponent } from '../core';
|
|
8
|
+
import { FieldDensityType, FieldFloatLabelType, FieldShapeType } from '../../field/field-constants';
|
|
9
|
+
import { IBaseSelectComponent } from '../core/base-select';
|
|
10
|
+
export interface ISelectComponent extends IBaseSelectComponent {
|
|
11
|
+
density: FieldDensityType;
|
|
12
|
+
floatLabelType: FieldFloatLabelType;
|
|
13
|
+
shape: FieldShapeType;
|
|
14
|
+
invalid: boolean;
|
|
15
|
+
required: boolean;
|
|
16
|
+
label: string;
|
|
17
|
+
disabled: boolean;
|
|
18
|
+
placeholder: string;
|
|
19
|
+
}
|
|
20
|
+
declare global {
|
|
21
|
+
interface HTMLElementTagNameMap {
|
|
22
|
+
'forge-select': ISelectComponent;
|
|
23
|
+
}
|
|
24
|
+
interface HTMLElementEventMap {
|
|
25
|
+
'forge-select-scrolled-bottom': CustomEvent<void>;
|
|
26
|
+
'change': CustomEvent<any>;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* The custom element class behind the `<forge-select>` component.
|
|
31
|
+
*/
|
|
32
|
+
export declare class SelectComponent extends BaseSelectComponent<SelectFoundation> implements ISelectComponent {
|
|
33
|
+
static get observedAttributes(): string[];
|
|
34
|
+
constructor();
|
|
35
|
+
attributeChangedCallback(name: string, oldValue: string, newValue: string): void;
|
|
36
|
+
/** Gets/sets the label text. */
|
|
37
|
+
label: string;
|
|
38
|
+
/** Gets/sets the disabled state. */
|
|
39
|
+
disabled: boolean;
|
|
40
|
+
/** Gets/sets the invalid state. */
|
|
41
|
+
invalid: boolean;
|
|
42
|
+
/** Gets/sets the required state which controls the visibility of the asterisk in the label. */
|
|
43
|
+
required: boolean;
|
|
44
|
+
/** Controls the density type. */
|
|
45
|
+
density: FieldDensityType;
|
|
46
|
+
/** Whether the label should always float, never float or float as the user types. */
|
|
47
|
+
floatLabelType: FieldFloatLabelType;
|
|
48
|
+
/** The shape type to use. */
|
|
49
|
+
shape: FieldShapeType;
|
|
50
|
+
/** Gets/sets the placeholder text. */
|
|
51
|
+
placeholder: string;
|
|
52
|
+
/** Sets focus to the internal button element. */
|
|
53
|
+
focus(): void;
|
|
54
|
+
}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022 Tyler Technologies, Inc.
|
|
4
|
+
* License: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { __decorate } from "tslib";
|
|
7
|
+
import { CustomElement, attachShadowTemplate, FoundationProperty, coerceBoolean } from '@tylertech/forge-core';
|
|
8
|
+
import { tylIconArrowDropDown, tylIconCheckBoxOutlineBlank, tylIconCheckBox } from '@tylertech/tyler-icons/standard';
|
|
9
|
+
import { SelectAdapter } from './select-adapter';
|
|
10
|
+
import { SelectFoundation } from './select-foundation';
|
|
11
|
+
import { SELECT_CONSTANTS } from './select-constants';
|
|
12
|
+
import { OptionComponent } from '../option';
|
|
13
|
+
import { PopupComponent } from '../../popup';
|
|
14
|
+
import { ListComponent, ListItemComponent } from '../../list';
|
|
15
|
+
import { OptionGroupComponent } from '../option-group';
|
|
16
|
+
import { IconComponent, IconRegistry } from '../../icon';
|
|
17
|
+
import { BaseSelectComponent, BASE_SELECT_CONSTANTS } from '../core';
|
|
18
|
+
import { CircularProgressComponent } from '../../circular-progress';
|
|
19
|
+
import { ScaffoldComponent } from '../../scaffold';
|
|
20
|
+
import { ToolbarComponent } from '../../toolbar';
|
|
21
|
+
import { IconButtonComponent } from '../../icon-button';
|
|
22
|
+
import { FIELD_CONSTANTS } from '../../field/field-constants';
|
|
23
|
+
const template = '<template><div class=\"forge-select__wrapper\" part=\"root\"><div class=\"forge-select forge-field\" part=\"container\"><div class=\"forge-select__leading-container\" part=\"leading-container\"><slot name=\"leading\"></slot></div><div class=\"forge-field__label-input-container\" part=\"label-input-container\"><div id=\"selected-text\" class=\"forge-select__selected-text\" tabindex=\"0\" part=\"text\"></div><label id=\"select-label\" part=\"label\"></label></div><forge-icon class=\"forge-select__dropdown-icon\" name=\"arrow_drop_down\" part=\"icon\"></forge-icon><div class=\"forge-field__addon-end-container\" part=\"addon-end-container\"><slot name=\"addon-end\"></slot></div></div><slot name=\"helper-text\"></slot></div></template>';
|
|
24
|
+
const styles = '.forge-select{-webkit-box-sizing:border-box;box-sizing:border-box;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;position:relative;z-index:1;z-index:var(--forge-z-index-surface,1);margin-top:0;margin-top:var(--forge-select-margin-top,0)}.forge-select.forge-field--disabled{background-color:#f5f5f5;background-color:var(--forge-theme-form-field-disabled-on-background,#f5f5f5);cursor:not-allowed}.forge-select:not(.forge-field--dense):not(.forge-field--roomy){height:3rem;height:var(--forge-select-height,3rem)}.forge-select.forge-field--roomy:not(.forge-field--dense){height:3.5rem;height:var(--forge-select-height,3.5rem)}.forge-select.forge-field--dense:not(.forge-field--roomy){height:1.5rem;height:var(--forge-select-height,1.5rem)}.forge-field::before{content:\"\";display:-webkit-box;display:flex;position:absolute;top:0;right:0;left:0;z-index:-1;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;max-width:100%;height:100%;pointer-events:none;border-style:solid;border-width:1px;-webkit-transition:border-color .2s 0s cubic-bezier(0, 0, .2, 1);transition:border-color .2s 0s cubic-bezier(0, 0, .2, 1);background-color:transparent;background-color:var(--forge-select-theme-background,transparent);text-align:left}.forge-field[dir=rtl]::before,[dir=rtl] .forge-field::before{text-align:right}.forge-field:not(.forge-field--disabled):not(.forge-field--invalid):not(.forge-field--focused)::before{border-color:rgba(0,0,0,.38);border-color:var(--mdc-theme-text-icon-on-background,rgba(0,0,0,.38))}.forge-field:not(.forge-field--disabled):not(.forge-field--invalid):not(.forge-field--focused):hover::before{border-color:rgba(0,0,0,.87);border-color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87))}.forge-field--focused:not(.forge-field--invalid):not(.forge-field--disabled)::before{border-color:#3f51b5;border-color:var(--mdc-theme-primary,#3f51b5)}.forge-field--invalid:not(.forge-field--disabled)::before{border-color:#b00020;border-color:var(--mdc-theme-error,#b00020)}.forge-field--invalid:not(.forge-field--disabled):not(.forge-field--focused):hover::before{border-color:#db8a98;border-color:var(--forge-theme-error-hover,#db8a98)}.forge-field--disabled::before{border-color:rgba(0,0,0,.12);border-color:var(--mdc-theme-text-disabled-on-background,rgba(0,0,0,.12))}.forge-field:not(.forge-field--shape-rounded){border-radius:4px}.forge-field:not(.forge-field--shape-rounded)::before{border-radius:4px}.forge-field--shape-rounded{border-radius:28px}.forge-field--shape-rounded::before{border-radius:28px}.forge-field--disabled::before{background-color:#f5f5f5;background-color:var(--forge-theme-form-field-disabled-on-background,#f5f5f5)}.forge-field--focused::before{border-color:#3f51b5;border-color:var(--mdc-theme-primary,#3f51b5);border-width:2px}.forge-field__label-input-container{position:relative;-webkit-box-flex:1;flex:1 1 0.0001px;height:100%;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-align:center;align-items:center;min-width:0}.forge-field~::slotted([slot=helper-text]){-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight,400);letter-spacing:.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, .0333333333em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform,inherit);display:block;height:auto}.forge-field~::slotted([slot=helper-text])::before{display:inline-block;width:0;height:16px;content:\"\";vertical-align:0}.forge-field:not(.forge-field--dense):not(.forge-field--roomy)~::slotted([slot=helper-text]){font-size:.75rem}.forge-field--roomy:not(.forge-field--dense)~::slotted([slot=helper-text]){font-size:.875rem}.forge-field--dense:not(.forge-field--roomy)~::slotted([slot=helper-text]){font-size:.75rem}.forge-field~::slotted([slot=helper-text]){color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}.forge-field--invalid:not(.forge-field--disabled)~::slotted([slot=helper-text]){color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-field:not(.forge-field--shape-rounded)~::slotted([slot=helper-text]){margin-left:12px}.forge-field--shape-rounded~::slotted([slot=helper-text]){margin-left:32px}.forge-field ::slotted([slot=leading]){display:-webkit-box;display:flex;align-self:center}.forge-field:not(.forge-field--disabled):not(.forge-field--invalid) ::slotted([slot=leading]){color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}.forge-field--invalid:not(.forge-field--disabled) ::slotted([slot=leading]){color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-field--disabled ::slotted([slot=leading]){color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38));cursor:not-allowed;pointer-events:none}.forge-field ::slotted([slot=leading]){margin:0 4px}.forge-field ::slotted([slot=leading]:not(forge-icon-button)){padding:6px}.forge-field__addon-end-container{display:none}.forge-field--addon-end .forge-field__addon-end-container{height:100%;width:auto;display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;padding:0 4px;border-left-width:1px;border-left-style:solid;-webkit-transition:border-left-color .2s 0s cubic-bezier(0, 0, .2, 1);transition:border-left-color .2s 0s cubic-bezier(0, 0, .2, 1)}.forge-field:not(.forge-field--disabled):not(.forge-field--focused):not(.forge-field--invalid) .forge-field__addon-end-container{border-left-color:rgba(0,0,0,.54);border-left-color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}.forge-field:not(.forge-field--disabled):not(.forge-field--focused):not(.forge-field--invalid) .forge-field__addon-end-container:hover{border-left-color:rgba(0,0,0,.87);border-left-color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87))}.forge-field.forge-field--focused:not(.forge-field--invalid):not(.forge-field--disabled) .forge-field__addon-end-container{border-left-color:#3f51b5;border-left-color:var(--mdc-theme-primary,#3f51b5)}.forge-field.forge-field--invalid:not(.forge-field--disabled) .forge-field__addon-end-container{border-left-color:#b00020;border-left-color:var(--mdc-theme-error,#b00020)}.forge-field.forge-field--invalid:not(.forge-field--focused):not(.forge-field--disabled) .forge-field__addon-end-container:hover{border-left-color:#db8a98;border-left-color:var(--forge-theme-error-hover,#db8a98)}.forge-field.forge-field--disabled .forge-field__addon-end-container{border-left-color:rgba(0,0,0,.12);border-left-color:var(--mdc-theme-text-disabled-on-background,rgba(0,0,0,.12))}.forge-field:not(.forge-field--disabled):not(.forge-field--invalid) ::slotted([slot=addon-end]){color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}.forge-field--invalid:not(.forge-field--disabled) ::slotted([slot=addon-end]){color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-field--disabled ::slotted([slot=addon-end]){color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38));cursor:not-allowed;pointer-events:none}.forge-select__leading-container{display:-webkit-box;display:flex;align-self:center}.forge-field label{color:rgba(0,0,0,.65);color:var(--forge-theme-form-field-label-on-background,rgba(0,0,0,.65));pointer-events:none;right:0;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-subtitle1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-weight:400;font-weight:var(--mdc-typography-subtitle1-font-weight,400);letter-spacing:.009375em;letter-spacing:var(--mdc-typography-subtitle1-letter-spacing, .009375em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-subtitle1-text-decoration,inherit);text-decoration:var(--mdc-typography-subtitle1-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-subtitle1-text-transform,inherit);font-size:var(--mdc-typography-subtitle1-font-size, 1rem);position:absolute;left:0;-webkit-transform-origin:left top;transform-origin:left top;line-height:1.1rem;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:text;overflow:hidden;will-change:transform;-webkit-transition:color 150ms cubic-bezier(.4, 0, .2, 1),-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1);transition:color 150ms cubic-bezier(.4, 0, .2, 1),-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1);transition:transform 150ms cubic-bezier(.4, 0, .2, 1),color 150ms cubic-bezier(.4, 0, .2, 1);transition:transform 150ms cubic-bezier(.4, 0, .2, 1),color 150ms cubic-bezier(.4, 0, .2, 1),-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1)}.forge-field label[dir=rtl],[dir=rtl] .forge-field label{right:0;left:auto;-webkit-transform-origin:right top;transform-origin:right top;text-align:right}.forge-field--dense:not(.forge-field--roomy) label{display:none}.forge-field--required label::after{content:none}.forge-field--required label::before{color:#b00020;color:var(--mdc-theme-error,#b00020);content:\"*\";margin-right:4px}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) label{font-size:1rem}.forge-field--roomy:not(.forge-field--dense) label{font-size:1rem}.forge-field--disabled label{color:rgba(0,0,0,.38);color:var(--forge-theme-label-disabled-on-background,rgba(0,0,0,.38))}.forge-field--invalid:not(.forge-field--disabled) label{color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-field--focused:not(.forge-field--invalid):not(.forge-field--disabled) label{color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5)}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) label{top:1rem}.forge-field--roomy:not(.forge-field--dense) label{top:1.285rem}.forge-field:not(.forge-field--shape-rounded):not(.forge-field--leading) label{left:12px!important}.forge-field--shape-rounded:not(.forge-field--leading) label{left:32px!important}.forge-field:not(.forge-field--trailing):not(.forge-field--addon-end):not(.forge-field--shape-rounded) label{padding-right:12px}.forge-field:not(.forge-field--trailing):not(.forge-field--addon-end).forge-field--shape-rounded label{padding-right:32px}.forge-field label.forge-floating-label--float-above{color:rgba(0,0,0,.65);color:var(--forge-theme-form-field-label-on-background,rgba(0,0,0,.65))}.forge-field--disabled label.forge-floating-label--float-above{color:rgba(0,0,0,.6);color:var(--forge-theme-form-field-text-disabled-on-background,rgba(0,0,0,.6))}.forge-field--invalid:not(.forge-field--disabled) label.forge-floating-label--float-above{color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-field--focused:not(.forge-field--invalid):not(.forge-field--disabled) label.forge-floating-label--float-above{color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5)}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) label.forge-floating-label--float-above{-webkit-transform:translateY(-.54rem) scale(.8125);transform:translateY(-.54rem) scale(.8125);cursor:auto}.forge-field--roomy:not(.forge-field--dense) label.forge-floating-label--float-above{-webkit-transform:translateY(-.72rem) scale(.8125);transform:translateY(-.72rem) scale(.8125);cursor:auto}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) label.forge-floating-label--float-above.forge-floating-label--float-above-end-keyframe{-webkit-transition:none;transition:none;font-size:.8125rem;-webkit-transform:translateY(-.62rem) scale(1);transform:translateY(-.62rem) scale(1);cursor:auto}.forge-field--roomy:not(.forge-field--dense) label.forge-floating-label--float-above.forge-floating-label--float-above-end-keyframe{-webkit-transition:none;transition:none;font-size:.8125rem;-webkit-transform:translateY(-.8rem) scale(1);transform:translateY(-.8rem) scale(1);cursor:auto}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) label.forge-floating-label--unfloat-above-start-keyframe{-webkit-transition:none;transition:none;font-size:1rem;-webkit-transform:translateY(-.62rem) scale(.8125);transform:translateY(-.62rem) scale(.8125);cursor:auto}.forge-field--roomy:not(.forge-field--dense) label.forge-floating-label--unfloat-above-start-keyframe{-webkit-transition:none;transition:none;font-size:1rem;-webkit-transform:translateY(-.8rem) scale(.8125);transform:translateY(-.8rem) scale(.8125);cursor:auto}.forge-field .forge-select__selected-text{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-body1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-weight:400;font-weight:var(--mdc-typography-body1-font-weight,400);letter-spacing:.03125em;letter-spacing:var(--mdc-typography-body1-letter-spacing, .03125em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-body1-text-decoration,inherit);text-decoration:var(--mdc-typography-body1-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-body1-text-transform,inherit);color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87));display:block;overflow:hidden;text-overflow:ellipsis;align-self:flex-end;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;height:100%;white-space:nowrap;-webkit-transition:opacity 150ms 0s cubic-bezier(.4, 0, .2, 1);transition:opacity 150ms 0s cubic-bezier(.4, 0, .2, 1);border:none;background:0 0;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:0;line-height:normal;min-width:0;font-size:var(--forge-select-font-size, 1rem);padding:0 12px;padding-right:0}.forge-field:not(.forge-field--disabled) .forge-select__selected-text{color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87))}.forge-field--disabled .forge-select__selected-text{color:rgba(0,0,0,.6);color:var(--forge-theme-form-field-text-disabled-on-background,rgba(0,0,0,.6));cursor:not-allowed}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) .forge-select__selected-text{font-size:1rem}.forge-field--roomy:not(.forge-field--dense) .forge-select__selected-text{font-size:1rem}.forge-field--dense:not(.forge-field--roomy) .forge-select__selected-text{font-size:.875rem}.forge-field .forge-select__selected-text{padding:0 12px}.forge-field--label .forge-select__selected-text{padding-top:24px}.forge-field--roomy.forge-field--label .forge-select__selected-text{padding-top:29px}.forge-field--shape-rounded:not(.forge-field--leading) .forge-select__selected-text{padding-left:32px}.forge-field--leading .forge-select__selected-text{padding-left:0}.forge-field--label .forge-select__selected-text{padding-bottom:3px}.forge-field--roomy.forge-field--label .forge-select__selected-text{padding-bottom:8px}.forge-field:not(.forge-field--label):not(.forge-field--dense):not(.forge-field--roomy) .forge-select__selected-text{line-height:var(--forge-select-height, 3rem)}.forge-field:not(.forge-field--label).forge-field--roomy:not(.forge-field--dense) .forge-select__selected-text{line-height:var(--forge-select-height-roomy, 3.5rem)}.forge-field:not(.forge-field--label).forge-field--dense:not(.forge-field--roomy) .forge-select__selected-text{line-height:var(--forge-select-height-dense, 1.5rem)}.forge-field.forge-field--dense:not(.forge-field--roomy) .forge-select__selected-text{padding:0 8px}.forge-field .forge-select__selected-text:empty::before{content:attr(placeholder);color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54));font-size:.875rem}.forge-field .forge-select__selected-text{padding-top:25px}.forge-field .forge-select__dropdown-icon{display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;width:24px;height:100%;-webkit-box-flex:0;flex:none;-webkit-transition:-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1);transition:-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1);transition:transform 150ms cubic-bezier(.4, 0, .2, 1);transition:transform 150ms cubic-bezier(.4, 0, .2, 1),-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1);pointer-events:none;margin-right:8px}.forge-select--opened .forge-field .forge-select__dropdown-icon{-webkit-transform:rotate(180deg);transform:rotate(180deg);-webkit-transition:-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1);transition:-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1);transition:transform 150ms cubic-bezier(.4, 0, .2, 1);transition:transform 150ms cubic-bezier(.4, 0, .2, 1),-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1)}.forge-select--opened .forge-field .forge-select__dropdown-icon{-webkit-transform:rotate(180deg);transform:rotate(180deg);-webkit-transition:-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1);transition:-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1);transition:transform 150ms cubic-bezier(.4, 0, .2, 1);transition:transform 150ms cubic-bezier(.4, 0, .2, 1),-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1)}.forge-field:not(.forge-field--disabled):not(.forge-field--invalid) .forge-select__dropdown-icon{color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}.forge-field--invalid:not(.forge-field--disabled) .forge-select__dropdown-icon{color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-field--disabled .forge-select__dropdown-icon{color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38));cursor:not-allowed;pointer-events:none}.forge-field.forge-field--dense:not(.forge-field--roomy) .forge-select__dropdown-icon{margin-right:4px}:host{display:block;contain:layout}:host([hidden]){display:none}';
|
|
25
|
+
/**
|
|
26
|
+
* The custom element class behind the `<forge-select>` component.
|
|
27
|
+
*/
|
|
28
|
+
let SelectComponent = class SelectComponent extends BaseSelectComponent {
|
|
29
|
+
constructor() {
|
|
30
|
+
super();
|
|
31
|
+
IconRegistry.define([tylIconArrowDropDown, tylIconCheckBox, tylIconCheckBoxOutlineBlank]);
|
|
32
|
+
attachShadowTemplate(this, template, styles);
|
|
33
|
+
this._foundation = new SelectFoundation(new SelectAdapter(this));
|
|
34
|
+
}
|
|
35
|
+
static get observedAttributes() {
|
|
36
|
+
return [
|
|
37
|
+
FIELD_CONSTANTS.attributes.DENSITY,
|
|
38
|
+
FIELD_CONSTANTS.attributes.FLOAT_LABEL_TYPE,
|
|
39
|
+
FIELD_CONSTANTS.attributes.SHAPE,
|
|
40
|
+
FIELD_CONSTANTS.attributes.INVALID,
|
|
41
|
+
FIELD_CONSTANTS.attributes.REQUIRED,
|
|
42
|
+
SELECT_CONSTANTS.attributes.LABEL,
|
|
43
|
+
SELECT_CONSTANTS.attributes.MULTIPLE,
|
|
44
|
+
SELECT_CONSTANTS.attributes.VALUE,
|
|
45
|
+
SELECT_CONSTANTS.attributes.DISABLED,
|
|
46
|
+
SELECT_CONSTANTS.attributes.PLACEHOLDER,
|
|
47
|
+
SELECT_CONSTANTS.attributes.OBSERVE_SCROLL,
|
|
48
|
+
SELECT_CONSTANTS.attributes.OBSERVE_SCROLL_THRESHOLD,
|
|
49
|
+
BASE_SELECT_CONSTANTS.attributes.POPUP_CLASSES,
|
|
50
|
+
BASE_SELECT_CONSTANTS.attributes.OPTION_LIMIT,
|
|
51
|
+
BASE_SELECT_CONSTANTS.attributes.SYNC_POPUP_WIDTH
|
|
52
|
+
];
|
|
53
|
+
}
|
|
54
|
+
attributeChangedCallback(name, oldValue, newValue) {
|
|
55
|
+
switch (name) {
|
|
56
|
+
case FIELD_CONSTANTS.attributes.DENSITY:
|
|
57
|
+
this.density = newValue;
|
|
58
|
+
return;
|
|
59
|
+
case FIELD_CONSTANTS.attributes.FLOAT_LABEL_TYPE:
|
|
60
|
+
this.floatLabelType = newValue;
|
|
61
|
+
return;
|
|
62
|
+
case FIELD_CONSTANTS.attributes.SHAPE:
|
|
63
|
+
this.shape = newValue;
|
|
64
|
+
break;
|
|
65
|
+
case FIELD_CONSTANTS.attributes.INVALID:
|
|
66
|
+
this.invalid = coerceBoolean(newValue);
|
|
67
|
+
return;
|
|
68
|
+
case FIELD_CONSTANTS.attributes.REQUIRED:
|
|
69
|
+
this.required = coerceBoolean(newValue);
|
|
70
|
+
return;
|
|
71
|
+
case SELECT_CONSTANTS.attributes.LABEL:
|
|
72
|
+
this.label = newValue;
|
|
73
|
+
return;
|
|
74
|
+
case SELECT_CONSTANTS.attributes.DISABLED:
|
|
75
|
+
this.disabled = coerceBoolean(newValue);
|
|
76
|
+
return;
|
|
77
|
+
case SELECT_CONSTANTS.attributes.PLACEHOLDER:
|
|
78
|
+
this.placeholder = newValue;
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
super.attributeChangedCallback(name, oldValue, newValue);
|
|
82
|
+
}
|
|
83
|
+
/** Sets focus to the internal button element. */
|
|
84
|
+
focus() {
|
|
85
|
+
this._foundation.setFocus();
|
|
86
|
+
}
|
|
87
|
+
};
|
|
88
|
+
__decorate([
|
|
89
|
+
FoundationProperty()
|
|
90
|
+
], SelectComponent.prototype, "label", void 0);
|
|
91
|
+
__decorate([
|
|
92
|
+
FoundationProperty()
|
|
93
|
+
], SelectComponent.prototype, "disabled", void 0);
|
|
94
|
+
__decorate([
|
|
95
|
+
FoundationProperty()
|
|
96
|
+
], SelectComponent.prototype, "invalid", void 0);
|
|
97
|
+
__decorate([
|
|
98
|
+
FoundationProperty()
|
|
99
|
+
], SelectComponent.prototype, "required", void 0);
|
|
100
|
+
__decorate([
|
|
101
|
+
FoundationProperty()
|
|
102
|
+
], SelectComponent.prototype, "density", void 0);
|
|
103
|
+
__decorate([
|
|
104
|
+
FoundationProperty()
|
|
105
|
+
], SelectComponent.prototype, "floatLabelType", void 0);
|
|
106
|
+
__decorate([
|
|
107
|
+
FoundationProperty()
|
|
108
|
+
], SelectComponent.prototype, "shape", void 0);
|
|
109
|
+
__decorate([
|
|
110
|
+
FoundationProperty()
|
|
111
|
+
], SelectComponent.prototype, "placeholder", void 0);
|
|
112
|
+
SelectComponent = __decorate([
|
|
113
|
+
CustomElement({
|
|
114
|
+
name: SELECT_CONSTANTS.elementName,
|
|
115
|
+
dependencies: [
|
|
116
|
+
OptionComponent,
|
|
117
|
+
OptionGroupComponent,
|
|
118
|
+
PopupComponent,
|
|
119
|
+
ListComponent,
|
|
120
|
+
ListItemComponent,
|
|
121
|
+
CircularProgressComponent,
|
|
122
|
+
IconComponent,
|
|
123
|
+
ScaffoldComponent,
|
|
124
|
+
ToolbarComponent,
|
|
125
|
+
IconButtonComponent
|
|
126
|
+
]
|
|
127
|
+
})
|
|
128
|
+
], SelectComponent);
|
|
129
|
+
export { SelectComponent };
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022 Tyler Technologies, Inc.
|
|
4
|
+
* License: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { IBaseComponentDelegateConfig } from '../core/delegates/base-component-delegate';
|
|
7
|
+
import { FormFieldComponentDelegate, IFormFieldComponentDelegateOptions } from '../core/delegates/form-field-component-delegate';
|
|
8
|
+
import { ISelectComponent } from './select/select';
|
|
9
|
+
export declare type SelectComponentDelegateProps = Partial<ISelectComponent>;
|
|
10
|
+
export interface ISelectComponentDelegateOptions extends IFormFieldComponentDelegateOptions {
|
|
11
|
+
helperText?: string;
|
|
12
|
+
}
|
|
13
|
+
export interface ISelectComponentDelegateConfig extends IBaseComponentDelegateConfig<ISelectComponent, ISelectComponentDelegateOptions> {
|
|
14
|
+
}
|
|
15
|
+
export declare class SelectComponentDelegate extends FormFieldComponentDelegate<ISelectComponent, ISelectComponentDelegateOptions> {
|
|
16
|
+
private _helperTextElement;
|
|
17
|
+
constructor(config?: ISelectComponentDelegateConfig);
|
|
18
|
+
protected _build(): ISelectComponent;
|
|
19
|
+
protected _configure(): void;
|
|
20
|
+
get value(): any;
|
|
21
|
+
set value(value: any);
|
|
22
|
+
get disabled(): boolean;
|
|
23
|
+
set disabled(value: boolean);
|
|
24
|
+
get invalid(): boolean;
|
|
25
|
+
set invalid(value: boolean);
|
|
26
|
+
onChange(listener: (value: string) => void): void;
|
|
27
|
+
onFocus(listener: (evt: Event) => void): void;
|
|
28
|
+
onBlur(listener: (evt: Event) => void): void;
|
|
29
|
+
setHelperText(text: string | null): void;
|
|
30
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022 Tyler Technologies, Inc.
|
|
4
|
+
* License: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { FormFieldComponentDelegate } from '../core/delegates/form-field-component-delegate';
|
|
7
|
+
import { SELECT_CONSTANTS } from './select/select-constants';
|
|
8
|
+
export class SelectComponentDelegate extends FormFieldComponentDelegate {
|
|
9
|
+
constructor(config) {
|
|
10
|
+
super(config);
|
|
11
|
+
}
|
|
12
|
+
_build() {
|
|
13
|
+
return document.createElement(SELECT_CONSTANTS.elementName);
|
|
14
|
+
}
|
|
15
|
+
_configure() {
|
|
16
|
+
var _a;
|
|
17
|
+
if (typeof ((_a = this._config.options) === null || _a === void 0 ? void 0 : _a.helperText) === 'string') {
|
|
18
|
+
this.setHelperText(this._config.options.helperText);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
get value() {
|
|
22
|
+
return this._element.value;
|
|
23
|
+
}
|
|
24
|
+
set value(value) {
|
|
25
|
+
this._element.value = value;
|
|
26
|
+
}
|
|
27
|
+
get disabled() {
|
|
28
|
+
return this._element.disabled;
|
|
29
|
+
}
|
|
30
|
+
set disabled(value) {
|
|
31
|
+
this._element.disabled = value;
|
|
32
|
+
}
|
|
33
|
+
get invalid() {
|
|
34
|
+
return this._element.invalid || false;
|
|
35
|
+
}
|
|
36
|
+
set invalid(value) {
|
|
37
|
+
this._element.invalid = value;
|
|
38
|
+
}
|
|
39
|
+
onChange(listener) {
|
|
40
|
+
this._element.addEventListener('change', (evt) => listener(evt.detail));
|
|
41
|
+
}
|
|
42
|
+
onFocus(listener) {
|
|
43
|
+
this._element.addEventListener('focus', evt => listener(evt));
|
|
44
|
+
}
|
|
45
|
+
onBlur(listener) {
|
|
46
|
+
this._element.addEventListener('blur', evt => listener(evt));
|
|
47
|
+
}
|
|
48
|
+
setHelperText(text) {
|
|
49
|
+
if (text) {
|
|
50
|
+
if (!this._helperTextElement) {
|
|
51
|
+
this._helperTextElement = document.createElement('span');
|
|
52
|
+
this._helperTextElement.slot = 'helper-text';
|
|
53
|
+
this._element.appendChild(this._helperTextElement);
|
|
54
|
+
}
|
|
55
|
+
this._helperTextElement.textContent = text;
|
|
56
|
+
}
|
|
57
|
+
else if (this._helperTextElement && this._helperTextElement.isConnected) {
|
|
58
|
+
this._element.removeChild(this._helperTextElement);
|
|
59
|
+
this._helperTextElement = undefined;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022 Tyler Technologies, Inc.
|
|
4
|
+
* License: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
export * from './select-dropdown-adapter';
|
|
7
|
+
export * from './select-dropdown-constants';
|
|
8
|
+
export * from './select-dropdown-foundation';
|
|
9
|
+
export * from './select-dropdown';
|
|
10
|
+
export declare function defineSelectDropdownComponent(): void;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022 Tyler Technologies, Inc.
|
|
4
|
+
* License: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { defineCustomElement } from '@tylertech/forge-core';
|
|
7
|
+
import { SelectDropdownComponent } from './select-dropdown';
|
|
8
|
+
export * from './select-dropdown-adapter';
|
|
9
|
+
export * from './select-dropdown-constants';
|
|
10
|
+
export * from './select-dropdown-foundation';
|
|
11
|
+
export * from './select-dropdown';
|
|
12
|
+
export function defineSelectDropdownComponent() {
|
|
13
|
+
defineCustomElement(SelectDropdownComponent);
|
|
14
|
+
}
|