@allxsmith/bestax-bulma 5.9.0 → 5.10.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/AGENTS.md +15 -0
- package/CLAUDE.md +15 -0
- package/dist/index.cjs.js +89 -28
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +88 -29
- package/dist/index.esm.js.map +1 -1
- package/dist/types/columns/Column.d.ts +2 -2
- package/dist/types/components/Card.d.ts +49 -7
- package/dist/types/components/Sidebar.d.ts +2 -0
- package/dist/types/components/Tabs.d.ts +4 -0
- package/dist/types/elements/Button.d.ts +2 -0
- package/dist/types/elements/LinkButton.d.ts +1 -1
- package/dist/types/elements/SubTitle.d.ts +3 -4
- package/dist/types/elements/Table.d.ts +2 -0
- package/dist/types/elements/Tag.d.ts +2 -0
- package/dist/types/elements/Title.d.ts +3 -4
- package/dist/types/form/File.d.ts +2 -0
- package/dist/types/form/Numberinput.d.ts +4 -0
- package/dist/types/form/SelectBase.d.ts +2 -0
- package/dist/types/form/Taginput.d.ts +4 -0
- package/llms.txt +1 -0
- package/package.json +1 -1
package/AGENTS.md
CHANGED
|
@@ -11,6 +11,11 @@ Machine-readable docs (always current):
|
|
|
11
11
|
https://bestax.io/docs/api/elements/button.md
|
|
12
12
|
- LLM guide: https://bestax.io/docs/guides/llms
|
|
13
13
|
|
|
14
|
+
Prefer to query rather than read? `npx bestax-mcp` is the first-party MCP
|
|
15
|
+
server — props (including compound parts), examples, `--bulma-*` variables and
|
|
16
|
+
the skills as prompts, offline. Setup:
|
|
17
|
+
https://bestax.io/docs/guides/llms#mcp-server
|
|
18
|
+
|
|
14
19
|
Agent skills (bestax-custom-component, bestax-form, bestax-icons,
|
|
15
20
|
bestax-layout-scaffold, bestax-migrate, bestax-optimize, bestax-theming):
|
|
16
21
|
https://bestax.io/docs/skills/intro
|
|
@@ -21,6 +26,16 @@ https://bestax.io/docs/skills/intro
|
|
|
21
26
|
- Existing project: `npx skills add https://github.com/allxsmith/bestax --skill bestax-form`
|
|
22
27
|
(repeat per skill, or omit `--skill` to pick interactively)
|
|
23
28
|
|
|
29
|
+
Three components Bulma will talk you out of — everything else here gets found
|
|
30
|
+
because Bulma has no equivalent, but these have a near-miss that ends the search:
|
|
31
|
+
|
|
32
|
+
- Brief confirmation after an action: `Toast` (`<ToastContainer />` at the root,
|
|
33
|
+
then `toast.success('Saved')`) — not `Notification`/`Message`.
|
|
34
|
+
- A confirm or alert: `Dialog` (`<DialogContainer />`, then
|
|
35
|
+
`await dialog.confirm({ title, message })`) — not `Modal`.
|
|
36
|
+
- A control that reads as text or a link: `LinkButton` — not `<a href="#">`,
|
|
37
|
+
`<div onClick>` or `Button color="text"`.
|
|
38
|
+
|
|
24
39
|
Conventions (the offline essentials):
|
|
25
40
|
|
|
26
41
|
- Compound components: `Card.Header`, `Navbar.Brand`, `Hero.Body`, …
|
package/CLAUDE.md
CHANGED
|
@@ -11,6 +11,11 @@ Machine-readable docs (always current):
|
|
|
11
11
|
https://bestax.io/docs/api/elements/button.md
|
|
12
12
|
- LLM guide: https://bestax.io/docs/guides/llms
|
|
13
13
|
|
|
14
|
+
Prefer to query rather than read? `npx bestax-mcp` is the first-party MCP
|
|
15
|
+
server — props (including compound parts), examples, `--bulma-*` variables and
|
|
16
|
+
the skills as prompts, offline. Setup:
|
|
17
|
+
https://bestax.io/docs/guides/llms#mcp-server
|
|
18
|
+
|
|
14
19
|
Agent skills (bestax-custom-component, bestax-form, bestax-icons,
|
|
15
20
|
bestax-layout-scaffold, bestax-migrate, bestax-optimize, bestax-theming):
|
|
16
21
|
https://bestax.io/docs/skills/intro
|
|
@@ -21,6 +26,16 @@ https://bestax.io/docs/skills/intro
|
|
|
21
26
|
- Existing project: `npx skills add https://github.com/allxsmith/bestax --skill bestax-form`
|
|
22
27
|
(repeat per skill, or omit `--skill` to pick interactively)
|
|
23
28
|
|
|
29
|
+
Three components Bulma will talk you out of — everything else here gets found
|
|
30
|
+
because Bulma has no equivalent, but these have a near-miss that ends the search:
|
|
31
|
+
|
|
32
|
+
- Brief confirmation after an action: `Toast` (`<ToastContainer />` at the root,
|
|
33
|
+
then `toast.success('Saved')`) — not `Notification`/`Message`.
|
|
34
|
+
- A confirm or alert: `Dialog` (`<DialogContainer />`, then
|
|
35
|
+
`await dialog.confirm({ title, message })`) — not `Modal`.
|
|
36
|
+
- A control that reads as text or a link: `LinkButton` — not `<a href="#">`,
|
|
37
|
+
`<div onClick>` or `Button color="text"`.
|
|
38
|
+
|
|
24
39
|
Conventions (the offline essentials):
|
|
25
40
|
|
|
26
41
|
- Compound components: `Card.Header`, `Navbar.Brand`, `Hero.Body`, …
|
package/dist/index.cjs.js
CHANGED
|
@@ -1490,14 +1490,19 @@ const CardComponent = ({ className, children, textColor, color, bgColor, hasShad
|
|
|
1490
1490
|
* @param {CardHeaderProps} props - Props for the CardHeader component.
|
|
1491
1491
|
* @returns {JSX.Element} The rendered card header.
|
|
1492
1492
|
*/
|
|
1493
|
-
const CardHeader = ({ className, children, centered, ...props }) => {
|
|
1493
|
+
const CardHeader = ({ className, children, centered, color, bgColor, textColor, ...props }) => {
|
|
1494
1494
|
const { classPrefix } = useConfig();
|
|
1495
|
+
const { bulmaHelperClasses, rest } = useBulmaClasses({
|
|
1496
|
+
color: textColor ?? color,
|
|
1497
|
+
backgroundColor: bgColor,
|
|
1498
|
+
...props,
|
|
1499
|
+
});
|
|
1495
1500
|
// Check if children contains a CardHeaderTitle component
|
|
1496
1501
|
const hasHeaderTitle = React.Children.toArray(children).some(child => React.isValidElement(child) &&
|
|
1497
1502
|
typeof child.type === 'function' &&
|
|
1498
1503
|
child.type === CardHeaderTitle);
|
|
1499
1504
|
const headerClasses = usePrefixedClassNames('card-header');
|
|
1500
|
-
return (jsxRuntime.jsx("header", { className: classNames(headerClasses, className), ...
|
|
1505
|
+
return (jsxRuntime.jsx("header", { className: classNames(headerClasses, bulmaHelperClasses, className), ...rest, children: hasHeaderTitle ? (children) : (jsxRuntime.jsx("div", { className: classNames(prefixedClassNames(classPrefix, 'card-header-title', {
|
|
1501
1506
|
'is-centered': centered,
|
|
1502
1507
|
}), className), children: children })) }));
|
|
1503
1508
|
};
|
|
@@ -1508,9 +1513,16 @@ const CardHeader = ({ className, children, centered, ...props }) => {
|
|
|
1508
1513
|
* @param {CardHeaderTitleProps} props - Props for the CardHeaderTitle component.
|
|
1509
1514
|
* @returns {JSX.Element} The rendered card header title.
|
|
1510
1515
|
*/
|
|
1511
|
-
const CardHeaderTitle = ({ className, children, centered, ...props }) =>
|
|
1512
|
-
|
|
1513
|
-
|
|
1516
|
+
const CardHeaderTitle = ({ className, children, centered, color, bgColor, textColor, ...props }) => {
|
|
1517
|
+
const { bulmaHelperClasses, rest } = useBulmaClasses({
|
|
1518
|
+
color: textColor ?? color,
|
|
1519
|
+
backgroundColor: bgColor,
|
|
1520
|
+
...props,
|
|
1521
|
+
});
|
|
1522
|
+
return (jsxRuntime.jsx("div", { className: classNames(usePrefixedClassNames('card-header-title', {
|
|
1523
|
+
'is-centered': centered,
|
|
1524
|
+
}), bulmaHelperClasses, className), ...rest, children: children }));
|
|
1525
|
+
};
|
|
1514
1526
|
/**
|
|
1515
1527
|
* Card header icon compound component. Renders a `.card-header-icon` button.
|
|
1516
1528
|
*
|
|
@@ -1518,7 +1530,14 @@ const CardHeaderTitle = ({ className, children, centered, ...props }) => (jsxRun
|
|
|
1518
1530
|
* @param {CardHeaderIconProps} props - Props for the CardHeaderIcon component.
|
|
1519
1531
|
* @returns {JSX.Element} The rendered card header icon button.
|
|
1520
1532
|
*/
|
|
1521
|
-
const CardHeaderIcon = ({ className, children,
|
|
1533
|
+
const CardHeaderIcon = ({ className, children, color, bgColor, textColor, ...props }) => {
|
|
1534
|
+
const { bulmaHelperClasses, rest } = useBulmaClasses({
|
|
1535
|
+
color: textColor ?? color,
|
|
1536
|
+
backgroundColor: bgColor,
|
|
1537
|
+
...props,
|
|
1538
|
+
});
|
|
1539
|
+
return (jsxRuntime.jsx("button", { className: classNames(usePrefixedClassNames('card-header-icon'), bulmaHelperClasses, className), "aria-label": props['aria-label'] || 'more options', ...rest, children: children }));
|
|
1540
|
+
};
|
|
1522
1541
|
/**
|
|
1523
1542
|
* Card image compound component. Wraps children in a `.card-image` element.
|
|
1524
1543
|
*
|
|
@@ -1526,7 +1545,14 @@ const CardHeaderIcon = ({ className, children, ...props }) => (jsxRuntime.jsx("b
|
|
|
1526
1545
|
* @param {CardImageProps} props - Props for the CardImage component.
|
|
1527
1546
|
* @returns {JSX.Element} The rendered card image container.
|
|
1528
1547
|
*/
|
|
1529
|
-
const CardImage = ({ className, children,
|
|
1548
|
+
const CardImage = ({ className, children, color, bgColor, textColor, ...props }) => {
|
|
1549
|
+
const { bulmaHelperClasses, rest } = useBulmaClasses({
|
|
1550
|
+
color: textColor ?? color,
|
|
1551
|
+
backgroundColor: bgColor,
|
|
1552
|
+
...props,
|
|
1553
|
+
});
|
|
1554
|
+
return (jsxRuntime.jsx("div", { className: classNames(usePrefixedClassNames('card-image'), bulmaHelperClasses, className), ...rest, children: children }));
|
|
1555
|
+
};
|
|
1530
1556
|
/**
|
|
1531
1557
|
* Card content compound component. Wraps children in a `.card-content` element.
|
|
1532
1558
|
*
|
|
@@ -1534,7 +1560,14 @@ const CardImage = ({ className, children, ...props }) => (jsxRuntime.jsx("div",
|
|
|
1534
1560
|
* @param {CardContentProps} props - Props for the CardContent component.
|
|
1535
1561
|
* @returns {JSX.Element} The rendered card content container.
|
|
1536
1562
|
*/
|
|
1537
|
-
const CardContent = ({ className, children,
|
|
1563
|
+
const CardContent = ({ className, children, color, bgColor, textColor, ...props }) => {
|
|
1564
|
+
const { bulmaHelperClasses, rest } = useBulmaClasses({
|
|
1565
|
+
color: textColor ?? color,
|
|
1566
|
+
backgroundColor: bgColor,
|
|
1567
|
+
...props,
|
|
1568
|
+
});
|
|
1569
|
+
return (jsxRuntime.jsx("div", { className: classNames(usePrefixedClassNames('card-content'), bulmaHelperClasses, className), ...rest, children: children }));
|
|
1570
|
+
};
|
|
1538
1571
|
/**
|
|
1539
1572
|
* Card footer compound component. Wraps children in a `.card-footer` element.
|
|
1540
1573
|
*
|
|
@@ -1542,7 +1575,14 @@ const CardContent = ({ className, children, ...props }) => (jsxRuntime.jsx("div"
|
|
|
1542
1575
|
* @param {CardFooterProps} props - Props for the CardFooter component.
|
|
1543
1576
|
* @returns {JSX.Element} The rendered card footer.
|
|
1544
1577
|
*/
|
|
1545
|
-
const CardFooter = ({ className, children,
|
|
1578
|
+
const CardFooter = ({ className, children, color, bgColor, textColor, ...props }) => {
|
|
1579
|
+
const { bulmaHelperClasses, rest } = useBulmaClasses({
|
|
1580
|
+
color: textColor ?? color,
|
|
1581
|
+
backgroundColor: bgColor,
|
|
1582
|
+
...props,
|
|
1583
|
+
});
|
|
1584
|
+
return (jsxRuntime.jsx("footer", { className: classNames(usePrefixedClassNames('card-footer'), bulmaHelperClasses, className), ...rest, children: children }));
|
|
1585
|
+
};
|
|
1546
1586
|
/**
|
|
1547
1587
|
* Card footer item compound component. Wraps children in a `.card-footer-item` span.
|
|
1548
1588
|
*
|
|
@@ -1550,7 +1590,14 @@ const CardFooter = ({ className, children, ...props }) => (jsxRuntime.jsx("foote
|
|
|
1550
1590
|
* @param {CardFooterItemProps} props - Props for the CardFooterItem component.
|
|
1551
1591
|
* @returns {JSX.Element} The rendered card footer item.
|
|
1552
1592
|
*/
|
|
1553
|
-
const CardFooterItem = ({ className, children,
|
|
1593
|
+
const CardFooterItem = ({ className, children, color, bgColor, textColor, ...props }) => {
|
|
1594
|
+
const { bulmaHelperClasses, rest } = useBulmaClasses({
|
|
1595
|
+
color: textColor ?? color,
|
|
1596
|
+
backgroundColor: bgColor,
|
|
1597
|
+
...props,
|
|
1598
|
+
});
|
|
1599
|
+
return (jsxRuntime.jsx("span", { className: classNames(usePrefixedClassNames('card-footer-item'), bulmaHelperClasses, className), ...rest, children: children }));
|
|
1600
|
+
};
|
|
1554
1601
|
// Attach nested Title and Icon components to CardHeader
|
|
1555
1602
|
const CardHeaderCompound = withSubComponents(CardHeader, {
|
|
1556
1603
|
Title: CardHeaderTitle,
|
|
@@ -2643,7 +2690,7 @@ function useTabsContext() {
|
|
|
2643
2690
|
* </Tabs.Content>
|
|
2644
2691
|
* </Tabs>
|
|
2645
2692
|
*/
|
|
2646
|
-
const TabsComponent = ({ align, size, fullwidth, boxed, toggle, rounded, color, value, onChange, defaultValue = 0, vertical, side, expanded, className, children, ...props }) => {
|
|
2693
|
+
const TabsComponent = ({ align, size, isFullwidth, isFullWidth, fullwidth, boxed, toggle, rounded, color, value, onChange, defaultValue = 0, vertical, side, expanded, className, children, ...props }) => {
|
|
2647
2694
|
warnDeprecatedColorProp('Tabs', color, 'Remove the prop; no replacement exists.');
|
|
2648
2695
|
const { bulmaHelperClasses, rest } = useBulmaClasses({ ...props });
|
|
2649
2696
|
// Controlled vs uncontrolled state
|
|
@@ -2662,7 +2709,7 @@ const TabsComponent = ({ align, size, fullwidth, boxed, toggle, rounded, color,
|
|
|
2662
2709
|
[`is-${align}`]: align,
|
|
2663
2710
|
[`is-${size}`]: size,
|
|
2664
2711
|
[`is-${color}`]: color,
|
|
2665
|
-
'is-fullwidth': fullwidth,
|
|
2712
|
+
'is-fullwidth': isFullwidth ?? isFullWidth ?? fullwidth,
|
|
2666
2713
|
'is-boxed': boxed,
|
|
2667
2714
|
'is-toggle': toggle,
|
|
2668
2715
|
'is-toggle-rounded': rounded,
|
|
@@ -3352,9 +3399,10 @@ const Steps = withSubComponents(StepsComponent, { Step }, 'Steps');
|
|
|
3352
3399
|
* <div>Panel content</div>
|
|
3353
3400
|
* </Sidebar>
|
|
3354
3401
|
*/
|
|
3355
|
-
const SidebarComponent = React.forwardRef(({ isOpen, onClose, position = 'left', width = '260px', fullWidth
|
|
3402
|
+
const SidebarComponent = React.forwardRef(({ isOpen, onClose, position = 'left', width = '260px', isFullwidth, fullWidth, overlay = true, overlayClose = true, escapeClose = true, canCancel = true, children, inline = false, className, style, ...props }, ref) => {
|
|
3356
3403
|
const { bulmaHelperClasses, rest } = useBulmaClasses(props);
|
|
3357
3404
|
const sidebarRef = React.useRef(null);
|
|
3405
|
+
const resolvedFullwidth = isFullwidth ?? fullWidth ?? false;
|
|
3358
3406
|
// Close handler
|
|
3359
3407
|
const handleClose = React.useCallback(() => {
|
|
3360
3408
|
if (canCancel && onClose) {
|
|
@@ -3421,7 +3469,7 @@ const SidebarComponent = React.forwardRef(({ isOpen, onClose, position = 'left',
|
|
|
3421
3469
|
const sidebarClasses = usePrefixedClassNames('sidebar', {
|
|
3422
3470
|
'is-active': isOpen,
|
|
3423
3471
|
[`is-${position}`]: position,
|
|
3424
|
-
'is-fullwidth':
|
|
3472
|
+
'is-fullwidth': resolvedFullwidth,
|
|
3425
3473
|
});
|
|
3426
3474
|
const backgroundClass = usePrefixedClassNames('sidebar-background', {
|
|
3427
3475
|
'is-active': isOpen,
|
|
@@ -3431,7 +3479,7 @@ const SidebarComponent = React.forwardRef(({ isOpen, onClose, position = 'left',
|
|
|
3431
3479
|
// Custom style for width
|
|
3432
3480
|
const sidebarStyle = {
|
|
3433
3481
|
...style,
|
|
3434
|
-
'--bulma-sidebar-width':
|
|
3482
|
+
'--bulma-sidebar-width': resolvedFullwidth ? '100%' : width,
|
|
3435
3483
|
};
|
|
3436
3484
|
const sidebarContent = (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [overlay && (jsxRuntime.jsx("div", { className: backgroundClass, onClick: handleOverlayClick, "aria-hidden": "true" })), jsxRuntime.jsx("aside", { ref: combinedRef, className: combinedClasses, style: sidebarStyle, role: "dialog", "aria-modal": overlay ? 'true' : undefined, "aria-hidden": !isOpen, tabIndex: -1, ...rest, children: jsxRuntime.jsx("div", { className: contentClass, children: children }) })] }));
|
|
3437
3485
|
if (inline) {
|
|
@@ -3999,7 +4047,7 @@ const validButtonColors = [...validColors, 'text', 'ghost'];
|
|
|
3999
4047
|
* @returns {JSX.Element} The rendered button or anchor element.
|
|
4000
4048
|
* @see {@link https://bulma.io/documentation/elements/button/ | Bulma Button documentation}
|
|
4001
4049
|
*/
|
|
4002
|
-
const Button = ({ color, size, isLight, isRounded, isLoading, isStatic, isFullWidth, isOutlined, isInverted, isFocused, isActive, isHovered, isDisabled, className, children, textColor, bgColor, as: Component = 'button', href, onClick, target, rel, ...props }) => {
|
|
4050
|
+
const Button = ({ color, size, isLight, isRounded, isLoading, isStatic, isFullwidth, isFullWidth, isOutlined, isInverted, isFocused, isActive, isHovered, isDisabled, className, children, textColor, bgColor, as: Component = 'button', href, onClick, target, rel, ...props }) => {
|
|
4003
4051
|
const { bulmaHelperClasses, rest } = useBulmaClasses({
|
|
4004
4052
|
color: textColor,
|
|
4005
4053
|
backgroundColor: bgColor,
|
|
@@ -4020,7 +4068,7 @@ const Button = ({ color, size, isLight, isRounded, isLoading, isStatic, isFullWi
|
|
|
4020
4068
|
'is-focused': isFocused,
|
|
4021
4069
|
'is-active': isActive,
|
|
4022
4070
|
'is-inverted': isInverted,
|
|
4023
|
-
'is-fullwidth': isFullWidth,
|
|
4071
|
+
'is-fullwidth': isFullwidth ?? isFullWidth,
|
|
4024
4072
|
});
|
|
4025
4073
|
// Combine prefixed Bulma classes with unprefixed user className and prefixed helper classes
|
|
4026
4074
|
const buttonClasses = classNames(bulmaClasses, bulmaHelperClasses, className);
|
|
@@ -5236,8 +5284,11 @@ const SubTitle = ({ className, size, as = 'h1', hasSkeleton, textColor, bgColor,
|
|
|
5236
5284
|
});
|
|
5237
5285
|
// Validate 'as' prop at runtime
|
|
5238
5286
|
const element = validSubTitleElements.includes(as) ? as : 'h1';
|
|
5239
|
-
// Validate 'size' prop at runtime
|
|
5240
|
-
const
|
|
5287
|
+
// Validate 'size' prop at runtime (numeric sizes normalize to strings)
|
|
5288
|
+
const normalized = size == null ? undefined : String(size);
|
|
5289
|
+
const validSize = normalized && validSubTitleSizes.includes(normalized)
|
|
5290
|
+
? normalized
|
|
5291
|
+
: undefined;
|
|
5241
5292
|
const bulmaClasses = usePrefixedClassNames('subtitle', {
|
|
5242
5293
|
[`is-${validSize}`]: validSize,
|
|
5243
5294
|
'has-skeleton': hasSkeleton,
|
|
@@ -5397,7 +5448,7 @@ const Th = ({ className, isAligned, width, color, children, ...props }) => {
|
|
|
5397
5448
|
* @returns {JSX.Element} The rendered table element.
|
|
5398
5449
|
* @see {@link https://bulma.io/documentation/elements/table/ | Bulma Table documentation}
|
|
5399
5450
|
*/
|
|
5400
|
-
const TableComponent = ({ className, isBordered, isStriped, isNarrow, isHoverable, isFullwidth, isResponsive, children, ...props }) => {
|
|
5451
|
+
const TableComponent = ({ className, isBordered, isStriped, isNarrow, isHoverable, isFullwidth, isFullWidth, isResponsive, children, ...props }) => {
|
|
5401
5452
|
/**
|
|
5402
5453
|
* Generates Bulma helper classes and separates out remaining props.
|
|
5403
5454
|
*/
|
|
@@ -5407,7 +5458,7 @@ const TableComponent = ({ className, isBordered, isStriped, isNarrow, isHoverabl
|
|
|
5407
5458
|
'is-striped': isStriped,
|
|
5408
5459
|
'is-narrow': isNarrow,
|
|
5409
5460
|
'is-hoverable': isHoverable,
|
|
5410
|
-
'is-fullwidth': isFullwidth,
|
|
5461
|
+
'is-fullwidth': isFullwidth ?? isFullWidth,
|
|
5411
5462
|
});
|
|
5412
5463
|
const containerClass = usePrefixedClassNames('table-container');
|
|
5413
5464
|
const tableClasses = classNames(bulmaClasses, bulmaHelperClasses, className);
|
|
@@ -5447,7 +5498,7 @@ const validTagSizes = ['normal', 'medium', 'large'];
|
|
|
5447
5498
|
* @returns {JSX.Element} The rendered tag element.
|
|
5448
5499
|
* @see {@link https://bulma.io/documentation/elements/tag/ | Bulma Tag documentation}
|
|
5449
5500
|
*/
|
|
5450
|
-
const Tag = ({ className, color, size, isRounded, isDelete, isHoverable, onDelete, children, ...props }) => {
|
|
5501
|
+
const Tag = ({ className, color, size, isLight, isRounded, isDelete, isHoverable, onDelete, children, ...props }) => {
|
|
5451
5502
|
/**
|
|
5452
5503
|
* Generates Bulma helper classes and separates out remaining props.
|
|
5453
5504
|
*/
|
|
@@ -5455,6 +5506,7 @@ const Tag = ({ className, color, size, isRounded, isDelete, isHoverable, onDelet
|
|
|
5455
5506
|
const bulmaClasses = usePrefixedClassNames('tag', {
|
|
5456
5507
|
[`is-${color}`]: color && validTagColors.includes(color),
|
|
5457
5508
|
[`is-${size}`]: size && size !== 'normal' && validTagSizes.includes(size),
|
|
5509
|
+
'is-light': isLight,
|
|
5458
5510
|
'is-rounded': isRounded,
|
|
5459
5511
|
'is-delete': isDelete,
|
|
5460
5512
|
'is-hoverable': isHoverable,
|
|
@@ -5509,8 +5561,11 @@ const Title = ({ className, size, isSpaced, as = 'h1', hasSkeleton, textColor, b
|
|
|
5509
5561
|
});
|
|
5510
5562
|
// Validate 'as' prop at runtime
|
|
5511
5563
|
const element = validTitleElements.includes(as) ? as : 'h1';
|
|
5512
|
-
// Validate 'size' prop at runtime
|
|
5513
|
-
const
|
|
5564
|
+
// Validate 'size' prop at runtime (numeric sizes normalize to strings)
|
|
5565
|
+
const normalized = size == null ? undefined : String(size);
|
|
5566
|
+
const validSize = normalized && validTitleSizes.includes(normalized)
|
|
5567
|
+
? normalized
|
|
5568
|
+
: undefined;
|
|
5514
5569
|
const bulmaClasses = usePrefixedClassNames('title', {
|
|
5515
5570
|
[`is-${validSize}`]: validSize,
|
|
5516
5571
|
'is-spaced': isSpaced,
|
|
@@ -5993,7 +6048,7 @@ const Checkboxes = withSubComponents(CheckboxesComponent, { Checkbox }, 'Checkbo
|
|
|
5993
6048
|
*/
|
|
5994
6049
|
const File = React.forwardRef(({
|
|
5995
6050
|
// Field props
|
|
5996
|
-
label, labelSize, labelProps, horizontal, message, messageColor, fieldClassName, color, size, isBoxed, isFullwidth, isRight, isCentered, hasName, buttonLabel, iconLeft, iconRight, className, inputClassName, fileName, ...props }, ref) => {
|
|
6051
|
+
label, labelSize, labelProps, horizontal, message, messageColor, fieldClassName, color, size, isBoxed, isFullwidth, isFullWidth, isRight, isCentered, hasName, buttonLabel, iconLeft, iconRight, className, inputClassName, fileName, ...props }, ref) => {
|
|
5997
6052
|
const insideField = useInsideField();
|
|
5998
6053
|
const { controlId, fieldLabelProps } = useAutoLabelId({
|
|
5999
6054
|
label,
|
|
@@ -6022,7 +6077,7 @@ label, labelSize, labelProps, horizontal, message, messageColor, fieldClassName,
|
|
|
6022
6077
|
[`is-${color}`]: !!color,
|
|
6023
6078
|
[`is-${size}`]: !!size,
|
|
6024
6079
|
'is-boxed': isBoxed,
|
|
6025
|
-
'is-fullwidth': isFullwidth,
|
|
6080
|
+
'is-fullwidth': isFullwidth ?? isFullWidth,
|
|
6026
6081
|
'has-name': hasName,
|
|
6027
6082
|
});
|
|
6028
6083
|
const fileClass = classNames(mainClass, bulmaHelperClasses, alignmentClass, className);
|
|
@@ -6863,6 +6918,8 @@ label, labelSize, labelProps, horizontal, message, messageColor, fieldClassName,
|
|
|
6863
6918
|
return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [numberinputElement, messageEl] }));
|
|
6864
6919
|
});
|
|
6865
6920
|
Numberinput.displayName = 'Numberinput';
|
|
6921
|
+
/** @deprecated Use `Numberinput` — same component. */
|
|
6922
|
+
const NumberInput = Numberinput;
|
|
6866
6923
|
|
|
6867
6924
|
/**
|
|
6868
6925
|
* Default star icon component.
|
|
@@ -7690,6 +7747,8 @@ label, labelSize, labelProps, horizontal, message, messageColor, fieldClassName,
|
|
|
7690
7747
|
return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [taginputElement, messageEl] }));
|
|
7691
7748
|
});
|
|
7692
7749
|
Taginput.displayName = 'Taginput';
|
|
7750
|
+
/** @deprecated Use `Taginput` — same component. */
|
|
7751
|
+
const TagInput = Taginput;
|
|
7693
7752
|
|
|
7694
7753
|
/**
|
|
7695
7754
|
* Bulma Input component with full Bulma helper class support.
|
|
@@ -7730,7 +7789,7 @@ InputBase.displayName = 'InputBase';
|
|
|
7730
7789
|
* @returns {JSX.Element} The rendered select element.
|
|
7731
7790
|
* @see {@link https://bulma.io/documentation/form/select/ | Bulma Select documentation}
|
|
7732
7791
|
*/
|
|
7733
|
-
const SelectBase = React.forwardRef(({ color, size, isRounded, isLoading, isActive, isHovered, isFocused, isFullwidth, className, disabled, children, multiple, multipleSize, ...props }, ref) => {
|
|
7792
|
+
const SelectBase = React.forwardRef(({ color, size, isRounded, isLoading, isActive, isHovered, isFocused, isFullwidth, isFullWidth, className, disabled, children, multiple, multipleSize, ...props }, ref) => {
|
|
7734
7793
|
const { bulmaHelperClasses, rest } = useBulmaClasses({
|
|
7735
7794
|
color,
|
|
7736
7795
|
...props,
|
|
@@ -7743,7 +7802,7 @@ const SelectBase = React.forwardRef(({ color, size, isRounded, isLoading, isActi
|
|
|
7743
7802
|
'is-loading': isLoading,
|
|
7744
7803
|
'is-active': isActive,
|
|
7745
7804
|
'is-multiple': !!multiple,
|
|
7746
|
-
'is-fullwidth': isFullwidth,
|
|
7805
|
+
'is-fullwidth': isFullwidth ?? isFullWidth,
|
|
7747
7806
|
});
|
|
7748
7807
|
const selectClass = classNames(mainClass, bulmaHelperClasses, className);
|
|
7749
7808
|
// is-hovered / is-focused belong on the inner <select> element, not the wrapper.
|
|
@@ -12202,6 +12261,7 @@ exports.NavbarMenu = NavbarMenu;
|
|
|
12202
12261
|
exports.NavbarStart = NavbarStart;
|
|
12203
12262
|
exports.Notification = Notification;
|
|
12204
12263
|
exports.NotificationContainer = NotificationContainer;
|
|
12264
|
+
exports.NumberInput = NumberInput;
|
|
12205
12265
|
exports.Numberinput = Numberinput;
|
|
12206
12266
|
exports.OrderedList = OrderedList;
|
|
12207
12267
|
exports.Pagination = Pagination;
|
|
@@ -12245,6 +12305,7 @@ exports.Table = Table;
|
|
|
12245
12305
|
exports.Tabs = Tabs;
|
|
12246
12306
|
exports.TabsContent = TabsContent;
|
|
12247
12307
|
exports.Tag = Tag;
|
|
12308
|
+
exports.TagInput = TagInput;
|
|
12248
12309
|
exports.Taginput = Taginput;
|
|
12249
12310
|
exports.Tags = Tags;
|
|
12250
12311
|
exports.Tbody = Tbody;
|