@allxsmith/bestax-bulma 5.27.4 → 5.27.5

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.
@@ -12,7 +12,7 @@ export interface FieldProps extends React.HTMLAttributes<HTMLDivElement>, Omit<B
12
12
  hasAddons?: boolean | 'centered' | 'right';
13
13
  /** Constrains the field to its content's width (used inside horizontal field bodies). */
14
14
  narrow?: boolean;
15
- /** Field label, rendered above the widget. Automatically names the one control the Field holds: a composed `InputBase`, `SelectBase` or `TextAreaBase`, or a bestax input that renders a single input of its own (`Input`, `Select`, `TextArea`, `Numberinput`, `Slider`, `DateInput`, `TimeInput`, `DateTimeInput`, `Autocomplete`, `Taginput`, `File`), adopts a generated id that the label's `htmlFor` points at, and a group (`Radios`, `Checkboxes`, `Rate`, `DateRangeInput`) points `aria-labelledby` at the label's own id unless you gave the group an `aria-label` or `aria-labelledby`. A range `Slider` takes the id on its low thumb and also starts each thumb's name with the label through `aria-labelledby`, unless its `ariaLabel` names that thumb or its own `aria-label` or `aria-labelledby` takes the label's place. Nothing else takes the label: `Checkbox`, `Radio` and `Switch` are named by their own children. Only the single inputs take the `htmlFor`, so with a group or any other content it matches nothing. Pass `labelProps={{ htmlFor }}` to wire your own `id`, or `labelProps={{ htmlFor: undefined }}` to opt out. Skipped for `grouped`/`hasAddons` fields (multiple controls), and a nested `Field` starts its own scope, so a horizontal Field whose body holds an inner `Field` names the control there only when you wire it. Two controls in one plain labeled Field would both adopt the id, so give each an `id` of its own. */
15
+ /** Field label, rendered above the widget. Automatically names the one control the Field holds: a composed `InputBase`, `SelectBase`, `TextAreaBase`, `DateInputBase`, `TimeInputBase` or `DateTimeInputBase` (an `inline` picker has no input, so it takes nothing), or a bestax input that renders a single input of its own (`Input`, `Select`, `TextArea`, `Numberinput`, `Slider`, `DateInput`, `TimeInput`, `DateTimeInput`, `Autocomplete`, `Taginput`, `File`), adopts a generated id that the label's `htmlFor` points at, and a group (`Radios`, `Checkboxes`, `Rate`, `DateRangeInput`) points `aria-labelledby` at the label's own id unless you gave the group an `aria-label` or `aria-labelledby`. A range `Slider` takes the id on its low thumb and also starts each thumb's name with the label through `aria-labelledby`, unless its `ariaLabel` names that thumb or its own `aria-label` or `aria-labelledby` takes the label's place. Nothing else takes the label: `Checkbox`, `Radio` and `Switch` are named by their own children. Only the single inputs take the `htmlFor`, so with a group or any other content it matches nothing. Pass `labelProps={{ htmlFor }}` to wire your own `id`, or `labelProps={{ htmlFor: undefined }}` to opt out. Skipped for `grouped`/`hasAddons` fields (multiple controls), and a nested `Field` starts its own scope, so a horizontal Field whose body holds an inner `Field` names the control there only when you wire it. Two controls in one plain labeled Field would both adopt the id, so give each an `id` of its own. */
16
16
  label?: React.ReactNode;
17
17
  /** Size for the label. */
18
18
  labelSize?: 'small' | 'normal' | 'medium' | 'large';
@@ -64,14 +64,21 @@ export interface FieldBodyProps extends React.HTMLAttributes<HTMLDivElement>, Om
64
64
  children?: React.ReactNode;
65
65
  }
66
66
  /**
67
- * FieldLabel component for rendering a Bulma field label.
67
+ * FieldLabel component for rendering a Bulma field label. It renders the
68
+ * label column of a horizontal `Field` (a `div` with the `field-label` class),
69
+ * not a `<label>`, so text placed straight in it names nothing. Put a `<label>`
70
+ * with the `label` class inside it and point its `htmlFor` at the control's
71
+ * `id`, or give the horizontal `Field` a `label` prop, which renders this
72
+ * column and its `<label>` for you.
68
73
  *
69
74
  * @function
70
75
  * @param {FieldLabelProps} props - Props for the FieldLabel component.
71
76
  * @returns {JSX.Element} The rendered field label.
72
77
  *
73
78
  * @example
74
- * <FieldLabel size="normal">Name</FieldLabel>
79
+ * <FieldLabel size="normal">
80
+ * <label className="label" htmlFor="name">Name</label>
81
+ * </FieldLabel>
75
82
  */
76
83
  export declare const FieldLabel: React.FC<FieldLabelProps>;
77
84
  /**
@@ -105,9 +105,10 @@ export declare const rendersOwnControl: (component: string, options: OwnControlO
105
105
  * The id a labeled Field wants its single composed control to adopt (#495).
106
106
  * `undefined` outside a Field, in unlabeled/grouped/addons Fields, or when the
107
107
  * user took over the association with an explicit `labelProps.htmlFor`.
108
- * Consumed by the single-control bases (InputBase, SelectBase, TextAreaBase)
109
- * and, through `useAutoLabelId`, by the convenience inputs that render an
110
- * input of their own (#939). Internal; not part of the public API.
108
+ * Consumed by the single-control bases (InputBase, SelectBase, TextAreaBase,
109
+ * and the date and time picker bases unless inline, #968) and, through
110
+ * `useAutoLabelId`, by the convenience inputs that render an input of their
111
+ * own (#939). Internal; not part of the public API.
111
112
  */
112
113
  export declare const useFieldLabelId: () => string | undefined;
113
114
  /** Provider for the Field label-target id — used internally by Field. */
@@ -12,7 +12,7 @@ export interface FieldProps extends React.HTMLAttributes<HTMLDivElement>, Omit<B
12
12
  hasAddons?: boolean | 'centered' | 'right';
13
13
  /** Constrains the field to its content's width (used inside horizontal field bodies). */
14
14
  narrow?: boolean;
15
- /** Field label, rendered above the widget. Automatically names the one control the Field holds: a composed `InputBase`, `SelectBase` or `TextAreaBase`, or a bestax input that renders a single input of its own (`Input`, `Select`, `TextArea`, `Numberinput`, `Slider`, `DateInput`, `TimeInput`, `DateTimeInput`, `Autocomplete`, `Taginput`, `File`), adopts a generated id that the label's `htmlFor` points at, and a group (`Radios`, `Checkboxes`, `Rate`, `DateRangeInput`) points `aria-labelledby` at the label's own id unless you gave the group an `aria-label` or `aria-labelledby`. A range `Slider` takes the id on its low thumb and also starts each thumb's name with the label through `aria-labelledby`, unless its `ariaLabel` names that thumb or its own `aria-label` or `aria-labelledby` takes the label's place. Nothing else takes the label: `Checkbox`, `Radio` and `Switch` are named by their own children. Only the single inputs take the `htmlFor`, so with a group or any other content it matches nothing. Pass `labelProps={{ htmlFor }}` to wire your own `id`, or `labelProps={{ htmlFor: undefined }}` to opt out. Skipped for `grouped`/`hasAddons` fields (multiple controls), and a nested `Field` starts its own scope, so a horizontal Field whose body holds an inner `Field` names the control there only when you wire it. Two controls in one plain labeled Field would both adopt the id, so give each an `id` of its own. */
15
+ /** Field label, rendered above the widget. Automatically names the one control the Field holds: a composed `InputBase`, `SelectBase`, `TextAreaBase`, `DateInputBase`, `TimeInputBase` or `DateTimeInputBase` (an `inline` picker has no input, so it takes nothing), or a bestax input that renders a single input of its own (`Input`, `Select`, `TextArea`, `Numberinput`, `Slider`, `DateInput`, `TimeInput`, `DateTimeInput`, `Autocomplete`, `Taginput`, `File`), adopts a generated id that the label's `htmlFor` points at, and a group (`Radios`, `Checkboxes`, `Rate`, `DateRangeInput`) points `aria-labelledby` at the label's own id unless you gave the group an `aria-label` or `aria-labelledby`. A range `Slider` takes the id on its low thumb and also starts each thumb's name with the label through `aria-labelledby`, unless its `ariaLabel` names that thumb or its own `aria-label` or `aria-labelledby` takes the label's place. Nothing else takes the label: `Checkbox`, `Radio` and `Switch` are named by their own children. Only the single inputs take the `htmlFor`, so with a group or any other content it matches nothing. Pass `labelProps={{ htmlFor }}` to wire your own `id`, or `labelProps={{ htmlFor: undefined }}` to opt out. Skipped for `grouped`/`hasAddons` fields (multiple controls), and a nested `Field` starts its own scope, so a horizontal Field whose body holds an inner `Field` names the control there only when you wire it. Two controls in one plain labeled Field would both adopt the id, so give each an `id` of its own. */
16
16
  label?: React.ReactNode;
17
17
  /** Size for the label. */
18
18
  labelSize?: 'small' | 'normal' | 'medium' | 'large';
@@ -64,14 +64,21 @@ export interface FieldBodyProps extends React.HTMLAttributes<HTMLDivElement>, Om
64
64
  children?: React.ReactNode;
65
65
  }
66
66
  /**
67
- * FieldLabel component for rendering a Bulma field label.
67
+ * FieldLabel component for rendering a Bulma field label. It renders the
68
+ * label column of a horizontal `Field` (a `div` with the `field-label` class),
69
+ * not a `<label>`, so text placed straight in it names nothing. Put a `<label>`
70
+ * with the `label` class inside it and point its `htmlFor` at the control's
71
+ * `id`, or give the horizontal `Field` a `label` prop, which renders this
72
+ * column and its `<label>` for you.
68
73
  *
69
74
  * @function
70
75
  * @param {FieldLabelProps} props - Props for the FieldLabel component.
71
76
  * @returns {JSX.Element} The rendered field label.
72
77
  *
73
78
  * @example
74
- * <FieldLabel size="normal">Name</FieldLabel>
79
+ * <FieldLabel size="normal">
80
+ * <label className="label" htmlFor="name">Name</label>
81
+ * </FieldLabel>
75
82
  */
76
83
  export declare const FieldLabel: React.FC<FieldLabelProps>;
77
84
  /**
@@ -105,9 +105,10 @@ export declare const rendersOwnControl: (component: string, options: OwnControlO
105
105
  * The id a labeled Field wants its single composed control to adopt (#495).
106
106
  * `undefined` outside a Field, in unlabeled/grouped/addons Fields, or when the
107
107
  * user took over the association with an explicit `labelProps.htmlFor`.
108
- * Consumed by the single-control bases (InputBase, SelectBase, TextAreaBase)
109
- * and, through `useAutoLabelId`, by the convenience inputs that render an
110
- * input of their own (#939). Internal; not part of the public API.
108
+ * Consumed by the single-control bases (InputBase, SelectBase, TextAreaBase,
109
+ * and the date and time picker bases unless inline, #968) and, through
110
+ * `useAutoLabelId`, by the convenience inputs that render an input of their
111
+ * own (#939). Internal; not part of the public API.
111
112
  */
112
113
  export declare const useFieldLabelId: () => string | undefined;
113
114
  /** Provider for the Field label-target id — used internally by Field. */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@allxsmith/bestax-bulma",
3
- "version": "5.27.4",
3
+ "version": "5.27.5",
4
4
  "description": "A fully-typed React component library for the Bulma CSS framework. Build modern UIs quickly with reusable, accessible, and customizable Bulma-based React components.",
5
5
  "main": "dist/index.cjs",
6
6
  "module": "dist/index.esm.js",
@@ -46,7 +46,7 @@
46
46
  "jest": "^30.2.0",
47
47
  "jest-environment-jsdom": "^30.2.0",
48
48
  "material-icons": "^1.13.14",
49
- "material-symbols": "^0.46.0",
49
+ "material-symbols": "^0.47.6",
50
50
  "playwright": "^1.62.1",
51
51
  "prettier": "^3.9.6",
52
52
  "rimraf": "^6.0.1",
@@ -68,7 +68,7 @@
68
68
  "@mdi/font": "^7.4.47",
69
69
  "ionicons": "^8.0.0",
70
70
  "material-icons": "^1.13.10",
71
- "material-symbols": "^0.34.1 || ^0.45.0 || ^0.46.0",
71
+ "material-symbols": "^0.34.1 || ^0.45.0 || ^0.46.0 || ^0.47.0",
72
72
  "react": "^18.0.0 || ^19.0.0",
73
73
  "react-dom": "^18.0.0 || ^19.0.0"
74
74
  },