@allxsmith/bestax-bulma 5.65.1 → 5.66.1
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/bestax.css +1 -1
- package/dist/bestax.css.map +1 -1
- package/dist/esm/components/Card.js +6 -6
- package/dist/esm/components/Card.js.map +1 -1
- package/dist/esm/components/Carousel.js +19 -7
- package/dist/esm/components/Carousel.js.map +1 -1
- package/dist/esm/components/Message.js +1 -1
- package/dist/esm/components/Message.js.map +1 -1
- package/dist/esm/components/Modal.js +1 -1
- package/dist/esm/components/Modal.js.map +1 -1
- package/dist/esm/components/Navbar.js +1 -1
- package/dist/esm/components/Navbar.js.map +1 -1
- package/dist/esm/components/Popover.js +4 -1
- package/dist/esm/components/Popover.js.map +1 -1
- package/dist/esm/components/SegmentedControl.js +4 -4
- package/dist/esm/components/SegmentedControl.js.map +1 -1
- package/dist/esm/components/Sidebar.js +1 -1
- package/dist/esm/components/Sidebar.js.map +1 -1
- package/dist/esm/elements/Figure.js +1 -1
- package/dist/esm/elements/Figure.js.map +1 -1
- package/dist/esm/form/ColorInputBase.js +1 -1
- package/dist/esm/form/ColorInputBase.js.map +1 -1
- package/dist/esm/form/DateInput.js +4 -1
- package/dist/esm/form/DateInput.js.map +1 -1
- package/dist/esm/form/DateInputBase.js +1 -1
- package/dist/esm/form/DateInputBase.js.map +1 -1
- package/dist/esm/form/DateRangeInput.js +4 -1
- package/dist/esm/form/DateRangeInput.js.map +1 -1
- package/dist/esm/form/DateRangeInputBase.js +1 -1
- package/dist/esm/form/DateRangeInputBase.js.map +1 -1
- package/dist/esm/form/DateTimeInput.js +4 -1
- package/dist/esm/form/DateTimeInput.js.map +1 -1
- package/dist/esm/form/DateTimeInputBase.js +1 -1
- package/dist/esm/form/DateTimeInputBase.js.map +1 -1
- package/dist/esm/form/Slider.js +19 -9
- package/dist/esm/form/Slider.js.map +1 -1
- package/dist/esm/form/TimeInput.js +4 -1
- package/dist/esm/form/TimeInput.js.map +1 -1
- package/dist/esm/form/TimeInputBase.js +1 -1
- package/dist/esm/form/TimeInputBase.js.map +1 -1
- package/dist/esm/form/TreeSelect.js.map +1 -1
- package/dist/esm/form/_pickerInternals/PickerPopover.js +4 -1
- package/dist/esm/form/_pickerInternals/PickerPopover.js.map +1 -1
- package/dist/esm/form/_pickerInternals/TimeWheels.js +1 -1
- package/dist/esm/form/_pickerInternals/TimeWheels.js.map +1 -1
- package/dist/esm/form/_pickerInternals/useLocaleDefaults.js +15 -1
- package/dist/esm/form/_pickerInternals/useLocaleDefaults.js.map +1 -1
- package/dist/esm/form/_selectInternals/DialogSelect.js +1 -1
- package/dist/esm/form/_selectInternals/DialogSelect.js.map +1 -1
- package/dist/esm/helpers/useAnchoredPosition.js +11 -3
- package/dist/esm/helpers/useAnchoredPosition.js.map +1 -1
- package/dist/extras.css +1 -1
- package/dist/extras.css.map +1 -1
- package/dist/index.cjs +123 -41
- package/dist/index.cjs.map +1 -1
- package/dist/index.esm.js +6 -6
- package/dist/types/components/Card.d.ts +52 -0
- package/dist/types/components/Carousel.d.ts +12 -3
- package/dist/types/components/Message.d.ts +16 -0
- package/dist/types/components/Modal.d.ts +71 -0
- package/dist/types/components/Navbar.d.ts +11 -1
- package/dist/types/components/Popover.d.ts +5 -1
- package/dist/types/components/SegmentedControl.d.ts +9 -0
- package/dist/types/components/Sidebar.d.ts +45 -5
- package/dist/types/elements/Figure.d.ts +11 -0
- package/dist/types/form/ColorInputBase.d.ts +7 -1
- package/dist/types/form/DateInputBase.d.ts +7 -1
- package/dist/types/form/DateRangeInputBase.d.ts +7 -1
- package/dist/types/form/DateTimeInputBase.d.ts +7 -1
- package/dist/types/form/TimeInputBase.d.ts +7 -1
- package/dist/types/form/TreeSelect.d.ts +4 -1
- package/dist/types/form/_pickerInternals/PickerPopover.d.ts +5 -0
- package/dist/types/form/_pickerInternals/useLocaleDefaults.d.ts +12 -0
- package/dist/types/form/_selectInternals/DialogSelect.d.ts +1 -0
- package/dist/types/helpers/useAnchoredPosition.d.ts +9 -2
- package/dist/types-cjs/components/Card.d.ts +52 -0
- package/dist/types-cjs/components/Carousel.d.ts +12 -3
- package/dist/types-cjs/components/Message.d.ts +16 -0
- package/dist/types-cjs/components/Modal.d.ts +71 -0
- package/dist/types-cjs/components/Navbar.d.ts +11 -1
- package/dist/types-cjs/components/Popover.d.ts +5 -1
- package/dist/types-cjs/components/SegmentedControl.d.ts +9 -0
- package/dist/types-cjs/components/Sidebar.d.ts +45 -5
- package/dist/types-cjs/elements/Figure.d.ts +11 -0
- package/dist/types-cjs/form/ColorInputBase.d.ts +7 -1
- package/dist/types-cjs/form/DateInputBase.d.ts +7 -1
- package/dist/types-cjs/form/DateRangeInputBase.d.ts +7 -1
- package/dist/types-cjs/form/DateTimeInputBase.d.ts +7 -1
- package/dist/types-cjs/form/TimeInputBase.d.ts +7 -1
- package/dist/types-cjs/form/TreeSelect.d.ts +4 -1
- package/dist/types-cjs/form/_pickerInternals/PickerPopover.d.ts +5 -0
- package/dist/types-cjs/form/_pickerInternals/useLocaleDefaults.d.ts +12 -0
- package/dist/types-cjs/form/_selectInternals/DialogSelect.d.ts +1 -0
- package/dist/types-cjs/helpers/useAnchoredPosition.d.ts +9 -2
- package/dist/versions/bestax-no-dark-mode.css +1 -1
- package/dist/versions/bestax-no-dark-mode.css.map +1 -1
- package/dist/versions/bestax-no-helpers-prefixed.css +1 -1
- package/dist/versions/bestax-no-helpers-prefixed.css.map +1 -1
- package/dist/versions/bestax-no-helpers.css +1 -1
- package/dist/versions/bestax-no-helpers.css.map +1 -1
- package/dist/versions/bestax-prefixed.css +1 -1
- package/dist/versions/bestax-prefixed.css.map +1 -1
- package/package.json +1 -1
- package/src/scss/_input-trigger.scss +24 -5
- package/src/scss/components/_carousel.scss +22 -4
- package/src/scss/components/_pagination.scss +31 -2
- package/src/scss/components/_popover.scss +11 -0
- package/src/scss/components/_tooltip.scss +19 -0
- package/src/scss/elements/_button.scss +27 -3
- package/src/scss/form/_dateinput.scss +6 -0
- package/src/scss/form/_passwordinput.scss +6 -5
- package/src/scss/form/_picker-popover.scss +45 -5
- package/src/scss/form/_slider.scss +39 -0
package/dist/index.cjs
CHANGED
|
@@ -2698,7 +2698,7 @@ const STRIP_FROM_NON_BUTTON = {
|
|
|
2698
2698
|
* @param {CardHeaderProps} props - Props for the CardHeader component.
|
|
2699
2699
|
* @returns {JSX.Element} The rendered card header.
|
|
2700
2700
|
*/
|
|
2701
|
-
const
|
|
2701
|
+
const CardHeaderComponent = ({ className, children, centered, color, bgColor, textColor, ...props }) => {
|
|
2702
2702
|
const { classPrefix } = useConfig();
|
|
2703
2703
|
const { bulmaHelperClasses, rest } = useBulmaClasses({
|
|
2704
2704
|
color: textColor ?? color,
|
|
@@ -2829,14 +2829,14 @@ const CardFooterItem = ({ as = 'span', className, children, color, bgColor, text
|
|
|
2829
2829
|
}
|
|
2830
2830
|
return (jsxRuntime.jsx("span", { className: itemClasses, ...omitAttrs(forwarded, STRIP_FROM_NON_BUTTON), children: children }));
|
|
2831
2831
|
};
|
|
2832
|
-
//
|
|
2833
|
-
const
|
|
2832
|
+
// Export the compound, not the bare function, so `CardHeader.Title` typechecks.
|
|
2833
|
+
const CardHeader = withSubComponents(CardHeaderComponent, {
|
|
2834
2834
|
Title: CardHeaderTitle,
|
|
2835
2835
|
Icon: CardHeaderIcon,
|
|
2836
|
-
});
|
|
2836
|
+
}, 'CardHeader');
|
|
2837
2837
|
/** Card component with Header, Image, Content, Footer, and FooterItem sub-components. */
|
|
2838
2838
|
const Card = withSubComponents(CardComponent, {
|
|
2839
|
-
Header:
|
|
2839
|
+
Header: CardHeader,
|
|
2840
2840
|
Image: CardImage,
|
|
2841
2841
|
Content: CardContent,
|
|
2842
2842
|
Footer: CardFooter,
|
|
@@ -6282,7 +6282,7 @@ const NavbarItem = React.forwardRef(function NavbarItem(itemProps, ref) {
|
|
|
6282
6282
|
});
|
|
6283
6283
|
return (jsxRuntime.jsx(Component, { ref: ref, className: classNames(usePrefixedClassNames('navbar-item', {
|
|
6284
6284
|
'is-active': active,
|
|
6285
|
-
}), bulmaHelperClasses, className), ...rest, ...(Component === 'button' ? { type: buttonType(rest.type) } : {}), children: children }));
|
|
6285
|
+
}), bulmaHelperClasses, className), "aria-current": active ? 'page' : undefined, ...rest, ...(Component === 'button' ? { type: buttonType(rest.type) } : {}), children: children }));
|
|
6286
6286
|
});
|
|
6287
6287
|
NavbarItem.displayName = 'NavbarItem';
|
|
6288
6288
|
/**
|
|
@@ -7321,7 +7321,7 @@ const SegmentedControlRoot = React.forwardRef(function SegmentedControl({ value,
|
|
|
7321
7321
|
* @param {React.Ref<HTMLButtonElement>} ref - Forwarded ref to the `<button>`.
|
|
7322
7322
|
* @returns {JSX.Element} The rendered segment.
|
|
7323
7323
|
*/
|
|
7324
|
-
const
|
|
7324
|
+
const SegmentedControlSegment = React.forwardRef(function SegmentedControlSegment({ value, isDisabled, disabled, className, onClick, onKeyDown, onFocus, onBlur, ...props }, ref) {
|
|
7325
7325
|
const ctx = React.useContext(SegmentedControlContext);
|
|
7326
7326
|
const checked = ctx !== null && ctx.checked === value;
|
|
7327
7327
|
const off = Boolean(isDisabled || disabled);
|
|
@@ -7397,8 +7397,8 @@ const Segment = React.forwardRef(function Segment({ value, isDisabled, disabled,
|
|
|
7397
7397
|
// decides whether Tab reaches it.
|
|
7398
7398
|
return (jsxRuntime.jsx(Button, { ...props, ref: setRefs, as: "button", type: "button", role: "radio", "aria-checked": checked, tabIndex: ctx ? (ctx.tabStop === value ? 0 : -1) : undefined, isDisabled: off, color: checked ? ctx.color : undefined, className: classNames(selectedClass, className), onClick: handleClick, onKeyDown: handleKeyDown, onFocus: handleFocus, onBlur: handleBlur }));
|
|
7399
7399
|
});
|
|
7400
|
-
|
|
7401
|
-
const SegmentedControl = withSubComponents(SegmentedControlRoot, { Segment }, 'SegmentedControl');
|
|
7400
|
+
SegmentedControlSegment.displayName = 'SegmentedControl.Segment';
|
|
7401
|
+
const SegmentedControl = withSubComponents(SegmentedControlRoot, { Segment: SegmentedControlSegment }, 'SegmentedControl');
|
|
7402
7402
|
|
|
7403
7403
|
// INTERNAL: deliberately not exported from src/index.ts.
|
|
7404
7404
|
/**
|
|
@@ -8533,7 +8533,7 @@ const samePosition = (a, b) => a.position === b.position &&
|
|
|
8533
8533
|
*/
|
|
8534
8534
|
function useAnchoredPosition(anchorRef, panelRef, { active, position, fixed, offset = 4, styledGap, matchWidth = false, followContent = false, }) {
|
|
8535
8535
|
const [resolved, setResolved] = React.useState({
|
|
8536
|
-
position: position === 'auto' ? 'bottom-left' : position,
|
|
8536
|
+
position: position === undefined || position === 'auto' ? 'bottom-left' : position,
|
|
8537
8537
|
});
|
|
8538
8538
|
// The measurement while the panel is active, for `followContent` to run
|
|
8539
8539
|
// again after a render.
|
|
@@ -8557,14 +8557,22 @@ function useAnchoredPosition(anchorRef, panelRef, { active, position, fixed, off
|
|
|
8557
8557
|
const { height } = measured;
|
|
8558
8558
|
const corner = position === 'auto'
|
|
8559
8559
|
? resolveAuto(view, rect, width, height, offset + (styledGap?.(panel) ?? 0))
|
|
8560
|
-
: position;
|
|
8560
|
+
: (position ?? 'bottom-left');
|
|
8561
|
+
// The default lines up with the anchor's inline start, so right to
|
|
8562
|
+
// left a fixed panel lines up the right edges. A named corner doesn't,
|
|
8563
|
+
// and a panel in place takes the default's side from its stylesheet.
|
|
8564
|
+
const startsRight = position === undefined &&
|
|
8565
|
+
fixed &&
|
|
8566
|
+
getComputedStyle(anchor).direction === 'rtl';
|
|
8561
8567
|
const next = fixed
|
|
8562
8568
|
? {
|
|
8563
8569
|
position: corner,
|
|
8564
8570
|
top: corner.startsWith('bottom')
|
|
8565
8571
|
? rect.bottom + offset
|
|
8566
8572
|
: rect.top - height - offset,
|
|
8567
|
-
left: corner.endsWith('left')
|
|
8573
|
+
left: corner.endsWith('left') && !startsRight
|
|
8574
|
+
? rect.left
|
|
8575
|
+
: rect.right - width,
|
|
8568
8576
|
...(matchWidth ? { minWidth: rect.width } : {}),
|
|
8569
8577
|
}
|
|
8570
8578
|
: { position: corner };
|
|
@@ -8688,7 +8696,7 @@ function nearestDialog(event) {
|
|
|
8688
8696
|
* </Popover.Footer>
|
|
8689
8697
|
* </Popover>
|
|
8690
8698
|
*/
|
|
8691
|
-
const PopoverComponent = ({ trigger, children, open: controlledOpen, defaultOpen = false, onOpenChange, position
|
|
8699
|
+
const PopoverComponent = ({ trigger, children, open: controlledOpen, defaultOpen = false, onOpenChange, position, appendToBody = false, trapFocus = true, closeOnClickOutside = true, closeOnEscape = true, ariaLabel, className, contentClassName, ...props }) => {
|
|
8692
8700
|
const { bulmaHelperClasses, rest } = useBulmaClasses(props);
|
|
8693
8701
|
const rootRef = React.useRef(null);
|
|
8694
8702
|
const panelRef = React.useRef(null);
|
|
@@ -8808,6 +8816,9 @@ const PopoverComponent = ({ trigger, children, open: controlledOpen, defaultOpen
|
|
|
8808
8816
|
const rootClasses = classNames(usePrefixedClassNames('popover', { 'is-active': isOpen }), bulmaHelperClasses, className);
|
|
8809
8817
|
const panelClasses = classNames(usePrefixedClassNames('popover-content', {
|
|
8810
8818
|
[`is-${resolved.position}`]: true,
|
|
8819
|
+
// The default lines up with the trigger's inline start, so the
|
|
8820
|
+
// stylesheet moves it to the right edge on a right-to-left page.
|
|
8821
|
+
'is-start-aligned': position === undefined,
|
|
8811
8822
|
'is-portal': appendToBody,
|
|
8812
8823
|
}), contentClassName);
|
|
8813
8824
|
return (jsxRuntime.jsxs("div", { className: rootClasses, ...rest, ref: rootRef, children: [clonedTrigger, isOpen && (jsxRuntime.jsx(Portal, { disabled: !appendToBody, children: jsxRuntime.jsx(PopoverPanel, { panelRef: panelRef, titleId: titleId, ariaLabel: ariaLabel, close: close, id: panelId, className: panelClasses, style: appendToBody
|
|
@@ -10930,11 +10941,17 @@ const Carousel = React.forwardRef(({ value: controlledValue, autoplay = false, i
|
|
|
10930
10941
|
setIsPaused(false);
|
|
10931
10942
|
}
|
|
10932
10943
|
}, [pauseOnHover]);
|
|
10933
|
-
//
|
|
10934
|
-
//
|
|
10944
|
+
// Right to left the track runs the other way, so the next slide is on
|
|
10945
|
+
// the left. Read when a swipe or key arrives, as Lightbox does, so a
|
|
10946
|
+
// LocaleProvider and the page's own `dir` both count.
|
|
10947
|
+
const isRtl = () => getComputedStyle(carouselRef.current).direction ===
|
|
10948
|
+
'rtl';
|
|
10949
|
+
// Drag and swipe, through the shared hook, past its 50px threshold: a
|
|
10950
|
+
// drag toward the start of the line goes on, which is a drag left on a
|
|
10951
|
+
// left-to-right page, and a drag the other way goes back.
|
|
10935
10952
|
const swipe = useSwipe({
|
|
10936
10953
|
enabled: hasDrag,
|
|
10937
|
-
onSwipe: direction =>
|
|
10954
|
+
onSwipe: direction => direction === (isRtl() ? 'right' : 'left') ? goToNext() : goToPrev(),
|
|
10938
10955
|
});
|
|
10939
10956
|
const isDragging = swipe.isSwiping;
|
|
10940
10957
|
const dragOffset = swipe.offsetX;
|
|
@@ -10948,14 +10965,17 @@ const Carousel = React.forwardRef(({ value: controlledValue, autoplay = false, i
|
|
|
10948
10965
|
if (!node?.contains(active) || slidesRef.current?.contains(active)) {
|
|
10949
10966
|
return;
|
|
10950
10967
|
}
|
|
10968
|
+
// The arrow points where the slide comes from: right to left the
|
|
10969
|
+
// next one is on the left.
|
|
10970
|
+
const rtl = getComputedStyle(node).direction === 'rtl';
|
|
10951
10971
|
switch (e.key) {
|
|
10952
10972
|
case 'ArrowLeft':
|
|
10953
10973
|
e.preventDefault();
|
|
10954
|
-
goToPrevRef.current();
|
|
10974
|
+
(rtl ? goToNextRef : goToPrevRef).current();
|
|
10955
10975
|
break;
|
|
10956
10976
|
case 'ArrowRight':
|
|
10957
10977
|
e.preventDefault();
|
|
10958
|
-
goToNextRef.current();
|
|
10978
|
+
(rtl ? goToPrevRef : goToNextRef).current();
|
|
10959
10979
|
break;
|
|
10960
10980
|
}
|
|
10961
10981
|
};
|
|
@@ -11108,8 +11128,11 @@ const Carousel = React.forwardRef(({ value: controlledValue, autoplay = false, i
|
|
|
11108
11128
|
cursor: hasDrag ? (isDragging ? 'grabbing' : 'grab') : undefined,
|
|
11109
11129
|
}, children: [jsxRuntime.jsx("div", { ref: slidesRef, className: carouselSlidesClass, style: {
|
|
11110
11130
|
// One item is the track's width plus a gap, over the count the
|
|
11111
|
-
// stylesheet has in view; account for the prepended clones
|
|
11112
|
-
|
|
11131
|
+
// stylesheet has in view; account for the prepended clones.
|
|
11132
|
+
// The sign is -1 left to right. Right to left the flex row
|
|
11133
|
+
// reverses, and the stylesheet sets the sign to +1 so the
|
|
11134
|
+
// same shift keeps a slide in view.
|
|
11135
|
+
transform: `translateX(calc(var(--carousel-shift-sign, -1) * ${shownIndex + cloneCount} * (100% + var(--bulma-carousel-item-gap, 0px)) / var(--bulma-carousel-items-in-view, 1)))`,
|
|
11113
11136
|
// Disable transition during drag or instant snap after wrap-around
|
|
11114
11137
|
transition: isDragging || skipTransition
|
|
11115
11138
|
? 'none'
|
|
@@ -19258,6 +19281,9 @@ const Slider = React.forwardRef((props, ref) => {
|
|
|
19258
19281
|
const effectiveThumbExpr = isCircle
|
|
19259
19282
|
? `(${thumbCssVar} * 1.2)`
|
|
19260
19283
|
: thumbCssVar;
|
|
19284
|
+
// Measured from where the track starts: its inline start when
|
|
19285
|
+
// horizontal, which is the right edge right to left, where the native
|
|
19286
|
+
// range puts its minimum, and its bottom when vertical.
|
|
19261
19287
|
const getThumbLeft = (progressPct) => {
|
|
19262
19288
|
const fraction = progressPct / 100;
|
|
19263
19289
|
return `calc(${effectiveThumbExpr} / 2 + ${fraction} * (100% - ${effectiveThumbExpr}))`;
|
|
@@ -19332,9 +19358,14 @@ const Slider = React.forwardRef((props, ref) => {
|
|
|
19332
19358
|
const computeNudge = React.useCallback((el, wrapper, progressPct, thumbSizePx) => {
|
|
19333
19359
|
const wr = wrapper.getBoundingClientRect();
|
|
19334
19360
|
const tooltipWidth = el.offsetWidth;
|
|
19335
|
-
// Corrected center: accounts for thumb inset from track edges
|
|
19361
|
+
// Corrected center: accounts for thumb inset from track edges. The
|
|
19362
|
+
// native range mirrors right to left, so the thumb is that far from
|
|
19363
|
+
// the right edge instead, and the nudge, a physical shift, follows.
|
|
19336
19364
|
const fraction = progressPct / 100;
|
|
19337
|
-
const
|
|
19365
|
+
const along = thumbSizePx / 2 + fraction * (wr.width - thumbSizePx);
|
|
19366
|
+
const centerX = getComputedStyle(wrapper).direction === 'rtl'
|
|
19367
|
+
? wr.right - along
|
|
19368
|
+
: wr.left + along;
|
|
19338
19369
|
const tooltipLeft = centerX - tooltipWidth / 2;
|
|
19339
19370
|
const tooltipRight = centerX + tooltipWidth / 2;
|
|
19340
19371
|
if (tooltipLeft < wr.left) {
|
|
@@ -19404,9 +19435,11 @@ const Slider = React.forwardRef((props, ref) => {
|
|
|
19404
19435
|
return null;
|
|
19405
19436
|
return (jsxRuntime.jsx("div", { className: prefixedClassNames(classPrefix, 'slider-ticks'), children: tickPositions.map((tick, i) => {
|
|
19406
19437
|
const pct = ((tick.value - min) / (max - min)) * 100;
|
|
19438
|
+
// From the inline start, so a right-to-left page puts 0 on the
|
|
19439
|
+
// right, where the native thumb sits. Left to right that is `left`.
|
|
19407
19440
|
const posStyle = isVertical
|
|
19408
19441
|
? { bottom: `${pct}%` }
|
|
19409
|
-
: {
|
|
19442
|
+
: { insetInlineStart: `${pct}%` };
|
|
19410
19443
|
const isEndpoint = tick.value === min || tick.value === max;
|
|
19411
19444
|
return (jsxRuntime.jsx("span", { className: prefixedClassNames(classPrefix, 'slider-tick', {
|
|
19412
19445
|
'is-endpoint': isEndpoint,
|
|
@@ -19439,8 +19472,8 @@ const Slider = React.forwardRef((props, ref) => {
|
|
|
19439
19472
|
right: 'auto',
|
|
19440
19473
|
})
|
|
19441
19474
|
: {
|
|
19442
|
-
|
|
19443
|
-
transform: `translateX(calc(-50% + ${nudgeX}px))`,
|
|
19475
|
+
insetInlineStart: getThumbLeft(progressSingle),
|
|
19476
|
+
transform: `translateX(calc(var(--slider-output-shift, -50%) + ${nudgeX}px))`,
|
|
19444
19477
|
'--slider-output-arrow-offset': `calc(50% - ${nudgeX}px)`,
|
|
19445
19478
|
}, children: formatValue(currentSingle) })), renderTicks()] })) : (jsxRuntime.jsxs("div", { ref: wrapperRef, className: combinedClasses, style: wrapperStyle, children: [jsxRuntime.jsx("div", { className: prefixedClassNames(classPrefix, 'slider-track'), style: isVertical
|
|
19446
19479
|
? {
|
|
@@ -19467,8 +19500,8 @@ const Slider = React.forwardRef((props, ref) => {
|
|
|
19467
19500
|
right: 'auto',
|
|
19468
19501
|
})
|
|
19469
19502
|
: {
|
|
19470
|
-
|
|
19471
|
-
transform: `translateX(calc(-50% + ${nudgeX}px))`,
|
|
19503
|
+
insetInlineStart: getThumbLeft(progressLow),
|
|
19504
|
+
transform: `translateX(calc(var(--slider-output-shift, -50%) + ${nudgeX}px))`,
|
|
19472
19505
|
'--slider-output-arrow-offset': `calc(50% - ${nudgeX}px)`,
|
|
19473
19506
|
}, children: formatValue(currentRange[0]) })), tooltipMode !== 'hidden' && (jsxRuntime.jsx("output", { ref: outputHighRef, className: prefixedClassNames(classPrefix, 'slider-output', 'slider-output-high', {
|
|
19474
19507
|
'is-visible': showTipHigh,
|
|
@@ -19487,8 +19520,8 @@ const Slider = React.forwardRef((props, ref) => {
|
|
|
19487
19520
|
right: 'auto',
|
|
19488
19521
|
})
|
|
19489
19522
|
: {
|
|
19490
|
-
|
|
19491
|
-
transform: `translateX(calc(-50% + ${nudgeXHigh}px))`,
|
|
19523
|
+
insetInlineStart: getThumbLeft(progressHigh),
|
|
19524
|
+
transform: `translateX(calc(var(--slider-output-shift, -50%) + ${nudgeXHigh}px))`,
|
|
19492
19525
|
'--slider-output-arrow-offset': `calc(50% - ${nudgeXHigh}px)`,
|
|
19493
19526
|
}, children: formatValue(currentRange[1]) })), renderTicks()] }));
|
|
19494
19527
|
let content = sliderElement;
|
|
@@ -21208,7 +21241,7 @@ function searchTree(data, matches) {
|
|
|
21208
21241
|
}
|
|
21209
21242
|
|
|
21210
21243
|
const isBrowser = typeof window !== 'undefined';
|
|
21211
|
-
const PickerPopover = ({ isOpen, onClose, anchorRef, children, position
|
|
21244
|
+
const PickerPopover = ({ isOpen, onClose, anchorRef, children, position, appendToBody = false, className, trapFocus = true, closeOnClickOutside = true, closeOnEscape = true, ariaLabel, ariaLabelledBy, role = 'dialog', id, restoreFocusRef, initialFocusSelector, localeScope, matchWidth = false, followContent = false, }) => {
|
|
21212
21245
|
const panelRef = React.useRef(null);
|
|
21213
21246
|
const resolveContainer = usePortalContainer();
|
|
21214
21247
|
// Read as the trap turns on, once the panel's content has rendered.
|
|
@@ -21287,6 +21320,9 @@ const PickerPopover = ({ isOpen, onClose, anchorRef, children, position = 'botto
|
|
|
21287
21320
|
const panelClass = usePrefixedClassNames('picker-popover', {
|
|
21288
21321
|
'is-active': isOpen,
|
|
21289
21322
|
[`is-${resolved.position}`]: true,
|
|
21323
|
+
// The default lines up with the field's inline start, so the stylesheet
|
|
21324
|
+
// moves it to the right edge on a right-to-left page.
|
|
21325
|
+
'is-start-aligned': position === undefined,
|
|
21290
21326
|
'is-portal': appendToBody,
|
|
21291
21327
|
'has-anchor-width': matchWidth,
|
|
21292
21328
|
});
|
|
@@ -21408,6 +21444,20 @@ function usePickerLocaleScope(ownLocale, ownDir) {
|
|
|
21408
21444
|
};
|
|
21409
21445
|
}, [scope, ownLocale, ownDir]);
|
|
21410
21446
|
}
|
|
21447
|
+
/**
|
|
21448
|
+
* The `dir` a picker's root ends up with: the one passed to it, else its own
|
|
21449
|
+
* locale's inside a `LocaleProvider`, else none, so it follows the page. A
|
|
21450
|
+
* picker that renders its own `Control` puts it there too. Bulma places the
|
|
21451
|
+
* Control's icon and loading spinner against the Control's direction, and
|
|
21452
|
+
* the launcher sits inside the picker's root, so the two have to agree or a
|
|
21453
|
+
* French picker in an Arabic section puts the icon on top of the launcher.
|
|
21454
|
+
* Returned as attributes to spread, empty when there's no `dir` to set.
|
|
21455
|
+
*/
|
|
21456
|
+
function usePickerDirAttrs(ownLocale, ownDir) {
|
|
21457
|
+
const { rootAttrs } = usePickerLocaleScope(ownLocale, ownDir);
|
|
21458
|
+
const dir = ownDir ?? rootAttrs.dir;
|
|
21459
|
+
return dir === undefined ? NO_ROOT_ATTRS : { dir };
|
|
21460
|
+
}
|
|
21411
21461
|
/**
|
|
21412
21462
|
* Whether a picker's `dayNames` replace the calendar's own, which `Calendar`
|
|
21413
21463
|
* does only for a full week of seven.
|
|
@@ -21486,7 +21536,7 @@ const ignoreChange = () => { };
|
|
|
21486
21536
|
* close it and put focus back on the field, and a press outside closes it
|
|
21487
21537
|
* where the press put focus.
|
|
21488
21538
|
*/
|
|
21489
|
-
function DialogSelect({ component, rootClass, panelClass, text, values, hasValue, open, onOpenChange, onFormReset, onPrintableKey, onClear, clearable, clearLabel, chooseLabel, placeholder, name, form, required = false, disabled, color, size, isRounded, position
|
|
21539
|
+
function DialogSelect({ component, rootClass, panelClass, text, values, hasValue, open, onOpenChange, onFormReset, onPrintableKey, onClear, clearable, clearLabel, chooseLabel, placeholder, name, form, required = false, disabled, color, size, isRounded, position, appendToBody = false, inputRef, fieldRef, describedBy, below, initialFocusSelector, children, label, labelSize, labelProps, horizontal, message, messageColor, fieldClassName, className, id, 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledBy, 'aria-describedby': ariaDescribedBy, ...props }) {
|
|
21490
21540
|
const insideField = useInsideField();
|
|
21491
21541
|
const insideControl = useInsideControl();
|
|
21492
21542
|
const ownField = rendersOwnField(component, {
|
|
@@ -25998,7 +26048,7 @@ const SKIPPED_SEGMENTS = {
|
|
|
25998
26048
|
* @returns {JSX.Element}
|
|
25999
26049
|
*/
|
|
26000
26050
|
const DateInputBase = React.forwardRef((props, ref) => {
|
|
26001
|
-
const { value: controlledValue, defaultValue, onChange, onOpen, onClose, min, max, disabled: disabledProp, readOnly, placeholder, granularity = 'day', format, parse, locale: localeProp, inline = false, mobileNative = 'auto', editable = true, popover = true, openOnFocus = true, closeOnSelect = true, position
|
|
26051
|
+
const { value: controlledValue, defaultValue, onChange, onOpen, onClose, min, max, disabled: disabledProp, readOnly, placeholder, granularity = 'day', format, parse, locale: localeProp, inline = false, mobileNative = 'auto', editable = true, popover = true, openOnFocus = true, closeOnSelect = true, position, appendToBody = false, color, size, isRounded, shouldDisableDate, unselectableDates, firstDayOfWeek: firstDayOfWeekProp, dayNames, monthNames, nearbyMonthDays = true, className, name, form, required, id: idProp, onFocus, onClick, onKeyDown, onBlur, iconLeftName: _iconLeftName, triggerIcon: triggerIconProp, triggerIconName = 'chevron-down', labels, ...rest } = props;
|
|
26002
26052
|
// A LocaleProvider around the picker sets its default locale and, through
|
|
26003
26053
|
// that locale, the day its week starts on.
|
|
26004
26054
|
const locale = usePickerLocale(localeProp);
|
|
@@ -26254,6 +26304,8 @@ DateInputBase.displayName = 'DateInputBase';
|
|
|
26254
26304
|
*/
|
|
26255
26305
|
const DateInput = React.forwardRef((props, ref) => {
|
|
26256
26306
|
const { label, labelSize, labelProps, horizontal, iconLeft, iconRight, iconLeftName = 'calendar', iconRightName, iconLeftSize, iconRightSize, hasIconsLeft, hasIconsRight, isLoading, isExpanded, controlSize, message, messageColor, fieldClassName, controlClassName, ...baseProps } = props;
|
|
26307
|
+
// The picker's own direction, which the Control below takes too.
|
|
26308
|
+
const pickerDirAttrs = usePickerDirAttrs(baseProps.locale, baseProps.dir);
|
|
26257
26309
|
const insideField = useInsideField();
|
|
26258
26310
|
const insideControl = useInsideControl();
|
|
26259
26311
|
const ownField = rendersOwnField('DateInput', {
|
|
@@ -26301,7 +26353,7 @@ const DateInput = React.forwardRef((props, ref) => {
|
|
|
26301
26353
|
// whether that is the one rendered below or an enclosing one.
|
|
26302
26354
|
let content = (jsxRuntime.jsx(DateInputBase, { ref: ref, ...baseProps, id: controlId }));
|
|
26303
26355
|
if (ownControl) {
|
|
26304
|
-
content = (jsxRuntime.jsx(Control, { iconLeft: iconLeft, iconRight: iconRight, iconLeftName: iconLeftName, iconRightName: iconRightName, iconLeftSize: iconLeftSize, iconRightSize: iconRightSize, hasIconsLeft: hasIconsLeft || !!iconLeftName, hasIconsRight: hasIconsRight, isLoading: isLoading, isExpanded: isExpanded, size: controlSize, className: controlClassName, children: content }));
|
|
26356
|
+
content = (jsxRuntime.jsx(Control, { ...pickerDirAttrs, iconLeft: iconLeft, iconRight: iconRight, iconLeftName: iconLeftName, iconRightName: iconRightName, iconLeftSize: iconLeftSize, iconRightSize: iconRightSize, hasIconsLeft: hasIconsLeft || !!iconLeftName, hasIconsRight: hasIconsRight, isLoading: isLoading, isExpanded: isExpanded, size: controlSize, className: controlClassName, children: content }));
|
|
26305
26357
|
}
|
|
26306
26358
|
const messageEl = message ? jsxRuntime.jsx("p", { className: helpClass, children: message }) : null;
|
|
26307
26359
|
if (ownField) {
|
|
@@ -27157,7 +27209,7 @@ const TimeWheels = ({ value, onChange, hourFormat = '24', enableSeconds = false,
|
|
|
27157
27209
|
});
|
|
27158
27210
|
columnOrder[nearestIdx]?.current?.startDrag(e.pointerId, e.clientY);
|
|
27159
27211
|
};
|
|
27160
|
-
return (jsxRuntime.jsx("div", { id: id, className: classNames(rootClass, className), "aria-disabled": disabled, children: jsxRuntime.jsxs("div", { className: wheelsClass, ref: wheelsContainerRef, onPointerDown: onWheelsContainerPointerDown, children: [jsxRuntime.jsx(Wheel, { ref: hoursRef, values: hourValues, index: hourIndex, onChange: onHourIndex, formatLabel: pad2, ariaLabel: t.hours, visibleCount: visibleCount, itemHeight: itemHeight, disabled: disabled, size: size, color: color, wrap: true, onCommit: onCommit, onFocusPrev: focusPrevOf(hoursRef), onFocusNext: focusNextOf(hoursRef), disabledFor: hourDisabledFor, audioTick: audioTick }), jsxRuntime.jsx("div", { className: sepClass, "aria-hidden": "true", children: ":" }), jsxRuntime.jsx(Wheel, { ref: minutesRef, values: minuteValues, index: minuteIndex, onChange: onMinuteIndex, formatLabel: pad2, ariaLabel: t.minutes, visibleCount: visibleCount, itemHeight: itemHeight, disabled: disabled, size: size, color: color, wrap: true, onCommit: onCommit, onFocusPrev: focusPrevOf(minutesRef), onFocusNext: focusNextOf(minutesRef), disabledFor: minuteDisabledFor, audioTick: audioTick }), enableSeconds && (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("div", { className: sepClass, "aria-hidden": "true", children: ":" }), jsxRuntime.jsx(Wheel, { ref: secondsRef, values: secondValues, index: secondIndex, onChange: onSecondIndex, formatLabel: pad2, ariaLabel: t.seconds, visibleCount: visibleCount, itemHeight: itemHeight, disabled: disabled, size: size, color: color, wrap: true, onCommit: onCommit, onFocusPrev: focusPrevOf(secondsRef), onFocusNext: focusNextOf(secondsRef), disabledFor: secondDisabledFor, audioTick: audioTick })] })), hourFormat === '12' && (jsxRuntime.jsx(Wheel, { ref: ampmRef, values: ['AM', 'PM'], index: ampmIndex, onChange: onAmpmIndex, formatLabel: v => v, ariaLabel: t.ampm, visibleCount: visibleCount, itemHeight: itemHeight, disabled: disabled, size: size, color: color, onCommit: onCommit, onFocusPrev: focusPrevOf(ampmRef), onFocusNext: focusNextOf(ampmRef), audioTick: audioTick }))] }) }));
|
|
27212
|
+
return (jsxRuntime.jsx("div", { id: id, className: classNames(rootClass, className), dir: "ltr", "aria-disabled": disabled, children: jsxRuntime.jsxs("div", { className: wheelsClass, ref: wheelsContainerRef, onPointerDown: onWheelsContainerPointerDown, children: [jsxRuntime.jsx(Wheel, { ref: hoursRef, values: hourValues, index: hourIndex, onChange: onHourIndex, formatLabel: pad2, ariaLabel: t.hours, visibleCount: visibleCount, itemHeight: itemHeight, disabled: disabled, size: size, color: color, wrap: true, onCommit: onCommit, onFocusPrev: focusPrevOf(hoursRef), onFocusNext: focusNextOf(hoursRef), disabledFor: hourDisabledFor, audioTick: audioTick }), jsxRuntime.jsx("div", { className: sepClass, "aria-hidden": "true", children: ":" }), jsxRuntime.jsx(Wheel, { ref: minutesRef, values: minuteValues, index: minuteIndex, onChange: onMinuteIndex, formatLabel: pad2, ariaLabel: t.minutes, visibleCount: visibleCount, itemHeight: itemHeight, disabled: disabled, size: size, color: color, wrap: true, onCommit: onCommit, onFocusPrev: focusPrevOf(minutesRef), onFocusNext: focusNextOf(minutesRef), disabledFor: minuteDisabledFor, audioTick: audioTick }), enableSeconds && (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("div", { className: sepClass, "aria-hidden": "true", children: ":" }), jsxRuntime.jsx(Wheel, { ref: secondsRef, values: secondValues, index: secondIndex, onChange: onSecondIndex, formatLabel: pad2, ariaLabel: t.seconds, visibleCount: visibleCount, itemHeight: itemHeight, disabled: disabled, size: size, color: color, wrap: true, onCommit: onCommit, onFocusPrev: focusPrevOf(secondsRef), onFocusNext: focusNextOf(secondsRef), disabledFor: secondDisabledFor, audioTick: audioTick })] })), hourFormat === '12' && (jsxRuntime.jsx(Wheel, { ref: ampmRef, values: ['AM', 'PM'], index: ampmIndex, onChange: onAmpmIndex, formatLabel: v => v, ariaLabel: t.ampm, visibleCount: visibleCount, itemHeight: itemHeight, disabled: disabled, size: size, color: color, onCommit: onCommit, onFocusPrev: focusPrevOf(ampmRef), onFocusNext: focusNextOf(ampmRef), audioTick: audioTick }))] }) }));
|
|
27161
27213
|
};
|
|
27162
27214
|
TimeWheels.displayName = 'TimeWheels';
|
|
27163
27215
|
|
|
@@ -27187,7 +27239,7 @@ const fromIsoTime = (s) => {
|
|
|
27187
27239
|
* @returns {JSX.Element}
|
|
27188
27240
|
*/
|
|
27189
27241
|
const TimeInputBase = React.forwardRef((props, ref) => {
|
|
27190
|
-
const { value: controlledValue, defaultValue, onChange, onOpen, onClose, min, max, disabled: disabledProp, readOnly, placeholder, format, parse, locale: localeProp, inline = false, mobileNative = 'auto', editable = true, popover = true, openOnFocus = true, closeOnSelect = false, position
|
|
27242
|
+
const { value: controlledValue, defaultValue, onChange, onOpen, onClose, min, max, disabled: disabledProp, readOnly, placeholder, format, parse, locale: localeProp, inline = false, mobileNative = 'auto', editable = true, popover = true, openOnFocus = true, closeOnSelect = false, position, appendToBody = false, color, size, isRounded, hourFormat = '24', enableSeconds = false, incrementHours = 1, incrementMinutes = 1, incrementSeconds = 1, unselectableTimes, className, name, form, required, id: idProp, onFocus, onClick, onKeyDown, onBlur, iconLeftName: _iconLeftName, triggerIcon: triggerIconProp, triggerIconName = 'chevron-down', labels, audioTick = false, haptics = false, ...rest } = props;
|
|
27191
27243
|
// A LocaleProvider around the picker sets its default locale.
|
|
27192
27244
|
const locale = usePickerLocale(localeProp);
|
|
27193
27245
|
// Its own language and direction, which its root and a portaled panel
|
|
@@ -27415,6 +27467,8 @@ TimeInputBase.displayName = 'TimeInputBase';
|
|
|
27415
27467
|
*/
|
|
27416
27468
|
const TimeInput = React.forwardRef((props, ref) => {
|
|
27417
27469
|
const { label, labelSize, labelProps, horizontal, iconLeft, iconRight, iconLeftName = 'clock', iconRightName, iconLeftSize, iconRightSize, hasIconsLeft, hasIconsRight, isLoading, isExpanded, controlSize, message, messageColor, fieldClassName, controlClassName, ...baseProps } = props;
|
|
27470
|
+
// The picker's own direction, which the Control below takes too.
|
|
27471
|
+
const pickerDirAttrs = usePickerDirAttrs(baseProps.locale, baseProps.dir);
|
|
27418
27472
|
const insideField = useInsideField();
|
|
27419
27473
|
const insideControl = useInsideControl();
|
|
27420
27474
|
const ownField = rendersOwnField('TimeInput', {
|
|
@@ -27462,7 +27516,7 @@ const TimeInput = React.forwardRef((props, ref) => {
|
|
|
27462
27516
|
// whether that is the one rendered below or an enclosing one.
|
|
27463
27517
|
let content = (jsxRuntime.jsx(TimeInputBase, { ref: ref, ...baseProps, id: controlId }));
|
|
27464
27518
|
if (ownControl) {
|
|
27465
|
-
content = (jsxRuntime.jsx(Control, { iconLeft: iconLeft, iconRight: iconRight, iconLeftName: iconLeftName, iconRightName: iconRightName, iconLeftSize: iconLeftSize, iconRightSize: iconRightSize, hasIconsLeft: hasIconsLeft || !!iconLeftName, hasIconsRight: hasIconsRight, isLoading: isLoading, isExpanded: isExpanded, size: controlSize, className: controlClassName, children: content }));
|
|
27519
|
+
content = (jsxRuntime.jsx(Control, { ...pickerDirAttrs, iconLeft: iconLeft, iconRight: iconRight, iconLeftName: iconLeftName, iconRightName: iconRightName, iconLeftSize: iconLeftSize, iconRightSize: iconRightSize, hasIconsLeft: hasIconsLeft || !!iconLeftName, hasIconsRight: hasIconsRight, isLoading: isLoading, isExpanded: isExpanded, size: controlSize, className: controlClassName, children: content }));
|
|
27466
27520
|
}
|
|
27467
27521
|
const messageEl = message ? jsxRuntime.jsx("p", { className: helpClass, children: message }) : null;
|
|
27468
27522
|
if (ownField) {
|
|
@@ -27508,7 +27562,7 @@ const fromIsoDateTime = (s) => {
|
|
|
27508
27562
|
* @returns {JSX.Element}
|
|
27509
27563
|
*/
|
|
27510
27564
|
const DateTimeInputBase = React.forwardRef((props, ref) => {
|
|
27511
|
-
const { value: controlledValue, defaultValue, onChange, onOpen, onClose, min, max, disabled: disabledProp, readOnly, placeholder, format, parse, locale: localeProp, inline = false, mobileNative = 'auto', editable = true, popover = true, openOnFocus = true, closeOnSelect = false, position
|
|
27565
|
+
const { value: controlledValue, defaultValue, onChange, onOpen, onClose, min, max, disabled: disabledProp, readOnly, placeholder, format, parse, locale: localeProp, inline = false, mobileNative = 'auto', editable = true, popover = true, openOnFocus = true, closeOnSelect = false, position, appendToBody = false, color, size, isRounded, shouldDisableDate, unselectableDates, firstDayOfWeek: firstDayOfWeekProp, dayNames, monthNames, nearbyMonthDays = true, hourFormat = '24', enableSeconds = false, incrementHours = 1,
|
|
27512
27566
|
// Step between visible wheel values; 1 gives the iOS-style every-minute wheel.
|
|
27513
27567
|
incrementMinutes = 1, incrementSeconds = 1, unselectableTimes, className, name, form, required, id: idProp, onFocus, onClick, onKeyDown, onBlur, iconLeftName: _iconLeftName, triggerIcon: triggerIconProp, triggerIconName = 'chevron-down', audioTick = false, haptics = false, labels, ...rest } = props;
|
|
27514
27568
|
// A LocaleProvider around the picker sets its default locale and, through
|
|
@@ -27817,6 +27871,8 @@ DateTimeInputBase.displayName = 'DateTimeInputBase';
|
|
|
27817
27871
|
*/
|
|
27818
27872
|
const DateTimeInput = React.forwardRef((props, ref) => {
|
|
27819
27873
|
const { label, labelSize, labelProps, horizontal, iconLeft, iconRight, iconLeftName = 'calendar-alt', iconRightName, iconLeftSize, iconRightSize, hasIconsLeft, hasIconsRight, isLoading, isExpanded, controlSize, message, messageColor, fieldClassName, controlClassName, ...baseProps } = props;
|
|
27874
|
+
// The picker's own direction, which the Control below takes too.
|
|
27875
|
+
const pickerDirAttrs = usePickerDirAttrs(baseProps.locale, baseProps.dir);
|
|
27820
27876
|
const insideField = useInsideField();
|
|
27821
27877
|
const insideControl = useInsideControl();
|
|
27822
27878
|
const ownField = rendersOwnField('DateTimeInput', {
|
|
@@ -27864,7 +27920,7 @@ const DateTimeInput = React.forwardRef((props, ref) => {
|
|
|
27864
27920
|
// whether that is the one rendered below or an enclosing one.
|
|
27865
27921
|
let content = (jsxRuntime.jsx(DateTimeInputBase, { ref: ref, ...baseProps, id: controlId }));
|
|
27866
27922
|
if (ownControl) {
|
|
27867
|
-
content = (jsxRuntime.jsx(Control, { iconLeft: iconLeft, iconRight: iconRight, iconLeftName: iconLeftName, iconRightName: iconRightName, iconLeftSize: iconLeftSize, iconRightSize: iconRightSize, hasIconsLeft: hasIconsLeft || !!iconLeftName, hasIconsRight: hasIconsRight, isLoading: isLoading, isExpanded: isExpanded, size: controlSize, className: controlClassName, children: content }));
|
|
27923
|
+
content = (jsxRuntime.jsx(Control, { ...pickerDirAttrs, iconLeft: iconLeft, iconRight: iconRight, iconLeftName: iconLeftName, iconRightName: iconRightName, iconLeftSize: iconLeftSize, iconRightSize: iconRightSize, hasIconsLeft: hasIconsLeft || !!iconLeftName, hasIconsRight: hasIconsRight, isLoading: isLoading, isExpanded: isExpanded, size: controlSize, className: controlClassName, children: content }));
|
|
27868
27924
|
}
|
|
27869
27925
|
const messageEl = message ? jsxRuntime.jsx("p", { className: helpClass, children: message }) : null;
|
|
27870
27926
|
if (ownField) {
|
|
@@ -27893,7 +27949,7 @@ const today = () => startOfDay(new Date());
|
|
|
27893
27949
|
* @returns {JSX.Element}
|
|
27894
27950
|
*/
|
|
27895
27951
|
const DateRangeInputBase = React.forwardRef((props, ref) => {
|
|
27896
|
-
const { value: controlledValue, defaultValue, onChange, onOpen, onClose, min, max, disabled: disabledProp, readOnly, placeholder, format, parse, locale: localeProp, inline = false, mobileNative = 'auto', editable = true, popover = true, openOnFocus = true, closeOnSelect = true, position
|
|
27952
|
+
const { value: controlledValue, defaultValue, onChange, onOpen, onClose, min, max, disabled: disabledProp, readOnly, placeholder, format, parse, locale: localeProp, inline = false, mobileNative = 'auto', editable = true, popover = true, openOnFocus = true, closeOnSelect = true, position, appendToBody = false, color, size, isRounded, shouldDisableDate, unselectableDates, allowDisabledInRange = false, firstDayOfWeek: firstDayOfWeekProp, dayNames, monthNames, nearbyMonthDays = true, iconLeftName: _iconLeftName, triggerIcon: triggerIconProp, triggerIconName = 'chevron-down', labels, name, startName, endName, form, required, id, className, onFocus, onFocusCapture, ...rest } = props;
|
|
27897
27953
|
// A LocaleProvider around the picker sets its default locale and, through
|
|
27898
27954
|
// that locale, the day its week starts on.
|
|
27899
27955
|
const locale = usePickerLocale(localeProp);
|
|
@@ -28192,6 +28248,8 @@ DateRangeInputBase.displayName = 'DateRangeInputBase';
|
|
|
28192
28248
|
*/
|
|
28193
28249
|
const DateRangeInput = React.forwardRef((props, ref) => {
|
|
28194
28250
|
const { label, labelSize, labelProps, horizontal, iconLeft, iconRight, iconLeftName = 'calendar', iconRightName, iconLeftSize, iconRightSize, hasIconsLeft, hasIconsRight, isLoading, isExpanded, controlSize, message, messageColor, fieldClassName, controlClassName, ...baseProps } = props;
|
|
28251
|
+
// The picker's own direction, which the Control below takes too.
|
|
28252
|
+
const pickerDirAttrs = usePickerDirAttrs(baseProps.locale, baseProps.dir);
|
|
28195
28253
|
const insideField = useInsideField();
|
|
28196
28254
|
const insideControl = useInsideControl();
|
|
28197
28255
|
const ownField = rendersOwnField('DateRangeInput', {
|
|
@@ -28235,7 +28293,7 @@ const DateRangeInput = React.forwardRef((props, ref) => {
|
|
|
28235
28293
|
});
|
|
28236
28294
|
let content = (jsxRuntime.jsx(DateRangeInputBase, { ref: ref, "aria-labelledby": ariaLabelledBy, ...baseProps }));
|
|
28237
28295
|
if (ownControl) {
|
|
28238
|
-
content = (jsxRuntime.jsx(Control, { iconLeft: iconLeft, iconRight: iconRight, iconLeftName: iconLeftName, iconRightName: iconRightName, iconLeftSize: iconLeftSize, iconRightSize: iconRightSize, hasIconsLeft: hasIconsLeft || !!iconLeftName, hasIconsRight: hasIconsRight, isLoading: isLoading, isExpanded: isExpanded, size: controlSize, className: controlClassName, children: content }));
|
|
28296
|
+
content = (jsxRuntime.jsx(Control, { ...pickerDirAttrs, iconLeft: iconLeft, iconRight: iconRight, iconLeftName: iconLeftName, iconRightName: iconRightName, iconLeftSize: iconLeftSize, iconRightSize: iconRightSize, hasIconsLeft: hasIconsLeft || !!iconLeftName, hasIconsRight: hasIconsRight, isLoading: isLoading, isExpanded: isExpanded, size: controlSize, className: controlClassName, children: content }));
|
|
28239
28297
|
}
|
|
28240
28298
|
const messageEl = message ? jsxRuntime.jsx("p", { className: helpClass, children: message }) : null;
|
|
28241
28299
|
if (ownField) {
|
|
@@ -28256,7 +28314,7 @@ DateRangeInput.displayName = 'DateRangeInput';
|
|
|
28256
28314
|
* @returns {JSX.Element} The rendered field.
|
|
28257
28315
|
*/
|
|
28258
28316
|
const ColorInputBase = React.forwardRef((props, ref) => {
|
|
28259
|
-
const { value: controlledValue, defaultValue, onChange, onChangeEnd, format = 'hsl', alpha = false, swatches, eyeDropper = false, onOpen, onClose, openOnFocus = false, closeOnSwatchClick = false, position
|
|
28317
|
+
const { value: controlledValue, defaultValue, onChange, onChangeEnd, format = 'hsl', alpha = false, swatches, eyeDropper = false, onOpen, onClose, openOnFocus = false, closeOnSwatchClick = false, position, appendToBody = false, color, size, isRounded, disabled: disabledProp, readOnly, placeholder, triggerIcon: triggerIconProp, triggerIconName = 'chevron-down', labels, className, id: idProp, onFocus, onBlur, onKeyDown, ...rest } = props;
|
|
28260
28318
|
const disabled = useFieldsetDisabled(disabledProp);
|
|
28261
28319
|
const id = useFieldLabelTarget(idProp, true);
|
|
28262
28320
|
const localeScope = usePickerLocaleScope(undefined, props.dir);
|
|
@@ -31165,6 +31223,13 @@ exports.Breadcrumb = Breadcrumb;
|
|
|
31165
31223
|
exports.Button = Button;
|
|
31166
31224
|
exports.Buttons = Buttons;
|
|
31167
31225
|
exports.Card = Card;
|
|
31226
|
+
exports.CardContent = CardContent;
|
|
31227
|
+
exports.CardFooter = CardFooter;
|
|
31228
|
+
exports.CardFooterItem = CardFooterItem;
|
|
31229
|
+
exports.CardHeader = CardHeader;
|
|
31230
|
+
exports.CardHeaderIcon = CardHeaderIcon;
|
|
31231
|
+
exports.CardHeaderTitle = CardHeaderTitle;
|
|
31232
|
+
exports.CardImage = CardImage;
|
|
31168
31233
|
exports.Carousel = Carousel;
|
|
31169
31234
|
exports.CarouselItem = CarouselItem;
|
|
31170
31235
|
exports.Cell = Cell;
|
|
@@ -31237,6 +31302,7 @@ exports.FieldBody = FieldBody;
|
|
|
31237
31302
|
exports.FieldLabel = FieldLabel;
|
|
31238
31303
|
exports.Fieldset = Fieldset;
|
|
31239
31304
|
exports.Figure = Figure;
|
|
31305
|
+
exports.FigureCaption = FigureCaption;
|
|
31240
31306
|
exports.File = File;
|
|
31241
31307
|
exports.Flex = Flex;
|
|
31242
31308
|
exports.Footer = Footer;
|
|
@@ -31277,7 +31343,17 @@ exports.MenuLabel = MenuLabel;
|
|
|
31277
31343
|
exports.MenuList = MenuList;
|
|
31278
31344
|
exports.MenuSection = MenuSection;
|
|
31279
31345
|
exports.Message = Message;
|
|
31346
|
+
exports.MessageBody = MessageBody;
|
|
31347
|
+
exports.MessageHeader = MessageHeader;
|
|
31280
31348
|
exports.Modal = Modal;
|
|
31349
|
+
exports.ModalBackground = ModalBackground;
|
|
31350
|
+
exports.ModalCard = ModalCard;
|
|
31351
|
+
exports.ModalCardBody = ModalCardBody;
|
|
31352
|
+
exports.ModalCardFoot = ModalCardFoot;
|
|
31353
|
+
exports.ModalCardHead = ModalCardHead;
|
|
31354
|
+
exports.ModalCardTitle = ModalCardTitle;
|
|
31355
|
+
exports.ModalClose = ModalClose;
|
|
31356
|
+
exports.ModalContent = ModalContent;
|
|
31281
31357
|
exports.Navbar = Navbar;
|
|
31282
31358
|
exports.NavbarBrand = NavbarBrand;
|
|
31283
31359
|
exports.NavbarBurger = NavbarBurger;
|
|
@@ -31330,9 +31406,15 @@ exports.RingProgress = RingProgress;
|
|
|
31330
31406
|
exports.ScrollArea = ScrollArea;
|
|
31331
31407
|
exports.Section = Section;
|
|
31332
31408
|
exports.SegmentedControl = SegmentedControl;
|
|
31409
|
+
exports.SegmentedControlSegment = SegmentedControlSegment;
|
|
31333
31410
|
exports.Select = Select;
|
|
31334
31411
|
exports.SelectBase = SelectBase;
|
|
31335
31412
|
exports.Sidebar = Sidebar;
|
|
31413
|
+
exports.SidebarBody = SidebarBody;
|
|
31414
|
+
exports.SidebarClose = SidebarClose;
|
|
31415
|
+
exports.SidebarFooter = SidebarFooter;
|
|
31416
|
+
exports.SidebarHeader = SidebarHeader;
|
|
31417
|
+
exports.SidebarTitle = SidebarTitle;
|
|
31336
31418
|
exports.Skeleton = Skeleton;
|
|
31337
31419
|
exports.Slider = Slider;
|
|
31338
31420
|
exports.Span = Span;
|