@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
|
@@ -1,53 +1,55 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import {
|
|
2
|
+
import { jsx } from 'react/jsx-runtime';
|
|
3
3
|
import { useState, useRef, useEffect } from 'react';
|
|
4
|
-
import '
|
|
4
|
+
import { IDSHeaderIneraAdminMenuMobileBase } from './header-inera-admin-menu-mobile-base.js';
|
|
5
5
|
import { useHeaderContext } from '../utils/contexts/HeaderContext.js';
|
|
6
|
-
import clsx from 'clsx';
|
|
7
6
|
|
|
8
|
-
|
|
9
|
-
const [isExpanded, setIsExpanded] = useState(false);
|
|
7
|
+
function IDSHeaderIneraAdminMenuMobile({ srLabel = "Meny", expanded = false, persistent = false, children, onExpanded, onClosed, ...props }) {
|
|
10
8
|
const headerContext = useHeaderContext();
|
|
11
|
-
const
|
|
12
|
-
const
|
|
9
|
+
const [isExpanded, setIsExpanded] = useState(expanded);
|
|
10
|
+
const componentRef = useRef(null);
|
|
13
11
|
const handleLinkClick = () => {
|
|
14
12
|
setIsExpanded(false);
|
|
15
13
|
onClosed?.();
|
|
16
14
|
};
|
|
17
15
|
const handleClickOutside = (event) => {
|
|
18
|
-
if (!persistent &&
|
|
16
|
+
if (!persistent && componentRef.current && !componentRef.current.contains(event.target)) {
|
|
19
17
|
setIsExpanded(false);
|
|
20
18
|
onClosed?.();
|
|
21
19
|
}
|
|
22
20
|
};
|
|
23
21
|
useEffect(() => {
|
|
24
22
|
document.addEventListener("click", handleClickOutside);
|
|
25
|
-
return () =>
|
|
26
|
-
document.removeEventListener("click", handleClickOutside);
|
|
27
|
-
};
|
|
23
|
+
return () => document.removeEventListener("click", handleClickOutside);
|
|
28
24
|
}, [persistent]);
|
|
29
25
|
useEffect(() => {
|
|
30
26
|
if (!persistent && isExpanded) {
|
|
31
|
-
const links =
|
|
27
|
+
const links = componentRef.current?.querySelectorAll("a") || [];
|
|
32
28
|
links.forEach(link => link.addEventListener("click", handleLinkClick));
|
|
33
29
|
return () => {
|
|
34
30
|
links.forEach(link => link.removeEventListener("click", handleLinkClick));
|
|
35
31
|
};
|
|
36
32
|
}
|
|
37
33
|
}, [isExpanded, persistent]);
|
|
38
|
-
const
|
|
39
|
-
const
|
|
40
|
-
setIsExpanded(
|
|
41
|
-
|
|
42
|
-
onExpanded?.();
|
|
43
|
-
}
|
|
44
|
-
else {
|
|
45
|
-
onClosed?.();
|
|
46
|
-
}
|
|
34
|
+
const toggleMenu = () => {
|
|
35
|
+
const next = !isExpanded;
|
|
36
|
+
setIsExpanded(next);
|
|
37
|
+
next ? onExpanded?.() : onClosed?.();
|
|
47
38
|
};
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
39
|
+
// Escape should also close
|
|
40
|
+
useEffect(() => {
|
|
41
|
+
if (!isExpanded || persistent)
|
|
42
|
+
return;
|
|
43
|
+
const handleKeyDown = (event) => {
|
|
44
|
+
if (event.key === "Escape") {
|
|
45
|
+
event.preventDefault();
|
|
46
|
+
setIsExpanded(false);
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
document.addEventListener("keydown", handleKeyDown);
|
|
50
|
+
return () => document.removeEventListener("keydown", handleKeyDown);
|
|
51
|
+
}, [isExpanded, persistent]);
|
|
52
|
+
return (jsx(IDSHeaderIneraAdminMenuMobileBase, { ...props, client: true, children: children, srLabel: srLabel, expanded: isExpanded, unresponsive: headerContext?.unresponsive, onToggleMenu: toggleMenu, componentRef: componentRef }));
|
|
53
|
+
}
|
|
52
54
|
|
|
53
55
|
export { IDSHeaderIneraAdminMenuMobile };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ReactNode } from "react";
|
|
2
|
+
interface IDSHeaderIneraAdminNavBaseProps {
|
|
3
|
+
children?: ReactNode;
|
|
4
|
+
unresponsive?: boolean;
|
|
5
|
+
}
|
|
6
|
+
export declare function IDSHeaderIneraAdminNavBase({ children, unresponsive, ...props }: IDSHeaderIneraAdminNavBaseProps): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import clsx from 'clsx';
|
|
3
|
+
|
|
4
|
+
function IDSHeaderIneraAdminNavBase({ children, unresponsive = false, ...props }) {
|
|
5
|
+
return (jsx("nav", { className: clsx("ids-header-inera-admin-nav", {
|
|
6
|
+
"ids-header-inera-admin-nav--unresponsive": unresponsive
|
|
7
|
+
}), "aria-label": "Huvudmeny", ...props, children: jsx("div", { className: "ids-header-inera-admin-nav__nav-items", children: children }) }));
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export { IDSHeaderIneraAdminNavBase };
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import React, { HTMLAttributes, ReactElement } from "react";
|
|
2
|
+
import { IDSLinkProps } from "../link/link";
|
|
3
|
+
export interface IDSHeaderIneraAdminNavItemBaseProps extends HTMLAttributes<HTMLElement> {
|
|
4
|
+
label?: string;
|
|
5
|
+
active?: boolean;
|
|
6
|
+
expanded?: boolean;
|
|
7
|
+
children?: React.ReactNode;
|
|
8
|
+
col1?: ReactElement<IDSLinkProps>[];
|
|
9
|
+
col2?: ReactElement<IDSLinkProps>[];
|
|
10
|
+
col3?: ReactElement<IDSLinkProps>[];
|
|
11
|
+
col4?: React.ReactNode;
|
|
12
|
+
componentRef?: React.Ref<HTMLDivElement>;
|
|
13
|
+
menuRef?: React.Ref<HTMLDivElement>;
|
|
14
|
+
onToggleItem?: () => void;
|
|
15
|
+
unresponsive?: boolean;
|
|
16
|
+
client?: boolean;
|
|
17
|
+
}
|
|
18
|
+
export declare function IDSHeaderIneraAdminNavItemBase({ label, active, expanded, children, col1, col2, col3, col4, componentRef, menuRef, onToggleItem, unresponsive, client, ...props }: IDSHeaderIneraAdminNavItemBaseProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import React, { useId } from 'react';
|
|
3
|
+
import clsx from 'clsx';
|
|
4
|
+
|
|
5
|
+
function IDSHeaderIneraAdminNavItemBase({ label, active, expanded, children, col1, col2, col3, col4, componentRef, menuRef, onToggleItem, unresponsive, client = false, ...props }) {
|
|
6
|
+
const itemId = `header-inera-admin-item-${useId()}`;
|
|
7
|
+
const toggleHandler = client && onToggleItem
|
|
8
|
+
? {
|
|
9
|
+
onClick: onToggleItem
|
|
10
|
+
}
|
|
11
|
+
: {};
|
|
12
|
+
return (jsxs("div", { ref: componentRef, className: clsx("ids-header-inera-admin-nav-item", {
|
|
13
|
+
"ids-header-inera-admin-nav-item--unresponsive": unresponsive,
|
|
14
|
+
"ids-header-inera-admin-nav-item--expanded": expanded,
|
|
15
|
+
"ids-header-inera-admin-nav-item--active": active
|
|
16
|
+
}), ...props, children: [!!label && (jsx("button", { "aria-controls": itemId, "aria-expanded": expanded, className: "ids-header-inera-admin-nav-item__button", ...toggleHandler, children: label })), !label && (jsx("span", { className: "ids-header-inera-admin-nav-item__link", children: React.Children.map(children, child => {
|
|
17
|
+
if (!React.isValidElement(child))
|
|
18
|
+
return child;
|
|
19
|
+
const element = child;
|
|
20
|
+
if (active && !element.props["aria-current"]) {
|
|
21
|
+
return React.cloneElement(element, {
|
|
22
|
+
"aria-current": "page"
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
return element;
|
|
26
|
+
}) })), jsx("div", { ref: menuRef, id: itemId, className: clsx("ids-header-inera-admin-nav-item__menu", {
|
|
27
|
+
"ids-header-inera-admin-nav-item__menu--expanded": expanded
|
|
28
|
+
}), children: jsxs("div", { className: "ids-header-inera-admin-nav-item__menu-content", children: [jsx("div", { className: "ids-header-inera-admin-nav-item__menu-col-1", children: col1?.map((link, idx) => (jsx("div", { className: "ids-header-inera-admin-nav__menu-item-wrapper", children: link }, idx))) }), jsx("div", { className: "ids-header-inera-admin-nav-item__menu-col-2", children: col2?.map((link, idx) => (jsx("div", { className: "ids-header-inera-admin-nav__menu-item-wrapper", children: link }, idx))) }), jsx("div", { className: "ids-header-inera-admin-nav-item__menu-col-3", children: col3?.map((link, idx) => (jsx("div", { className: "ids-header-inera-admin-nav__menu-item-wrapper", children: link }, idx))) }), jsx("div", { className: "ids-header-inera-admin-nav-item__menu-col-4", children: col4 })] }) })] }));
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export { IDSHeaderIneraAdminNavItemBase };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { HTMLAttributes } from "react";
|
|
2
|
+
interface IDSHeaderIneraAdminNavItemMobileBaseProps extends HTMLAttributes<HTMLElement> {
|
|
3
|
+
icon?: string;
|
|
4
|
+
unresponsive?: boolean;
|
|
5
|
+
}
|
|
6
|
+
export declare function IDSHeaderIneraAdminNavItemMobileBase({ icon, unresponsive, children, ...props }: IDSHeaderIneraAdminNavItemMobileBaseProps): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import clsx from 'clsx';
|
|
3
|
+
|
|
4
|
+
function IDSHeaderIneraAdminNavItemMobileBase({ icon = "", unresponsive = false, children, ...props }) {
|
|
5
|
+
return (jsxs("div", { ...props, className: clsx("ids-header-inera-admin-nav-item-mobile", {
|
|
6
|
+
"ids-header-inera-admin-nav-item-mobile--unresponsive": unresponsive
|
|
7
|
+
}), children: [icon && (jsx("span", { className: "ids-header-inera-admin-nav-item-mobile__icon", children: jsx("span", { className: `ids-icon-${icon}` }) })), children] }));
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export { IDSHeaderIneraAdminNavItemMobileBase };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { HTMLAttributes } from "react";
|
|
2
|
+
interface IDSHeaderIneraAdminNavItemMobileProps extends HTMLAttributes<HTMLElement> {
|
|
3
|
+
icon?: string;
|
|
4
|
+
unresponsive?: boolean;
|
|
5
|
+
}
|
|
6
|
+
export declare function IDSHeaderIneraAdminNavItemMobile({ icon, unresponsive, children, ...props }: IDSHeaderIneraAdminNavItemMobileProps): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx } from 'react/jsx-runtime';
|
|
3
|
+
import { useHeaderContext } from '../utils/contexts/HeaderContext.js';
|
|
4
|
+
import { IDSHeaderIneraAdminNavItemMobileBase } from './header-inera-admin-nav-item-mobile-base.js';
|
|
5
|
+
|
|
6
|
+
function IDSHeaderIneraAdminNavItemMobile({ icon, unresponsive, children, ...props }) {
|
|
7
|
+
const headerContext = useHeaderContext();
|
|
8
|
+
return (jsx(IDSHeaderIneraAdminNavItemMobileBase, { ...props, unresponsive: headerContext?.unresponsive, icon: icon, children: children }));
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export { IDSHeaderIneraAdminNavItemMobile };
|
|
@@ -1,14 +1,15 @@
|
|
|
1
|
-
import
|
|
2
|
-
import "@inera/ids-design/components/header-inera-admin/header-inera-admin-nav-item.css";
|
|
1
|
+
import { HTMLAttributes, ReactElement } from "react";
|
|
3
2
|
import { IDSLinkProps } from "../link/link";
|
|
4
|
-
export interface IDSHeaderIneraAdminNavItemProps {
|
|
3
|
+
export interface IDSHeaderIneraAdminNavItemProps extends HTMLAttributes<HTMLElement> {
|
|
5
4
|
label?: string;
|
|
6
5
|
active?: boolean;
|
|
7
6
|
expanded?: boolean;
|
|
8
|
-
children?: ReactNode;
|
|
7
|
+
children?: React.ReactNode;
|
|
9
8
|
col1?: ReactElement<IDSLinkProps>[];
|
|
10
9
|
col2?: ReactElement<IDSLinkProps>[];
|
|
11
10
|
col3?: ReactElement<IDSLinkProps>[];
|
|
12
|
-
col4?: ReactNode;
|
|
11
|
+
col4?: React.ReactNode;
|
|
12
|
+
itemId?: string;
|
|
13
|
+
unresponsive?: boolean;
|
|
13
14
|
}
|
|
14
|
-
export declare
|
|
15
|
+
export declare function IDSHeaderIneraAdminNavItem({ expanded, ...props }: IDSHeaderIneraAdminNavItemProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,46 +1,56 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import {
|
|
2
|
+
import { jsx } from 'react/jsx-runtime';
|
|
3
3
|
import { useState, useRef, useEffect } from 'react';
|
|
4
|
-
import '
|
|
5
|
-
import clsx from 'clsx';
|
|
4
|
+
import { IDSHeaderIneraAdminNavItemBase } from './header-inera-admin-nav-item-base.js';
|
|
6
5
|
import { useHeaderContext } from '../utils/contexts/HeaderContext.js';
|
|
7
|
-
import { useElementId } from '../utils/hooks/useElementId.js';
|
|
8
6
|
|
|
9
|
-
|
|
7
|
+
function IDSHeaderIneraAdminNavItem({ expanded = false, ...props }) {
|
|
10
8
|
const headerContext = useHeaderContext();
|
|
11
9
|
const [isExpanded, setIsExpanded] = useState(expanded);
|
|
12
|
-
const
|
|
13
|
-
const
|
|
14
|
-
const handleClickOutside = (event) => {
|
|
15
|
-
if (containerRef.current && !containerRef.current.contains(event.target)) {
|
|
16
|
-
setIsExpanded(false);
|
|
17
|
-
}
|
|
18
|
-
};
|
|
10
|
+
const componentRef = useRef(null);
|
|
11
|
+
const menuRef = useRef(null);
|
|
19
12
|
useEffect(() => {
|
|
20
13
|
setIsExpanded(expanded);
|
|
21
|
-
document.addEventListener("click", handleClickOutside);
|
|
22
|
-
return () => {
|
|
23
|
-
document.removeEventListener("click", handleClickOutside);
|
|
24
|
-
};
|
|
25
14
|
}, [expanded]);
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
|
|
15
|
+
// close when clicking outside the menu
|
|
16
|
+
useEffect(() => {
|
|
17
|
+
const onClickOutside = (event) => {
|
|
18
|
+
if (componentRef.current && !componentRef.current.contains(event.target)) {
|
|
19
|
+
setIsExpanded(false);
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
document.addEventListener("click", onClickOutside);
|
|
23
|
+
return () => document.removeEventListener("click", onClickOutside);
|
|
24
|
+
}, []);
|
|
25
|
+
// close when clicking any link inside the menu
|
|
26
|
+
useEffect(() => {
|
|
27
|
+
const menuEl = menuRef.current;
|
|
28
|
+
if (!menuEl)
|
|
29
|
+
return;
|
|
30
|
+
const onMenuClick = (event) => {
|
|
31
|
+
const target = event.target;
|
|
32
|
+
const anchor = target.closest("a");
|
|
33
|
+
if (anchor && menuEl.contains(anchor)) {
|
|
34
|
+
setIsExpanded(false);
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
menuEl.addEventListener("click", onMenuClick);
|
|
38
|
+
return () => menuEl.removeEventListener("click", onMenuClick);
|
|
39
|
+
}, [menuRef]);
|
|
40
|
+
// Escape should also close
|
|
41
|
+
useEffect(() => {
|
|
35
42
|
if (!isExpanded)
|
|
36
|
-
return
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
43
|
+
return;
|
|
44
|
+
const handleKeyDown = (event) => {
|
|
45
|
+
if (event.key === "Escape") {
|
|
46
|
+
event.preventDefault();
|
|
47
|
+
setIsExpanded(false);
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
document.addEventListener("keydown", handleKeyDown);
|
|
51
|
+
return () => document.removeEventListener("keydown", handleKeyDown);
|
|
52
|
+
}, [isExpanded]);
|
|
53
|
+
return (jsx(IDSHeaderIneraAdminNavItemBase, { ...props, client: true, expanded: isExpanded, unresponsive: headerContext?.unresponsive, componentRef: componentRef, menuRef: menuRef, onToggleItem: () => setIsExpanded((prev) => !prev) }));
|
|
54
|
+
}
|
|
45
55
|
|
|
46
56
|
export { IDSHeaderIneraAdminNavItem };
|
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
export interface IDSHeaderIneraAdminNavProps {
|
|
4
|
-
srText?: string;
|
|
5
|
-
children?: React.ReactNode;
|
|
1
|
+
import { HTMLAttributes } from "react";
|
|
2
|
+
interface IDSHeaderIneraAdminNavProps extends HTMLAttributes<HTMLElement> {
|
|
6
3
|
}
|
|
7
|
-
export declare function IDSHeaderIneraAdminNav({
|
|
4
|
+
export declare function IDSHeaderIneraAdminNav({ children, ...props }: IDSHeaderIneraAdminNavProps): import("react/jsx-runtime").JSX.Element;
|
|
5
|
+
export {};
|
|
@@ -1,14 +1,11 @@
|
|
|
1
|
+
"use client";
|
|
1
2
|
import { jsx } from 'react/jsx-runtime';
|
|
2
|
-
import
|
|
3
|
+
import { IDSHeaderIneraAdminNavBase } from './header-inera-admin-nav-base.js';
|
|
3
4
|
import { useHeaderContext } from '../utils/contexts/HeaderContext.js';
|
|
4
|
-
import '@inera/ids-design/components/header-inera-admin/header-inera-admin-nav.css';
|
|
5
5
|
|
|
6
|
-
function IDSHeaderIneraAdminNav({
|
|
7
|
-
const headerContext = useHeaderContext();
|
|
8
|
-
|
|
9
|
-
"ids-header-inera-admin-nav--unresponsive": headerContext?.unresponsive
|
|
10
|
-
});
|
|
11
|
-
return (jsx("nav", { className: classNames, "aria-label": srText, ...props, children: jsx("div", { className: "ids-header-inera-admin-nav__nav-items", children: children }) }));
|
|
6
|
+
function IDSHeaderIneraAdminNav({ children, ...props }) {
|
|
7
|
+
const headerContext = useHeaderContext() || { unresponsive: false };
|
|
8
|
+
return (jsx(IDSHeaderIneraAdminNavBase, { ...props, unresponsive: headerContext.unresponsive, children: children }));
|
|
12
9
|
}
|
|
13
10
|
|
|
14
11
|
export { IDSHeaderIneraAdminNav };
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import React, { ReactNode } from "react";
|
|
2
|
-
import "@inera/ids-design/components/header-inera-admin/header-inera-admin.css";
|
|
3
2
|
export interface IDSHeaderIneraAdminProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
4
3
|
brandText?: string;
|
|
5
4
|
serviceName?: string;
|
|
@@ -8,9 +7,9 @@ export interface IDSHeaderIneraAdminProps extends React.HTMLAttributes<HTMLDivEl
|
|
|
8
7
|
showLogo?: boolean;
|
|
9
8
|
items?: ReactNode;
|
|
10
9
|
avatar?: ReactNode;
|
|
11
|
-
|
|
10
|
+
skipToContentLink?: ReactNode;
|
|
12
11
|
brandLink?: ReactNode;
|
|
13
12
|
mobileMenu?: ReactNode;
|
|
14
|
-
|
|
13
|
+
hideAvatar?: boolean;
|
|
15
14
|
}
|
|
16
|
-
export declare function IDSHeaderIneraAdmin({
|
|
15
|
+
export declare function IDSHeaderIneraAdmin({ unresponsive, hideAvatar, children, ...props }: IDSHeaderIneraAdminProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,21 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
3
|
-
import clsx from 'clsx';
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx } from 'react/jsx-runtime';
|
|
4
3
|
import { HeaderProvider } from '../utils/contexts/HeaderContext.js';
|
|
5
|
-
import '
|
|
4
|
+
import { IDSHeaderIneraAdminBase } from './header-inera-admin-base.js';
|
|
6
5
|
|
|
7
|
-
function IDSHeaderIneraAdmin({
|
|
8
|
-
|
|
9
|
-
if (brandLink && isValidElement(brandLink)) {
|
|
10
|
-
return (jsx("span", { className: "ids-header-inera-admin__brand-link", children: cloneElement(brandLink, {
|
|
11
|
-
...brandLink.props
|
|
12
|
-
}) }));
|
|
13
|
-
}
|
|
14
|
-
return null;
|
|
15
|
-
};
|
|
16
|
-
return (jsx(HeaderProvider, { value: { unresponsive, hideRegionPicker: true }, children: jsxs("header", { className: clsx("ids-header-inera-admin", {
|
|
17
|
-
"ids-header-inera-admin--unresponsive": unresponsive
|
|
18
|
-
}, className), ...props, children: [skipToContent && jsx("div", { className: "ids-header-inera-admin__skip-to-content", children: skipToContent }), jsxs("div", { className: "ids-header-inera-admin__inner", children: [jsxs("div", { className: "ids-header-inera-admin__main", children: [jsx("div", { className: "ids-header-inera-admin__service-wrapper", children: jsxs("div", { className: "ids-header-inera-admin__brand", children: [showLogo && jsx("div", { className: "ids-header-inera-admin__logo", role: "img", "aria-label": srLogoText }), jsxs("div", { className: "ids-header-inera-admin__brand-inner", children: [renderBrandText(), jsx("h1", { className: "ids-header-inera-admin__brand-text", children: brandText }), jsx("h2", { className: "ids-header-inera-admin__service-name", children: serviceName })] })] }) }), jsxs("div", { className: "ids-header-inera-admin__items", children: [items, " ", avatar, " ", mobileMenu && jsx("div", { className: "ids-header-inera-admin__mobile-menu", children: mobileMenu })] })] }), children] })] }) }));
|
|
6
|
+
function IDSHeaderIneraAdmin({ unresponsive = false, hideAvatar = false, children, ...props }) {
|
|
7
|
+
return (jsx(HeaderProvider, { value: { unresponsive, hideAvatar, hideRegionPicker: true }, children: jsx(IDSHeaderIneraAdminBase, { ...props, unresponsive: unresponsive, children: children }) }));
|
|
19
8
|
}
|
|
20
9
|
|
|
21
10
|
export { IDSHeaderIneraAdmin };
|
|
@@ -1,13 +1,11 @@
|
|
|
1
|
-
import React, { ReactNode } from "react";
|
|
2
1
|
import "@inera/ids-design/components/header-patient/header-patient.css";
|
|
3
2
|
interface IDSHeaderPatientProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
4
|
-
buttons?: ReactNode;
|
|
3
|
+
buttons?: React.ReactNode;
|
|
5
4
|
collapse?: boolean;
|
|
6
5
|
name?: string;
|
|
7
6
|
srLabel?: string;
|
|
8
7
|
ssn?: string;
|
|
9
8
|
stack?: boolean;
|
|
10
|
-
children?: ReactNode;
|
|
11
9
|
}
|
|
12
|
-
export declare
|
|
10
|
+
export declare function IDSHeaderPatient({ srLabel, name, ssn, collapse, stack, buttons, className, children, ...props }: IDSHeaderPatientProps): import("react/jsx-runtime").JSX.Element;
|
|
13
11
|
export {};
|
|
@@ -1,21 +1,17 @@
|
|
|
1
|
-
"use client";
|
|
2
1
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
3
|
-
import { useMemo } from 'react';
|
|
4
|
-
import '@inera/ids-design/components/header-patient/header-patient.css';
|
|
5
2
|
import { clsx } from 'clsx';
|
|
3
|
+
import '@inera/ids-design/components/header-patient/header-patient.css';
|
|
6
4
|
|
|
7
|
-
|
|
8
|
-
const
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
return whitespaceCount > 2 && trimmed.length > 20;
|
|
12
|
-
}, [name]);
|
|
5
|
+
function IDSHeaderPatient({ srLabel = "", name = "", ssn = "", collapse = false, stack = false, buttons, className, children, ...props }) {
|
|
6
|
+
const trimmed = name.trim();
|
|
7
|
+
const whitespaceCount = (trimmed.match(/\s/g) || []).length;
|
|
8
|
+
const isLong = whitespaceCount > 2 && trimmed.length > 20;
|
|
13
9
|
const classNames = clsx("ids-header-patient", {
|
|
14
10
|
"ids-header-patient--stack": stack,
|
|
15
11
|
"ids-header-patient--collapse": collapse,
|
|
16
12
|
"ids-header-patient--long-name": isLong
|
|
17
13
|
}, className);
|
|
18
14
|
return (jsx("section", { className: classNames, "aria-label": srLabel, ...props, children: jsxs("div", { className: "ids-patient-header__inner", children: [jsxs("div", { className: "ids-header-patient__content", children: [jsxs("div", { className: "ids-header-patient__id", children: [jsx("span", { className: "ids-header-patient__name", children: name }), jsx("span", { className: "ids-header-patient__ssn", children: ssn })] }), jsx("div", { className: "ids-header-patient__info", children: children })] }), buttons && jsx("div", { className: "ids-header-patient__buttons", children: buttons })] }) }));
|
|
19
|
-
}
|
|
15
|
+
}
|
|
20
16
|
|
|
21
17
|
export { IDSHeaderPatient };
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import React, { ReactNode } from "react";
|
|
2
|
+
import "@inera/ids-design/components/action-link/action-link.css";
|
|
3
|
+
export interface IDSActionLinkProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
4
|
+
image?: ReactNode;
|
|
5
|
+
}
|
|
6
|
+
export declare function IDSActionLink({ image, children, className, ...props }: IDSActionLinkProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
2
|
+
import clsx from 'clsx';
|
|
3
|
+
import '@inera/ids-design/components/action-link/action-link.css';
|
|
4
|
+
|
|
5
|
+
function IDSActionLink({ image, children, className, ...props }) {
|
|
6
|
+
return (jsx("div", { ...props, className: clsx("ids-action-link", className), children: jsxs("div", { className: "ids-action-link__inner", children: [jsx("div", { className: "ids-action-link__image", children: image }), children, jsx("div", { className: "ids-action-link__icon", "aria-hidden": "true" })] }) }));
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export { IDSActionLink };
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import React, { ReactNode } from "react";
|
|
2
|
+
import "@inera/ids-design/components/box-link/box-link.css";
|
|
3
|
+
export interface IDSBoxLinkProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
4
|
+
button?: ReactNode;
|
|
5
|
+
}
|
|
6
|
+
export declare function IDSBoxLink({ button, children, className, ...props }: IDSBoxLinkProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
2
|
+
import clsx from 'clsx';
|
|
3
|
+
import '@inera/ids-design/components/box-link/box-link.css';
|
|
4
|
+
|
|
5
|
+
function IDSBoxLink({ button, children, className, ...props }) {
|
|
6
|
+
return (jsx("div", { ...props, className: clsx("ids-box-link", { "ids-box-link--has-button": !!button }, className), children: jsxs("div", { className: "ids-box-link__inner", children: [jsx("span", { className: "ids-box-link__link", children: children }), !!button && jsx("div", { className: "ids-box-link__button", children: button })] }) }));
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export { IDSBoxLink };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { ReactNode, ReactElement, AnchorHTMLAttributes } from "react";
|
|
2
2
|
export type ColorPreset = 0 | 1 | 2 | 3;
|
|
3
3
|
export interface IDSLinkProps extends Omit<AnchorHTMLAttributes<HTMLAnchorElement>, "children"> {
|
|
4
4
|
colorPreset?: ColorPreset;
|
|
@@ -14,4 +14,4 @@ export interface IDSLinkProps extends Omit<AnchorHTMLAttributes<HTMLAnchorElemen
|
|
|
14
14
|
endItem?: ReactNode;
|
|
15
15
|
children?: ReactElement;
|
|
16
16
|
}
|
|
17
|
-
export declare function IDSLink({ colorPreset, menu, footer, active, activeIcon, block, underlined, noUnderline, small, focusAnchor, endItem, children, ...props }: IDSLinkProps):
|
|
17
|
+
export declare function IDSLink({ colorPreset, menu, footer, active, activeIcon, block, underlined, noUnderline, small, focusAnchor, endItem, className, children, ...props }: IDSLinkProps): ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
|
package/components/link/link.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
|
|
2
|
-
import {
|
|
2
|
+
import { cloneElement, isValidElement } from 'react';
|
|
3
3
|
import clsx from 'clsx';
|
|
4
4
|
|
|
5
5
|
const containsIcon = (node) => {
|
|
@@ -13,14 +13,7 @@ const containsIcon = (node) => {
|
|
|
13
13
|
}
|
|
14
14
|
return false;
|
|
15
15
|
};
|
|
16
|
-
function IDSLink({ colorPreset = 0, menu = false, footer = false, active = false, activeIcon = false, block = false, underlined = false, noUnderline = false, small = false, focusAnchor = false, endItem, children, ...props }) {
|
|
17
|
-
// Ensure valid child
|
|
18
|
-
if (!isValidElement(children)) {
|
|
19
|
-
if (process.env.NODE_ENV !== "production") {
|
|
20
|
-
console.error("IDSLink requires a single valid React element (e.g., <a> or <Link>) as a child.");
|
|
21
|
-
}
|
|
22
|
-
return null;
|
|
23
|
-
}
|
|
16
|
+
function IDSLink({ colorPreset = 0, menu = false, footer = false, active = false, activeIcon = false, block = false, underlined = false, noUnderline = false, small = false, focusAnchor = false, endItem, className, children, ...props }) {
|
|
24
17
|
const innerChildren = children.props.children;
|
|
25
18
|
const hasIcon = containsIcon(innerChildren);
|
|
26
19
|
const mergedClasses = clsx("ids-link", colorPreset > 0 && `ids-link--color-${colorPreset}`, {
|
|
@@ -34,7 +27,7 @@ function IDSLink({ colorPreset = 0, menu = false, footer = false, active = false
|
|
|
34
27
|
"ids-link--underlined": underlined,
|
|
35
28
|
"ids-link--no-underline": noUnderline,
|
|
36
29
|
"ids-focus-anchor": focusAnchor
|
|
37
|
-
},
|
|
30
|
+
}, className);
|
|
38
31
|
const wrappedContent = (jsxs(Fragment, { children: [innerChildren, endItem && jsx("span", { style: { marginLeft: "0.5rem" }, children: endItem })] }));
|
|
39
32
|
return cloneElement(children, {
|
|
40
33
|
...children.props,
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import "@inera/ids-design/components/list-pagination/list-pagination.css";
|
|
3
|
+
export interface IDSListPaginationLinksProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
4
|
+
showing?: string;
|
|
5
|
+
from?: number;
|
|
6
|
+
to?: number;
|
|
7
|
+
of?: string;
|
|
8
|
+
total?: number;
|
|
9
|
+
current?: number;
|
|
10
|
+
pages?: number;
|
|
11
|
+
srCurrentPage?: string;
|
|
12
|
+
srGoToPage?: string;
|
|
13
|
+
srPrevious?: string;
|
|
14
|
+
srNext?: string;
|
|
15
|
+
linkPrefix?: string;
|
|
16
|
+
prevHref?: string;
|
|
17
|
+
nextHref?: string;
|
|
18
|
+
}
|
|
19
|
+
export declare function IDSListPaginationLinks({ showing, from, to, of, total, current, pages, srCurrentPage, srGoToPage, srPrevious, srNext, linkPrefix, prevHref, nextHref, className, ...props }: IDSListPaginationLinksProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import clsx from 'clsx';
|
|
3
|
+
import '@inera/ids-design/components/list-pagination/list-pagination.css';
|
|
4
|
+
|
|
5
|
+
function IDSListPaginationLinks({ showing = "Visar", from = 0, to = 0, of = "av", total = 0, current = 1, pages = 1, srCurrentPage = "Aktuell sida", srGoToPage = "Gå till sida", srPrevious = "Föregående sida", srNext = "Nästa sida", linkPrefix, prevHref, nextHref, className, ...props }) {
|
|
6
|
+
const renderSummary = () => {
|
|
7
|
+
if (from && to && total) {
|
|
8
|
+
return jsx("div", { className: "ids-list-pagination__summary", children: `${showing} ${from} - ${to} ${of} ${total}` });
|
|
9
|
+
}
|
|
10
|
+
return null;
|
|
11
|
+
};
|
|
12
|
+
const renderPrevLink = () => {
|
|
13
|
+
if (current > 1) {
|
|
14
|
+
return jsx("a", { "aria-label": srPrevious, href: linkPrefix + (current - 1), id: "prev-link" });
|
|
15
|
+
}
|
|
16
|
+
return null;
|
|
17
|
+
};
|
|
18
|
+
const renderNextLink = () => {
|
|
19
|
+
if (current < pages) {
|
|
20
|
+
return jsx("a", { "aria-label": srNext, href: linkPrefix + (current + 1), id: "next-link" });
|
|
21
|
+
}
|
|
22
|
+
return null;
|
|
23
|
+
};
|
|
24
|
+
const renderLinks = () => {
|
|
25
|
+
const linkArray = [];
|
|
26
|
+
for (let i = 1; i <= pages; i++) {
|
|
27
|
+
const isCurrent = i === current;
|
|
28
|
+
linkArray.push(jsx("li", { className: clsx("ids-list-pagination__list-item", {
|
|
29
|
+
"ids-list-pagination__list-item--current": isCurrent
|
|
30
|
+
}), hidden: pages > 7 &&
|
|
31
|
+
![
|
|
32
|
+
1,
|
|
33
|
+
pages,
|
|
34
|
+
current - 1,
|
|
35
|
+
current,
|
|
36
|
+
current + 1,
|
|
37
|
+
...(current < 4 ? [2, 3, 4] : []),
|
|
38
|
+
...(current > pages - 3 ? [pages - 1, pages - 2, pages - 3] : [])
|
|
39
|
+
].includes(i), "data-hidden-before": pages > 7 && i > 1 && linkArray[i - 2]?.props.hidden && !linkArray[i - 1]?.props.hidden ? true : undefined, children: jsx("a", { className: clsx("ids-list-pagination__link", {
|
|
40
|
+
"ids-list-pagination__link--current": isCurrent
|
|
41
|
+
}), "aria-disabled": isCurrent, "aria-label": isCurrent ? srCurrentPage : `${srGoToPage} ${i}`, href: linkPrefix + i, children: i }) }, i));
|
|
42
|
+
}
|
|
43
|
+
return (jsx("nav", { children: jsx("ul", { className: "ids-list-pagination__list", children: linkArray }) }));
|
|
44
|
+
};
|
|
45
|
+
return (jsxs("div", { className: clsx("ids-list-pagination", className), ...props, children: [renderSummary(), jsxs("div", { className: "ids-list-pagination__content", children: [jsx("div", { className: "ids-list-pagination__prev-link", children: renderPrevLink() }), jsx("div", { className: "ids-list-pagination__nav-links", children: renderLinks() }), jsx("div", { className: "ids-list-pagination__next-link", children: renderNextLink() })] })] }));
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
export { IDSListPaginationLinks };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import "@inera/ids-design/components/
|
|
2
|
+
import "@inera/ids-design/components/list-pagination/list-pagination.css";
|
|
3
3
|
export interface IDSListPaginationProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
4
4
|
showing?: string;
|
|
5
5
|
from?: number;
|
|
@@ -12,8 +12,9 @@ export interface IDSListPaginationProps extends React.HTMLAttributes<HTMLDivElem
|
|
|
12
12
|
srGoToPage?: string;
|
|
13
13
|
srPrevious?: string;
|
|
14
14
|
srNext?: string;
|
|
15
|
+
srNav?: string;
|
|
15
16
|
onChangePage?: (page: number) => void;
|
|
16
17
|
onPrevPage?: (page: number) => void;
|
|
17
18
|
onNextPage?: (page: number) => void;
|
|
18
19
|
}
|
|
19
|
-
export declare function IDSListPagination({ showing, from, to, of, total, current, pages, srCurrentPage, srGoToPage, srPrevious, srNext, onChangePage, onPrevPage, onNextPage, className, ...props }: IDSListPaginationProps): import("react/jsx-runtime").JSX.Element;
|
|
20
|
+
export declare function IDSListPagination({ showing, from, to, of, total, current, pages, srCurrentPage, srGoToPage, srPrevious, srNext, srNav, onChangePage, onPrevPage, onNextPage, className, ...props }: IDSListPaginationProps): import("react/jsx-runtime").JSX.Element;
|