@six-group/ui-library 0.0.0-insider.804b89a → 0.0.0-insider.8112beb
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/error-messages-6e8049a4.js +119 -0
- package/dist/cjs/error-messages-6e8049a4.js.map +1 -0
- package/dist/cjs/{form-control-f9bc25dd.js → form-control-8d64e974.js} +2 -2
- package/dist/cjs/{form-control-f9bc25dd.js.map → form-control-8d64e974.js.map} +1 -1
- package/dist/cjs/{index-3baddcdc.js → index-d7748d51.js} +53 -490
- package/dist/cjs/index-d7748d51.js.map +1 -0
- package/dist/cjs/index.cjs.js +54 -101
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/six-alert.cjs.entry.js +26 -3
- package/dist/cjs/six-alert.cjs.entry.js.map +1 -1
- package/dist/cjs/six-avatar.cjs.entry.js +2 -2
- package/dist/cjs/six-avatar.cjs.entry.js.map +1 -1
- package/dist/cjs/six-badge.cjs.entry.js +2 -2
- package/dist/cjs/six-badge.cjs.entry.js.map +1 -1
- package/dist/cjs/six-button.cjs.entry.js +3 -3
- package/dist/cjs/six-button.cjs.entry.js.map +1 -1
- package/dist/cjs/six-card.cjs.entry.js +2 -2
- package/dist/cjs/six-card.cjs.entry.js.map +1 -1
- package/dist/cjs/six-checkbox_2.cjs.entry.js +190 -0
- package/dist/cjs/six-checkbox_2.cjs.entry.js.map +1 -0
- package/dist/cjs/six-datepicker.cjs.entry.js +4 -3
- package/dist/cjs/six-datepicker.cjs.entry.js.map +1 -1
- package/dist/cjs/six-details.cjs.entry.js +2 -2
- package/dist/cjs/six-details.cjs.entry.js.map +1 -1
- package/dist/cjs/six-dialog.cjs.entry.js +3 -3
- package/dist/cjs/six-dialog.cjs.entry.js.map +1 -1
- package/dist/cjs/six-drawer.cjs.entry.js +3 -3
- package/dist/cjs/six-drawer.cjs.entry.js.map +1 -1
- package/dist/cjs/six-dropdown_2.cjs.entry.js +195 -125
- package/dist/cjs/six-dropdown_2.cjs.entry.js.map +1 -1
- package/dist/cjs/six-error-page.cjs.entry.js +1 -1
- package/dist/cjs/six-error.cjs.entry.js +1 -1
- package/dist/cjs/six-file-list-item.cjs.entry.js +2 -2
- package/dist/cjs/six-file-list-item.cjs.entry.js.map +1 -1
- package/dist/cjs/six-file-list.cjs.entry.js +1 -1
- package/dist/cjs/six-file-upload.cjs.entry.js +2 -2
- package/dist/cjs/six-file-upload.cjs.entry.js.map +1 -1
- package/dist/cjs/six-footer.cjs.entry.js +2 -2
- package/dist/cjs/six-footer.cjs.entry.js.map +1 -1
- package/dist/cjs/six-group-label.cjs.entry.js +4 -4
- package/dist/cjs/six-group-label.cjs.entry.js.map +1 -1
- package/dist/cjs/six-header.cjs.entry.js +4 -4
- package/dist/cjs/six-header.cjs.entry.js.map +1 -1
- package/dist/cjs/six-icon-button.cjs.entry.js +2 -2
- package/dist/cjs/six-icon-button.cjs.entry.js.map +1 -1
- package/dist/cjs/six-icon.cjs.entry.js +2 -2
- package/dist/cjs/six-icon.cjs.entry.js.map +1 -1
- package/dist/cjs/six-input.cjs.entry.js +6 -4
- package/dist/cjs/six-input.cjs.entry.js.map +1 -1
- package/dist/cjs/six-item-picker.cjs.entry.js +2 -2
- package/dist/cjs/six-item-picker.cjs.entry.js.map +1 -1
- package/dist/cjs/six-language-switcher.cjs.entry.js +1 -1
- package/dist/cjs/six-layout-grid.cjs.entry.js +1 -1
- package/dist/cjs/six-main-container.cjs.entry.js +1 -1
- package/dist/cjs/six-main-container.cjs.entry.js.map +1 -1
- package/dist/cjs/six-menu-divider.cjs.entry.js +2 -2
- package/dist/cjs/six-menu-divider.cjs.entry.js.map +1 -1
- package/dist/cjs/six-menu-label.cjs.entry.js +2 -2
- package/dist/cjs/six-menu-label.cjs.entry.js.map +1 -1
- package/dist/cjs/six-picto.cjs.entry.js +1 -1
- package/dist/cjs/six-progress-bar.cjs.entry.js +2 -2
- package/dist/cjs/six-progress-bar.cjs.entry.js.map +1 -1
- package/dist/cjs/six-progress-ring.cjs.entry.js +2 -2
- package/dist/cjs/six-progress-ring.cjs.entry.js.map +1 -1
- package/dist/cjs/six-radio.cjs.entry.js +2 -2
- package/dist/cjs/six-radio.cjs.entry.js.map +1 -1
- package/dist/cjs/six-range.cjs.entry.js +4 -4
- package/dist/cjs/six-range.cjs.entry.js.map +1 -1
- package/dist/cjs/six-root.cjs.entry.js +2 -21
- package/dist/cjs/six-root.cjs.entry.js.map +1 -1
- package/dist/cjs/six-search-field.cjs.entry.js +2 -2
- package/dist/cjs/six-search-field.cjs.entry.js.map +1 -1
- package/dist/cjs/six-select.cjs.entry.js +300 -169
- package/dist/cjs/six-select.cjs.entry.js.map +1 -1
- package/dist/cjs/six-sidebar-item-group.cjs.entry.js +3 -3
- package/dist/cjs/six-sidebar-item-group.cjs.entry.js.map +1 -1
- package/dist/cjs/six-sidebar-item.cjs.entry.js +1 -1
- package/dist/cjs/six-sidebar.cjs.entry.js +2 -2
- package/dist/cjs/six-sidebar.cjs.entry.js.map +1 -1
- package/dist/cjs/six-spinner.cjs.entry.js +2 -2
- package/dist/cjs/six-spinner.cjs.entry.js.map +1 -1
- package/dist/cjs/six-stage-indicator.cjs.entry.js +22 -0
- package/dist/cjs/six-stage-indicator.cjs.entry.js.map +1 -0
- package/dist/cjs/six-switch.cjs.entry.js +4 -4
- package/dist/cjs/six-switch.cjs.entry.js.map +1 -1
- package/dist/cjs/six-tab-group.cjs.entry.js +2 -2
- package/dist/cjs/six-tab-group.cjs.entry.js.map +1 -1
- package/dist/cjs/six-tab-panel.cjs.entry.js +2 -2
- package/dist/cjs/six-tab-panel.cjs.entry.js.map +1 -1
- package/dist/cjs/six-tab.cjs.entry.js +2 -2
- package/dist/cjs/six-tab.cjs.entry.js.map +1 -1
- package/dist/cjs/six-tag.cjs.entry.js +3 -3
- package/dist/cjs/six-tag.cjs.entry.js.map +1 -1
- package/dist/cjs/six-textarea.cjs.entry.js +4 -4
- package/dist/cjs/six-textarea.cjs.entry.js.map +1 -1
- package/dist/cjs/six-tile.cjs.entry.js +3 -3
- package/dist/cjs/six-tile.cjs.entry.js.map +1 -1
- package/dist/cjs/six-timepicker.cjs.entry.js +4 -4
- package/dist/cjs/six-timepicker.cjs.entry.js.map +1 -1
- package/dist/cjs/six-tooltip.cjs.entry.js +2 -2
- package/dist/cjs/six-tooltip.cjs.entry.js.map +1 -1
- package/dist/cjs/{slot-9821749e.js → slot-1b1232a1.js} +1 -3
- package/dist/cjs/slot-1b1232a1.js.map +1 -0
- package/dist/cjs/{types-0a6d66f6.js → types-d3da200b.js} +3 -1
- package/dist/cjs/types-d3da200b.js.map +1 -0
- package/dist/cjs/ui-library.cjs.js +3 -3
- package/dist/cjs/ui-library.cjs.js.map +1 -1
- package/dist/collection/collection-manifest.json +4 -5
- package/dist/collection/components/six-alert/six-alert.css +5 -1
- package/dist/collection/components/six-alert/six-alert.js +42 -6
- package/dist/collection/components/six-alert/six-alert.js.map +1 -1
- package/dist/collection/components/six-avatar/six-avatar.css +2 -2
- package/dist/collection/components/six-badge/six-badge.css +1 -1
- package/dist/collection/components/six-button/six-button.css +2 -1
- package/dist/collection/components/six-button/six-button.js +3 -2
- package/dist/collection/components/six-button/six-button.js.map +1 -1
- package/dist/collection/components/six-card/six-card.css +4 -5
- package/dist/collection/components/six-checkbox/six-checkbox.css +1 -1
- package/dist/collection/components/six-checkbox/six-checkbox.js +3 -2
- package/dist/collection/components/six-checkbox/six-checkbox.js.map +1 -1
- package/dist/collection/components/six-datepicker/six-date-formats.js +1 -0
- package/dist/collection/components/six-datepicker/six-date-formats.js.map +1 -1
- package/dist/collection/components/six-datepicker/six-datepicker.css +1 -1
- package/dist/collection/components/six-datepicker/six-datepicker.js +6 -4
- package/dist/collection/components/six-datepicker/six-datepicker.js.map +1 -1
- package/dist/collection/components/six-details/six-details.css +1 -5
- package/dist/collection/components/six-details/six-details.js.map +1 -1
- package/dist/collection/components/six-dialog/six-dialog.css +2 -2
- package/dist/collection/components/six-drawer/six-drawer.css +2 -2
- package/dist/collection/components/six-dropdown/six-dropdown.css +22 -7
- package/dist/collection/components/six-dropdown/six-dropdown.js +213 -123
- package/dist/collection/components/six-dropdown/six-dropdown.js.map +1 -1
- package/dist/collection/components/six-dropdown/test/six-dropdown.spec.js +54 -29
- package/dist/collection/components/six-dropdown/test/six-dropdown.spec.js.map +1 -1
- package/dist/collection/components/six-file-list-item/six-file-list-item.css +1 -1
- package/dist/collection/components/six-file-upload/six-file-upload.css +1 -4
- package/dist/collection/components/six-footer/six-footer.css +2 -2
- package/dist/collection/components/six-group-label/six-group-label.css +1 -1
- package/dist/collection/components/six-header/six-header.css +6 -2
- package/dist/collection/components/six-header/six-header.js +4 -3
- package/dist/collection/components/six-header/six-header.js.map +1 -1
- package/dist/collection/components/six-header/test/six-header.spec.js +4 -2
- package/dist/collection/components/six-header/test/six-header.spec.js.map +1 -1
- package/dist/collection/components/six-icon/six-icon.css +3 -7
- package/dist/collection/components/six-icon-button/six-icon-button.css +1 -1
- package/dist/collection/components/six-input/six-input.css +10 -1
- package/dist/collection/components/six-input/six-input.js +44 -16
- package/dist/collection/components/six-input/six-input.js.map +1 -1
- package/dist/collection/components/six-item-picker/six-item-picker.js.map +1 -1
- package/dist/collection/components/six-item-picker/types.js +2 -0
- package/dist/collection/components/six-item-picker/types.js.map +1 -1
- package/dist/collection/components/six-main-container/six-main-container.js.map +1 -1
- package/dist/collection/components/six-menu/six-menu.css +8 -7
- package/dist/collection/components/six-menu/six-menu.js +28 -6
- package/dist/collection/components/six-menu/six-menu.js.map +1 -1
- package/dist/collection/components/six-menu/test/six-menu.spec.js +6 -6
- package/dist/collection/components/six-menu/test/six-menu.spec.js.map +1 -1
- package/dist/collection/components/six-menu-divider/six-menu-divider.css +3 -2
- package/dist/collection/components/six-menu-item/six-menu-item.css +13 -2
- package/dist/collection/components/six-menu-item/six-menu-item.js +36 -7
- package/dist/collection/components/six-menu-item/six-menu-item.js.map +1 -1
- package/dist/collection/components/six-menu-label/six-menu-label.css +1 -1
- package/dist/collection/components/six-progress-bar/six-progress-bar.css +1 -1
- package/dist/collection/components/six-progress-ring/six-progress-ring.css +1 -1
- package/dist/collection/components/six-radio/six-radio.css +1 -1
- package/dist/collection/components/six-radio/six-radio.js +3 -2
- package/dist/collection/components/six-radio/six-radio.js.map +1 -1
- package/dist/collection/components/six-range/six-range.css +1 -1
- package/dist/collection/components/six-range/six-range.js +3 -2
- package/dist/collection/components/six-range/six-range.js.map +1 -1
- package/dist/collection/components/six-root/six-root.js +1 -69
- package/dist/collection/components/six-root/six-root.js.map +1 -1
- package/dist/collection/components/six-root/test/six-root.spec.js +0 -7
- package/dist/collection/components/six-root/test/six-root.spec.js.map +1 -1
- package/dist/collection/components/six-search-field/six-search-field.css +1 -1
- package/dist/collection/components/six-select/six-select.css +54 -66
- package/dist/collection/components/six-select/six-select.js +343 -168
- package/dist/collection/components/six-select/six-select.js.map +1 -1
- package/dist/collection/components/six-select/test/six-select.spec.js +31 -15
- package/dist/collection/components/six-select/test/six-select.spec.js.map +1 -1
- package/dist/collection/components/six-sidebar/six-sidebar.css +2 -2
- package/dist/collection/components/six-sidebar/six-sidebar.js +6 -4
- package/dist/collection/components/six-sidebar/six-sidebar.js.map +1 -1
- package/dist/collection/components/six-sidebar-item-group/six-sidebar-item-group.css +1 -1
- package/dist/collection/components/six-spinner/six-spinner.css +1 -1
- package/dist/collection/components/six-stage-indicator/six-stage-indicator.css +1 -1
- package/dist/collection/components/six-switch/six-switch.css +1 -1
- package/dist/collection/components/six-switch/six-switch.js +3 -2
- package/dist/collection/components/six-switch/six-switch.js.map +1 -1
- package/dist/collection/components/six-tab/six-tab.css +1 -1
- package/dist/collection/components/six-tab/six-tab.js +3 -2
- package/dist/collection/components/six-tab/six-tab.js.map +1 -1
- package/dist/collection/components/six-tab-group/six-tab-group.css +1 -1
- package/dist/collection/components/six-tab-group/six-tab-group.js +3 -2
- package/dist/collection/components/six-tab-group/six-tab-group.js.map +1 -1
- package/dist/collection/components/six-tab-panel/six-tab-panel.css +1 -1
- package/dist/collection/components/six-tag/six-tag.css +1 -1
- package/dist/collection/components/six-textarea/six-textarea.css +1 -1
- package/dist/collection/components/six-textarea/six-textarea.js +24 -16
- package/dist/collection/components/six-textarea/six-textarea.js.map +1 -1
- package/dist/collection/components/six-tile/six-tile.css +2 -2
- package/dist/collection/components/six-tile/six-tile.js.map +1 -1
- package/dist/collection/components/six-timepicker/six-timepicker.css +1 -1
- package/dist/collection/components/six-timepicker/six-timepicker.js +3 -2
- package/dist/collection/components/six-timepicker/six-timepicker.js.map +1 -1
- package/dist/collection/components/six-tooltip/six-tooltip.css +1 -1
- package/dist/collection/index.js +1 -0
- package/dist/collection/index.js.map +1 -1
- package/dist/collection/utils/alert.js +54 -0
- package/dist/collection/utils/alert.js.map +1 -0
- package/dist/collection/utils/error-messages.js +7 -0
- package/dist/collection/utils/error-messages.js.map +1 -1
- package/dist/collection/utils/slot.js +0 -1
- package/dist/collection/utils/slot.js.map +1 -1
- package/dist/components/index.js +50 -102
- package/dist/components/index.js.map +1 -1
- package/dist/components/six-alert.js +25 -2
- package/dist/components/six-alert.js.map +1 -1
- package/dist/components/six-avatar.js +1 -1
- package/dist/components/six-avatar.js.map +1 -1
- package/dist/components/six-badge.js +1 -1
- package/dist/components/six-badge.js.map +1 -1
- package/dist/components/six-button.js +1 -142
- package/dist/components/six-button.js.map +1 -1
- package/dist/components/six-button2.js +146 -0
- package/dist/components/six-button2.js.map +1 -0
- package/dist/components/six-card.js +1 -1
- package/dist/components/six-card.js.map +1 -1
- package/dist/components/six-checkbox.js +1 -161
- package/dist/components/six-checkbox.js.map +1 -1
- package/dist/components/six-checkbox2.js +165 -0
- package/dist/components/six-checkbox2.js.map +1 -0
- package/dist/components/six-datepicker.js +2 -1
- package/dist/components/six-datepicker.js.map +1 -1
- package/dist/components/six-details2.js +1 -1
- package/dist/components/six-details2.js.map +1 -1
- package/dist/components/six-dialog.js +1 -1
- package/dist/components/six-dialog.js.map +1 -1
- package/dist/components/six-drawer.js +1 -1
- package/dist/components/six-drawer.js.map +1 -1
- package/dist/components/six-dropdown2.js +199 -125
- package/dist/components/six-dropdown2.js.map +1 -1
- package/dist/components/six-file-list-item.js +1 -1
- package/dist/components/six-file-list-item.js.map +1 -1
- package/dist/components/six-file-upload.js +1 -1
- package/dist/components/six-file-upload.js.map +1 -1
- package/dist/components/six-footer.js +1 -1
- package/dist/components/six-footer.js.map +1 -1
- package/dist/components/six-group-label.js +1 -1
- package/dist/components/six-group-label.js.map +1 -1
- package/dist/components/six-header.js +9 -3
- package/dist/components/six-header.js.map +1 -1
- package/dist/components/six-icon-button2.js +1 -1
- package/dist/components/six-icon-button2.js.map +1 -1
- package/dist/components/six-icon2.js +1 -1
- package/dist/components/six-icon2.js.map +1 -1
- package/dist/components/six-input2.js +4 -1
- package/dist/components/six-input2.js.map +1 -1
- package/dist/components/six-item-picker2.js +2 -0
- package/dist/components/six-item-picker2.js.map +1 -1
- package/dist/components/six-main-container.js.map +1 -1
- package/dist/components/six-menu-divider.js +1 -1
- package/dist/components/six-menu-divider.js.map +1 -1
- package/dist/components/six-menu-item2.js +28 -5
- package/dist/components/six-menu-item2.js.map +1 -1
- package/dist/components/six-menu-label.js +1 -1
- package/dist/components/six-menu-label.js.map +1 -1
- package/dist/components/six-menu2.js +22 -6
- package/dist/components/six-menu2.js.map +1 -1
- package/dist/components/six-progress-bar.js +1 -1
- package/dist/components/six-progress-bar.js.map +1 -1
- package/dist/components/six-progress-ring.js +1 -1
- package/dist/components/six-progress-ring.js.map +1 -1
- package/dist/components/six-radio.js +1 -1
- package/dist/components/six-radio.js.map +1 -1
- package/dist/components/six-range.js +1 -1
- package/dist/components/six-range.js.map +1 -1
- package/dist/components/six-root.js +4 -33
- package/dist/components/six-root.js.map +1 -1
- package/dist/components/six-search-field.js +1 -1
- package/dist/components/six-search-field.js.map +1 -1
- package/dist/components/six-select.js +435 -185
- package/dist/components/six-select.js.map +1 -1
- package/dist/components/six-sidebar-item-group.js +1 -1
- package/dist/components/six-sidebar-item-group.js.map +1 -1
- package/dist/components/six-sidebar.js +1 -1
- package/dist/components/six-sidebar.js.map +1 -1
- package/dist/components/six-spinner2.js +1 -1
- package/dist/components/six-spinner2.js.map +1 -1
- package/dist/components/six-stage-indicator2.js +1 -1
- package/dist/components/six-stage-indicator2.js.map +1 -1
- package/dist/components/six-switch.js +1 -1
- package/dist/components/six-switch.js.map +1 -1
- package/dist/components/six-tab-group.js +1 -1
- package/dist/components/six-tab-group.js.map +1 -1
- package/dist/components/six-tab-panel.js +1 -1
- package/dist/components/six-tab-panel.js.map +1 -1
- package/dist/components/six-tab.js +1 -1
- package/dist/components/six-tab.js.map +1 -1
- package/dist/components/six-tag.js +98 -1
- package/dist/components/six-tag.js.map +1 -1
- package/dist/components/six-textarea.js +1 -1
- package/dist/components/six-textarea.js.map +1 -1
- package/dist/components/six-tile.js +1 -1
- package/dist/components/six-tile.js.map +1 -1
- package/dist/components/six-timepicker2.js +1 -1
- package/dist/components/six-timepicker2.js.map +1 -1
- package/dist/components/six-tooltip2.js +1 -1
- package/dist/components/six-tooltip2.js.map +1 -1
- package/dist/components/slot.js +1 -2
- package/dist/components/slot.js.map +1 -1
- package/dist/components.d.ts +1 -21
- package/dist/components.json +566 -227
- package/dist/esm/error-messages-1eaaad23.js +115 -0
- package/dist/esm/error-messages-1eaaad23.js.map +1 -0
- package/dist/esm/{form-control-6b30894f.js → form-control-d403a9cf.js} +2 -2
- package/dist/esm/{form-control-6b30894f.js.map → form-control-d403a9cf.js.map} +1 -1
- package/dist/esm/{index-17d8173e.js → index-79d4ef67.js} +53 -490
- package/dist/esm/index-79d4ef67.js.map +1 -0
- package/dist/esm/index.js +51 -100
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/loader.js +3 -3
- package/dist/esm/six-alert.entry.js +26 -3
- package/dist/esm/six-alert.entry.js.map +1 -1
- package/dist/esm/six-avatar.entry.js +2 -2
- package/dist/esm/six-avatar.entry.js.map +1 -1
- package/dist/esm/six-badge.entry.js +2 -2
- package/dist/esm/six-badge.entry.js.map +1 -1
- package/dist/esm/six-button.entry.js +3 -3
- package/dist/esm/six-button.entry.js.map +1 -1
- package/dist/esm/six-card.entry.js +2 -2
- package/dist/esm/six-card.entry.js.map +1 -1
- package/dist/esm/six-checkbox_2.entry.js +185 -0
- package/dist/esm/six-checkbox_2.entry.js.map +1 -0
- package/dist/esm/six-datepicker.entry.js +4 -3
- package/dist/esm/six-datepicker.entry.js.map +1 -1
- package/dist/esm/six-details.entry.js +2 -2
- package/dist/esm/six-details.entry.js.map +1 -1
- package/dist/esm/six-dialog.entry.js +3 -3
- package/dist/esm/six-dialog.entry.js.map +1 -1
- package/dist/esm/six-drawer.entry.js +3 -3
- package/dist/esm/six-drawer.entry.js.map +1 -1
- package/dist/esm/six-dropdown_2.entry.js +196 -126
- package/dist/esm/six-dropdown_2.entry.js.map +1 -1
- package/dist/esm/six-error-page.entry.js +1 -1
- package/dist/esm/six-error.entry.js +1 -1
- package/dist/esm/six-file-list-item.entry.js +2 -2
- package/dist/esm/six-file-list-item.entry.js.map +1 -1
- package/dist/esm/six-file-list.entry.js +1 -1
- package/dist/esm/six-file-upload.entry.js +2 -2
- package/dist/esm/six-file-upload.entry.js.map +1 -1
- package/dist/esm/six-footer.entry.js +2 -2
- package/dist/esm/six-footer.entry.js.map +1 -1
- package/dist/esm/six-group-label.entry.js +4 -4
- package/dist/esm/six-group-label.entry.js.map +1 -1
- package/dist/esm/six-header.entry.js +4 -4
- package/dist/esm/six-header.entry.js.map +1 -1
- package/dist/esm/six-icon-button.entry.js +2 -2
- package/dist/esm/six-icon-button.entry.js.map +1 -1
- package/dist/esm/six-icon.entry.js +2 -2
- package/dist/esm/six-icon.entry.js.map +1 -1
- package/dist/esm/six-input.entry.js +6 -4
- package/dist/esm/six-input.entry.js.map +1 -1
- package/dist/esm/six-item-picker.entry.js +2 -2
- package/dist/esm/six-item-picker.entry.js.map +1 -1
- package/dist/esm/six-language-switcher.entry.js +1 -1
- package/dist/esm/six-layout-grid.entry.js +1 -1
- package/dist/esm/six-main-container.entry.js +1 -1
- package/dist/esm/six-main-container.entry.js.map +1 -1
- package/dist/esm/six-menu-divider.entry.js +2 -2
- package/dist/esm/six-menu-divider.entry.js.map +1 -1
- package/dist/esm/six-menu-label.entry.js +2 -2
- package/dist/esm/six-menu-label.entry.js.map +1 -1
- package/dist/esm/six-picto.entry.js +1 -1
- package/dist/esm/six-progress-bar.entry.js +2 -2
- package/dist/esm/six-progress-bar.entry.js.map +1 -1
- package/dist/esm/six-progress-ring.entry.js +2 -2
- package/dist/esm/six-progress-ring.entry.js.map +1 -1
- package/dist/esm/six-radio.entry.js +2 -2
- package/dist/esm/six-radio.entry.js.map +1 -1
- package/dist/esm/six-range.entry.js +4 -4
- package/dist/esm/six-range.entry.js.map +1 -1
- package/dist/esm/six-root.entry.js +2 -21
- package/dist/esm/six-root.entry.js.map +1 -1
- package/dist/esm/six-search-field.entry.js +2 -2
- package/dist/esm/six-search-field.entry.js.map +1 -1
- package/dist/esm/six-select.entry.js +300 -169
- package/dist/esm/six-select.entry.js.map +1 -1
- package/dist/esm/six-sidebar-item-group.entry.js +3 -3
- package/dist/esm/six-sidebar-item-group.entry.js.map +1 -1
- package/dist/esm/six-sidebar-item.entry.js +1 -1
- package/dist/esm/six-sidebar.entry.js +2 -2
- package/dist/esm/six-sidebar.entry.js.map +1 -1
- package/dist/esm/six-spinner.entry.js +2 -2
- package/dist/esm/six-spinner.entry.js.map +1 -1
- package/dist/esm/six-stage-indicator.entry.js +18 -0
- package/dist/esm/six-stage-indicator.entry.js.map +1 -0
- package/dist/esm/six-switch.entry.js +4 -4
- package/dist/esm/six-switch.entry.js.map +1 -1
- package/dist/esm/six-tab-group.entry.js +2 -2
- package/dist/esm/six-tab-group.entry.js.map +1 -1
- package/dist/esm/six-tab-panel.entry.js +2 -2
- package/dist/esm/six-tab-panel.entry.js.map +1 -1
- package/dist/esm/six-tab.entry.js +2 -2
- package/dist/esm/six-tab.entry.js.map +1 -1
- package/dist/esm/six-tag.entry.js +3 -3
- package/dist/esm/six-tag.entry.js.map +1 -1
- package/dist/esm/six-textarea.entry.js +4 -4
- package/dist/esm/six-textarea.entry.js.map +1 -1
- package/dist/esm/six-tile.entry.js +3 -3
- package/dist/esm/six-tile.entry.js.map +1 -1
- package/dist/esm/six-timepicker.entry.js +4 -4
- package/dist/esm/six-timepicker.entry.js.map +1 -1
- package/dist/esm/six-tooltip.entry.js +2 -2
- package/dist/esm/six-tooltip.entry.js.map +1 -1
- package/dist/esm/{slot-41bc439a.js → slot-56531341.js} +2 -3
- package/dist/esm/slot-56531341.js.map +1 -0
- package/dist/esm/{types-07748c42.js → types-a07bb999.js} +3 -1
- package/dist/esm/types-a07bb999.js.map +1 -0
- package/dist/esm/ui-library.js +4 -4
- package/dist/esm/ui-library.js.map +1 -1
- package/dist/types/components/six-alert/six-alert.d.ts +5 -2
- package/dist/types/components/six-dropdown/six-dropdown.d.ts +28 -9
- package/dist/types/components/six-input/six-input.d.ts +4 -0
- package/dist/types/components/six-menu/six-menu.d.ts +4 -0
- package/dist/types/components/six-menu-item/six-menu-item.d.ts +7 -1
- package/dist/types/components/six-root/six-root.d.ts +0 -13
- package/dist/types/components/six-select/six-select.d.ts +27 -12
- package/dist/types/components.d.ts +60 -56
- package/dist/types/index.d.ts +1 -0
- package/dist/types/types.d.ts +1 -0
- package/dist/types/utils/alert.d.ts +10 -0
- package/dist/types/utils/error-messages.d.ts +1 -0
- package/dist/types/utils/slot.d.ts +0 -1
- package/dist/ui-library/index.esm.js +1 -1
- package/dist/ui-library/index.esm.js.map +1 -1
- package/dist/ui-library/p-0440335d.entry.js +2 -0
- package/dist/ui-library/{p-c12a94ce.entry.js.map → p-0440335d.entry.js.map} +1 -1
- package/dist/ui-library/p-04cc397c.entry.js +2 -0
- package/dist/ui-library/{p-58661675.entry.js.map → p-04cc397c.entry.js.map} +1 -1
- package/dist/ui-library/p-0cebf1d2.js +2 -0
- package/dist/ui-library/p-0cebf1d2.js.map +1 -0
- package/dist/ui-library/p-0edd3091.entry.js +2 -0
- package/dist/ui-library/{p-a0658b26.entry.js.map → p-0edd3091.entry.js.map} +1 -1
- package/dist/ui-library/p-150b7664.entry.js +2 -0
- package/dist/ui-library/{p-a4e4620c.entry.js.map → p-150b7664.entry.js.map} +1 -1
- package/dist/ui-library/{p-c86aa5b3.entry.js → p-1f5840b5.entry.js} +2 -2
- package/dist/ui-library/p-28cc013e.entry.js +2 -0
- package/dist/ui-library/p-28cc013e.entry.js.map +1 -0
- package/dist/ui-library/p-3424bbc0.entry.js +2 -0
- package/dist/ui-library/p-3424bbc0.entry.js.map +1 -0
- package/dist/ui-library/p-348c68a8.entry.js +2 -0
- package/dist/ui-library/p-348c68a8.entry.js.map +1 -0
- package/dist/ui-library/p-3723ca06.entry.js +2 -0
- package/dist/ui-library/p-3723ca06.entry.js.map +1 -0
- package/dist/ui-library/p-37aeac5e.entry.js +2 -0
- package/dist/ui-library/{p-19a61686.entry.js.map → p-37aeac5e.entry.js.map} +1 -1
- package/dist/ui-library/p-3d7fb086.entry.js +2 -0
- package/dist/ui-library/p-3d7fb086.entry.js.map +1 -0
- package/dist/ui-library/{p-74a714c0.entry.js → p-457f7373.entry.js} +2 -2
- package/dist/ui-library/{p-74a714c0.entry.js.map → p-457f7373.entry.js.map} +1 -1
- package/dist/ui-library/p-4a667f31.entry.js +2 -0
- package/dist/ui-library/p-4a667f31.entry.js.map +1 -0
- package/dist/ui-library/p-50dae789.entry.js +2 -0
- package/dist/ui-library/{p-6aa2929a.entry.js.map → p-50dae789.entry.js.map} +1 -1
- package/dist/ui-library/{p-c1675a45.entry.js → p-546e33d9.entry.js} +2 -2
- package/dist/ui-library/{p-1d0c5929.entry.js → p-5db3a705.entry.js} +2 -2
- package/dist/ui-library/{p-1d0c5929.entry.js.map → p-5db3a705.entry.js.map} +1 -1
- package/dist/ui-library/{p-6907a7dc.js → p-61e66671.js} +2 -2
- package/dist/ui-library/p-6296779b.entry.js +2 -0
- package/dist/ui-library/{p-bdb79948.entry.js.map → p-6296779b.entry.js.map} +1 -1
- package/dist/ui-library/p-64b4755d.entry.js +2 -0
- package/dist/ui-library/{p-3187bc23.entry.js.map → p-64b4755d.entry.js.map} +1 -1
- package/dist/ui-library/p-664b7913.entry.js +2 -0
- package/dist/ui-library/p-664b7913.entry.js.map +1 -0
- package/dist/ui-library/p-6c1b046e.entry.js +2 -0
- package/dist/ui-library/p-6c1b046e.entry.js.map +1 -0
- package/dist/ui-library/p-7115316e.entry.js +2 -0
- package/dist/ui-library/p-7115316e.entry.js.map +1 -0
- package/dist/ui-library/{p-0861899a.js → p-862d474e.js} +1 -1
- package/dist/ui-library/p-862d474e.js.map +1 -0
- package/dist/ui-library/p-870b988d.entry.js +2 -0
- package/dist/ui-library/{p-479d8087.entry.js.map → p-870b988d.entry.js.map} +1 -1
- package/dist/ui-library/{p-d310a6dd.entry.js → p-884c5cf9.entry.js} +2 -2
- package/dist/ui-library/p-8888a367.entry.js +2 -0
- package/dist/ui-library/{p-ee71e3a3.entry.js.map → p-8888a367.entry.js.map} +1 -1
- package/dist/ui-library/{p-816f857d.entry.js → p-935c78a7.entry.js} +2 -2
- package/dist/ui-library/p-961bd001.entry.js +2 -0
- package/dist/ui-library/{p-fcd57e0a.entry.js.map → p-961bd001.entry.js.map} +1 -1
- package/dist/ui-library/{p-bee65dd9.entry.js → p-9b08068d.entry.js} +2 -2
- package/dist/ui-library/p-9b08068d.entry.js.map +1 -0
- package/dist/ui-library/p-9c79341d.entry.js +2 -0
- package/dist/ui-library/{p-3d54ecf2.entry.js.map → p-9c79341d.entry.js.map} +1 -1
- package/dist/ui-library/{p-cd35b3c6.entry.js → p-a9c159f2.entry.js} +2 -2
- package/dist/ui-library/p-ac57ba5c.entry.js +2 -0
- package/dist/ui-library/{p-ada23fe3.entry.js.map → p-ac57ba5c.entry.js.map} +1 -1
- package/dist/ui-library/p-ae45f6f4.entry.js +2 -0
- package/dist/ui-library/p-ae45f6f4.entry.js.map +1 -0
- package/dist/ui-library/p-af15381b.js +3 -0
- package/dist/ui-library/p-af15381b.js.map +1 -0
- package/dist/ui-library/p-b1a5f3cd.entry.js +2 -0
- package/dist/ui-library/p-b1a5f3cd.entry.js.map +1 -0
- package/dist/ui-library/p-b385a241.entry.js +2 -0
- package/dist/ui-library/{p-b5ac1219.entry.js.map → p-b385a241.entry.js.map} +1 -1
- package/dist/ui-library/p-c2c7370b.entry.js +2 -0
- package/dist/ui-library/{p-911eb578.entry.js.map → p-c2c7370b.entry.js.map} +1 -1
- package/dist/ui-library/p-caea1eb6.entry.js +2 -0
- package/dist/ui-library/{p-ce373da5.entry.js.map → p-caea1eb6.entry.js.map} +1 -1
- package/dist/ui-library/{p-d2cf4280.entry.js → p-d3f5b9a8.entry.js} +2 -2
- package/dist/ui-library/p-d42b18eb.entry.js +2 -0
- package/dist/ui-library/{p-7432d409.entry.js.map → p-d42b18eb.entry.js.map} +1 -1
- package/dist/ui-library/p-d769cc36.entry.js +2 -0
- package/dist/ui-library/p-d769cc36.entry.js.map +1 -0
- package/dist/ui-library/p-d95e292e.entry.js +2 -0
- package/dist/ui-library/{p-c07b1240.entry.js.map → p-d95e292e.entry.js.map} +1 -1
- package/dist/ui-library/p-da7f3dbd.entry.js +2 -0
- package/dist/ui-library/p-da7f3dbd.entry.js.map +1 -0
- package/dist/ui-library/p-dfb89b6a.entry.js +2 -0
- package/dist/ui-library/p-dfb89b6a.entry.js.map +1 -0
- package/dist/ui-library/p-e080d5b6.js +2 -0
- package/dist/ui-library/p-e080d5b6.js.map +1 -0
- package/dist/ui-library/p-e6032375.entry.js +2 -0
- package/dist/ui-library/p-e6032375.entry.js.map +1 -0
- package/dist/ui-library/p-e60d2324.entry.js +2 -0
- package/dist/ui-library/p-e60d2324.entry.js.map +1 -0
- package/dist/ui-library/p-e8298c6e.entry.js +2 -0
- package/dist/ui-library/{p-882fbf6f.entry.js.map → p-e8298c6e.entry.js.map} +1 -1
- package/dist/ui-library/p-ed279165.entry.js +2 -0
- package/dist/ui-library/p-ed279165.entry.js.map +1 -0
- package/dist/ui-library/p-ed61b75c.entry.js +2 -0
- package/dist/ui-library/p-ed61b75c.entry.js.map +1 -0
- package/dist/ui-library/p-ee872c04.entry.js +2 -0
- package/dist/ui-library/p-ee872c04.entry.js.map +1 -0
- package/dist/ui-library/p-f1ab3384.entry.js +2 -0
- package/dist/ui-library/{p-23c02c98.entry.js.map → p-f1ab3384.entry.js.map} +1 -1
- package/dist/ui-library/p-f4ef481c.entry.js +2 -0
- package/dist/ui-library/p-f4ef481c.entry.js.map +1 -0
- package/dist/ui-library/{p-f73a6bdc.entry.js → p-f8cbb8da.entry.js} +2 -2
- package/dist/ui-library/ui-library.css +1 -10
- package/dist/ui-library/ui-library.esm.js +1 -1
- package/dist/ui-library/ui-library.esm.js.map +1 -1
- package/package.json +5 -8
- package/dist/cjs/index-3baddcdc.js.map +0 -1
- package/dist/cjs/set-attributes_2.cjs.entry.js +0 -73
- package/dist/cjs/set-attributes_2.cjs.entry.js.map +0 -1
- package/dist/cjs/six-checkbox.cjs.entry.js +0 -127
- package/dist/cjs/six-checkbox.cjs.entry.js.map +0 -1
- package/dist/cjs/six-menu-item.cjs.entry.js +0 -63
- package/dist/cjs/six-menu-item.cjs.entry.js.map +0 -1
- package/dist/cjs/slot-9821749e.js.map +0 -1
- package/dist/cjs/types-0a6d66f6.js.map +0 -1
- package/dist/collection/wrappers/set-attributes/set-attributes.js +0 -74
- package/dist/collection/wrappers/set-attributes/set-attributes.js.map +0 -1
- package/dist/collection/wrappers/set-attributes/test/set-attributes.spec.js +0 -16
- package/dist/collection/wrappers/set-attributes/test/set-attributes.spec.js.map +0 -1
- package/dist/components/set-attributes.d.ts +0 -11
- package/dist/components/set-attributes.js +0 -8
- package/dist/components/set-attributes.js.map +0 -1
- package/dist/components/set-attributes2.js +0 -73
- package/dist/components/set-attributes2.js.map +0 -1
- package/dist/components/six-tag2.js +0 -102
- package/dist/components/six-tag2.js.map +0 -1
- package/dist/esm/index-17d8173e.js.map +0 -1
- package/dist/esm/set-attributes_2.entry.js +0 -68
- package/dist/esm/set-attributes_2.entry.js.map +0 -1
- package/dist/esm/six-checkbox.entry.js +0 -123
- package/dist/esm/six-checkbox.entry.js.map +0 -1
- package/dist/esm/six-menu-item.entry.js +0 -59
- package/dist/esm/six-menu-item.entry.js.map +0 -1
- package/dist/esm/slot-41bc439a.js.map +0 -1
- package/dist/esm/types-07748c42.js.map +0 -1
- package/dist/types/wrappers/set-attributes/set-attributes.d.ts +0 -9
- package/dist/ui-library/p-0861899a.js.map +0 -1
- package/dist/ui-library/p-0a81b42c.entry.js +0 -2
- package/dist/ui-library/p-0a81b42c.entry.js.map +0 -1
- package/dist/ui-library/p-0beec94f.js +0 -3
- package/dist/ui-library/p-0beec94f.js.map +0 -1
- package/dist/ui-library/p-0e7332db.entry.js +0 -2
- package/dist/ui-library/p-0e7332db.entry.js.map +0 -1
- package/dist/ui-library/p-178f5782.entry.js +0 -2
- package/dist/ui-library/p-178f5782.entry.js.map +0 -1
- package/dist/ui-library/p-19a61686.entry.js +0 -2
- package/dist/ui-library/p-23c02c98.entry.js +0 -2
- package/dist/ui-library/p-28221447.entry.js +0 -2
- package/dist/ui-library/p-28221447.entry.js.map +0 -1
- package/dist/ui-library/p-2b59175f.entry.js +0 -2
- package/dist/ui-library/p-2b59175f.entry.js.map +0 -1
- package/dist/ui-library/p-2eed9d8d.entry.js +0 -2
- package/dist/ui-library/p-2eed9d8d.entry.js.map +0 -1
- package/dist/ui-library/p-3187bc23.entry.js +0 -2
- package/dist/ui-library/p-32e1a5ab.entry.js +0 -2
- package/dist/ui-library/p-32e1a5ab.entry.js.map +0 -1
- package/dist/ui-library/p-3d54ecf2.entry.js +0 -2
- package/dist/ui-library/p-4229f7e8.entry.js +0 -2
- package/dist/ui-library/p-4229f7e8.entry.js.map +0 -1
- package/dist/ui-library/p-479d8087.entry.js +0 -2
- package/dist/ui-library/p-49aa8d1e.entry.js +0 -2
- package/dist/ui-library/p-49aa8d1e.entry.js.map +0 -1
- package/dist/ui-library/p-58661675.entry.js +0 -2
- package/dist/ui-library/p-5d43ea07.entry.js +0 -2
- package/dist/ui-library/p-5d43ea07.entry.js.map +0 -1
- package/dist/ui-library/p-6aa2929a.entry.js +0 -2
- package/dist/ui-library/p-7432d409.entry.js +0 -2
- package/dist/ui-library/p-76825395.entry.js +0 -2
- package/dist/ui-library/p-76825395.entry.js.map +0 -1
- package/dist/ui-library/p-882fbf6f.entry.js +0 -2
- package/dist/ui-library/p-88fd4973.entry.js +0 -2
- package/dist/ui-library/p-88fd4973.entry.js.map +0 -1
- package/dist/ui-library/p-8b750c9e.entry.js +0 -2
- package/dist/ui-library/p-8b750c9e.entry.js.map +0 -1
- package/dist/ui-library/p-911eb578.entry.js +0 -2
- package/dist/ui-library/p-93fcda4a.entry.js +0 -2
- package/dist/ui-library/p-93fcda4a.entry.js.map +0 -1
- package/dist/ui-library/p-981b3228.entry.js +0 -2
- package/dist/ui-library/p-981b3228.entry.js.map +0 -1
- package/dist/ui-library/p-9b1ff147.entry.js +0 -2
- package/dist/ui-library/p-9b1ff147.entry.js.map +0 -1
- package/dist/ui-library/p-a0658b26.entry.js +0 -2
- package/dist/ui-library/p-a4e4620c.entry.js +0 -2
- package/dist/ui-library/p-ada23fe3.entry.js +0 -2
- package/dist/ui-library/p-b5ac1219.entry.js +0 -2
- package/dist/ui-library/p-ba247565.entry.js +0 -2
- package/dist/ui-library/p-ba247565.entry.js.map +0 -1
- package/dist/ui-library/p-bdb79948.entry.js +0 -2
- package/dist/ui-library/p-bee65dd9.entry.js.map +0 -1
- package/dist/ui-library/p-c07b1240.entry.js +0 -2
- package/dist/ui-library/p-c12a94ce.entry.js +0 -2
- package/dist/ui-library/p-c2df8c27.entry.js +0 -2
- package/dist/ui-library/p-c2df8c27.entry.js.map +0 -1
- package/dist/ui-library/p-ce373da5.entry.js +0 -2
- package/dist/ui-library/p-dfb6bff6.entry.js +0 -2
- package/dist/ui-library/p-dfb6bff6.entry.js.map +0 -1
- package/dist/ui-library/p-ee71e3a3.entry.js +0 -2
- package/dist/ui-library/p-ef317d69.entry.js +0 -2
- package/dist/ui-library/p-ef317d69.entry.js.map +0 -1
- package/dist/ui-library/p-f385f1c2.entry.js +0 -2
- package/dist/ui-library/p-f385f1c2.entry.js.map +0 -1
- package/dist/ui-library/p-faa04bb5.js +0 -2
- package/dist/ui-library/p-faa04bb5.js.map +0 -1
- package/dist/ui-library/p-fcd57e0a.entry.js +0 -2
- /package/dist/ui-library/{p-c86aa5b3.entry.js.map → p-1f5840b5.entry.js.map} +0 -0
- /package/dist/ui-library/{p-c1675a45.entry.js.map → p-546e33d9.entry.js.map} +0 -0
- /package/dist/ui-library/{p-6907a7dc.js.map → p-61e66671.js.map} +0 -0
- /package/dist/ui-library/{p-d310a6dd.entry.js.map → p-884c5cf9.entry.js.map} +0 -0
- /package/dist/ui-library/{p-816f857d.entry.js.map → p-935c78a7.entry.js.map} +0 -0
- /package/dist/ui-library/{p-cd35b3c6.entry.js.map → p-a9c159f2.entry.js.map} +0 -0
- /package/dist/ui-library/{p-d2cf4280.entry.js.map → p-d3f5b9a8.entry.js.map} +0 -0
- /package/dist/ui-library/{p-f73a6bdc.entry.js.map → p-f8cbb8da.entry.js.map} +0 -0
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Displays an alert on the toast stack with a specified message and optional configuration.
|
|
3
|
+
*
|
|
4
|
+
* @param message - The message to be displayed in the alert.
|
|
5
|
+
* @param alertType - The type of the alert. Valid values are 'primary', 'info', 'success', 'warning', 'danger'. Default is 'info'.
|
|
6
|
+
* @param duration - The duration in milliseconds for which the alert is displayed. If not provided, a default duration is set based on the alert type.
|
|
7
|
+
* @param iconName - The name of the icon to be displayed in the alert. If not provided, a default icon is set based on the alert type.
|
|
8
|
+
*/
|
|
9
|
+
export function showAlert(message, alertType, duration, iconName) {
|
|
10
|
+
const type = alertType !== null && alertType !== void 0 ? alertType : 'info';
|
|
11
|
+
const icon = iconName !== null && iconName !== void 0 ? iconName : getIcon(type);
|
|
12
|
+
const alert = Object.assign(document.createElement('six-alert'), {
|
|
13
|
+
type,
|
|
14
|
+
duration: duration !== null && duration !== void 0 ? duration : getDuration(type),
|
|
15
|
+
innerHTML: `<six-icon slot="icon">${icon}</six-icon>${escapeHtml(message)}`,
|
|
16
|
+
closable: true,
|
|
17
|
+
});
|
|
18
|
+
document.body.append(alert);
|
|
19
|
+
alert.toast();
|
|
20
|
+
}
|
|
21
|
+
function escapeHtml(html) {
|
|
22
|
+
const div = document.createElement('div');
|
|
23
|
+
div.textContent = html;
|
|
24
|
+
return div.innerHTML;
|
|
25
|
+
}
|
|
26
|
+
function getIcon(messageType) {
|
|
27
|
+
switch (messageType) {
|
|
28
|
+
case 'primary':
|
|
29
|
+
return 'info';
|
|
30
|
+
case 'info':
|
|
31
|
+
return 'info';
|
|
32
|
+
case 'success':
|
|
33
|
+
return 'check_circle';
|
|
34
|
+
case 'warning':
|
|
35
|
+
return 'warning';
|
|
36
|
+
case 'danger':
|
|
37
|
+
return 'report';
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
function getDuration(messageType) {
|
|
41
|
+
switch (messageType) {
|
|
42
|
+
case 'primary':
|
|
43
|
+
return 10000;
|
|
44
|
+
case 'info':
|
|
45
|
+
return 10000;
|
|
46
|
+
case 'success':
|
|
47
|
+
return 10000;
|
|
48
|
+
case 'warning':
|
|
49
|
+
return 20000;
|
|
50
|
+
case 'danger':
|
|
51
|
+
return 20000;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=alert.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alert.js","sourceRoot":"","sources":["../../src/utils/alert.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,MAAM,UAAU,SAAS,CAAC,OAAe,EAAE,SAAqB,EAAE,QAAiB,EAAE,QAAiB;IACpG,MAAM,IAAI,GAAG,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,MAAM,CAAC;IACjC,MAAM,IAAI,GAAG,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE;QAC/D,IAAI;QACJ,QAAQ,EAAE,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,WAAW,CAAC,IAAI,CAAC;QACvC,SAAS,EAAE,yBAAyB,IAAI,cAAc,UAAU,CAAC,OAAO,CAAC,EAAE;QAC3E,QAAQ,EAAE,IAAI;KACf,CAAC,CAAC;IACH,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5B,KAAK,CAAC,KAAK,EAAE,CAAC;AAChB,CAAC;AAED,SAAS,UAAU,CAAC,IAAY;IAC9B,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC1C,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC;IACvB,OAAO,GAAG,CAAC,SAAS,CAAC;AACvB,CAAC;AAED,SAAS,OAAO,CAAC,WAAsB;IACrC,QAAQ,WAAW,EAAE;QACnB,KAAK,SAAS;YACZ,OAAO,MAAM,CAAC;QAChB,KAAK,MAAM;YACT,OAAO,MAAM,CAAC;QAChB,KAAK,SAAS;YACZ,OAAO,cAAc,CAAC;QACxB,KAAK,SAAS;YACZ,OAAO,SAAS,CAAC;QACnB,KAAK,QAAQ;YACX,OAAO,QAAQ,CAAC;KACnB;AACH,CAAC;AAED,SAAS,WAAW,CAAC,WAAsB;IACzC,QAAQ,WAAW,EAAE;QACnB,KAAK,SAAS;YACZ,OAAO,KAAK,CAAC;QACf,KAAK,MAAM;YACT,OAAO,KAAK,CAAC;QACf,KAAK,SAAS;YACZ,OAAO,KAAK,CAAC;QACf,KAAK,SAAS;YACZ,OAAO,KAAK,CAAC;QACf,KAAK,QAAQ;YACX,OAAO,KAAK,CAAC;KAChB;AACH,CAAC","sourcesContent":["import { AlertType } from '../components/six-alert/six-alert';\n\n/**\n * Displays an alert on the toast stack with a specified message and optional configuration.\n *\n * @param message - The message to be displayed in the alert.\n * @param alertType - The type of the alert. Valid values are 'primary', 'info', 'success', 'warning', 'danger'. Default is 'info'.\n * @param duration - The duration in milliseconds for which the alert is displayed. If not provided, a default duration is set based on the alert type.\n * @param iconName - The name of the icon to be displayed in the alert. If not provided, a default icon is set based on the alert type.\n */\nexport function showAlert(message: string, alertType?: AlertType, duration?: number, iconName?: string): void {\n const type = alertType ?? 'info';\n const icon = iconName ?? getIcon(type);\n const alert = Object.assign(document.createElement('six-alert'), {\n type,\n duration: duration ?? getDuration(type),\n innerHTML: `<six-icon slot=\"icon\">${icon}</six-icon>${escapeHtml(message)}`,\n closable: true,\n });\n document.body.append(alert);\n alert.toast();\n}\n\nfunction escapeHtml(html: string): string {\n const div = document.createElement('div');\n div.textContent = html;\n return div.innerHTML;\n}\n\nfunction getIcon(messageType: AlertType): string {\n switch (messageType) {\n case 'primary':\n return 'info';\n case 'info':\n return 'info';\n case 'success':\n return 'check_circle';\n case 'warning':\n return 'warning';\n case 'danger':\n return 'report';\n }\n}\n\nfunction getDuration(messageType: AlertType): number {\n switch (messageType) {\n case 'primary':\n return 10000;\n case 'info':\n return 10000;\n case 'success':\n return 10000;\n case 'warning':\n return 20000;\n case 'danger':\n return 20000;\n }\n}\n"]}
|
|
@@ -35,6 +35,13 @@ export function getErrorMessage(language, error) {
|
|
|
35
35
|
return undefined;
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
|
+
export function getLanguage() {
|
|
39
|
+
const documentLang = document.documentElement.lang;
|
|
40
|
+
if (languages.includes(documentLang)) {
|
|
41
|
+
return documentLang;
|
|
42
|
+
}
|
|
43
|
+
return 'de';
|
|
44
|
+
}
|
|
38
45
|
const translation = {
|
|
39
46
|
en: {
|
|
40
47
|
required: 'Please fill out this field.',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error-messages.js","sourceRoot":"","sources":["../../src/utils/error-messages.ts"],"names":[],"mappings":"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","sourcesContent":["export const languages = ['de', 'fr', 'it', 'en', 'es'] as const;\nexport type Language = (typeof languages)[number];\n\nconst dateFormat = new Intl.DateTimeFormat('de-CH');\n\nexport type ValidationError =\n | { key: 'required' }\n | { key: 'requiredtrue' }\n | { key: 'email'; requiredPattern: string }\n | { key: 'minlength'; requiredLength: number }\n | { key: 'maxlength'; requiredLength: number }\n | { key: 'pattern'; requiredPattern: string }\n | { key: 'min'; min: number }\n | { key: 'max'; max: number }\n | { key: 'mindate'; mindate: Date; actual: Date }\n | { key: 'maxdate'; maxdate: Date; actual: Date }\n | { key: 'invaliddate'; actual: Date }\n | { key: 'custom'; text: string };\n\n/**\n * Returns an error message for the given language and error.\n */\nexport function getErrorMessage(language: Language, error: ValidationError): string | undefined {\n try {\n const message = translation[language][error.key];\n switch (error.key) {\n case 'required':\n case 'requiredtrue':\n case 'email':\n return message;\n case 'minlength':\n case 'maxlength':\n return message.replace('{requiredLength}', String(error.requiredLength));\n case 'pattern':\n return message.replace('{pattern}', String(error.requiredPattern));\n case 'min':\n return message.replace('{min}', String(error.min));\n case 'max':\n return message.replace('{max}', String(error.max));\n case 'mindate':\n return message.replace('{mindate}', dateFormat.format(error.mindate));\n case 'maxdate':\n return message.replace('{maxdate}', dateFormat.format(error.maxdate));\n case 'invaliddate':\n return message;\n case 'custom':\n return error.text;\n }\n } catch (e) {\n console.warn(`no error message in '${language}' for error:`, error);\n return undefined;\n }\n}\n\nconst translation: Record<Language, Record<string, string>> = {\n en: {\n required: 'Please fill out this field.',\n minlength: 'Please enter at least {requiredLength} characters.',\n maxlength: 'Please enter no more than {requiredLength} characters.',\n pattern: 'Please enter a value that matches the pattern: {pattern}.',\n email: 'Please enter a valid email address.',\n min: 'Please enter a value greater than or equal to {min}.',\n max: 'Please enter a value less than or equal to {max}.',\n requiredtrue: 'Please check this field.',\n mindate: 'Please enter a date on or after {mindate}.',\n maxdate: 'Please enter a date on or before {maxdate}.',\n invaliddate: 'Please enter a valid date.',\n },\n fr: {\n required: \"Veuillez remplir ce champ s'il vous plaît.\",\n minlength: 'Veuillez entrer au moins {requiredLength} caractères.',\n maxlength: 'Veuillez entrer au maximum {requiredLength} caractères.',\n pattern: 'Veuillez entrer une valeur qui correspond au format : {pattern}.',\n email: 'Veuillez entrer une adresse email valide.',\n min: 'Veuillez entrer une valeur supérieure ou égale à {min}.',\n max: 'Veuillez entrer une valeur inférieure ou égale à {max}.',\n requiredtrue: \"Veuillez cocher cette case s'il vous plaît.\",\n mindate: 'Veuillez entrer une date le {mindate} ou après.',\n maxdate: 'Veuillez entrer une date le {maxdate} ou avant.',\n invaliddate: 'Veuillez entrer une date valide.',\n },\n de: {\n required: 'Bitte füllen Sie dieses Feld aus.',\n minlength: 'Bitte geben Sie mindestens {requiredLength} Zeichen ein.',\n maxlength: 'Bitte geben Sie höchstens {requiredLength} Zeichen ein.',\n pattern: 'Bitte geben Sie einen Wert ein, der dem Muster entspricht: {pattern}.',\n email: 'Bitte geben Sie eine gültige E-Mail-Adresse ein.',\n min: 'Bitte geben Sie einen Wert größer oder gleich {min} ein.',\n max: 'Bitte geben Sie einen Wert kleiner oder gleich {max} ein.',\n requiredtrue: 'Bitte aktivieren Sie dieses Feld.',\n mindate: 'Bitte geben Sie ein Datum am oder nach dem {mindate} ein.',\n maxdate: 'Bitte geben Sie ein Datum am oder vor dem {maxdate} ein.',\n invaliddate: 'Bitte geben Sie ein gültiges Datum ein.',\n },\n it: {\n required: 'Si prega di compilare questo campo.',\n minlength: 'Si prega di inserire almeno {requiredLength} caratteri.',\n maxlength: 'Si prega di inserire al massimo {requiredLength} caratteri.',\n pattern: 'Si prega di inserire un valore che corrisponde al formato: {pattern}.',\n email: 'Si prega di inserire un indirizzo email valido.',\n min: 'Si prega di inserire un valore maggiore o uguale a {min}.',\n max: 'Si prega di inserire un valore minore o uguale a {max}.',\n requiredtrue: 'Si prega di spuntare questo campo.',\n mindate: 'Si prega di inserire una data il {mindate} o successiva.',\n maxdate: 'Si prega di inserire una data il {maxdate} o precedente.',\n invaliddate: 'Inserisci una data valida.',\n },\n\n es: {\n required: 'Por favor, rellene este campo.',\n minlength: 'Por favor, introduzca al menos {requiredLength} caracteres.',\n maxlength: 'Por favor, introduzca no más de {requiredLength} caracteres.',\n pattern: 'Por favor, introduzca un valor que coincida con el patrón: {pattern}.',\n email: 'Por favor, introduzca una dirección de correo electrónico válida.',\n min: 'Por favor, introduzca un valor mayor o igual a {min}.',\n max: 'Por favor, introduzca un valor menor o igual a {max}.',\n requiredtrue: 'Por favor, marque este campo.',\n mindate: 'Por favor, introduzca una fecha igual o posterior a {mindate}.',\n maxdate: 'Por favor, introduzca una fecha igual o anterior a {maxdate}.',\n invaliddate: 'Por favor, introduzca una fecha válida.',\n },\n};\n"]}
|
|
1
|
+
{"version":3,"file":"error-messages.js","sourceRoot":"","sources":["../../src/utils/error-messages.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAU,CAAC;AAGjE,MAAM,UAAU,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;AAgBpD;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,QAAkB,EAAE,KAAsB;IACxE,IAAI;QACF,MAAM,OAAO,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACjD,QAAQ,KAAK,CAAC,GAAG,EAAE;YACjB,KAAK,UAAU,CAAC;YAChB,KAAK,cAAc,CAAC;YACpB,KAAK,OAAO;gBACV,OAAO,OAAO,CAAC;YACjB,KAAK,WAAW,CAAC;YACjB,KAAK,WAAW;gBACd,OAAO,OAAO,CAAC,OAAO,CAAC,kBAAkB,EAAE,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;YAC3E,KAAK,SAAS;gBACZ,OAAO,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;YACrE,KAAK,KAAK;gBACR,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;YACrD,KAAK,KAAK;gBACR,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;YACrD,KAAK,SAAS;gBACZ,OAAO,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;YACxE,KAAK,SAAS;gBACZ,OAAO,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;YACxE,KAAK,aAAa;gBAChB,OAAO,OAAO,CAAC;YACjB,KAAK,QAAQ;gBACX,OAAO,KAAK,CAAC,IAAI,CAAC;SACrB;KACF;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,CAAC,IAAI,CAAC,wBAAwB,QAAQ,cAAc,EAAE,KAAK,CAAC,CAAC;QACpE,OAAO,SAAS,CAAC;KAClB;AACH,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,MAAM,YAAY,GAAG,QAAQ,CAAC,eAAe,CAAC,IAAgB,CAAC;IAC/D,IAAI,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE;QACpC,OAAO,YAAY,CAAC;KACrB;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,WAAW,GAA6C;IAC5D,EAAE,EAAE;QACF,QAAQ,EAAE,6BAA6B;QACvC,SAAS,EAAE,oDAAoD;QAC/D,SAAS,EAAE,wDAAwD;QACnE,OAAO,EAAE,2DAA2D;QACpE,KAAK,EAAE,qCAAqC;QAC5C,GAAG,EAAE,sDAAsD;QAC3D,GAAG,EAAE,mDAAmD;QACxD,YAAY,EAAE,0BAA0B;QACxC,OAAO,EAAE,4CAA4C;QACrD,OAAO,EAAE,6CAA6C;QACtD,WAAW,EAAE,4BAA4B;KAC1C;IACD,EAAE,EAAE;QACF,QAAQ,EAAE,4CAA4C;QACtD,SAAS,EAAE,uDAAuD;QAClE,SAAS,EAAE,yDAAyD;QACpE,OAAO,EAAE,kEAAkE;QAC3E,KAAK,EAAE,2CAA2C;QAClD,GAAG,EAAE,yDAAyD;QAC9D,GAAG,EAAE,yDAAyD;QAC9D,YAAY,EAAE,6CAA6C;QAC3D,OAAO,EAAE,iDAAiD;QAC1D,OAAO,EAAE,iDAAiD;QAC1D,WAAW,EAAE,kCAAkC;KAChD;IACD,EAAE,EAAE;QACF,QAAQ,EAAE,mCAAmC;QAC7C,SAAS,EAAE,0DAA0D;QACrE,SAAS,EAAE,yDAAyD;QACpE,OAAO,EAAE,uEAAuE;QAChF,KAAK,EAAE,kDAAkD;QACzD,GAAG,EAAE,0DAA0D;QAC/D,GAAG,EAAE,2DAA2D;QAChE,YAAY,EAAE,mCAAmC;QACjD,OAAO,EAAE,2DAA2D;QACpE,OAAO,EAAE,0DAA0D;QACnE,WAAW,EAAE,yCAAyC;KACvD;IACD,EAAE,EAAE;QACF,QAAQ,EAAE,qCAAqC;QAC/C,SAAS,EAAE,yDAAyD;QACpE,SAAS,EAAE,6DAA6D;QACxE,OAAO,EAAE,uEAAuE;QAChF,KAAK,EAAE,iDAAiD;QACxD,GAAG,EAAE,2DAA2D;QAChE,GAAG,EAAE,yDAAyD;QAC9D,YAAY,EAAE,oCAAoC;QAClD,OAAO,EAAE,0DAA0D;QACnE,OAAO,EAAE,0DAA0D;QACnE,WAAW,EAAE,4BAA4B;KAC1C;IAED,EAAE,EAAE;QACF,QAAQ,EAAE,gCAAgC;QAC1C,SAAS,EAAE,6DAA6D;QACxE,SAAS,EAAE,8DAA8D;QACzE,OAAO,EAAE,uEAAuE;QAChF,KAAK,EAAE,mEAAmE;QAC1E,GAAG,EAAE,uDAAuD;QAC5D,GAAG,EAAE,uDAAuD;QAC5D,YAAY,EAAE,+BAA+B;QAC7C,OAAO,EAAE,gEAAgE;QACzE,OAAO,EAAE,+DAA+D;QACxE,WAAW,EAAE,yCAAyC;KACvD;CACF,CAAC","sourcesContent":["export const languages = ['de', 'fr', 'it', 'en', 'es'] as const;\nexport type Language = (typeof languages)[number];\n\nconst dateFormat = new Intl.DateTimeFormat('de-CH');\n\nexport type ValidationError =\n | { key: 'required' }\n | { key: 'requiredtrue' }\n | { key: 'email'; requiredPattern: string }\n | { key: 'minlength'; requiredLength: number }\n | { key: 'maxlength'; requiredLength: number }\n | { key: 'pattern'; requiredPattern: string }\n | { key: 'min'; min: number }\n | { key: 'max'; max: number }\n | { key: 'mindate'; mindate: Date; actual: Date }\n | { key: 'maxdate'; maxdate: Date; actual: Date }\n | { key: 'invaliddate'; actual: Date }\n | { key: 'custom'; text: string };\n\n/**\n * Returns an error message for the given language and error.\n */\nexport function getErrorMessage(language: Language, error: ValidationError): string | undefined {\n try {\n const message = translation[language][error.key];\n switch (error.key) {\n case 'required':\n case 'requiredtrue':\n case 'email':\n return message;\n case 'minlength':\n case 'maxlength':\n return message.replace('{requiredLength}', String(error.requiredLength));\n case 'pattern':\n return message.replace('{pattern}', String(error.requiredPattern));\n case 'min':\n return message.replace('{min}', String(error.min));\n case 'max':\n return message.replace('{max}', String(error.max));\n case 'mindate':\n return message.replace('{mindate}', dateFormat.format(error.mindate));\n case 'maxdate':\n return message.replace('{maxdate}', dateFormat.format(error.maxdate));\n case 'invaliddate':\n return message;\n case 'custom':\n return error.text;\n }\n } catch (e) {\n console.warn(`no error message in '${language}' for error:`, error);\n return undefined;\n }\n}\n\nexport function getLanguage(): Language {\n const documentLang = document.documentElement.lang as Language;\n if (languages.includes(documentLang)) {\n return documentLang;\n }\n return 'de';\n}\n\nconst translation: Record<Language, Record<string, string>> = {\n en: {\n required: 'Please fill out this field.',\n minlength: 'Please enter at least {requiredLength} characters.',\n maxlength: 'Please enter no more than {requiredLength} characters.',\n pattern: 'Please enter a value that matches the pattern: {pattern}.',\n email: 'Please enter a valid email address.',\n min: 'Please enter a value greater than or equal to {min}.',\n max: 'Please enter a value less than or equal to {max}.',\n requiredtrue: 'Please check this field.',\n mindate: 'Please enter a date on or after {mindate}.',\n maxdate: 'Please enter a date on or before {maxdate}.',\n invaliddate: 'Please enter a valid date.',\n },\n fr: {\n required: \"Veuillez remplir ce champ s'il vous plaît.\",\n minlength: 'Veuillez entrer au moins {requiredLength} caractères.',\n maxlength: 'Veuillez entrer au maximum {requiredLength} caractères.',\n pattern: 'Veuillez entrer une valeur qui correspond au format : {pattern}.',\n email: 'Veuillez entrer une adresse email valide.',\n min: 'Veuillez entrer une valeur supérieure ou égale à {min}.',\n max: 'Veuillez entrer une valeur inférieure ou égale à {max}.',\n requiredtrue: \"Veuillez cocher cette case s'il vous plaît.\",\n mindate: 'Veuillez entrer une date le {mindate} ou après.',\n maxdate: 'Veuillez entrer une date le {maxdate} ou avant.',\n invaliddate: 'Veuillez entrer une date valide.',\n },\n de: {\n required: 'Bitte füllen Sie dieses Feld aus.',\n minlength: 'Bitte geben Sie mindestens {requiredLength} Zeichen ein.',\n maxlength: 'Bitte geben Sie höchstens {requiredLength} Zeichen ein.',\n pattern: 'Bitte geben Sie einen Wert ein, der dem Muster entspricht: {pattern}.',\n email: 'Bitte geben Sie eine gültige E-Mail-Adresse ein.',\n min: 'Bitte geben Sie einen Wert größer oder gleich {min} ein.',\n max: 'Bitte geben Sie einen Wert kleiner oder gleich {max} ein.',\n requiredtrue: 'Bitte aktivieren Sie dieses Feld.',\n mindate: 'Bitte geben Sie ein Datum am oder nach dem {mindate} ein.',\n maxdate: 'Bitte geben Sie ein Datum am oder vor dem {maxdate} ein.',\n invaliddate: 'Bitte geben Sie ein gültiges Datum ein.',\n },\n it: {\n required: 'Si prega di compilare questo campo.',\n minlength: 'Si prega di inserire almeno {requiredLength} caratteri.',\n maxlength: 'Si prega di inserire al massimo {requiredLength} caratteri.',\n pattern: 'Si prega di inserire un valore che corrisponde al formato: {pattern}.',\n email: 'Si prega di inserire un indirizzo email valido.',\n min: 'Si prega di inserire un valore maggiore o uguale a {min}.',\n max: 'Si prega di inserire un valore minore o uguale a {max}.',\n requiredtrue: 'Si prega di spuntare questo campo.',\n mindate: 'Si prega di inserire una data il {mindate} o successiva.',\n maxdate: 'Si prega di inserire una data il {maxdate} o precedente.',\n invaliddate: 'Inserisci una data valida.',\n },\n\n es: {\n required: 'Por favor, rellene este campo.',\n minlength: 'Por favor, introduzca al menos {requiredLength} caracteres.',\n maxlength: 'Por favor, introduzca no más de {requiredLength} caracteres.',\n pattern: 'Por favor, introduzca un valor que coincida con el patrón: {pattern}.',\n email: 'Por favor, introduzca una dirección de correo electrónico válida.',\n min: 'Por favor, introduzca un valor mayor o igual a {min}.',\n max: 'Por favor, introduzca un valor menor o igual a {max}.',\n requiredtrue: 'Por favor, marque este campo.',\n mindate: 'Por favor, introduzca una fecha igual o posterior a {mindate}.',\n maxdate: 'Por favor, introduzca una fecha igual o anterior a {maxdate}.',\n invaliddate: 'Por favor, introduzca una fecha válida.',\n },\n};\n"]}
|
|
@@ -36,7 +36,6 @@ export function hasSlot(el, name) {
|
|
|
36
36
|
return false;
|
|
37
37
|
});
|
|
38
38
|
}
|
|
39
|
-
export const getSlotChildren = (el) => { var _a; return (_a = el.querySelector('slot')) === null || _a === void 0 ? void 0 : _a.assignedElements({ flatten: true }); };
|
|
40
39
|
export function getSlot(element, slotName) {
|
|
41
40
|
if (element == null)
|
|
42
41
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slot.js","sourceRoot":"","sources":["../../src/utils/slot.ts"],"names":[],"mappings":"AAAA,EAAE;AACF,kHAAkH;AAClH,kFAAkF;AAClF,EAAE;AACF,MAAM,UAAU,cAAc,CAAC,IAAsB;IACnD,MAAM,KAAK,GAAG,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACxE,IAAI,IAAI,GAAG,EAAE,CAAC;IAEd,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACtB,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,SAAS,EAAE;YACpC,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC;SAC1B;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,IAAI,CAAC;AACd,CAAC;AAED,EAAE;AACF,mHAAmH;AACnH,uHAAuH;AACvH,EAAE;AACF,MAAM,UAAU,OAAO,CAAC,EAAe,EAAE,IAAa;IACpD,wBAAwB;IACxB,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,EAAE,EAAE;QAC/B,OAAO,EAAE,CAAC,aAAa,CAAC,UAAU,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC;KACtD;IAED,0BAA0B;IAC1B,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;;QAC7C,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,SAAS,IAAI,CAAA,MAAA,IAAI,CAAC,WAAW,0CAAE,IAAI,EAAE,MAAK,EAAE,EAAE;YACvE,OAAO,IAAI,CAAC;SACb;QAED,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,YAAY,EAAE;YACvC,MAAM,EAAE,GAAG,IAAmB,CAAC;YAC/B,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE;gBAC5B,OAAO,IAAI,CAAC;aACb;SACF;QAED,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,
|
|
1
|
+
{"version":3,"file":"slot.js","sourceRoot":"","sources":["../../src/utils/slot.ts"],"names":[],"mappings":"AAAA,EAAE;AACF,kHAAkH;AAClH,kFAAkF;AAClF,EAAE;AACF,MAAM,UAAU,cAAc,CAAC,IAAsB;IACnD,MAAM,KAAK,GAAG,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACxE,IAAI,IAAI,GAAG,EAAE,CAAC;IAEd,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACtB,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,SAAS,EAAE;YACpC,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC;SAC1B;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,IAAI,CAAC;AACd,CAAC;AAED,EAAE;AACF,mHAAmH;AACnH,uHAAuH;AACvH,EAAE;AACF,MAAM,UAAU,OAAO,CAAC,EAAe,EAAE,IAAa;IACpD,wBAAwB;IACxB,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,EAAE,EAAE;QAC/B,OAAO,EAAE,CAAC,aAAa,CAAC,UAAU,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC;KACtD;IAED,0BAA0B;IAC1B,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;;QAC7C,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,SAAS,IAAI,CAAA,MAAA,IAAI,CAAC,WAAW,0CAAE,IAAI,EAAE,MAAK,EAAE,EAAE;YACvE,OAAO,IAAI,CAAC;SACb;QAED,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,YAAY,EAAE;YACvC,MAAM,EAAE,GAAG,IAAmB,CAAC;YAC/B,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE;gBAC5B,OAAO,IAAI,CAAC;aACb;SACF;QAED,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,OAAsC,EAAE,QAAgB;IAC9E,IAAI,OAAO,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC;IACjC,OAAO,OAAO,CAAC,aAAa,CAAC,UAAU,QAAQ,IAAI,CAAC,CAAC;AACvD,CAAC","sourcesContent":["//\n// Given a slot, this function iterates over all of its assigned text nodes and returns the concatenated text as a\n// string. This is useful because we can't use slot.textContent as an alternative.\n//\nexport function getTextContent(slot?: HTMLSlotElement): string {\n const nodes = slot != null ? slot.assignedNodes({ flatten: true }) : [];\n let text = '';\n\n [...nodes].map((node) => {\n if (node.nodeType === Node.TEXT_NODE) {\n text += node.textContent;\n }\n });\n\n return text;\n}\n\n//\n// Determines whether an element has a slot. If name is specified, the function will look for a corresponding named\n// slot, otherwise it will look for a \"default\" slot (e.g. a non-empty text node or an element with no slot attribute).\n//\nexport function hasSlot(el: HTMLElement, name?: string): boolean {\n // Look for a named slot\n if (name != null && name !== '') {\n return el.querySelector(`[slot=\"${name}\"]`) !== null;\n }\n\n // Look for a default slot\n return Array.from(el.childNodes).some((node) => {\n if (node.nodeType === node.TEXT_NODE && node.textContent?.trim() !== '') {\n return true;\n }\n\n if (node.nodeType === node.ELEMENT_NODE) {\n const el = node as HTMLElement;\n if (!el.hasAttribute('slot')) {\n return true;\n }\n }\n\n return false;\n });\n}\n\nexport function getSlot(element: ParentNode | null | undefined, slotName: string): HTMLElement | null {\n if (element == null) return null;\n return element.querySelector(`[slot=\"${slotName}\"]`);\n}\n"]}
|
package/dist/components/index.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { SetAttributes } from './set-attributes.js';
|
|
2
1
|
import { SixAlert } from './six-alert.js';
|
|
3
2
|
import { SixAvatar } from './six-avatar.js';
|
|
4
3
|
import { SixBadge } from './six-badge.js';
|
|
@@ -37,6 +36,7 @@ import { SixRange } from './six-range.js';
|
|
|
37
36
|
import { SixRoot } from './six-root.js';
|
|
38
37
|
import { SixSearchField } from './six-search-field.js';
|
|
39
38
|
import { SixSelect } from './six-select.js';
|
|
39
|
+
export { g as getErrorMessage, a as getLanguage, l as languages } from './six-select.js';
|
|
40
40
|
import { SixSidebar } from './six-sidebar.js';
|
|
41
41
|
import { SixSidebarItem } from './six-sidebar-item.js';
|
|
42
42
|
import { SixSidebarItemGroup } from './six-sidebar-item-group.js';
|
|
@@ -53,115 +53,63 @@ import { SixTimepicker } from './six-timepicker.js';
|
|
|
53
53
|
import { SixTooltip } from './six-tooltip.js';
|
|
54
54
|
export { getAssetPath, setAssetPath, setNonce, setPlatformOptions } from '@stencil/core/internal/client';
|
|
55
55
|
|
|
56
|
-
const languages = ['de', 'fr', 'it', 'en', 'es'];
|
|
57
|
-
const dateFormat = new Intl.DateTimeFormat('de-CH');
|
|
58
56
|
/**
|
|
59
|
-
*
|
|
57
|
+
* Displays an alert on the toast stack with a specified message and optional configuration.
|
|
58
|
+
*
|
|
59
|
+
* @param message - The message to be displayed in the alert.
|
|
60
|
+
* @param alertType - The type of the alert. Valid values are 'primary', 'info', 'success', 'warning', 'danger'. Default is 'info'.
|
|
61
|
+
* @param duration - The duration in milliseconds for which the alert is displayed. If not provided, a default duration is set based on the alert type.
|
|
62
|
+
* @param iconName - The name of the icon to be displayed in the alert. If not provided, a default icon is set based on the alert type.
|
|
60
63
|
*/
|
|
61
|
-
function
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
64
|
+
function showAlert(message, alertType, duration, iconName) {
|
|
65
|
+
const type = alertType !== null && alertType !== void 0 ? alertType : 'info';
|
|
66
|
+
const icon = iconName !== null && iconName !== void 0 ? iconName : getIcon(type);
|
|
67
|
+
const alert = Object.assign(document.createElement('six-alert'), {
|
|
68
|
+
type,
|
|
69
|
+
duration: duration !== null && duration !== void 0 ? duration : getDuration(type),
|
|
70
|
+
innerHTML: `<six-icon slot="icon">${icon}</six-icon>${escapeHtml(message)}`,
|
|
71
|
+
closable: true,
|
|
72
|
+
});
|
|
73
|
+
document.body.append(alert);
|
|
74
|
+
alert.toast();
|
|
75
|
+
}
|
|
76
|
+
function escapeHtml(html) {
|
|
77
|
+
const div = document.createElement('div');
|
|
78
|
+
div.textContent = html;
|
|
79
|
+
return div.innerHTML;
|
|
80
|
+
}
|
|
81
|
+
function getIcon(messageType) {
|
|
82
|
+
switch (messageType) {
|
|
83
|
+
case 'primary':
|
|
84
|
+
return 'info';
|
|
85
|
+
case 'info':
|
|
86
|
+
return 'info';
|
|
87
|
+
case 'success':
|
|
88
|
+
return 'check_circle';
|
|
89
|
+
case 'warning':
|
|
90
|
+
return 'warning';
|
|
91
|
+
case 'danger':
|
|
92
|
+
return 'report';
|
|
87
93
|
}
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
94
|
+
}
|
|
95
|
+
function getDuration(messageType) {
|
|
96
|
+
switch (messageType) {
|
|
97
|
+
case 'primary':
|
|
98
|
+
return 10000;
|
|
99
|
+
case 'info':
|
|
100
|
+
return 10000;
|
|
101
|
+
case 'success':
|
|
102
|
+
return 10000;
|
|
103
|
+
case 'warning':
|
|
104
|
+
return 20000;
|
|
105
|
+
case 'danger':
|
|
106
|
+
return 20000;
|
|
91
107
|
}
|
|
92
108
|
}
|
|
93
|
-
const translation = {
|
|
94
|
-
en: {
|
|
95
|
-
required: 'Please fill out this field.',
|
|
96
|
-
minlength: 'Please enter at least {requiredLength} characters.',
|
|
97
|
-
maxlength: 'Please enter no more than {requiredLength} characters.',
|
|
98
|
-
pattern: 'Please enter a value that matches the pattern: {pattern}.',
|
|
99
|
-
email: 'Please enter a valid email address.',
|
|
100
|
-
min: 'Please enter a value greater than or equal to {min}.',
|
|
101
|
-
max: 'Please enter a value less than or equal to {max}.',
|
|
102
|
-
requiredtrue: 'Please check this field.',
|
|
103
|
-
mindate: 'Please enter a date on or after {mindate}.',
|
|
104
|
-
maxdate: 'Please enter a date on or before {maxdate}.',
|
|
105
|
-
invaliddate: 'Please enter a valid date.',
|
|
106
|
-
},
|
|
107
|
-
fr: {
|
|
108
|
-
required: "Veuillez remplir ce champ s'il vous plaît.",
|
|
109
|
-
minlength: 'Veuillez entrer au moins {requiredLength} caractères.',
|
|
110
|
-
maxlength: 'Veuillez entrer au maximum {requiredLength} caractères.',
|
|
111
|
-
pattern: 'Veuillez entrer une valeur qui correspond au format : {pattern}.',
|
|
112
|
-
email: 'Veuillez entrer une adresse email valide.',
|
|
113
|
-
min: 'Veuillez entrer une valeur supérieure ou égale à {min}.',
|
|
114
|
-
max: 'Veuillez entrer une valeur inférieure ou égale à {max}.',
|
|
115
|
-
requiredtrue: "Veuillez cocher cette case s'il vous plaît.",
|
|
116
|
-
mindate: 'Veuillez entrer une date le {mindate} ou après.',
|
|
117
|
-
maxdate: 'Veuillez entrer une date le {maxdate} ou avant.',
|
|
118
|
-
invaliddate: 'Veuillez entrer une date valide.',
|
|
119
|
-
},
|
|
120
|
-
de: {
|
|
121
|
-
required: 'Bitte füllen Sie dieses Feld aus.',
|
|
122
|
-
minlength: 'Bitte geben Sie mindestens {requiredLength} Zeichen ein.',
|
|
123
|
-
maxlength: 'Bitte geben Sie höchstens {requiredLength} Zeichen ein.',
|
|
124
|
-
pattern: 'Bitte geben Sie einen Wert ein, der dem Muster entspricht: {pattern}.',
|
|
125
|
-
email: 'Bitte geben Sie eine gültige E-Mail-Adresse ein.',
|
|
126
|
-
min: 'Bitte geben Sie einen Wert größer oder gleich {min} ein.',
|
|
127
|
-
max: 'Bitte geben Sie einen Wert kleiner oder gleich {max} ein.',
|
|
128
|
-
requiredtrue: 'Bitte aktivieren Sie dieses Feld.',
|
|
129
|
-
mindate: 'Bitte geben Sie ein Datum am oder nach dem {mindate} ein.',
|
|
130
|
-
maxdate: 'Bitte geben Sie ein Datum am oder vor dem {maxdate} ein.',
|
|
131
|
-
invaliddate: 'Bitte geben Sie ein gültiges Datum ein.',
|
|
132
|
-
},
|
|
133
|
-
it: {
|
|
134
|
-
required: 'Si prega di compilare questo campo.',
|
|
135
|
-
minlength: 'Si prega di inserire almeno {requiredLength} caratteri.',
|
|
136
|
-
maxlength: 'Si prega di inserire al massimo {requiredLength} caratteri.',
|
|
137
|
-
pattern: 'Si prega di inserire un valore che corrisponde al formato: {pattern}.',
|
|
138
|
-
email: 'Si prega di inserire un indirizzo email valido.',
|
|
139
|
-
min: 'Si prega di inserire un valore maggiore o uguale a {min}.',
|
|
140
|
-
max: 'Si prega di inserire un valore minore o uguale a {max}.',
|
|
141
|
-
requiredtrue: 'Si prega di spuntare questo campo.',
|
|
142
|
-
mindate: 'Si prega di inserire una data il {mindate} o successiva.',
|
|
143
|
-
maxdate: 'Si prega di inserire una data il {maxdate} o precedente.',
|
|
144
|
-
invaliddate: 'Inserisci una data valida.',
|
|
145
|
-
},
|
|
146
|
-
es: {
|
|
147
|
-
required: 'Por favor, rellene este campo.',
|
|
148
|
-
minlength: 'Por favor, introduzca al menos {requiredLength} caracteres.',
|
|
149
|
-
maxlength: 'Por favor, introduzca no más de {requiredLength} caracteres.',
|
|
150
|
-
pattern: 'Por favor, introduzca un valor que coincida con el patrón: {pattern}.',
|
|
151
|
-
email: 'Por favor, introduzca una dirección de correo electrónico válida.',
|
|
152
|
-
min: 'Por favor, introduzca un valor mayor o igual a {min}.',
|
|
153
|
-
max: 'Por favor, introduzca un valor menor o igual a {max}.',
|
|
154
|
-
requiredtrue: 'Por favor, marque este campo.',
|
|
155
|
-
mindate: 'Por favor, introduzca una fecha igual o posterior a {mindate}.',
|
|
156
|
-
maxdate: 'Por favor, introduzca una fecha igual o anterior a {maxdate}.',
|
|
157
|
-
invaliddate: 'Por favor, introduzca una fecha válida.',
|
|
158
|
-
},
|
|
159
|
-
};
|
|
160
109
|
|
|
161
110
|
const defineCustomElements = (opts) => {
|
|
162
111
|
if (typeof customElements !== 'undefined') {
|
|
163
112
|
[
|
|
164
|
-
SetAttributes,
|
|
165
113
|
SixAlert,
|
|
166
114
|
SixAvatar,
|
|
167
115
|
SixBadge,
|
|
@@ -222,6 +170,6 @@ const defineCustomElements = (opts) => {
|
|
|
222
170
|
}
|
|
223
171
|
};
|
|
224
172
|
|
|
225
|
-
export { defineCustomElements,
|
|
173
|
+
export { defineCustomElements, showAlert };
|
|
226
174
|
|
|
227
175
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"index.js","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"file":"index.js","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;;;;;;;;SAQgB,SAAS,CAAC,OAAe,EAAE,SAAqB,EAAE,QAAiB,EAAE,QAAiB;IACpG,MAAM,IAAI,GAAG,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,MAAM,CAAC;IACjC,MAAM,IAAI,GAAG,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE;QAC/D,IAAI;QACJ,QAAQ,EAAE,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,WAAW,CAAC,IAAI,CAAC;QACvC,SAAS,EAAE,yBAAyB,IAAI,cAAc,UAAU,CAAC,OAAO,CAAC,EAAE;QAC3E,QAAQ,EAAE,IAAI;KACf,CAAC,CAAC;IACH,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5B,KAAK,CAAC,KAAK,EAAE,CAAC;AAChB,CAAC;AAED,SAAS,UAAU,CAAC,IAAY;IAC9B,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC1C,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC;IACvB,OAAO,GAAG,CAAC,SAAS,CAAC;AACvB,CAAC;AAED,SAAS,OAAO,CAAC,WAAsB;IACrC,QAAQ,WAAW;QACjB,KAAK,SAAS;YACZ,OAAO,MAAM,CAAC;QAChB,KAAK,MAAM;YACT,OAAO,MAAM,CAAC;QAChB,KAAK,SAAS;YACZ,OAAO,cAAc,CAAC;QACxB,KAAK,SAAS;YACZ,OAAO,SAAS,CAAC;QACnB,KAAK,QAAQ;YACX,OAAO,QAAQ,CAAC;KACnB;AACH,CAAC;AAED,SAAS,WAAW,CAAC,WAAsB;IACzC,QAAQ,WAAW;QACjB,KAAK,SAAS;YACZ,OAAO,KAAK,CAAC;QACf,KAAK,MAAM;YACT,OAAO,KAAK,CAAC;QACf,KAAK,SAAS;YACZ,OAAO,KAAK,CAAC;QACf,KAAK,SAAS;YACZ,OAAO,KAAK,CAAC;QACf,KAAK,QAAQ;YACX,OAAO,KAAK,CAAC;KAChB;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/utils/alert.ts"],"sourcesContent":["import { AlertType } from '../components/six-alert/six-alert';\n\n/**\n * Displays an alert on the toast stack with a specified message and optional configuration.\n *\n * @param message - The message to be displayed in the alert.\n * @param alertType - The type of the alert. Valid values are 'primary', 'info', 'success', 'warning', 'danger'. Default is 'info'.\n * @param duration - The duration in milliseconds for which the alert is displayed. If not provided, a default duration is set based on the alert type.\n * @param iconName - The name of the icon to be displayed in the alert. If not provided, a default icon is set based on the alert type.\n */\nexport function showAlert(message: string, alertType?: AlertType, duration?: number, iconName?: string): void {\n const type = alertType ?? 'info';\n const icon = iconName ?? getIcon(type);\n const alert = Object.assign(document.createElement('six-alert'), {\n type,\n duration: duration ?? getDuration(type),\n innerHTML: `<six-icon slot=\"icon\">${icon}</six-icon>${escapeHtml(message)}`,\n closable: true,\n });\n document.body.append(alert);\n alert.toast();\n}\n\nfunction escapeHtml(html: string): string {\n const div = document.createElement('div');\n div.textContent = html;\n return div.innerHTML;\n}\n\nfunction getIcon(messageType: AlertType): string {\n switch (messageType) {\n case 'primary':\n return 'info';\n case 'info':\n return 'info';\n case 'success':\n return 'check_circle';\n case 'warning':\n return 'warning';\n case 'danger':\n return 'report';\n }\n}\n\nfunction getDuration(messageType: AlertType): number {\n switch (messageType) {\n case 'primary':\n return 10000;\n case 'info':\n return 10000;\n case 'success':\n return 10000;\n case 'warning':\n return 20000;\n case 'danger':\n return 20000;\n }\n}\n"],"version":3}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { proxyCustomElement, HTMLElement, createEvent, h } from '@stencil/core/internal/client';
|
|
2
|
+
import { g as getSlot } from './slot.js';
|
|
2
3
|
import { d as defineCustomElement$3 } from './six-icon2.js';
|
|
3
4
|
import { d as defineCustomElement$2 } from './six-icon-button2.js';
|
|
4
5
|
|
|
5
|
-
const sixAlertCss = ":host{position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:
|
|
6
|
+
const sixAlertCss = ":host{position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:border-box}:host{display:contents;margin:0}.alert{position:relative;display:flex;align-items:stretch;background-color:var(--six-color-white);border:solid 1px var(--six-color-web-rock-200);border-top-width:3px;border-radius:var(--six-border-radius-medium);box-shadow:var(--box-shadow);font-family:var(--six-font-sans);font-size:var(--six-font-size-small);font-weight:var(--six-font-weight-normal);line-height:1.6;color:var(--six-color-web-rock-700);opacity:0;transform:scale(0.9);transition:var(--six-transition-medium) opacity ease, var(--six-transition-medium) transform ease;margin:inherit}.alert:not(.alert--visible){position:absolute;width:1px;height:1px;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;pointer-events:none;visibility:hidden}.alert--shadow{box-shadow:var(--six-shadow-medium)}.alert--open{opacity:1;transform:none}.alert__icon{flex:0 0 auto;display:flex;align-items:center;font-size:var(--six-font-size-large)}.alert__icon ::slotted(*){margin-left:var(--six-spacing-large)}.alert--primary{border-top-color:var(--six-color-web-rock-900)}.alert--primary .alert__icon{color:var(--six-color-web-rock-900)}.alert--success{border-top-color:var(--six-color-success-600)}.alert--success .alert__icon{color:var(--six-color-success-600)}.alert--info{border-top-color:var(--six-color-action-500)}.alert--info .alert__icon{color:var(--six-color-action-500)}.alert--warning{border-top-color:var(--six-color-warning-800)}.alert--warning .alert__icon{color:var(--six-color-warning-800)}.alert--danger{border-top-color:var(--six-color-danger-900)}.alert--danger .alert__icon{color:var(--six-color-danger-900)}.alert__message{flex:1 1 auto;padding:var(--six-spacing-large);overflow:hidden}.alert__close{flex:0 0 auto;display:flex;align-items:center;font-size:var(--six-font-size-large);padding-right:var(--six-spacing-medium)}";
|
|
6
7
|
|
|
7
8
|
const toastStack = Object.assign(document.createElement('div'), { className: 'six-toast-stack' });
|
|
8
9
|
const SixAlert$1 = /*@__PURE__*/ proxyCustomElement(class SixAlert extends HTMLElement {
|
|
@@ -82,13 +83,33 @@ const SixAlert$1 = /*@__PURE__*/ proxyCustomElement(class SixAlert extends HTMLE
|
|
|
82
83
|
* Displays the alert as a toast notification. This will move the alert out of its position in the DOM and, when
|
|
83
84
|
* dismissed, it will be removed from the DOM completely. By storing a reference to the alert, you can reuse it by
|
|
84
85
|
* calling this method again. The returned promise will resolve after the alert is hidden.
|
|
86
|
+
* @param adjustPosition If true, the top and right position of the toast stack is shifted according to the
|
|
87
|
+
* six-root header's height and the presence of a vertical scrollbar.
|
|
85
88
|
*/
|
|
86
|
-
async toast() {
|
|
89
|
+
async toast(adjustPosition = true) {
|
|
87
90
|
return new Promise((resolve) => {
|
|
91
|
+
var _a;
|
|
88
92
|
if (!toastStack.parentElement) {
|
|
89
93
|
document.body.append(toastStack);
|
|
90
94
|
}
|
|
91
95
|
toastStack.append(this.host);
|
|
96
|
+
if (adjustPosition) {
|
|
97
|
+
const sixRoot = document.querySelector('six-root');
|
|
98
|
+
const headerSlot = getSlot(sixRoot, 'header');
|
|
99
|
+
const mainSlot = (_a = sixRoot === null || sixRoot === void 0 ? void 0 : sixRoot.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('host main');
|
|
100
|
+
if (mainSlot != null && mainSlot instanceof HTMLElement) {
|
|
101
|
+
const scrollbarWidth = mainSlot.offsetWidth - mainSlot.clientWidth;
|
|
102
|
+
toastStack.style.right = `${scrollbarWidth}px`;
|
|
103
|
+
}
|
|
104
|
+
if (headerSlot != null) {
|
|
105
|
+
const rect = headerSlot === null || headerSlot === void 0 ? void 0 : headerSlot.getBoundingClientRect();
|
|
106
|
+
toastStack.style.top = `${rect.top + rect.height}px`;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
toastStack.style.top = '0';
|
|
111
|
+
toastStack.style.right = '0';
|
|
112
|
+
}
|
|
92
113
|
requestAnimationFrame(() => this.show());
|
|
93
114
|
this.host.addEventListener('six-alert-after-hide', () => {
|
|
94
115
|
this.host.remove();
|
|
@@ -107,6 +128,7 @@ const SixAlert$1 = /*@__PURE__*/ proxyCustomElement(class SixAlert extends HTMLE
|
|
|
107
128
|
}
|
|
108
129
|
}
|
|
109
130
|
render() {
|
|
131
|
+
const asToast = this.host.closest('.six-toast-stack') != null;
|
|
110
132
|
return (h("div", { part: "base", class: {
|
|
111
133
|
alert: true,
|
|
112
134
|
'alert--open': this.open,
|
|
@@ -117,6 +139,7 @@ const SixAlert$1 = /*@__PURE__*/ proxyCustomElement(class SixAlert extends HTMLE
|
|
|
117
139
|
'alert--info': this.type === 'info',
|
|
118
140
|
'alert--warning': this.type === 'warning',
|
|
119
141
|
'alert--danger': this.type === 'danger',
|
|
142
|
+
'alert--shadow': asToast,
|
|
120
143
|
}, role: "alert", "aria-live": "assertive", "aria-atomic": "true", "aria-hidden": this.open ? 'false' : 'true', onMouseMove: this.handleMouseMove, onTransitionEnd: this.handleTransitionEnd }, h("span", { part: "icon", class: "alert__icon" }, h("slot", { name: "icon" })), h("span", { part: "message", class: "alert__message" }, h("slot", null)), this.closable && (h("span", { class: "alert__close" }, h("six-icon-button", { name: "clear", exportparts: "base:close-button", onClick: this.handleCloseClick })))));
|
|
121
144
|
}
|
|
122
145
|
get host() { return this; }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"six-alert.js","mappings":"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","names":["SixAlert"],"sources":["src/components/six-alert/six-alert.scss?tag=six-alert&encapsulation=shadow","src/components/six-alert/six-alert.tsx"],"sourcesContent":["@import 'src/global/component';\n@import 'src/global/mixins/hidden';\n\n/**\n * @prop --box-shadow: The alert's box shadow.\n */\n:host {\n display: contents;\n\n // For better DX, we'll reset the margin here so the base part can inherit it\n margin: 0;\n}\n\n.alert {\n position: relative;\n display: flex;\n align-items: stretch;\n background-color: var(--six-color-white);\n border: solid 1px var(--six-color-web-rock-200);\n border-top-width: 3px;\n border-radius: var(--six-border-radius-medium);\n box-shadow: var(--box-shadow);\n font-family: var(--six-font-sans);\n font-size: var(--six-font-size-small);\n font-weight: var(--six-font-weight-normal);\n line-height: 1.6;\n color: var(--six-color-web-rock-700);\n opacity: 0;\n transform: scale(0.9);\n transition: var(--six-transition-medium) opacity ease, var(--six-transition-medium) transform ease;\n margin: inherit;\n\n &:not(.alert--visible) {\n @include hidden;\n }\n}\n\n.alert--open {\n opacity: 1;\n transform: none;\n}\n\n.alert__icon {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n font-size: var(--six-font-size-large);\n\n ::slotted(*) {\n margin-left: var(--six-spacing-large);\n }\n}\n\n.alert--primary {\n border-top-color: var(--six-color-web-rock-900);\n\n .alert__icon {\n color: var(--six-color-web-rock-900);\n }\n}\n\n.alert--success {\n border-top-color: var(--six-color-success-600);\n\n .alert__icon {\n color: var(--six-color-success-600);\n }\n}\n\n.alert--info {\n border-top-color: var(--six-color-action-500);\n\n .alert__icon {\n color: var(--six-color-action-500);\n }\n}\n\n.alert--warning {\n border-top-color: var(--six-color-warning-800);\n\n .alert__icon {\n color: var(--six-color-warning-800);\n }\n}\n\n.alert--danger {\n border-top-color: var(--six-color-danger-900);\n\n .alert__icon {\n color: var(--six-color-danger-900);\n }\n}\n\n.alert__message {\n flex: 1 1 auto;\n padding: var(--six-spacing-large);\n overflow: hidden;\n}\n\n.alert__close {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n font-size: var(--six-font-size-large);\n padding-right: var(--six-spacing-medium);\n}\n","import { Component, Element, Event, EventEmitter, Method, Prop, State, Watch, h } from '@stencil/core';\nimport { EmptyPayload } from '../../utils/types';\n\nconst toastStack = Object.assign(document.createElement('div'), { className: 'six-toast-stack' });\n\n/**\n * @since 1.0\n * @status stable\n *\n * Forked from https://github.com/shoelace-style/shoelace version v2.0.0-beta27.\n *\n * @slot - The alert's content.\n * @slot icon - An icon to show in the alert.\n *\n * @part base - The component's base wrapper.\n * @part icon - The container that wraps the alert icon.\n * @part message - The alert message.\n * @part close-button - The close button.\n */\n\n@Component({\n tag: 'six-alert',\n styleUrl: 'six-alert.scss',\n shadow: true,\n})\nexport class SixAlert {\n private autoHideTimeout?: number;\n\n @Element() host!: HTMLSixAlertElement;\n\n @State() isVisible = false;\n\n /** Indicates whether or not the alert is open. You can use this in lieu of the show/hide methods. */\n @Prop({ mutable: true, reflect: true }) open = false;\n\n /** Set to true to make the alert closable. */\n @Prop({ reflect: true }) closable = false;\n\n /** The type of alert. */\n @Prop({ reflect: true }) type: 'primary' | 'success' | 'info' | 'warning' | 'danger' = 'primary';\n\n /**\n * The length of time, in milliseconds, the alert will show before closing itself. If the user interacts with the\n * alert before it closes (e.g. moves the mouse over it), the timer will restart.\n */\n @Prop() duration = Infinity;\n\n @Watch('open')\n handleOpenChange() {\n this.open ? this.show() : this.hide();\n }\n\n @Watch('duration')\n handleDurationChange() {\n this.restartAutoHide();\n }\n\n /** Emitted when the alert opens. Calling `event.preventDefault()` will prevent it from being opened. */\n @Event({ eventName: 'six-alert-show' }) sixShow!: EventEmitter<EmptyPayload>;\n\n /** Emitted after the alert opens and all transitions are complete. */\n @Event({ eventName: 'six-alert-after-show' }) sixAfterShow!: EventEmitter<EmptyPayload>;\n\n /** Emitted when the alert closes. Calling `event.preventDefault()` will prevent it from being closed. */\n @Event({ eventName: 'six-alert-hide' }) sixHide!: EventEmitter<EmptyPayload>;\n\n /** Emitted after the alert closes and all transitions are complete. */\n @Event({ eventName: 'six-alert-after-hide' }) sixAfterHide!: EventEmitter<EmptyPayload>;\n\n componentWillLoad() {\n // Show on init if open\n if (this.open) {\n this.show();\n }\n }\n\n /** Shows the alert. */\n @Method()\n async show() {\n // Prevent subsequent calls to the method, whether manually or triggered by the `open` watcher\n if (this.isVisible) {\n return;\n }\n\n const sixShow = this.sixShow.emit();\n if (sixShow.defaultPrevented) {\n this.open = false;\n return;\n }\n\n this.isVisible = true;\n this.open = true;\n\n if (this.duration < Infinity) {\n this.autoHideTimeout = window.setTimeout(() => this.hide(), this.duration);\n }\n }\n\n /** Hides the alert */\n @Method()\n async hide() {\n // Prevent subsequent calls to the method, whether manually or triggered by the `open` watcher\n if (!this.isVisible) {\n return;\n }\n\n const sixHide = this.sixHide.emit();\n if (sixHide.defaultPrevented) {\n this.open = true;\n return;\n }\n\n clearTimeout(this.autoHideTimeout);\n this.isVisible = false;\n this.open = false;\n }\n\n /**\n * Displays the alert as a toast notification. This will move the alert out of its position in the DOM and, when\n * dismissed, it will be removed from the DOM completely. By storing a reference to the alert, you can reuse it by\n * calling this method again. The returned promise will resolve after the alert is hidden.\n */\n @Method()\n async toast() {\n return new Promise<void>((resolve) => {\n if (!toastStack.parentElement) {\n document.body.append(toastStack);\n }\n\n toastStack.append(this.host);\n requestAnimationFrame(() => this.show());\n\n this.host.addEventListener(\n 'six-alert-after-hide',\n () => {\n this.host.remove();\n resolve();\n\n // Remove the toast stack from the DOM when there are no more alerts\n if (toastStack.querySelector('six-alert') === null) {\n toastStack.remove();\n }\n },\n { once: true }\n );\n });\n }\n\n private handleCloseClick = () => {\n this.hide();\n };\n\n private handleMouseMove = () => {\n this.restartAutoHide();\n };\n\n private handleTransitionEnd = (event: TransitionEvent) => {\n const target = event.target as HTMLElement;\n\n // Ensure we only emit one event when the target element is no longer visible\n if (event.propertyName === 'opacity' && target.classList.contains('alert')) {\n this.isVisible = this.open;\n this.open ? this.sixAfterShow.emit() : this.sixAfterHide.emit();\n }\n };\n\n private restartAutoHide() {\n clearTimeout(this.autoHideTimeout);\n if (this.open && this.duration < Infinity) {\n this.autoHideTimeout = window.setTimeout(() => this.hide(), this.duration);\n }\n }\n\n render() {\n return (\n <div\n part=\"base\"\n class={{\n alert: true,\n 'alert--open': this.open,\n 'alert--visible': this.isVisible,\n 'alert--closable': this.closable,\n 'alert--primary': this.type === 'primary',\n 'alert--success': this.type === 'success',\n 'alert--info': this.type === 'info',\n 'alert--warning': this.type === 'warning',\n 'alert--danger': this.type === 'danger',\n }}\n role=\"alert\"\n aria-live=\"assertive\"\n aria-atomic=\"true\"\n aria-hidden={this.open ? 'false' : 'true'}\n onMouseMove={this.handleMouseMove}\n onTransitionEnd={this.handleTransitionEnd}\n >\n <span part=\"icon\" class=\"alert__icon\">\n <slot name=\"icon\" />\n </span>\n\n <span part=\"message\" class=\"alert__message\">\n <slot />\n </span>\n\n {this.closable && (\n <span class=\"alert__close\">\n <six-icon-button\n name=\"clear\"\n exportparts=\"base:close-button\"\n onClick={this.handleCloseClick}\n ></six-icon-button>\n </span>\n )}\n </div>\n );\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"six-alert.js","mappings":"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","names":["SixAlert"],"sources":["src/components/six-alert/six-alert.scss?tag=six-alert&encapsulation=shadow","src/components/six-alert/six-alert.tsx"],"sourcesContent":["@import 'src/global/component';\n@import 'src/global/mixins/hidden';\n\n/**\n * @prop --box-shadow: The alert's box shadow.\n */\n:host {\n display: contents;\n\n // For better DX, we'll reset the margin here so the base part can inherit it\n margin: 0;\n}\n\n.alert {\n position: relative;\n display: flex;\n align-items: stretch;\n background-color: var(--six-color-white);\n border: solid 1px var(--six-color-web-rock-200);\n border-top-width: 3px;\n border-radius: var(--six-border-radius-medium);\n box-shadow: var(--box-shadow);\n font-family: var(--six-font-sans);\n font-size: var(--six-font-size-small);\n font-weight: var(--six-font-weight-normal);\n line-height: 1.6;\n color: var(--six-color-web-rock-700);\n opacity: 0;\n transform: scale(0.9);\n transition: var(--six-transition-medium) opacity ease, var(--six-transition-medium) transform ease;\n margin: inherit;\n\n &:not(.alert--visible) {\n @include hidden;\n }\n}\n\n.alert--shadow {\n box-shadow: var(--six-shadow-medium);\n}\n\n.alert--open {\n opacity: 1;\n transform: none;\n}\n\n.alert__icon {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n font-size: var(--six-font-size-large);\n\n ::slotted(*) {\n margin-left: var(--six-spacing-large);\n }\n}\n\n.alert--primary {\n border-top-color: var(--six-color-web-rock-900);\n\n .alert__icon {\n color: var(--six-color-web-rock-900);\n }\n}\n\n.alert--success {\n border-top-color: var(--six-color-success-600);\n\n .alert__icon {\n color: var(--six-color-success-600);\n }\n}\n\n.alert--info {\n border-top-color: var(--six-color-action-500);\n\n .alert__icon {\n color: var(--six-color-action-500);\n }\n}\n\n.alert--warning {\n border-top-color: var(--six-color-warning-800);\n\n .alert__icon {\n color: var(--six-color-warning-800);\n }\n}\n\n.alert--danger {\n border-top-color: var(--six-color-danger-900);\n\n .alert__icon {\n color: var(--six-color-danger-900);\n }\n}\n\n.alert__message {\n flex: 1 1 auto;\n padding: var(--six-spacing-large);\n overflow: hidden;\n}\n\n.alert__close {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n font-size: var(--six-font-size-large);\n padding-right: var(--six-spacing-medium);\n}\n","import { Component, Element, Event, EventEmitter, h, Method, Prop, State, Watch } from '@stencil/core';\nimport { EmptyPayload } from '../../utils/types';\nimport { getSlot } from '../../utils/slot';\n\nconst toastStack = Object.assign(document.createElement('div'), { className: 'six-toast-stack' });\n\n/**\n * @since 1.0\n * @status stable\n *\n * Forked from https://github.com/shoelace-style/shoelace version v2.0.0-beta27.\n *\n * @slot - The alert's content.\n * @slot icon - An icon to show in the alert.\n *\n * @part base - The component's base wrapper.\n * @part icon - The container that wraps the alert icon.\n * @part message - The alert message.\n * @part close-button - The close button.\n */\n\n@Component({\n tag: 'six-alert',\n styleUrl: 'six-alert.scss',\n shadow: true,\n})\nexport class SixAlert {\n private autoHideTimeout?: number;\n\n @Element() host!: HTMLSixAlertElement;\n\n @State() isVisible = false;\n\n /** Indicates whether or not the alert is open. You can use this in lieu of the show/hide methods. */\n @Prop({ mutable: true, reflect: true }) open = false;\n\n /** Set to true to make the alert closable. */\n @Prop({ reflect: true }) closable = false;\n\n /** The type of alert. */\n @Prop({ reflect: true }) type: AlertType = 'primary';\n\n /**\n * The length of time, in milliseconds, the alert will show before closing itself. If the user interacts with the\n * alert before it closes (e.g. moves the mouse over it), the timer will restart.\n */\n @Prop() duration = Infinity;\n\n @Watch('open')\n handleOpenChange() {\n this.open ? this.show() : this.hide();\n }\n\n @Watch('duration')\n handleDurationChange() {\n this.restartAutoHide();\n }\n\n /** Emitted when the alert opens. Calling `event.preventDefault()` will prevent it from being opened. */\n @Event({ eventName: 'six-alert-show' }) sixShow!: EventEmitter<EmptyPayload>;\n\n /** Emitted after the alert opens and all transitions are complete. */\n @Event({ eventName: 'six-alert-after-show' }) sixAfterShow!: EventEmitter<EmptyPayload>;\n\n /** Emitted when the alert closes. Calling `event.preventDefault()` will prevent it from being closed. */\n @Event({ eventName: 'six-alert-hide' }) sixHide!: EventEmitter<EmptyPayload>;\n\n /** Emitted after the alert closes and all transitions are complete. */\n @Event({ eventName: 'six-alert-after-hide' }) sixAfterHide!: EventEmitter<EmptyPayload>;\n\n componentWillLoad() {\n // Show on init if open\n if (this.open) {\n this.show();\n }\n }\n\n /** Shows the alert. */\n @Method()\n async show() {\n // Prevent subsequent calls to the method, whether manually or triggered by the `open` watcher\n if (this.isVisible) {\n return;\n }\n\n const sixShow = this.sixShow.emit();\n if (sixShow.defaultPrevented) {\n this.open = false;\n return;\n }\n\n this.isVisible = true;\n this.open = true;\n\n if (this.duration < Infinity) {\n this.autoHideTimeout = window.setTimeout(() => this.hide(), this.duration);\n }\n }\n\n /** Hides the alert */\n @Method()\n async hide() {\n // Prevent subsequent calls to the method, whether manually or triggered by the `open` watcher\n if (!this.isVisible) {\n return;\n }\n\n const sixHide = this.sixHide.emit();\n if (sixHide.defaultPrevented) {\n this.open = true;\n return;\n }\n\n clearTimeout(this.autoHideTimeout);\n this.isVisible = false;\n this.open = false;\n }\n\n /**\n * Displays the alert as a toast notification. This will move the alert out of its position in the DOM and, when\n * dismissed, it will be removed from the DOM completely. By storing a reference to the alert, you can reuse it by\n * calling this method again. The returned promise will resolve after the alert is hidden.\n * @param adjustPosition If true, the top and right position of the toast stack is shifted according to the\n * six-root header's height and the presence of a vertical scrollbar.\n */\n @Method()\n async toast(adjustPosition = true) {\n return new Promise<void>((resolve) => {\n if (!toastStack.parentElement) {\n document.body.append(toastStack);\n }\n toastStack.append(this.host);\n\n if (adjustPosition) {\n const sixRoot = document.querySelector('six-root');\n const headerSlot = getSlot(sixRoot, 'header');\n const mainSlot = sixRoot?.shadowRoot?.querySelector('host main');\n if (mainSlot != null && mainSlot instanceof HTMLElement) {\n const scrollbarWidth = mainSlot.offsetWidth - mainSlot.clientWidth;\n toastStack.style.right = `${scrollbarWidth}px`;\n }\n if (headerSlot != null) {\n const rect = headerSlot?.getBoundingClientRect();\n toastStack.style.top = `${rect.top + rect.height}px`;\n }\n } else {\n toastStack.style.top = '0';\n toastStack.style.right = '0';\n }\n\n requestAnimationFrame(() => this.show());\n\n this.host.addEventListener(\n 'six-alert-after-hide',\n () => {\n this.host.remove();\n resolve();\n\n // Remove the toast stack from the DOM when there are no more alerts\n if (toastStack.querySelector('six-alert') === null) {\n toastStack.remove();\n }\n },\n { once: true }\n );\n });\n }\n\n private handleCloseClick = () => {\n this.hide();\n };\n\n private handleMouseMove = () => {\n this.restartAutoHide();\n };\n\n private handleTransitionEnd = (event: TransitionEvent) => {\n const target = event.target as HTMLElement;\n\n // Ensure we only emit one event when the target element is no longer visible\n if (event.propertyName === 'opacity' && target.classList.contains('alert')) {\n this.isVisible = this.open;\n this.open ? this.sixAfterShow.emit() : this.sixAfterHide.emit();\n }\n };\n\n private restartAutoHide() {\n clearTimeout(this.autoHideTimeout);\n if (this.open && this.duration < Infinity) {\n this.autoHideTimeout = window.setTimeout(() => this.hide(), this.duration);\n }\n }\n\n render() {\n const asToast = this.host.closest('.six-toast-stack') != null;\n\n return (\n <div\n part=\"base\"\n class={{\n alert: true,\n 'alert--open': this.open,\n 'alert--visible': this.isVisible,\n 'alert--closable': this.closable,\n 'alert--primary': this.type === 'primary',\n 'alert--success': this.type === 'success',\n 'alert--info': this.type === 'info',\n 'alert--warning': this.type === 'warning',\n 'alert--danger': this.type === 'danger',\n 'alert--shadow': asToast,\n }}\n role=\"alert\"\n aria-live=\"assertive\"\n aria-atomic=\"true\"\n aria-hidden={this.open ? 'false' : 'true'}\n onMouseMove={this.handleMouseMove}\n onTransitionEnd={this.handleTransitionEnd}\n >\n <span part=\"icon\" class=\"alert__icon\">\n <slot name=\"icon\" />\n </span>\n\n <span part=\"message\" class=\"alert__message\">\n <slot />\n </span>\n\n {this.closable && (\n <span class=\"alert__close\">\n <six-icon-button\n name=\"clear\"\n exportparts=\"base:close-button\"\n onClick={this.handleCloseClick}\n ></six-icon-button>\n </span>\n )}\n </div>\n );\n }\n}\n\nexport type AlertType = 'primary' | 'success' | 'info' | 'warning' | 'danger';\n"],"version":3}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { proxyCustomElement, HTMLElement, h } from '@stencil/core/internal/client';
|
|
2
2
|
import { d as defineCustomElement$2 } from './six-icon2.js';
|
|
3
3
|
|
|
4
|
-
const sixAvatarCss = ":host{position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:
|
|
4
|
+
const sixAvatarCss = ":host{position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:border-box}:host{display:inline-block;--size:2rem}.avatar{display:inline-flex;align-items:center;justify-content:center;position:relative;width:var(--size);height:var(--size);background-color:var(--six-avatar-background-color);font-family:var(--six-font-sans);font-size:calc(var(--size) * 0.5);font-weight:var(--six-font-weight-normal);color:var(--six-avatar-color);overflow:hidden;user-select:none;vertical-align:middle;cursor:pointer;outline:none}.avatar:hover{box-shadow:var(--six-shadow-medium)}.avatar--circle{border-radius:var(--six-border-radius-circle)}.avatar--rounded{border-radius:var(--six-border-radius-medium)}.avatar--square{border-radius:0}.avatar__icon{display:flex;align-items:center;justify-content:center;position:absolute;top:0;left:0;width:100%;height:100%}.avatar__initials{line-height:1;text-transform:uppercase}.avatar__image{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}";
|
|
5
5
|
|
|
6
6
|
const SixAvatar$1 = /*@__PURE__*/ proxyCustomElement(class SixAvatar extends HTMLElement {
|
|
7
7
|
constructor() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"six-avatar.js","mappings":";;;AAAA,MAAM,YAAY,GAAG,
|
|
1
|
+
{"file":"six-avatar.js","mappings":";;;AAAA,MAAM,YAAY,GAAG,0/BAA0/B;;MCoBlgCA,WAAS;;;;;QAeZ,qBAAgB,GAAG;YACzB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;SACtB,CAAC;wBAhBkB,KAAK;qBAGT,EAAE;mBAGJ,EAAE;wBAGG,EAAE;qBAG4B,QAAQ;;IAMzD,MAAM;QACJ,QACE,WACE,IAAI,EAAC,MAAM,EACX,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI;gBACZ,gBAAgB,EAAE,IAAI,CAAC,KAAK,KAAK,QAAQ;gBACzC,iBAAiB,EAAE,IAAI,CAAC,KAAK,KAAK,SAAS;gBAC3C,gBAAgB,EAAE,IAAI,CAAC,KAAK,KAAK,QAAQ;aAC1C,EACD,IAAI,EAAC,OAAO,gBACA,IAAI,CAAC,GAAG,EACpB,QAAQ,EAAE,CAAC,IAEV,IAAI,CAAC,QAAQ,KAAK,EAAE,KACnB,WAAK,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,cAAc,IACnC,YAAM,IAAI,EAAC,MAAM,IACf,6BAA2B,CACtB,CACH,CACP,EAEA,IAAI,CAAC,QAAQ,KACZ,WAAK,IAAI,EAAC,UAAU,EAAC,KAAK,EAAC,kBAAkB,IAC1C,IAAI,CAAC,QAAQ,CACV,CACP,EAEA,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,QAAQ,KAC3B,WAAK,IAAI,EAAC,OAAO,EAAC,KAAK,EAAC,eAAe,EAAC,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,gBAAgB,GAAI,CAC5F,CACG,EACN;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["SixAvatar"],"sources":["src/components/six-avatar/six-avatar.scss?tag=six-avatar&encapsulation=shadow","src/components/six-avatar/six-avatar.tsx"],"sourcesContent":["@import 'src/global/component';\n\n/**\n * @prop --size: The size of the avatar.\n */\n:host {\n display: inline-block;\n\n --size: 2rem;\n}\n\n.avatar {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n position: relative;\n width: var(--size);\n height: var(--size);\n background-color: var(--six-avatar-background-color);\n font-family: var(--six-font-sans);\n font-size: calc(var(--size) * 0.5);\n font-weight: var(--six-font-weight-normal);\n color: var(--six-avatar-color);\n overflow: hidden;\n user-select: none;\n vertical-align: middle;\n cursor: pointer;\n outline: none;\n\n &:hover {\n box-shadow: var(--six-shadow-medium);\n }\n}\n\n.avatar--circle {\n border-radius: var(--six-border-radius-circle);\n}\n\n.avatar--rounded {\n border-radius: var(--six-border-radius-medium);\n}\n\n.avatar--square {\n border-radius: 0;\n}\n\n.avatar__icon {\n display: flex;\n align-items: center;\n justify-content: center;\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n}\n\n.avatar__initials {\n line-height: 1;\n text-transform: uppercase;\n}\n\n.avatar__image {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n object-fit: cover;\n}\n","import { Component, h, Prop, State } from '@stencil/core';\n\n/**\n * @since 1.0\n * @status stable\n *\n * Forked from https://github.com/shoelace-style/shoelace version v2.0.0-beta27.\n *\n * @slot icon - The default icon to use when no image or initials are present.\n *\n * @part base - The component's base wrapper.\n * @part icon - The container that wraps the avatar icon.\n * @part initials - The container that wraps the avatar initials.\n * @part image - The avatar image.\n */\n@Component({\n tag: 'six-avatar',\n styleUrl: 'six-avatar.scss',\n shadow: true,\n})\nexport class SixAvatar {\n @State() hasError = false;\n\n /** The image source to use for the avatar. */\n @Prop() image = '';\n\n /** Alternative text for the image. */\n @Prop() alt = '';\n\n /** Initials to use as a fallback when no image is available (1-2 characters max recommended). */\n @Prop() initials = '';\n\n /** The shape of the avatar. */\n @Prop() shape: 'circle' | 'square' | 'rounded' = 'circle';\n\n private handleImageError = () => {\n this.hasError = true;\n };\n\n render() {\n return (\n <div\n part=\"base\"\n class={{\n avatar: true,\n 'avatar--circle': this.shape === 'circle',\n 'avatar--rounded': this.shape === 'rounded',\n 'avatar--square': this.shape === 'square',\n }}\n role=\"image\"\n aria-label={this.alt}\n tabIndex={0}\n >\n {this.initials === '' && (\n <div part=\"icon\" class=\"avatar__icon\">\n <slot name=\"icon\">\n <six-icon>person</six-icon>\n </slot>\n </div>\n )}\n\n {this.initials && (\n <div part=\"initials\" class=\"avatar__initials\">\n {this.initials}\n </div>\n )}\n\n {this.image && !this.hasError && (\n <img part=\"image\" class=\"avatar__image\" src={this.image} onError={this.handleImageError} />\n )}\n </div>\n );\n }\n}\n"],"version":3}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { proxyCustomElement, HTMLElement, h } from '@stencil/core/internal/client';
|
|
2
2
|
|
|
3
|
-
const sixBadgeCss = ":host{position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:
|
|
3
|
+
const sixBadgeCss = ":host{position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:border-box}:host{display:inline-flex}.badge{display:inline-flex;align-items:center;justify-content:center;font-family:var(--six-font-family);font-size:var(--six-font-size-x-small);font-weight:var(--six-font-weight-semibold);letter-spacing:var(--six-letter-spacing-normal);line-height:1;border-radius:var(--six-border-radius-small);white-space:nowrap;padding:3px 6px;user-select:none;cursor:inherit}.badge--info{background-color:var(--six-color-web-rock-900);color:var(--six-color-white)}.badge--success{background-color:var(--six-color-success-500);color:var(--six-color-web-rock-900)}.badge--warning{background-color:var(--six-color-warning-700);color:var(--six-color-web-rock-900)}.badge--danger{background-color:var(--six-color-danger-800);color:var(--six-color-white)}.badge--action{background-color:var(--six-color-action-500);color:var(--six-color-white)}.badge--primary{background-color:var(--six-color-clay-50);color:var(--six-color-black)}.badge--pill{border-radius:var(--six-border-radius-pill)}.badge--pulse{animation:pulse 1.5s infinite}.badge--pulse.badge--info{--pulse-color:var(--six-color-web-rock-900)}.badge--pulse.badge--success{--pulse-color:var(--six-color-success-500)}.badge--pulse.badge--warning{--pulse-color:var(--six-color-warning-700)}.badge--pulse.badge--danger{--pulse-color:var(--six-color-danger-800)}.badge--pulse.badge--action{--pulse-color:var(--six-color-action-500)}.badge--pulse.badge--primary{--pulse-color:var(--six-color-clay-50)}@keyframes pulse{0%{box-shadow:0 0 0 0 var(--pulse-color)}70%{box-shadow:0 0 0 0.5rem transparent}100%{box-shadow:0 0 0 0 transparent}}";
|
|
4
4
|
|
|
5
5
|
const SixBadge$1 = /*@__PURE__*/ proxyCustomElement(class SixBadge extends HTMLElement {
|
|
6
6
|
constructor() {
|