@koobiq/react-components 0.0.1-beta.9 → 0.1.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/dist/components/Alert/Alert.js +36 -21
- package/dist/components/Alert/components/AlertIcon/AlertIcon.js +3 -3
- package/dist/components/Alert/components/AlertIcon/types.d.ts +1 -1
- package/dist/components/Alert/types.d.ts +22 -6
- package/dist/components/AnimatedIcon/types.d.ts +1 -1
- package/dist/components/Backdrop/Backdrop.js +10 -2
- package/dist/components/Backdrop/types.d.ts +12 -2
- package/dist/components/Badge/Badge.js +34 -23
- package/dist/components/Badge/types.d.ts +12 -4
- package/dist/components/Button/Button.js +42 -26
- package/dist/components/Button/Button.module.css.js +5 -2
- package/dist/components/Button/types.d.ts +25 -21
- package/dist/components/ButtonToggleGroup/ButtonToggleGroup.d.ts +2 -0
- package/dist/components/ButtonToggleGroup/ButtonToggleGroup.js +130 -0
- package/dist/components/ButtonToggleGroup/ButtonToggleGroup.module.css.js +17 -0
- package/dist/components/ButtonToggleGroup/ButtonToggleGroupContext.d.ts +7 -0
- package/dist/components/ButtonToggleGroup/ButtonToggleGroupContext.js +12 -0
- package/dist/components/ButtonToggleGroup/components/ButtonToggle/ButtonToggle.d.ts +2 -0
- package/dist/components/ButtonToggleGroup/components/ButtonToggle/ButtonToggle.js +90 -0
- package/dist/components/ButtonToggleGroup/components/ButtonToggle/ButtonToggle.module.css.js +32 -0
- package/dist/components/ButtonToggleGroup/components/ButtonToggle/index.d.ts +2 -0
- package/dist/components/ButtonToggleGroup/components/ButtonToggle/types.d.ts +27 -0
- package/dist/components/ButtonToggleGroup/components/index.d.ts +1 -0
- package/dist/components/ButtonToggleGroup/index.d.ts +3 -0
- package/dist/components/ButtonToggleGroup/reducer.d.ts +23 -0
- package/dist/components/ButtonToggleGroup/reducer.js +25 -0
- package/dist/components/ButtonToggleGroup/types.d.ts +38 -0
- package/dist/components/ButtonToggleGroup/utils.d.ts +3 -0
- package/dist/components/ButtonToggleGroup/utils.js +19 -0
- package/dist/components/Calendar/Calendar.d.ts +2 -0
- package/dist/components/Calendar/Calendar.js +42 -0
- package/dist/components/Calendar/Calendar.module.css.js +14 -0
- package/dist/components/Calendar/components/CalendarCell/CalendarCell.d.ts +7 -0
- package/dist/components/Calendar/components/CalendarCell/CalendarCell.js +51 -0
- package/dist/components/Calendar/components/CalendarCell/CalendarCell.module.css.js +32 -0
- package/dist/components/Calendar/components/CalendarCell/index.d.ts +1 -0
- package/dist/components/Calendar/components/CalendarGrid/CalendarGrid.d.ts +6 -0
- package/dist/components/Calendar/components/CalendarGrid/CalendarGrid.js +28 -0
- package/dist/components/Calendar/components/CalendarGrid/CalendarGrid.module.css.js +14 -0
- package/dist/components/Calendar/components/CalendarGrid/index.d.ts +1 -0
- package/dist/components/Calendar/components/CalendarHeader/CalendarHeader.d.ts +8 -0
- package/dist/components/Calendar/components/CalendarHeader/CalendarHeader.js +54 -0
- package/dist/components/Calendar/components/CalendarHeader/CalendarHeader.module.css.js +11 -0
- package/dist/components/Calendar/components/CalendarHeader/index.d.ts +1 -0
- package/dist/components/Calendar/components/CalendarMonthDropdown/CalendarMonthDropdown.d.ts +6 -0
- package/dist/components/Calendar/components/CalendarMonthDropdown/CalendarMonthDropdown.js +101 -0
- package/dist/components/Calendar/components/CalendarMonthDropdown/index.d.ts +1 -0
- package/dist/components/Calendar/components/CalendarYearDropdown/CalendarYearDropdown.d.ts +6 -0
- package/dist/components/Calendar/components/CalendarYearDropdown/CalendarYearDropdown.js +76 -0
- package/dist/components/Calendar/components/CalendarYearDropdown/index.d.ts +1 -0
- package/dist/components/Calendar/components/index.d.ts +2 -0
- package/dist/components/Calendar/index.d.ts +2 -0
- package/dist/components/Calendar/intl.json.js +7 -0
- package/dist/components/Calendar/types.d.ts +13 -0
- package/dist/components/Checkbox/Checkbox.d.ts +15 -5
- package/dist/components/Checkbox/Checkbox.js +81 -17
- package/dist/components/Checkbox/Checkbox.module.css.js +6 -6
- package/dist/components/Checkbox/types.d.ts +66 -10
- package/dist/components/Checkbox/types.js +1 -0
- package/dist/components/Collections/Cell.d.ts +28 -0
- package/dist/components/Collections/Cell.js +10 -0
- package/dist/components/Collections/Column.d.ts +28 -0
- package/dist/components/Collections/Column.js +10 -0
- package/dist/components/Collections/Divider.d.ts +19 -0
- package/dist/components/Collections/Divider.js +14 -0
- package/dist/components/Collections/Header.d.ts +20 -0
- package/dist/components/Collections/Header.js +16 -0
- package/dist/components/Collections/Item.d.ts +14 -0
- package/dist/components/Collections/Item.js +10 -0
- package/dist/components/Collections/Row.d.ts +14 -0
- package/dist/components/Collections/Row.js +10 -0
- package/dist/components/{List/ListSection.d.ts → Collections/Section.d.ts} +6 -6
- package/dist/components/Collections/Section.js +10 -0
- package/dist/components/Collections/TableBody.d.ts +6 -0
- package/dist/components/Collections/TableBody.js +10 -0
- package/dist/components/Collections/TableHeader.d.ts +6 -0
- package/dist/components/Collections/TableHeader.js +10 -0
- package/dist/components/Collections/index.d.ts +9 -0
- package/dist/components/Container/Container.js +13 -2
- package/dist/components/Container/types.d.ts +16 -6
- package/dist/components/DateInput/DateInput.d.ts +5 -0
- package/dist/components/DateInput/DateInput.js +105 -0
- package/dist/components/DateInput/DateInput.module.css.js +8 -0
- package/dist/components/DateInput/index.d.ts +2 -0
- package/dist/components/DateInput/types.d.ts +47 -0
- package/dist/components/DateInput/types.js +4 -0
- package/dist/components/DatePicker/DatePicker.d.ts +5 -0
- package/dist/components/DatePicker/DatePicker.js +101 -0
- package/dist/components/DatePicker/DatePicker.module.css.js +8 -0
- package/dist/components/DatePicker/index.d.ts +2 -0
- package/dist/components/DatePicker/types.d.ts +34 -0
- package/dist/components/DateSegment/DateSegment.d.ts +7 -0
- package/dist/components/DateSegment/DateSegment.js +34 -0
- package/dist/components/DateSegment/DateSegment.module.css.js +17 -0
- package/dist/components/DateSegment/index.d.ts +1 -0
- package/dist/components/DateSegment/intl.json.js +7 -0
- package/dist/components/DateSegment/utils.d.ts +3 -0
- package/dist/components/DateSegment/utils.js +6 -0
- package/dist/components/Dialog/Dialog.d.ts +9 -1
- package/dist/components/Dialog/Dialog.js +31 -17
- package/dist/components/Dialog/components/DialogBody.d.ts +13 -0
- package/dist/components/Dialog/components/{DialogContent.js → DialogBody.js} +9 -8
- package/dist/components/Dialog/components/DialogCloseButton.d.ts +20 -1
- package/dist/components/Dialog/components/DialogCloseButton.js +4 -7
- package/dist/components/Dialog/components/index.d.ts +1 -1
- package/dist/components/Dialog/index.d.ts +0 -1
- package/dist/components/Dialog/types.d.ts +1 -1
- package/dist/components/Divider/Divider.d.ts +4 -0
- package/dist/components/Divider/Divider.js +47 -0
- package/dist/components/Divider/Divider.module.css.js +29 -0
- package/dist/components/Divider/index.d.ts +2 -0
- package/dist/components/Divider/types.d.ts +22 -0
- package/dist/components/Divider/types.js +4 -0
- package/dist/components/FieldComponents/FieldAddon/FieldAddon.d.ts +2 -1
- package/dist/components/FieldComponents/FieldAddon/FieldAddon.js +19 -2
- package/dist/components/FieldComponents/FieldAddon/FieldAddon.module.css.js +6 -3
- package/dist/components/FieldComponents/FieldControl/FieldControl.d.ts +6 -8
- package/dist/components/FieldComponents/FieldControl/FieldControl.js +5 -8
- package/dist/components/FieldComponents/FieldError/FieldError.d.ts +1 -1
- package/dist/components/FieldComponents/FieldError/FieldError.js +1 -1
- package/dist/components/FieldComponents/FieldInput/FieldInput.d.ts +3 -3
- package/dist/components/FieldComponents/FieldInput/FieldInput.js +4 -4
- package/dist/components/FieldComponents/FieldInput/FieldInput.module.css.js +3 -3
- package/dist/components/FieldComponents/FieldInputDate/FieldInputDate.d.ts +12 -0
- package/dist/components/FieldComponents/FieldInputDate/FieldInputDate.js +32 -0
- package/dist/components/FieldComponents/FieldInputDate/FieldInputDate.module.css.js +20 -0
- package/dist/components/FieldComponents/FieldInputDate/index.d.ts +1 -0
- package/dist/components/FieldComponents/FieldInputGroup/FieldInputGroup.d.ts +2 -2
- package/dist/components/FieldComponents/FieldInputGroup/FieldInputGroup.js +54 -32
- package/dist/components/FieldComponents/FieldInputGroup/FieldInputGroupContext.d.ts +4 -3
- package/dist/components/FieldComponents/FieldLabel/FieldLabel.d.ts +2 -2
- package/dist/components/FieldComponents/FieldLabel/FieldLabel.js +3 -3
- package/dist/components/FieldComponents/FieldSelect/FieldSelect.d.ts +13 -0
- package/dist/components/FieldComponents/FieldSelect/FieldSelect.js +37 -0
- package/dist/components/FieldComponents/FieldSelect/FieldSelect.module.css.js +20 -0
- package/dist/components/FieldComponents/FieldSelect/index.d.ts +1 -0
- package/dist/components/FieldComponents/index.d.ts +2 -1
- package/dist/components/FormControlLabel/types.d.ts +5 -5
- package/dist/components/Grid/Grid.d.ts +8 -2
- package/dist/components/Grid/Grid.js +5 -2
- package/dist/components/Grid/types.d.ts +2 -2
- package/dist/components/IconButton/IconButton.js +38 -22
- package/dist/components/IconButton/index.d.ts +2 -2
- package/dist/components/IconButton/types.d.ts +30 -19
- package/dist/components/Input/Input.d.ts +24 -13
- package/dist/components/Input/Input.js +60 -13
- package/dist/components/Input/types.d.ts +51 -29
- package/dist/components/InputNumber/InputNumber.d.ts +24 -12
- package/dist/components/InputNumber/InputNumber.js +77 -26
- package/dist/components/InputNumber/components/InputNumberCounterControls.js +12 -12
- package/dist/components/InputNumber/components/InputNumberCounterControls.module.css.js +7 -4
- package/dist/components/InputNumber/types.d.ts +51 -28
- package/dist/components/Link/Link.js +32 -10
- package/dist/components/Link/Link.module.css.js +4 -4
- package/dist/components/Link/types.d.ts +38 -10
- package/dist/components/List/List.d.ts +17 -3
- package/dist/components/List/List.js +20 -8
- package/dist/components/List/List.module.css.js +0 -3
- package/dist/components/List/components/ListItemText/ListItemText.js +26 -0
- package/dist/components/List/components/ListItemText/ListItemText.module.css.js +11 -0
- package/dist/components/List/components/ListOption/ListOption.d.ts +5 -3
- package/dist/components/List/components/ListOption/ListOption.js +10 -15
- package/dist/components/List/components/ListSection/ListSection.d.ts +5 -3
- package/dist/components/List/components/ListSection/ListSection.js +1 -4
- package/dist/components/List/index.d.ts +2 -2
- package/dist/components/List/types.d.ts +5 -39
- package/dist/components/Menu/Menu.d.ts +15 -0
- package/dist/components/Menu/Menu.js +75 -0
- package/dist/components/Menu/Menu.module.css.js +8 -0
- package/dist/components/Menu/components/MenuHeader/MenuHeader.d.ts +5 -0
- package/dist/components/Menu/components/MenuHeader/MenuHeader.js +9 -0
- package/dist/components/Menu/components/MenuHeader/index.d.ts +1 -0
- package/dist/components/Menu/components/MenuInner/MenuInner.d.ts +6 -0
- package/dist/components/Menu/components/MenuInner/MenuInner.js +46 -0
- package/dist/components/Menu/components/MenuInner/MenuInner.module.css.js +11 -0
- package/dist/components/Menu/components/MenuInner/index.d.ts +1 -0
- package/dist/components/Menu/components/MenuItem/MenuItem.d.ts +7 -0
- package/dist/components/Menu/components/MenuItem/MenuItem.js +36 -0
- package/dist/components/Menu/components/MenuItem/index.d.ts +1 -0
- package/dist/components/Menu/components/MenuSection/MenuSection.d.ts +7 -0
- package/dist/components/Menu/components/MenuSection/MenuSection.js +30 -0
- package/dist/components/Menu/components/MenuSection/MenuSection.module.css.js +11 -0
- package/dist/components/Menu/components/MenuSection/index.d.ts +1 -0
- package/dist/components/Menu/components/index.d.ts +1 -0
- package/dist/components/Menu/index.d.ts +2 -0
- package/dist/components/Menu/types.d.ts +49 -0
- package/dist/components/Modal/Modal.d.ts +33 -2
- package/dist/components/Modal/Modal.js +23 -16
- package/dist/components/Modal/index.d.ts +15 -2
- package/dist/components/Modal/index.js +9 -0
- package/dist/components/Modal/types.d.ts +14 -5
- package/dist/components/Popover/Popover.d.ts +42 -2
- package/dist/components/Popover/Popover.js +23 -141
- package/dist/components/Popover/Popover.module.css.js +3 -0
- package/dist/components/Popover/PopoverInner.d.ts +3 -0
- package/dist/components/Popover/PopoverInner.js +143 -0
- package/dist/components/Popover/index.d.ts +15 -2
- package/dist/components/Popover/index.js +9 -0
- package/dist/components/Popover/types.d.ts +35 -10
- package/dist/components/Popover/types.js +9 -1
- package/dist/components/ProgressBar/ProgressBar.js +5 -5
- package/dist/components/ProgressBar/types.d.ts +10 -22
- package/dist/components/ProgressSpinner/ProgressSpinner.js +5 -5
- package/dist/components/ProgressSpinner/types.d.ts +12 -24
- package/dist/components/Provider/Provider.d.ts +1 -1
- package/dist/components/Provider/Provider.js +8 -4
- package/dist/components/Provider/types.d.ts +3 -1
- package/dist/components/RadioGroup/RadioGroup.js +42 -2
- package/dist/components/RadioGroup/components/Radio/Radio.d.ts +7 -4
- package/dist/components/RadioGroup/components/Radio/Radio.js +35 -10
- package/dist/components/RadioGroup/components/Radio/Radio.module.css.js +6 -6
- package/dist/components/RadioGroup/components/Radio/types.d.ts +25 -10
- package/dist/components/RadioGroup/components/Radio/types.js +1 -0
- package/dist/components/RadioGroup/types.d.ts +44 -17
- package/dist/components/Select/Select.d.ts +11 -0
- package/dist/components/Select/Select.js +204 -0
- package/dist/components/Select/Select.module.css.js +20 -0
- package/dist/components/Select/index.d.ts +2 -0
- package/dist/components/Select/types.d.ts +86 -0
- package/dist/components/SidePanel/SidePanel.d.ts +35 -2
- package/dist/components/SidePanel/SidePanel.js +31 -18
- package/dist/components/SidePanel/SidePanel.module.css.js +7 -1
- package/dist/components/SidePanel/index.d.ts +15 -2
- package/dist/components/SidePanel/index.js +9 -0
- package/dist/components/SidePanel/types.d.ts +26 -8
- package/dist/components/SidePanel/types.js +2 -0
- package/dist/components/SkeletonBlock/SkeletonBlock.d.ts +3 -1
- package/dist/components/SkeletonTypography/SkeletonTypography.d.ts +3 -1
- package/dist/components/SkeletonTypography/types.d.ts +2 -2
- package/dist/components/Table/Table.d.ts +12 -0
- package/dist/components/Table/Table.js +97 -0
- package/dist/components/Table/Table.module.css.js +11 -0
- package/dist/components/Table/components/TableCell/TableCell.d.ts +7 -0
- package/dist/components/Table/components/TableCell/TableCell.js +39 -0
- package/dist/components/Table/components/TableCell/TableCell.module.css.js +27 -0
- package/dist/components/Table/components/TableCell/index.d.ts +1 -0
- package/dist/components/Table/components/TableCheckboxCell/TableCheckboxCell.d.ts +7 -0
- package/dist/components/Table/components/TableCheckboxCell/TableCheckboxCell.js +21 -0
- package/dist/components/Table/components/TableCheckboxCell/index.d.ts +1 -0
- package/dist/components/Table/components/TableColumnHeader/TableColumnHeader.d.ts +7 -0
- package/dist/components/Table/components/TableColumnHeader/TableColumnHeader.js +46 -0
- package/dist/components/Table/components/TableColumnHeader/TableColumnHeader.module.css.js +27 -0
- package/dist/components/Table/components/TableColumnHeader/index.d.ts +1 -0
- package/dist/components/Table/components/TableHeaderRow/TableHeaderRow.d.ts +9 -0
- package/dist/components/Table/components/TableHeaderRow/TableHeaderRow.js +16 -0
- package/dist/components/Table/components/TableHeaderRow/index.d.ts +1 -0
- package/dist/components/Table/components/TableRow/TableRow.d.ts +9 -0
- package/dist/components/Table/components/TableRow/TableRow.js +46 -0
- package/dist/components/Table/components/TableRow/TableRow.module.css.js +23 -0
- package/dist/components/Table/components/TableRow/index.d.ts +1 -0
- package/dist/components/Table/components/TableRowGroup/TableRowGroup.d.ts +6 -0
- package/dist/components/Table/components/TableRowGroup/TableRowGroup.js +15 -0
- package/dist/components/Table/components/TableRowGroup/index.d.ts +1 -0
- package/dist/components/Table/components/TableSelectAllCell/TableSelectAllCell.d.ts +7 -0
- package/dist/components/Table/components/TableSelectAllCell/TableSelectAllCell.js +22 -0
- package/dist/components/Table/components/TableSelectAllCell/index.d.ts +1 -0
- package/dist/components/Table/components/index.d.ts +7 -0
- package/dist/components/Table/index.d.ts +1 -0
- package/dist/components/Table/types.d.ts +49 -0
- package/dist/components/Table/utils.d.ts +2 -0
- package/dist/components/Table/utils.js +8 -0
- package/dist/components/TagGroup/Tag.d.ts +24 -0
- package/dist/components/TagGroup/Tag.js +10 -0
- package/dist/components/TagGroup/TagGroup.d.ts +2 -0
- package/dist/components/TagGroup/TagGroup.js +23 -0
- package/dist/components/TagGroup/TagGroup.module.css.js +8 -0
- package/dist/components/TagGroup/components/TagInner/TagInner.d.ts +11 -0
- package/dist/components/TagGroup/components/TagInner/TagInner.js +86 -0
- package/dist/components/TagGroup/components/TagInner/TagInner.module.css.js +30 -0
- package/dist/components/TagGroup/components/TagInner/index.d.ts +1 -0
- package/dist/components/TagGroup/components/TagInner/utils.d.ts +3 -0
- package/dist/components/TagGroup/components/TagInner/utils.js +9 -0
- package/dist/components/TagGroup/components/index.d.ts +1 -0
- package/dist/components/TagGroup/index.d.ts +3 -0
- package/dist/components/TagGroup/intl.json.js +7 -0
- package/dist/components/TagGroup/types.d.ts +26 -0
- package/dist/components/TagGroup/types.js +9 -0
- package/dist/components/Textarea/Textarea.d.ts +12 -9
- package/dist/components/Textarea/Textarea.js +48 -3
- package/dist/components/Textarea/components/TextareaContextConsumer/TextareaContextConsumer.d.ts +4 -4
- package/dist/components/Textarea/components/TextareaContextConsumer/TextareaContextConsumer.js +15 -12
- package/dist/components/Textarea/types.d.ts +51 -28
- package/dist/components/Textarea/utils/useTextareaAutosize.d.ts +1 -1
- package/dist/components/Textarea/utils/useTextareaAutosize.js +2 -2
- package/dist/components/TimePicker/TimePicker.d.ts +5 -0
- package/dist/components/TimePicker/TimePicker.js +112 -0
- package/dist/components/TimePicker/TimePicker.module.css.js +11 -0
- package/dist/components/TimePicker/index.d.ts +2 -0
- package/dist/components/TimePicker/types.d.ts +46 -0
- package/dist/components/Toggle/Toggle.d.ts +13 -5
- package/dist/components/Toggle/Toggle.js +72 -11
- package/dist/components/Toggle/Toggle.module.css.js +6 -6
- package/dist/components/Toggle/types.d.ts +49 -8
- package/dist/components/Tooltip/Tooltip.d.ts +6 -5
- package/dist/components/Tooltip/Tooltip.js +40 -20
- package/dist/components/Tooltip/types.d.ts +26 -24
- package/dist/components/Typography/types.d.ts +10 -5
- package/dist/components/index.d.ts +12 -0
- package/dist/index.js +65 -26
- package/dist/style.css +1094 -229
- package/dist/styles/utility.d.ts +2 -0
- package/dist/styles/utility.js +3 -1
- package/dist/styles/utility.module.css.js +5 -1
- package/dist/types.d.ts +1 -0
- package/dist/utils/capitalizeFirstLetter/capitalizeFirstLetter.d.ts +2 -0
- package/dist/utils/capitalizeFirstLetter/capitalizeFirstLetter.js +6 -0
- package/dist/utils/capitalizeFirstLetter/index.d.ts +1 -0
- package/dist/utils/index.d.ts +1 -0
- package/package.json +13 -7
- package/dist/components/Dialog/DialogContext.d.ts +0 -9
- package/dist/components/Dialog/DialogContext.js +0 -12
- package/dist/components/Dialog/components/DialogContent.d.ts +0 -12
- package/dist/components/FieldComponents/FieldNumberControl/FieldNumberControl.d.ts +0 -10
- package/dist/components/FieldComponents/FieldNumberControl/FieldNumberControl.js +0 -18
- package/dist/components/FieldComponents/FieldNumberControl/FieldNumberControl.module.css.js +0 -11
- package/dist/components/FieldComponents/FieldNumberControl/index.d.ts +0 -1
- package/dist/components/List/ListItem.d.ts +0 -11
- package/dist/components/List/ListItem.js +0 -11
- package/dist/components/List/ListSection.js +0 -11
- package/dist/components/List/components/ListOption/ListOption.module.css.js +0 -23
- package/dist/components/List/types.js +0 -4
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
import { jsxs, Fragment, jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useRef, cloneElement, isValidElement } from "react";
|
|
3
|
+
import { useDOMRef, useBoolean, mergeProps, clsx } from "@koobiq/react-core";
|
|
4
|
+
import { useOverlayTrigger, usePopover, Overlay } from "@koobiq/react-primitives";
|
|
5
|
+
import { Transition } from "react-transition-group";
|
|
6
|
+
import s from "./Popover.module.css.js";
|
|
7
|
+
import { normalizeInlineSize } from "./utils.js";
|
|
8
|
+
import { Dialog } from "../Dialog/Dialog.js";
|
|
9
|
+
const PopoverInner = (props) => {
|
|
10
|
+
const {
|
|
11
|
+
offset = 0,
|
|
12
|
+
size = "medium",
|
|
13
|
+
crossOffset = 0,
|
|
14
|
+
hideArrow = false,
|
|
15
|
+
containerPadding = 12,
|
|
16
|
+
arrowBoundaryOffset = 20,
|
|
17
|
+
placement: placementProp = "top",
|
|
18
|
+
maxBlockSize = 480,
|
|
19
|
+
type = "dialog",
|
|
20
|
+
state,
|
|
21
|
+
control,
|
|
22
|
+
children,
|
|
23
|
+
anchorRef,
|
|
24
|
+
slotProps,
|
|
25
|
+
className,
|
|
26
|
+
isNonModal,
|
|
27
|
+
popoverRef,
|
|
28
|
+
portalContainer,
|
|
29
|
+
hideCloseButton,
|
|
30
|
+
disableFocusManagement,
|
|
31
|
+
disableExitOnEscapeKeyDown,
|
|
32
|
+
shouldCloseOnInteractOutside,
|
|
33
|
+
...other
|
|
34
|
+
} = props;
|
|
35
|
+
const showArrow = !hideArrow;
|
|
36
|
+
const domRef = useDOMRef(popoverRef);
|
|
37
|
+
const controlRef = useRef(null);
|
|
38
|
+
const openState = state.isOpen;
|
|
39
|
+
const [opened, { on, off }] = useBoolean(openState);
|
|
40
|
+
const { triggerProps, overlayProps } = useOverlayTrigger(
|
|
41
|
+
{ type },
|
|
42
|
+
{ ...state, isOpen: openState }
|
|
43
|
+
);
|
|
44
|
+
const {
|
|
45
|
+
popoverProps,
|
|
46
|
+
underlayProps,
|
|
47
|
+
arrowProps: arrowPropsCommon,
|
|
48
|
+
placement
|
|
49
|
+
} = usePopover(
|
|
50
|
+
{
|
|
51
|
+
...props,
|
|
52
|
+
offset,
|
|
53
|
+
isNonModal,
|
|
54
|
+
crossOffset,
|
|
55
|
+
containerPadding,
|
|
56
|
+
popoverRef: domRef,
|
|
57
|
+
arrowBoundaryOffset,
|
|
58
|
+
maxHeight: maxBlockSize,
|
|
59
|
+
placement: placementProp,
|
|
60
|
+
shouldCloseOnInteractOutside,
|
|
61
|
+
triggerRef: anchorRef || controlRef,
|
|
62
|
+
isKeyboardDismissDisabled: disableExitOnEscapeKeyDown
|
|
63
|
+
},
|
|
64
|
+
{ ...state, isOpen: openState || opened }
|
|
65
|
+
);
|
|
66
|
+
const resolvedChildren = () => {
|
|
67
|
+
if (typeof children === "function")
|
|
68
|
+
return cloneElement(children({ close: state.close }), overlayProps);
|
|
69
|
+
if (isValidElement(children)) return cloneElement(children, overlayProps);
|
|
70
|
+
return children;
|
|
71
|
+
};
|
|
72
|
+
const arrowProps = mergeProps(
|
|
73
|
+
{ className: s.arrow },
|
|
74
|
+
arrowPropsCommon,
|
|
75
|
+
slotProps?.arrow
|
|
76
|
+
);
|
|
77
|
+
const dialogProps = mergeProps(
|
|
78
|
+
{
|
|
79
|
+
role: "dialog",
|
|
80
|
+
hideCloseButton,
|
|
81
|
+
className: s.dialog,
|
|
82
|
+
onClose: state.close
|
|
83
|
+
},
|
|
84
|
+
slotProps?.dialog
|
|
85
|
+
);
|
|
86
|
+
const backdropProps = mergeProps(
|
|
87
|
+
{ className: s.underlay },
|
|
88
|
+
slotProps?.backdrop,
|
|
89
|
+
underlayProps
|
|
90
|
+
);
|
|
91
|
+
const transitionProps = mergeProps(
|
|
92
|
+
{
|
|
93
|
+
timeout: 120,
|
|
94
|
+
onEnter: on,
|
|
95
|
+
onExited: off,
|
|
96
|
+
appear: true,
|
|
97
|
+
in: openState,
|
|
98
|
+
nodeRef: domRef,
|
|
99
|
+
unmountOnExit: true
|
|
100
|
+
},
|
|
101
|
+
slotProps?.transition
|
|
102
|
+
);
|
|
103
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
104
|
+
control?.({
|
|
105
|
+
ref: controlRef,
|
|
106
|
+
...triggerProps
|
|
107
|
+
}),
|
|
108
|
+
/* @__PURE__ */ jsx(Transition, { ...transitionProps, children: (transition) => /* @__PURE__ */ jsxs(
|
|
109
|
+
Overlay,
|
|
110
|
+
{
|
|
111
|
+
portalContainer,
|
|
112
|
+
disableFocusManagement,
|
|
113
|
+
children: [
|
|
114
|
+
/* @__PURE__ */ jsx("div", { ...backdropProps }),
|
|
115
|
+
/* @__PURE__ */ jsxs(
|
|
116
|
+
"div",
|
|
117
|
+
{
|
|
118
|
+
ref: domRef,
|
|
119
|
+
"data-size": size,
|
|
120
|
+
"data-arrow": showArrow,
|
|
121
|
+
"data-placement": placement,
|
|
122
|
+
"data-transition": transition,
|
|
123
|
+
className: clsx(s.base, s[size], className),
|
|
124
|
+
...mergeProps(popoverProps, other),
|
|
125
|
+
style: {
|
|
126
|
+
...props.style,
|
|
127
|
+
...popoverProps.style,
|
|
128
|
+
"--popover-inline-size": normalizeInlineSize(size)
|
|
129
|
+
},
|
|
130
|
+
children: [
|
|
131
|
+
showArrow && /* @__PURE__ */ jsx("div", { ...arrowProps, "data-placement": placement }),
|
|
132
|
+
/* @__PURE__ */ jsx("div", { className: s.container, children: type === "dialog" ? /* @__PURE__ */ jsx(Dialog, { ...dialogProps, children: resolvedChildren() }) : resolvedChildren() })
|
|
133
|
+
]
|
|
134
|
+
}
|
|
135
|
+
)
|
|
136
|
+
]
|
|
137
|
+
}
|
|
138
|
+
) })
|
|
139
|
+
] });
|
|
140
|
+
};
|
|
141
|
+
export {
|
|
142
|
+
PopoverInner
|
|
143
|
+
};
|
|
@@ -1,4 +1,17 @@
|
|
|
1
1
|
export * from './Popover';
|
|
2
2
|
export * from './types';
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
/**
|
|
4
|
+
* @deprecated
|
|
5
|
+
* This component has been deprecated, please use `Popover.Header` instead.
|
|
6
|
+
*/
|
|
7
|
+
export declare const PopoverHeader: import("react").ForwardRefExoticComponent<Omit<import("../Dialog").DialogHeaderProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
8
|
+
/**
|
|
9
|
+
* @deprecated
|
|
10
|
+
* This component has been deprecated, please use `Popover.Body` instead.
|
|
11
|
+
*/
|
|
12
|
+
export declare const PopoverContent: import("react").ForwardRefExoticComponent<Omit<import("../Dialog").DialogBodyProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
13
|
+
/**
|
|
14
|
+
* @deprecated
|
|
15
|
+
* This component has been deprecated, please use `Popover.Footer` instead.
|
|
16
|
+
*/
|
|
17
|
+
export declare const PopoverFooter: import("react").ForwardRefExoticComponent<Omit<import("../Dialog").DialogFooterProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { ComponentPropsWithRef, CSSProperties, ReactElement, ReactNode, Ref, RefObject } from 'react';
|
|
2
|
-
import type { ButtonOptions } from '@koobiq/react-primitives';
|
|
2
|
+
import type { OverlayTriggerState, ButtonOptions } from '@koobiq/react-primitives';
|
|
3
|
+
import type { TransitionProps } from 'react-transition-group/Transition';
|
|
3
4
|
import type { DialogProps } from '../Dialog';
|
|
4
5
|
export type PopoverPropContent = ReactNode | ((props: {
|
|
5
6
|
close(): void;
|
|
@@ -11,24 +12,34 @@ export declare const popoverPropPlacement: readonly ["bottom", "bottom start", "
|
|
|
11
12
|
export type PopoverPropPlacement = (typeof popoverPropPlacement)[number];
|
|
12
13
|
export declare const popoverPropSize: readonly ["small", "medium", "large"];
|
|
13
14
|
export type PopoverPropSize = (typeof popoverPropSize)[number] | CSSProperties['inlineSize'];
|
|
15
|
+
export declare const popoverPropType: readonly ["dialog", "menu", "listbox", "tree", "grid"];
|
|
16
|
+
export type PopoverPropType = (typeof popoverPropType)[number];
|
|
17
|
+
type PopoverDeprecatedProps = {
|
|
18
|
+
/**
|
|
19
|
+
* If `true`, the component is shown.
|
|
20
|
+
* @deprecated
|
|
21
|
+
* The "open" prop is deprecated. Use "isOpen" prop to replace it.
|
|
22
|
+
*/
|
|
23
|
+
open?: boolean;
|
|
24
|
+
};
|
|
14
25
|
export type PopoverProps = {
|
|
15
26
|
/** If `true`, the component is shown. */
|
|
16
|
-
|
|
27
|
+
isOpen?: boolean;
|
|
17
28
|
/** The default open state. Use when the component is not controlled. */
|
|
18
29
|
defaultOpen?: boolean;
|
|
19
30
|
/** The content of the component. */
|
|
20
31
|
children?: PopoverPropContent;
|
|
21
|
-
/** The render function of the control for displaying the
|
|
32
|
+
/** The render function of the control for displaying the popover. */
|
|
22
33
|
control?: PopoverPropControl;
|
|
23
34
|
/**
|
|
24
35
|
* Component width size.
|
|
25
|
-
* @default medium
|
|
26
|
-
|
|
36
|
+
* @default 'medium'
|
|
37
|
+
*/
|
|
27
38
|
size?: PopoverPropSize;
|
|
28
39
|
/**
|
|
29
40
|
* If `true`, the close button isn't shown.
|
|
30
41
|
* @default false
|
|
31
|
-
|
|
42
|
+
*/
|
|
32
43
|
hideCloseButton?: boolean;
|
|
33
44
|
/** Handler that is called when the modal's open state changes. */
|
|
34
45
|
onOpenChange?: (open: boolean) => void;
|
|
@@ -44,6 +55,8 @@ export type PopoverProps = {
|
|
|
44
55
|
disableExitOnEscapeKeyDown?: boolean;
|
|
45
56
|
/** Additional CSS-classes. */
|
|
46
57
|
className?: string;
|
|
58
|
+
/** Inline styles. */
|
|
59
|
+
style?: CSSProperties;
|
|
47
60
|
/** Unique identifier for testing purposes. */
|
|
48
61
|
'data-testid'?: string | number;
|
|
49
62
|
/**
|
|
@@ -53,15 +66,15 @@ export type PopoverProps = {
|
|
|
53
66
|
disableFocusManagement?: boolean;
|
|
54
67
|
/**
|
|
55
68
|
* The placement of the element with respect to its anchor element.
|
|
56
|
-
* @default top
|
|
57
|
-
|
|
69
|
+
* @default 'top'
|
|
70
|
+
*/
|
|
58
71
|
placement?: PopoverPropPlacement;
|
|
59
72
|
/** The ref for the element which the popover positions itself with respect to. */
|
|
60
73
|
anchorRef?: RefObject<HTMLElement | null>;
|
|
61
74
|
/**
|
|
62
75
|
* If `true`, the arrow isn't shown.
|
|
63
76
|
* @default false
|
|
64
|
-
|
|
77
|
+
*/
|
|
65
78
|
hideArrow?: boolean;
|
|
66
79
|
/**
|
|
67
80
|
* Whether the popover is non-modal, i.e. elements outside the popover may be
|
|
@@ -102,10 +115,22 @@ export type PopoverProps = {
|
|
|
102
115
|
* By default, onClose will always be called on interaction outside the popover ref.
|
|
103
116
|
*/
|
|
104
117
|
shouldCloseOnInteractOutside?: (element: Element) => boolean;
|
|
118
|
+
type?: PopoverPropType;
|
|
119
|
+
/**
|
|
120
|
+
* The maxBlockSize specified for the overlay element.
|
|
121
|
+
* @default 480
|
|
122
|
+
*/
|
|
123
|
+
maxBlockSize?: number;
|
|
105
124
|
/** The props used for each slot inside. */
|
|
106
125
|
slotProps?: {
|
|
107
126
|
dialog?: DialogProps;
|
|
108
127
|
arrow?: ComponentPropsWithRef<'div'>;
|
|
109
128
|
backdrop?: ComponentPropsWithRef<'div'>;
|
|
129
|
+
transition?: Partial<TransitionProps<HTMLElement>>;
|
|
110
130
|
};
|
|
111
|
-
};
|
|
131
|
+
} & PopoverDeprecatedProps;
|
|
132
|
+
export type PopoverInnerProps = {
|
|
133
|
+
state: OverlayTriggerState;
|
|
134
|
+
popoverRef?: Ref<HTMLDivElement>;
|
|
135
|
+
} & Omit<PopoverProps, 'ref'>;
|
|
136
|
+
export {};
|
|
@@ -13,7 +13,15 @@ const popoverPropPlacement = [
|
|
|
13
13
|
"end bottom"
|
|
14
14
|
];
|
|
15
15
|
const popoverPropSize = ["small", "medium", "large"];
|
|
16
|
+
const popoverPropType = [
|
|
17
|
+
"dialog",
|
|
18
|
+
"menu",
|
|
19
|
+
"listbox",
|
|
20
|
+
"tree",
|
|
21
|
+
"grid"
|
|
22
|
+
];
|
|
16
23
|
export {
|
|
17
24
|
popoverPropPlacement,
|
|
18
|
-
popoverPropSize
|
|
25
|
+
popoverPropSize,
|
|
26
|
+
popoverPropType
|
|
19
27
|
};
|
|
@@ -16,9 +16,9 @@ const ProgressBar = forwardRef(
|
|
|
16
16
|
style,
|
|
17
17
|
...other
|
|
18
18
|
} = props;
|
|
19
|
-
const
|
|
19
|
+
const isIndeterminate = variant === "indeterminate" || !isNotNil(value);
|
|
20
20
|
const setProgressTrackStyles = () => {
|
|
21
|
-
if (
|
|
21
|
+
if (isIndeterminate) return void 0;
|
|
22
22
|
const translateX = Math.max(
|
|
23
23
|
-maxValue,
|
|
24
24
|
Math.min(minValue, (value || minValue) - maxValue)
|
|
@@ -33,10 +33,10 @@ const ProgressBar = forwardRef(
|
|
|
33
33
|
value,
|
|
34
34
|
minValue,
|
|
35
35
|
maxValue,
|
|
36
|
-
|
|
37
|
-
"data-variant":
|
|
36
|
+
isIndeterminate,
|
|
37
|
+
"data-variant": isIndeterminate ? "indeterminate" : "determinate",
|
|
38
38
|
style: { ...style, ...setProgressTrackStyles() },
|
|
39
|
-
className: clsx(s.base,
|
|
39
|
+
className: clsx(s.base, isIndeterminate && s.indeterminate, className),
|
|
40
40
|
...other,
|
|
41
41
|
ref,
|
|
42
42
|
children: /* @__PURE__ */ jsx(
|
|
@@ -1,34 +1,22 @@
|
|
|
1
|
-
import type { ComponentPropsWithRef } from 'react';
|
|
2
|
-
import type { ExtendableComponentPropsWithRef } from '@koobiq/react-core';
|
|
1
|
+
import type { ComponentPropsWithRef, CSSProperties } from 'react';
|
|
2
|
+
import type { ExtendableComponentPropsWithRef, ExtendableProps } from '@koobiq/react-core';
|
|
3
|
+
import type { ProgressBarBaseProps as ProgressBarBasePrimitiveProps } from '@koobiq/react-primitives';
|
|
3
4
|
export declare const progressBarPropVariant: readonly ["indeterminate", "determinate"];
|
|
4
5
|
export type ProgressBarPropVariant = (typeof progressBarPropVariant)[number];
|
|
5
|
-
export type ProgressBarBaseProps = {
|
|
6
|
+
export type ProgressBarBaseProps = ExtendableComponentPropsWithRef<{
|
|
6
7
|
children?: never;
|
|
7
|
-
/**
|
|
8
|
-
* The current value (controlled).
|
|
9
|
-
* @default 0
|
|
10
|
-
*/
|
|
11
|
-
value?: number;
|
|
12
|
-
/**
|
|
13
|
-
* The smallest value allowed for the input.
|
|
14
|
-
* @default 0
|
|
15
|
-
*/
|
|
16
|
-
minValue?: number;
|
|
17
|
-
/**
|
|
18
|
-
* The largest value allowed for the input.
|
|
19
|
-
* @default 100
|
|
20
|
-
*/
|
|
21
|
-
maxValue?: number;
|
|
22
8
|
/** Additional CSS-classes. */
|
|
23
9
|
className?: string;
|
|
10
|
+
/** Inline styles. */
|
|
11
|
+
style?: CSSProperties;
|
|
24
12
|
/**
|
|
25
13
|
* The variant to use. Use indeterminate or query when there is no progress value.
|
|
26
|
-
* @default determinate
|
|
27
|
-
|
|
14
|
+
* @default 'determinate'
|
|
15
|
+
*/
|
|
28
16
|
variant?: ProgressBarPropVariant;
|
|
29
17
|
/** The props used for each slot inside. */
|
|
30
18
|
slotProps?: {
|
|
31
19
|
fill?: ComponentPropsWithRef<'span'>;
|
|
32
20
|
};
|
|
33
|
-
}
|
|
34
|
-
export type ProgressBarProps =
|
|
21
|
+
}, 'div'>;
|
|
22
|
+
export type ProgressBarProps = ExtendableProps<ProgressBarBaseProps, Omit<ProgressBarBasePrimitiveProps, 'children' | 'isIndeterminate' | 'label' | 'formatOptions' | 'valueLabel'>>;
|
|
@@ -16,7 +16,7 @@ const ProgressSpinner = forwardRef((props, ref) => {
|
|
|
16
16
|
slotProps,
|
|
17
17
|
...other
|
|
18
18
|
} = props;
|
|
19
|
-
const
|
|
19
|
+
const isIndeterminate = variant === "indeterminate" || !isNotNil(value);
|
|
20
20
|
const [sizeOfPixels, strokeWidth, radius, strokeDasharray] = useMemo(
|
|
21
21
|
() => getSvgParamsBySize(size),
|
|
22
22
|
[size]
|
|
@@ -28,13 +28,13 @@ const ProgressSpinner = forwardRef((props, ref) => {
|
|
|
28
28
|
"data-size": size,
|
|
29
29
|
minValue,
|
|
30
30
|
maxValue,
|
|
31
|
-
|
|
32
|
-
"data-variant":
|
|
33
|
-
className: clsx(s.base,
|
|
31
|
+
isIndeterminate,
|
|
32
|
+
"data-variant": isIndeterminate ? "indeterminate" : "determinate",
|
|
33
|
+
className: clsx(s.base, isIndeterminate && s.indeterminate, className),
|
|
34
34
|
...other,
|
|
35
35
|
ref,
|
|
36
36
|
children: ({ percentage = 0 }) => {
|
|
37
|
-
const progress =
|
|
37
|
+
const progress = isIndeterminate ? 75 : percentage;
|
|
38
38
|
return /* @__PURE__ */ jsx(
|
|
39
39
|
"svg",
|
|
40
40
|
{
|
|
@@ -1,41 +1,29 @@
|
|
|
1
|
-
import type { ComponentPropsWithRef } from 'react';
|
|
2
|
-
import type { ExtendableComponentPropsWithRef } from '@koobiq/react-core';
|
|
1
|
+
import type { ComponentPropsWithRef, CSSProperties } from 'react';
|
|
2
|
+
import type { ExtendableComponentPropsWithRef, ExtendableProps } from '@koobiq/react-core';
|
|
3
|
+
import type { ProgressBarBaseProps as ProgressBarBasePrimitiveProps } from '@koobiq/react-primitives';
|
|
3
4
|
export declare const progressSpinnerPropSize: readonly ["compact", "big"];
|
|
4
5
|
export type ProgressSpinnerPropSize = (typeof progressSpinnerPropSize)[number];
|
|
5
6
|
export declare const progressSpinnerPropVariant: readonly ["indeterminate", "determinate"];
|
|
6
7
|
export type ProgressSpinnerPropVariant = (typeof progressSpinnerPropVariant)[number];
|
|
7
|
-
export type ProgressSpinnerBaseProps = {
|
|
8
|
+
export type ProgressSpinnerBaseProps = ExtendableComponentPropsWithRef<{
|
|
8
9
|
children?: never;
|
|
9
|
-
/**
|
|
10
|
-
* The current value (controlled).
|
|
11
|
-
* @default 0
|
|
12
|
-
*/
|
|
13
|
-
value?: number;
|
|
14
10
|
/**
|
|
15
11
|
* Size.
|
|
16
|
-
* @default compact
|
|
17
|
-
* */
|
|
18
|
-
size?: ProgressSpinnerPropSize;
|
|
19
|
-
/**
|
|
20
|
-
* The smallest value allowed for the input.
|
|
21
|
-
* @default 0
|
|
12
|
+
* @default 'compact'
|
|
22
13
|
*/
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
* The largest value allowed for the input.
|
|
26
|
-
* @default 100
|
|
27
|
-
*/
|
|
28
|
-
maxValue?: number;
|
|
14
|
+
size?: ProgressSpinnerPropSize;
|
|
29
15
|
/** Additional CSS-classes. */
|
|
30
16
|
className?: string;
|
|
17
|
+
/** Inline styles. */
|
|
18
|
+
style?: CSSProperties;
|
|
31
19
|
/**
|
|
32
20
|
* The variant to use. Use indeterminate or query when there is no progress value.
|
|
33
|
-
* @default determinate
|
|
34
|
-
|
|
21
|
+
* @default 'determinate'
|
|
22
|
+
*/
|
|
35
23
|
variant?: ProgressSpinnerPropVariant;
|
|
36
24
|
/** The props used for each slot inside. */
|
|
37
25
|
slotProps?: {
|
|
38
26
|
spin?: ComponentPropsWithRef<'svg'>;
|
|
39
27
|
};
|
|
40
|
-
}
|
|
41
|
-
export type ProgressSpinnerProps =
|
|
28
|
+
}, 'div'>;
|
|
29
|
+
export type ProgressSpinnerProps = ExtendableProps<ProgressSpinnerBaseProps, Omit<ProgressBarBasePrimitiveProps, 'children' | 'isIndeterminate' | 'label' | 'formatOptions' | 'valueLabel'>>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Breakpoints, ProviderProps } from './types';
|
|
2
2
|
export declare const defaultBreakpoints: Breakpoints;
|
|
3
3
|
export declare const Provider: {
|
|
4
|
-
({ breakpoints, breakpointsFallback, children, locale, }: ProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
4
|
+
({ breakpoints, breakpointsFallback, children, router, locale, }: ProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
5
5
|
displayName: string;
|
|
6
6
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { jsx } from "react/jsx-runtime";
|
|
3
|
-
import { I18nProvider } from "@koobiq/react-
|
|
2
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { I18nProvider, RouterProvider } from "@koobiq/react-core";
|
|
4
4
|
import { BreakpointsProvider } from "./BreakpointsProvider.js";
|
|
5
5
|
import { ProviderContext } from "./ProviderContext.js";
|
|
6
6
|
const defaultBreakpoints = {
|
|
@@ -21,13 +21,17 @@ const Provider = ({
|
|
|
21
21
|
breakpoints = defaultBreakpoints,
|
|
22
22
|
breakpointsFallback,
|
|
23
23
|
children,
|
|
24
|
+
router,
|
|
24
25
|
locale
|
|
25
|
-
}) => /* @__PURE__ */ jsx(ProviderContext.Provider, { value: { breakpoints, locale }, children: /* @__PURE__ */ jsx(I18nProvider, { locale, children: /* @__PURE__ */
|
|
26
|
+
}) => /* @__PURE__ */ jsx(ProviderContext.Provider, { value: { breakpoints, locale }, children: /* @__PURE__ */ jsx(I18nProvider, { locale, children: /* @__PURE__ */ jsxs(
|
|
26
27
|
BreakpointsProvider,
|
|
27
28
|
{
|
|
28
29
|
breakpoints,
|
|
29
30
|
defaultMatches: breakpointsFallback,
|
|
30
|
-
children
|
|
31
|
+
children: [
|
|
32
|
+
router?.navigate && /* @__PURE__ */ jsx(RouterProvider, { ...router, children }),
|
|
33
|
+
!router?.navigate && children
|
|
34
|
+
]
|
|
31
35
|
}
|
|
32
36
|
) }) });
|
|
33
37
|
Provider.displayName = "Provider";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ReactNode } from 'react';
|
|
2
|
-
import type { I18nProviderProps } from '@koobiq/react-
|
|
2
|
+
import type { I18nProviderProps, RouterProvider } from '@koobiq/react-core';
|
|
3
3
|
export type Breakpoints = {
|
|
4
4
|
xs?: number;
|
|
5
5
|
s?: number;
|
|
@@ -18,4 +18,6 @@ export type ProviderProps = {
|
|
|
18
18
|
breakpointsFallback?: boolean[];
|
|
19
19
|
/** The locale for your application as a [BCP 47](https://www.ietf.org/rfc/bcp/bcp47.txt) language code. Defaults to the browser/OS language setting. */
|
|
20
20
|
locale?: I18nProviderProps['locale'];
|
|
21
|
+
/** Configuration object for routing. If provided, wraps children in a RouterProvider. */
|
|
22
|
+
router?: Omit<Parameters<typeof RouterProvider>[0], 'children'>;
|
|
21
23
|
};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsxs, jsx } from "react/jsx-runtime";
|
|
3
3
|
import { forwardRef } from "react";
|
|
4
|
+
import { deprecate } from "@koobiq/logger";
|
|
4
5
|
import { mergeProps, clsx } from "@koobiq/react-core";
|
|
5
6
|
import { RadioGroup as RadioGroup$1 } from "@koobiq/react-primitives";
|
|
6
7
|
import { RadioGroupLabel } from "./components/RadioGroupLabel/RadioGroupLabel.js";
|
|
@@ -9,9 +10,48 @@ import { RadioGroupDescription } from "./components/RadioGroupDescription/RadioG
|
|
|
9
10
|
import { flex } from "../layout/flex/flex.js";
|
|
10
11
|
const RadioGroup = forwardRef(
|
|
11
12
|
(props, ref) => {
|
|
12
|
-
const {
|
|
13
|
+
const {
|
|
14
|
+
size,
|
|
15
|
+
label,
|
|
16
|
+
children,
|
|
17
|
+
slotProps,
|
|
18
|
+
description,
|
|
19
|
+
orientation,
|
|
20
|
+
isInvalid: isInvalidProp,
|
|
21
|
+
isDisabled: isDisabledProp,
|
|
22
|
+
isRequired: isRequiredProp,
|
|
23
|
+
isReadOnly: isReadOnlyProp,
|
|
24
|
+
disabled,
|
|
25
|
+
error,
|
|
26
|
+
readonly,
|
|
27
|
+
required
|
|
28
|
+
} = props;
|
|
29
|
+
const isDisabled = isDisabledProp ?? disabled ?? false;
|
|
30
|
+
const isInvalid = isInvalidProp ?? error ?? false;
|
|
31
|
+
const isReadOnly = isReadOnlyProp ?? readonly ?? false;
|
|
32
|
+
const isRequired = isRequiredProp ?? required ?? false;
|
|
33
|
+
if (process.env.NODE_ENV !== "production" && "disabled" in props) {
|
|
34
|
+
deprecate(
|
|
35
|
+
'RadioGroup: the "disabled" prop is deprecated. Use "isDisabled" prop to replace it.'
|
|
36
|
+
);
|
|
37
|
+
}
|
|
38
|
+
if (process.env.NODE_ENV !== "production" && "error" in props) {
|
|
39
|
+
deprecate(
|
|
40
|
+
'RadioGroup: the "error" prop is deprecated. Use "isInvalid" prop to replace it.'
|
|
41
|
+
);
|
|
42
|
+
}
|
|
43
|
+
if (process.env.NODE_ENV !== "production" && "readonly" in props) {
|
|
44
|
+
deprecate(
|
|
45
|
+
'RadioGroup: the "readonly" prop is deprecated. Use "isReadOnly" prop to replace it.'
|
|
46
|
+
);
|
|
47
|
+
}
|
|
48
|
+
if (process.env.NODE_ENV !== "production" && "required" in props) {
|
|
49
|
+
deprecate(
|
|
50
|
+
'RadioGroup: the "required" prop is deprecated. Use "isRequired" prop to replace it.'
|
|
51
|
+
);
|
|
52
|
+
}
|
|
13
53
|
const commonRootProps = mergeProps(
|
|
14
|
-
props,
|
|
54
|
+
{ ...props, isDisabled, isInvalid, isReadOnly, isRequired },
|
|
15
55
|
{
|
|
16
56
|
className: clsx(
|
|
17
57
|
flex({
|
|
@@ -1,12 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
caption?: string;
|
|
1
|
+
import { type RadioProps as RadioPropsPrimitive } from '@koobiq/react-primitives';
|
|
2
|
+
export declare const Radio: import("react").ForwardRefExoticComponent<Omit<RadioPropsPrimitive, "children" | "style" | "className" | "disabled" | "size" | "slotProps" | "data-testid" | "labelPlacement"> & {
|
|
3
|
+
children?: import("react").ReactNode;
|
|
5
4
|
size?: import("./types").RadioPropSize;
|
|
6
5
|
labelPlacement?: import("./types").RadioPropLabelPlacement;
|
|
7
6
|
className?: string;
|
|
7
|
+
style?: import("react").CSSProperties;
|
|
8
|
+
'data-testid'?: string | number;
|
|
8
9
|
slotProps?: {
|
|
9
10
|
circle?: import("react").ComponentPropsWithRef<"span">;
|
|
10
11
|
label?: import("react").ComponentPropsWithRef<"span">;
|
|
11
12
|
};
|
|
13
|
+
} & {
|
|
14
|
+
disabled?: boolean;
|
|
12
15
|
} & import("react").RefAttributes<HTMLLabelElement>>;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
2
|
import { forwardRef } from "react";
|
|
3
|
+
import { deprecate } from "@koobiq/logger";
|
|
3
4
|
import { mergeProps, isNotNil, clsx } from "@koobiq/react-core";
|
|
4
5
|
import { IconCircleXs16 } from "@koobiq/react-icons";
|
|
5
6
|
import { Radio as Radio$1 } from "@koobiq/react-primitives";
|
|
@@ -10,33 +11,57 @@ const Radio = forwardRef(
|
|
|
10
11
|
const {
|
|
11
12
|
labelPlacement = "end",
|
|
12
13
|
size: sizeProp,
|
|
14
|
+
isDisabled: isDisabledProp,
|
|
15
|
+
disabled,
|
|
13
16
|
children,
|
|
14
17
|
slotProps,
|
|
15
18
|
className,
|
|
16
19
|
...other
|
|
17
20
|
} = props;
|
|
21
|
+
const isDisabled = isDisabledProp ?? disabled ?? false;
|
|
22
|
+
if (process.env.NODE_ENV !== "production" && "disabled" in props) {
|
|
23
|
+
deprecate(
|
|
24
|
+
'Radio: the "disabled" prop is deprecated. Use "isDisabled" prop to replace it.'
|
|
25
|
+
);
|
|
26
|
+
}
|
|
18
27
|
const { size: sizeState } = useRadioGroupState();
|
|
19
28
|
const size = sizeProp || sizeState || "normal";
|
|
20
29
|
const commonProps = {
|
|
21
|
-
|
|
30
|
+
isDisabled,
|
|
31
|
+
className: ({
|
|
32
|
+
isInvalid,
|
|
33
|
+
isSelected,
|
|
34
|
+
isHovered,
|
|
35
|
+
isDisabled: isDisabled2,
|
|
36
|
+
isFocusVisible
|
|
37
|
+
}) => clsx(
|
|
22
38
|
s.base,
|
|
23
39
|
s[size],
|
|
24
|
-
error && s.error,
|
|
25
|
-
checked && s.checked,
|
|
26
|
-
hovered && s.hovered,
|
|
27
|
-
disabled && s.disabled,
|
|
28
40
|
s[labelPlacement],
|
|
29
|
-
|
|
41
|
+
isInvalid && s.invalid,
|
|
42
|
+
isHovered && s.hovered,
|
|
43
|
+
isDisabled2 && s.disabled,
|
|
44
|
+
isSelected && s.selected,
|
|
45
|
+
isFocusVisible && s.focusVisible,
|
|
30
46
|
className
|
|
31
47
|
),
|
|
32
48
|
...other
|
|
33
49
|
};
|
|
34
50
|
const circleProps = mergeProps({ className: s.circle }, slotProps?.circle);
|
|
35
51
|
const labelProps = slotProps?.label;
|
|
36
|
-
return /* @__PURE__ */ jsxs(
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
52
|
+
return /* @__PURE__ */ jsxs(
|
|
53
|
+
Radio$1,
|
|
54
|
+
{
|
|
55
|
+
...commonProps,
|
|
56
|
+
"data-size": size,
|
|
57
|
+
"data-label-placement": labelPlacement,
|
|
58
|
+
ref,
|
|
59
|
+
children: [
|
|
60
|
+
/* @__PURE__ */ jsx("span", { ...circleProps, children: /* @__PURE__ */ jsx(IconCircleXs16, { className: s.icon }) }),
|
|
61
|
+
isNotNil(children) && /* @__PURE__ */ jsx("span", { ...labelProps, children })
|
|
62
|
+
]
|
|
63
|
+
}
|
|
64
|
+
);
|
|
40
65
|
}
|
|
41
66
|
);
|
|
42
67
|
Radio.displayName = "Radio";
|