@ahrowe/ui 0.42.0 → 0.44.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/CHANGELOG.md +946 -0
- package/README.md +14 -12
- package/dist/cjs-types/common/accordion/accordion.types.d.ts +17 -2
- package/dist/cjs-types/common/actionButtons/actionButtons.types.d.ts +7 -1
- package/dist/cjs-types/common/actionIcon/actionIcon.d.ts +1 -1
- package/dist/cjs-types/common/actionIcon/actionIcon.types.d.ts +7 -9
- package/dist/cjs-types/common/alert/alert.types.d.ts +6 -8
- package/dist/cjs-types/common/animatedLogo/animatedLogo.types.d.ts +3 -2
- package/dist/cjs-types/common/badge/badge.types.d.ts +10 -6
- package/dist/cjs-types/common/button/button.types.d.ts +14 -4
- package/dist/cjs-types/common/calendar/calendar.types.d.ts +25 -10
- package/dist/cjs-types/common/calendar/components/agendaList/agendaList.d.ts +1 -1
- package/dist/cjs-types/common/calendar/components/agendaList/agendaList.types.d.ts +3 -0
- package/dist/cjs-types/common/calendar/components/calendarHeader/calendarHeader.d.ts +1 -1
- package/dist/cjs-types/common/calendar/components/calendarHeader/calendarHeader.types.d.ts +2 -0
- package/dist/cjs-types/common/calendar/components/compactMonth/compactMonth.d.ts +1 -1
- package/dist/cjs-types/common/calendar/components/monthView/monthView.d.ts +1 -1
- package/dist/cjs-types/common/calendar/components/monthView/monthView.types.d.ts +3 -2
- package/dist/cjs-types/common/calendar/components/timeGrid/timeGrid.d.ts +1 -1
- package/dist/cjs-types/common/calendar/components/timeGrid/timeGrid.types.d.ts +9 -1
- package/dist/cjs-types/common/calendar/dates.d.ts +21 -5
- package/dist/cjs-types/common/calendar/format.d.ts +3 -2
- package/dist/cjs-types/common/calendar/layout.d.ts +5 -0
- package/dist/cjs-types/common/calendar/useNow.d.ts +4 -0
- package/dist/cjs-types/common/calendar/view.types.d.ts +9 -2
- package/dist/cjs-types/common/card/card.types.d.ts +16 -2
- package/dist/cjs-types/common/chip/chip.types.d.ts +10 -5
- package/dist/cjs-types/common/configProvider/configProvider.types.d.ts +4 -0
- package/dist/cjs-types/common/copyButton/copyButton.types.d.ts +5 -4
- package/dist/cjs-types/common/fab/components/fabBase/fabBase.d.ts +1 -1
- package/dist/cjs-types/common/fab/components/fabBase/fabBase.types.d.ts +2 -1
- package/dist/cjs-types/common/loader/index.d.ts +2 -0
- package/dist/cjs-types/common/loader/loader.d.ts +4 -0
- package/dist/cjs-types/common/loader/loader.types.d.ts +31 -0
- package/dist/cjs-types/common/loadingOverlay/index.d.ts +2 -0
- package/dist/cjs-types/common/loadingOverlay/loadingOverlay.d.ts +4 -0
- package/dist/cjs-types/common/loadingOverlay/loadingOverlay.types.d.ts +21 -0
- package/dist/cjs-types/common/progressBar/progressBar.d.ts +0 -1
- package/dist/cjs-types/common/progressBar/progressBar.types.d.ts +3 -1
- package/dist/cjs-types/common/splitButton/splitButton.types.d.ts +4 -1
- package/dist/cjs-types/common/styles/tone.d.ts +11 -0
- package/dist/cjs-types/common/themeProvider/color.types.d.ts +20 -0
- package/dist/cjs-types/common/themeProvider/index.d.ts +2 -0
- package/dist/cjs-types/common/themeProvider/theme.types.d.ts +7 -6
- package/dist/cjs-types/common/timeline/timeline.types.d.ts +3 -10
- package/dist/cjs-types/common/toast/index.d.ts +1 -1
- package/dist/cjs-types/common/toast/toast.types.d.ts +7 -3
- package/dist/cjs-types/common/types/actions.types.d.ts +1 -1
- package/dist/cjs-types/common/utils/dismissClick.d.ts +4 -0
- package/dist/cjs-types/common/utils/isDev.d.ts +1 -0
- package/dist/cjs-types/index.d.ts +4 -1
- package/dist/esm/common/accordion/accordion.mjs +1 -1
- package/dist/esm/common/accordion/accordion.mjs.map +1 -1
- package/dist/esm/common/accordion/accordion.module.mjs +1 -1
- package/dist/esm/common/accordion/accordion.module.mjs.map +1 -1
- package/dist/esm/common/accordion/accordion.types.mjs +1 -1
- package/dist/esm/common/accordion/accordion.types.mjs.map +1 -1
- package/dist/esm/common/actionButtons/actionButtons.mjs +1 -1
- package/dist/esm/common/actionButtons/actionButtons.mjs.map +1 -1
- package/dist/esm/common/actionIcon/actionIcon.mjs +1 -1
- package/dist/esm/common/actionIcon/actionIcon.mjs.map +1 -1
- package/dist/esm/common/actionIcon/actionIcon.module.mjs +1 -1
- package/dist/esm/common/actionIcon/actionIcon.module.mjs.map +1 -1
- package/dist/esm/common/alert/alert.mjs +1 -1
- package/dist/esm/common/alert/alert.mjs.map +1 -1
- package/dist/esm/common/alert/alert.module.mjs +1 -1
- package/dist/esm/common/alert/alert.module.mjs.map +1 -1
- package/dist/esm/common/animatedLogo/animatedLogo.mjs +1 -1
- package/dist/esm/common/animatedLogo/animatedLogo.mjs.map +1 -1
- package/dist/esm/common/avatar/avatar.mjs +1 -1
- package/dist/esm/common/avatar/avatar.mjs.map +1 -1
- package/dist/esm/common/badge/badge.mjs +1 -1
- package/dist/esm/common/badge/badge.mjs.map +1 -1
- package/dist/esm/common/badge/badge.module.mjs +1 -1
- package/dist/esm/common/badge/badge.module.mjs.map +1 -1
- package/dist/esm/common/badge/badge.types.mjs +1 -1
- package/dist/esm/common/badge/badge.types.mjs.map +1 -1
- package/dist/esm/common/bodyEnd/bodyEnd.mjs +1 -1
- package/dist/esm/common/bodyEnd/bodyEnd.mjs.map +1 -1
- package/dist/esm/common/breadcrumb/breadcrumb.mjs +1 -1
- package/dist/esm/common/breadcrumb/breadcrumb.mjs.map +1 -1
- package/dist/esm/common/breadcrumb/breadcrumb.module.mjs.map +1 -1
- package/dist/esm/common/button/button.mjs +1 -1
- package/dist/esm/common/button/button.mjs.map +1 -1
- package/dist/esm/common/button/button.module.mjs +1 -1
- package/dist/esm/common/button/button.module.mjs.map +1 -1
- package/dist/esm/common/button/button.types.mjs +1 -1
- package/dist/esm/common/button/button.types.mjs.map +1 -1
- package/dist/esm/common/calendar/calendar.mjs +1 -1
- package/dist/esm/common/calendar/calendar.mjs.map +1 -1
- package/dist/esm/common/calendar/calendar.module.mjs.map +1 -1
- package/dist/esm/common/calendar/calendar.types.mjs.map +1 -1
- package/dist/esm/common/calendar/components/agendaList/agendaList.mjs +1 -1
- package/dist/esm/common/calendar/components/agendaList/agendaList.mjs.map +1 -1
- package/dist/esm/common/calendar/components/agendaList/agendaList.module.mjs.map +1 -1
- package/dist/esm/common/calendar/components/calendarHeader/calendarHeader.mjs +1 -1
- package/dist/esm/common/calendar/components/calendarHeader/calendarHeader.mjs.map +1 -1
- package/dist/esm/common/calendar/components/calendarHeader/calendarHeader.module.mjs +1 -1
- package/dist/esm/common/calendar/components/calendarHeader/calendarHeader.module.mjs.map +1 -1
- package/dist/esm/common/calendar/components/compactMonth/compactMonth.mjs +1 -1
- package/dist/esm/common/calendar/components/compactMonth/compactMonth.mjs.map +1 -1
- package/dist/esm/common/calendar/components/compactMonth/compactMonth.module.mjs +1 -1
- package/dist/esm/common/calendar/components/compactMonth/compactMonth.module.mjs.map +1 -1
- package/dist/esm/common/calendar/components/monthView/monthView.mjs +1 -1
- package/dist/esm/common/calendar/components/monthView/monthView.mjs.map +1 -1
- package/dist/esm/common/calendar/components/monthView/monthView.module.mjs +1 -1
- package/dist/esm/common/calendar/components/monthView/monthView.module.mjs.map +1 -1
- package/dist/esm/common/calendar/components/timeGrid/timeGrid.mjs +1 -1
- package/dist/esm/common/calendar/components/timeGrid/timeGrid.mjs.map +1 -1
- package/dist/esm/common/calendar/components/timeGrid/timeGrid.module.mjs +1 -1
- package/dist/esm/common/calendar/components/timeGrid/timeGrid.module.mjs.map +1 -1
- package/dist/esm/common/calendar/dates.mjs +1 -1
- package/dist/esm/common/calendar/dates.mjs.map +1 -1
- package/dist/esm/common/calendar/format.mjs +1 -1
- package/dist/esm/common/calendar/format.mjs.map +1 -1
- package/dist/esm/common/calendar/layout.mjs +1 -1
- package/dist/esm/common/calendar/layout.mjs.map +1 -1
- package/dist/esm/common/calendar/useNow.mjs +2 -0
- package/dist/esm/common/calendar/useNow.mjs.map +1 -0
- package/dist/esm/common/card/Card.mjs +1 -1
- package/dist/esm/common/card/Card.mjs.map +1 -1
- package/dist/esm/common/card/CardActions.mjs +1 -1
- package/dist/esm/common/card/CardActions.mjs.map +1 -1
- package/dist/esm/common/card/CardHeader.mjs.map +1 -1
- package/dist/esm/common/card/card.module.mjs +1 -1
- package/dist/esm/common/card/card.module.mjs.map +1 -1
- package/dist/esm/common/card/card.types.mjs +1 -1
- package/dist/esm/common/card/card.types.mjs.map +1 -1
- package/dist/esm/common/carousel/carousel.mjs +1 -1
- package/dist/esm/common/carousel/carousel.mjs.map +1 -1
- package/dist/esm/common/carousel/carousel.module.mjs.map +1 -1
- package/dist/esm/common/checkbox/checkbox.mjs +1 -1
- package/dist/esm/common/checkbox/checkbox.mjs.map +1 -1
- package/dist/esm/common/checkbox/checkbox.module.mjs +1 -1
- package/dist/esm/common/checkbox/checkbox.module.mjs.map +1 -1
- package/dist/esm/common/chip/chip.mjs +1 -1
- package/dist/esm/common/chip/chip.mjs.map +1 -1
- package/dist/esm/common/chip/chip.module.mjs +1 -1
- package/dist/esm/common/chip/chip.module.mjs.map +1 -1
- package/dist/esm/common/chip/chip.types.mjs +1 -1
- package/dist/esm/common/chip/chip.types.mjs.map +1 -1
- package/dist/esm/common/colorPicker/colorPicker.mjs +1 -1
- package/dist/esm/common/colorPicker/colorPicker.mjs.map +1 -1
- package/dist/esm/common/colorPicker/colorPicker.module.mjs.map +1 -1
- package/dist/esm/common/confirmModal/confirmModal.mjs +1 -1
- package/dist/esm/common/confirmModal/confirmModal.mjs.map +1 -1
- package/dist/esm/common/copyButton/copyButton.mjs +1 -1
- package/dist/esm/common/copyButton/copyButton.mjs.map +1 -1
- package/dist/esm/common/copyButton/copyButton.module.mjs +1 -1
- package/dist/esm/common/copyButton/copyButton.module.mjs.map +1 -1
- package/dist/esm/common/dropdown/dropdown.mjs +1 -1
- package/dist/esm/common/dropdown/dropdown.mjs.map +1 -1
- package/dist/esm/common/dropdown/dropdown.module.mjs +1 -1
- package/dist/esm/common/dropdown/dropdown.module.mjs.map +1 -1
- package/dist/esm/common/errorBoundary/errorBoundary.mjs +2 -2
- package/dist/esm/common/errorBoundary/errorBoundary.mjs.map +1 -1
- package/dist/esm/common/fab/components/fabBase/fabBase.mjs +1 -1
- package/dist/esm/common/fab/components/fabBase/fabBase.mjs.map +1 -1
- package/dist/esm/common/fab/fab.mjs +1 -1
- package/dist/esm/common/fab/fab.mjs.map +1 -1
- package/dist/esm/common/flip/flip.mjs +1 -1
- package/dist/esm/common/flip/flip.mjs.map +1 -1
- package/dist/esm/common/kanbanBoard/KanbanColumn.mjs +1 -1
- package/dist/esm/common/kanbanBoard/KanbanColumn.mjs.map +1 -1
- package/dist/esm/common/kanbanBoard/kanbanBoard.module.mjs +1 -1
- package/dist/esm/common/kanbanBoard/kanbanBoard.module.mjs.map +1 -1
- package/dist/esm/common/klipyPicker/klipyPicker.mjs +1 -1
- package/dist/esm/common/klipyPicker/klipyPicker.mjs.map +1 -1
- package/dist/esm/common/loader/loader.mjs +2 -0
- package/dist/esm/common/loader/loader.mjs.map +1 -0
- package/dist/esm/common/loader/loader.module.mjs +2 -0
- package/dist/esm/common/loader/loader.module.mjs.map +1 -0
- package/dist/esm/common/loader/loader.types.mjs +2 -0
- package/dist/esm/common/loader/loader.types.mjs.map +1 -0
- package/dist/esm/common/loadingOverlay/loadingOverlay.mjs +2 -0
- package/dist/esm/common/loadingOverlay/loadingOverlay.mjs.map +1 -0
- package/dist/esm/common/loadingOverlay/loadingOverlay.module.mjs +2 -0
- package/dist/esm/common/loadingOverlay/loadingOverlay.module.mjs.map +1 -0
- package/dist/esm/common/modal/modal.mjs +1 -1
- package/dist/esm/common/modal/modal.mjs.map +1 -1
- package/dist/esm/common/modal/modal.module.mjs.map +1 -1
- package/dist/esm/common/numberInput/numberInput.mjs +1 -1
- package/dist/esm/common/numberInput/numberInput.mjs.map +1 -1
- package/dist/esm/common/numberInput/numberInput.module.mjs.map +1 -1
- package/dist/esm/common/popover/popover.mjs +1 -1
- package/dist/esm/common/popover/popover.mjs.map +1 -1
- package/dist/esm/common/progressBar/progressBar.mjs +1 -1
- package/dist/esm/common/progressBar/progressBar.mjs.map +1 -1
- package/dist/esm/common/progressBar/progressBar.module.mjs +1 -1
- package/dist/esm/common/progressBar/progressBar.module.mjs.map +1 -1
- package/dist/esm/common/roomDrawer/roomDrawer.mjs +1 -1
- package/dist/esm/common/roomDrawer/roomDrawer.mjs.map +1 -1
- package/dist/esm/common/roomDrawer/roomDrawer.module.mjs.map +1 -1
- package/dist/esm/common/sectionHeader/sectionHeader.mjs.map +1 -1
- package/dist/esm/common/splitButton/splitButton.mjs +1 -1
- package/dist/esm/common/splitButton/splitButton.mjs.map +1 -1
- package/dist/esm/common/styles/tone.mjs +4 -0
- package/dist/esm/common/styles/tone.mjs.map +1 -0
- package/dist/esm/common/styles/tone.module.mjs +2 -0
- package/dist/esm/common/styles/tone.module.mjs.map +1 -0
- package/dist/esm/common/themeProvider/color.types.mjs +2 -0
- package/dist/esm/common/themeProvider/color.types.mjs.map +1 -0
- package/dist/esm/common/themeProvider/defaultTheme.mjs +1 -1
- package/dist/esm/common/themeProvider/defaultTheme.mjs.map +1 -1
- package/dist/esm/common/tilt/tilt.mjs +1 -1
- package/dist/esm/common/tilt/tilt.mjs.map +1 -1
- package/dist/esm/common/timeInput/timeInput.mjs +1 -1
- package/dist/esm/common/timeInput/timeInput.mjs.map +1 -1
- package/dist/esm/common/timeline/timeline.mjs +1 -1
- package/dist/esm/common/timeline/timeline.mjs.map +1 -1
- package/dist/esm/common/timeline/timeline.module.mjs +1 -1
- package/dist/esm/common/timeline/timeline.module.mjs.map +1 -1
- package/dist/esm/common/timeline/timeline.types.mjs +1 -1
- package/dist/esm/common/timeline/timeline.types.mjs.map +1 -1
- package/dist/esm/common/timer/timer.mjs +1 -1
- package/dist/esm/common/timer/timer.mjs.map +1 -1
- package/dist/esm/common/timer/timer.module.mjs +1 -1
- package/dist/esm/common/timer/timer.module.mjs.map +1 -1
- package/dist/esm/common/toast/toast.mjs +1 -1
- package/dist/esm/common/toast/toast.mjs.map +1 -1
- package/dist/esm/common/toast/toast.module.mjs +1 -1
- package/dist/esm/common/toast/toast.module.mjs.map +1 -1
- package/dist/esm/common/toast/toastHost.mjs +1 -1
- package/dist/esm/common/toast/toastHost.mjs.map +1 -1
- package/dist/esm/common/utils/dismissClick.mjs +2 -0
- package/dist/esm/common/utils/dismissClick.mjs.map +1 -0
- package/dist/esm/common/utils/isDev.mjs +2 -0
- package/dist/esm/common/utils/isDev.mjs.map +1 -0
- package/dist/esm/common/virtualList/virtualList.mjs +1 -1
- package/dist/esm/common/virtualList/virtualList.mjs.map +1 -1
- package/dist/esm/common/virtualList/virtualList.module.mjs +1 -1
- package/dist/esm/common/virtualList/virtualList.module.mjs.map +1 -1
- package/dist/esm/index.mjs +1 -1
- package/dist/esm/services/formValidation/FormValidatorGroupWithForm.mjs +1 -1
- package/dist/esm/services/formValidation/FormValidatorGroupWithForm.mjs.map +1 -1
- package/dist/index.cjs +5 -3
- package/dist/index.cjs.map +1 -1
- package/dist/style.css +1 -1
- package/dist/types/common/accordion/accordion.types.d.ts +17 -2
- package/dist/types/common/actionButtons/actionButtons.types.d.ts +7 -1
- package/dist/types/common/actionIcon/actionIcon.d.ts +1 -1
- package/dist/types/common/actionIcon/actionIcon.types.d.ts +7 -9
- package/dist/types/common/alert/alert.types.d.ts +6 -8
- package/dist/types/common/animatedLogo/animatedLogo.types.d.ts +3 -2
- package/dist/types/common/badge/badge.types.d.ts +10 -6
- package/dist/types/common/button/button.types.d.ts +14 -4
- package/dist/types/common/calendar/calendar.types.d.ts +25 -10
- package/dist/types/common/calendar/components/agendaList/agendaList.d.ts +1 -1
- package/dist/types/common/calendar/components/agendaList/agendaList.types.d.ts +3 -0
- package/dist/types/common/calendar/components/calendarHeader/calendarHeader.d.ts +1 -1
- package/dist/types/common/calendar/components/calendarHeader/calendarHeader.types.d.ts +2 -0
- package/dist/types/common/calendar/components/compactMonth/compactMonth.d.ts +1 -1
- package/dist/types/common/calendar/components/monthView/monthView.d.ts +1 -1
- package/dist/types/common/calendar/components/monthView/monthView.types.d.ts +3 -2
- package/dist/types/common/calendar/components/timeGrid/timeGrid.d.ts +1 -1
- package/dist/types/common/calendar/components/timeGrid/timeGrid.types.d.ts +9 -1
- package/dist/types/common/calendar/dates.d.ts +21 -5
- package/dist/types/common/calendar/format.d.ts +3 -2
- package/dist/types/common/calendar/layout.d.ts +5 -0
- package/dist/types/common/calendar/useNow.d.ts +4 -0
- package/dist/types/common/calendar/view.types.d.ts +9 -2
- package/dist/types/common/card/card.types.d.ts +16 -2
- package/dist/types/common/chip/chip.types.d.ts +10 -5
- package/dist/types/common/configProvider/configProvider.types.d.ts +4 -0
- package/dist/types/common/copyButton/copyButton.types.d.ts +5 -4
- package/dist/types/common/fab/components/fabBase/fabBase.d.ts +1 -1
- package/dist/types/common/fab/components/fabBase/fabBase.types.d.ts +2 -1
- package/dist/types/common/loader/index.d.ts +2 -0
- package/dist/types/common/loader/loader.d.ts +4 -0
- package/dist/types/common/loader/loader.types.d.ts +31 -0
- package/dist/types/common/loadingOverlay/index.d.ts +2 -0
- package/dist/types/common/loadingOverlay/loadingOverlay.d.ts +4 -0
- package/dist/types/common/loadingOverlay/loadingOverlay.types.d.ts +21 -0
- package/dist/types/common/progressBar/progressBar.d.ts +0 -1
- package/dist/types/common/progressBar/progressBar.types.d.ts +3 -1
- package/dist/types/common/splitButton/splitButton.types.d.ts +4 -1
- package/dist/types/common/styles/tone.d.ts +11 -0
- package/dist/types/common/themeProvider/color.types.d.ts +20 -0
- package/dist/types/common/themeProvider/index.d.ts +2 -0
- package/dist/types/common/themeProvider/theme.types.d.ts +7 -6
- package/dist/types/common/timeline/timeline.types.d.ts +3 -10
- package/dist/types/common/toast/index.d.ts +1 -1
- package/dist/types/common/toast/toast.types.d.ts +7 -3
- package/dist/types/common/types/actions.types.d.ts +1 -1
- package/dist/types/common/utils/dismissClick.d.ts +4 -0
- package/dist/types/common/utils/isDev.d.ts +1 -0
- package/dist/types/index.d.ts +4 -1
- package/docs/Accordion.md +74 -5
- package/docs/ActionButtons.md +6 -3
- package/docs/ActionIcon.md +39 -14
- package/docs/Alert.md +27 -17
- package/docs/AnimatedLogo.md +1 -1
- package/docs/Badge.md +24 -7
- package/docs/Button.md +98 -40
- package/docs/ButtonGroup.md +18 -18
- package/docs/CLAUDE.md +24 -13
- package/docs/Calendar.md +35 -17
- package/docs/Card.md +53 -14
- package/docs/Checkbox.md +1 -1
- package/docs/Chip.md +24 -9
- package/docs/ConfigProvider.md +4 -4
- package/docs/CopyButton.md +6 -5
- package/docs/Loader.md +95 -0
- package/docs/LoadingOverlay.md +85 -0
- package/docs/ProgressBar.md +7 -4
- package/docs/SectionHeader.md +1 -1
- package/docs/Skeleton.md +1 -1
- package/docs/SplitButton.md +6 -5
- package/docs/ThemeColor.md +103 -0
- package/docs/ThemeProvider.md +5 -5
- package/docs/Timeline.md +18 -9
- package/docs/Toast.md +25 -11
- package/package.json +3 -2
- package/dist/cjs-types/common/loading/index.d.ts +0 -1
- package/dist/cjs-types/common/loading/spinnerLoading/index.d.ts +0 -2
- package/dist/cjs-types/common/loading/spinnerLoading/spinnerLoading.d.ts +0 -6
- package/dist/esm/common/accordion/accordion.plain.module.mjs +0 -2
- package/dist/esm/common/accordion/accordion.plain.module.mjs.map +0 -1
- package/dist/esm/common/accordion/accordion.primary.module.mjs +0 -2
- package/dist/esm/common/accordion/accordion.primary.module.mjs.map +0 -1
- package/dist/esm/common/alert/alert.types.mjs +0 -2
- package/dist/esm/common/alert/alert.types.mjs.map +0 -1
- package/dist/esm/common/loading/spinnerLoading/index.mjs +0 -2
- package/dist/esm/common/loading/spinnerLoading/index.mjs.map +0 -1
- package/dist/esm/common/loading/spinnerLoading/spinnerLoading.mjs +0 -2
- package/dist/esm/common/loading/spinnerLoading/spinnerLoading.mjs.map +0 -1
- package/dist/esm/common/loading/spinnerLoading/spinnerLoading.module.mjs +0 -2
- package/dist/esm/common/loading/spinnerLoading/spinnerLoading.module.mjs.map +0 -1
- package/dist/types/common/loading/index.d.ts +0 -1
- package/dist/types/common/loading/spinnerLoading/index.d.ts +0 -2
- package/dist/types/common/loading/spinnerLoading/spinnerLoading.d.ts +0 -6
- package/docs/Loading.md +0 -68
package/docs/Alert.md
CHANGED
|
@@ -4,24 +4,24 @@
|
|
|
4
4
|
|
|
5
5
|
**Keywords:** warning box
|
|
6
6
|
|
|
7
|
-
**Import:** `import { Alert,
|
|
7
|
+
**Import:** `import { Alert, ThemeColor } from '@ahrowe/ui'`
|
|
8
8
|
|
|
9
|
-
**
|
|
9
|
+
**Colours:** any `color`: a `ThemeColor` (default `Primary`) or any CSS colour, see [ThemeColor.md](ThemeColor.md). A `ThemeColor` also picks the icon: a bell for `Primary` and `Neutral`, then info, check, warning and cross. Any other colour shows `icon`, or the bell.
|
|
10
10
|
|
|
11
11
|
```tsx
|
|
12
|
-
import { Alert,
|
|
12
|
+
import { Alert, ThemeColor } from '@ahrowe/ui';
|
|
13
13
|
|
|
14
|
-
//
|
|
15
|
-
<Alert>
|
|
14
|
+
// In the primary colour, the default
|
|
15
|
+
<Alert>Here is what changed since your last visit.</Alert>
|
|
16
16
|
|
|
17
|
-
// Semantic
|
|
18
|
-
<Alert
|
|
19
|
-
<Alert
|
|
20
|
-
<Alert
|
|
21
|
-
<Alert
|
|
17
|
+
// Semantic colours
|
|
18
|
+
<Alert color={ThemeColor.Info}>Here's something worth knowing.</Alert>
|
|
19
|
+
<Alert color={ThemeColor.Success}>Your changes were saved.</Alert>
|
|
20
|
+
<Alert color={ThemeColor.Warn}>Your storage is almost full.</Alert>
|
|
21
|
+
<Alert color={ThemeColor.Error}>Something went wrong. Please try again.</Alert>
|
|
22
22
|
|
|
23
23
|
// With a title
|
|
24
|
-
<Alert
|
|
24
|
+
<Alert color={ThemeColor.Warn} title="Storage almost full">
|
|
25
25
|
You've used 92% of your available space. Free up room or upgrade your plan.
|
|
26
26
|
</Alert>
|
|
27
27
|
|
|
@@ -30,7 +30,7 @@ import { Alert, AlertStyleType } from '@ahrowe/ui';
|
|
|
30
30
|
const [visible, setVisible] = useState(true);
|
|
31
31
|
{visible && (
|
|
32
32
|
<Alert
|
|
33
|
-
|
|
33
|
+
color={ThemeColor.Info}
|
|
34
34
|
title="New feature available"
|
|
35
35
|
onClose={() => setVisible(false)}
|
|
36
36
|
>
|
|
@@ -39,13 +39,13 @@ const [visible, setVisible] = useState(true);
|
|
|
39
39
|
)}
|
|
40
40
|
|
|
41
41
|
// Without the leading icon
|
|
42
|
-
<Alert
|
|
42
|
+
<Alert color={ThemeColor.Success} hideIcon>
|
|
43
43
|
A minimal message with no leading icon.
|
|
44
44
|
</Alert>
|
|
45
45
|
|
|
46
|
-
// Custom icon, overriding the
|
|
46
|
+
// Custom icon, overriding the colour's own
|
|
47
47
|
import { faRocket } from '@fortawesome/free-solid-svg-icons';
|
|
48
|
-
<Alert
|
|
48
|
+
<Alert color={ThemeColor.Info} icon={faRocket}>
|
|
49
49
|
Shipping a new release tonight.
|
|
50
50
|
</Alert>
|
|
51
51
|
```
|
|
@@ -56,8 +56,8 @@ import { faRocket } from '@fortawesome/free-solid-svg-icons';
|
|
|
56
56
|
|------|------|-------------|
|
|
57
57
|
| `title` | `ReactNode` | Optional bold heading above the description |
|
|
58
58
|
| `children` | `ReactNode` | The message body |
|
|
59
|
-
| `
|
|
60
|
-
| `icon` | `IconDefinition \| ReactElement` | Overrides the
|
|
59
|
+
| `color` | `ColorValue` | A `ThemeColor` (default `Primary`) or any CSS colour; a `ThemeColor` also picks the icon |
|
|
60
|
+
| `icon` | `IconDefinition \| ReactElement` | Overrides the colour's icon — FontAwesome icon or any React element |
|
|
61
61
|
| `hideIcon` | `boolean` | Hide the leading icon entirely |
|
|
62
62
|
| `onClose` | `() => void` | Shows a close button and is called when it's clicked. `Alert` doesn't hide itself, so stop rendering it (or update your own state) in the handler |
|
|
63
63
|
|
|
@@ -70,3 +70,13 @@ import { faRocket } from '@fortawesome/free-solid-svg-icons';
|
|
|
70
70
|
## Sizing
|
|
71
71
|
|
|
72
72
|
Every length in an alert is `em`, so the padding, the icon, the close button and the accent bar keep their ratios to the body copy at any base font.
|
|
73
|
+
|
|
74
|
+
## Migration from `AlertStyleType`
|
|
75
|
+
|
|
76
|
+
Before 0.43 an Alert's colour was `styleType`, typed `AlertStyleType`. It is now `color`, typed
|
|
77
|
+
`ColorValue`, and `AlertStyleType` is gone, so TypeScript points at every use:
|
|
78
|
+
|
|
79
|
+
| Before | After |
|
|
80
|
+
|--------|-------|
|
|
81
|
+
| `styleType={AlertStyleType.Default}` | nothing: `Primary` is the default, with the same bell |
|
|
82
|
+
| `styleType={AlertStyleType.Info}` (and `Success`, `Warn`, `Error`) | `color={ThemeColor.Info}` |
|
package/docs/AnimatedLogo.md
CHANGED
|
@@ -49,7 +49,7 @@ import { AnimatedLogo } from '@ahrowe/ui';
|
|
|
49
49
|
| `path` | `string` | SVG path `d` data to draw and fill (default: the AhroweUI mark). Multiple subpaths (several `M` commands in one `d`) are supported. |
|
|
50
50
|
| `viewBox` | `string` | `viewBox` matching `path`'s coordinate space (default: the AhroweUI mark's viewBox) |
|
|
51
51
|
| `size` | `number \| string` | Width/height of the root `svg` (default `96`) |
|
|
52
|
-
| `color` | `
|
|
52
|
+
| `color` | `ColorValue` | The stroke and fill: a `ThemeColor` or any CSS colour (default `--primary-color`) |
|
|
53
53
|
| `duration` | `number` | Length of one draw-fill cycle, in seconds (default `4.2`) |
|
|
54
54
|
| `loop` | `boolean` | Repeats the draw-fill-retract cycle forever; `false` plays once and holds filled (default `true`) |
|
|
55
55
|
| `fill` | `boolean` | Fills the interior once drawn; `false` keeps it an outline-only trace (default `true`) |
|
package/docs/Badge.md
CHANGED
|
@@ -4,14 +4,14 @@
|
|
|
4
4
|
|
|
5
5
|
**Keywords:** pill
|
|
6
6
|
|
|
7
|
-
**Import:** `import { Badge, BadgeStyleType, BadgePosition } from '@ahrowe/ui'`
|
|
7
|
+
**Import:** `import { Badge, BadgeStyleType, BadgePosition, ThemeColor } from '@ahrowe/ui'`
|
|
8
8
|
|
|
9
|
-
**
|
|
9
|
+
**Styles:** `BadgeStyleType.Filled` (default) | `BadgeStyleType.Light` | `BadgeStyleType.Outlined`, in any `color`: a `ThemeColor` (default `Primary`) or any CSS colour, see [ThemeColor.md](ThemeColor.md). A `dot` is always solid.
|
|
10
10
|
|
|
11
|
-
**Position (when wrapping `children`):** `BadgePosition.TopRight` (default) | `BadgePosition.TopLeft` | `BadgePosition.BottomRight` | `BadgePosition.BottomLeft`
|
|
11
|
+
**Position (when wrapping `children`):** `BadgePosition.TopRight` (default) | `BadgePosition.TopLeft` | `BadgePosition.BottomRight` | `BadgePosition.BottomLeft`. A badge over its `children` sits on the page colour, so `Light`, `Outlined` and a `Neutral` `Filled` look as they do on the page instead of letting the avatar or icon show through.
|
|
12
12
|
|
|
13
13
|
```tsx
|
|
14
|
-
import { Badge, BadgeStyleType } from '@ahrowe/ui';
|
|
14
|
+
import { Badge, BadgeStyleType, ThemeColor } from '@ahrowe/ui';
|
|
15
15
|
import { faBell } from '@fortawesome/free-solid-svg-icons';
|
|
16
16
|
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
|
|
17
17
|
|
|
@@ -25,10 +25,13 @@ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
|
|
|
25
25
|
<Badge content="NEW" />
|
|
26
26
|
|
|
27
27
|
// Plain dot, no text
|
|
28
|
-
<Badge dot
|
|
28
|
+
<Badge dot color={ThemeColor.Error} />
|
|
29
|
+
|
|
30
|
+
// A status label
|
|
31
|
+
<Badge content="Paid" styleType={BadgeStyleType.Light} color={ThemeColor.Success} />
|
|
29
32
|
|
|
30
33
|
// Overlaying an icon
|
|
31
|
-
<Badge count={12}
|
|
34
|
+
<Badge count={12} color={ThemeColor.Error}>
|
|
32
35
|
<FontAwesomeIcon icon={faBell} />
|
|
33
36
|
</Badge>
|
|
34
37
|
|
|
@@ -47,8 +50,22 @@ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
|
|
|
47
50
|
| `content` | `ReactNode` | Custom content overriding the computed `count` text |
|
|
48
51
|
| `dot` | `boolean` | Render as a plain dot with no text |
|
|
49
52
|
| `showZero` | `boolean` | Show the badge when `count` is `0` |
|
|
50
|
-
| `styleType` | `BadgeStyleType` |
|
|
53
|
+
| `styleType` | `BadgeStyleType` | `Filled` (default), `Light` or `Outlined`. Ignored by a `dot` |
|
|
54
|
+
| `color` | `ColorValue` | A `ThemeColor` (default `Primary`) or any CSS colour |
|
|
51
55
|
| `position` | `BadgePosition` | Corner the badge attaches to when wrapping `children` (default `TopRight`) |
|
|
52
56
|
| `children` | `ReactNode` | Element the badge overlays. Omit to render the badge inline on its own |
|
|
53
57
|
|
|
54
58
|
**Slots:** `badge`
|
|
59
|
+
|
|
60
|
+
## Migration from colour styles
|
|
61
|
+
|
|
62
|
+
Before 0.43, `BadgeStyleType` was a colour, and `Primary` was filled while the others were a light
|
|
63
|
+
tint. Style and colour are now separate props, so every colour comes in every style. The old
|
|
64
|
+
members are gone and TypeScript points at each:
|
|
65
|
+
|
|
66
|
+
| Before | After |
|
|
67
|
+
|--------|-------|
|
|
68
|
+
| `styleType={BadgeStyleType.Primary}` | nothing: `Filled` `Primary` is the default |
|
|
69
|
+
| `styleType={BadgeStyleType.Default}` | `styleType={BadgeStyleType.Light} color={ThemeColor.Neutral}` |
|
|
70
|
+
| `styleType={BadgeStyleType.Success}` (and `Info`, `Warn`, `Error`) | `styleType={BadgeStyleType.Light} color={ThemeColor.Success}` |
|
|
71
|
+
| `dot styleType={BadgeStyleType.Error}` | `dot color={ThemeColor.Error}` |
|
package/docs/Button.md
CHANGED
|
@@ -1,37 +1,57 @@
|
|
|
1
1
|
# Button
|
|
2
2
|
|
|
3
|
-
**When to use:** Primary interactive action trigger. Supports loading state, icon,
|
|
3
|
+
**When to use:** Primary interactive action trigger. Supports loading state, icon, four styles in any colour, and sizes.
|
|
4
4
|
|
|
5
|
-
**Keywords:** cta, action button
|
|
5
|
+
**Keywords:** cta, action button, ghost, text button, borderless, subtle, variant, danger, destructive, secondary
|
|
6
6
|
|
|
7
|
-
**Import:** `import { Button, ButtonStyleType, ButtonSize, ButtonType } from '@ahrowe/ui'`
|
|
7
|
+
**Import:** `import { Button, ButtonStyleType, ButtonSize, ButtonType, ThemeColor } from '@ahrowe/ui'`
|
|
8
|
+
|
|
9
|
+
A button has a **style** (how much it stands out) and a **color**, set independently: any style
|
|
10
|
+
works with any colour. The colours are the library-wide `ThemeColor`s or any CSS colour, see
|
|
11
|
+
[ThemeColor.md](ThemeColor.md).
|
|
8
12
|
|
|
9
13
|
```tsx
|
|
10
|
-
import { Button, ButtonStyleType, ButtonSize } from '@ahrowe/ui';
|
|
11
|
-
import { faSave } from '@fortawesome/free-solid-svg-icons';
|
|
14
|
+
import { Button, ButtonStyleType, ButtonSize, ButtonType, ThemeColor } from '@ahrowe/ui';
|
|
15
|
+
import { faPlus, faSave, faTrash, faXmark } from '@fortawesome/free-solid-svg-icons';
|
|
12
16
|
|
|
13
|
-
//
|
|
14
|
-
<Button styleType={ButtonStyleType.
|
|
17
|
+
// The main action
|
|
18
|
+
<Button styleType={ButtonStyleType.Filled} onClick={handleSave}>Save</Button>
|
|
15
19
|
|
|
16
|
-
//
|
|
20
|
+
// Secondary: Outlined is the default style, Primary the default colour
|
|
21
|
+
<Button onClick={handleCancel}>Cancel</Button>
|
|
22
|
+
<Button color={ThemeColor.Neutral} onClick={handleCancel}>Cancel</Button>
|
|
23
|
+
|
|
24
|
+
// Destructive
|
|
25
|
+
<Button styleType={ButtonStyleType.Filled} color={ThemeColor.Error} onClick={handleDelete}>Delete</Button>
|
|
26
|
+
|
|
27
|
+
// A trash icon in a table row
|
|
17
28
|
<Button
|
|
18
|
-
styleType={ButtonStyleType.
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
29
|
+
styleType={ButtonStyleType.Plain}
|
|
30
|
+
color={ThemeColor.Error}
|
|
31
|
+
size={ButtonSize.Icon}
|
|
32
|
+
icon={faTrash}
|
|
33
|
+
aria-label="Delete row"
|
|
34
|
+
style={{ width: 32, height: 32 }}
|
|
35
|
+
/>
|
|
36
|
+
|
|
37
|
+
// A close button: Neutral takes the text colour of whatever it sits on
|
|
38
|
+
<Button
|
|
39
|
+
styleType={ButtonStyleType.Plain}
|
|
40
|
+
color={ThemeColor.Neutral}
|
|
41
|
+
size={ButtonSize.Icon}
|
|
42
|
+
icon={faXmark}
|
|
43
|
+
aria-label="Close"
|
|
44
|
+
style={{ width: 32, height: 32 }}
|
|
45
|
+
/>
|
|
46
|
+
|
|
47
|
+
// With icon + loading state
|
|
48
|
+
<Button styleType={ButtonStyleType.Filled} icon={faSave} isLoading={isSaving} onClick={handleSave}>
|
|
23
49
|
Save
|
|
24
50
|
</Button>
|
|
25
51
|
|
|
26
|
-
// Delete / danger
|
|
27
|
-
<Button styleType={ButtonStyleType.Delete} onClick={handleDelete}>Delete</Button>
|
|
28
|
-
|
|
29
52
|
// Small
|
|
30
53
|
<Button size={ButtonSize.Small}>Cancel</Button>
|
|
31
54
|
|
|
32
|
-
// Icon-only — padding-free and square; give it the box size you want
|
|
33
|
-
<Button size={ButtonSize.Icon} icon={faPlus} aria-label="Add" style={{ width: 44, height: 44 }} />
|
|
34
|
-
|
|
35
55
|
// Press-and-hold: act on press rather than release
|
|
36
56
|
<Button
|
|
37
57
|
icon={faPlus}
|
|
@@ -42,12 +62,13 @@ import { faSave } from '@fortawesome/free-solid-svg-icons';
|
|
|
42
62
|
/>
|
|
43
63
|
|
|
44
64
|
// Submit button in a form
|
|
45
|
-
<Button type={ButtonType.Submit} styleType={ButtonStyleType.
|
|
65
|
+
<Button type={ButtonType.Submit} styleType={ButtonStyleType.Filled}>Submit</Button>
|
|
46
66
|
```
|
|
47
67
|
|
|
48
68
|
**Enums:**
|
|
49
69
|
|
|
50
|
-
- `ButtonStyleType`: `
|
|
70
|
+
- `ButtonStyleType`: `Filled` | `Light` | `Outlined` (default) | `Plain`
|
|
71
|
+
- `ThemeColor`: `Primary` (default) | `Neutral` | `Success` | `Info` | `Warn` | `Error`
|
|
51
72
|
- `ButtonSize`: `Default` | `Small` | `Medium` | `Large` | `Icon`
|
|
52
73
|
- `ButtonType`: `Button` | `Reset` | `Submit`
|
|
53
74
|
|
|
@@ -55,41 +76,42 @@ import { faSave } from '@fortawesome/free-solid-svg-icons';
|
|
|
55
76
|
|
|
56
77
|
| Prop | Type | Description |
|
|
57
78
|
|------|------|-------------|
|
|
58
|
-
| `styleType` | `ButtonStyleType` |
|
|
79
|
+
| `styleType` | `ButtonStyleType` | `Filled`: solid fill, for the one main action. `Light`: a tint of the colour behind text in the colour. `Outlined` (default): border and text in the colour. `Plain`: text in the colour, no fill or border, for toolbar, icon and close buttons |
|
|
80
|
+
| `color` | `ColorValue` | A `ThemeColor` (default `Primary`) or any CSS colour. `Neutral` takes the surrounding text colour, with a `--border-color` outline; `Error` is for destructive actions. See [ThemeColor.md](ThemeColor.md) |
|
|
59
81
|
| `size` | `ButtonSize` | Size variant. `Icon` strips all padding, inherits the surrounding text size, and centres a lone icon — set the width/height yourself |
|
|
60
82
|
| `type` | `ButtonType` | HTML button type |
|
|
61
83
|
| `icon` | `IconDefinition \| ReactElement` | FontAwesome icon or any React element, shown before label |
|
|
62
|
-
| `isLoading` | `boolean` | Replaces content with a
|
|
63
|
-
| `disabled` | `boolean` | |
|
|
84
|
+
| `isLoading` | `boolean` | Replaces content with a [Loader](Loader.md) in the button's text colour. Blocks clicks like `disabled` but keeps full colour |
|
|
85
|
+
| `disabled` | `boolean` | Fades the button to half opacity |
|
|
64
86
|
| `onClick` | `(e: MouseEvent) => void \| Promise<void>` | |
|
|
65
87
|
|
|
66
88
|
`ButtonProps` extends `React.ButtonHTMLAttributes<HTMLButtonElement>`, so every native `<button>`
|
|
67
89
|
attribute is accepted and forwarded — pointer handlers (`onPointerDown` and friends, for
|
|
68
90
|
press-and-hold controls that act on press rather than release), `onContextMenu`, `tabIndex`,
|
|
69
91
|
`name`, `value`, `form`, `autoFocus`, and the rest. `type` and `onClick` are narrowed: `type`
|
|
70
|
-
takes the `ButtonType` enum, and `onClick` may return a promise.
|
|
92
|
+
takes the `ButtonType` enum, and `onClick` may return a promise. `color` is Button's own prop, not
|
|
93
|
+
the obsolete HTML attribute.
|
|
71
94
|
|
|
72
|
-
**Theming
|
|
95
|
+
**Theming:** each colour reads the theme variables listed in [ThemeColor.md](ThemeColor.md). The
|
|
96
|
+
`Filled` `Primary` button also paints `--primary-gradient` when the theme sets one. See
|
|
97
|
+
[ThemeProvider.md](ThemeProvider.md).
|
|
73
98
|
|
|
74
|
-
|
|
75
|
-
- `--button-default-color` — text colour (default `var(--text-color)`)
|
|
76
|
-
- `--button-default-border` — full `border` shorthand, e.g. `1px solid var(--border-color)` (default a transparent `1px` border)
|
|
99
|
+
## Custom colours and presets
|
|
77
100
|
|
|
78
|
-
|
|
101
|
+
`color` takes any CSS colour as well as a `ThemeColor`; the text on a `Filled` button is picked
|
|
102
|
+
for contrast. Presets are a component in your app, and a section or the whole app takes a default
|
|
103
|
+
through `ConfigProvider`. All three are in [ThemeColor.md](ThemeColor.md).
|
|
79
104
|
|
|
80
105
|
```tsx
|
|
81
|
-
|
|
82
|
-
const theme: Theme = {
|
|
83
|
-
id: 'brand',
|
|
84
|
-
variables: { '--button-default-border': '1px solid var(--border-color)' },
|
|
85
|
-
};
|
|
86
|
-
|
|
87
|
-
// Or one-off via style
|
|
88
|
-
<Button style={{ '--button-default-border': '1px solid var(--border-color)' } as React.CSSProperties}>
|
|
89
|
-
Cancel
|
|
90
|
-
</Button>
|
|
106
|
+
<Button styleType={ButtonStyleType.Filled} color="var(--brand)">Upgrade</Button>
|
|
91
107
|
```
|
|
92
108
|
|
|
109
|
+
**States:** hover and press lay a tint of the button's own text colour over the whole button, so
|
|
110
|
+
every style, colour and theme gets them with no variables of their own. The keyboard focus ring
|
|
111
|
+
sits inside the edge, in `--focus-border-color`, or in the text colour on a `Filled` button. The
|
|
112
|
+
ripple is in the text colour too. Every button reserves a `1px` border, so switching style never
|
|
113
|
+
shifts layout or changes its height.
|
|
114
|
+
|
|
93
115
|
**Slots:** `background` `content` `loadingContainer` `label`
|
|
94
116
|
|
|
95
117
|
**Sizing in a flex row:** a Button never shrinks below its own content (`min-width: min-content`),
|
|
@@ -100,3 +122,39 @@ so an icon is never cut off by a flexible sibling. A multi-word label still wrap
|
|
|
100
122
|
A Button is sized by its font. `--default-font-size` is the base, and `Small` and `Large` are multiples of it (0.75x and 1.25x), so a theme with a smaller base font gets proportionally smaller controls everywhere. Padding and the icon gap are in `em`, so the whole box grows with the label rather than a large button wearing a default button's padding.
|
|
101
123
|
|
|
102
124
|
`ButtonSize.Icon` is the exception: it inherits the surrounding text size and has no padding at all, because the caller sets the box.
|
|
125
|
+
|
|
126
|
+
## Migration from `Primary`, `Default` and `Delete`
|
|
127
|
+
|
|
128
|
+
Before 0.43, `styleType` set emphasis and colour in one value. `Primary`, `Default` and `Delete` no
|
|
129
|
+
longer exist, so TypeScript points at every place that names them:
|
|
130
|
+
|
|
131
|
+
| Before | After |
|
|
132
|
+
|--------|-------|
|
|
133
|
+
| `styleType={ButtonStyleType.Primary}` | `styleType={ButtonStyleType.Filled}` |
|
|
134
|
+
| `styleType={ButtonStyleType.Default}` | nothing: `Outlined` is the default |
|
|
135
|
+
| `styleType={ButtonStyleType.Delete}` | `styleType={ButtonStyleType.Filled} color={ThemeColor.Error}` |
|
|
136
|
+
| ActionButtons `submitButtonStyle={ButtonStyleType.Delete}` | `submitButtonColor={ThemeColor.Error}` |
|
|
137
|
+
| SplitButton `styleType={ButtonStyleType.Delete}` | `color={ThemeColor.Error}` (`Filled` is its default) |
|
|
138
|
+
| Card action `styleType: ButtonStyleType.Delete` | `styleType: ButtonStyleType.Filled, color: ThemeColor.Error` |
|
|
139
|
+
| `defaultProps={{ Button: { styleType: ButtonStyleType.Primary } }}` | `defaultProps={{ Button: { styleType: ButtonStyleType.Filled } }}` |
|
|
140
|
+
|
|
141
|
+
Two things compile unchanged and need a look of their own:
|
|
142
|
+
|
|
143
|
+
**A Button with no `styleType`.** It was transparent text in `--text-color` unless the theme set
|
|
144
|
+
`--button-default-*`; the built-in `defaultTheme` made it an outline in `--primary-color`, which
|
|
145
|
+
is now the default everywhere. To keep the old look where you want it, use
|
|
146
|
+
`styleType={ButtonStyleType.Plain} color={ThemeColor.Neutral}`.
|
|
147
|
+
|
|
148
|
+
**`--button-default-background`, `--button-default-color` and `--button-default-border` in a
|
|
149
|
+
theme.** They are gone, and since a theme accepts any variable they still compile and do nothing.
|
|
150
|
+
What they styled is now the default `color`, set once on `AhroweProvider`:
|
|
151
|
+
|
|
152
|
+
| Theme set | Instead |
|
|
153
|
+
|-----------|---------|
|
|
154
|
+
| `--button-default-color: var(--text-color)` and a `--border-color` border | `defaultProps={{ Button: { color: ThemeColor.Neutral } }}` |
|
|
155
|
+
| another colour | `defaultProps={{ Button: { color: 'var(--your-colour)' } }}` |
|
|
156
|
+
| a fill in `--button-default-background` | also `styleType: ButtonStyleType.Filled`; `ThemeColor.Neutral` fills with a mix of the text colour |
|
|
157
|
+
|
|
158
|
+
A default prop does not change with the theme. Where each theme had its own default button, give
|
|
159
|
+
each theme a variable of your own, `'--app-button': '…'`, and set
|
|
160
|
+
`defaultProps={{ Button: { color: 'var(--app-button)' } }}` once: the variable follows the theme.
|
package/docs/ButtonGroup.md
CHANGED
|
@@ -13,23 +13,23 @@ import { ButtonGroup, ButtonGroupOrientation, Button, ButtonStyleType } from '@a
|
|
|
13
13
|
|
|
14
14
|
// Segmented toggle
|
|
15
15
|
<ButtonGroup>
|
|
16
|
-
<Button styleType={ButtonStyleType.
|
|
17
|
-
<Button styleType={ButtonStyleType.
|
|
18
|
-
<Button styleType={ButtonStyleType.
|
|
16
|
+
<Button styleType={ButtonStyleType.Outlined}>Day</Button>
|
|
17
|
+
<Button styleType={ButtonStyleType.Outlined}>Week</Button>
|
|
18
|
+
<Button styleType={ButtonStyleType.Outlined}>Month</Button>
|
|
19
19
|
</ButtonGroup>
|
|
20
20
|
|
|
21
21
|
// Icon toolbar
|
|
22
22
|
<ButtonGroup>
|
|
23
|
-
<Button styleType={ButtonStyleType.
|
|
24
|
-
<Button styleType={ButtonStyleType.
|
|
25
|
-
<Button styleType={ButtonStyleType.
|
|
23
|
+
<Button styleType={ButtonStyleType.Outlined} icon={faBold} aria-label="Bold" />
|
|
24
|
+
<Button styleType={ButtonStyleType.Outlined} icon={faItalic} aria-label="Italic" />
|
|
25
|
+
<Button styleType={ButtonStyleType.Outlined} icon={faUnderline} aria-label="Underline" />
|
|
26
26
|
</ButtonGroup>
|
|
27
27
|
|
|
28
28
|
// Vertical
|
|
29
29
|
<ButtonGroup orientation={ButtonGroupOrientation.Vertical}>
|
|
30
|
-
<Button styleType={ButtonStyleType.
|
|
31
|
-
<Button styleType={ButtonStyleType.
|
|
32
|
-
<Button styleType={ButtonStyleType.
|
|
30
|
+
<Button styleType={ButtonStyleType.Outlined}>Bold</Button>
|
|
31
|
+
<Button styleType={ButtonStyleType.Outlined}>Italic</Button>
|
|
32
|
+
<Button styleType={ButtonStyleType.Outlined}>Underline</Button>
|
|
33
33
|
</ButtonGroup>
|
|
34
34
|
|
|
35
35
|
// With a separator — filled styles (Primary/Delete) have no border of their own to merge,
|
|
@@ -37,23 +37,23 @@ import { ButtonGroup, ButtonGroupOrientation, Button, ButtonStyleType } from '@a
|
|
|
37
37
|
import { Divider, DividerOrientation } from '@ahrowe/ui';
|
|
38
38
|
|
|
39
39
|
<ButtonGroup>
|
|
40
|
-
<Button styleType={ButtonStyleType.
|
|
40
|
+
<Button styleType={ButtonStyleType.Filled}>Save</Button>
|
|
41
41
|
<Divider orientation={DividerOrientation.Vertical} />
|
|
42
|
-
<Button styleType={ButtonStyleType.
|
|
42
|
+
<Button styleType={ButtonStyleType.Filled}>Save & new</Button>
|
|
43
43
|
</ButtonGroup>
|
|
44
44
|
|
|
45
45
|
// Nested groups — a toolbar made of two self-contained sub-groups, spaced apart rather
|
|
46
46
|
// than merged into one continuous strip
|
|
47
47
|
<ButtonGroup>
|
|
48
48
|
<ButtonGroup>
|
|
49
|
-
<Button styleType={ButtonStyleType.
|
|
50
|
-
<Button styleType={ButtonStyleType.
|
|
51
|
-
<Button styleType={ButtonStyleType.
|
|
49
|
+
<Button styleType={ButtonStyleType.Outlined} icon={faBold} aria-label="Bold" />
|
|
50
|
+
<Button styleType={ButtonStyleType.Outlined} icon={faItalic} aria-label="Italic" />
|
|
51
|
+
<Button styleType={ButtonStyleType.Outlined} icon={faUnderline} aria-label="Underline" />
|
|
52
52
|
</ButtonGroup>
|
|
53
53
|
<ButtonGroup>
|
|
54
|
-
<Button styleType={ButtonStyleType.
|
|
55
|
-
<Button styleType={ButtonStyleType.
|
|
56
|
-
<Button styleType={ButtonStyleType.
|
|
54
|
+
<Button styleType={ButtonStyleType.Outlined} icon={faAlignLeft} aria-label="Align left" />
|
|
55
|
+
<Button styleType={ButtonStyleType.Outlined} icon={faAlignCenter} aria-label="Align center" />
|
|
56
|
+
<Button styleType={ButtonStyleType.Outlined} icon={faAlignRight} aria-label="Align right" />
|
|
57
57
|
</ButtonGroup>
|
|
58
58
|
</ButtonGroup>
|
|
59
59
|
|
|
@@ -64,7 +64,7 @@ import { Input } from '@ahrowe/ui';
|
|
|
64
64
|
|
|
65
65
|
<ButtonGroup>
|
|
66
66
|
<Input placeholder="Search…" value={search} onChange={setSearch} />
|
|
67
|
-
<Button styleType={ButtonStyleType.
|
|
67
|
+
<Button styleType={ButtonStyleType.Filled} icon={faMagnifyingGlass} aria-label="Search" />
|
|
68
68
|
</ButtonGroup>
|
|
69
69
|
```
|
|
70
70
|
|
package/docs/CLAUDE.md
CHANGED
|
@@ -32,8 +32,13 @@ enums and slot names. Do not infer props from a component's name.
|
|
|
32
32
|
- **Text a component renders itself** (close buttons, empty messages, page labels) is set with its
|
|
33
33
|
`labels` prop. App-wide defaults for any prop go through `AhroweProvider`'s `defaultProps`
|
|
34
34
|
(ConfigProvider.md).
|
|
35
|
-
- **Variants are enums**, not strings: `ButtonStyleType.
|
|
35
|
+
- **Variants are enums**, not strings: `ButtonStyleType.Filled`, `ButtonSize.Small`. Each doc lists
|
|
36
36
|
them under **Enums**.
|
|
37
|
+
- **Colours are one vocabulary.** Every `color` prop takes a `ThemeColor` (`Primary`, `Neutral`,
|
|
38
|
+
`Success`, `Info`, `Warn`, `Error`) or any CSS colour, and a separate `styleType` sets how much
|
|
39
|
+
the component stands out, so any style works in any colour (ThemeColor.md). Pick the style by
|
|
40
|
+
emphasis, the same way everywhere: `Filled` for the one main action of a region (at most one),
|
|
41
|
+
`Light` for status and selection, `Outlined` for secondary actions, `Plain` for tertiary ones.
|
|
37
42
|
- **`icon` props** take a FontAwesome `IconDefinition` or any React element.
|
|
38
43
|
- **`ref`** is a plain prop, there is no `forwardRef`. It lands on the element you would reach for:
|
|
39
44
|
Input, Textarea, NumberInput and SearchInput hand out their inner `<input>`. Timer, Flip, Tilt,
|
|
@@ -44,6 +49,10 @@ enums and slot names. Do not infer props from a component's name.
|
|
|
44
49
|
or validates a plan. No right-to-left support.
|
|
45
50
|
`prefers-reduced-motion` is honoured. Built for Chrome and Edge 111, Firefox 114, Safari 16.4
|
|
46
51
|
and newer, with no polyfills. The package is 0.x: a minor can break, a patch cannot.
|
|
52
|
+
- **Upgrading.** Every breaking change has a `## Migration from …` section, an old-to-new table,
|
|
53
|
+
in the doc of the component it changed. When TypeScript reports a name as missing after an
|
|
54
|
+
update, search the docs for that name. `CHANGELOG.md` beside `docs/` lists every change by
|
|
55
|
+
version and names the section to read.
|
|
47
56
|
|
|
48
57
|
## Components
|
|
49
58
|
|
|
@@ -51,24 +60,24 @@ enums and slot names. Do not infer props from a component's name.
|
|
|
51
60
|
|
|
52
61
|
| Doc | Exports | When to use |
|
|
53
62
|
|-----|---------|-------------|
|
|
54
|
-
| Accordion.md | Accordion | Collapsible sections for progressive disclosure — FAQs, settings panels, long-form content that users expand on demand |
|
|
63
|
+
| Accordion.md | Accordion, AccordionStyleType, ThemeColor | Collapsible sections for progressive disclosure — FAQs, settings panels, long-form content that users expand on demand |
|
|
55
64
|
| ActionButtons.md | ActionButtons | Standardised Submit / Cancel button pair for forms, dialogs, and drawer footers |
|
|
56
|
-
| ActionIcon.md | ActionIcon | Clickable icon button without a label — toolbar actions, table row actions, icon-only controls |
|
|
65
|
+
| ActionIcon.md | ActionIcon | Clickable icon button without a label — toolbar actions, table row actions, close buttons, icon-only controls |
|
|
57
66
|
| AhroweProvider.md | AhroweProvider | The one wrapper an app needs, at its root: it applies the theme, sets default props for every component, shows toasts and renders the element that Modal, Tooltip, Popover, Menu and Toast portal into |
|
|
58
|
-
| Alert.md | Alert,
|
|
67
|
+
| Alert.md | Alert, ThemeColor | A persistent inline status message, used for form-level errors, page/section banners, empty-config warnings, and "here's what changed" notices |
|
|
59
68
|
| AnimatedLogo.md | AnimatedLogo | A self-drawing SVG mark for splash/loading screens, empty states, or anywhere a brand or icon mark should feel alive rather than static |
|
|
60
69
|
| AnimatedText.md | AnimatedText, AnimatedTextVariant, AnimatedTextUnit | Decorative text entrance or emphasis effect, for hero headlines, empty-state messages, "premium"/"new" callouts, loading/decoding states |
|
|
61
70
|
| Avatar.md | Avatar, AvatarGroup | User or entity image — profile pictures, comment authors, member lists |
|
|
62
|
-
| Badge.md | Badge, BadgeStyleType, BadgePosition | Small count or status indicator — unread counts, notification dots, "new" markers |
|
|
71
|
+
| Badge.md | Badge, BadgeStyleType, BadgePosition, ThemeColor | Small count or status indicator — unread counts, notification dots, "new" markers |
|
|
63
72
|
| BodyEnd.md | BodyEnd | Renders children through a React portal, to the end of the app |
|
|
64
73
|
| Breadcrumb.md | Breadcrumb | A trail showing the current page's position within a hierarchy, with links back to each ancestor, such as a file browser path, a category/subcategory drill-down, or a multi-level settings page |
|
|
65
|
-
| Button.md | Button, ButtonStyleType, ButtonSize, ButtonType | Primary interactive action trigger |
|
|
74
|
+
| Button.md | Button, ButtonStyleType, ButtonSize, ButtonType, ThemeColor | Primary interactive action trigger |
|
|
66
75
|
| ButtonGroup.md | ButtonGroup, ButtonGroupOrientation | Joins a row (or column) of buttons into a single seamless control, merging their borders and rounding only the outer corners |
|
|
67
|
-
| Calendar.md | Calendar, CalendarView | Showing and editing your own events over time, in month, week, day and agenda views: bookings, shifts, appointments
|
|
68
|
-
| Card.md | Card, CardStyleType, CardHeader, CardMedia, CardContent, CardActions | Surface container for grouping related content — list items, profile cards, dashboard tiles, product listings |
|
|
76
|
+
| Calendar.md | Calendar, CalendarView | Showing and editing your own events over time, in month, week, day and agenda views: bookings, shifts, appointments |
|
|
77
|
+
| Card.md | Card, CardStyleType, CardHeader, CardMedia, CardContent, CardActions, ThemeColor | Surface container for grouping related content — list items, profile cards, dashboard tiles, product listings |
|
|
69
78
|
| Carousel.md | Carousel | A slide track for stepping through a set of items one at a time, with arrows, dots, and drag/swipe support, plus optional autoplay |
|
|
70
79
|
| Checkbox.md | Checkbox | Boolean toggle input — settings, multi-select lists, accept terms, feature flags |
|
|
71
|
-
| Chip.md | Chip, ChipContainer, ChipStyleType | Compact tag, label, or filter token — selected items, applied filters, category badges, user avatars with remove |
|
|
80
|
+
| Chip.md | Chip, ChipContainer, ChipStyleType, ThemeColor | Compact tag, label, or filter token — selected items, applied filters, category badges, user avatars with remove |
|
|
72
81
|
| ColorPicker.md | ColorPicker | Hex colour selection — theme editors, annotation tools, customisation panels |
|
|
73
82
|
| CommandPalette.md | CommandPalette | A search-first dialog for running any command or jumping anywhere in the app from the keyboard, usually opened with ⌘K / Ctrl+K |
|
|
74
83
|
| ConfigProvider.md | ConfigProvider | Set global **default props** for library components once, near the root of your app, instead of repeating the same prop on every instance |
|
|
@@ -94,7 +103,8 @@ enums and slot names. Do not infer props from a component's name.
|
|
|
94
103
|
| InteractableDiv.md | InteractableDiv | Accessible `<div>` that behaves like a button — click and keyboard (Enter/Space) events, with proper ARIA semantics |
|
|
95
104
|
| KanbanBoard.md | KanbanBoard, KanbanColumn | Drag-and-drop board with columns — task management, workflow stages, status boards (e.g. Todo / In Progress / Done) |
|
|
96
105
|
| KlipyPicker.md | KlipyPicker | GIF picker backed by the Klipy API — chat reactions, message composers, content authoring tools |
|
|
97
|
-
|
|
|
106
|
+
| Loader.md | Loader, LoaderType, ThemeColor | A loading indicator for something in progress with no known end: a fetch, a save, a connection |
|
|
107
|
+
| LoadingOverlay.md | LoadingOverlay, Loader, LoaderType | Covering content while it reloads: a table refreshing, a form saving, a panel fetching its next page |
|
|
98
108
|
| Menu.md | Menu, menuHotkeys | A list of actions hanging off a trigger — a row's "more" button, a toolbar overflow, a context menu on a card |
|
|
99
109
|
| Modal.md | Modal | Full overlay dialog — forms, detail views, confirmations, wizards that need to block the rest of the UI |
|
|
100
110
|
| MultiSelect.md | MultiSelect | Pick several options from a list |
|
|
@@ -115,7 +125,7 @@ enums and slot names. Do not infer props from a component's name.
|
|
|
115
125
|
| ScrollbarProvider.md | ScrollbarProvider | Applies custom scrollbar styling to a scrollable region — use to keep scrollbar appearance consistent with the theme |
|
|
116
126
|
| SearchInput.md | SearchInput | Search field with built-in debouncing and an optional result count line — list filters, search-as-you-type pages |
|
|
117
127
|
| SectionHeader.md | SectionHeader, SectionHeaderSize | A reusable heading block for the top of a page, panel, card, or any section — a title with an optional subtitle, a leading icon or thumbnail, and a trailing actions area |
|
|
118
|
-
| Skeleton.md | Skeleton, SkeletonVariant, SkeletonAnimation | Content-shaped loading placeholder, shown while real content is being fetched — more polished than a
|
|
128
|
+
| Skeleton.md | Skeleton, SkeletonVariant, SkeletonAnimation | Content-shaped loading placeholder, shown while real content is being fetched — more polished than a Loader for content-heavy pages (lists, cards, profile headers) |
|
|
119
129
|
| Slider.md | Slider | Let the user pick a number from a continuous or stepped range by dragging a thumb: volume, brightness, price ranges, zoom, quality presets |
|
|
120
130
|
| SplitButton.md | SplitButton | A primary action button with a small attached dropdown for closely related secondary actions, e.g. "Save ▾" opening "Save as draft" / "Save and close" |
|
|
121
131
|
| Stepper.md | Stepper | Step progress indicator for multi-step forms, onboarding flows, and checkout wizards |
|
|
@@ -123,12 +133,13 @@ enums and slot names. Do not infer props from a component's name.
|
|
|
123
133
|
| Switch.md | Switch | Sliding boolean toggle — settings panels, feature flags, preference lists |
|
|
124
134
|
| TabHeader.md | TabHeader | A horizontal row of tabs to switch between sibling views or sections — settings panels, dashboards, detail pages |
|
|
125
135
|
| Textarea.md | Textarea | Multiline text input — comments, descriptions, notes, code snippets, long-form content |
|
|
136
|
+
| ThemeColor.md | ThemeColor | The `color` prop of every component that takes one: the theme's named colours, or any CSS colour of your own |
|
|
126
137
|
| ThemeProvider.md | ThemeProvider | Applies a theme to its subtree, injecting its CSS custom properties as inline styles so every component inside can use them |
|
|
127
138
|
| Tilt.md | Tilt, TiltGroup | Wrap content that should tilt toward the cursor in 3D |
|
|
128
139
|
| TimeInput.md | TimeInput | Time-of-day selection — appointment times, opening hours, shift starts, reminders |
|
|
129
|
-
| Timeline.md | Timeline, TimelineAlignment,
|
|
140
|
+
| Timeline.md | Timeline, TimelineAlignment, ThemeColor | A vertical list of dated events, connected by a line, for audit logs, activity feeds, order status history, and deploy logs |
|
|
130
141
|
| Timer.md | Timer | A countdown timer with a depleting ring, add/remove-time and pause/cancel controls, and an imperative ref API |
|
|
131
|
-
| Toast.md | showToast | Non-blocking notifications — save confirmations, error alerts, info messages, warnings |
|
|
142
|
+
| Toast.md | showToast, ThemeColor | Non-blocking notifications — save confirmations, error alerts, info messages, warnings |
|
|
132
143
|
| Tooltip.md | Tooltip | Contextual help, info icons, field explanations, error pointers |
|
|
133
144
|
| Tree.md | Tree, flattenTree | A hierarchical list the user can expand, collapse and pick from: categories, nested locations, folder structures, org charts |
|
|
134
145
|
| VirtualList.md | VirtualList | Efficiently render large lists or tables — thousands of rows rendered with a virtualised scroll window so only visible rows are in the DOM |
|