@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,18 @@
|
|
|
1
|
+
import { HTMLAttributes, ReactNode } from "react";
|
|
2
|
+
import "@inera/ids-design/components/accordion/accordion.css";
|
|
3
|
+
interface IDSAccordionBaseProps extends HTMLAttributes<HTMLDivElement> {
|
|
4
|
+
headline: ReactNode;
|
|
5
|
+
expanded?: boolean;
|
|
6
|
+
level?: 1 | 2;
|
|
7
|
+
headlineSize?: "m" | "s" | "xs";
|
|
8
|
+
lean?: boolean;
|
|
9
|
+
noBorder?: boolean;
|
|
10
|
+
children?: ReactNode;
|
|
11
|
+
onToggleAccordion?: () => void;
|
|
12
|
+
client?: boolean;
|
|
13
|
+
}
|
|
14
|
+
export declare function IDSAccordionBase({ headline, expanded, level, headlineSize, lean, noBorder, onToggleAccordion, client, children, className, ...props }: IDSAccordionBaseProps): import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
export declare namespace IDSAccordionBase {
|
|
16
|
+
var displayName: string;
|
|
17
|
+
}
|
|
18
|
+
export {};
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import clsx from 'clsx';
|
|
3
|
+
import React, { useId } from 'react';
|
|
4
|
+
import '@inera/ids-design/components/accordion/accordion.css';
|
|
5
|
+
|
|
6
|
+
function IDSAccordionBase({ headline, expanded = false, level = 1, headlineSize = "m", lean = false, noBorder, onToggleAccordion, client = false, children, className, ...props }) {
|
|
7
|
+
const contentId = `accordion-content-${useId()}`;
|
|
8
|
+
const hasChildren = !!React.Children.toArray(children).length;
|
|
9
|
+
const handleKeyDown = (e) => {
|
|
10
|
+
if (!onToggleAccordion)
|
|
11
|
+
return;
|
|
12
|
+
if (e.key === "Enter" || e.key === " ") {
|
|
13
|
+
e.preventDefault();
|
|
14
|
+
onToggleAccordion();
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
const toggleHandlers = client && onToggleAccordion
|
|
18
|
+
? {
|
|
19
|
+
onClick: onToggleAccordion,
|
|
20
|
+
onKeyDown: handleKeyDown
|
|
21
|
+
}
|
|
22
|
+
: {};
|
|
23
|
+
return (jsxs("div", { ...props, className: clsx("ids-accordion", {
|
|
24
|
+
"ids-accordion--expanded": expanded,
|
|
25
|
+
"ids-accordion--no-border": noBorder,
|
|
26
|
+
"ids-accordion--lean": lean,
|
|
27
|
+
"ids-accordion--has-children": !!hasChildren,
|
|
28
|
+
"ids-accordion--is-child": level === 2
|
|
29
|
+
}, className), children: [jsx("div", { className: clsx("ids-accordion__button", `ids-accordion__button--${headlineSize}`), role: "button", tabIndex: 0, "aria-expanded": expanded, "aria-controls": contentId, ...toggleHandlers, children: jsx("div", { className: clsx("ids-accordion__headline", `ids-accordion__headline-${level}`, `ids-accordion__headline--${headlineSize}`, expanded && "ids-accordion__headline--expanded"), children: headline }) }), jsx("div", { "aria-hidden": !expanded, id: contentId, className: "ids-accordion__content", children: children })] }));
|
|
30
|
+
}
|
|
31
|
+
IDSAccordionBase.displayName = "IDSAccordionBase";
|
|
32
|
+
|
|
33
|
+
export { IDSAccordionBase };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React, { ReactNode } from "react";
|
|
2
|
-
import "@inera/ids-design/components/accordion/accordion.css";
|
|
3
2
|
interface IDSAccordionProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
4
3
|
headline: ReactNode;
|
|
4
|
+
accordions?: ReactNode;
|
|
5
5
|
headlineSize?: "m" | "s" | "xs";
|
|
6
6
|
level?: 1 | 2;
|
|
7
7
|
expanded?: boolean;
|
|
@@ -9,8 +9,9 @@ interface IDSAccordionProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
|
9
9
|
noBorder?: boolean;
|
|
10
10
|
onCollapsed?: () => void;
|
|
11
11
|
onExpanded?: () => void;
|
|
12
|
-
accordions?: ReactNode;
|
|
13
|
-
children?: ReactNode;
|
|
14
12
|
}
|
|
15
|
-
export declare
|
|
13
|
+
export declare function IDSAccordion({ headline, accordions, level, headlineSize, expanded, lean, noBorder, onCollapsed, onExpanded, children, className, ...props }: IDSAccordionProps): import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
export declare namespace IDSAccordion {
|
|
15
|
+
var displayName: string;
|
|
16
|
+
}
|
|
16
17
|
export {};
|
|
@@ -1,45 +1,26 @@
|
|
|
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 '@inera/ids-design/components/accordion/accordion.css';
|
|
6
|
-
import { useElementId } from '../utils/hooks/useElementId.js';
|
|
4
|
+
import { IDSAccordionBase } from './accordion-base.js';
|
|
7
5
|
|
|
8
|
-
|
|
6
|
+
function IDSAccordion({ headline, accordions, level = 1, headlineSize = level === 2 ? "s" : "m", expanded = false, lean = false, noBorder = false, onCollapsed, onExpanded, children, className, ...props }) {
|
|
9
7
|
const [isExpanded, setIsExpanded] = useState(expanded);
|
|
10
|
-
const
|
|
8
|
+
const [isLean, setIsLean] = useState(lean);
|
|
11
9
|
const accordionRef = useRef(null);
|
|
12
10
|
useEffect(() => {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
const toggleExpansion = () => {
|
|
16
|
-
setIsExpanded(prev => !prev);
|
|
17
|
-
if (isExpanded) {
|
|
18
|
-
if (onCollapsed) {
|
|
19
|
-
onCollapsed();
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
else {
|
|
23
|
-
if (onExpanded) {
|
|
24
|
-
onExpanded();
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
};
|
|
28
|
-
const onKeyPress = (e) => {
|
|
29
|
-
if (e.key === " " || e.key === "Enter") {
|
|
30
|
-
e.preventDefault();
|
|
31
|
-
toggleExpansion();
|
|
11
|
+
if (level === 1 && accordionRef.current?.closest(".ids-card") && !accordions) {
|
|
12
|
+
setIsLean(true);
|
|
32
13
|
}
|
|
14
|
+
}, [level]);
|
|
15
|
+
const toggleExpanded = () => {
|
|
16
|
+
setIsExpanded(prev => !prev);
|
|
17
|
+
if (isExpanded)
|
|
18
|
+
onCollapsed?.();
|
|
19
|
+
else
|
|
20
|
+
onExpanded?.();
|
|
33
21
|
};
|
|
34
|
-
return (
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
"ids-accordion--lean": lean,
|
|
38
|
-
"ids-accordion--has-children": !!accordions,
|
|
39
|
-
"ids-accordion--is-child": level === 2
|
|
40
|
-
}, className), ...props, children: [jsx("div", { className: `ids-accordion__button ids-accordion__button--${headlineSize}`, role: "button", tabIndex: 0, onClick: toggleExpansion, onKeyDown: onKeyPress, "aria-expanded": isExpanded, "aria-controls": contentId, children: jsx("div", { className: clsx("ids-accordion__headline", `ids-accordion__headline-${level}`, `ids-accordion__headline--${headlineSize}`, {
|
|
41
|
-
"ids-accordion__headline--expanded": isExpanded
|
|
42
|
-
}), children: headline }) }), jsxs("div", { "aria-hidden": !isExpanded, id: contentId, className: "ids-accordion__content", children: [children, accordions && accordions] })] }));
|
|
43
|
-
};
|
|
22
|
+
return (jsx("div", { ref: accordionRef, children: jsx(IDSAccordionBase, { ...props, client: true, headline: headline, level: level, headlineSize: headlineSize, expanded: isExpanded, lean: isLean, noBorder: noBorder, className: className, onToggleAccordion: toggleExpanded, children: children }) }));
|
|
23
|
+
}
|
|
24
|
+
IDSAccordion.displayName = "IDSAccordion";
|
|
44
25
|
|
|
45
26
|
export { IDSAccordion };
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import React, { ReactNode } from "react";
|
|
2
|
+
import "@inera/ids-design/components/alert/alert.css";
|
|
3
|
+
export interface IDSAlertBaseProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
4
|
+
collapsible?: boolean;
|
|
5
|
+
ribbon?: boolean;
|
|
6
|
+
collapsed?: boolean;
|
|
7
|
+
dismissible?: boolean;
|
|
8
|
+
headline?: ReactNode;
|
|
9
|
+
collapsableHeadline?: string;
|
|
10
|
+
compact?: boolean;
|
|
11
|
+
type?: "info" | "attention" | "success" | "error";
|
|
12
|
+
srCloseText?: string;
|
|
13
|
+
srCollapseText?: string;
|
|
14
|
+
srExpandText?: string;
|
|
15
|
+
noRole?: boolean;
|
|
16
|
+
children?: ReactNode;
|
|
17
|
+
onClose?: () => void;
|
|
18
|
+
onToggleCollapse?: () => void;
|
|
19
|
+
client?: boolean;
|
|
20
|
+
}
|
|
21
|
+
export declare function IDSAlertBase({ collapsible, ribbon, collapsed, dismissible, headline, collapsableHeadline, compact, type, srCloseText, srCollapseText, srExpandText, noRole, onClose, onToggleCollapse, client, children, className, ...props }: IDSAlertBaseProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
2
|
+
import { useId } from 'react';
|
|
3
|
+
import clsx from 'clsx';
|
|
4
|
+
import '@inera/ids-design/components/alert/alert.css';
|
|
5
|
+
|
|
6
|
+
function IDSAlertBase({ collapsible = false, ribbon = false, collapsed = false, dismissible = false, headline, collapsableHeadline = "", compact = false, type = "info", srCloseText = "Stäng alert", srCollapseText = "Minimera alertmeddelande", srExpandText = "Expandera alertmeddelande", noRole = false, onClose, onToggleCollapse, client = false, children, className, ...props }) {
|
|
7
|
+
const contentId = `alert-content-${useId()}`;
|
|
8
|
+
const closeHandler = client && onClose
|
|
9
|
+
? {
|
|
10
|
+
onClick: onClose
|
|
11
|
+
}
|
|
12
|
+
: {};
|
|
13
|
+
const toggleHandler = client && onToggleCollapse
|
|
14
|
+
? {
|
|
15
|
+
onClick: onToggleCollapse
|
|
16
|
+
}
|
|
17
|
+
: {};
|
|
18
|
+
return (jsx("div", { ...props, role: !noRole ? "alert" : undefined, className: clsx("ids-alert", `ids-alert--${type}`, {
|
|
19
|
+
"ids-alert--collapsible": collapsible,
|
|
20
|
+
"ids-alert--collapsed": collapsed,
|
|
21
|
+
"ids-alert--ribbon": ribbon,
|
|
22
|
+
"ids-alert--compact": compact,
|
|
23
|
+
"ids-alert--dismissible": dismissible,
|
|
24
|
+
}, className), children: compact || ribbon ? (jsxs(Fragment, { children: [jsxs("div", { className: "ids-alert__content", children: [jsx("span", { className: "ids-alert__content-icon", "aria-hidden": "true" }), jsx("span", { className: "ids-alert__content-text", children: children })] }), dismissible && jsx("button", { className: "ids-alert__close", ...closeHandler, "aria-label": srCloseText })] })) : (jsxs(Fragment, { children: [jsxs("div", { className: "ids-alert__header", children: [collapsible && !compact && !ribbon && (jsx("button", { className: clsx("ids-alert__expand-button", {
|
|
25
|
+
"ids-alert__expand-button--expanded": !collapsed
|
|
26
|
+
}), ...toggleHandler, "aria-controls": contentId, "aria-expanded": !collapsed, children: jsxs("div", { className: "ids-alert__icon_and_text", children: [jsx("span", { className: "ids-alert__state-icon", "aria-hidden": "true" }), jsx("div", { className: "ids-alert__headline", children: collapsableHeadline }), jsx("span", { className: "ids-alert__sr-only", children: collapsed ? srExpandText : srCollapseText })] }) })), !collapsible && (jsxs("div", { className: "ids-alert__icon_and_text", children: [jsx("span", { className: "ids-alert__state-icon", "aria-hidden": "true" }), jsx("div", { className: "ids-alert__headline", children: headline })] })), dismissible && !collapsible && (jsx("button", { className: "ids-alert__close", ...closeHandler, "aria-label": srCloseText }))] }), jsx("div", { id: contentId, children: !collapsed && jsx("div", { className: "ids-alert__content", children: children }) })] })) }));
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export { IDSAlertBase };
|
|
@@ -1,21 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
interface IDSAlertProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
4
|
-
collapsible?: boolean;
|
|
5
|
-
ribbon?: boolean;
|
|
6
|
-
collapsed?: boolean;
|
|
7
|
-
dismissible?: boolean;
|
|
8
|
-
headline?: ReactNode;
|
|
9
|
-
collapsableHeadline?: string;
|
|
10
|
-
compact?: boolean;
|
|
11
|
-
type?: "info" | "attention" | "success" | "error";
|
|
12
|
-
srCloseText?: string;
|
|
13
|
-
srCollapseText?: string;
|
|
14
|
-
srExpandText?: string;
|
|
15
|
-
noRole?: boolean;
|
|
16
|
-
children?: ReactNode;
|
|
17
|
-
onClose?: () => void;
|
|
1
|
+
import { IDSAlertBaseProps } from "./alert-base";
|
|
2
|
+
export interface IDSAlertProps extends Omit<IDSAlertBaseProps, "contentId" | "onToggleCollapse"> {
|
|
18
3
|
onCollapsedChange?: (isCollapsed: boolean) => void;
|
|
19
4
|
}
|
|
20
|
-
export declare
|
|
21
|
-
export {};
|
|
5
|
+
export declare function IDSAlert({ collapsed, onCollapsedChange, onClose, children, className, ...props }: IDSAlertProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,32 +1,22 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { jsx
|
|
2
|
+
import { jsx } from 'react/jsx-runtime';
|
|
3
3
|
import { useState, useEffect } from 'react';
|
|
4
|
-
import '
|
|
5
|
-
import clsx from 'clsx';
|
|
6
|
-
import { useElementId } from '../utils/hooks/useElementId.js';
|
|
4
|
+
import { IDSAlertBase } from './alert-base.js';
|
|
7
5
|
|
|
8
|
-
|
|
9
|
-
const contentId = useElementId();
|
|
6
|
+
function IDSAlert({ collapsed = false, onCollapsedChange, onClose, children, className, ...props }) {
|
|
10
7
|
const [isCollapsed, setIsCollapsed] = useState(collapsed);
|
|
11
8
|
useEffect(() => {
|
|
12
9
|
setIsCollapsed(collapsed);
|
|
13
10
|
}, [collapsed]);
|
|
14
11
|
const handleToggleCollapse = () => {
|
|
15
|
-
const
|
|
16
|
-
setIsCollapsed(
|
|
17
|
-
onCollapsedChange?.(
|
|
12
|
+
const newState = !isCollapsed;
|
|
13
|
+
setIsCollapsed(newState);
|
|
14
|
+
onCollapsedChange?.(newState);
|
|
18
15
|
};
|
|
19
16
|
const handleClose = () => {
|
|
20
17
|
onClose?.();
|
|
21
18
|
};
|
|
22
|
-
return (jsx(
|
|
23
|
-
|
|
24
|
-
"ids-alert--collapsed": isCollapsed,
|
|
25
|
-
"ids-alert--ribbon": ribbon,
|
|
26
|
-
"ids-alert--compact": compact
|
|
27
|
-
}, className), ...props, children: compact || ribbon ? (jsxs(Fragment, { children: [jsxs("div", { className: "ids-alert__content", children: [jsx("span", { className: "ids-alert__content-icon", "aria-hidden": "true" }), jsx("span", { className: "ids-alert__content-text", children: children })] }), dismissible && jsx("button", { className: "ids-alert__close", onClick: handleClose, "aria-label": srCloseText })] })) : (jsxs(Fragment, { children: [jsxs("div", { className: "ids-alert__header", children: [collapsible && !compact && !ribbon && (jsx(Fragment, { children: jsx("button", { className: clsx("ids-alert__expand-button", {
|
|
28
|
-
"ids-alert__expand-button--expanded": !isCollapsed
|
|
29
|
-
}), onClick: handleToggleCollapse, "aria-controls": contentId, "aria-expanded": !isCollapsed, children: jsxs("div", { className: "ids-alert__icon_and_text", children: [jsx("span", { className: "ids-alert__state-icon", "aria-hidden": "true" }), jsx("div", { className: "ids-alert__headline", children: collapsableHeadline }), jsx("span", { className: "ids-alert__sr-only", children: isCollapsed ? srExpandText : srCollapseText })] }) }) })), !collapsible && (jsxs("div", { className: "ids-alert__icon_and_text", children: [jsx("span", { className: "ids-alert__state-icon", "aria-hidden": "true" }), jsx("div", { className: "ids-alert__headline", children: headline })] })), dismissible && !collapsible && (jsx("button", { className: "ids-alert__close", onClick: handleClose, "aria-label": srCloseText }))] }), jsx("div", { id: contentId, children: !isCollapsed && jsx("div", { className: "ids-alert__content", children: children }) })] })) }));
|
|
30
|
-
};
|
|
19
|
+
return (jsx(IDSAlertBase, { ...props, client: true, collapsed: isCollapsed, onToggleCollapse: handleToggleCollapse, onClose: handleClose, children: children }));
|
|
20
|
+
}
|
|
31
21
|
|
|
32
22
|
export { IDSAlert };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import React, { ReactNode } from "react";
|
|
2
|
+
import "@inera/ids-design/components/global-alert/global-alert.css";
|
|
3
|
+
export interface IDSGlobalAlertBaseProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
4
|
+
agent?: boolean;
|
|
5
|
+
srExpandText?: string;
|
|
6
|
+
srCollapseText?: string;
|
|
7
|
+
collapsed?: boolean;
|
|
8
|
+
noRole?: boolean;
|
|
9
|
+
headline: string;
|
|
10
|
+
actions?: ReactNode;
|
|
11
|
+
children?: ReactNode;
|
|
12
|
+
onToggle?: () => void;
|
|
13
|
+
client?: boolean;
|
|
14
|
+
}
|
|
15
|
+
export declare function IDSGlobalAlertBase({ agent, srExpandText, srCollapseText, collapsed, noRole, headline, actions, children, className, onToggle, client, ...props }: IDSGlobalAlertBaseProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
2
|
+
import { useId } from 'react';
|
|
3
|
+
import clsx from 'clsx';
|
|
4
|
+
import '@inera/ids-design/components/global-alert/global-alert.css';
|
|
5
|
+
|
|
6
|
+
function IDSGlobalAlertBase({ agent = false, srExpandText = "Visa meddelande", srCollapseText = "Dölj meddelande", collapsed = false, noRole = false, headline, actions, children, className, onToggle, client = false, ...props }) {
|
|
7
|
+
const contentId = `alert-global-content-${useId()}`;
|
|
8
|
+
const toggleHandler = client && onToggle
|
|
9
|
+
? {
|
|
10
|
+
onClick: onToggle
|
|
11
|
+
}
|
|
12
|
+
: {};
|
|
13
|
+
return (jsx("div", { role: noRole ? undefined : "alert", className: clsx("ids-global-alert", {
|
|
14
|
+
"ids-global-alert--collapsed": collapsed,
|
|
15
|
+
"ids-global-alert--agent": agent
|
|
16
|
+
}, className), ...props, children: jsxs("div", { className: "ids-global-alert__inner", children: [jsx("div", { className: "ids-global-alert__header", children: jsx("button", { className: clsx("ids-global-alert__button", {
|
|
17
|
+
"ids-global-alert__button--expanded": !collapsed
|
|
18
|
+
}), "aria-controls": contentId, "aria-expanded": !collapsed, ...toggleHandler, children: jsxs("div", { className: "ids-global-alert__icon-headline", children: [jsx("div", { className: "ids-global-alert__headline", children: headline }), jsx("span", { className: "ids-global-alert__sr-only", children: collapsed ? srExpandText : srCollapseText })] }) }) }), jsxs("div", { id: contentId, className: "ids-global-alert__content", children: [children, actions && jsx("div", { className: "ids-global-alert__sub-content", children: actions })] })] }) }));
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export { IDSGlobalAlertBase };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { IDSGlobalAlertBase } from "./global-alert-base";
|
|
3
|
+
interface IDSGlobalAlertProps extends Omit<React.ComponentProps<typeof IDSGlobalAlertBase>, "onToggle" | "contentId"> {
|
|
4
|
+
onCollapsedChange?: (isCollapsed: boolean) => void;
|
|
5
|
+
}
|
|
6
|
+
export declare function IDSGlobalAlert({ collapsed, onCollapsedChange, ...props }: IDSGlobalAlertProps): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export {};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx } from 'react/jsx-runtime';
|
|
3
|
+
import { useState, useEffect } from 'react';
|
|
4
|
+
import { IDSGlobalAlertBase } from './global-alert-base.js';
|
|
5
|
+
|
|
6
|
+
function IDSGlobalAlert({ collapsed = false, onCollapsedChange, ...props }) {
|
|
7
|
+
const [isCollapsed, setIsCollapsed] = useState(collapsed);
|
|
8
|
+
useEffect(() => {
|
|
9
|
+
setIsCollapsed(collapsed);
|
|
10
|
+
}, [collapsed]);
|
|
11
|
+
const handleToggleCollapse = () => {
|
|
12
|
+
const newState = !isCollapsed;
|
|
13
|
+
setIsCollapsed(newState);
|
|
14
|
+
onCollapsedChange?.(newState);
|
|
15
|
+
};
|
|
16
|
+
return jsx(IDSGlobalAlertBase, { ...props, client: true, collapsed: isCollapsed, onToggle: handleToggleCollapse });
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export { IDSGlobalAlert };
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
2
|
-
import '@inera/ids-design/components/badge/badge.css';
|
|
3
2
|
import clsx from 'clsx';
|
|
3
|
+
import '@inera/ids-design/components/badge/badge.css';
|
|
4
4
|
|
|
5
5
|
function IDSBadge({ type = "primary", icon, children, className, ...props }) {
|
|
6
|
-
return (jsx("div", { className: clsx(`ids-badge ids-badge--${type}`, className),
|
|
6
|
+
return (jsx("div", { ...props, className: clsx(`ids-badge ids-badge--${type}`, className), children: jsxs("div", { className: "ids-badge__inner", children: [icon && jsx("span", { className: `ids-icon-${icon}`, "aria-hidden": "true" }), icon && children && jsx("span", { className: "ids-badge__icon" }), children] }) }));
|
|
7
7
|
}
|
|
8
8
|
|
|
9
9
|
export { IDSBadge };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
2
|
import React from 'react';
|
|
3
|
-
import '@inera/ids-design/components/breadcrumbs/breadcrumbs.css';
|
|
4
3
|
import clsx from 'clsx';
|
|
4
|
+
import '@inera/ids-design/components/breadcrumbs/breadcrumbs.css';
|
|
5
5
|
|
|
6
6
|
function IDSBreadcrumbs({ lead = "Du är här", mobileLink, children, className, ...props }) {
|
|
7
7
|
const getMobileLink = () => {
|
|
@@ -24,7 +24,7 @@ function IDSBreadcrumbs({ lead = "Du är här", mobileLink, children, className,
|
|
|
24
24
|
}
|
|
25
25
|
});
|
|
26
26
|
};
|
|
27
|
-
return (jsxs("nav", { className: clsx("ids-breadcrumbs", className), "aria-label": lead,
|
|
27
|
+
return (jsxs("nav", { ...props, className: clsx("ids-breadcrumbs", className), "aria-label": lead, children: [jsxs("ol", { className: "ids-breadcrumbs__desktop", children: [jsx("li", { className: "ids-breadcrumbs__lead", children: lead }), getLinks()] }), jsx("ol", { className: "ids-breadcrumbs__mobile", children: jsxs("li", { className: "ids-breadcrumbs__mobile-links", children: [jsx("span", { className: "ids-breadcrumbs__icon" }), getMobileLink()] }) })] }));
|
|
28
28
|
}
|
|
29
29
|
|
|
30
30
|
export { IDSBreadcrumbs };
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { jsx } from 'react/jsx-runtime';
|
|
2
|
-
import '@inera/ids-design/components/button-group/button-group.css';
|
|
3
2
|
import clsx from 'clsx';
|
|
3
|
+
import '@inera/ids-design/components/button-group/button-group.css';
|
|
4
4
|
|
|
5
5
|
function IDSButtonGroup({ rtl = false, justify = "start", unresponsive = false, break: breakpoint = "m", children, className, ...props }) {
|
|
6
6
|
const classNames = clsx("ids-button-group", `ids-button-group--break-${breakpoint}`, `ids-button-group--${justify}`, {
|
|
7
7
|
"ids-button-group--rtl": rtl,
|
|
8
8
|
"ids-button-group--unresponsive": unresponsive
|
|
9
9
|
}, className);
|
|
10
|
-
return (jsx("div", { className: classNames,
|
|
10
|
+
return (jsx("div", { ...props, className: classNames, children: children }));
|
|
11
11
|
}
|
|
12
12
|
|
|
13
13
|
export { IDSButtonGroup };
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
"use client";
|
|
2
1
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
3
2
|
import clsx from 'clsx';
|
|
4
3
|
import { forwardRef } from 'react';
|
|
4
|
+
import { IDSSpinner } from '../form/spinner/spinner.js';
|
|
5
5
|
|
|
6
6
|
const IDSButton = forwardRef(({ active = false, block = false, disabled = false, fab = false, iconButton = false, icon = "", mBlock = false, sBlock = false, loading = false, tertiary = false, secondary = false, size = "m", submit = false, toggle = false, focusAnchor = false, children, className, ...props }, ref) => {
|
|
7
|
-
const classNames = clsx("ids-button", size && `ids-button--${size}`, {
|
|
7
|
+
const classNames = clsx("ids-button", !!size && `ids-button--${size}`, {
|
|
8
8
|
"ids-button--m-block": mBlock,
|
|
9
9
|
"ids-button--s-block": sBlock,
|
|
10
10
|
"ids-button--active": active,
|
|
@@ -18,7 +18,7 @@ const IDSButton = forwardRef(({ active = false, block = false, disabled = false,
|
|
|
18
18
|
"ids-button--loading": loading,
|
|
19
19
|
"ids-focus-anchor": focusAnchor
|
|
20
20
|
}, className);
|
|
21
|
-
return (jsxs("button", { ref: ref, className: classNames, "aria-disabled": disabled || loading, "aria-pressed":
|
|
21
|
+
return (jsxs("button", { ...props, ref: ref, className: classNames, "aria-disabled": disabled || loading, ...(toggle ? { "aria-pressed": active } : {}), tabIndex: !disabled && !loading ? 0 : -1, disabled: disabled, children: [icon && jsx("span", { className: `ids-icon-${icon}` }), loading && jsx(IDSSpinner, { variant: !secondary && !tertiary ? "3" : "2" }), !loading && children] }));
|
|
22
22
|
});
|
|
23
23
|
IDSButton.displayName = "IDSButton";
|
|
24
24
|
|
package/components/card/card.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
2
2
|
import { isValidElement, cloneElement } from 'react';
|
|
3
|
-
import '@inera/ids-design/components/card/card.css';
|
|
4
3
|
import clsx from 'clsx';
|
|
4
|
+
import '@inera/ids-design/components/card/card.css';
|
|
5
5
|
|
|
6
6
|
function IDSCard({ focusCard = false, fill = false, borderTop = false, lean = false, hideOnM = false, hideOnS = false, cardLink, children, className, ...props }) {
|
|
7
7
|
let enhancedCardLink = null;
|
|
@@ -14,7 +14,7 @@ function IDSCard({ focusCard = false, fill = false, borderTop = false, lean = fa
|
|
|
14
14
|
const anchorProps = cardLink;
|
|
15
15
|
enhancedCardLink = jsx("a", { ...anchorProps, className: clsx(anchorProps.className, "ids-card--interactive-link") });
|
|
16
16
|
}
|
|
17
|
-
return (jsxs("div", { className: clsx("ids-card", {
|
|
17
|
+
return (jsxs("div", { ...props, className: clsx("ids-card", {
|
|
18
18
|
"ids-card--fill": fill,
|
|
19
19
|
"ids-card--border-top": !!borderTop && !focusCard,
|
|
20
20
|
"ids-card--focus-card": !!focusCard && !borderTop,
|
|
@@ -22,7 +22,7 @@ function IDSCard({ focusCard = false, fill = false, borderTop = false, lean = fa
|
|
|
22
22
|
"ids-card--hide-on-s": hideOnS,
|
|
23
23
|
"ids-card--lean": lean,
|
|
24
24
|
"ids-card--interactive": !!cardLink
|
|
25
|
-
}, className),
|
|
25
|
+
}, className), children: [!!borderTop && !focusCard && jsx("div", { className: "ids-card__border-top" }), jsx("div", { className: "ids-card__content", children: children }), enhancedCardLink] }));
|
|
26
26
|
}
|
|
27
27
|
|
|
28
28
|
export { IDSCard };
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
|
|
3
|
-
interface IDSCarouselItemProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
2
|
+
export interface IDSCarouselItemProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
4
3
|
headline?: string;
|
|
5
4
|
step?: string;
|
|
6
5
|
description?: string;
|
|
6
|
+
activeSlide?: boolean;
|
|
7
|
+
previousSlide?: boolean;
|
|
8
|
+
nextSlide?: boolean;
|
|
7
9
|
children: React.ReactNode;
|
|
8
10
|
}
|
|
9
|
-
export declare
|
|
10
|
-
export {};
|
|
11
|
+
export declare function IDSCarouselItem({ headline, step, description, activeSlide, previousSlide, nextSlide, children, className, ...props }: IDSCarouselItemProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
1
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
3
2
|
import React from 'react';
|
|
4
|
-
import '@inera/ids-design/components/carousel/carousel-item.css';
|
|
5
3
|
import clsx from 'clsx';
|
|
6
4
|
|
|
7
|
-
|
|
5
|
+
function IDSCarouselItem({ headline, step, description, activeSlide = false, previousSlide = false, nextSlide = false, children, className, ...props }) {
|
|
8
6
|
const isImageElement = (child) => {
|
|
9
7
|
return React.isValidElement(child) && child.type === "img";
|
|
10
8
|
};
|
|
@@ -18,7 +16,11 @@ const IDSCarouselItem = ({ headline, step, description, children, className, ...
|
|
|
18
16
|
const image = findCarouselImage(childrenArray);
|
|
19
17
|
const otherContent = getNonImageContent(childrenArray);
|
|
20
18
|
const hasFooterContent = description || step;
|
|
21
|
-
return (
|
|
22
|
-
|
|
19
|
+
return (jsx("div", { ...props, className: clsx("ids-carousel-item-wrapper", {
|
|
20
|
+
active: activeSlide,
|
|
21
|
+
prev: previousSlide,
|
|
22
|
+
next: nextSlide
|
|
23
|
+
}, className), "aria-hidden": !activeSlide, inert: !activeSlide, children: jsxs("div", { className: clsx("ids-carousel-item"), children: [jsx("div", { className: "ids-carousel-item__image", children: image }), jsxs("div", { className: "ids-carousel-item__content", children: [headline && jsx("h2", { className: "ids-carousel-item__headline", children: headline }), otherContent, hasFooterContent && (jsxs("div", { className: "ids-carousel-item__footer", children: [description && jsx("div", { className: "ids-carousel-item__description", children: description }), step && (jsx("div", { className: "ids-carousel-item__step", children: jsx("div", { className: "ids-tag", children: step }) }))] }))] })] }) }));
|
|
24
|
+
}
|
|
23
25
|
|
|
24
26
|
export { IDSCarouselItem };
|
|
@@ -5,5 +5,8 @@ interface IDSCarouselProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
|
5
5
|
srPrevLabel?: string;
|
|
6
6
|
children: React.ReactNode;
|
|
7
7
|
}
|
|
8
|
-
export declare
|
|
8
|
+
export declare function IDSCarousel({ srNextLabel, srPrevLabel, className, children, ...props }: IDSCarouselProps): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export declare namespace IDSCarousel {
|
|
10
|
+
var displayName: string;
|
|
11
|
+
}
|
|
9
12
|
export {};
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import {
|
|
3
|
-
import { useState, useRef, Children, useEffect } from 'react';
|
|
4
|
-
import '@inera/ids-design/components/carousel/carousel.css';
|
|
5
|
-
import clsx from 'clsx';
|
|
2
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
3
|
+
import { useState, useRef, Children, useEffect, isValidElement, cloneElement } from 'react';
|
|
6
4
|
import { breakPoints } from '../utils/utils.js';
|
|
5
|
+
import clsx from 'clsx';
|
|
6
|
+
import '@inera/ids-design/components/carousel/carousel.css';
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
function IDSCarousel({ srNextLabel = "Nästa", srPrevLabel = "Föregående", className, children, ...props }) {
|
|
9
|
+
const [windowWidth, setWindowWidth] = useState(0);
|
|
9
10
|
const [activeSlideIndex, setActiveSlideIndex] = useState(0);
|
|
10
11
|
const [isAnimating, setIsAnimating] = useState(false);
|
|
11
12
|
const [isAnimatingLeft, setIsAnimatingLeft] = useState(false);
|
|
@@ -13,11 +14,16 @@ const IDSCarousel = ({ srNextLabel = "Nästa", srPrevLabel = "Föregående", cla
|
|
|
13
14
|
const [buttonPosition, setButtonPosition] = useState({ top: 0, height: 0 });
|
|
14
15
|
const carouselRef = useRef(null);
|
|
15
16
|
const slideCount = Children.count(children);
|
|
16
|
-
|
|
17
|
+
useEffect(() => {
|
|
18
|
+
const updateWidth = () => setWindowWidth(window.innerWidth);
|
|
19
|
+
updateWidth(); // set immediately after mount
|
|
20
|
+
window.addEventListener("resize", updateWidth);
|
|
21
|
+
return () => window.removeEventListener("resize", updateWidth);
|
|
22
|
+
}, []);
|
|
17
23
|
// Validate slide count
|
|
18
24
|
useEffect(() => {
|
|
19
25
|
if (slideCount < 3) {
|
|
20
|
-
console.warn("Carousel requires at least 3 carousel-items
|
|
26
|
+
console.warn("Carousel requires at least 3 carousel-items");
|
|
21
27
|
}
|
|
22
28
|
}, [slideCount]);
|
|
23
29
|
// Initial setup
|
|
@@ -26,10 +32,6 @@ const IDSCarousel = ({ srNextLabel = "Nästa", srPrevLabel = "Föregående", cla
|
|
|
26
32
|
setActiveSlideIndex(0);
|
|
27
33
|
}
|
|
28
34
|
}, []);
|
|
29
|
-
// Recalculate window width on resize
|
|
30
|
-
useEffect(() => {
|
|
31
|
-
windowWidth = window.innerWidth;
|
|
32
|
-
}, [windowWidth]);
|
|
33
35
|
// Resize observer
|
|
34
36
|
useEffect(() => {
|
|
35
37
|
const resizeObserver = new ResizeObserver(entries => {
|
|
@@ -93,23 +95,6 @@ const IDSCarousel = ({ srNextLabel = "Nästa", srPrevLabel = "Föregående", cla
|
|
|
93
95
|
setIsAnimatingLeft(false);
|
|
94
96
|
}, 500);
|
|
95
97
|
};
|
|
96
|
-
useEffect(() => {
|
|
97
|
-
if (!carouselRef.current)
|
|
98
|
-
return;
|
|
99
|
-
const allSlides = carouselRef.current.querySelectorAll(".ids-carousel-item-wrapper");
|
|
100
|
-
allSlides.forEach((slide, index) => {
|
|
101
|
-
const isActive = index === activeSlideIndex;
|
|
102
|
-
if (isActive) {
|
|
103
|
-
slide.removeAttribute("inert");
|
|
104
|
-
slide.setAttribute("aria-hidden", "false");
|
|
105
|
-
}
|
|
106
|
-
else {
|
|
107
|
-
slide.setAttribute("inert", "");
|
|
108
|
-
slide.setAttribute("aria-hidden", "true");
|
|
109
|
-
}
|
|
110
|
-
});
|
|
111
|
-
}, [activeSlideIndex]);
|
|
112
|
-
// Touch/swipe
|
|
113
98
|
const touchStartX = useRef(null);
|
|
114
99
|
const handleTouchStart = (e) => {
|
|
115
100
|
touchStartX.current = e.touches[0].clientX;
|
|
@@ -123,27 +108,27 @@ const IDSCarousel = ({ srNextLabel = "Nästa", srPrevLabel = "Föregående", cla
|
|
|
123
108
|
touchStartX.current = null;
|
|
124
109
|
};
|
|
125
110
|
const slides = Children.map(children, (child, index) => {
|
|
111
|
+
if (!isValidElement(child))
|
|
112
|
+
return child;
|
|
126
113
|
const isActive = index === activeSlideIndex;
|
|
127
114
|
const isPrev = index === (activeSlideIndex - 1 + slideCount) % slideCount;
|
|
128
115
|
const isNext = index === (activeSlideIndex + 1) % slideCount;
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
else if (isNext)
|
|
135
|
-
itemClass += " next";
|
|
136
|
-
return isActive ? (jsx("div", { className: itemClass, "aria-hidden": "false", children: child }, index)) : (jsx("div", { className: itemClass, "aria-hidden": "true", inert: true, children: child }, index));
|
|
116
|
+
return cloneElement(child, {
|
|
117
|
+
activeSlide: isActive,
|
|
118
|
+
previousSlide: isPrev,
|
|
119
|
+
nextSlide: isNext
|
|
120
|
+
});
|
|
137
121
|
});
|
|
138
122
|
const isMobile = windowWidth < breakPoints.medium;
|
|
139
|
-
return (jsxs("div", { className: clsx("ids-carousel", className), ref: carouselRef,
|
|
123
|
+
return (jsxs("div", { ...props, className: clsx("ids-carousel", className), ref: carouselRef, children: [jsx("button", { "aria-label": srPrevLabel, className: clsx("ids-carousel__button-prev", {
|
|
140
124
|
"ids-carousel__button-prev--mobile": isMobile
|
|
141
125
|
}), onClick: handlePrev, style: buttonPosition, children: isMobile && jsx("div", { className: "ids-carousel-btn__inner" }) }), jsx("button", { "aria-label": srNextLabel, className: clsx("ids-carousel__button-next", {
|
|
142
126
|
"ids-carousel__button-next--mobile": isMobile
|
|
143
|
-
}), onClick: handleNext, style: buttonPosition, children: isMobile && jsx("div", { className: "ids-carousel-btn__inner" }) }), jsx("div", { className: clsx("ids-carousel-content
|
|
127
|
+
}), onClick: handleNext, style: buttonPosition, children: isMobile && jsx("div", { className: "ids-carousel-btn__inner" }) }), jsx("div", { className: clsx("ids-carousel-content", {
|
|
144
128
|
"animating-left": isAnimatingLeft,
|
|
145
129
|
"animating-right": isAnimatingRight
|
|
146
130
|
}), onTouchStart: handleTouchStart, onTouchEnd: handleTouchEnd, children: jsx("div", { "aria-live": "polite", children: slides }) })] }));
|
|
147
|
-
}
|
|
131
|
+
}
|
|
132
|
+
IDSCarousel.displayName = "IDSCarousel";
|
|
148
133
|
|
|
149
134
|
export { IDSCarousel };
|
|
@@ -1,19 +1,15 @@
|
|
|
1
|
-
import React, { ReactNode
|
|
2
|
-
import "@inera/ids-design/components/
|
|
1
|
+
import React, { ReactNode } from "react";
|
|
2
|
+
import "@inera/ids-design/components/data-pagination/data-pagination.css";
|
|
3
3
|
export interface IDSDataPaginationProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
4
|
-
label?: string;
|
|
5
4
|
from: number;
|
|
6
5
|
to: number;
|
|
7
6
|
of?: string;
|
|
8
7
|
total: number | string;
|
|
9
8
|
defaultValue?: string;
|
|
10
|
-
selectId?: string;
|
|
11
9
|
light?: boolean;
|
|
12
|
-
noSelect?: boolean;
|
|
13
10
|
firstPageButton?: ReactNode;
|
|
14
11
|
previousButton?: ReactNode;
|
|
15
12
|
nextButton?: ReactNode;
|
|
16
13
|
lastPageButton?: ReactNode;
|
|
17
|
-
onSelectChange?: (event: ChangeEvent<HTMLSelectElement>) => void;
|
|
18
14
|
}
|
|
19
15
|
export declare const IDSDataPagination: React.ForwardRefExoticComponent<IDSDataPaginationProps & React.RefAttributes<HTMLSelectElement>>;
|