@inera/ids-react 8.1.0 → 9.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/accordion/accordion-base.d.ts +18 -0
- package/components/accordion/accordion-base.js +33 -0
- package/components/accordion/accordion.d.ts +5 -4
- package/components/accordion/accordion.js +16 -35
- package/components/alert/alert-base.d.ts +21 -0
- package/components/alert/alert-base.js +29 -0
- package/components/alert/alert.d.ts +3 -19
- package/components/alert/alert.js +8 -18
- package/components/alert/global-alert-base.d.ts +15 -0
- package/components/alert/global-alert-base.js +21 -0
- package/components/alert/global-alert.d.ts +7 -0
- package/components/alert/global-alert.js +19 -0
- package/components/badge/badge.js +2 -2
- package/components/breadcrumbs/breadcrumbs.js +2 -2
- package/components/{button-group → button}/button-group.js +2 -2
- package/components/button/button.js +3 -3
- package/components/card/card.js +3 -3
- package/components/carousel/carousel-item.d.ts +5 -4
- package/components/carousel/carousel-item.js +8 -6
- package/components/carousel/carousel.d.ts +4 -1
- package/components/carousel/carousel.js +24 -39
- package/components/{pagination/data-pagination → data-pagination}/data-pagination.d.ts +2 -6
- package/components/data-pagination/data-pagination.js +12 -0
- package/components/date-label/date-label.js +2 -2
- package/components/dialog/dialog-base.d.ts +21 -0
- package/components/dialog/dialog-base.js +29 -0
- package/components/dialog/dialog.d.ts +14 -17
- package/components/dialog/dialog.js +36 -36
- package/components/dropdown/dropdown-base.d.ts +18 -0
- package/components/dropdown/dropdown-base.js +42 -0
- package/components/dropdown/dropdown-content-button.d.ts +0 -1
- package/components/dropdown/dropdown-content-button.js +0 -1
- package/components/dropdown/dropdown-content-link.d.ts +2 -3
- package/components/dropdown/dropdown-content-link.js +3 -10
- package/components/dropdown/dropdown.d.ts +11 -13
- package/components/dropdown/dropdown.js +34 -53
- package/components/footer-1177/footer-1177.d.ts +6 -7
- package/components/footer-1177/footer-1177.js +8 -5
- package/components/footer-1177-admin/footer-1177-admin.d.ts +6 -7
- package/components/footer-1177-admin/footer-1177-admin.js +9 -6
- package/components/footer-1177-pro/footer-1177-pro.d.ts +6 -7
- package/components/footer-1177-pro/footer-1177-pro.js +9 -6
- package/components/footer-inera/footer-inera.d.ts +6 -7
- package/components/footer-inera/footer-inera.js +9 -6
- package/components/footer-inera-admin/footer-inera-admin.d.ts +6 -7
- package/components/footer-inera-admin/footer-inera-admin.js +9 -6
- package/components/form/check-button/check-button.d.ts +5 -6
- package/components/form/check-button/check-button.js +5 -10
- package/components/form/checkbox/checkbox-base.d.ts +19 -0
- package/components/form/checkbox/checkbox-base.js +29 -0
- package/components/form/checkbox/checkbox-group-base.d.ts +12 -0
- package/components/form/checkbox/checkbox-group-base.js +13 -0
- package/components/form/checkbox/checkbox-group.d.ts +4 -5
- package/components/form/checkbox/checkbox-group.js +26 -30
- package/components/form/checkbox/checkbox.d.ts +3 -3
- package/components/form/checkbox/checkbox.js +17 -40
- package/components/form/darkmode-toggle/darkmode-toggle.d.ts +11 -0
- package/components/form/darkmode-toggle/darkmode-toggle.js +13 -0
- package/components/form/datepicker/datepicker.d.ts +36 -0
- package/components/form/datepicker/datepicker.js +217 -0
- package/components/form/error-message/error-message.d.ts +1 -2
- package/components/form/error-message/error-message.js +2 -4
- package/components/form/form-hooks/useGroupValidity.d.ts +4 -1
- package/components/form/form-hooks/useGroupValidity.js +7 -2
- package/components/form/form-hooks/useInputValidity.d.ts +1 -1
- package/components/form/form-hooks/useInputValidity.js +9 -5
- package/components/form/input/input-base.d.ts +24 -0
- package/components/form/input/input-base.js +32 -0
- package/components/form/input/input.d.ts +3 -2
- package/components/form/input/input.js +8 -24
- package/components/form/radio/radio-base.d.ts +16 -0
- package/components/form/radio/radio-base.js +24 -0
- package/components/form/radio/radio-group-base.d.ts +13 -0
- package/components/form/radio/radio-group-base.js +10 -0
- package/components/form/radio/radio-group.d.ts +6 -5
- package/components/form/radio/radio-group.js +25 -19
- package/components/form/radio/radio.d.ts +9 -9
- package/components/form/radio/radio.js +7 -19
- package/components/form/radio-button/radio-button-group-base.d.ts +8 -0
- package/components/form/radio-button/radio-button-group-base.js +8 -0
- package/components/form/radio-button/radio-button-group.d.ts +4 -3
- package/components/form/radio-button/radio-button-group.js +18 -12
- package/components/form/radio-button/radio-button.d.ts +4 -5
- package/components/form/radio-button/radio-button.js +5 -10
- package/components/form/range/range-base.d.ts +18 -0
- package/components/form/range/range-base.js +16 -0
- package/components/form/range/range.d.ts +3 -6
- package/components/form/range/range.js +23 -23
- package/components/form/select/select-base.d.ts +19 -0
- package/components/form/select/select-base.js +24 -0
- package/components/form/select/select.d.ts +7 -7
- package/components/form/select/select.js +8 -18
- package/components/form/select-multiple/select-multiple-base.d.ts +27 -0
- package/components/form/select-multiple/select-multiple-base.js +27 -0
- package/components/form/select-multiple/select-multiple.d.ts +10 -7
- package/components/form/select-multiple/select-multiple.js +29 -54
- package/components/form/spinner/spinner.d.ts +3 -4
- package/components/form/spinner/spinner.js +3 -7
- package/components/form/textarea/textarea-base.d.ts +24 -0
- package/components/form/textarea/textarea-base.js +34 -0
- package/components/form/textarea/textarea.d.ts +4 -5
- package/components/form/textarea/textarea.js +6 -22
- package/components/form/time/time-base.d.ts +17 -0
- package/components/form/time/time-base.js +24 -0
- package/components/form/time/time.d.ts +8 -7
- package/components/form/time/time.js +5 -16
- package/components/form/toggle/toggle.d.ts +1 -2
- package/components/form/toggle/toggle.js +5 -8
- package/components/grid/column.d.ts +1 -1
- package/components/grid/column.js +6 -7
- package/components/grid/container.d.ts +1 -0
- package/components/grid/container.js +9 -5
- package/components/grid/row.js +1 -1
- package/components/grid-layout/grid-column.d.ts +19 -0
- package/components/grid-layout/grid-column.js +14 -0
- package/components/grid-layout/grid-container.d.ts +10 -0
- package/components/grid-layout/grid-container.js +17 -0
- package/components/grid-layout/grid-row.d.ts +8 -0
- package/components/grid-layout/grid-row.js +12 -0
- package/components/header-1177/header-1177-avatar-base.d.ts +16 -0
- package/components/header-1177/header-1177-avatar-base.js +24 -0
- package/components/header-1177/header-1177-avatar.d.ts +4 -7
- package/components/header-1177/header-1177-avatar.js +35 -42
- package/components/header-1177/header-1177-base.d.ts +18 -0
- package/components/header-1177/header-1177-base.js +14 -0
- package/components/header-1177/header-1177-item-base.d.ts +9 -0
- package/components/header-1177/header-1177-item-base.js +13 -0
- package/components/header-1177/header-1177-item.d.ts +2 -7
- package/components/header-1177/header-1177-item.js +6 -29
- package/components/header-1177/header-1177-menu-mobile-base.d.ts +12 -0
- package/components/header-1177/header-1177-menu-mobile-base.js +18 -0
- package/components/header-1177/header-1177-menu-mobile.d.ts +4 -5
- package/components/header-1177/header-1177-menu-mobile.js +29 -28
- package/components/header-1177/header-1177-nav-base.d.ts +9 -0
- package/components/header-1177/header-1177-nav-base.js +12 -0
- package/components/header-1177/header-1177-nav-item-base.d.ts +18 -0
- package/components/header-1177/header-1177-nav-item-base.js +31 -0
- package/components/header-1177/header-1177-nav-item-mobile-base.d.ts +7 -0
- package/components/header-1177/header-1177-nav-item-mobile-base.js +10 -0
- package/components/header-1177/header-1177-nav-item-mobile.d.ts +4 -8
- package/components/header-1177/header-1177-nav-item-mobile.js +5 -16
- package/components/header-1177/header-1177-nav-item.d.ts +7 -7
- package/components/header-1177/header-1177-nav-item.js +44 -35
- package/components/header-1177/header-1177-nav.d.ts +2 -4
- package/components/header-1177/header-1177-nav.js +5 -9
- package/components/header-1177/header-1177-region-picker-base.d.ts +9 -0
- package/components/header-1177/header-1177-region-picker-base.js +21 -0
- package/components/header-1177/header-1177-region-picker-mobile-base.d.ts +9 -0
- package/components/header-1177/header-1177-region-picker-mobile-base.js +21 -0
- package/components/header-1177/header-1177-region-picker-mobile.d.ts +3 -6
- package/components/header-1177/header-1177-region-picker-mobile.js +13 -29
- package/components/header-1177/header-1177-region-picker.d.ts +3 -6
- package/components/header-1177/header-1177-region-picker.js +15 -29
- package/components/header-1177/header-1177.d.ts +3 -3
- package/components/header-1177/header-1177.js +5 -10
- package/components/header-1177-admin/header-1177-admin-avatar-base.d.ts +14 -0
- package/components/header-1177-admin/header-1177-admin-avatar-base.js +23 -0
- package/components/header-1177-admin/header-1177-admin-avatar-mobile-base.d.ts +13 -0
- package/components/header-1177-admin/header-1177-admin-avatar-mobile-base.js +23 -0
- package/components/header-1177-admin/header-1177-admin-avatar-mobile.d.ts +3 -5
- package/components/header-1177-admin/header-1177-admin-avatar-mobile.js +27 -23
- package/components/header-1177-admin/header-1177-admin-avatar.d.ts +3 -5
- package/components/header-1177-admin/header-1177-admin-avatar.js +26 -25
- package/components/header-1177-admin/header-1177-admin-base.d.ts +18 -0
- package/components/header-1177-admin/header-1177-admin-base.js +14 -0
- package/components/header-1177-admin/header-1177-admin-item-base.d.ts +8 -0
- package/components/header-1177-admin/header-1177-admin-item-base.js +12 -0
- package/components/header-1177-admin/header-1177-admin-item.d.ts +3 -8
- package/components/header-1177-admin/header-1177-admin-item.js +5 -27
- package/components/header-1177-admin/header-1177-admin-menu-mobile-base.d.ts +11 -0
- package/components/header-1177-admin/header-1177-admin-menu-mobile-base.js +18 -0
- package/components/header-1177-admin/header-1177-admin-menu-mobile.d.ts +4 -5
- package/components/header-1177-admin/header-1177-admin-menu-mobile.js +27 -25
- package/components/header-1177-admin/header-1177-admin-nav-base.d.ts +7 -0
- package/components/header-1177-admin/header-1177-admin-nav-base.js +10 -0
- package/components/header-1177-admin/header-1177-admin-nav-item-base.d.ts +18 -0
- package/components/header-1177-admin/header-1177-admin-nav-item-base.js +31 -0
- package/components/header-1177-admin/header-1177-admin-nav-item-mobile-base.d.ts +7 -0
- package/components/header-1177-admin/header-1177-admin-nav-item-mobile-base.js +10 -0
- package/components/header-1177-admin/header-1177-admin-nav-item-mobile.d.ts +7 -0
- package/components/header-1177-admin/header-1177-admin-nav-item-mobile.js +11 -0
- package/components/header-1177-admin/header-1177-admin-nav-item.d.ts +6 -6
- package/components/header-1177-admin/header-1177-admin-nav-item.js +44 -35
- package/components/header-1177-admin/header-1177-admin-nav.d.ts +2 -4
- package/components/header-1177-admin/header-1177-admin-nav.js +4 -6
- package/components/header-1177-admin/header-1177-admin.d.ts +2 -3
- package/components/header-1177-admin/header-1177-admin.js +5 -10
- package/components/header-1177-pro/header-1177-pro-avatar-base.d.ts +14 -0
- package/components/header-1177-pro/header-1177-pro-avatar-base.js +23 -0
- package/components/header-1177-pro/header-1177-pro-avatar-mobile-base.d.ts +13 -0
- package/components/header-1177-pro/header-1177-pro-avatar-mobile-base.js +24 -0
- package/components/header-1177-pro/header-1177-pro-avatar-mobile.d.ts +3 -6
- package/components/header-1177-pro/header-1177-pro-avatar-mobile.js +23 -20
- package/components/header-1177-pro/header-1177-pro-avatar.d.ts +4 -6
- package/components/header-1177-pro/header-1177-pro-avatar.js +32 -30
- package/components/header-1177-pro/header-1177-pro-base.d.ts +19 -0
- package/components/header-1177-pro/header-1177-pro-base.js +11 -0
- package/components/header-1177-pro/header-1177-pro-item-base.d.ts +8 -0
- package/components/header-1177-pro/header-1177-pro-item-base.js +12 -0
- package/components/header-1177-pro/header-1177-pro-item.d.ts +3 -8
- package/components/header-1177-pro/header-1177-pro-item.js +5 -27
- package/components/header-1177-pro/header-1177-pro-menu-mobile-base.d.ts +11 -0
- package/components/header-1177-pro/header-1177-pro-menu-mobile-base.js +18 -0
- package/components/header-1177-pro/header-1177-pro-menu-mobile.d.ts +5 -6
- package/components/header-1177-pro/header-1177-pro-menu-mobile.js +27 -25
- package/components/header-1177-pro/header-1177-pro-nav-base.d.ts +10 -0
- package/components/header-1177-pro/header-1177-pro-nav-base.js +10 -0
- package/components/header-1177-pro/header-1177-pro-nav-item-base.d.ts +18 -0
- package/components/header-1177-pro/header-1177-pro-nav-item-base.js +31 -0
- package/components/header-1177-pro/header-1177-pro-nav-item-mobile-base.d.ts +7 -0
- package/components/header-1177-pro/header-1177-pro-nav-item-mobile-base.js +10 -0
- package/components/header-1177-pro/header-1177-pro-nav-item-mobile.d.ts +7 -0
- package/components/header-1177-pro/header-1177-pro-nav-item-mobile.js +11 -0
- package/components/header-1177-pro/header-1177-pro-nav-item.d.ts +6 -6
- package/components/header-1177-pro/header-1177-pro-nav-item.js +44 -35
- package/components/header-1177-pro/header-1177-pro-nav.d.ts +4 -5
- package/components/header-1177-pro/header-1177-pro-nav.js +5 -7
- package/components/header-1177-pro/header-1177-pro-region-picker-base.d.ts +9 -0
- package/components/header-1177-pro/header-1177-pro-region-picker-base.js +19 -0
- package/components/header-1177-pro/header-1177-pro-region-picker-mobile-base.d.ts +9 -0
- package/components/header-1177-pro/header-1177-pro-region-picker-mobile-base.js +19 -0
- package/components/header-1177-pro/header-1177-pro-region-picker-mobile.d.ts +3 -5
- package/components/header-1177-pro/header-1177-pro-region-picker-mobile.js +13 -29
- package/components/header-1177-pro/header-1177-pro-region-picker.d.ts +3 -5
- package/components/header-1177-pro/header-1177-pro-region-picker.js +15 -29
- package/components/header-1177-pro/header-1177-pro.d.ts +4 -5
- package/components/header-1177-pro/header-1177-pro.js +5 -7
- package/components/header-inera/header-inera-base.d.ts +14 -0
- package/components/header-inera/header-inera-base.js +11 -0
- package/components/header-inera/header-inera-item-base.d.ts +8 -0
- package/components/header-inera/header-inera-item-base.js +12 -0
- package/components/header-inera/header-inera-item.d.ts +3 -8
- package/components/header-inera/header-inera-item.js +5 -36
- package/components/header-inera/header-inera-menu-mobile-base.d.ts +11 -0
- package/components/header-inera/header-inera-menu-mobile-base.js +18 -0
- package/components/header-inera/header-inera-menu-mobile.d.ts +5 -6
- package/components/header-inera/header-inera-menu-mobile.js +27 -26
- package/components/header-inera/header-inera-nav-base.d.ts +7 -0
- package/components/header-inera/header-inera-nav-base.js +10 -0
- package/components/header-inera/header-inera-nav-item-base.d.ts +17 -0
- package/components/header-inera/header-inera-nav-item-base.js +26 -0
- package/components/header-inera/header-inera-nav-item.d.ts +7 -7
- package/components/header-inera/header-inera-nav-item.js +44 -34
- package/components/header-inera/header-inera-nav.d.ts +4 -6
- package/components/header-inera/header-inera-nav.js +4 -7
- package/components/header-inera/header-inera.d.ts +1 -3
- package/components/header-inera/header-inera.js +5 -7
- package/components/header-inera-admin/header-inera-admin-avatar-base.d.ts +14 -0
- package/components/header-inera-admin/header-inera-admin-avatar-base.js +23 -0
- package/components/header-inera-admin/header-inera-admin-avatar-mobile-base.d.ts +13 -0
- package/components/header-inera-admin/header-inera-admin-avatar-mobile-base.js +23 -0
- package/components/header-inera-admin/header-inera-admin-avatar-mobile.d.ts +3 -6
- package/components/header-inera-admin/header-inera-admin-avatar-mobile.js +26 -21
- package/components/header-inera-admin/header-inera-admin-avatar.d.ts +4 -6
- package/components/header-inera-admin/header-inera-admin-avatar.js +35 -31
- package/components/header-inera-admin/header-inera-admin-base.d.ts +15 -0
- package/components/header-inera-admin/header-inera-admin-base.js +20 -0
- package/components/header-inera-admin/header-inera-admin-item-base.d.ts +8 -0
- package/components/header-inera-admin/header-inera-admin-item-base.js +13 -0
- package/components/header-inera-admin/header-inera-admin-item.d.ts +3 -8
- package/components/header-inera-admin/header-inera-admin-item.js +6 -26
- package/components/header-inera-admin/header-inera-admin-menu-mobile-base.d.ts +11 -0
- package/components/header-inera-admin/header-inera-admin-menu-mobile-base.js +18 -0
- package/components/header-inera-admin/header-inera-admin-menu-mobile.d.ts +4 -5
- package/components/header-inera-admin/header-inera-admin-menu-mobile.js +27 -25
- package/components/header-inera-admin/header-inera-admin-nav-base.d.ts +7 -0
- package/components/header-inera-admin/header-inera-admin-nav-base.js +10 -0
- package/components/header-inera-admin/header-inera-admin-nav-item-base.d.ts +18 -0
- package/components/header-inera-admin/header-inera-admin-nav-item-base.js +31 -0
- package/components/header-inera-admin/header-inera-admin-nav-item-mobile-base.d.ts +7 -0
- package/components/header-inera-admin/header-inera-admin-nav-item-mobile-base.js +10 -0
- package/components/header-inera-admin/header-inera-admin-nav-item-mobile.d.ts +7 -0
- package/components/header-inera-admin/header-inera-admin-nav-item-mobile.js +11 -0
- package/components/header-inera-admin/header-inera-admin-nav-item.d.ts +7 -6
- package/components/header-inera-admin/header-inera-admin-nav-item.js +44 -34
- package/components/header-inera-admin/header-inera-admin-nav.d.ts +4 -6
- package/components/header-inera-admin/header-inera-admin-nav.js +5 -8
- package/components/header-inera-admin/header-inera-admin.d.ts +3 -4
- package/components/header-inera-admin/header-inera-admin.js +5 -16
- package/components/header-patient/header-patient.d.ts +2 -4
- package/components/header-patient/header-patient.js +6 -10
- package/components/link/action-link.d.ts +6 -0
- package/components/link/action-link.js +9 -0
- package/components/link/box-link.d.ts +6 -0
- package/components/link/box-link.js +9 -0
- package/components/link/link.d.ts +2 -2
- package/components/link/link.js +3 -10
- package/components/list-pagination/list-pagination-links.d.ts +19 -0
- package/components/list-pagination/list-pagination-links.js +48 -0
- package/components/{pagination/list-pagination → list-pagination}/list-pagination.d.ts +3 -2
- package/components/{pagination/list-pagination → list-pagination}/list-pagination.js +4 -3
- package/components/mobile-menu/mobile-item-base.d.ts +14 -0
- package/components/mobile-menu/mobile-item-base.js +46 -0
- package/components/mobile-menu/mobile-item.d.ts +6 -0
- package/components/mobile-menu/mobile-item.js +26 -0
- package/components/mobile-menu/mobile-menu.d.ts +6 -0
- package/components/mobile-menu/mobile-menu.js +10 -0
- package/components/{navigation/content → navigation-content}/navigation-content.d.ts +1 -1
- package/components/{navigation/content → navigation-content}/navigation-content.js +2 -2
- package/components/{navigation/local → navigation-local}/navigation-local.d.ts +1 -1
- package/components/{navigation/local → navigation-local}/navigation-local.js +1 -1
- package/components/{notification/badge → notification-badge}/notification-badge.d.ts +1 -1
- package/components/notification-badge/notification-badge.js +9 -0
- package/components/popover/popover-base.d.ts +15 -0
- package/components/popover/popover-base.js +27 -0
- package/components/popover/popover-content.d.ts +19 -0
- package/components/popover/popover-content.js +20 -0
- package/components/popover/popover.d.ts +7 -8
- package/components/popover/popover.js +67 -161
- package/components/progressbar/progressbar.js +2 -2
- package/components/puff-list/{puff-list-item/puff-list-item-date.d.ts → puff-list-item-date.d.ts} +0 -1
- package/components/puff-list/{puff-list-item/puff-list-item-date.js → puff-list-item-date.js} +2 -3
- package/components/puff-list/{puff-list-item/puff-list-item-header.d.ts → puff-list-item-header.d.ts} +1 -1
- package/components/puff-list/puff-list-item-header.js +12 -0
- package/components/puff-list/{puff-list-item/puff-list-item-info.d.ts → puff-list-item-info.d.ts} +1 -2
- package/components/puff-list/puff-list-item-info.js +8 -0
- package/components/puff-list/{puff-list-item/puff-list-item.d.ts → puff-list-item.d.ts} +0 -2
- package/components/puff-list/{puff-list-item/puff-list-item.js → puff-list-item.js} +2 -3
- package/components/puff-list/puff-list.js +2 -3
- package/components/region-icon/region-icon.js +2 -2
- package/components/side-menu/side-menu-base.d.ts +22 -0
- package/components/side-menu/side-menu-base.js +42 -0
- package/components/side-menu/side-menu.d.ts +6 -9
- package/components/side-menu/side-menu.js +13 -43
- package/components/side-panel/side-panel-base.d.ts +24 -0
- package/components/side-panel/side-panel-base.js +33 -0
- package/components/side-panel/side-panel-provider.d.ts +7 -0
- package/components/side-panel/side-panel-provider.js +12 -0
- package/components/side-panel/side-panel.d.ts +14 -15
- package/components/side-panel/side-panel.js +49 -54
- package/components/stepper/step-base.d.ts +15 -0
- package/components/stepper/step-base.js +36 -0
- package/components/stepper/step.d.ts +5 -8
- package/components/stepper/step.js +17 -33
- package/components/stepper/stepper.d.ts +4 -6
- package/components/stepper/stepper.js +8 -13
- package/components/tabs/tab-link.d.ts +15 -0
- package/components/tabs/tab-link.js +10 -0
- package/components/tabs/tab-panel.d.ts +2 -4
- package/components/tabs/tab-panel.js +5 -12
- package/components/tabs/tab.d.ts +5 -5
- package/components/tabs/tab.js +5 -8
- package/components/tabs/tabs-base.d.ts +15 -0
- package/components/tabs/tabs-base.js +15 -0
- package/components/tabs/tabs.d.ts +5 -8
- package/components/tabs/tabs.js +38 -51
- package/components/tag/tag.d.ts +5 -15
- package/components/tag/tag.js +3 -8
- package/components/tooltip/tooltip-base.d.ts +14 -0
- package/components/tooltip/tooltip-base.js +18 -0
- package/components/tooltip/tooltip.d.ts +3 -10
- package/components/tooltip/tooltip.js +59 -43
- package/components/utils/contexts/HeaderContext.d.ts +1 -0
- package/components/utils/hooks/useFocusTrap.js +1 -1
- package/index.d.ts +91 -15
- package/index.js +91 -15
- package/package.json +2 -2
- package/components/box-link/box-link.d.ts +0 -9
- package/components/box-link/box-link.js +0 -11
- package/components/global-alert/global-alert.d.ts +0 -16
- package/components/global-alert/global-alert.js +0 -26
- package/components/mobile/menu/item/mobile-item.d.ts +0 -15
- package/components/mobile/menu/item/mobile-item.js +0 -61
- package/components/mobile/menu/mobile-menu.d.ts +0 -7
- package/components/mobile/menu/mobile-menu.js +0 -12
- package/components/notification/badge/notification-badge.js +0 -9
- package/components/pagination/data-pagination/data-pagination.js +0 -16
- package/components/puff-list/puff-list-item/puff-list-item-header.js +0 -11
- package/components/puff-list/puff-list-item/puff-list-item-info.js +0 -10
- package/components/utils/hooks/useElementId.d.ts +0 -5
- package/components/utils/hooks/useElementId.js +0 -12
- /package/components/{button-group → button}/button-group.d.ts +0 -0
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import clsx from 'clsx';
|
|
3
|
+
|
|
4
|
+
function IDSPuffListItemHeader({ headlineLevel = 2, headlineExtra, noMargin = false, children, ...props }) {
|
|
5
|
+
const Tag = `h${headlineLevel}`;
|
|
6
|
+
return (jsxs(Tag, { ...props, className: clsx("ids-puff-list-item-header__headline", {
|
|
7
|
+
"ids-puff-list-item-header__headline--no-margin": noMargin
|
|
8
|
+
}), children: [children, headlineExtra && jsx("span", { className: "ids-puff-list-item-header__extra-content", children: headlineExtra })] }));
|
|
9
|
+
}
|
|
10
|
+
IDSPuffListItemHeader.displayName = "IDSPuffListItemHeader";
|
|
11
|
+
|
|
12
|
+
export { IDSPuffListItemHeader };
|
package/components/puff-list/{puff-list-item/puff-list-item-info.d.ts → puff-list-item-info.d.ts}
RENAMED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import "@inera/ids-design/components/puff-list/puff-list.css";
|
|
3
2
|
export interface IDSPuffListItemInfoProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
4
3
|
bottom?: boolean;
|
|
5
4
|
}
|
|
6
|
-
export declare function IDSPuffListItemInfo({ bottom, children,
|
|
5
|
+
export declare function IDSPuffListItemInfo({ bottom, children, ...props }: IDSPuffListItemInfoProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import clsx from 'clsx';
|
|
3
|
+
|
|
4
|
+
function IDSPuffListItemInfo({ bottom = false, children, ...props }) {
|
|
5
|
+
return (jsx("div", { ...props, className: clsx("ids-puff-list-item__info", { "ids-puff-list-item__info--bottom": bottom }), children: children }));
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export { IDSPuffListItemInfo };
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import React, { ReactNode } from "react";
|
|
2
|
-
import "@inera/ids-design/components/puff-list/puff-list.css";
|
|
3
2
|
export interface IDSPuffListItemProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
4
3
|
header?: ReactNode;
|
|
5
4
|
itemLink?: React.ReactElement;
|
|
@@ -9,7 +8,6 @@ export interface IDSPuffListItemProps extends React.HTMLAttributes<HTMLDivElemen
|
|
|
9
8
|
lean?: boolean;
|
|
10
9
|
dateLabel?: ReactNode;
|
|
11
10
|
extra?: ReactNode;
|
|
12
|
-
children?: ReactNode;
|
|
13
11
|
}
|
|
14
12
|
export declare function IDSPuffListItem({ header, itemLink, date, dateTo, noContent, lean, dateLabel, extra, className, children, ...props }: IDSPuffListItemProps): import("react/jsx-runtime").JSX.Element;
|
|
15
13
|
export declare namespace IDSPuffListItem {
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
2
2
|
import { isValidElement, cloneElement } from 'react';
|
|
3
|
-
import '@inera/ids-design/components/puff-list/puff-list.css';
|
|
4
3
|
import clsx from 'clsx';
|
|
5
4
|
|
|
6
5
|
function IDSPuffListItem({ header, itemLink, date, dateTo, noContent = false, lean = false, dateLabel, extra, className, children, ...props }) {
|
|
@@ -15,10 +14,10 @@ function IDSPuffListItem({ header, itemLink, date, dateTo, noContent = false, le
|
|
|
15
14
|
}
|
|
16
15
|
return content;
|
|
17
16
|
};
|
|
18
|
-
return (jsxs("div", { className: clsx("ids-puff-list-item", {
|
|
17
|
+
return (jsxs("div", { ...props, className: clsx("ids-puff-list-item", {
|
|
19
18
|
"ids-puff-list-item--interactive": !!itemLink,
|
|
20
19
|
"ids-puff-list-item--lean": !!lean
|
|
21
|
-
}, className),
|
|
20
|
+
}, className), children: [jsxs("div", { className: "ids-puff-list-item__inner", children: [dateLabel && jsx("div", { className: "ids-puff-list-item__date-label", children: dateLabel }), jsxs("div", { className: "ids-puff-list-item__content", children: [!!date && date, !!date && !!dateTo && (jsxs(Fragment, { children: [jsx("span", { className: "ids-puff-list-item__date-spacer", children: "\u2015" }), dateTo] })), renderBody()] }), extra && jsx("div", { className: "ids-puff-list-item__extra-content", children: extra })] }), jsx("div", { className: "ids-puff-list-item-separator" })] }));
|
|
22
21
|
}
|
|
23
22
|
IDSPuffListItem.displayName = "IDSPuffListItem";
|
|
24
23
|
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { jsx } from 'react/jsx-runtime';
|
|
2
|
-
import '@inera/ids-design/components/puff-list/puff-list.css';
|
|
3
2
|
import clsx from 'clsx';
|
|
3
|
+
import '@inera/ids-design/components/puff-list/puff-list.css';
|
|
4
4
|
|
|
5
5
|
function IDSPuffList({ children, className, ...props }) {
|
|
6
|
-
|
|
7
|
-
return (jsx("div", { className: classes, ...props, children: children }));
|
|
6
|
+
return (jsx("div", { ...props, className: clsx("ids-puff-list", className), children: children }));
|
|
8
7
|
}
|
|
9
8
|
|
|
10
9
|
export { IDSPuffList };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx } from 'react/jsx-runtime';
|
|
2
|
-
import '@inera/ids-design/components/region-icon/region-icon.css';
|
|
3
2
|
import clsx from 'clsx';
|
|
3
|
+
import '@inera/ids-design/components/region-icon/region-icon.css';
|
|
4
4
|
|
|
5
5
|
function IDSRegionIcon({ name, size = "m", colorPreset = 1, light = false, inline = false, className, ...props }) {
|
|
6
6
|
const getSize = () => {
|
|
@@ -19,7 +19,7 @@ function IDSRegionIcon({ name, size = "m", colorPreset = 1, light = false, inlin
|
|
|
19
19
|
return "2.5rem";
|
|
20
20
|
}
|
|
21
21
|
};
|
|
22
|
-
return (jsx("span", { className: clsx("ids-region-icon", `ids-region-icon--${name}`, `ids-region-icon--color-preset-${light ? 3 : colorPreset}`, { "ids-region-icon--inline": inline }, className), style: { fontSize: getSize() }
|
|
22
|
+
return (jsx("span", { ...props, className: clsx("ids-region-icon", `ids-region-icon--${name}`, `ids-region-icon--color-preset-${light ? 3 : colorPreset}`, { "ids-region-icon--inline": inline }, className), style: { fontSize: getSize() } }));
|
|
23
23
|
}
|
|
24
24
|
|
|
25
25
|
export { IDSRegionIcon };
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import React, { ReactNode } from "react";
|
|
2
|
+
import "@inera/ids-design/components/side-menu/side-menu.css";
|
|
3
|
+
interface IDSSideMenuBaseProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
4
|
+
label?: string;
|
|
5
|
+
srToggleText?: string;
|
|
6
|
+
expanded?: boolean;
|
|
7
|
+
active?: boolean;
|
|
8
|
+
level?: number;
|
|
9
|
+
icon?: string;
|
|
10
|
+
labelNotification?: ReactNode;
|
|
11
|
+
link?: ReactNode;
|
|
12
|
+
isExpanded?: boolean;
|
|
13
|
+
onToggleMenu?: (e: React.MouseEvent | React.KeyboardEvent) => void;
|
|
14
|
+
handleKeyDown?: (e: React.KeyboardEvent) => void;
|
|
15
|
+
toggleButtonProps?: React.ButtonHTMLAttributes<HTMLButtonElement>;
|
|
16
|
+
client?: boolean;
|
|
17
|
+
}
|
|
18
|
+
export declare function IDSSideMenuBase({ label, srToggleText, expanded, active, level, icon, labelNotification, link, isExpanded, onToggleMenu, handleKeyDown, toggleButtonProps, className, children, client, ...props }: IDSSideMenuBaseProps): import("react/jsx-runtime").JSX.Element;
|
|
19
|
+
export declare namespace IDSSideMenuBase {
|
|
20
|
+
var displayName: string;
|
|
21
|
+
}
|
|
22
|
+
export {};
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import clsx from 'clsx';
|
|
4
|
+
import '@inera/ids-design/components/side-menu/side-menu.css';
|
|
5
|
+
|
|
6
|
+
function IDSSideMenuBase({ label = "", srToggleText = "Sektion", expanded = false, active = false, level = 1, icon = "", labelNotification, link, isExpanded = expanded, onToggleMenu, handleKeyDown, toggleButtonProps, className, children, client = false, ...props }) {
|
|
7
|
+
const hasChildren = !!React.Children.toArray(children).length;
|
|
8
|
+
const toggleHandlers = client && onToggleMenu
|
|
9
|
+
? {
|
|
10
|
+
onClick: onToggleMenu,
|
|
11
|
+
onKeyDown: handleKeyDown
|
|
12
|
+
}
|
|
13
|
+
: {};
|
|
14
|
+
const renderExpandButton = () => {
|
|
15
|
+
if (hasChildren) {
|
|
16
|
+
return (jsx("button", { className: clsx("ids-side-menu__chevron-button", {
|
|
17
|
+
"ids-side-menu__chevron-button--expanded": isExpanded
|
|
18
|
+
}), ...toggleHandlers, ...toggleButtonProps, "aria-expanded": isExpanded, "aria-label": srToggleText }));
|
|
19
|
+
}
|
|
20
|
+
return icon ? (jsx("div", { className: "ids-side-menu__label-icon", "aria-hidden": "true", children: jsx("span", { className: `ids-icon-${icon}` }) })) : (jsx("div", { className: "ids-side-menu__chevron-button--empty" }));
|
|
21
|
+
};
|
|
22
|
+
const renderLabel = () => {
|
|
23
|
+
if (hasChildren) {
|
|
24
|
+
return (jsxs("button", { className: "ids-side-menu__label-button", ...toggleHandlers, ...toggleButtonProps, "aria-expanded": isExpanded, "aria-label": srToggleText, children: [jsx("div", { className: clsx("ids-side-menu__label-chevron", {
|
|
25
|
+
"ids-side-menu__label-chevron--expanded": isExpanded
|
|
26
|
+
}) }), jsxs("div", { className: "ids-side-menu__label", children: [label, labelNotification] })] }));
|
|
27
|
+
}
|
|
28
|
+
return (jsxs(Fragment, { children: [icon ? (jsx("div", { className: "ids-side-menu__label-icon", "aria-hidden": "true", children: jsx("span", { className: `ids-icon-${icon}` }) })) : (jsx("div", { className: "ids-side-menu__chevron-button--empty" })), jsxs("div", { className: "ids-side-menu__label", children: [jsx("span", { className: "ids-side-menu__label-text", children: label }), labelNotification] })] }));
|
|
29
|
+
};
|
|
30
|
+
const renderMenuPost = () => {
|
|
31
|
+
if (label)
|
|
32
|
+
return renderLabel();
|
|
33
|
+
return (jsxs(Fragment, { children: [renderExpandButton(), jsx("div", { className: "ids-side-menu__link", onClick: e => e.stopPropagation(), onKeyDown: e => e.code !== "Escape" && e.stopPropagation(), children: link })] }));
|
|
34
|
+
};
|
|
35
|
+
return (jsxs("div", { className: clsx("ids-side-menu", `ids-side-menu--level-${level}`, className), ...props, children: [jsx("div", { className: clsx("ids-side-menu__header", {
|
|
36
|
+
"ids-side-menu--active": active,
|
|
37
|
+
"ids-side-menu--node-label": hasChildren && label
|
|
38
|
+
}), children: jsx("div", { className: "ids-side-menu__header-inner", children: renderMenuPost() }) }), isExpanded && jsx("div", { className: "ids-side-menu__children", children: children })] }));
|
|
39
|
+
}
|
|
40
|
+
IDSSideMenuBase.displayName = "IDSSideMenuBase";
|
|
41
|
+
|
|
42
|
+
export { IDSSideMenuBase };
|
|
@@ -1,16 +1,13 @@
|
|
|
1
|
-
import React
|
|
2
|
-
|
|
3
|
-
interface IDSSideMenuProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
1
|
+
import React from "react";
|
|
2
|
+
export interface IDSSideMenuProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
4
3
|
label?: string;
|
|
5
4
|
srToggleText?: string;
|
|
6
5
|
expanded?: boolean;
|
|
7
6
|
active?: boolean;
|
|
8
7
|
level?: number;
|
|
9
8
|
icon?: string;
|
|
10
|
-
labelNotification?: ReactNode;
|
|
11
|
-
link?: ReactNode;
|
|
12
|
-
|
|
13
|
-
onExpandedChange?: (isExpanded: boolean) => void;
|
|
9
|
+
labelNotification?: React.ReactNode;
|
|
10
|
+
link?: React.ReactNode;
|
|
11
|
+
onToggleMenu?: (isExpanded: boolean) => void;
|
|
14
12
|
}
|
|
15
|
-
export declare
|
|
16
|
-
export {};
|
|
13
|
+
export declare function IDSSideMenu({ expanded, onToggleMenu, srToggleText, className, ...props }: IDSSideMenuProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,55 +1,25 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
4
|
-
import '
|
|
5
|
-
import clsx from 'clsx';
|
|
2
|
+
import { jsx } from 'react/jsx-runtime';
|
|
3
|
+
import { useState } from 'react';
|
|
4
|
+
import { IDSSideMenuBase } from './side-menu-base.js';
|
|
6
5
|
|
|
7
|
-
|
|
6
|
+
function IDSSideMenu({ expanded = false, onToggleMenu, srToggleText = "Sektion", className, ...props }) {
|
|
8
7
|
const [isExpanded, setIsExpanded] = useState(expanded);
|
|
9
|
-
const
|
|
10
|
-
const toggleExpanded = (e) => {
|
|
8
|
+
const handleToggleMenu = (e) => {
|
|
11
9
|
e.stopPropagation();
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
onExpandedChange?.(newExpanded);
|
|
16
|
-
}
|
|
10
|
+
const newExpanded = !isExpanded;
|
|
11
|
+
setIsExpanded(newExpanded);
|
|
12
|
+
onToggleMenu?.(newExpanded);
|
|
17
13
|
};
|
|
18
14
|
const handleKeyDown = (e) => {
|
|
19
|
-
if (e.code !== "Escape")
|
|
15
|
+
if (e.code !== "Escape")
|
|
20
16
|
e.stopPropagation();
|
|
21
|
-
}
|
|
22
17
|
if (e.code === "Space" || e.code === "Enter") {
|
|
23
|
-
e.preventDefault();
|
|
24
|
-
|
|
25
|
-
}
|
|
26
|
-
};
|
|
27
|
-
const renderExpandButton = () => {
|
|
28
|
-
if (hasChildren) {
|
|
29
|
-
return (jsx("button", { className: clsx("ids-side-menu__chevron-button", {
|
|
30
|
-
"ids-side-menu__chevron-button--expanded": isExpanded
|
|
31
|
-
}), onClick: toggleExpanded, onKeyDown: handleKeyDown, "aria-expanded": isExpanded, "aria-label": srToggleText }));
|
|
32
|
-
}
|
|
33
|
-
return icon ? (jsx("div", { className: "ids-side-menu__leaf-icon", "aria-hidden": "true", children: jsx("span", { className: `ids-icon-${icon}` }) })) : (jsx("div", { className: "ids-side-menu__leaf-icon--empty" }));
|
|
34
|
-
};
|
|
35
|
-
const renderLabel = () => {
|
|
36
|
-
if (hasChildren) {
|
|
37
|
-
return (jsxs("button", { className: "ids-side-menu__label-button", onClick: toggleExpanded, onKeyDown: handleKeyDown, "aria-expanded": isExpanded, "aria-label": srToggleText, children: [jsx("div", { className: clsx("ids-side-menu__label-chevron", {
|
|
38
|
-
"ids-side-menu__label-chevron--expanded": isExpanded
|
|
39
|
-
}) }), jsxs("div", { className: "ids-side-menu__label", children: [label, labelNotification] })] }));
|
|
40
|
-
}
|
|
41
|
-
return (jsxs(Fragment, { children: [icon ? (jsx("div", { className: "ids-side-menu__leaf-icon", "aria-hidden": "true", children: jsx("span", { className: `ids-icon-${icon}` }) })) : (jsx("div", { className: "ids-side-menu__leaf-icon--empty" })), jsxs("div", { className: "ids-side-menu__label", children: [jsx("span", { className: "ids-side-menu__label-text", children: label }), labelNotification] })] }));
|
|
42
|
-
};
|
|
43
|
-
const renderMenuPost = () => {
|
|
44
|
-
if (label) {
|
|
45
|
-
return renderLabel();
|
|
18
|
+
e.preventDefault();
|
|
19
|
+
handleToggleMenu(e);
|
|
46
20
|
}
|
|
47
|
-
return (jsxs(Fragment, { children: [renderExpandButton(), jsx("div", { className: "ids-side-menu__link", children: link })] }));
|
|
48
21
|
};
|
|
49
|
-
return (
|
|
50
|
-
|
|
51
|
-
"ids-side-menu--node-label": hasChildren && label
|
|
52
|
-
}), children: jsx("div", { className: "ids-side-menu__header-inner", children: renderMenuPost() }) }), isExpanded && jsx("div", { className: "ids-side-menu__children", children: children })] }));
|
|
53
|
-
};
|
|
22
|
+
return (jsx(IDSSideMenuBase, { ...props, client: true, className: className, srToggleText: srToggleText, isExpanded: isExpanded, onToggleMenu: handleToggleMenu, handleKeyDown: handleKeyDown }));
|
|
23
|
+
}
|
|
54
24
|
|
|
55
25
|
export { IDSSideMenu };
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import React, { ReactNode } from "react";
|
|
2
|
+
import "@inera/ids-design/components/side-panel/side-panel.css";
|
|
3
|
+
export type PanelSize = "s" | "m" | "l";
|
|
4
|
+
export interface IDSSidePanelBaseProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
5
|
+
visible?: boolean;
|
|
6
|
+
left?: boolean;
|
|
7
|
+
elevated?: boolean;
|
|
8
|
+
menu?: boolean;
|
|
9
|
+
footer?: boolean;
|
|
10
|
+
footerDarkmodeToggle?: ReactNode;
|
|
11
|
+
size?: PanelSize;
|
|
12
|
+
srLabel?: string;
|
|
13
|
+
onTogglePanel?: () => void;
|
|
14
|
+
onClosePanel?: () => void;
|
|
15
|
+
headline?: ReactNode;
|
|
16
|
+
footerLinks?: ReactNode;
|
|
17
|
+
footerText?: ReactNode;
|
|
18
|
+
client?: boolean;
|
|
19
|
+
srClose?: string;
|
|
20
|
+
srOpen?: string;
|
|
21
|
+
noScrollAreaFocus?: boolean;
|
|
22
|
+
hamburgerRef?: React.Ref<HTMLButtonElement>;
|
|
23
|
+
}
|
|
24
|
+
export declare const IDSSidePanelBase: React.ForwardRefExoticComponent<IDSSidePanelBaseProps & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
2
|
+
import { forwardRef } from 'react';
|
|
3
|
+
import clsx from 'clsx';
|
|
4
|
+
import '@inera/ids-design/components/side-panel/side-panel.css';
|
|
5
|
+
|
|
6
|
+
const IDSSidePanelBase = forwardRef(({ visible = false, left = false, elevated = false, menu = false, footer = false, noScrollAreaFocus = false, footerDarkmodeToggle, size = "m", srLabel = "Sidopanel", onTogglePanel, onClosePanel, srClose, srOpen, client, headline, footerLinks, footerText, hamburgerRef, className, children, ...props }, ref) => {
|
|
7
|
+
const classNames = clsx("ids-side-panel", "ids-focus-trap--tablet", size && !menu && `ids-side-panel--${size}`, menu ? "ids-side-panel--menu" : "ids-side-panel--regular", {
|
|
8
|
+
"ids-side-panel--show": visible,
|
|
9
|
+
"ids-side-panel--elevated": elevated,
|
|
10
|
+
"ids-side-panel--left": !menu && left
|
|
11
|
+
}, className);
|
|
12
|
+
const toggleHandler = client && onTogglePanel
|
|
13
|
+
? {
|
|
14
|
+
onClick: onTogglePanel
|
|
15
|
+
}
|
|
16
|
+
: {};
|
|
17
|
+
const closeHandler = client && onClosePanel
|
|
18
|
+
? {
|
|
19
|
+
onClick: onClosePanel
|
|
20
|
+
}
|
|
21
|
+
: {};
|
|
22
|
+
const renderFooter = () => {
|
|
23
|
+
if (menu && footer) {
|
|
24
|
+
return (jsxs("footer", { className: "ids-side-panel__footer", children: [footerLinks && jsx("div", { className: "ids-side-panel__footer-links", children: footerLinks }), footerDarkmodeToggle && jsx("div", { className: "ids-side-panel__footer-toggle", children: footerDarkmodeToggle }), footerText && jsx("div", { className: "ids-side-panel__footer-text", children: footerText })] }));
|
|
25
|
+
}
|
|
26
|
+
return null;
|
|
27
|
+
};
|
|
28
|
+
const renderContent = () => (jsxs("div", { className: "ids-side-panel__content", tabIndex: noScrollAreaFocus ? -1 : 0, children: [jsxs("div", { className: "ids-side-panel__inner", children: [headline, children] }), renderFooter()] }));
|
|
29
|
+
return (jsx("div", { className: classNames, ref: ref, ...props, children: jsxs("div", { className: "ids-side-panel__panel", children: [jsx("div", { className: "ids-side-panel__actions", children: menu ? (jsx("button", { "aria-label": visible ? srClose : srOpen, className: "ids-side-panel__hamburger", "aria-expanded": visible, ...toggleHandler, ref: hamburgerRef, children: jsx("div", { className: "ids-hamburger", children: jsx("div", { className: "ids-hamburger__lines" }) }) })) : (jsx("button", { "aria-label": srClose, "aria-expanded": visible, className: "ids-side-panel__close-button", ...closeHandler })) }), renderContent()] }) }));
|
|
30
|
+
});
|
|
31
|
+
IDSSidePanelBase.displayName = "IDSSidePanelBase";
|
|
32
|
+
|
|
33
|
+
export { IDSSidePanelBase };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import React, { ReactNode } from "react";
|
|
2
|
+
export interface IDSSidePanelProviderProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
3
|
+
left?: boolean;
|
|
4
|
+
hideSidePanel?: boolean;
|
|
5
|
+
sidePanel: ReactNode;
|
|
6
|
+
}
|
|
7
|
+
export declare function IDSSidePanelProvider({ left, hideSidePanel, sidePanel, className, children, ...props }: IDSSidePanelProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { jsxs } from 'react/jsx-runtime';
|
|
2
|
+
import clsx from 'clsx';
|
|
3
|
+
|
|
4
|
+
function IDSSidePanelProvider({ left, hideSidePanel, sidePanel, className, children, ...props }) {
|
|
5
|
+
const classNames = clsx("ids-side-panel-provider", { "ids-side-panel-provider--left": !!left }, className);
|
|
6
|
+
if (!!left) {
|
|
7
|
+
return (jsxs("div", { className: classNames, ...props, children: [!hideSidePanel && sidePanel, " ", children] }));
|
|
8
|
+
}
|
|
9
|
+
return (jsxs("div", { className: classNames, ...props, children: [children, " ", !hideSidePanel && sidePanel] }));
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export { IDSSidePanelProvider };
|
|
@@ -1,23 +1,22 @@
|
|
|
1
|
-
import
|
|
2
|
-
import "
|
|
3
|
-
|
|
4
|
-
interface IDSSidePanelProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
1
|
+
import { ReactNode } from "react";
|
|
2
|
+
import { PanelSize } from "./side-panel-base";
|
|
3
|
+
export interface IDSSidePanelProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
5
4
|
show?: boolean;
|
|
6
|
-
|
|
5
|
+
onVisibilityChange?: (visible: boolean) => void;
|
|
6
|
+
onOpen?: () => void;
|
|
7
|
+
onClose?: () => void;
|
|
8
|
+
srClose?: string;
|
|
9
|
+
srOpen?: string;
|
|
7
10
|
elevated?: boolean;
|
|
11
|
+
left?: boolean;
|
|
8
12
|
menu?: boolean;
|
|
9
13
|
footer?: boolean;
|
|
10
|
-
|
|
11
|
-
srClose?: string;
|
|
12
|
-
srOpen?: string;
|
|
14
|
+
footerDarkmodeToggle?: ReactNode;
|
|
13
15
|
size?: PanelSize;
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
onClose?: () => void;
|
|
16
|
+
srLabel?: string;
|
|
17
|
+
headline?: ReactNode;
|
|
17
18
|
footerLinks?: ReactNode;
|
|
18
19
|
footerText?: ReactNode;
|
|
19
|
-
|
|
20
|
-
children?: ReactNode;
|
|
20
|
+
noScrollAreaFocus?: boolean;
|
|
21
21
|
}
|
|
22
|
-
export declare
|
|
23
|
-
export {};
|
|
22
|
+
export declare function IDSSidePanel({ show, menu, noScrollAreaFocus, srLabel, onVisibilityChange, srClose, srOpen, onOpen, onClose, className, children, ...props }: IDSSidePanelProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,77 +1,72 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { jsx
|
|
3
|
-
import {
|
|
4
|
-
import '
|
|
5
|
-
import clsx from 'clsx';
|
|
2
|
+
import { jsx } from 'react/jsx-runtime';
|
|
3
|
+
import { useRef, useState, useEffect } from 'react';
|
|
4
|
+
import { IDSSidePanelBase } from './side-panel-base.js';
|
|
6
5
|
|
|
7
|
-
|
|
8
|
-
const
|
|
6
|
+
function IDSSidePanel({ show = false, menu = false, noScrollAreaFocus = false, srLabel = "Sidopanel", onVisibilityChange, srClose = "Stäng", srOpen = "Öppna", onOpen, onClose, className, children, ...props }) {
|
|
7
|
+
const internalRef = useRef(null);
|
|
9
8
|
const hamburgerRef = useRef(null);
|
|
10
|
-
const
|
|
11
|
-
const classNames = clsx("ids-side-panel", "ids-focus-trap--tablet", size && !menu && `ids-side-panel--${size}`, menu ? "ids-side-panel--menu" : "ids-side-panel--regular", {
|
|
12
|
-
"ids-side-panel--show": isVisible,
|
|
13
|
-
"ids-side-panel--elevated": elevated,
|
|
14
|
-
"ids-side-panel--left": !menu && left
|
|
15
|
-
}, className);
|
|
9
|
+
const [internalShow, setInternalShow] = useState(show);
|
|
16
10
|
useEffect(() => {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
panelRef.current.setAttribute("aria-modal", "true");
|
|
22
|
-
panelRef.current.setAttribute("aria-label", srLabel);
|
|
23
|
-
}
|
|
24
|
-
else {
|
|
25
|
-
panelRef.current.removeAttribute("role");
|
|
26
|
-
panelRef.current.removeAttribute("aria-modal");
|
|
27
|
-
panelRef.current.removeAttribute("aria-label");
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
};
|
|
31
|
-
handleResize();
|
|
32
|
-
window.addEventListener("resize", handleResize);
|
|
33
|
-
return () => window.removeEventListener("resize", handleResize);
|
|
34
|
-
}, []);
|
|
35
|
-
useEffect(() => {
|
|
36
|
-
setIsVisible(show);
|
|
11
|
+
if (show !== internalShow) {
|
|
12
|
+
setInternalShow(show);
|
|
13
|
+
onVisibilityChange?.(show);
|
|
14
|
+
}
|
|
37
15
|
}, [show]);
|
|
16
|
+
// Escape key
|
|
38
17
|
useEffect(() => {
|
|
39
18
|
const handleKeyDown = (e) => {
|
|
40
|
-
if (e.key === "Escape" &&
|
|
41
|
-
|
|
19
|
+
if (e.key === "Escape" && internalShow) {
|
|
20
|
+
setInternalShow(false);
|
|
21
|
+
onVisibilityChange?.(false);
|
|
42
22
|
}
|
|
43
23
|
};
|
|
44
|
-
|
|
45
|
-
return () =>
|
|
46
|
-
}, [
|
|
24
|
+
document.addEventListener("keydown", handleKeyDown);
|
|
25
|
+
return () => document.removeEventListener("keydown", handleKeyDown);
|
|
26
|
+
}, [internalShow]);
|
|
47
27
|
useEffect(() => {
|
|
48
|
-
|
|
49
|
-
if (isVisible) {
|
|
28
|
+
if (internalShow) {
|
|
50
29
|
onOpen?.();
|
|
51
|
-
const heading =
|
|
30
|
+
const heading = internalRef.current?.querySelector("h1, h2, h3, h4, h5, h6");
|
|
52
31
|
heading?.setAttribute("tabindex", "-1");
|
|
53
32
|
heading?.focus();
|
|
54
33
|
}
|
|
55
34
|
else {
|
|
56
|
-
onClose?.();
|
|
57
35
|
if (menu && hamburgerRef.current) {
|
|
58
36
|
hamburgerRef.current.focus();
|
|
59
37
|
}
|
|
38
|
+
onClose?.();
|
|
60
39
|
}
|
|
61
|
-
}, [
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
40
|
+
}, [internalShow]);
|
|
41
|
+
// Window resize ARIA attributes
|
|
42
|
+
useEffect(() => {
|
|
43
|
+
const handleResize = () => {
|
|
44
|
+
const panel = internalRef.current;
|
|
45
|
+
if (panel) {
|
|
46
|
+
if (window.innerWidth <= 1024) {
|
|
47
|
+
panel.setAttribute("role", "dialog");
|
|
48
|
+
panel.setAttribute("aria-modal", "true");
|
|
49
|
+
panel.setAttribute("aria-label", srLabel);
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
panel.removeAttribute("role");
|
|
53
|
+
panel.removeAttribute("aria-modal");
|
|
54
|
+
panel.removeAttribute("aria-label");
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
handleResize();
|
|
59
|
+
window.addEventListener("resize", handleResize);
|
|
60
|
+
return () => window.removeEventListener("resize", handleResize);
|
|
61
|
+
}, [srLabel]);
|
|
62
|
+
const onClosePanel = () => {
|
|
63
|
+
setInternalShow(false);
|
|
64
|
+
onVisibilityChange?.(false);
|
|
66
65
|
};
|
|
67
|
-
const
|
|
68
|
-
|
|
69
|
-
return (jsxs("footer", { className: "ids-side-panel__footer", children: [footerLinks && jsx("div", { className: "ids-side-panel__footer-links", children: footerLinks }), jsx("div", { className: "ids-side-panel__footer-text", children: footerText })] }));
|
|
70
|
-
}
|
|
71
|
-
return null;
|
|
66
|
+
const onTogglePanel = () => {
|
|
67
|
+
setInternalShow(prev => !prev);
|
|
72
68
|
};
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
};
|
|
69
|
+
return (jsx(IDSSidePanelBase, { ...props, ref: internalRef, client: true, menu: menu, className: className, srClose: srClose, srOpen: srOpen, noScrollAreaFocus: noScrollAreaFocus, visible: internalShow, onClosePanel: onClosePanel, onTogglePanel: onTogglePanel, hamburgerRef: hamburgerRef, children: children }));
|
|
70
|
+
}
|
|
76
71
|
|
|
77
72
|
export { IDSSidePanel };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import React, { ReactNode } from "react";
|
|
2
|
+
import "@inera/ids-design/components/stepper/stepper.css";
|
|
3
|
+
export type StepState = "" | "valid" | "invalid" | "selected";
|
|
4
|
+
export interface IDSStepBaseProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
5
|
+
state?: StepState;
|
|
6
|
+
headline?: ReactNode;
|
|
7
|
+
label?: string;
|
|
8
|
+
stepNumber?: string;
|
|
9
|
+
srIndicatorText?: string;
|
|
10
|
+
expanded?: boolean;
|
|
11
|
+
disabled?: boolean;
|
|
12
|
+
onToggleStep?: (step: string, expanded: boolean) => void;
|
|
13
|
+
client?: boolean;
|
|
14
|
+
}
|
|
15
|
+
export declare const IDSStepBase: React.ForwardRefExoticComponent<IDSStepBaseProps & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { forwardRef } from 'react';
|
|
3
|
+
import clsx from 'clsx';
|
|
4
|
+
import '@inera/ids-design/components/stepper/stepper.css';
|
|
5
|
+
|
|
6
|
+
const IDSStepBase = forwardRef(({ state = "", headline, label = "", stepNumber = "", srIndicatorText = "", expanded = false, disabled = false, onToggleStep, client, className, children, ...props }, ref) => {
|
|
7
|
+
const renderStepIndicator = () => {
|
|
8
|
+
if (state === "valid" || state === "invalid")
|
|
9
|
+
return null;
|
|
10
|
+
return stepNumber;
|
|
11
|
+
};
|
|
12
|
+
const handleKeyPress = (e) => {
|
|
13
|
+
if (!onToggleStep)
|
|
14
|
+
return;
|
|
15
|
+
if (e.key === "Enter" || e.key === " ") {
|
|
16
|
+
e.preventDefault();
|
|
17
|
+
onToggleStep(stepNumber, expanded);
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
const toggleHandlers = client && onToggleStep
|
|
21
|
+
? {
|
|
22
|
+
onClick: () => onToggleStep?.(stepNumber, expanded),
|
|
23
|
+
onKeyDown: handleKeyPress
|
|
24
|
+
}
|
|
25
|
+
: {};
|
|
26
|
+
return (jsxs("div", { className: clsx("ids-step", className), ...props, children: [jsx("div", { ref: ref, role: "button", tabIndex: disabled ? -1 : 0, className: clsx("ids-step__button", {
|
|
27
|
+
"ids-step__button--disabled": disabled
|
|
28
|
+
}), "aria-expanded": expanded, ...toggleHandlers, children: jsxs("div", { className: "ids-step__button-inner", children: [jsx("div", { className: "ids-step__indicator-wrapper", children: jsx("div", { "aria-label": srIndicatorText || stepNumber, role: "img", className: `ids-step__indicator ids-step__indicator--${state}`, children: renderStepIndicator() }) }), jsxs("div", { className: "ids-step__button-text", children: [jsxs("div", { className: "ids-step__headline-label", children: [label && jsx("div", { className: "ids-step__label", children: label }), headline && jsx("div", { className: "ids-step__headline", children: headline })] }), jsx("div", { className: clsx("ids-step__chevron", {
|
|
29
|
+
"ids-step__chevron--expanded": expanded
|
|
30
|
+
}) })] })] }) }), jsx("div", { className: clsx("ids-step__content", {
|
|
31
|
+
"ids-step__content--expanded": expanded
|
|
32
|
+
}), children: children })] }));
|
|
33
|
+
});
|
|
34
|
+
IDSStepBase.displayName = "IDSStepBase";
|
|
35
|
+
|
|
36
|
+
export { IDSStepBase };
|
|
@@ -1,18 +1,15 @@
|
|
|
1
|
-
import React
|
|
2
|
-
import "
|
|
3
|
-
export type StepState = "" | "valid" | "invalid" | "selected";
|
|
1
|
+
import React from "react";
|
|
2
|
+
import type { StepState } from "./step-base";
|
|
4
3
|
export interface IDSStepProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
5
4
|
state?: StepState;
|
|
6
|
-
headline?: ReactNode;
|
|
5
|
+
headline?: React.ReactNode;
|
|
7
6
|
label?: string;
|
|
8
7
|
stepNumber?: string;
|
|
9
8
|
srIndicatorText?: string;
|
|
10
|
-
last?: string;
|
|
11
9
|
expanded?: boolean;
|
|
12
10
|
disabled?: boolean;
|
|
13
|
-
|
|
11
|
+
onToggleStep?: (step: string, expanded: boolean) => void;
|
|
14
12
|
onExpanded?: () => void;
|
|
15
13
|
onClosed?: () => void;
|
|
16
|
-
children?: ReactNode;
|
|
17
14
|
}
|
|
18
|
-
export declare const IDSStep: React.
|
|
15
|
+
export declare const IDSStep: React.ForwardRefExoticComponent<IDSStepProps & React.RefAttributes<HTMLDivElement>>;
|