@allxsmith/bestax-bulma 5.16.4 → 5.16.6

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.
Files changed (133) hide show
  1. package/dist/types-cjs/columns/Column.d.ts +68 -0
  2. package/dist/types-cjs/columns/Columns.d.ts +63 -0
  3. package/dist/types-cjs/components/Avatar.d.ts +91 -0
  4. package/dist/types-cjs/components/Avatars.d.ts +30 -0
  5. package/dist/types-cjs/components/Badge.d.ts +56 -0
  6. package/dist/types-cjs/components/Breadcrumb.d.ts +42 -0
  7. package/dist/types-cjs/components/Card.d.ts +166 -0
  8. package/dist/types-cjs/components/Carousel.d.ts +104 -0
  9. package/dist/types-cjs/components/Collapse.d.ts +69 -0
  10. package/dist/types-cjs/components/Dialog.d.ts +142 -0
  11. package/dist/types-cjs/components/Dropdown.d.ts +104 -0
  12. package/dist/types-cjs/components/Loading.d.ts +68 -0
  13. package/dist/types-cjs/components/Menu.d.ts +100 -0
  14. package/dist/types-cjs/components/Message.d.ts +51 -0
  15. package/dist/types-cjs/components/Modal.d.ts +126 -0
  16. package/dist/types-cjs/components/Navbar.d.ts +302 -0
  17. package/dist/types-cjs/components/Pagination.d.ts +130 -0
  18. package/dist/types-cjs/components/Panel.d.ts +147 -0
  19. package/dist/types-cjs/components/Reveal.d.ts +47 -0
  20. package/dist/types-cjs/components/Sidebar.d.ts +76 -0
  21. package/dist/types-cjs/components/Steps.d.ts +101 -0
  22. package/dist/types-cjs/components/Tabs.d.ts +160 -0
  23. package/dist/types-cjs/components/Toast.d.ts +150 -0
  24. package/dist/types-cjs/components/Tooltip.d.ts +68 -0
  25. package/dist/types-cjs/elements/Block.d.ts +31 -0
  26. package/dist/types-cjs/elements/Box.d.ts +41 -0
  27. package/dist/types-cjs/elements/Button.d.ts +74 -0
  28. package/dist/types-cjs/elements/Buttons.d.ts +40 -0
  29. package/dist/types-cjs/elements/Code.d.ts +23 -0
  30. package/dist/types-cjs/elements/Content.d.ts +34 -0
  31. package/dist/types-cjs/elements/Delete.d.ts +38 -0
  32. package/dist/types-cjs/elements/Divider.d.ts +19 -0
  33. package/dist/types-cjs/elements/Emphasis.d.ts +23 -0
  34. package/dist/types-cjs/elements/Figure.d.ts +40 -0
  35. package/dist/types-cjs/elements/Icon.d.ts +138 -0
  36. package/dist/types-cjs/elements/IconText.d.ts +40 -0
  37. package/dist/types-cjs/elements/Image.d.ts +44 -0
  38. package/dist/types-cjs/elements/Link.d.ts +55 -0
  39. package/dist/types-cjs/elements/LinkButton.d.ts +57 -0
  40. package/dist/types-cjs/elements/ListItem.d.ts +24 -0
  41. package/dist/types-cjs/elements/Notification.d.ts +148 -0
  42. package/dist/types-cjs/elements/OrderedList.d.ts +21 -0
  43. package/dist/types-cjs/elements/Paragraph.d.ts +23 -0
  44. package/dist/types-cjs/elements/Pre.d.ts +23 -0
  45. package/dist/types-cjs/elements/Progress.d.ts +36 -0
  46. package/dist/types-cjs/elements/Skeleton.d.ts +30 -0
  47. package/dist/types-cjs/elements/Span.d.ts +23 -0
  48. package/dist/types-cjs/elements/Strong.d.ts +23 -0
  49. package/dist/types-cjs/elements/SubTitle.d.ts +41 -0
  50. package/dist/types-cjs/elements/Table.d.ts +36 -0
  51. package/dist/types-cjs/elements/Tag.d.ts +45 -0
  52. package/dist/types-cjs/elements/Tags.d.ts +32 -0
  53. package/dist/types-cjs/elements/Tbody.d.ts +25 -0
  54. package/dist/types-cjs/elements/Td.d.ts +33 -0
  55. package/dist/types-cjs/elements/Tfoot.d.ts +25 -0
  56. package/dist/types-cjs/elements/Th.d.ts +38 -0
  57. package/dist/types-cjs/elements/Thead.d.ts +25 -0
  58. package/dist/types-cjs/elements/Title.d.ts +43 -0
  59. package/dist/types-cjs/elements/Tr.d.ts +30 -0
  60. package/dist/types-cjs/elements/UnorderedList.d.ts +18 -0
  61. package/dist/types-cjs/elements/iconProps.d.ts +30 -0
  62. package/dist/types-cjs/form/Autocomplete.d.ts +114 -0
  63. package/dist/types-cjs/form/Checkbox.d.ts +47 -0
  64. package/dist/types-cjs/form/Checkboxes.d.ts +30 -0
  65. package/dist/types-cjs/form/Control.d.ts +68 -0
  66. package/dist/types-cjs/form/DateInput.d.ts +70 -0
  67. package/dist/types-cjs/form/DateInputBase.d.ts +91 -0
  68. package/dist/types-cjs/form/DateTimeInput.d.ts +68 -0
  69. package/dist/types-cjs/form/DateTimeInputBase.d.ts +108 -0
  70. package/dist/types-cjs/form/Field.d.ts +101 -0
  71. package/dist/types-cjs/form/File.d.ts +52 -0
  72. package/dist/types-cjs/form/FormContext.d.ts +78 -0
  73. package/dist/types-cjs/form/Input.d.ts +72 -0
  74. package/dist/types-cjs/form/InputBase.d.ts +37 -0
  75. package/dist/types-cjs/form/Numberinput.d.ts +83 -0
  76. package/dist/types-cjs/form/Radio.d.ts +47 -0
  77. package/dist/types-cjs/form/Radios.d.ts +30 -0
  78. package/dist/types-cjs/form/Rate.d.ts +99 -0
  79. package/dist/types-cjs/form/Select.d.ts +58 -0
  80. package/dist/types-cjs/form/SelectBase.d.ts +45 -0
  81. package/dist/types-cjs/form/Slider.d.ts +141 -0
  82. package/dist/types-cjs/form/Switch.d.ts +67 -0
  83. package/dist/types-cjs/form/Taginput.d.ts +140 -0
  84. package/dist/types-cjs/form/TextArea.d.ts +52 -0
  85. package/dist/types-cjs/form/TextAreaBase.d.ts +43 -0
  86. package/dist/types-cjs/form/TimeInput.d.ts +66 -0
  87. package/dist/types-cjs/form/TimeInputBase.d.ts +95 -0
  88. package/dist/types-cjs/form/_pickerInternals/Calendar.d.ts +32 -0
  89. package/dist/types-cjs/form/_pickerInternals/PickerPopover.d.ts +20 -0
  90. package/dist/types-cjs/form/_pickerInternals/TimeWheels.d.ts +42 -0
  91. package/dist/types-cjs/form/_pickerInternals/audioTick.d.ts +50 -0
  92. package/dist/types-cjs/form/_pickerInternals/dateUtils.d.ts +52 -0
  93. package/dist/types-cjs/form/_pickerInternals/formatters.d.ts +32 -0
  94. package/dist/types-cjs/form/_pickerInternals/haptics.d.ts +24 -0
  95. package/dist/types-cjs/form/_pickerInternals/pickerTypes.d.ts +39 -0
  96. package/dist/types-cjs/form/_pickerInternals/segmentMap.d.ts +68 -0
  97. package/dist/types-cjs/form/_pickerInternals/useFocusTrap.d.ts +7 -0
  98. package/dist/types-cjs/form/_pickerInternals/useNativeMobilePicker.d.ts +11 -0
  99. package/dist/types-cjs/form/_pickerInternals/useSegmentedEntry.d.ts +75 -0
  100. package/dist/types-cjs/form/fieldProps.d.ts +24 -0
  101. package/dist/types-cjs/form/useAutoLabelId.d.ts +51 -0
  102. package/dist/types-cjs/grid/Cell.d.ts +42 -0
  103. package/dist/types-cjs/grid/Grid.d.ts +59 -0
  104. package/dist/types-cjs/helpers/Config.d.ts +67 -0
  105. package/dist/types-cjs/helpers/Theme.d.ts +116 -0
  106. package/dist/types-cjs/helpers/anchorAttrs.d.ts +37 -0
  107. package/dist/types-cjs/helpers/bulmaClassHelpers.d.ts +197 -0
  108. package/dist/types-cjs/helpers/classNames.d.ts +55 -0
  109. package/dist/types-cjs/helpers/colorDeprecations.d.ts +17 -0
  110. package/dist/types-cjs/helpers/mergeBulmaStyles.d.ts +17 -0
  111. package/dist/types-cjs/helpers/polymorphic.d.ts +138 -0
  112. package/dist/types-cjs/helpers/portal.d.ts +15 -0
  113. package/dist/types-cjs/helpers/scrollLock.d.ts +9 -0
  114. package/dist/types-cjs/helpers/useBulmaClasses.d.ts +60 -0
  115. package/dist/types-cjs/helpers/useColorClasses.d.ts +69 -0
  116. package/dist/types-cjs/helpers/useFlexboxClasses.d.ts +46 -0
  117. package/dist/types-cjs/helpers/useIsHydrated.d.ts +12 -0
  118. package/dist/types-cjs/helpers/useOtherClasses.d.ts +43 -0
  119. package/dist/types-cjs/helpers/useSpacingClasses.d.ts +45 -0
  120. package/dist/types-cjs/helpers/useTypographyClasses.d.ts +51 -0
  121. package/dist/types-cjs/helpers/useVisibilityClasses.d.ts +43 -0
  122. package/dist/types-cjs/helpers/withSubComponents.d.ts +16 -0
  123. package/dist/types-cjs/index.d.ts +113 -0
  124. package/dist/types-cjs/layout/Container.d.ts +51 -0
  125. package/dist/types-cjs/layout/Footer.d.ts +39 -0
  126. package/dist/types-cjs/layout/Hero.d.ts +126 -0
  127. package/dist/types-cjs/layout/Level.d.ts +112 -0
  128. package/dist/types-cjs/layout/Media.d.ts +97 -0
  129. package/dist/types-cjs/layout/Section.d.ts +38 -0
  130. package/dist/types-cjs/package.json +3 -0
  131. package/dist/types-cjs/skill-examples/ExampleMeta.d.ts +15 -0
  132. package/dist/types-cjs/skill-examples/ProfileCard.d.ts +23 -0
  133. package/package.json +9 -4
@@ -0,0 +1,51 @@
1
+ import React from 'react';
2
+ import type { FieldProps } from './Field.js';
3
+ interface UseAutoLabelIdOptions {
4
+ /** The convenience `label` prop as passed by the caller. */
5
+ label: React.ReactNode;
6
+ /** User-supplied id for the control, if any. */
7
+ id?: string;
8
+ /** User-supplied labelProps, if any. */
9
+ labelProps?: FieldProps['labelProps'];
10
+ /**
11
+ * True when this render actually outputs the label wired to a control —
12
+ * false inside an outer Field (label is dropped), in variants that render
13
+ * no Field, and in modes with no labellable control (e.g. inline pickers).
14
+ */
15
+ rendersLabel: boolean;
16
+ }
17
+ /**
18
+ * Associates the convenience `label` prop with its control (#368): generates
19
+ * an id for the control and returns labelProps carrying a matching `htmlFor`.
20
+ * A user-supplied `id` is used as the target instead of the generated one, and
21
+ * an explicit `htmlFor` key in labelProps — even set to `undefined` — disables
22
+ * generation entirely: the user has taken over the association (#495 presence
23
+ * semantics). Internal; not part of the public API.
24
+ */
25
+ export declare function useAutoLabelId({ label, id, labelProps, rendersLabel, }: UseAutoLabelIdOptions): {
26
+ controlId: string | undefined;
27
+ fieldLabelProps: FieldProps['labelProps'] | undefined;
28
+ };
29
+ interface UseAutoLabelledByOptions {
30
+ /** The convenience `label` prop as passed by the caller. */
31
+ label: React.ReactNode;
32
+ /** User-supplied labelProps, if any. */
33
+ labelProps?: FieldProps['labelProps'];
34
+ /** True when this render actually outputs the label naming the group. */
35
+ rendersLabel: boolean;
36
+ }
37
+ /**
38
+ * Group-input counterpart of {@link useAutoLabelId} (#494): a group of
39
+ * controls cannot take a single `htmlFor`, so instead the rendered `<label>`
40
+ * gets a generated id and the group container points at it with
41
+ * `aria-labelledby`. A user-supplied `labelProps.id` is used as the target
42
+ * instead of generating one. Any caller `htmlFor` is stripped — a group label
43
+ * names the group, never a single control — so the merged labelProps always
44
+ * carry an explicit `htmlFor: undefined`.
45
+ * Internal; not part of the public API.
46
+ */
47
+ export declare function useAutoLabelledBy({ label, labelProps, rendersLabel, }: UseAutoLabelledByOptions): {
48
+ ariaLabelledBy: string | undefined;
49
+ fieldLabelProps: FieldProps['labelProps'] | undefined;
50
+ };
51
+ export {};
@@ -0,0 +1,42 @@
1
+ import React from 'react';
2
+ import { BulmaClassesProps, validColors } from '../helpers/useBulmaClasses.js';
3
+ /**
4
+ * Type for grid cell span values.
5
+ */
6
+ export type CellSpanValue = number;
7
+ /**
8
+ * Props for the Cell component.
9
+ */
10
+ export interface CellProps extends React.HTMLAttributes<HTMLDivElement>, Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {
11
+ /** Which column the cell starts at (Bulma: `is-col-start-x`). */
12
+ colStart?: number;
13
+ /** Which column the cell ends at, counting from the end (Bulma: `is-col-from-end-x`). */
14
+ colFromEnd?: number;
15
+ /** How many columns the cell will span (Bulma: `is-col-span-x`). */
16
+ colSpan?: CellSpanValue;
17
+ /** Which row the cell starts at (Bulma: `is-row-start-x`). */
18
+ rowStart?: number;
19
+ /** Which row the cell ends at, counting from the end (Bulma: `is-row-from-end-x`). */
20
+ rowFromEnd?: number;
21
+ /** How many rows the cell will span (Bulma: `is-row-span-x`). */
22
+ rowSpan?: CellSpanValue;
23
+ /** Additional CSS class names. */
24
+ className?: string;
25
+ /** Text color. */
26
+ textColor?: (typeof validColors)[number] | 'inherit' | 'current';
27
+ /** Bulma color modifier for the cell. */
28
+ color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';
29
+ /** Background color. */
30
+ bgColor?: (typeof validColors)[number] | 'inherit' | 'current';
31
+ /** Content to render inside the cell. */
32
+ children?: React.ReactNode;
33
+ }
34
+ /**
35
+ * The `Cell` component provides a single Bulma grid cell for use inside the [`Grid`](./grid.md) component.
36
+ *
37
+ * @function
38
+ * @param {CellProps} props - Props for the Cell component.
39
+ * @returns {JSX.Element} The rendered grid cell.
40
+ * @see {@link https://bulma.io/documentation/grid/ | Bulma Grid documentation}
41
+ */
42
+ export declare const Cell: React.FC<CellProps>;
@@ -0,0 +1,59 @@
1
+ import React from 'react';
2
+ import { BulmaClassesProps, validColors } from '../helpers/useBulmaClasses.js';
3
+ /**
4
+ * Allowed gap values for Bulma's 0-8 spacing scale, shared by `Grid` and
5
+ * `Columns`. Accepts the value as a number or a numeric string.
6
+ */
7
+ export type BulmaGapValue = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8';
8
+ /**
9
+ * Allowed minimum column values for Bulma grid.
10
+ */
11
+ export type BulmaMinColValue = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32;
12
+ /**
13
+ * Allowed fixed grid columns for Bulma grid.
14
+ */
15
+ export type BulmaFixedGridCols = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12;
16
+ /**
17
+ * Allowed fixed grid columns prop for Bulma grid.
18
+ */
19
+ export type BulmaFixedGridColsProp = BulmaFixedGridCols | 'auto';
20
+ /**
21
+ * Props for the Grid component.
22
+ */
23
+ export interface GridProps extends React.HTMLAttributes<HTMLDivElement>, Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {
24
+ /** Use a fixed grid layout (`.fixed-grid > .grid`). */
25
+ isFixed?: boolean;
26
+ /** Main gap for grid (Bulma `is-gap-X`). */
27
+ gap?: BulmaGapValue;
28
+ /** Column gap for grid (`is-column-gap-X`). */
29
+ columnGap?: BulmaGapValue;
30
+ /** Row gap for grid (`is-row-gap-X`). */
31
+ rowGap?: BulmaGapValue;
32
+ /** Minimum column width for the grid (`is-col-min-X`). */
33
+ minCol?: BulmaMinColValue;
34
+ /** For fixed grids: explicit column count (`has-X-cols`), or `'auto'` for auto-count. */
35
+ fixedCols?: BulmaFixedGridColsProp;
36
+ /** For fixed grids: explicit column count for mobile. */
37
+ fixedColsMobile?: BulmaFixedGridCols;
38
+ /** For fixed grids: explicit column count for tablet. */
39
+ fixedColsTablet?: BulmaFixedGridCols;
40
+ /** For fixed grids: explicit column count for desktop. */
41
+ fixedColsDesktop?: BulmaFixedGridCols;
42
+ /** For fixed grids: explicit column count for widescreen. */
43
+ fixedColsWidescreen?: BulmaFixedGridCols;
44
+ /** For fixed grids: explicit column count for fullhd. */
45
+ fixedColsFullhd?: BulmaFixedGridCols;
46
+ /** Additional CSS classes for the grid. */
47
+ className?: string;
48
+ /** Text color. */
49
+ textColor?: (typeof validColors)[number] | 'inherit' | 'current';
50
+ /** Bulma color modifier for the grid. */
51
+ color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';
52
+ /** Background color. */
53
+ bgColor?: (typeof validColors)[number] | 'inherit' | 'current';
54
+ /** Children to render inside the grid (usually `Cell` components). */
55
+ children?: React.ReactNode;
56
+ }
57
+ export declare const Grid: React.FC<GridProps> & {
58
+ Cell: React.FC<import("./Cell.js").CellProps>;
59
+ };
@@ -0,0 +1,67 @@
1
+ import React, { ReactNode } from 'react';
2
+ /** Supported icon library identifiers. */
3
+ type IconLibrary = 'fa' | 'mdi' | 'ion' | 'material-icons' | 'material-symbols';
4
+ /**
5
+ * Shape of the configuration context value.
6
+ *
7
+ * @property {string} [classPrefix] - Prefix applied to all Bulma class names.
8
+ * @property {IconLibrary} [iconLibrary] - Default icon library for Icon components.
9
+ */
10
+ export interface ConfigContextProps {
11
+ classPrefix?: string;
12
+ iconLibrary?: IconLibrary;
13
+ }
14
+ /**
15
+ * Hook to access the bulma-ui configuration context.
16
+ *
17
+ * @function
18
+ * @returns {ConfigContextProps} The current configuration values.
19
+ */
20
+ export declare const useConfig: () => ConfigContextProps;
21
+ /**
22
+ * Props for the ConfigProvider component.
23
+ *
24
+ * @property {React.ReactNode} children - Child components to receive configuration.
25
+ * @property {string} [classPrefix] - Prefix applied to all Bulma class names.
26
+ * @property {IconLibrary} [iconLibrary] - Default icon library for Icon components.
27
+ */
28
+ export interface ConfigProviderProps {
29
+ children: ReactNode;
30
+ classPrefix?: string;
31
+ iconLibrary?: IconLibrary;
32
+ }
33
+ /**
34
+ * ConfigProvider injects configuration into all child components via React context.
35
+ *
36
+ * @function
37
+ * @param {ConfigProviderProps} props - Provider props.
38
+ * @returns {JSX.Element} The context provider wrapping children.
39
+ *
40
+ * @example
41
+ * <ConfigProvider classPrefix="my-" iconLibrary="mdi">
42
+ * <App />
43
+ * </ConfigProvider>
44
+ */
45
+ export declare const ConfigProvider: React.FC<ConfigProviderProps>;
46
+ /**
47
+ * Utility hook to get the configured class prefix string.
48
+ *
49
+ * @function
50
+ * @returns {string} The class prefix, or empty string if none configured.
51
+ */
52
+ export declare const useClassPrefix: () => string;
53
+ /**
54
+ * Hook that returns a function to prefix a class name with the configured prefix.
55
+ *
56
+ * @function
57
+ * @returns {(className: string) => string} A function that applies the class prefix.
58
+ */
59
+ export declare const usePrefixedClass: () => (className: string) => string;
60
+ /**
61
+ * Hook to get the default icon library from configuration.
62
+ *
63
+ * @function
64
+ * @returns {IconLibrary | undefined} The configured icon library, or undefined.
65
+ */
66
+ export declare const useIconLibrary: () => IconLibrary | undefined;
67
+ export {};
@@ -0,0 +1,116 @@
1
+ import React, { ReactNode } from 'react';
2
+ import { BulmaClassesProps } from './useBulmaClasses.js';
3
+ declare const bulmaCssVars: readonly ["--bulma-scheme-h", "--bulma-scheme-s", "--bulma-scheme-main", "--bulma-scheme-main-bis", "--bulma-scheme-main-ter", "--bulma-scheme-invert", "--bulma-scheme-invert-bis", "--bulma-scheme-invert-ter", "--bulma-light-l", "--bulma-light-invert-l", "--bulma-dark-l", "--bulma-dark-invert-l", "--bulma-soft-l", "--bulma-bold-l", "--bulma-soft-invert-l", "--bulma-bold-invert-l", "--bulma-hover-background-l-delta", "--bulma-active-background-l-delta", "--bulma-hover-border-l-delta", "--bulma-active-border-l-delta", "--bulma-hover-color-l-delta", "--bulma-active-color-l-delta", "--bulma-hover-shadow-a-delta", "--bulma-active-shadow-a-delta", "--bulma-primary-h", "--bulma-primary-s", "--bulma-primary-l", "--bulma-link-h", "--bulma-link-s", "--bulma-link-l", "--bulma-info-h", "--bulma-info-s", "--bulma-info-l", "--bulma-success-h", "--bulma-success-s", "--bulma-success-l", "--bulma-warning-h", "--bulma-warning-s", "--bulma-warning-l", "--bulma-danger-h", "--bulma-danger-s", "--bulma-danger-l", "--bulma-shadow-h", "--bulma-shadow-s", "--bulma-shadow-l", "--bulma-shadow", "--bulma-family-primary", "--bulma-family-secondary", "--bulma-family-code", "--bulma-size-small", "--bulma-size-normal", "--bulma-size-medium", "--bulma-size-large", "--bulma-weight-light", "--bulma-weight-normal", "--bulma-weight-medium", "--bulma-weight-semibold", "--bulma-weight-bold", "--bulma-weight-extrabold", "--bulma-block-spacing", "--bulma-duration", "--bulma-easing", "--bulma-radius-small", "--bulma-radius", "--bulma-radius-medium", "--bulma-radius-large", "--bulma-radius-rounded", "--bulma-speed", "--bulma-arrow-color", "--bulma-loading-color", "--bulma-burger-h", "--bulma-burger-s", "--bulma-burger-l", "--bulma-burger-border-radius", "--bulma-burger-gap", "--bulma-burger-item-height", "--bulma-burger-item-width", "--bulma-body-background-color", "--bulma-body-size", "--bulma-body-min-width", "--bulma-body-rendering", "--bulma-body-family", "--bulma-body-overflow-x", "--bulma-body-overflow-y", "--bulma-body-color", "--bulma-body-font-size", "--bulma-body-weight", "--bulma-body-line-height", "--bulma-code-family", "--bulma-code-padding", "--bulma-code-weight", "--bulma-code-size", "--bulma-small-font-size", "--bulma-hr-background-color", "--bulma-hr-height", "--bulma-hr-margin", "--bulma-strong-color", "--bulma-strong-weight", "--bulma-pre-font-size", "--bulma-pre-padding", "--bulma-pre-code-font-size", "--bulma-skeleton-background", "--bulma-skeleton-radius", "--bulma-skeleton-block-min-height", "--bulma-skeleton-lines-gap", "--bulma-skeleton-line-height", "--bulma-breadcrumb-item-color", "--bulma-breadcrumb-item-hover-color", "--bulma-breadcrumb-item-active-color", "--bulma-breadcrumb-item-padding-vertical", "--bulma-breadcrumb-item-padding-horizontal", "--bulma-breadcrumb-item-separator-color", "--bulma-card-color", "--bulma-card-background-color", "--bulma-card-shadow", "--bulma-card-radius", "--bulma-card-header-background-color", "--bulma-card-header-color", "--bulma-card-header-padding", "--bulma-card-header-shadow", "--bulma-card-header-weight", "--bulma-card-content-background-color", "--bulma-card-content-padding", "--bulma-card-footer-background-color", "--bulma-card-footer-border-top", "--bulma-card-footer-padding", "--bulma-card-media-margin", "--bulma-dropdown-menu-min-width", "--bulma-dropdown-content-background-color", "--bulma-dropdown-content-offset", "--bulma-dropdown-content-padding-bottom", "--bulma-dropdown-content-padding-top", "--bulma-dropdown-content-radius", "--bulma-dropdown-content-shadow", "--bulma-dropdown-content-z", "--bulma-dropdown-item-h", "--bulma-dropdown-item-s", "--bulma-dropdown-item-l", "--bulma-dropdown-item-background-l", "--bulma-dropdown-item-background-l-delta", "--bulma-dropdown-item-hover-background-l-delta", "--bulma-dropdown-item-active-background-l-delta", "--bulma-dropdown-item-color-l", "--bulma-dropdown-item-selected-h", "--bulma-dropdown-item-selected-s", "--bulma-dropdown-item-selected-l", "--bulma-dropdown-item-selected-background-l", "--bulma-dropdown-item-selected-color-l", "--bulma-dropdown-divider-background-color", "--bulma-menu-item-h", "--bulma-menu-item-s", "--bulma-menu-item-l", "--bulma-menu-item-background-l", "--bulma-menu-item-background-l-delta", "--bulma-menu-item-hover-background-l-delta", "--bulma-menu-item-active-background-l-delta", "--bulma-menu-item-color-l", "--bulma-menu-item-radius", "--bulma-menu-item-selected-h", "--bulma-menu-item-selected-s", "--bulma-menu-item-selected-l", "--bulma-menu-item-selected-background-l", "--bulma-menu-item-selected-color-l", "--bulma-menu-list-border-left", "--bulma-menu-list-line-height", "--bulma-menu-list-link-padding", "--bulma-menu-nested-list-margin", "--bulma-menu-nested-list-padding-left", "--bulma-menu-label-color", "--bulma-menu-label-font-size", "--bulma-menu-label-letter-spacing", "--bulma-menu-label-spacing", "--bulma-message-h", "--bulma-message-s", "--bulma-message-background-l", "--bulma-message-border-l", "--bulma-message-border-l-delta", "--bulma-message-border-style", "--bulma-message-border-width", "--bulma-message-color-l", "--bulma-message-radius", "--bulma-message-header-weight", "--bulma-message-header-padding", "--bulma-message-header-radius", "--bulma-message-header-body-border-width", "--bulma-message-header-background-l", "--bulma-message-header-color-l", "--bulma-message-body-border-width", "--bulma-message-body-color", "--bulma-message-body-padding", "--bulma-message-body-radius", "--bulma-message-body-pre-code-background-color", "--bulma-modal-z", "--bulma-modal-background-background-color", "--bulma-modal-content-width", "--bulma-modal-content-margin-mobile", "--bulma-modal-content-spacing-mobile", "--bulma-modal-content-spacing-tablet", "--bulma-modal-close-dimensions", "--bulma-modal-close-right", "--bulma-modal-close-top", "--bulma-modal-card-spacing", "--bulma-modal-card-head-background-color", "--bulma-modal-card-head-padding", "--bulma-modal-card-head-radius", "--bulma-modal-card-title-color", "--bulma-modal-card-title-line-height", "--bulma-modal-card-title-size", "--bulma-modal-card-foot-background-color", "--bulma-modal-card-foot-radius", "--bulma-modal-card-body-background-color", "--bulma-modal-card-body-padding", "--bulma-navbar-h", "--bulma-navbar-s", "--bulma-navbar-l", "--bulma-navbar-background-color", "--bulma-navbar-box-shadow-size", "--bulma-navbar-box-shadow-color", "--bulma-navbar-padding-vertical", "--bulma-navbar-padding-horizontal", "--bulma-navbar-z", "--bulma-navbar-fixed-z", "--bulma-navbar-item-background-a", "--bulma-navbar-item-background-l", "--bulma-navbar-item-background-l-delta", "--bulma-navbar-item-hover-background-l-delta", "--bulma-navbar-item-active-background-l-delta", "--bulma-navbar-item-color-l", "--bulma-navbar-item-selected-h", "--bulma-navbar-item-selected-s", "--bulma-navbar-item-selected-l", "--bulma-navbar-item-selected-background-l", "--bulma-navbar-item-selected-color-l", "--bulma-navbar-item-img-max-height", "--bulma-navbar-burger-color", "--bulma-navbar-tab-hover-background-color", "--bulma-navbar-tab-hover-border-bottom-color", "--bulma-navbar-tab-active-color", "--bulma-navbar-tab-active-background-color", "--bulma-navbar-tab-active-border-bottom-color", "--bulma-navbar-tab-active-border-bottom-style", "--bulma-navbar-tab-active-border-bottom-width", "--bulma-navbar-dropdown-background-color", "--bulma-navbar-dropdown-border-l", "--bulma-navbar-dropdown-border-color", "--bulma-navbar-dropdown-border-style", "--bulma-navbar-dropdown-border-width", "--bulma-navbar-dropdown-offset", "--bulma-navbar-dropdown-arrow", "--bulma-navbar-dropdown-radius", "--bulma-navbar-dropdown-z", "--bulma-navbar-dropdown-boxed-radius", "--bulma-navbar-dropdown-boxed-shadow", "--bulma-navbar-dropdown-item-h", "--bulma-navbar-dropdown-item-s", "--bulma-navbar-dropdown-item-l", "--bulma-navbar-dropdown-item-background-l", "--bulma-navbar-dropdown-item-color-l", "--bulma-navbar-divider-background-l", "--bulma-navbar-divider-height", "--bulma-navbar-bottom-box-shadow-size", "--bulma-pagination-margin", "--bulma-pagination-min-width", "--bulma-pagination-item-h", "--bulma-pagination-item-s", "--bulma-pagination-item-l", "--bulma-pagination-item-background-l-delta", "--bulma-pagination-item-hover-background-l-delta", "--bulma-pagination-item-active-background-l-delta", "--bulma-pagination-item-border-style", "--bulma-pagination-item-border-width", "--bulma-pagination-item-border-l", "--bulma-pagination-item-border-l-delta", "--bulma-pagination-item-hover-border-l-delta", "--bulma-pagination-item-active-border-l-delta", "--bulma-pagination-item-focus-border-l-delta", "--bulma-pagination-item-color-l", "--bulma-pagination-item-font-size", "--bulma-pagination-item-margin", "--bulma-pagination-item-padding-left", "--bulma-pagination-item-padding-right", "--bulma-pagination-item-outer-shadow-h", "--bulma-pagination-item-outer-shadow-s", "--bulma-pagination-item-outer-shadow-l", "--bulma-pagination-item-outer-shadow-a", "--bulma-pagination-nav-padding-left", "--bulma-pagination-nav-padding-right", "--bulma-pagination-disabled-color", "--bulma-pagination-disabled-background-color", "--bulma-pagination-disabled-border-color", "--bulma-pagination-current-color", "--bulma-pagination-current-background-color", "--bulma-pagination-current-border-color", "--bulma-pagination-ellipsis-color", "--bulma-pagination-shadow-inset", "--bulma-pagination-selected-item-h", "--bulma-pagination-selected-item-s", "--bulma-pagination-selected-item-l", "--bulma-pagination-selected-item-background-l", "--bulma-pagination-selected-item-border-l", "--bulma-pagination-selected-item-color-l", "--bulma-panel-margin", "--bulma-panel-item-border", "--bulma-panel-radius", "--bulma-panel-shadow", "--bulma-panel-heading-line-height", "--bulma-panel-heading-padding", "--bulma-panel-heading-radius", "--bulma-panel-heading-size", "--bulma-panel-heading-weight", "--bulma-panel-tabs-font-size", "--bulma-panel-tab-border-bottom-color", "--bulma-panel-tab-border-bottom-style", "--bulma-panel-tab-border-bottom-width", "--bulma-panel-tab-active-color", "--bulma-panel-list-item-color", "--bulma-panel-list-item-hover-color", "--bulma-panel-block-color", "--bulma-panel-block-hover-background-color", "--bulma-panel-block-active-border-left-color", "--bulma-panel-block-active-color", "--bulma-panel-block-active-icon-color", "--bulma-panel-icon-color", "--bulma-tabs-border-bottom-color", "--bulma-tabs-border-bottom-style", "--bulma-tabs-border-bottom-width", "--bulma-tabs-link-color", "--bulma-tabs-link-hover-border-bottom-color", "--bulma-tabs-link-hover-color", "--bulma-tabs-link-active-border-bottom-color", "--bulma-tabs-link-active-color", "--bulma-tabs-link-padding", "--bulma-tabs-boxed-link-radius", "--bulma-tabs-boxed-link-hover-background-color", "--bulma-tabs-boxed-link-hover-border-bottom-color", "--bulma-tabs-boxed-link-active-background-color", "--bulma-tabs-boxed-link-active-border-color", "--bulma-tabs-boxed-link-active-border-bottom-color", "--bulma-tabs-toggle-link-border-color", "--bulma-tabs-toggle-link-border-style", "--bulma-tabs-toggle-link-border-width", "--bulma-tabs-toggle-link-hover-background-color", "--bulma-tabs-toggle-link-hover-border-color", "--bulma-tabs-toggle-link-radius", "--bulma-tabs-toggle-link-active-background-color", "--bulma-tabs-toggle-link-active-border-color", "--bulma-tabs-toggle-link-active-color", "--bulma-box-background-color", "--bulma-box-color", "--bulma-box-radius", "--bulma-box-shadow", "--bulma-box-padding", "--bulma-box-link-hover-shadow", "--bulma-box-link-active-shadow", "--bulma-content-heading-color", "--bulma-content-heading-weight", "--bulma-content-heading-line-height", "--bulma-content-block-margin-bottom", "--bulma-content-blockquote-background-color", "--bulma-content-blockquote-border-left", "--bulma-content-blockquote-padding", "--bulma-content-pre-padding", "--bulma-content-table-cell-border", "--bulma-content-table-cell-border-width", "--bulma-content-table-cell-padding", "--bulma-content-table-cell-heading-color", "--bulma-content-table-head-cell-border-width", "--bulma-content-table-head-cell-color", "--bulma-content-table-body-last-row-cell-border-bottom-width", "--bulma-content-table-foot-cell-border-width", "--bulma-content-table-foot-cell-color", "--bulma-delete-dimensions", "--bulma-delete-background-l", "--bulma-delete-background-alpha", "--bulma-delete-color", "--bulma-icon-dimensions", "--bulma-icon-dimensions-small", "--bulma-icon-dimensions-medium", "--bulma-icon-dimensions-large", "--bulma-icon-text-spacing", "--bulma-notification-h", "--bulma-notification-s", "--bulma-notification-background-l", "--bulma-notification-color-l", "--bulma-notification-code-background-color", "--bulma-notification-radius", "--bulma-notification-padding", "--bulma-progress-border-radius", "--bulma-progress-bar-background-color", "--bulma-progress-value-background-color", "--bulma-progress-indeterminate-duration", "--bulma-table-color", "--bulma-table-background-color", "--bulma-table-cell-border-color", "--bulma-table-cell-border-style", "--bulma-table-cell-border-width", "--bulma-table-cell-padding", "--bulma-table-cell-heading-color", "--bulma-table-cell-text-align", "--bulma-table-head-cell-border-width", "--bulma-table-head-cell-color", "--bulma-table-foot-cell-border-width", "--bulma-table-foot-cell-color", "--bulma-table-head-background-color", "--bulma-table-body-background-color", "--bulma-table-foot-background-color", "--bulma-table-row-hover-background-color", "--bulma-table-row-active-background-color", "--bulma-table-row-active-color", "--bulma-table-striped-row-even-background-color", "--bulma-table-striped-row-even-hover-background-color", "--bulma-tag-h", "--bulma-tag-s", "--bulma-tag-background-l", "--bulma-tag-background-l-delta", "--bulma-tag-hover-background-l-delta", "--bulma-tag-active-background-l-delta", "--bulma-tag-color-l", "--bulma-tag-radius", "--bulma-tag-delete-margin", "--bulma-title-color", "--bulma-title-family", "--bulma-title-size", "--bulma-title-weight", "--bulma-title-line-height", "--bulma-title-strong-color", "--bulma-title-strong-weight", "--bulma-title-sub-size", "--bulma-title-sup-size", "--bulma-subtitle-color", "--bulma-subtitle-family", "--bulma-subtitle-size", "--bulma-subtitle-weight", "--bulma-subtitle-line-height", "--bulma-subtitle-strong-color", "--bulma-subtitle-strong-weight", "--bulma-control-radius", "--bulma-control-radius-small", "--bulma-control-border-width", "--bulma-control-height", "--bulma-control-line-height", "--bulma-control-padding-vertical", "--bulma-control-padding-horizontal", "--bulma-control-size", "--bulma-control-focus-shadow-l", "--bulma-file-radius", "--bulma-file-name-border-color", "--bulma-file-name-border-style", "--bulma-file-name-border-width", "--bulma-file-name-max-width", "--bulma-file-h", "--bulma-file-s", "--bulma-file-background-l", "--bulma-file-background-l-delta", "--bulma-file-hover-background-l-delta", "--bulma-file-active-background-l-delta", "--bulma-file-border-l", "--bulma-file-border-l-delta", "--bulma-file-hover-border-l-delta", "--bulma-file-active-border-l-delta", "--bulma-file-cta-color-l", "--bulma-file-name-color-l", "--bulma-file-color-l-delta", "--bulma-file-hover-color-l-delta", "--bulma-file-active-color-l-delta", "--bulma-input-h", "--bulma-input-s", "--bulma-input-l", "--bulma-input-border-style", "--bulma-input-border-l", "--bulma-input-border-l-delta", "--bulma-input-hover-border-l-delta", "--bulma-input-active-border-l-delta", "--bulma-input-focus-h", "--bulma-input-focus-s", "--bulma-input-focus-l", "--bulma-input-focus-shadow-size", "--bulma-input-focus-shadow-alpha", "--bulma-input-color-l", "--bulma-input-background-l", "--bulma-input-background-l-delta", "--bulma-input-height", "--bulma-input-shadow", "--bulma-input-placeholder-color", "--bulma-input-disabled-color", "--bulma-input-disabled-background-color", "--bulma-input-disabled-border-color", "--bulma-input-disabled-placeholder-color", "--bulma-input-arrow", "--bulma-input-icon-color", "--bulma-input-icon-hover-color", "--bulma-input-icon-focus-color", "--bulma-input-radius", "--bulma-column-gap", "--bulma-grid-gap", "--bulma-grid-column-count", "--bulma-grid-column-min", "--bulma-grid-cell-column-span", "--bulma-grid-cell-column-start", "--bulma-footer-background-color", "--bulma-footer-color", "--bulma-footer-padding", "--bulma-hero-body-padding", "--bulma-hero-body-padding-tablet", "--bulma-hero-body-padding-small", "--bulma-hero-body-padding-medium", "--bulma-hero-body-padding-large", "--bulma-media-border-color", "--bulma-media-border-size", "--bulma-media-spacing", "--bulma-media-spacing-large", "--bulma-media-content-spacing", "--bulma-media-level-1-spacing", "--bulma-media-level-1-content-spacing", "--bulma-media-level-2-spacing", "--bulma-section-padding", "--bulma-section-padding-desktop", "--bulma-section-padding-medium", "--bulma-section-padding-large"];
4
+ /** A single Bulma CSS variable key from the `bulmaCssVars` tuple. */
5
+ type BulmaVarKey = (typeof bulmaCssVars)[number];
6
+ /** A partial record mapping Bulma CSS variable keys to string values. */
7
+ type BulmaVars = Partial<Record<BulmaVarKey, string>>;
8
+ /**
9
+ * Props for the Theme component.
10
+ *
11
+ * @property {React.ReactNode} children - Content to render inside the theme scope.
12
+ * @property {string} [className] - Additional CSS classes (only when isRoot is false).
13
+ * @property {boolean} [isRoot] - Inject CSS variables globally at :root level. Default: false.
14
+ * @property {'light' | 'dark' | 'system'} [colorMode] - Set Bulma's light/dark scheme by writing
15
+ * the `data-theme` attribute on the document root (`<html>`). This is always global, even on a
16
+ * scoped Theme. `'system'` removes the attribute so Bulma follows the OS `prefers-color-scheme`.
17
+ * Omit to leave the current setting untouched.
18
+ * @property {BulmaVars} [bulmaVars] - Object mapping Bulma CSS variable names to values.
19
+ * @property {string} [schemeH] - Scheme hue value.
20
+ * @property {string} [schemeS] - Scheme saturation value.
21
+ * @property {string} [lightL] - Light theme lightness value.
22
+ * @property {string} [lightInvertL] - Light theme inverted lightness value.
23
+ * @property {string} [darkL] - Dark theme lightness value.
24
+ * @property {string} [darkInvertL] - Dark theme inverted lightness value.
25
+ * @property {string} [softL] - Soft lightness value.
26
+ * @property {string} [boldL] - Bold lightness value.
27
+ * @property {string} [softInvertL] - Soft inverted lightness value.
28
+ * @property {string} [boldInvertL] - Bold inverted lightness value.
29
+ * @property {string} [hoverBackgroundLDelta] - Background lightness delta on hover.
30
+ * @property {string} [activeBackgroundLDelta] - Background lightness delta on active.
31
+ * @property {string} [hoverBorderLDelta] - Border lightness delta on hover.
32
+ * @property {string} [activeBorderLDelta] - Border lightness delta on active.
33
+ * @property {string} [hoverColorLDelta] - Text color lightness delta on hover.
34
+ * @property {string} [activeColorLDelta] - Text color lightness delta on active.
35
+ * @property {string} [hoverShadowADelta] - Shadow alpha delta on hover.
36
+ * @property {string} [activeShadowADelta] - Shadow alpha delta on active.
37
+ * @property {string} [primaryH] - Primary color hue.
38
+ * @property {string} [primaryS] - Primary color saturation.
39
+ * @property {string} [primaryL] - Primary color lightness.
40
+ * @property {string} [linkH] - Link color hue.
41
+ * @property {string} [linkS] - Link color saturation.
42
+ * @property {string} [linkL] - Link color lightness.
43
+ * @property {string} [infoH] - Info color hue.
44
+ * @property {string} [infoS] - Info color saturation.
45
+ * @property {string} [infoL] - Info color lightness.
46
+ * @property {string} [successH] - Success color hue.
47
+ * @property {string} [successS] - Success color saturation.
48
+ * @property {string} [successL] - Success color lightness.
49
+ * @property {string} [warningH] - Warning color hue.
50
+ * @property {string} [warningS] - Warning color saturation.
51
+ * @property {string} [warningL] - Warning color lightness.
52
+ * @property {string} [dangerH] - Danger color hue.
53
+ * @property {string} [dangerS] - Danger color saturation.
54
+ * @property {string} [dangerL] - Danger color lightness.
55
+ */
56
+ export interface ThemeProps extends Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {
57
+ children: ReactNode;
58
+ className?: string;
59
+ isRoot?: boolean;
60
+ colorMode?: 'light' | 'dark' | 'system';
61
+ bulmaVars?: BulmaVars;
62
+ schemeH?: string;
63
+ schemeS?: string;
64
+ lightL?: string;
65
+ lightInvertL?: string;
66
+ darkL?: string;
67
+ darkInvertL?: string;
68
+ softL?: string;
69
+ boldL?: string;
70
+ softInvertL?: string;
71
+ boldInvertL?: string;
72
+ hoverBackgroundLDelta?: string;
73
+ activeBackgroundLDelta?: string;
74
+ hoverBorderLDelta?: string;
75
+ activeBorderLDelta?: string;
76
+ hoverColorLDelta?: string;
77
+ activeColorLDelta?: string;
78
+ hoverShadowADelta?: string;
79
+ activeShadowADelta?: string;
80
+ primaryH?: string;
81
+ primaryS?: string;
82
+ primaryL?: string;
83
+ linkH?: string;
84
+ linkS?: string;
85
+ linkL?: string;
86
+ infoH?: string;
87
+ infoS?: string;
88
+ infoL?: string;
89
+ successH?: string;
90
+ successS?: string;
91
+ successL?: string;
92
+ warningH?: string;
93
+ warningS?: string;
94
+ warningL?: string;
95
+ dangerH?: string;
96
+ dangerS?: string;
97
+ dangerL?: string;
98
+ }
99
+ /**
100
+ * Theme component that injects Bulma CSS variables either globally or locally.
101
+ *
102
+ * When `isRoot` is true, variables are injected at `:root`. Otherwise, a wrapping
103
+ * `<div>` scopes the variables to its children.
104
+ *
105
+ * @function
106
+ * @param {ThemeProps} props - Props for the Theme component.
107
+ * @returns {JSX.Element} The theme wrapper or fragment.
108
+ *
109
+ * @example
110
+ * // Local theme scope
111
+ * <Theme primaryH="171" primaryS="100%" primaryL="41%">
112
+ * <Button color="primary">Themed</Button>
113
+ * </Theme>
114
+ */
115
+ export declare const Theme: React.FC<ThemeProps>;
116
+ export {};
@@ -0,0 +1,37 @@
1
+ import type React from 'react';
2
+ /**
3
+ * Exactly what `<a>` adds over the attributes every element has: `href`,
4
+ * `target`, `download`, `hrefLang`, `ping`, `referrerPolicy`, `media`, `type`.
5
+ *
6
+ * Subtracted from React's own types rather than listed. Listing them is how
7
+ * `Level.Item` came to reject `download` at `as="a"` — its list said `href`,
8
+ * `target`, `rel` and stopped (#641). A list gains an entry when someone
9
+ * notices; a subtraction gains it when React does.
10
+ *
11
+ * NOT `rel`: React declares it on `HTMLAttributes`, for every element, so the
12
+ * subtraction removes it. A component that withholds `rel` from a non-anchor is
13
+ * making a compatibility choice rather than stating a fact about anchors, and
14
+ * says so where it makes it.
15
+ */
16
+ export type AnchorOnlyAttributes = Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, keyof React.HTMLAttributes<HTMLAnchorElement>>;
17
+ /**
18
+ * The runtime mirror of `AnchorOnlyAttributes`, keyed so the two cannot drift.
19
+ *
20
+ * `Record<keyof …, true>` is what links them: the day React adds an anchor
21
+ * attribute, every component deriving its props from `as` accepts it and this
22
+ * object stops compiling until it is named here. A plain array beside a derived
23
+ * type drifts in the one direction that matters — the type accepts the new
24
+ * attribute and the filter lets it leak onto a `<div>`.
25
+ */
26
+ export declare const ANCHOR_ONLY_ATTRS: Readonly<Record<keyof AnchorOnlyAttributes, true>>;
27
+ /**
28
+ * `props` without the keys named in `strip`.
29
+ *
30
+ * The SET is per component and deliberately not shared, because the right
31
+ * answer differs and the differences are principled: how open the component's
32
+ * `as` is, and which of these attributes its own tags legitimately take. What
33
+ * IS shared is the derived source of truth above and this function. Each caller
34
+ * declares its delta next to the set it passes, which is the only place that
35
+ * stays true when a component's `as` changes.
36
+ */
37
+ export declare function omitAttrs<T extends object, K extends string>(props: T, strip: Readonly<Record<K, true>>): Omit<T, K>;
@@ -0,0 +1,197 @@
1
+ /**
2
+ * Valid Bulma color classes.
3
+ * @example 'primary', 'link', 'info'
4
+ */
5
+ export declare const validColors: readonly ["primary", "link", "info", "success", "warning", "danger", "black", "black-bis", "black-ter", "grey-darker", "grey-dark", "grey", "grey-light", "grey-lighter", "white", "white-bis", "white-ter", "light", "dark"];
6
+ /**
7
+ * Valid Bulma color shade suffixes.
8
+ * @example '00', '05', 'invert', 'light', 'dark', 'soft', 'bold', 'on-scheme'
9
+ */
10
+ export declare const validColorShades: readonly ["00", "05", "10", "15", "20", "25", "30", "35", "40", "45", "50", "55", "60", "65", "70", "75", "80", "85", "90", "95", "invert", "light", "dark", "soft", "bold", "on-scheme"];
11
+ /**
12
+ * Valid Bulma scheme color names for scheme-aware backgrounds.
13
+ *
14
+ * Bulma ships no `has-background-scheme-*` helper classes, so these values
15
+ * never emit a class — components render them as a dark-mode-safe inline
16
+ * `background-color: var(--bulma-<value>)` style instead.
17
+ * @example 'scheme-main', 'scheme-main-bis', 'scheme-invert'
18
+ */
19
+ export declare const validSchemeColors: readonly ["scheme-main", "scheme-main-bis", "scheme-main-ter", "scheme-invert", "scheme-invert-bis", "scheme-invert-ter"];
20
+ /**
21
+ * Valid Bulma size classes for margins and paddings.
22
+ * @example '0', '1', 'auto'
23
+ */
24
+ export declare const validSizes: readonly ["0", "1", "2", "3", "4", "5", "6", "auto"];
25
+ /**
26
+ * Valid Bulma text size classes.
27
+ * @example '1', '2', '3'
28
+ */
29
+ export declare const validTextSizes: readonly ["1", "2", "3", "4", "5", "6", "7"];
30
+ /**
31
+ * Valid Bulma text alignment classes.
32
+ * @example 'centered', 'left', 'right'
33
+ */
34
+ export declare const validAlignments: readonly ["centered", "justified", "left", "right"];
35
+ /**
36
+ * Valid Bulma text transformation classes.
37
+ * @example 'capitalized', 'uppercase', 'italic'
38
+ */
39
+ export declare const validTextTransforms: readonly ["capitalized", "lowercase", "uppercase", "italic"];
40
+ /**
41
+ * Valid Bulma text weight classes.
42
+ * @example 'light', 'normal', 'bold'
43
+ */
44
+ export declare const validTextWeights: readonly ["light", "normal", "medium", "semibold", "bold"];
45
+ /**
46
+ * Valid Bulma font family classes.
47
+ * @example 'sans-serif', 'monospace', 'code'
48
+ */
49
+ export declare const validFontFamilies: readonly ["sans-serif", "monospace", "primary", "secondary", "code"];
50
+ /**
51
+ * Valid Bulma display classes.
52
+ * @example 'block', 'flex', 'inline'
53
+ */
54
+ export declare const validDisplays: readonly ["block", "flex", "inline", "inline-block", "inline-flex", "grid"];
55
+ /**
56
+ * Valid Bulma visibility classes.
57
+ * These are all the valid visibility options available in Bulma.
58
+ * @example 'hidden', 'sr-only', 'invisible'
59
+ */
60
+ export declare const validVisibilities: readonly ["hidden", "sr-only", "invisible"];
61
+ /**
62
+ * Valid Bulma flex direction classes.
63
+ * @example 'row', 'column', 'row-reverse'
64
+ */
65
+ export declare const validFlexDirections: readonly ["row", "row-reverse", "column", "column-reverse"];
66
+ /**
67
+ * Valid Bulma flex wrap classes.
68
+ * @example 'nowrap', 'wrap', 'wrap-reverse'
69
+ */
70
+ export declare const validFlexWraps: readonly ["nowrap", "wrap", "wrap-reverse"];
71
+ /**
72
+ * Valid Bulma justify-content classes.
73
+ * @example 'flex-start', 'center', 'space-between'
74
+ */
75
+ export declare const validJustifyContents: readonly ["flex-start", "flex-end", "center", "space-between", "space-around", "space-evenly", "start", "end", "left", "right"];
76
+ /**
77
+ * Valid Bulma align-content classes.
78
+ * @example 'flex-start', 'center', 'stretch'
79
+ */
80
+ export declare const validAlignContents: readonly ["flex-start", "flex-end", "center", "space-between", "space-around", "space-evenly", "stretch"];
81
+ /**
82
+ * Valid Bulma align-items classes.
83
+ * @example 'stretch', 'flex-start', 'center'
84
+ */
85
+ export declare const validAlignItems: readonly ["stretch", "flex-start", "flex-end", "center", "baseline", "start", "end"];
86
+ /**
87
+ * Valid Bulma align-self classes.
88
+ * @example 'auto', 'flex-start', 'center'
89
+ */
90
+ export declare const validAlignSelfs: readonly ["auto", "flex-start", "flex-end", "center", "baseline", "stretch"];
91
+ /**
92
+ * Valid Bulma flex grow and shrink values.
93
+ * @example '0', '1', '2', '3', '4', '5'
94
+ */
95
+ export declare const validFlexGrowShrink: readonly ["0", "1", "2", "3", "4", "5"];
96
+ /**
97
+ * Valid Bulma viewport classes for responsive design.
98
+ * @example 'mobile', 'tablet', 'desktop'
99
+ */
100
+ export declare const validViewports: readonly ["mobile", "tablet", "tablet-only", "touch", "desktop", "desktop-only", "widescreen", "widescreen-only", "fullhd"];
101
+ /**
102
+ * Valid Bulma float classes.
103
+ * @example 'left', 'right'
104
+ */
105
+ export declare const validFloats: readonly ["left", "right"];
106
+ /**
107
+ * Valid Bulma overflow classes.
108
+ * @example 'clipped'
109
+ */
110
+ export declare const validOverflows: readonly ["clipped"];
111
+ /**
112
+ * Valid Bulma interaction classes.
113
+ * @example 'unselectable', 'clickable'
114
+ */
115
+ export declare const validInteractions: readonly ["unselectable", "clickable"];
116
+ /**
117
+ * Valid Bulma cursor helper values.
118
+ *
119
+ * These share no class stem: `pointer` renders `is-clickable` and `help`
120
+ * renders `is-cursor-help`, so the class each one emits lives in
121
+ * `cursorClasses` rather than being built from the value.
122
+ * @example 'pointer', 'help'
123
+ */
124
+ export declare const validCursors: readonly ["pointer", "help"];
125
+ /**
126
+ * Cursor helper value to the class it renders.
127
+ *
128
+ * A `Record` over `validCursors` on purpose: TypeScript then rejects a value
129
+ * added to the tuple with no class for it, and a class for a value the tuple
130
+ * does not carry, so the accepted set and the rendered classes cannot drift
131
+ * apart.
132
+ */
133
+ export declare const cursorClasses: Record<(typeof validCursors)[number], string>;
134
+ /**
135
+ * Valid Bulma border-radius helper classes.
136
+ * @example 'radiusless'
137
+ */
138
+ export declare const validRadii: readonly ["radiusless"];
139
+ /**
140
+ * Valid Bulma shadow helper classes.
141
+ * @example 'shadowless'
142
+ */
143
+ export declare const validShadows: readonly ["shadowless"];
144
+ /**
145
+ * Valid Bulma responsive helper classes.
146
+ * @example 'mobile', 'narrow'
147
+ */
148
+ export declare const validResponsives: readonly ["mobile", "narrow"];
149
+ /**
150
+ * Props for applying a Bulma viewport modifier to viewport-aware helper classes.
151
+ */
152
+ export interface BulmaViewportProps {
153
+ /** Viewport for responsive classes (e.g., 'mobile', 'desktop'). */
154
+ viewport?: (typeof validViewports)[number];
155
+ }
156
+ /**
157
+ * Props for applying Bulma display helper classes, including viewport-specific
158
+ * display variants.
159
+ */
160
+ export interface BulmaDisplayProps {
161
+ /** Display type (e.g., 'block', 'flex'). */
162
+ display?: (typeof validDisplays)[number] | 'none';
163
+ /** Display type for mobile viewport (up to 768px). */
164
+ displayMobile?: (typeof validDisplays)[number] | 'none';
165
+ /** Display type for tablet viewport (769px - 1023px). */
166
+ displayTablet?: (typeof validDisplays)[number] | 'none';
167
+ /** Display type for tablet-only viewport (769px - 1023px, excludes desktop+). */
168
+ displayTabletOnly?: (typeof validDisplays)[number] | 'none';
169
+ /** Display type for touch viewport (up to 1023px; mobile + tablet). */
170
+ displayTouch?: (typeof validDisplays)[number] | 'none';
171
+ /** Display type for desktop viewport (1024px - 1215px). */
172
+ displayDesktop?: (typeof validDisplays)[number] | 'none';
173
+ /** Display type for desktop-only viewport (1024px - 1215px, excludes widescreen+). */
174
+ displayDesktopOnly?: (typeof validDisplays)[number] | 'none';
175
+ /** Display type for widescreen viewport (1216px - 1407px). */
176
+ displayWidescreen?: (typeof validDisplays)[number] | 'none';
177
+ /** Display type for widescreen-only viewport (1216px - 1407px, excludes fullhd). */
178
+ displayWidescreenOnly?: (typeof validDisplays)[number] | 'none';
179
+ /** Display type for fullhd viewport (1408px and above). */
180
+ displayFullhd?: (typeof validDisplays)[number] | 'none';
181
+ }
182
+ /**
183
+ * Creates the shared class-building helpers used by the Bulma helper hooks.
184
+ *
185
+ * Returns a mutable `classes` array along with the helper functions that push
186
+ * (optionally prefixed, optionally viewport-suffixed) class names onto it.
187
+ *
188
+ * @internal
189
+ * @param classPrefix - Optional prefix applied to all generated class names.
190
+ * @param viewport - Optional viewport modifier for viewport-aware classes.
191
+ */
192
+ export declare const createBulmaClassHelpers: (classPrefix?: string, viewport?: (typeof validViewports)[number]) => {
193
+ classes: string[];
194
+ addPrefixedClass: (className: string) => void;
195
+ addClass: (prefix: string, value: string | undefined, validValues: readonly string[], supportsViewport?: boolean, supportedViewports?: readonly string[]) => void;
196
+ addClassNoViewport: (prefix: string, value: string | undefined, validValues: readonly string[]) => void;
197
+ };