ionbase-ui 0.84.0 → 0.88.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/Checkbox.d.ts +39 -0
- package/dist/components/Checkbox.d.ts.map +1 -1
- package/dist/components/Checkbox.js +77 -4
- package/dist/components/Checkbox.js.map +1 -1
- package/dist/components/Fieldset.d.ts +62 -0
- package/dist/components/Fieldset.d.ts.map +1 -0
- package/dist/components/Fieldset.js +58 -0
- package/dist/components/Fieldset.js.map +1 -0
- package/dist/components/MultiSelect.d.ts +90 -0
- package/dist/components/MultiSelect.d.ts.map +1 -0
- package/dist/components/MultiSelect.js +189 -0
- package/dist/components/MultiSelect.js.map +1 -0
- package/dist/components/Radio.d.ts +14 -0
- package/dist/components/Radio.d.ts.map +1 -1
- package/dist/components/Radio.js +15 -4
- package/dist/components/Radio.js.map +1 -1
- package/dist/components/SearchField.d.ts +36 -0
- package/dist/components/SearchField.d.ts.map +1 -0
- package/dist/components/SearchField.js +76 -0
- package/dist/components/SearchField.js.map +1 -0
- package/dist/components/Toolbar.d.ts +35 -0
- package/dist/components/Toolbar.d.ts.map +1 -0
- package/dist/components/Toolbar.js +81 -0
- package/dist/components/Toolbar.js.map +1 -0
- package/dist/components/index.d.ts +10 -2
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +5 -1
- package/dist/components/index.js.map +1 -1
- package/dist/figma-descriptions.json +97 -77
- package/dist/figma-map.json +228 -4
- package/dist/meta/Checkbox.json +8 -6
- package/dist/meta/CheckboxGroup.json +268 -0
- package/dist/meta/Combobox.json +8 -0
- package/dist/meta/Divider.json +2 -2
- package/dist/meta/Fieldset.json +162 -0
- package/dist/meta/MultiSelect.json +269 -0
- package/dist/meta/Radio.json +0 -1
- package/dist/meta/RadioGroup.json +59 -7
- package/dist/meta/SearchField.json +487 -0
- package/dist/meta/Select.json +2 -1
- package/dist/meta/Stepper.json +2 -2
- package/dist/meta/Tabs.json +3 -3
- package/dist/meta/Toolbar.json +130 -0
- package/dist/meta/components.json +1616 -238
- package/dist/meta/contrast.json +398 -74
- package/dist/meta/index.json +84 -8
- package/dist/meta/patterns/DataTable.json +33 -6
- package/dist/meta/patterns/Form.json +27 -2
- package/dist/meta/patterns/index.json +6 -2
- package/dist/styles/fieldset.css +65 -0
- package/dist/styles/index.css +4 -0
- package/dist/styles/multi-select.css +104 -0
- package/dist/styles/radio.css +0 -20
- package/dist/styles/search-field.css +70 -0
- package/dist/styles/toolbar.css +36 -0
- package/llms.txt +2 -2
- package/package.json +1 -1
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
+
import { type FieldsetOrientation } from './Fieldset.js';
|
|
2
3
|
export type RadioSize = 'sm' | 'md' | 'lg';
|
|
3
4
|
export type RadioIntent = 'brand' | 'neutral' | 'danger';
|
|
4
5
|
export interface RadioProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'size' | 'type' | 'value'> {
|
|
@@ -20,7 +21,17 @@ export interface RadioGroupProps extends Omit<React.FieldsetHTMLAttributes<HTMLF
|
|
|
20
21
|
value?: string;
|
|
21
22
|
defaultValue?: string;
|
|
22
23
|
onChange?: (value: string) => void;
|
|
24
|
+
/** The question the options answer. Renders as the `<legend>`. */
|
|
23
25
|
label?: React.ReactNode;
|
|
26
|
+
/** Help text beneath the options. Replaced by `errorMessage` while invalid. */
|
|
27
|
+
description?: React.ReactNode;
|
|
28
|
+
/** Shown in the description's place while `isInvalid` is set. */
|
|
29
|
+
errorMessage?: React.ReactNode;
|
|
30
|
+
/** Shows `errorMessage` in the description's place. */
|
|
31
|
+
isInvalid?: boolean;
|
|
32
|
+
/** One option must be chosen before the form submits. */
|
|
33
|
+
isRequired?: boolean;
|
|
34
|
+
orientation?: FieldsetOrientation;
|
|
24
35
|
size?: RadioSize;
|
|
25
36
|
intent?: RadioIntent;
|
|
26
37
|
/** Whether every radio in the group is disabled. */
|
|
@@ -36,6 +47,9 @@ export interface RadioGroupProps extends Omit<React.FieldsetHTMLAttributes<HTMLF
|
|
|
36
47
|
* `role="radiogroup"`. Both are announced correctly, but a fieldset also groups
|
|
37
48
|
* the inputs for form submission and native validation, which the ARIA version
|
|
38
49
|
* does not.
|
|
50
|
+
*
|
|
51
|
+
* The fieldset itself is Fieldset's shell, shared with CheckboxGroup, so the
|
|
52
|
+
* two choice groups take the same label, help, error and orientation props.
|
|
39
53
|
*/
|
|
40
54
|
export declare const RadioGroup: React.ForwardRefExoticComponent<RadioGroupProps & React.RefAttributes<HTMLFieldSetElement>>;
|
|
41
55
|
//# sourceMappingURL=Radio.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Radio.d.ts","sourceRoot":"","sources":["../../src/components/Radio.tsx"],"names":[],"mappings":"AAEA,OAAO,KAON,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Radio.d.ts","sourceRoot":"","sources":["../../src/components/Radio.tsx"],"names":[],"mappings":"AAEA,OAAO,KAON,MAAM,OAAO,CAAC;AACf,OAAO,EAGL,KAAK,mBAAmB,EACzB,MAAM,eAAe,CAAC;AAGvB,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAC3C,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,SAAS,GAAG,QAAQ,CAAC;AAsBzD,MAAM,WAAW,UAAW,SAAQ,IAAI,CACtC,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAC3C,MAAM,GAAG,MAAM,GAAG,OAAO,CAC1B;IACC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,8EAA8E;IAC9E,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,eAAO,MAAM,KAAK,qFAiFjB,CAAC;AAIF,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAC3C,KAAK,CAAC,sBAAsB,CAAC,mBAAmB,CAAC,EACjD,UAAU,CACX;IACC,iDAAiD;IACjD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,kEAAkE;IAClE,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,+EAA+E;IAC/E,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,iEAAiE;IACjE,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC/B,uDAAuD;IACvD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,yDAAyD;IACzD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,mBAAmB,CAAC;IAClC,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,oDAAoD;IACpD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,UAAU,6FAoDtB,CAAC"}
|
package/dist/components/Radio.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
3
|
import { forwardRef, useRef, useImperativeHandle, useContext, createContext, useId, } from 'react';
|
|
4
|
+
import { FieldsetShell, useFieldsetHelper, } from './Fieldset.js';
|
|
4
5
|
import { resolveDisabled } from './resolve-disabled.js';
|
|
5
6
|
/**
|
|
6
7
|
* A radio is meaningless alone — it needs siblings sharing a `name` and one
|
|
@@ -11,7 +12,7 @@ import { resolveDisabled } from './resolve-disabled.js';
|
|
|
11
12
|
const RadioGroupContext = createContext(null);
|
|
12
13
|
export const Radio = forwardRef((props, forwardedRef) => {
|
|
13
14
|
const group = useContext(RadioGroupContext);
|
|
14
|
-
const { value, size = group?.size ?? 'md', intent = group?.intent ?? 'brand', className, children, isDisabled, disabled, name = group?.name, ...rest } = props;
|
|
15
|
+
const { value, size = group?.size ?? 'md', intent = group?.intent ?? 'brand', className, children, isDisabled, disabled, name = group?.name, 'aria-describedby': describedBy, ...rest } = props;
|
|
15
16
|
const resolvedDisabled = resolveDisabled(isDisabled, disabled) ?? group?.isDisabled;
|
|
16
17
|
const domRef = useRef(null);
|
|
17
18
|
useImperativeHandle(forwardedRef, () => domRef.current);
|
|
@@ -40,7 +41,11 @@ export const Radio = forwardRef((props, forwardedRef) => {
|
|
|
40
41
|
group?.onChange?.(value);
|
|
41
42
|
rest.onChange?.(e);
|
|
42
43
|
};
|
|
43
|
-
return (_jsxs("label", { className: classNames, children: [_jsx("input", { ...rest, ref: domRef, type: "radio", name: name, value: value, disabled: resolvedDisabled,
|
|
44
|
+
return (_jsxs("label", { className: classNames, children: [_jsx("input", { ...rest, ref: domRef, type: "radio", name: name, value: value, disabled: resolvedDisabled,
|
|
45
|
+
// Native `required` on a radio already means "one of this name" —
|
|
46
|
+
// unlike a checkbox, it needs no toggling to say "at least one".
|
|
47
|
+
required: group?.isRequired || rest.required, "aria-describedby": [describedBy, group?.helperId].filter(Boolean).join(' ') ||
|
|
48
|
+
undefined, className: "ion-radio__input", onChange: handleChange, ...(controlled
|
|
44
49
|
? { checked: group.value === value }
|
|
45
50
|
: { defaultChecked: group?.defaultValue === value }) }), _jsx("span", { className: "ion-radio__indicator", "aria-hidden": "true", children: _jsx("span", { className: "ion-radio__dot" }) }), children && _jsx("span", { className: "ion-radio__label", children: children })] }));
|
|
46
51
|
});
|
|
@@ -50,11 +55,15 @@ Radio.displayName = 'Radio';
|
|
|
50
55
|
* `role="radiogroup"`. Both are announced correctly, but a fieldset also groups
|
|
51
56
|
* the inputs for form submission and native validation, which the ARIA version
|
|
52
57
|
* does not.
|
|
58
|
+
*
|
|
59
|
+
* The fieldset itself is Fieldset's shell, shared with CheckboxGroup, so the
|
|
60
|
+
* two choice groups take the same label, help, error and orientation props.
|
|
53
61
|
*/
|
|
54
62
|
export const RadioGroup = forwardRef((props, ref) => {
|
|
55
|
-
const { name, value, defaultValue, onChange,
|
|
63
|
+
const { name, value, defaultValue, onChange, size, intent, isDisabled, disabled, isRequired, description, errorMessage, className, ...rest } = props;
|
|
56
64
|
const resolvedDisabled = resolveDisabled(isDisabled, disabled);
|
|
57
65
|
const generated = useId();
|
|
66
|
+
const { helper, helperId } = useFieldsetHelper(description, errorMessage, rest.isInvalid);
|
|
58
67
|
return (_jsx(RadioGroupContext.Provider, { value: {
|
|
59
68
|
name: name ?? generated,
|
|
60
69
|
value,
|
|
@@ -63,7 +72,9 @@ export const RadioGroup = forwardRef((props, ref) => {
|
|
|
63
72
|
size,
|
|
64
73
|
intent,
|
|
65
74
|
isDisabled: resolvedDisabled,
|
|
66
|
-
|
|
75
|
+
isRequired,
|
|
76
|
+
helperId,
|
|
77
|
+
}, children: _jsx(FieldsetShell, { ...rest, ref: ref, disabled: resolvedDisabled, isChoiceGroup: true, helper: helper, helperId: helperId, className: ['ion-radio-group', className].filter(Boolean).join(' ') }) }));
|
|
67
78
|
});
|
|
68
79
|
RadioGroup.displayName = 'RadioGroup';
|
|
69
80
|
//# sourceMappingURL=Radio.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Radio.js","sourceRoot":"","sources":["../../src/components/Radio.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAc,EACZ,UAAU,EACV,MAAM,EACN,mBAAmB,EACnB,UAAU,EACV,aAAa,EACb,KAAK,GACN,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"Radio.js","sourceRoot":"","sources":["../../src/components/Radio.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { AriaSearchFieldProps } from 'react-aria';
|
|
3
|
+
export type SearchFieldSize = 'sm' | 'md' | 'lg';
|
|
4
|
+
type SearchFieldDOMProps = Omit<React.InputHTMLAttributes<HTMLInputElement>, keyof AriaSearchFieldProps | 'size' | 'type' | 'disabled' | 'autoCapitalize'>;
|
|
5
|
+
export interface SearchFieldProps extends AriaSearchFieldProps, SearchFieldDOMProps {
|
|
6
|
+
/** Input's sizes: Small, Medium, Large. */
|
|
7
|
+
size?: SearchFieldSize;
|
|
8
|
+
/** Class names for the control box (`.ion-input`). */
|
|
9
|
+
className?: string;
|
|
10
|
+
/** Class names for the `.ion-field` wrapper when a label or helper is shown. */
|
|
11
|
+
wrapperClassName?: string;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* SearchField — a text field for a search query.
|
|
15
|
+
*
|
|
16
|
+
* NOT `<Input type="search">`. That gets the right input type and nothing
|
|
17
|
+
* else. `useSearchField` adds what a search box owes its user:
|
|
18
|
+
*
|
|
19
|
+
* `role="searchbox"`, so a screen reader announces a search field, not a
|
|
20
|
+
* text field. Enter calls `onSubmit` with the query. Escape clears it — a
|
|
21
|
+
* second Escape then reaches whatever the field sits in, so a search inside
|
|
22
|
+
* a dialog clears first and closes second. A clear button appears once there
|
|
23
|
+
* is something to clear, named in the user's language by React Aria.
|
|
24
|
+
*
|
|
25
|
+
* The clear button is out of the tab order on purpose, as React Aria sets it:
|
|
26
|
+
* Escape is the keyboard's way to clear, and an extra tab stop in every search
|
|
27
|
+
* box costs every keyboard user a keystroke. Pressing it puts focus back in the
|
|
28
|
+
* field.
|
|
29
|
+
*
|
|
30
|
+
* The box IS Input's — the component renders `.ion-input` and its size and
|
|
31
|
+
* state classes, so a search field beside an Input in a toolbar matches it
|
|
32
|
+
* exactly and cannot drift. Same arrangement as NumberInput.
|
|
33
|
+
*/
|
|
34
|
+
export declare const SearchField: React.ForwardRefExoticComponent<SearchFieldProps & React.RefAttributes<HTMLInputElement>>;
|
|
35
|
+
export {};
|
|
36
|
+
//# sourceMappingURL=SearchField.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SearchField.d.ts","sourceRoot":"","sources":["../../src/components/SearchField.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAkD,MAAM,OAAO,CAAC;AAQvE,OAAO,KAAK,EAAmB,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAIxE,MAAM,MAAM,eAAe,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAEjD,KAAK,mBAAmB,GAAG,IAAI,CAC7B,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAC3C,MAAM,oBAAoB,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,gBAAgB,CAC7E,CAAC;AAEF,MAAM,WAAW,gBACf,SAAQ,oBAAoB,EAAE,mBAAmB;IACjD,2CAA2C;IAC3C,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,sDAAsD;IACtD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gFAAgF;IAChF,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AA0CD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,WAAW,2FAqGvB,CAAC"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { forwardRef, useImperativeHandle, useRef } from 'react';
|
|
4
|
+
import { mergeProps, useButton, useFocusRing, useHover, useSearchField, } from 'react-aria';
|
|
5
|
+
import { useSearchFieldState } from 'react-stately';
|
|
6
|
+
import { ARIA_TEXT_FIELD_NON_DOM_PROPS, omitProps } from './dom-props.js';
|
|
7
|
+
/** `onSubmit` and `onClear` are React Aria's, not the DOM's — never spread. */
|
|
8
|
+
const SEARCH_FIELD_NON_DOM_PROPS = [
|
|
9
|
+
...ARIA_TEXT_FIELD_NON_DOM_PROPS,
|
|
10
|
+
'onSubmit',
|
|
11
|
+
'onClear',
|
|
12
|
+
];
|
|
13
|
+
const Magnifier = () => (_jsxs("svg", { viewBox: "0 0 24 24", fill: "none", "aria-hidden": "true", focusable: "false", children: [_jsx("circle", { cx: "11", cy: "11", r: "7", stroke: "currentColor", strokeWidth: "2" }), _jsx("path", { d: "m20 20-3.5-3.5", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round" })] }));
|
|
14
|
+
const Cross = () => (_jsx("svg", { viewBox: "0 0 24 24", fill: "none", "aria-hidden": "true", focusable: "false", children: _jsx("path", { d: "M18 6 6 18M6 6l12 12", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round" }) }));
|
|
15
|
+
function ClearButton(props) {
|
|
16
|
+
const ref = useRef(null);
|
|
17
|
+
const { buttonProps } = useButton(props, ref);
|
|
18
|
+
return (_jsx("button", { ...buttonProps, ref: ref, className: "ion-search-field__clear", children: _jsx(Cross, {}) }));
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* SearchField — a text field for a search query.
|
|
22
|
+
*
|
|
23
|
+
* NOT `<Input type="search">`. That gets the right input type and nothing
|
|
24
|
+
* else. `useSearchField` adds what a search box owes its user:
|
|
25
|
+
*
|
|
26
|
+
* `role="searchbox"`, so a screen reader announces a search field, not a
|
|
27
|
+
* text field. Enter calls `onSubmit` with the query. Escape clears it — a
|
|
28
|
+
* second Escape then reaches whatever the field sits in, so a search inside
|
|
29
|
+
* a dialog clears first and closes second. A clear button appears once there
|
|
30
|
+
* is something to clear, named in the user's language by React Aria.
|
|
31
|
+
*
|
|
32
|
+
* The clear button is out of the tab order on purpose, as React Aria sets it:
|
|
33
|
+
* Escape is the keyboard's way to clear, and an extra tab stop in every search
|
|
34
|
+
* box costs every keyboard user a keystroke. Pressing it puts focus back in the
|
|
35
|
+
* field.
|
|
36
|
+
*
|
|
37
|
+
* The box IS Input's — the component renders `.ion-input` and its size and
|
|
38
|
+
* state classes, so a search field beside an Input in a toolbar matches it
|
|
39
|
+
* exactly and cannot drift. Same arrangement as NumberInput.
|
|
40
|
+
*/
|
|
41
|
+
export const SearchField = forwardRef((props, forwardedRef) => {
|
|
42
|
+
const { size = 'md', label, description, errorMessage, isDisabled, isReadOnly, isInvalid, className, wrapperClassName, ...rest } = props;
|
|
43
|
+
const state = useSearchFieldState(props);
|
|
44
|
+
const ref = useRef(null);
|
|
45
|
+
useImperativeHandle(forwardedRef, () => ref.current);
|
|
46
|
+
const { labelProps, inputProps, clearButtonProps, descriptionProps, errorMessageProps, } = useSearchField(props, state, ref);
|
|
47
|
+
const { hoverProps, isHovered } = useHover({ isDisabled });
|
|
48
|
+
const { focusProps, isFocusVisible } = useFocusRing({ isTextInput: true });
|
|
49
|
+
const domProps = omitProps(rest, SEARCH_FIELD_NON_DOM_PROPS);
|
|
50
|
+
const canClear = state.value !== '' && !isDisabled && !isReadOnly;
|
|
51
|
+
const box = (_jsxs("div", { ...hoverProps, "data-hovered": isHovered || undefined, "data-focused": isFocusVisible || undefined, "data-invalid": isInvalid || undefined, "data-readonly": isReadOnly || undefined, "data-disabled": isDisabled || undefined, className: [
|
|
52
|
+
'ion-input',
|
|
53
|
+
'ion-search-field',
|
|
54
|
+
size !== 'md' ? `ion-input--${size}` : '',
|
|
55
|
+
canClear ? 'ion-search-field--clearable' : '',
|
|
56
|
+
isInvalid ? 'ion-input--invalid' : '',
|
|
57
|
+
isReadOnly ? 'ion-input--readonly' : '',
|
|
58
|
+
isDisabled ? 'ion-input--disabled' : '',
|
|
59
|
+
className || '',
|
|
60
|
+
]
|
|
61
|
+
.filter(Boolean)
|
|
62
|
+
.join(' '), children: [_jsx("span", { className: "ion-input__icon-start", "aria-hidden": "true", children: _jsx(Magnifier, {}) }), _jsx("input", { ...domProps, ...mergeProps(inputProps, focusProps), ref: ref, className: "ion-input__field ion-search-field__field" }), canClear && _jsx(ClearButton, { ...clearButtonProps })] }));
|
|
63
|
+
const helper = isInvalid && errorMessage ? errorMessage : description;
|
|
64
|
+
const helperProps = isInvalid && errorMessage ? errorMessageProps : descriptionProps;
|
|
65
|
+
if (!label && !helper)
|
|
66
|
+
return box;
|
|
67
|
+
return (_jsxs("div", { className: [
|
|
68
|
+
'ion-field',
|
|
69
|
+
isInvalid ? 'ion-field--error' : '',
|
|
70
|
+
wrapperClassName || '',
|
|
71
|
+
]
|
|
72
|
+
.filter(Boolean)
|
|
73
|
+
.join(' '), children: [label && (_jsx("label", { ...labelProps, className: "ion-field__label", children: label })), box, helper && (_jsx("span", { ...helperProps, className: "ion-field__helper", children: helper }))] }));
|
|
74
|
+
});
|
|
75
|
+
SearchField.displayName = 'SearchField';
|
|
76
|
+
//# sourceMappingURL=SearchField.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SearchField.js","sourceRoot":"","sources":["../../src/components/SearchField.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export type ToolbarOrientation = 'horizontal' | 'vertical';
|
|
3
|
+
export interface ToolbarProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'role'> {
|
|
4
|
+
/** Names the toolbar — "Bulk actions", "Formatting". Required, or `aria-labelledby`. */
|
|
5
|
+
'aria-label'?: string;
|
|
6
|
+
'aria-labelledby'?: string;
|
|
7
|
+
/** Which arrow keys move between controls. Horizontal: ← →; vertical: ↑ ↓. */
|
|
8
|
+
orientation?: ToolbarOrientation;
|
|
9
|
+
/** Buttons, MenuTriggers, a SegmentedControl, and a vertical Divider between groups. */
|
|
10
|
+
children?: React.ReactNode;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Toolbar — a row of controls that act on one thing, reached as one stop.
|
|
14
|
+
*
|
|
15
|
+
* React Aria's `useToolbar` gives it `role="toolbar"` and `aria-orientation`,
|
|
16
|
+
* arrow keys between its controls (mirrored in right-to-left), Tab that leaves
|
|
17
|
+
* the whole toolbar rather than walking every button, and focus returned to the
|
|
18
|
+
* control used last when Tab brings the user back. A toolbar inside a toolbar
|
|
19
|
+
* becomes a `group`, so nesting one for grouping is safe.
|
|
20
|
+
*
|
|
21
|
+
* Every control keeps its own tab stop in the DOM — React Aria moves focus to
|
|
22
|
+
* the first or last control on Tab and lets the browser take it from there —
|
|
23
|
+
* so nothing here rewrites a child's `tabIndex`, and a control that mounts
|
|
24
|
+
* later (the bulk actions appearing on selection) needs no registration.
|
|
25
|
+
*
|
|
26
|
+
* WHAT IT IS NOT FOR
|
|
27
|
+
*
|
|
28
|
+
* A filter bar. Tab leaves a toolbar in one press, so a search field inside one
|
|
29
|
+
* strands the filters after it: Tab skips them and ← → belong to the caret.
|
|
30
|
+
* That is WAI-ARIA's own caution about text fields in toolbars. A table's
|
|
31
|
+
* search and filters stay ordinary tab stops; the toolbar is the row of
|
|
32
|
+
* actions — the batch bar, a record's actions, an editor's formatting.
|
|
33
|
+
*/
|
|
34
|
+
export declare const Toolbar: React.ForwardRefExoticComponent<ToolbarProps & React.RefAttributes<HTMLDivElement>>;
|
|
35
|
+
//# sourceMappingURL=Toolbar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Toolbar.d.ts","sourceRoot":"","sources":["../../src/components/Toolbar.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAkD,MAAM,OAAO,CAAC;AAGvE,MAAM,MAAM,kBAAkB,GAAG,YAAY,GAAG,UAAU,CAAC;AAE3D,MAAM,WAAW,YAAa,SAAQ,IAAI,CACxC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EACpC,MAAM,CACP;IACC,wFAAwF;IACxF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,8EAA8E;IAC9E,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC,wFAAwF;IACxF,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAkCD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,OAAO,qFA+CnB,CAAC"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import { forwardRef, useImperativeHandle, useRef } from 'react';
|
|
4
|
+
import { useToolbar } from 'react-aria';
|
|
5
|
+
/**
|
|
6
|
+
* Arrow keys that belong to the control, not to the toolbar.
|
|
7
|
+
*
|
|
8
|
+
* `useToolbar` handles arrows in the capture phase, before the focused control
|
|
9
|
+
* sees them. For a button that is right. For a text field it takes the caret
|
|
10
|
+
* away — ← and → would jump to the next control instead of moving through the
|
|
11
|
+
* text — and for a native <select>, a combobox or a slider it takes the value
|
|
12
|
+
* away. Those keys are the control's, so the toolbar lets them through.
|
|
13
|
+
*/
|
|
14
|
+
function ownsArrowKeys(target) {
|
|
15
|
+
if (!(target instanceof HTMLElement))
|
|
16
|
+
return false;
|
|
17
|
+
if (target.isContentEditable)
|
|
18
|
+
return true;
|
|
19
|
+
if (target instanceof HTMLTextAreaElement)
|
|
20
|
+
return true;
|
|
21
|
+
if (target instanceof HTMLSelectElement)
|
|
22
|
+
return true;
|
|
23
|
+
if (target instanceof HTMLInputElement) {
|
|
24
|
+
return !['button', 'checkbox', 'radio', 'reset', 'submit'].includes(target.type);
|
|
25
|
+
}
|
|
26
|
+
const role = target.getAttribute('role');
|
|
27
|
+
return (role === 'combobox' ||
|
|
28
|
+
role === 'slider' ||
|
|
29
|
+
role === 'spinbutton' ||
|
|
30
|
+
role === 'textbox' ||
|
|
31
|
+
role === 'radio' ||
|
|
32
|
+
role === 'tab');
|
|
33
|
+
}
|
|
34
|
+
const ARROWS = new Set(['ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown']);
|
|
35
|
+
/**
|
|
36
|
+
* Toolbar — a row of controls that act on one thing, reached as one stop.
|
|
37
|
+
*
|
|
38
|
+
* React Aria's `useToolbar` gives it `role="toolbar"` and `aria-orientation`,
|
|
39
|
+
* arrow keys between its controls (mirrored in right-to-left), Tab that leaves
|
|
40
|
+
* the whole toolbar rather than walking every button, and focus returned to the
|
|
41
|
+
* control used last when Tab brings the user back. A toolbar inside a toolbar
|
|
42
|
+
* becomes a `group`, so nesting one for grouping is safe.
|
|
43
|
+
*
|
|
44
|
+
* Every control keeps its own tab stop in the DOM — React Aria moves focus to
|
|
45
|
+
* the first or last control on Tab and lets the browser take it from there —
|
|
46
|
+
* so nothing here rewrites a child's `tabIndex`, and a control that mounts
|
|
47
|
+
* later (the bulk actions appearing on selection) needs no registration.
|
|
48
|
+
*
|
|
49
|
+
* WHAT IT IS NOT FOR
|
|
50
|
+
*
|
|
51
|
+
* A filter bar. Tab leaves a toolbar in one press, so a search field inside one
|
|
52
|
+
* strands the filters after it: Tab skips them and ← → belong to the caret.
|
|
53
|
+
* That is WAI-ARIA's own caution about text fields in toolbars. A table's
|
|
54
|
+
* search and filters stay ordinary tab stops; the toolbar is the row of
|
|
55
|
+
* actions — the batch bar, a record's actions, an editor's formatting.
|
|
56
|
+
*/
|
|
57
|
+
export const Toolbar = forwardRef((props, forwardedRef) => {
|
|
58
|
+
const { orientation = 'horizontal', className, children, 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledBy, onKeyDownCapture, ...rest } = props;
|
|
59
|
+
const ref = useRef(null);
|
|
60
|
+
useImperativeHandle(forwardedRef, () => ref.current);
|
|
61
|
+
const { toolbarProps } = useToolbar({
|
|
62
|
+
orientation,
|
|
63
|
+
'aria-label': ariaLabel,
|
|
64
|
+
'aria-labelledby': ariaLabelledBy,
|
|
65
|
+
}, ref);
|
|
66
|
+
const handleKeyDownCapture = (e) => {
|
|
67
|
+
onKeyDownCapture?.(e);
|
|
68
|
+
if (ARROWS.has(e.key) && ownsArrowKeys(e.target))
|
|
69
|
+
return;
|
|
70
|
+
toolbarProps.onKeyDownCapture?.(e);
|
|
71
|
+
};
|
|
72
|
+
return (_jsx("div", { ...rest, ...toolbarProps, ref: ref, onKeyDownCapture: handleKeyDownCapture, className: [
|
|
73
|
+
'ion-toolbar',
|
|
74
|
+
orientation === 'vertical' ? 'ion-toolbar--vertical' : '',
|
|
75
|
+
className || '',
|
|
76
|
+
]
|
|
77
|
+
.filter(Boolean)
|
|
78
|
+
.join(' '), children: children }));
|
|
79
|
+
});
|
|
80
|
+
Toolbar.displayName = 'Toolbar';
|
|
81
|
+
//# sourceMappingURL=Toolbar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Toolbar.js","sourceRoot":"","sources":["../../src/components/Toolbar.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAc,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAiBxC;;;;;;;;GAQG;AACH,SAAS,aAAa,CAAC,MAA0B;IAC/C,IAAI,CAAC,CAAC,MAAM,YAAY,WAAW,CAAC;QAAE,OAAO,KAAK,CAAC;IACnD,IAAI,MAAM,CAAC,iBAAiB;QAAE,OAAO,IAAI,CAAC;IAC1C,IAAI,MAAM,YAAY,mBAAmB;QAAE,OAAO,IAAI,CAAC;IACvD,IAAI,MAAM,YAAY,iBAAiB;QAAE,OAAO,IAAI,CAAC;IACrD,IAAI,MAAM,YAAY,gBAAgB,EAAE,CAAC;QACvC,OAAO,CAAC,CAAC,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQ,CACjE,MAAM,CAAC,IAAI,CACZ,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IACzC,OAAO,CACL,IAAI,KAAK,UAAU;QACnB,IAAI,KAAK,QAAQ;QACjB,IAAI,KAAK,YAAY;QACrB,IAAI,KAAK,SAAS;QAClB,IAAI,KAAK,OAAO;QAChB,IAAI,KAAK,KAAK,CACf,CAAC;AACJ,CAAC;AAED,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC;AAE5E;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,UAAU,CAC/B,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE;IACtB,MAAM,EACJ,WAAW,GAAG,YAAY,EAC1B,SAAS,EACT,QAAQ,EACR,YAAY,EAAE,SAAS,EACvB,iBAAiB,EAAE,cAAc,EACjC,gBAAgB,EAChB,GAAG,IAAI,EACR,GAAG,KAAK,CAAC;IACV,MAAM,GAAG,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IACzC,mBAAmB,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,OAAQ,CAAC,CAAC;IAEtD,MAAM,EAAE,YAAY,EAAE,GAAG,UAAU,CACjC;QACE,WAAW;QACX,YAAY,EAAE,SAAS;QACvB,iBAAiB,EAAE,cAAc;KAClC,EACD,GAAG,CACJ,CAAC;IAEF,MAAM,oBAAoB,GAAG,CAAC,CAAsC,EAAE,EAAE;QACtE,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC;YAAE,OAAO;QACzD,YAAY,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC;IACrC,CAAC,CAAC;IAEF,OAAO,CACL,iBACM,IAAI,KACJ,YAAY,EAChB,GAAG,EAAE,GAAG,EACR,gBAAgB,EAAE,oBAAoB,EACtC,SAAS,EAAE;YACT,aAAa;YACb,WAAW,KAAK,UAAU,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,EAAE;YACzD,SAAS,IAAI,EAAE;SAChB;aACE,MAAM,CAAC,OAAO,CAAC;aACf,IAAI,CAAC,GAAG,CAAC,YAEX,QAAQ,GACL,CACP,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC"}
|
|
@@ -16,12 +16,18 @@ export { PhoneInput } from './PhoneInput.js';
|
|
|
16
16
|
export type { PhoneInputProps } from './PhoneInput.js';
|
|
17
17
|
export { Select } from './Select.js';
|
|
18
18
|
export type { SelectProps, SelectSize, SelectOption } from './Select.js';
|
|
19
|
-
export { Checkbox } from './Checkbox.js';
|
|
20
|
-
export type { CheckboxProps, CheckboxSize, CheckboxIntent, } from './Checkbox.js';
|
|
19
|
+
export { Checkbox, CheckboxGroup } from './Checkbox.js';
|
|
20
|
+
export type { CheckboxProps, CheckboxGroupProps, CheckboxSize, CheckboxIntent, } from './Checkbox.js';
|
|
21
|
+
export { Fieldset } from './Fieldset.js';
|
|
22
|
+
export type { FieldsetProps, FieldsetOrientation } from './Fieldset.js';
|
|
21
23
|
export { Radio, RadioGroup } from './Radio.js';
|
|
22
24
|
export type { RadioProps, RadioGroupProps, RadioSize, RadioIntent, } from './Radio.js';
|
|
23
25
|
export { Toggle } from './Toggle.js';
|
|
24
26
|
export type { ToggleProps, ToggleSize, ToggleIntent } from './Toggle.js';
|
|
27
|
+
export { Toolbar } from './Toolbar.js';
|
|
28
|
+
export type { ToolbarProps, ToolbarOrientation } from './Toolbar.js';
|
|
29
|
+
export { MultiSelect } from './MultiSelect.js';
|
|
30
|
+
export type { MultiSelectProps, MultiSelectOption, MultiSelectSize, } from './MultiSelect.js';
|
|
25
31
|
export { Menu, MenuItem, MenuSection, MenuTrigger } from './Menu.js';
|
|
26
32
|
export type { MenuProps, MenuItemProps, MenuTriggerProps, MenuTriggerPlacement, } from './Menu.js';
|
|
27
33
|
export { Avatar, AvatarGroup } from './Avatar.js';
|
|
@@ -87,6 +93,8 @@ export { SegmentedControl, SegmentedControlItem } from './SegmentedControl.js';
|
|
|
87
93
|
export type { SegmentedControlProps, SegmentedControlItemProps, SegmentedControlSize, } from './SegmentedControl.js';
|
|
88
94
|
export { NumberInput } from './NumberInput.js';
|
|
89
95
|
export type { NumberInputProps, NumberInputSize } from './NumberInput.js';
|
|
96
|
+
export { SearchField } from './SearchField.js';
|
|
97
|
+
export type { SearchFieldProps, SearchFieldSize } from './SearchField.js';
|
|
90
98
|
export { ToolCall } from './ToolCall.js';
|
|
91
99
|
export type { ToolCallProps } from './ToolCall.js';
|
|
92
100
|
export { PromptInput } from './PromptInput.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,YAAY,EACV,eAAe,EACf,cAAc,EACd,cAAc,GACf,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC/D,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,YAAY,EACV,UAAU,EACV,WAAW,EACX,aAAa,EACb,WAAW,GACZ,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,YAAY,EACV,UAAU,EACV,WAAW,EACX,SAAS,EACT,UAAU,GACX,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACzE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,YAAY,EACV,eAAe,EACf,cAAc,EACd,cAAc,GACf,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC/D,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,YAAY,EACV,UAAU,EACV,WAAW,EACX,aAAa,EACb,WAAW,GACZ,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,YAAY,EACV,UAAU,EACV,WAAW,EACX,SAAS,EACT,UAAU,GACX,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACzE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACxD,YAAY,EACV,aAAa,EACb,kBAAkB,EAClB,YAAY,EACZ,cAAc,GACf,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,YAAY,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC/C,YAAY,EACV,UAAU,EACV,eAAe,EACf,SAAS,EACT,WAAW,GACZ,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACzE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,YAAY,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,YAAY,EACV,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACrE,YAAY,EACV,SAAS,EACT,aAAa,EACb,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAClD,YAAY,EACV,WAAW,EACX,gBAAgB,EAChB,UAAU,EACV,WAAW,EACX,qBAAqB,GACtB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,YAAY,EACV,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC3C,YAAY,EACV,SAAS,EACT,aAAa,EACb,QAAQ,EACR,YAAY,GACb,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,YAAY,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACrE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC5D,YAAY,EACV,UAAU,EACV,YAAY,EACZ,SAAS,EACT,WAAW,EACX,cAAc,EACd,kBAAkB,GACnB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChF,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACpE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,YAAY,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC9E,YAAY,EACV,UAAU,EACV,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,cAAc,EACd,kBAAkB,GACnB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,YAAY,EACV,SAAS,EACT,cAAc,EACd,kBAAkB,GACnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,YAAY,EACV,mBAAmB,EACnB,qBAAqB,EACrB,uBAAuB,GACxB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,YAAY,EACV,cAAc,EACd,aAAa,EACb,oBAAoB,GACrB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAC9C,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,YAAY,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAC/E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,YAAY,EAAE,SAAS,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACzE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,YAAY,EACV,aAAa,EACb,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,YAAY,EACV,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,YAAY,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACtE,YAAY,EACV,kBAAkB,EAClB,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACzE,YAAY,EACV,aAAa,EACb,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,YAAY,EACV,wBAAwB,EACxB,eAAe,GAChB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAC7D,YAAY,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAE5E,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC1D,YAAY,EACV,cAAc,EACd,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE5E,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACpE,YAAY,EACV,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC/E,YAAY,EACV,qBAAqB,EACrB,yBAAyB,EACzB,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAE1E,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAE1E,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,YAAY,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAE/E,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACpD,YAAY,EACV,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE9D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,YAAY,EACV,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEpE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,YAAY,EACV,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,sBAAsB,GACvB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,YAAY,EACV,eAAe,EACf,cAAc,EACd,YAAY,GACb,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,YAAY,EACV,aAAa,EACb,YAAY,EACZ,cAAc,GACf,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEvE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,YAAY,EACV,oBAAoB,EACpB,mBAAmB,EACnB,SAAS,EACT,eAAe,GAChB,MAAM,sBAAsB,CAAC;AAQ9B,YAAY,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAE7C,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACpD,YAAY,EACV,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAOtE,OAAO,EACL,WAAW,EACX,YAAY,EACZ,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,WAAW,EACX,iBAAiB,EACjB,eAAe,GAChB,MAAM,YAAY,CAAC;AAQpB,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,WAAW,EACX,eAAe,EACf,oBAAoB,EACpB,cAAc,GACf,MAAM,gBAAgB,CAAC;AACxB,YAAY,EACV,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,aAAa,EACb,YAAY,EACZ,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAChF,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,YAAY,EACV,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,qBAAqB,CAAC"}
|
package/dist/components/index.js
CHANGED
|
@@ -7,9 +7,12 @@ export { Textarea } from './Textarea.js';
|
|
|
7
7
|
export { Input } from './Input.js';
|
|
8
8
|
export { PhoneInput } from './PhoneInput.js';
|
|
9
9
|
export { Select } from './Select.js';
|
|
10
|
-
export { Checkbox } from './Checkbox.js';
|
|
10
|
+
export { Checkbox, CheckboxGroup } from './Checkbox.js';
|
|
11
|
+
export { Fieldset } from './Fieldset.js';
|
|
11
12
|
export { Radio, RadioGroup } from './Radio.js';
|
|
12
13
|
export { Toggle } from './Toggle.js';
|
|
14
|
+
export { Toolbar } from './Toolbar.js';
|
|
15
|
+
export { MultiSelect } from './MultiSelect.js';
|
|
13
16
|
export { Menu, MenuItem, MenuSection, MenuTrigger } from './Menu.js';
|
|
14
17
|
export { Avatar, AvatarGroup } from './Avatar.js';
|
|
15
18
|
export { AvatarGradient } from './AvatarGradient.js';
|
|
@@ -42,6 +45,7 @@ export { Drawer } from './Drawer.js';
|
|
|
42
45
|
export { Sidebar, SidebarSection, SidebarItem } from './Sidebar.js';
|
|
43
46
|
export { SegmentedControl, SegmentedControlItem } from './SegmentedControl.js';
|
|
44
47
|
export { NumberInput } from './NumberInput.js';
|
|
48
|
+
export { SearchField } from './SearchField.js';
|
|
45
49
|
export { ToolCall } from './ToolCall.js';
|
|
46
50
|
export { PromptInput } from './PromptInput.js';
|
|
47
51
|
export { Stepper, StepperStep } from './Stepper.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAM7C,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAOnC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAOnC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"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"}
|