@inera/ids-react 9.1.2 → 9.2.1
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/components/accordion/accordion-base.d.ts +4 -1
- package/components/accordion/accordion-base.js +33 -7
- package/components/accordion/accordion.d.ts +4 -1
- package/components/accordion/accordion.js +14 -11
- package/components/alert/alert-base.d.ts +3 -0
- package/components/alert/alert-base.js +4 -3
- package/components/alert/alert.d.ts +6 -1
- package/components/alert/alert.js +12 -9
- package/components/badge/badge.d.ts +1 -1
- package/components/badge/badge.js +6 -3
- package/components/breadcrumbs/breadcrumbs.d.ts +3 -0
- package/components/breadcrumbs/breadcrumbs.js +25 -4
- package/components/button/button-group.d.ts +3 -0
- package/components/button/button-group.js +1 -0
- package/components/button/button.js +22 -14
- package/components/card/card.d.ts +3 -0
- package/components/card/card.js +2 -1
- package/components/carousel/carousel-item.d.ts +3 -0
- package/components/carousel/carousel-item.js +1 -0
- package/components/date-label/date-label.d.ts +3 -0
- package/components/date-label/date-label.js +1 -0
- package/components/dialog/dialog-base.d.ts +0 -1
- package/components/dialog/dialog-base.js +3 -3
- package/components/dialog/dialog.d.ts +3 -0
- package/components/dialog/dialog.js +19 -19
- package/components/dropdown/dropdown-base.js +6 -3
- package/components/dropdown/dropdown-content-button.js +1 -1
- package/components/dropdown/dropdown-content-link.d.ts +3 -0
- package/components/dropdown/dropdown-content-link.js +1 -1
- package/components/dropdown/dropdown.d.ts +3 -0
- package/components/dropdown/dropdown.js +28 -31
- package/components/footer-1177/footer-1177.d.ts +3 -0
- package/components/footer-1177/footer-1177.js +1 -0
- package/components/footer-1177-admin/footer-1177-admin.d.ts +3 -0
- package/components/footer-1177-admin/footer-1177-admin.js +1 -0
- package/components/footer-1177-pro/footer-1177-pro.d.ts +3 -0
- package/components/footer-1177-pro/footer-1177-pro.js +1 -0
- package/components/footer-inera/footer-inera.d.ts +3 -0
- package/components/footer-inera/footer-inera.js +1 -0
- package/components/footer-inera-admin/footer-inera-admin.d.ts +3 -0
- package/components/footer-inera-admin/footer-inera-admin.js +2 -1
- package/components/footer-inera-general/footer-inera-general.d.ts +21 -0
- package/components/footer-inera-general/footer-inera-general.js +28 -0
- package/components/form/check-button/check-button.js +1 -0
- package/components/form/checkbox/checkbox-base.d.ts +7 -13
- package/components/form/checkbox/checkbox-base.js +10 -10
- package/components/form/checkbox/checkbox-group-base.d.ts +3 -0
- package/components/form/checkbox/checkbox-group-base.js +3 -2
- package/components/form/checkbox/checkbox-group.d.ts +3 -0
- package/components/form/checkbox/checkbox-group.js +1 -0
- package/components/form/checkbox/checkbox.d.ts +5 -15
- package/components/form/checkbox/checkbox.js +10 -2
- package/components/form/datepicker/datepicker.d.ts +7 -11
- package/components/form/datepicker/datepicker.js +17 -16
- package/components/form/error-message/error-message.d.ts +3 -0
- package/components/form/error-message/error-message.js +1 -0
- package/components/form/form-props/form-props.d.ts +18 -0
- package/components/form/input/input-base.d.ts +7 -16
- package/components/form/input/input-base.js +15 -16
- package/components/form/input/input.d.ts +3 -16
- package/components/form/input/input.js +3 -4
- package/components/form/radio/radio-base.d.ts +8 -13
- package/components/form/radio/radio-base.js +8 -10
- package/components/form/radio/radio-group-base.d.ts +3 -0
- package/components/form/radio/radio-group-base.js +1 -0
- package/components/form/radio/radio-group.d.ts +3 -0
- package/components/form/radio/radio-group.js +1 -1
- package/components/form/radio/radio.d.ts +2 -14
- package/components/form/radio/radio.js +11 -5
- package/components/form/radio-button/radio-button-group-base.d.ts +3 -0
- package/components/form/radio-button/radio-button-group-base.js +1 -0
- package/components/form/radio-button/radio-button-group.d.ts +3 -0
- package/components/form/radio-button/radio-button-group.js +4 -1
- package/components/form/radio-button/radio-button.js +1 -0
- package/components/form/range/range-base.d.ts +6 -8
- package/components/form/range/range-base.js +3 -2
- package/components/form/range/range.d.ts +2 -7
- package/components/form/range/range.js +13 -6
- package/components/form/select/select-base.d.ts +7 -15
- package/components/form/select/select-base.js +8 -8
- package/components/form/select/select.d.ts +2 -14
- package/components/form/select/select.js +12 -5
- package/components/form/select-multiple/select-multiple-base.d.ts +7 -14
- package/components/form/select-multiple/select-multiple-base.js +7 -5
- package/components/form/select-multiple/select-multiple.d.ts +4 -15
- package/components/form/select-multiple/select-multiple.js +3 -5
- package/components/form/spinner/spinner.d.ts +3 -0
- package/components/form/spinner/spinner.js +1 -0
- package/components/form/textarea/textarea-base.d.ts +7 -15
- package/components/form/textarea/textarea-base.js +7 -10
- package/components/form/textarea/textarea.d.ts +4 -14
- package/components/form/textarea/textarea.js +13 -6
- package/components/form/time/time-base.d.ts +6 -12
- package/components/form/time/time-base.js +7 -7
- package/components/form/time/time.d.ts +2 -14
- package/components/form/time/time.js +13 -6
- package/components/global-alert/global-alert-base.d.ts +3 -0
- package/components/global-alert/global-alert-base.js +3 -2
- package/components/global-alert/global-alert.d.ts +6 -1
- package/components/global-alert/global-alert.js +12 -9
- package/components/header-1177/header-1177-avatar-base.d.ts +3 -0
- package/components/header-1177/header-1177-avatar-base.js +1 -0
- package/components/header-1177/header-1177-avatar.d.ts +3 -0
- package/components/header-1177/header-1177-avatar.js +7 -15
- package/components/header-1177/header-1177-base.d.ts +3 -0
- package/components/header-1177/header-1177-base.js +1 -0
- package/components/header-1177/header-1177-item-base.d.ts +3 -0
- package/components/header-1177/header-1177-item-base.js +1 -0
- package/components/header-1177/header-1177-item.d.ts +3 -0
- package/components/header-1177/header-1177-item.js +1 -0
- package/components/header-1177/header-1177-menu-mobile-base.d.ts +3 -0
- package/components/header-1177/header-1177-menu-mobile-base.js +1 -0
- package/components/header-1177/header-1177-menu-mobile.d.ts +3 -0
- package/components/header-1177/header-1177-menu-mobile.js +7 -24
- package/components/header-1177/header-1177-nav-base.d.ts +3 -0
- package/components/header-1177/header-1177-nav-base.js +1 -0
- package/components/header-1177/header-1177-nav-item-base.d.ts +3 -0
- package/components/header-1177/header-1177-nav-item-base.js +1 -0
- package/components/header-1177/header-1177-nav-item-mobile-base.d.ts +3 -0
- package/components/header-1177/header-1177-nav-item-mobile-base.js +1 -0
- package/components/header-1177/header-1177-nav-item-mobile.d.ts +3 -0
- package/components/header-1177/header-1177-nav-item-mobile.js +1 -0
- package/components/header-1177/header-1177-nav-item.d.ts +3 -0
- package/components/header-1177/header-1177-nav-item.js +6 -29
- package/components/header-1177/header-1177-nav.d.ts +3 -0
- package/components/header-1177/header-1177-nav.js +2 -1
- package/components/header-1177/header-1177-region-picker-base.d.ts +3 -0
- package/components/header-1177/header-1177-region-picker-base.js +1 -0
- package/components/header-1177/header-1177-region-picker-mobile-base.d.ts +3 -0
- package/components/header-1177/header-1177-region-picker-mobile-base.js +1 -0
- package/components/header-1177/header-1177-region-picker-mobile.d.ts +3 -0
- package/components/header-1177/header-1177-region-picker-mobile.js +1 -0
- package/components/header-1177/header-1177-region-picker.d.ts +3 -0
- package/components/header-1177/header-1177-region-picker.js +1 -0
- package/components/header-1177/header-1177.d.ts +3 -0
- package/components/header-1177/header-1177.js +1 -0
- package/components/header-1177-admin/header-1177-admin-avatar-base.d.ts +3 -0
- package/components/header-1177-admin/header-1177-admin-avatar-base.js +2 -1
- package/components/header-1177-admin/header-1177-admin-avatar-mobile-base.d.ts +3 -0
- package/components/header-1177-admin/header-1177-admin-avatar-mobile-base.js +2 -1
- package/components/header-1177-admin/header-1177-admin-avatar-mobile.d.ts +3 -0
- package/components/header-1177-admin/header-1177-admin-avatar-mobile.js +7 -7
- package/components/header-1177-admin/header-1177-admin-avatar.d.ts +3 -0
- package/components/header-1177-admin/header-1177-admin-avatar.js +7 -25
- package/components/header-1177-admin/header-1177-admin-base.d.ts +3 -0
- package/components/header-1177-admin/header-1177-admin-base.js +1 -0
- package/components/header-1177-admin/header-1177-admin-item-base.d.ts +3 -0
- package/components/header-1177-admin/header-1177-admin-item-base.js +1 -0
- package/components/header-1177-admin/header-1177-admin-item.d.ts +3 -0
- package/components/header-1177-admin/header-1177-admin-item.js +1 -0
- package/components/header-1177-admin/header-1177-admin-menu-mobile-base.d.ts +3 -0
- package/components/header-1177-admin/header-1177-admin-menu-mobile-base.js +1 -0
- package/components/header-1177-admin/header-1177-admin-menu-mobile.d.ts +3 -0
- package/components/header-1177-admin/header-1177-admin-menu-mobile.js +7 -26
- package/components/header-1177-admin/header-1177-admin-nav-base.d.ts +6 -1
- package/components/header-1177-admin/header-1177-admin-nav-base.js +5 -3
- package/components/header-1177-admin/header-1177-admin-nav-item-base.d.ts +3 -0
- package/components/header-1177-admin/header-1177-admin-nav-item-base.js +1 -0
- package/components/header-1177-admin/header-1177-admin-nav-item-mobile-base.d.ts +3 -0
- package/components/header-1177-admin/header-1177-admin-nav-item-mobile-base.js +1 -0
- package/components/header-1177-admin/header-1177-admin-nav-item-mobile.d.ts +3 -0
- package/components/header-1177-admin/header-1177-admin-nav-item-mobile.js +1 -0
- package/components/header-1177-admin/header-1177-admin-nav-item.d.ts +3 -0
- package/components/header-1177-admin/header-1177-admin-nav-item.js +6 -29
- package/components/header-1177-admin/header-1177-admin-nav.d.ts +6 -1
- package/components/header-1177-admin/header-1177-admin-nav.js +3 -2
- package/components/header-1177-admin/header-1177-admin.d.ts +3 -0
- package/components/header-1177-admin/header-1177-admin.js +1 -0
- package/components/header-1177-pro/header-1177-pro-avatar-base.d.ts +3 -0
- package/components/header-1177-pro/header-1177-pro-avatar-base.js +1 -0
- package/components/header-1177-pro/header-1177-pro-avatar-mobile-base.d.ts +3 -0
- package/components/header-1177-pro/header-1177-pro-avatar-mobile-base.js +1 -0
- package/components/header-1177-pro/header-1177-pro-avatar-mobile.d.ts +3 -0
- package/components/header-1177-pro/header-1177-pro-avatar-mobile.js +6 -5
- package/components/header-1177-pro/header-1177-pro-avatar.d.ts +3 -0
- package/components/header-1177-pro/header-1177-pro-avatar.js +7 -26
- package/components/header-1177-pro/header-1177-pro-base.d.ts +3 -0
- package/components/header-1177-pro/header-1177-pro-base.js +1 -0
- package/components/header-1177-pro/header-1177-pro-item-base.d.ts +3 -0
- package/components/header-1177-pro/header-1177-pro-item-base.js +1 -0
- package/components/header-1177-pro/header-1177-pro-item.d.ts +3 -0
- package/components/header-1177-pro/header-1177-pro-item.js +1 -0
- package/components/header-1177-pro/header-1177-pro-menu-mobile-base.d.ts +3 -0
- package/components/header-1177-pro/header-1177-pro-menu-mobile-base.js +1 -0
- package/components/header-1177-pro/header-1177-pro-menu-mobile.d.ts +3 -0
- package/components/header-1177-pro/header-1177-pro-menu-mobile.js +7 -26
- package/components/header-1177-pro/header-1177-pro-nav-base.d.ts +6 -1
- package/components/header-1177-pro/header-1177-pro-nav-base.js +5 -3
- package/components/header-1177-pro/header-1177-pro-nav-item-base.d.ts +3 -0
- package/components/header-1177-pro/header-1177-pro-nav-item-base.js +1 -0
- package/components/header-1177-pro/header-1177-pro-nav-item-mobile-base.d.ts +3 -0
- package/components/header-1177-pro/header-1177-pro-nav-item-mobile-base.js +1 -0
- package/components/header-1177-pro/header-1177-pro-nav-item-mobile.d.ts +3 -0
- package/components/header-1177-pro/header-1177-pro-nav-item-mobile.js +1 -0
- package/components/header-1177-pro/header-1177-pro-nav-item.d.ts +3 -0
- package/components/header-1177-pro/header-1177-pro-nav-item.js +6 -29
- package/components/header-1177-pro/header-1177-pro-nav.d.ts +6 -1
- package/components/header-1177-pro/header-1177-pro-nav.js +3 -2
- package/components/header-1177-pro/header-1177-pro-region-picker-base.d.ts +3 -0
- package/components/header-1177-pro/header-1177-pro-region-picker-base.js +2 -1
- package/components/header-1177-pro/header-1177-pro-region-picker-mobile-base.d.ts +5 -1
- package/components/header-1177-pro/header-1177-pro-region-picker-mobile-base.js +4 -2
- package/components/header-1177-pro/header-1177-pro-region-picker-mobile.d.ts +3 -0
- package/components/header-1177-pro/header-1177-pro-region-picker-mobile.js +2 -1
- package/components/header-1177-pro/header-1177-pro-region-picker.d.ts +3 -0
- package/components/header-1177-pro/header-1177-pro-region-picker.js +1 -0
- package/components/header-1177-pro/header-1177-pro.d.ts +3 -0
- package/components/header-1177-pro/header-1177-pro.js +1 -0
- package/components/header-inera/header-inera-base.d.ts +3 -0
- package/components/header-inera/header-inera-base.js +1 -0
- package/components/header-inera/header-inera-item-base.d.ts +3 -0
- package/components/header-inera/header-inera-item-base.js +1 -0
- package/components/header-inera/header-inera-item.d.ts +3 -0
- package/components/header-inera/header-inera-item.js +1 -0
- package/components/header-inera/header-inera-menu-mobile-base.d.ts +3 -0
- package/components/header-inera/header-inera-menu-mobile-base.js +1 -0
- package/components/header-inera/header-inera-menu-mobile.d.ts +3 -0
- package/components/header-inera/header-inera-menu-mobile.js +7 -26
- package/components/header-inera/header-inera-nav-base.d.ts +3 -0
- package/components/header-inera/header-inera-nav-base.js +1 -0
- package/components/header-inera/header-inera-nav-item-base.d.ts +3 -0
- package/components/header-inera/header-inera-nav-item-base.js +1 -0
- package/components/header-inera/header-inera-nav-item.d.ts +3 -0
- package/components/header-inera/header-inera-nav-item.js +6 -29
- package/components/header-inera/header-inera-nav.d.ts +3 -0
- package/components/header-inera/header-inera-nav.js +1 -0
- package/components/header-inera/header-inera.d.ts +3 -0
- package/components/header-inera/header-inera.js +1 -0
- package/components/header-inera-admin/header-inera-admin-avatar-base.d.ts +3 -0
- package/components/header-inera-admin/header-inera-admin-avatar-base.js +2 -1
- package/components/header-inera-admin/header-inera-admin-avatar-mobile-base.d.ts +3 -0
- package/components/header-inera-admin/header-inera-admin-avatar-mobile-base.js +2 -1
- package/components/header-inera-admin/header-inera-admin-avatar-mobile.d.ts +3 -0
- package/components/header-inera-admin/header-inera-admin-avatar-mobile.js +6 -5
- package/components/header-inera-admin/header-inera-admin-avatar.d.ts +3 -0
- package/components/header-inera-admin/header-inera-admin-avatar.js +7 -25
- package/components/header-inera-admin/header-inera-admin-base.d.ts +3 -0
- package/components/header-inera-admin/header-inera-admin-base.js +1 -0
- package/components/header-inera-admin/header-inera-admin-item-base.d.ts +3 -0
- package/components/header-inera-admin/header-inera-admin-item-base.js +1 -0
- package/components/header-inera-admin/header-inera-admin-item.d.ts +3 -0
- package/components/header-inera-admin/header-inera-admin-item.js +1 -0
- package/components/header-inera-admin/header-inera-admin-menu-mobile-base.d.ts +3 -0
- package/components/header-inera-admin/header-inera-admin-menu-mobile-base.js +2 -1
- package/components/header-inera-admin/header-inera-admin-menu-mobile.d.ts +3 -0
- package/components/header-inera-admin/header-inera-admin-menu-mobile.js +7 -26
- package/components/header-inera-admin/header-inera-admin-nav-base.d.ts +6 -1
- package/components/header-inera-admin/header-inera-admin-nav-base.js +5 -3
- package/components/header-inera-admin/header-inera-admin-nav-item-base.d.ts +3 -0
- package/components/header-inera-admin/header-inera-admin-nav-item-base.js +1 -0
- package/components/header-inera-admin/header-inera-admin-nav-item-mobile-base.d.ts +3 -0
- package/components/header-inera-admin/header-inera-admin-nav-item-mobile-base.js +1 -0
- package/components/header-inera-admin/header-inera-admin-nav-item-mobile.d.ts +3 -0
- package/components/header-inera-admin/header-inera-admin-nav-item-mobile.js +1 -0
- package/components/header-inera-admin/header-inera-admin-nav-item.d.ts +3 -0
- package/components/header-inera-admin/header-inera-admin-nav-item.js +6 -29
- package/components/header-inera-admin/header-inera-admin-nav.d.ts +6 -1
- package/components/header-inera-admin/header-inera-admin-nav.js +3 -2
- package/components/header-inera-admin/header-inera-admin.d.ts +3 -0
- package/components/header-inera-admin/header-inera-admin.js +1 -0
- package/components/header-inera-general/header-inera-general-base.d.ts +16 -0
- package/components/header-inera-general/header-inera-general-base.js +12 -0
- package/components/header-inera-general/header-inera-general-item-base.d.ts +11 -0
- package/components/header-inera-general/header-inera-general-item-base.js +13 -0
- package/components/header-inera-general/header-inera-general-item.d.ts +10 -0
- package/components/header-inera-general/header-inera-general-item.js +12 -0
- package/components/header-inera-general/header-inera-general-menu-mobile-base.d.ts +15 -0
- package/components/header-inera-general/header-inera-general-menu-mobile-base.js +19 -0
- package/components/header-inera-general/header-inera-general-menu-mobile.d.ts +13 -0
- package/components/header-inera-general/header-inera-general-menu-mobile.js +31 -0
- package/components/header-inera-general/header-inera-general-nav-base.d.ts +10 -0
- package/components/header-inera-general/header-inera-general-nav-base.js +11 -0
- package/components/header-inera-general/header-inera-general-nav-item-base.d.ts +21 -0
- package/components/header-inera-general/header-inera-general-nav-item-base.js +27 -0
- package/components/header-inera-general/header-inera-general-nav-item.d.ts +18 -0
- package/components/header-inera-general/header-inera-general-nav-item.js +27 -0
- package/components/header-inera-general/header-inera-general-nav.d.ts +8 -0
- package/components/header-inera-general/header-inera-general-nav.js +12 -0
- package/components/header-inera-general/header-inera-general.d.ts +15 -0
- package/components/header-inera-general/header-inera-general.js +11 -0
- package/components/header-patient/header-patient.d.ts +3 -0
- package/components/header-patient/header-patient.js +1 -0
- package/components/link/action-link.d.ts +3 -0
- package/components/link/action-link.js +2 -1
- package/components/link/box-link.d.ts +3 -0
- package/components/link/box-link.js +1 -0
- package/components/link/link.d.ts +3 -0
- package/components/link/link.js +1 -0
- package/components/list-pagination/list-pagination-links.d.ts +3 -0
- package/components/list-pagination/list-pagination-links.js +1 -0
- package/components/list-pagination/list-pagination.d.ts +3 -0
- package/components/list-pagination/list-pagination.js +4 -3
- package/components/mobile-menu/mobile-item-base.d.ts +3 -0
- package/components/mobile-menu/mobile-item-base.js +1 -0
- package/components/mobile-menu/mobile-item.d.ts +3 -0
- package/components/mobile-menu/mobile-item.js +1 -0
- package/components/mobile-menu/mobile-menu.d.ts +3 -0
- package/components/mobile-menu/mobile-menu.js +1 -0
- package/components/navigation-content/navigation-content.d.ts +3 -0
- package/components/navigation-content/navigation-content.js +1 -0
- package/components/navigation-local/navigation-local.d.ts +3 -0
- package/components/navigation-local/navigation-local.js +1 -0
- package/components/notification-badge/notification-badge.d.ts +2 -4
- package/components/notification-badge/notification-badge.js +6 -3
- package/components/popover/popover-base.d.ts +4 -1
- package/components/popover/popover-base.js +1 -0
- package/components/popover/popover-content.d.ts +7 -1
- package/components/popover/popover-content.js +6 -10
- package/components/popover/popover.d.ts +3 -0
- package/components/popover/popover.js +141 -52
- package/components/progressbar/progressbar.d.ts +4 -4
- package/components/progressbar/progressbar.js +5 -3
- package/components/puff-list/puff-list-item-date.d.ts +3 -0
- package/components/puff-list/puff-list-item-date.js +1 -0
- package/components/puff-list/puff-list-item-info.d.ts +3 -0
- package/components/puff-list/puff-list-item-info.js +1 -0
- package/components/puff-list/puff-list-item.d.ts +1 -1
- package/components/puff-list/puff-list-item.js +11 -13
- package/components/puff-list/puff-list.d.ts +4 -1
- package/components/puff-list/puff-list.js +2 -1
- package/components/region-icon/region-icon.d.ts +3 -0
- package/components/region-icon/region-icon.js +1 -0
- package/components/side-menu/side-menu.d.ts +3 -0
- package/components/side-menu/side-menu.js +1 -0
- package/components/side-panel/side-panel-base.d.ts +1 -0
- package/components/side-panel/side-panel-base.js +1 -1
- package/components/side-panel/side-panel-provider.d.ts +3 -0
- package/components/side-panel/side-panel-provider.js +1 -0
- package/components/side-panel/side-panel.d.ts +3 -0
- package/components/side-panel/side-panel.js +29 -7
- package/components/stepper/step-base.js +1 -1
- package/components/stepper/step.js +11 -4
- package/components/stepper/stepper.d.ts +3 -0
- package/components/stepper/stepper.js +1 -0
- package/components/tabs/tabs-base.d.ts +3 -0
- package/components/tabs/tabs-base.js +1 -0
- package/components/tabs/tabs.d.ts +3 -0
- package/components/tabs/tabs.js +1 -0
- package/components/tag/tag.d.ts +1 -1
- package/components/tag/tag.js +4 -3
- package/components/toolbar/toolbar.d.ts +5 -0
- package/components/toolbar/toolbar.js +11 -0
- package/components/tooltip/tooltip-base.d.ts +5 -1
- package/components/tooltip/tooltip-base.js +3 -2
- package/components/tooltip/tooltip.d.ts +3 -0
- package/components/tooltip/tooltip.js +26 -1
- package/components/utils/hooks/useClickOutside.d.ts +1 -9
- package/components/utils/hooks/useClickOutside.js +9 -16
- package/components/utils/hooks/useLinkClick.d.ts +2 -0
- package/components/utils/hooks/useLinkClick.js +22 -0
- package/index.d.ts +24 -0
- package/index.js +12 -0
- package/package.json +2 -2
|
@@ -2,9 +2,10 @@ import { jsxs, jsx } from 'react/jsx-runtime';
|
|
|
2
2
|
import { useId } from 'react';
|
|
3
3
|
import clsx from 'clsx';
|
|
4
4
|
|
|
5
|
-
function IDSSelectMultipleBase({ id,
|
|
6
|
-
const
|
|
7
|
-
const
|
|
5
|
+
function IDSSelectMultipleBase({ id, label, placeholder, numbCheckedBoxes, selectedLabel = "vald", selectedLabelPlural = "valda", expanded, maxHeight = "", tooltip, componentRef, buttonRef, invalid, disabled, readOnly, ariaDisabled, light, focusAnchor, className, children, style, onClick, client = false }) {
|
|
6
|
+
const reactId = useId();
|
|
7
|
+
const labelId = `select-multiple-base-label-${reactId}`;
|
|
8
|
+
const dropdownId = `select-multiple-base-dropdown-${reactId}`;
|
|
8
9
|
const displayedValue = numbCheckedBoxes === 0 || !numbCheckedBoxes
|
|
9
10
|
? placeholder
|
|
10
11
|
: numbCheckedBoxes === 1
|
|
@@ -15,12 +16,13 @@ function IDSSelectMultipleBase({ id, labelId, label, placeholder, numbCheckedBox
|
|
|
15
16
|
onClick
|
|
16
17
|
}
|
|
17
18
|
: {};
|
|
18
|
-
return (jsxs("div", { className: clsx("ids-select-multiple", className), ref: componentRef, style: style, children: [label && (jsxs("div", { className: "ids-label-wrapper ids-label-wrapper--margin-bottom", children: [jsx("label", { id:
|
|
19
|
+
return (jsxs("div", { className: clsx("ids-select-multiple", className), ref: componentRef, style: style, children: [label && (jsxs("div", { className: "ids-label-wrapper ids-label-wrapper--margin-bottom", children: [jsx("label", { id: labelId, className: clsx("ids-label", { "ids-label--disabled": disabled || readOnly }), children: label }), tooltip && jsx("span", { className: "ids-label__tooltip", children: tooltip })] })), jsx("div", { className: "ids-select-multiple__select-wrapper", children: jsx("button", { ref: buttonRef, id: id, "aria-labelledby": labelId, type: "button", "aria-haspopup": "dialog", "aria-controls": dropdownId, className: clsx("ids-select-multiple__select", {
|
|
19
20
|
"ids-input--light": light,
|
|
20
21
|
"ids-focus-anchor": focusAnchor
|
|
21
|
-
}), disabled: disabled, "aria-disabled": ariaDisabled, "aria-expanded": expanded, "aria-invalid": invalid, ...clickHandler, children: displayedValue }) }), jsx("div", { className: "ids-select-multiple__dropdown-wrapper", id: dropdownId, children: jsx("div", { className: clsx("ids-select-multiple__dropdown", {
|
|
22
|
+
}), disabled: disabled, "aria-disabled": ariaDisabled || readOnly || undefined, "aria-expanded": expanded, "aria-invalid": invalid, ...clickHandler, children: displayedValue }) }), jsx("div", { className: "ids-select-multiple__dropdown-wrapper", id: dropdownId, children: jsx("div", { className: clsx("ids-select-multiple__dropdown", {
|
|
22
23
|
"ids-select-multiple__dropdown--expanded": expanded
|
|
23
24
|
}), children: jsx("div", { className: "ids-select-multiple__dropdown-scroll-area", style: { maxHeight }, children: children }) }) })] }));
|
|
24
25
|
}
|
|
26
|
+
IDSSelectMultipleBase.displayName = "IDSSelectMultipleBase";
|
|
25
27
|
|
|
26
28
|
export { IDSSelectMultipleBase };
|
|
@@ -1,25 +1,14 @@
|
|
|
1
|
-
import React
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { CommonFormPropsWithReadOnly } from "../form-props/form-props";
|
|
3
|
+
export interface IDSSelectMultipleProps extends React.InputHTMLAttributes<HTMLInputElement>, CommonFormPropsWithReadOnly {
|
|
4
4
|
selectedLabel?: string;
|
|
5
5
|
selectedLabelPlural?: string;
|
|
6
6
|
placeholder?: string;
|
|
7
7
|
numbCheckedBoxes?: number;
|
|
8
8
|
maxHeight?: string;
|
|
9
9
|
expanded?: boolean;
|
|
10
|
-
errorMsg?: string;
|
|
11
|
-
invalid?: boolean;
|
|
12
|
-
disabled?: boolean;
|
|
13
|
-
ariaDisabled?: boolean;
|
|
14
|
-
light?: boolean;
|
|
15
|
-
focusAnchor?: boolean;
|
|
16
|
-
noValidation?: boolean;
|
|
17
|
-
tooltip?: React.ReactNode;
|
|
18
|
-
children?: React.ReactNode;
|
|
19
|
-
dataTestId?: string;
|
|
20
|
-
id?: string;
|
|
21
10
|
}
|
|
22
|
-
export declare function IDSSelectMultiple({ label,
|
|
11
|
+
export declare function IDSSelectMultiple({ label, invalid, noValidation, expanded, errorMsg, style, children, ...props }: IDSSelectMultipleProps): import("react/jsx-runtime").JSX.Element;
|
|
23
12
|
export declare namespace IDSSelectMultiple {
|
|
24
13
|
var displayName: string;
|
|
25
14
|
}
|
|
@@ -6,14 +6,12 @@ import { IDSCheckboxGroup } from '../checkbox/checkbox-group.js';
|
|
|
6
6
|
import { useClickOutside } from '../../utils/hooks/useClickOutside.js';
|
|
7
7
|
import { useEsc } from '../../utils/hooks/useEsc.js';
|
|
8
8
|
|
|
9
|
-
function IDSSelectMultiple({ label,
|
|
9
|
+
function IDSSelectMultiple({ label, invalid = false, noValidation = false, expanded = false, errorMsg, style, children, ...props }) {
|
|
10
10
|
const [isExpanded, setIsExpanded] = useState(expanded);
|
|
11
11
|
const [checkboxListInvalid, setCheckboxListInvalid] = useState(false);
|
|
12
12
|
const buttonRef = useRef(null);
|
|
13
13
|
const componentRef = useRef(null);
|
|
14
|
-
useClickOutside(
|
|
15
|
-
setIsExpanded(false);
|
|
16
|
-
});
|
|
14
|
+
useClickOutside(() => setIsExpanded(false), componentRef, buttonRef, isExpanded);
|
|
17
15
|
useEsc(() => setIsExpanded(false), buttonRef, componentRef, isExpanded);
|
|
18
16
|
useEffect(() => {
|
|
19
17
|
if (checkboxListInvalid && !noValidation)
|
|
@@ -22,7 +20,7 @@ function IDSSelectMultiple({ label, id, invalid = false, noValidation = false, e
|
|
|
22
20
|
useEffect(() => {
|
|
23
21
|
setIsExpanded(expanded);
|
|
24
22
|
}, [expanded]);
|
|
25
|
-
return (jsx(IDSSelectMultipleBase, { ...props,
|
|
23
|
+
return (jsx(IDSSelectMultipleBase, { ...props, client: true, componentRef: componentRef, buttonRef: buttonRef, invalid: invalid || (!noValidation && checkboxListInvalid), expanded: isExpanded, label: label, onClick: () => {
|
|
26
24
|
setIsExpanded(!isExpanded);
|
|
27
25
|
}, children: jsx(IDSCheckboxGroup, { block: true, legend: label, hideLegend: true, noValidation: noValidation, errorMsg: errorMsg, onValidityChange: (isValid) => {
|
|
28
26
|
if (!isValid && !noValidation) {
|
|
@@ -5,4 +5,7 @@ interface IDSSpinnerProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
|
5
5
|
srText?: string;
|
|
6
6
|
}
|
|
7
7
|
export declare function IDSSpinner({ variant, live, srText, className, ...rest }: IDSSpinnerProps): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
export declare namespace IDSSpinner {
|
|
9
|
+
var displayName: string;
|
|
10
|
+
}
|
|
8
11
|
export {};
|
|
@@ -4,5 +4,6 @@ import clsx from 'clsx';
|
|
|
4
4
|
function IDSSpinner({ variant = "1", live = "polite", srText = "", className, ...rest }) {
|
|
5
5
|
return (jsxs("div", { role: "alert", "aria-live": live, className: clsx("ids-spinner", `ids-spinner--${variant}`, className), ...rest, children: [srText && jsx("p", { className: "ids-spinner-sr", children: srText }), jsx("div", { className: "ids-bounce-1" }), jsx("div", { className: "ids-bounce-2" }), jsx("div", { className: "ids-bounce-3" })] }));
|
|
6
6
|
}
|
|
7
|
+
IDSSpinner.displayName = "IDSSpinner";
|
|
7
8
|
|
|
8
9
|
export { IDSSpinner };
|
|
@@ -1,24 +1,16 @@
|
|
|
1
1
|
import { CSSProperties } from "react";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
label?: string;
|
|
5
|
-
hint?: React.ReactNode;
|
|
6
|
-
errorMsg?: string;
|
|
7
|
-
invalid?: boolean;
|
|
8
|
-
required?: boolean;
|
|
9
|
-
disabled?: boolean;
|
|
10
|
-
readOnly?: boolean;
|
|
11
|
-
light?: boolean;
|
|
12
|
-
block?: boolean;
|
|
2
|
+
import { CommonFormPropsWithReadOnly } from "../form-props/form-props";
|
|
3
|
+
interface IDSTextareaBaseProps extends Omit<React.TextareaHTMLAttributes<HTMLTextAreaElement>, "ref">, CommonFormPropsWithReadOnly {
|
|
13
4
|
autoSize?: boolean;
|
|
14
5
|
noResize?: boolean;
|
|
15
|
-
|
|
16
|
-
tooltip?: React.ReactNode;
|
|
6
|
+
block?: boolean;
|
|
17
7
|
textareaRef?: React.Ref<HTMLTextAreaElement>;
|
|
18
8
|
hintId?: string;
|
|
19
9
|
errorMsgId?: string;
|
|
20
|
-
dataTestId?: string;
|
|
21
|
-
className?: string;
|
|
22
10
|
style?: CSSProperties;
|
|
23
11
|
}
|
|
24
12
|
export declare function IDSTextareaBase({ id, label, hint, hintId, errorMsg, errorMsgId, invalid, required, disabled, readOnly, light, block, autoSize, noResize, focusAnchor, tooltip, textareaRef, dataTestId, className, style, ...props }: IDSTextareaBaseProps): import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
export declare namespace IDSTextareaBase {
|
|
14
|
+
var displayName: string;
|
|
15
|
+
}
|
|
16
|
+
export {};
|
|
@@ -9,15 +9,11 @@ function IDSTextareaBase({ id, label, hint, hintId, errorMsg, errorMsgId, invali
|
|
|
9
9
|
const baseHintId = !!hintId ? hintId : `textarea-base-hint-${reactId}`;
|
|
10
10
|
const baseErrorMsgId = !!errorMsgId ? errorMsgId : `textarea-base-error-${reactId}`;
|
|
11
11
|
const showErrorMsg = invalid && !!errorMsg;
|
|
12
|
-
const ariaHandler =
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
? {
|
|
18
|
-
"aria-describedby": baseHintId
|
|
19
|
-
}
|
|
20
|
-
: {};
|
|
12
|
+
const ariaHandler = {};
|
|
13
|
+
const describedByIds = [showErrorMsg && baseErrorMsgId, hint && baseHintId].filter(Boolean);
|
|
14
|
+
if (describedByIds.length) {
|
|
15
|
+
ariaHandler["aria-describedby"] = describedByIds.join(" ");
|
|
16
|
+
}
|
|
21
17
|
return (jsxs("div", { className: clsx("ids-textarea", {
|
|
22
18
|
"ids-textarea--block": block,
|
|
23
19
|
"ids-textarea--autosize": autoSize,
|
|
@@ -28,7 +24,8 @@ function IDSTextareaBase({ id, label, hint, hintId, errorMsg, errorMsgId, invali
|
|
|
28
24
|
"ids-input--light": light,
|
|
29
25
|
"ids-input--invalid": invalid,
|
|
30
26
|
"ids-focus-anchor": focusAnchor
|
|
31
|
-
}), "
|
|
27
|
+
}), style: { minWidth: (!!hint || !!errorMsg && showErrorMsg) ? "100%" : "inherit" }, required: required, disabled: disabled, "aria-required": required, "aria-disabled": disabled, "aria-invalid": invalid, readOnly: readOnly, ...ariaHandler, ...props }), hint && (jsx("div", { id: baseHintId, className: "ids-input__hint", children: hint })), showErrorMsg && (jsx(IDSErrorMessage, { id: baseErrorMsgId, show: true, children: errorMsg }))] }));
|
|
32
28
|
}
|
|
29
|
+
IDSTextareaBase.displayName = "IDSTextareaBase";
|
|
33
30
|
|
|
34
31
|
export { IDSTextareaBase };
|
|
@@ -1,19 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
hint?: React.ReactNode;
|
|
4
|
-
errorMsg?: string;
|
|
5
|
-
disabled?: boolean;
|
|
6
|
-
invalid?: boolean;
|
|
7
|
-
required?: boolean;
|
|
8
|
-
noValidation?: boolean;
|
|
9
|
-
validationOnBlur?: boolean;
|
|
1
|
+
import { CommonFormPropsWithReadOnly } from "../form-props/form-props";
|
|
2
|
+
interface IDSTextareaProps extends React.TextareaHTMLAttributes<HTMLTextAreaElement>, CommonFormPropsWithReadOnly {
|
|
10
3
|
autoSize?: boolean;
|
|
11
4
|
noResize?: boolean;
|
|
5
|
+
compact?: boolean;
|
|
12
6
|
block?: boolean;
|
|
13
|
-
light?: boolean;
|
|
14
|
-
focusAnchor?: boolean;
|
|
15
|
-
readOnly?: boolean;
|
|
16
|
-
tooltip?: React.ReactNode;
|
|
17
|
-
dataTestId?: string;
|
|
18
7
|
}
|
|
19
8
|
export declare const IDSTextarea: import("react").ForwardRefExoticComponent<IDSTextareaProps & import("react").RefAttributes<HTMLTextAreaElement>>;
|
|
9
|
+
export {};
|
|
@@ -1,15 +1,22 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx } from 'react/jsx-runtime';
|
|
3
|
-
import { forwardRef, useRef
|
|
3
|
+
import { forwardRef, useRef } from 'react';
|
|
4
4
|
import { useInputValidity } from '../form-hooks/useInputValidity.js';
|
|
5
5
|
import { IDSTextareaBase } from './textarea-base.js';
|
|
6
6
|
|
|
7
|
-
const IDSTextarea = forwardRef(({
|
|
7
|
+
const IDSTextarea = forwardRef(({ invalid = false, noValidation = false, validationOnBlur = false, ...props }, ref) => {
|
|
8
8
|
const textareaRef = useRef(null);
|
|
9
|
-
|
|
10
|
-
const
|
|
11
|
-
|
|
12
|
-
|
|
9
|
+
const hasValidValue = useInputValidity(textareaRef, validationOnBlur);
|
|
10
|
+
const computedInvalid = (invalid || !hasValidValue) && !noValidation;
|
|
11
|
+
// Merge forwarded + local ref
|
|
12
|
+
const mergedRef = (node) => {
|
|
13
|
+
textareaRef.current = node;
|
|
14
|
+
if (typeof ref === "function")
|
|
15
|
+
ref(node);
|
|
16
|
+
else if (ref)
|
|
17
|
+
ref.current = node;
|
|
18
|
+
};
|
|
19
|
+
return jsx(IDSTextareaBase, { ...props, invalid: computedInvalid, textareaRef: mergedRef });
|
|
13
20
|
});
|
|
14
21
|
IDSTextarea.displayName = "IDSTextarea";
|
|
15
22
|
|
|
@@ -1,17 +1,11 @@
|
|
|
1
1
|
import { CSSProperties } from "react";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
label?: string;
|
|
5
|
-
errorMsg?: string;
|
|
6
|
-
invalid?: boolean;
|
|
7
|
-
required?: boolean;
|
|
8
|
-
disabled?: boolean;
|
|
9
|
-
light?: boolean;
|
|
10
|
-
focusAnchor?: boolean;
|
|
11
|
-
tooltip?: React.ReactNode;
|
|
12
|
-
errorMsgId?: string;
|
|
13
|
-
dataTestId?: string;
|
|
2
|
+
import { CommonFormPropsWithReadOnly } from "../form-props/form-props";
|
|
3
|
+
export interface IDSTimeBaseProps extends React.InputHTMLAttributes<HTMLInputElement>, CommonFormPropsWithReadOnly {
|
|
14
4
|
inputRef?: React.Ref<HTMLInputElement>;
|
|
5
|
+
errorMsgId?: string;
|
|
15
6
|
style?: CSSProperties;
|
|
16
7
|
}
|
|
17
8
|
export declare function IDSTimeBase({ id, label, tooltip, errorMsg, errorMsgId, disabled, invalid, required, light, focusAnchor, dataTestId, className, inputRef, style, ...props }: IDSTimeBaseProps & React.InputHTMLAttributes<HTMLInputElement>): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export declare namespace IDSTimeBase {
|
|
10
|
+
var displayName: string;
|
|
11
|
+
}
|
|
@@ -5,14 +5,13 @@ import { useId } from 'react';
|
|
|
5
5
|
|
|
6
6
|
function IDSTimeBase({ id, label, tooltip, errorMsg, errorMsgId, disabled = false, invalid = false, required = false, light, focusAnchor, dataTestId, className, inputRef, style, ...props }) {
|
|
7
7
|
const reactId = useId();
|
|
8
|
-
const inputId =
|
|
9
|
-
const baseErrorMsgId =
|
|
8
|
+
const inputId = id ?? `time-base-${reactId}`;
|
|
9
|
+
const baseErrorMsgId = errorMsgId ?? `time-base-error-${reactId}`;
|
|
10
10
|
const showErrorMsg = invalid && !!errorMsg;
|
|
11
|
-
const ariaHandler =
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
: {};
|
|
11
|
+
const ariaHandler = {};
|
|
12
|
+
if (showErrorMsg) {
|
|
13
|
+
ariaHandler["aria-describedby"] = baseErrorMsgId;
|
|
14
|
+
}
|
|
16
15
|
return (jsxs("div", { className: clsx("ids-time", className), "data-testid": dataTestId, style: style, children: [label && (jsxs("div", { className: "ids-label-wrapper ids-label-wrapper--margin-bottom", children: [jsx("label", { className: clsx("ids-label", {
|
|
17
16
|
"ids-label--disabled": disabled
|
|
18
17
|
}), htmlFor: inputId, children: label }), tooltip && jsx("span", { className: "ids-label__tooltip", children: tooltip })] })), jsx("div", { className: "ids-time__input-wrapper", children: jsx("input", { ref: inputRef, id: inputId, type: "time", className: clsx("ids-time__input", {
|
|
@@ -20,5 +19,6 @@ function IDSTimeBase({ id, label, tooltip, errorMsg, errorMsgId, disabled = fals
|
|
|
20
19
|
"ids-focus-anchor": focusAnchor
|
|
21
20
|
}), "aria-invalid": invalid, "aria-required": required, "aria-disabled": disabled, required: required, disabled: disabled, ...ariaHandler, ...props }) }), showErrorMsg && (jsx(IDSErrorMessage, { id: baseErrorMsgId, show: true, children: errorMsg }))] }));
|
|
22
21
|
}
|
|
22
|
+
IDSTimeBase.displayName = "IDSTimeBase";
|
|
23
23
|
|
|
24
24
|
export { IDSTimeBase };
|
|
@@ -1,16 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
label?: string;
|
|
4
|
-
errorMsg?: string;
|
|
5
|
-
invalid?: boolean;
|
|
6
|
-
required?: boolean;
|
|
7
|
-
disabled?: boolean;
|
|
8
|
-
light?: boolean;
|
|
9
|
-
focusAnchor?: boolean;
|
|
10
|
-
tooltip?: React.ReactNode;
|
|
11
|
-
errorMsgId?: string;
|
|
12
|
-
dataTestId?: string;
|
|
13
|
-
noValidation?: boolean;
|
|
14
|
-
validationOnBlur?: boolean;
|
|
1
|
+
import { CommonFormPropsWithReadOnly } from "../form-props/form-props";
|
|
2
|
+
export interface IDSTimeProps extends React.InputHTMLAttributes<HTMLInputElement>, CommonFormPropsWithReadOnly {
|
|
15
3
|
}
|
|
16
4
|
export declare const IDSTime: import("react").ForwardRefExoticComponent<IDSTimeProps & import("react").RefAttributes<HTMLInputElement>>;
|
|
@@ -1,15 +1,22 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx } from 'react/jsx-runtime';
|
|
3
|
-
import { forwardRef, useRef
|
|
3
|
+
import { forwardRef, useRef } from 'react';
|
|
4
4
|
import { useInputValidity } from '../form-hooks/useInputValidity.js';
|
|
5
5
|
import { IDSTimeBase } from './time-base.js';
|
|
6
6
|
|
|
7
|
-
const IDSTime = forwardRef(({ invalid = false, noValidation = false, validationOnBlur = false,
|
|
8
|
-
const
|
|
9
|
-
|
|
10
|
-
const hasValidValue = useInputValidity(inputRef, validationOnBlur);
|
|
7
|
+
const IDSTime = forwardRef(({ invalid = false, noValidation = false, validationOnBlur = false, ...props }, ref) => {
|
|
8
|
+
const timeRef = useRef(null);
|
|
9
|
+
const hasValidValue = useInputValidity(timeRef, validationOnBlur);
|
|
11
10
|
const isInvalid = (invalid || !hasValidValue) && !noValidation;
|
|
12
|
-
|
|
11
|
+
// Merge forwarded + local ref
|
|
12
|
+
const mergedRef = (node) => {
|
|
13
|
+
timeRef.current = node;
|
|
14
|
+
if (typeof ref === "function")
|
|
15
|
+
ref(node);
|
|
16
|
+
else if (ref)
|
|
17
|
+
ref.current = node;
|
|
18
|
+
};
|
|
19
|
+
return jsx(IDSTimeBase, { invalid: isInvalid, inputRef: mergedRef, ...props });
|
|
13
20
|
});
|
|
14
21
|
IDSTime.displayName = "IDSTime";
|
|
15
22
|
|
|
@@ -13,3 +13,6 @@ export interface IDSGlobalAlertBaseProps extends React.HTMLAttributes<HTMLDivEle
|
|
|
13
13
|
client?: boolean;
|
|
14
14
|
}
|
|
15
15
|
export declare function IDSGlobalAlertBase({ agent, srExpandText, srCollapseText, collapsed, noRole, headline, actions, children, className, onToggle, client, ...props }: IDSGlobalAlertBaseProps): import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
export declare namespace IDSGlobalAlertBase {
|
|
17
|
+
var displayName: string;
|
|
18
|
+
}
|
|
@@ -13,9 +13,10 @@ function IDSGlobalAlertBase({ agent = false, srExpandText = "Visa meddelande", s
|
|
|
13
13
|
return (jsx("div", { role: noRole ? undefined : "alert", className: clsx("ids-global-alert", {
|
|
14
14
|
"ids-global-alert--collapsed": collapsed,
|
|
15
15
|
"ids-global-alert--agent": agent
|
|
16
|
-
}, className), ...props, children: jsxs("div", { className: "ids-global-alert__inner", children: [jsx("div", { className: "ids-global-alert__header", children: jsx("button", { className: clsx("ids-global-alert__button", {
|
|
16
|
+
}, className), ...props, children: jsxs("div", { className: "ids-global-alert__inner", children: [jsx("div", { className: "ids-global-alert__header", children: jsx("button", { type: "button", className: clsx("ids-global-alert__button", {
|
|
17
17
|
"ids-global-alert__button--expanded": !collapsed
|
|
18
|
-
}), "aria-controls": contentId, "aria-expanded": !collapsed, ...toggleHandler, children: jsxs("div", { className: "ids-global-alert__icon-headline", children: [jsx("div", { className: "ids-global-alert__headline", children: headline }), jsx("span", { className: "ids-global-alert__sr-only", children: collapsed ? srExpandText : srCollapseText })] }) }) }),
|
|
18
|
+
}), "aria-controls": contentId, "aria-expanded": !collapsed, ...toggleHandler, children: jsxs("div", { className: "ids-global-alert__icon-headline", children: [jsx("div", { className: "ids-global-alert__headline", children: headline }), jsx("span", { className: "ids-global-alert__sr-only", children: collapsed ? srExpandText : srCollapseText })] }) }) }), jsx("div", { id: contentId, className: "ids-global-alert__content", children: children }), actions && jsx("div", { className: "ids-global-alert__sub-content", children: actions })] }) }));
|
|
19
19
|
}
|
|
20
|
+
IDSGlobalAlertBase.displayName = "IDSGlobalAlertBase";
|
|
20
21
|
|
|
21
22
|
export { IDSGlobalAlertBase };
|
|
@@ -1,7 +1,12 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { IDSGlobalAlertBase } from "./global-alert-base";
|
|
3
3
|
interface IDSGlobalAlertProps extends Omit<React.ComponentProps<typeof IDSGlobalAlertBase>, "onToggle" | "contentId"> {
|
|
4
|
+
collapsed?: boolean;
|
|
5
|
+
defaultCollapsed?: boolean;
|
|
4
6
|
onCollapsedChange?: (isCollapsed: boolean) => void;
|
|
5
7
|
}
|
|
6
|
-
export declare function IDSGlobalAlert({ collapsed, onCollapsedChange, className, ...props }: IDSGlobalAlertProps): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
export declare function IDSGlobalAlert({ collapsed, defaultCollapsed, onCollapsedChange, className, ...props }: IDSGlobalAlertProps): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export declare namespace IDSGlobalAlert {
|
|
10
|
+
var displayName: string;
|
|
11
|
+
}
|
|
7
12
|
export {};
|
|
@@ -1,19 +1,22 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx } from 'react/jsx-runtime';
|
|
3
|
-
import { useState
|
|
3
|
+
import { useState } from 'react';
|
|
4
4
|
import { IDSGlobalAlertBase } from './global-alert-base.js';
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
6
|
+
// FIXME 10.0 byt till expanded och defaultExpanded?
|
|
7
|
+
function IDSGlobalAlert({ collapsed, defaultCollapsed = false, onCollapsedChange, className, ...props }) {
|
|
8
|
+
const isControlled = collapsed !== undefined;
|
|
9
|
+
const [internalCollapsed, setInternalCollapsed] = useState(defaultCollapsed);
|
|
10
|
+
const isCollapsed = isControlled ? collapsed : internalCollapsed;
|
|
11
11
|
const handleToggleCollapse = () => {
|
|
12
|
-
const
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
const next = !isCollapsed;
|
|
13
|
+
if (!isControlled) {
|
|
14
|
+
setInternalCollapsed(next);
|
|
15
|
+
}
|
|
16
|
+
onCollapsedChange?.(next);
|
|
15
17
|
};
|
|
16
18
|
return (jsx(IDSGlobalAlertBase, { ...props, client: true, collapsed: isCollapsed, onToggle: handleToggleCollapse, className: className }));
|
|
17
19
|
}
|
|
20
|
+
IDSGlobalAlert.displayName = "IDSGlobalAlert";
|
|
18
21
|
|
|
19
22
|
export { IDSGlobalAlert };
|
|
@@ -14,4 +14,7 @@ interface IDSHeader1177AvatarBaseProps extends HTMLAttributes<HTMLDivElement> {
|
|
|
14
14
|
buttonRef?: React.RefObject<HTMLButtonElement>;
|
|
15
15
|
}
|
|
16
16
|
export declare function IDSHeader1177AvatarBase({ username, agent, children, unresponsive, expanded, hide, noMobileMenu, client, onToggle, componentRef, menuRef, buttonRef, ...props }: IDSHeader1177AvatarBaseProps): import("react/jsx-runtime").JSX.Element;
|
|
17
|
+
export declare namespace IDSHeader1177AvatarBase {
|
|
18
|
+
var displayName: string;
|
|
19
|
+
}
|
|
17
20
|
export {};
|
|
@@ -20,5 +20,6 @@ function IDSHeader1177AvatarBase({ username, agent, children, unresponsive = fal
|
|
|
20
20
|
"ids-header-1177-avatar__menu--no-mobile-menu": noMobileMenu
|
|
21
21
|
}), children: [agent && jsx("div", { className: "ids-header-1177-avatar__agent", children: agent }), agent && children && jsx("hr", {}), children && jsx("div", { className: "ids-header-1177-avatar__menu-links", children: children })] })] }) })) }));
|
|
22
22
|
}
|
|
23
|
+
IDSHeader1177AvatarBase.displayName = "IDSHeader1177AvatarBase";
|
|
23
24
|
|
|
24
25
|
export { IDSHeader1177AvatarBase };
|
|
@@ -7,4 +7,7 @@ interface IDSHeader1177AvatarProps extends HTMLAttributes<HTMLDivElement> {
|
|
|
7
7
|
noMobileMenu?: boolean;
|
|
8
8
|
}
|
|
9
9
|
export declare function IDSHeader1177Avatar({ expanded, persistent, children, ...props }: IDSHeader1177AvatarProps): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export declare namespace IDSHeader1177Avatar {
|
|
11
|
+
var displayName: string;
|
|
12
|
+
}
|
|
10
13
|
export {};
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx } from 'react/jsx-runtime';
|
|
3
|
-
import { useState, useRef
|
|
3
|
+
import { useState, useRef } from 'react';
|
|
4
4
|
import { useHeaderContext } from '../utils/contexts/HeaderContext.js';
|
|
5
5
|
import { IDSHeader1177AvatarBase } from './header-1177-avatar-base.js';
|
|
6
6
|
import { useFocusTrap } from '../utils/hooks/useFocusTrap.js';
|
|
7
7
|
import { useClickOutside } from '../utils/hooks/useClickOutside.js';
|
|
8
8
|
import { useEsc } from '../utils/hooks/useEsc.js';
|
|
9
|
+
import { useLinkClick } from '../utils/hooks/useLinkClick.js';
|
|
9
10
|
|
|
10
11
|
function IDSHeader1177Avatar({ expanded = false, persistent = false, children, ...props }) {
|
|
11
12
|
const headerContext = useHeaderContext();
|
|
@@ -16,22 +17,13 @@ function IDSHeader1177Avatar({ expanded = false, persistent = false, children, .
|
|
|
16
17
|
const menuRef = useRef(null);
|
|
17
18
|
const buttonRef = useRef(null);
|
|
18
19
|
useFocusTrap(componentRef.current, isExpanded && !persistent);
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
useEsc(() => setIsExpanded(false), buttonRef, componentRef, isExpanded && !persistent);
|
|
20
|
+
const closeMenu = () => setIsExpanded(false);
|
|
21
|
+
useClickOutside(closeMenu, componentRef, buttonRef, !persistent && isExpanded);
|
|
22
|
+
useEsc(closeMenu, buttonRef, componentRef, !persistent && isExpanded);
|
|
23
|
+
useLinkClick(closeMenu, componentRef, buttonRef, !persistent && isExpanded);
|
|
24
24
|
const toggleAvatar = () => setIsExpanded(prev => !prev);
|
|
25
|
-
// Clicking a link inside dropdown closes it
|
|
26
|
-
useEffect(() => {
|
|
27
|
-
if (!persistent && isExpanded) {
|
|
28
|
-
const links = menuRef.current?.querySelectorAll("a") || [];
|
|
29
|
-
links.forEach(link => link.addEventListener("click", closeOnClick));
|
|
30
|
-
return () => links.forEach(link => link.removeEventListener("click", closeOnClick));
|
|
31
|
-
}
|
|
32
|
-
}, [isExpanded, persistent]);
|
|
33
|
-
const closeOnClick = () => setIsExpanded(false);
|
|
34
25
|
return (jsx(IDSHeader1177AvatarBase, { ...props, client: true, expanded: isExpanded, onToggle: toggleAvatar, componentRef: componentRef, menuRef: menuRef, buttonRef: buttonRef, unresponsive: headerContext?.unresponsive ?? false, children: children }));
|
|
35
26
|
}
|
|
27
|
+
IDSHeader1177Avatar.displayName = "IDSHeader1177Avatar";
|
|
36
28
|
|
|
37
29
|
export { IDSHeader1177Avatar };
|
|
@@ -15,4 +15,7 @@ interface IDSHeader1177BaseProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
|
15
15
|
children?: ReactNode;
|
|
16
16
|
}
|
|
17
17
|
export declare function IDSHeader1177Base({ srLogoText, hideRegionPicker, unresponsive, logoHref, logoProps, logo, regionPicker, skipToContentLink, items, avatar, mobileMenu, className, children, ...props }: IDSHeader1177BaseProps): import("react/jsx-runtime").JSX.Element;
|
|
18
|
+
export declare namespace IDSHeader1177Base {
|
|
19
|
+
var displayName: string;
|
|
20
|
+
}
|
|
18
21
|
export {};
|
|
@@ -10,5 +10,6 @@ function IDSHeader1177Base({ srLogoText = "Logotyp", hideRegionPicker = false, u
|
|
|
10
10
|
"ids-header-1177--unresponsive": unresponsive
|
|
11
11
|
}, className), children: [skipToContentLink && jsx("div", { className: "ids-header-1177__skip-to-content", children: skipToContentLink }), jsxs("div", { className: "ids-header-1177__container", children: [jsx("div", { className: "ids-header-1177__left" }), jsxs("div", { className: "ids-header-1177__inner", children: [jsxs("div", { className: "ids-header-1177__inner-left", children: [renderLogo(), !hideRegionPicker && regionPicker && jsx("div", { className: "ids-header-1177__region-picker", children: regionPicker })] }), jsxs("div", { className: "ids-header-1177__inner-right", children: [items, " ", avatar, " ", mobileMenu] })] }), jsx("div", { className: "ids-header-1177__right" })] }), children] }));
|
|
12
12
|
}
|
|
13
|
+
IDSHeader1177Base.displayName = "IDSHeader1177Base";
|
|
13
14
|
|
|
14
15
|
export { IDSHeader1177Base };
|
|
@@ -6,4 +6,7 @@ interface IDSHeader1177ItemBaseProps extends HTMLAttributes<HTMLElement> {
|
|
|
6
6
|
unresponsive?: boolean;
|
|
7
7
|
}
|
|
8
8
|
export declare function IDSHeader1177ItemBase({ mobile, keepTextOnMobile, icon, children, unresponsive, ...props }: IDSHeader1177ItemBaseProps): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export declare namespace IDSHeader1177ItemBase {
|
|
10
|
+
var displayName: string;
|
|
11
|
+
}
|
|
9
12
|
export {};
|
|
@@ -9,5 +9,6 @@ function IDSHeader1177ItemBase({ mobile = false, keepTextOnMobile = false, icon,
|
|
|
9
9
|
"ids-header-1177-item--keep-text": keepTextOnMobile
|
|
10
10
|
}), ...props, children: [renderContent(), children] }));
|
|
11
11
|
}
|
|
12
|
+
IDSHeader1177ItemBase.displayName = "IDSHeader1177ItemBase";
|
|
12
13
|
|
|
13
14
|
export { IDSHeader1177ItemBase };
|
|
@@ -5,4 +5,7 @@ interface IDSHeader1177ItemProps extends HTMLAttributes<HTMLElement> {
|
|
|
5
5
|
icon?: string;
|
|
6
6
|
}
|
|
7
7
|
export declare function IDSHeader1177Item({ mobile, keepTextOnMobile, icon, children, ...props }: IDSHeader1177ItemProps): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
export declare namespace IDSHeader1177Item {
|
|
9
|
+
var displayName: string;
|
|
10
|
+
}
|
|
8
11
|
export {};
|
|
@@ -7,5 +7,6 @@ function IDSHeader1177Item({ mobile, keepTextOnMobile, icon, children, ...props
|
|
|
7
7
|
const headerContext = useHeaderContext();
|
|
8
8
|
return (jsx(IDSHeader1177ItemBase, { ...props, mobile: mobile, keepTextOnMobile: keepTextOnMobile, icon: icon, unresponsive: headerContext?.unresponsive, children: children }));
|
|
9
9
|
}
|
|
10
|
+
IDSHeader1177Item.displayName = "IDSHeader1177Item";
|
|
10
11
|
|
|
11
12
|
export { IDSHeader1177Item };
|
|
@@ -10,4 +10,7 @@ interface IDSHeader1177MenuMobileBaseProps extends HTMLAttributes<HTMLDivElement
|
|
|
10
10
|
client?: boolean;
|
|
11
11
|
}
|
|
12
12
|
export declare function IDSHeader1177MenuMobileBase({ srLabel, expanded, unresponsive, children, onToggleMenu, client, componentRef, menuRef, buttonRef, ...props }: IDSHeader1177MenuMobileBaseProps): import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
export declare namespace IDSHeader1177MenuMobileBase {
|
|
14
|
+
var displayName: string;
|
|
15
|
+
}
|
|
13
16
|
export {};
|
|
@@ -14,5 +14,6 @@ function IDSHeader1177MenuMobileBase({ srLabel = "Meny", expanded = false, unres
|
|
|
14
14
|
"ids-header-1177-menu-mobile--unresponsive": unresponsive
|
|
15
15
|
}), ref: componentRef, children: [jsx("button", { ...toggleHandler, ref: buttonRef, "aria-expanded": expanded, "aria-label": srLabel, "aria-controls": menuId, className: "ids-header-1177-menu-mobile__button", children: jsx("div", { className: "ids-hamburger", children: jsx("span", { className: "ids-hamburger__lines" }) }) }), expanded && (jsx("div", { id: menuId, className: "ids-header-1177-menu-mobile__items", ref: menuRef, children: children }))] }));
|
|
16
16
|
}
|
|
17
|
+
IDSHeader1177MenuMobileBase.displayName = "IDSHeader1177MenuMobileBase";
|
|
17
18
|
|
|
18
19
|
export { IDSHeader1177MenuMobileBase };
|
|
@@ -7,4 +7,7 @@ interface IDSHeader1177MenuMobileProps extends HTMLAttributes<HTMLDivElement> {
|
|
|
7
7
|
onClosed?: () => void;
|
|
8
8
|
}
|
|
9
9
|
export declare function IDSHeader1177MenuMobile({ srLabel, persistent, expanded, children, onExpanded, onClosed, ...props }: IDSHeader1177MenuMobileProps): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export declare namespace IDSHeader1177MenuMobile {
|
|
11
|
+
var displayName: string;
|
|
12
|
+
}
|
|
10
13
|
export {};
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx } from 'react/jsx-runtime';
|
|
3
|
-
import { useState, useRef
|
|
3
|
+
import { useState, useRef } from 'react';
|
|
4
4
|
import { IDSHeader1177MenuMobileBase } from './header-1177-menu-mobile-base.js';
|
|
5
5
|
import { useHeaderContext } from '../utils/contexts/HeaderContext.js';
|
|
6
6
|
import { useClickOutside } from '../utils/hooks/useClickOutside.js';
|
|
7
7
|
import { useEsc } from '../utils/hooks/useEsc.js';
|
|
8
|
+
import { useLinkClick } from '../utils/hooks/useLinkClick.js';
|
|
8
9
|
|
|
9
10
|
function IDSHeader1177MenuMobile({ srLabel = "Meny", persistent = false, expanded = false, children, onExpanded, onClosed, ...props }) {
|
|
10
11
|
const [isExpanded, setIsExpanded] = useState(expanded);
|
|
@@ -12,38 +13,20 @@ function IDSHeader1177MenuMobile({ srLabel = "Meny", persistent = false, expande
|
|
|
12
13
|
const componentRef = useRef(null);
|
|
13
14
|
const menuRef = useRef(null);
|
|
14
15
|
const buttonRef = useRef(null);
|
|
15
|
-
|
|
16
|
-
if (!persistent)
|
|
17
|
-
setIsExpanded(false);
|
|
18
|
-
});
|
|
19
|
-
useEsc(() => setIsExpanded(false), buttonRef, componentRef, isExpanded && !persistent);
|
|
20
|
-
const handleLinkClick = () => {
|
|
16
|
+
const closeMenu = () => {
|
|
21
17
|
setIsExpanded(false);
|
|
22
18
|
onClosed?.();
|
|
23
19
|
};
|
|
20
|
+
useClickOutside(closeMenu, componentRef, buttonRef, !persistent && isExpanded);
|
|
21
|
+
useEsc(closeMenu, buttonRef, componentRef, !persistent && isExpanded);
|
|
22
|
+
useLinkClick(closeMenu, componentRef, buttonRef, !persistent && isExpanded);
|
|
24
23
|
const toggleMenu = () => {
|
|
25
24
|
const newExpanded = !isExpanded;
|
|
26
25
|
setIsExpanded(newExpanded);
|
|
27
26
|
newExpanded ? onExpanded?.() : onClosed?.();
|
|
28
27
|
};
|
|
29
|
-
const handleClickOutside = (event) => {
|
|
30
|
-
if (!persistent && componentRef.current && !componentRef.current.contains(event.target)) {
|
|
31
|
-
setIsExpanded(false);
|
|
32
|
-
onClosed?.();
|
|
33
|
-
}
|
|
34
|
-
};
|
|
35
|
-
useEffect(() => {
|
|
36
|
-
document.addEventListener("click", handleClickOutside);
|
|
37
|
-
return () => document.removeEventListener("click", handleClickOutside);
|
|
38
|
-
}, [persistent]);
|
|
39
|
-
useEffect(() => {
|
|
40
|
-
if (!persistent && isExpanded) {
|
|
41
|
-
const links = menuRef.current?.querySelectorAll("a") ?? [];
|
|
42
|
-
links.forEach(link => link.addEventListener("click", handleLinkClick));
|
|
43
|
-
return () => links.forEach(link => link.removeEventListener("click", handleLinkClick));
|
|
44
|
-
}
|
|
45
|
-
}, [isExpanded, persistent]);
|
|
46
28
|
return (jsx(IDSHeader1177MenuMobileBase, { ...props, client: true, srLabel: srLabel, expanded: isExpanded, unresponsive: headerContext?.unresponsive, onToggleMenu: toggleMenu, componentRef: componentRef, menuRef: menuRef, buttonRef: buttonRef, children: children }));
|
|
47
29
|
}
|
|
30
|
+
IDSHeader1177MenuMobile.displayName = "IDSHeader1177MenuMobile";
|
|
48
31
|
|
|
49
32
|
export { IDSHeader1177MenuMobile };
|