tyrell-react 1.0.0-TC30 → 1.0.0-TC32
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/TyCalendar.d.ts +5 -0
- package/dist/components/TyCalendar.d.ts.map +1 -1
- package/dist/components/TyCalendar.js +4 -1
- package/dist/components/TyCalendar.js.map +1 -1
- package/dist/components/TyCalendarMonth.d.ts +5 -0
- package/dist/components/TyCalendarMonth.d.ts.map +1 -1
- package/dist/components/TyCalendarMonth.js +3 -1
- package/dist/components/TyCalendarMonth.js.map +1 -1
- package/dist/components/TyCheckbox.d.ts +4 -1
- package/dist/components/TyCheckbox.d.ts.map +1 -1
- package/dist/components/TyCheckbox.js.map +1 -1
- package/dist/components/TyCopy.d.ts +4 -1
- package/dist/components/TyCopy.d.ts.map +1 -1
- package/dist/components/TyCopy.js.map +1 -1
- package/dist/components/TyDatePicker.d.ts +6 -3
- package/dist/components/TyDatePicker.d.ts.map +1 -1
- package/dist/components/TyDatePicker.js.map +1 -1
- package/dist/components/TyInput.d.ts +6 -2
- package/dist/components/TyInput.d.ts.map +1 -1
- package/dist/components/TyInput.js.map +1 -1
- package/dist/components/TyModal.d.ts +5 -0
- package/dist/components/TyModal.d.ts.map +1 -1
- package/dist/components/TyModal.js +3 -1
- package/dist/components/TyModal.js.map +1 -1
- package/dist/components/TyRadio.d.ts +4 -1
- package/dist/components/TyRadio.d.ts.map +1 -1
- package/dist/components/TyRadio.js.map +1 -1
- package/dist/components/TyRadioGroup.d.ts +4 -1
- package/dist/components/TyRadioGroup.d.ts.map +1 -1
- package/dist/components/TyRadioGroup.js.map +1 -1
- package/dist/components/TySelect.d.ts +28 -0
- package/dist/components/TySelect.d.ts.map +1 -1
- package/dist/components/TySelect.js +17 -2
- package/dist/components/TySelect.js.map +1 -1
- package/dist/components/TySwitch.d.ts +4 -1
- package/dist/components/TySwitch.d.ts.map +1 -1
- package/dist/components/TySwitch.js.map +1 -1
- package/dist/components/TyTag.d.ts +4 -1
- package/dist/components/TyTag.d.ts.map +1 -1
- package/dist/components/TyTag.js.map +1 -1
- package/dist/components/TyTooltip.d.ts +4 -1
- package/dist/components/TyTooltip.d.ts.map +1 -1
- package/dist/components/TyTooltip.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
- package/src/components/TyCalendar.tsx +12 -1
- package/src/components/TyCalendarMonth.tsx +9 -1
- package/src/components/TyCheckbox.tsx +4 -1
- package/src/components/TyCopy.tsx +4 -1
- package/src/components/TyDatePicker.tsx +6 -3
- package/src/components/TyInput.tsx +6 -2
- package/src/components/TyModal.tsx +8 -0
- package/src/components/TyRadio.tsx +4 -1
- package/src/components/TyRadioGroup.tsx +4 -1
- package/src/components/TySelect.tsx +43 -1
- package/src/components/TySwitch.tsx +4 -1
- package/src/components/TyTag.tsx +4 -1
- package/src/components/TyTooltip.tsx +4 -1
- package/src/version.ts +1 -1
|
@@ -3,7 +3,7 @@ import { hostProps } from '../utils/host-props';
|
|
|
3
3
|
import { needsPropertyBridge } from '../utils/react-version';
|
|
4
4
|
import { useBooleanProperty } from '../utils/use-boolean-prop';
|
|
5
5
|
// React wrapper for ty-select web component
|
|
6
|
-
export const TySelect = React.forwardRef(({ value, multiple, compact, placeholder, label, name, disabled, readonly, required, searchable, externalSearch, debounce, loading, size, onChange, onSearch, onOpen, onClose, children, ...props }, ref) => {
|
|
6
|
+
export const TySelect = React.forwardRef(({ value, multiple, compact, placeholder, label, name, disabled, readonly, required, searchable, externalSearch, debounce, allowCreate, createTransform, loading, size, flavor, onChange, onSearch, onOpen, onClose, onCreate, children, ...props }, ref) => {
|
|
7
7
|
const elementRef = useRef(null);
|
|
8
8
|
// Handle ref forwarding
|
|
9
9
|
useEffect(() => {
|
|
@@ -42,6 +42,10 @@ export const TySelect = React.forwardRef(({ value, multiple, compact, placeholde
|
|
|
42
42
|
onOpen(event); }, [onOpen]);
|
|
43
43
|
const handleClose = useCallback((event) => { if (onClose)
|
|
44
44
|
onClose(event); }, [onClose]);
|
|
45
|
+
const handleCreate = useCallback((event) => {
|
|
46
|
+
if (onCreate)
|
|
47
|
+
onCreate(event);
|
|
48
|
+
}, [onCreate]);
|
|
45
49
|
// Set up event listeners
|
|
46
50
|
useEffect(() => {
|
|
47
51
|
const element = elementRef.current;
|
|
@@ -55,6 +59,8 @@ export const TySelect = React.forwardRef(({ value, multiple, compact, placeholde
|
|
|
55
59
|
element.addEventListener('open', handleOpen);
|
|
56
60
|
if (onClose)
|
|
57
61
|
element.addEventListener('close', handleClose);
|
|
62
|
+
if (onCreate)
|
|
63
|
+
element.addEventListener('create', handleCreate);
|
|
58
64
|
return () => {
|
|
59
65
|
if (onChange)
|
|
60
66
|
element.removeEventListener('change', handleChange);
|
|
@@ -64,8 +70,10 @@ export const TySelect = React.forwardRef(({ value, multiple, compact, placeholde
|
|
|
64
70
|
element.removeEventListener('open', handleOpen);
|
|
65
71
|
if (onClose)
|
|
66
72
|
element.removeEventListener('close', handleClose);
|
|
73
|
+
if (onCreate)
|
|
74
|
+
element.removeEventListener('create', handleCreate);
|
|
67
75
|
};
|
|
68
|
-
}, [handleChange, handleSearch, handleOpen, handleClose, onChange, onSearch, onOpen, onClose]);
|
|
76
|
+
}, [handleChange, handleSearch, handleOpen, handleClose, handleCreate, onChange, onSearch, onOpen, onClose, onCreate]);
|
|
69
77
|
// Imperative property sync for boolean props (see use-boolean-prop.ts).
|
|
70
78
|
const isMultiple = useBooleanProperty(elementRef, 'multiple', multiple);
|
|
71
79
|
const isCompact = useBooleanProperty(elementRef, 'compact', compact);
|
|
@@ -74,6 +82,7 @@ export const TySelect = React.forwardRef(({ value, multiple, compact, placeholde
|
|
|
74
82
|
const isRequired = useBooleanProperty(elementRef, 'required', required);
|
|
75
83
|
const isLoading = useBooleanProperty(elementRef, 'loading', loading);
|
|
76
84
|
const isExternalSearch = useBooleanProperty(elementRef, 'externalSearch', externalSearch);
|
|
85
|
+
const isAllowCreate = useBooleanProperty(elementRef, 'allowCreate', allowCreate);
|
|
77
86
|
// Convert React props to web component attributes
|
|
78
87
|
const webComponentProps = {
|
|
79
88
|
...hostProps(props),
|
|
@@ -97,6 +106,8 @@ export const TySelect = React.forwardRef(({ value, multiple, compact, placeholde
|
|
|
97
106
|
webComponentProps.loading = '';
|
|
98
107
|
if (isExternalSearch)
|
|
99
108
|
webComponentProps['external-search'] = '';
|
|
109
|
+
if (isAllowCreate)
|
|
110
|
+
webComponentProps['allow-create'] = '';
|
|
100
111
|
if (placeholder)
|
|
101
112
|
webComponentProps.placeholder = placeholder;
|
|
102
113
|
if (label)
|
|
@@ -105,8 +116,12 @@ export const TySelect = React.forwardRef(({ value, multiple, compact, placeholde
|
|
|
105
116
|
webComponentProps.name = name;
|
|
106
117
|
if (size)
|
|
107
118
|
webComponentProps.size = size;
|
|
119
|
+
if (flavor)
|
|
120
|
+
webComponentProps.flavor = flavor;
|
|
108
121
|
if (debounce !== undefined)
|
|
109
122
|
webComponentProps.debounce = debounce.toString();
|
|
123
|
+
if (createTransform)
|
|
124
|
+
webComponentProps['create-transform'] = createTransform;
|
|
110
125
|
if (searchable === 'always' || searchable === true)
|
|
111
126
|
webComponentProps.searchable = 'true';
|
|
112
127
|
else if (searchable === 'never' || searchable === false)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TySelect.js","sourceRoot":"","sources":["../../src/components/TySelect.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"TySelect.js","sourceRoot":"","sources":["../../src/components/TySelect.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
+
type BuiltinFlavor = 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'neutral';
|
|
3
|
+
type ShadedFlavor = BuiltinFlavor | `${BuiltinFlavor}+` | `${BuiltinFlavor}-`;
|
|
2
4
|
export interface TySwitchProps extends Omit<React.HTMLAttributes<HTMLElement>, 'onChange' | 'onInput'> {
|
|
3
5
|
/** Checked (on) state */
|
|
4
6
|
checked?: boolean;
|
|
@@ -13,7 +15,7 @@ export interface TySwitchProps extends Omit<React.HTMLAttributes<HTMLElement>, '
|
|
|
13
15
|
/** Switch size */
|
|
14
16
|
size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
15
17
|
/** Semantic styling variant */
|
|
16
|
-
flavor?:
|
|
18
|
+
flavor?: ShadedFlavor | (string & {});
|
|
17
19
|
/**
|
|
18
20
|
* Fires when switch state changes (React convention)
|
|
19
21
|
* Maps to native 'input' event from ty-switch
|
|
@@ -32,4 +34,5 @@ export interface TySwitchEventDetail {
|
|
|
32
34
|
originalEvent: Event;
|
|
33
35
|
}
|
|
34
36
|
export declare const TySwitch: React.ForwardRefExoticComponent<TySwitchProps & React.RefAttributes<HTMLElement>>;
|
|
37
|
+
export {};
|
|
35
38
|
//# sourceMappingURL=TySwitch.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TySwitch.d.ts","sourceRoot":"","sources":["../../src/components/TySwitch.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAIjD,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IACpG,yBAAyB;IACzB,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,oCAAoC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,sBAAsB;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,yBAAyB;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,kBAAkB;IAClB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAExC,+BAA+B;IAC/B,MAAM,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"TySwitch.d.ts","sourceRoot":"","sources":["../../src/components/TySwitch.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAIjD,KAAK,aAAa,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;AAC5F,KAAK,YAAY,GAAG,aAAa,GAAG,GAAG,aAAa,GAAG,GAAG,GAAG,aAAa,GAAG,CAAC;AAE9E,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IACpG,yBAAyB;IACzB,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,oCAAoC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,sBAAsB;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,yBAAyB;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,kBAAkB;IAClB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAExC,+BAA+B;IAC/B,MAAM,CAAC,EAAE,YAAY,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;IAEtC;;;OAGG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,mBAAmB,CAAC,KAAK,IAAI,CAAC;IAE7D;;;OAGG;IACH,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,mBAAmB,CAAC,KAAK,IAAI,CAAC;CACpE;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,aAAa,EAAE,KAAK,CAAC;CACtB;AAED,eAAO,MAAM,QAAQ,mFAkEpB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TySwitch.js","sourceRoot":"","sources":["../../src/components/TySwitch.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"TySwitch.js","sourceRoot":"","sources":["../../src/components/TySwitch.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
+
type BuiltinFlavor = 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'neutral';
|
|
3
|
+
type ShadedFlavor = BuiltinFlavor | `${BuiltinFlavor}+` | `${BuiltinFlavor}-`;
|
|
2
4
|
export interface TyTagCSSProperties extends React.CSSProperties {
|
|
3
5
|
'--tag-bg'?: string;
|
|
4
6
|
'--tag-color'?: string;
|
|
5
7
|
'--tag-border-color'?: string;
|
|
6
8
|
}
|
|
7
9
|
export interface TyTagProps extends Omit<React.HTMLAttributes<HTMLElement>, 'style' | 'onClick'> {
|
|
8
|
-
flavor?:
|
|
10
|
+
flavor?: ShadedFlavor | (string & {});
|
|
9
11
|
size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
10
12
|
notPill?: boolean;
|
|
11
13
|
clickable?: boolean;
|
|
@@ -19,4 +21,5 @@ export interface TyTagProps extends Omit<React.HTMLAttributes<HTMLElement>, 'sty
|
|
|
19
21
|
children?: React.ReactNode;
|
|
20
22
|
}
|
|
21
23
|
export declare const TyTag: React.ForwardRefExoticComponent<TyTagProps & React.RefAttributes<HTMLElement>>;
|
|
24
|
+
export {};
|
|
22
25
|
//# sourceMappingURL=TyTag.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TyTag.d.ts","sourceRoot":"","sources":["../../src/components/TyTag.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyC,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"TyTag.d.ts","sourceRoot":"","sources":["../../src/components/TyTag.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyC,MAAM,OAAO,CAAC;AAI9D,KAAK,aAAa,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;AAC5F,KAAK,YAAY,GAAG,aAAa,GAAG,GAAG,aAAa,GAAG,GAAG,GAAG,aAAa,GAAG,CAAC;AAG9E,MAAM,WAAW,kBAAmB,SAAQ,KAAK,CAAC,aAAa;IAC7D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAGD,MAAM,WAAW,UAAW,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9F,MAAM,CAAC,EAAE,YAAY,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;IACtC,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IACxC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,kBAAkB,CAAC;IAE3B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IACvC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IAC5C,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAGD,eAAO,MAAM,KAAK,gFAuDjB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TyTag.js","sourceRoot":"","sources":["../../src/components/TyTag.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"TyTag.js","sourceRoot":"","sources":["../../src/components/TyTag.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
+
type BuiltinFlavor = 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'neutral';
|
|
3
|
+
type ShadedFlavor = BuiltinFlavor | `${BuiltinFlavor}+` | `${BuiltinFlavor}-`;
|
|
2
4
|
export interface TyTooltipProps extends React.HTMLAttributes<HTMLElement> {
|
|
3
5
|
/** Tooltip positioning relative to the parent element */
|
|
4
6
|
placement?: 'top' | 'bottom' | 'left' | 'right';
|
|
@@ -9,9 +11,10 @@ export interface TyTooltipProps extends React.HTMLAttributes<HTMLElement> {
|
|
|
9
11
|
/** Disable the tooltip */
|
|
10
12
|
disabled?: boolean;
|
|
11
13
|
/** Semantic styling variant */
|
|
12
|
-
flavor?: 'dark' | 'light' | '
|
|
14
|
+
flavor?: 'dark' | 'light' | 'info' | ShadedFlavor | (string & {});
|
|
13
15
|
/** Tooltip content */
|
|
14
16
|
children?: React.ReactNode;
|
|
15
17
|
}
|
|
16
18
|
export declare const TyTooltip: React.ForwardRefExoticComponent<TyTooltipProps & React.RefAttributes<HTMLElement>>;
|
|
19
|
+
export {};
|
|
17
20
|
//# sourceMappingURL=TyTooltip.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TyTooltip.d.ts","sourceRoot":"","sources":["../../src/components/TyTooltip.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"TyTooltip.d.ts","sourceRoot":"","sources":["../../src/components/TyTooltip.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAIjD,KAAK,aAAa,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;AAC5F,KAAK,YAAY,GAAG,aAAa,GAAG,GAAG,aAAa,GAAG,GAAG,GAAG,aAAa,GAAG,CAAC;AAG9E,MAAM,WAAW,cAAe,SAAQ,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC;IACvE,yDAAyD;IACzD,SAAS,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;IAEhD,8DAA8D;IAC9D,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,kEAAkE;IAClE,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,+BAA+B;IAC/B,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,YAAY,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;IAElE,sBAAsB;IACtB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAGD,eAAO,MAAM,SAAS,oFAuDrB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TyTooltip.js","sourceRoot":"","sources":["../../src/components/TyTooltip.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"TyTooltip.js","sourceRoot":"","sources":["../../src/components/TyTooltip.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AA0B/D,6CAA6C;AAC7C,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CACvC,CAAC,EACC,SAAS,EACT,MAAM,EACN,KAAK,EACL,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,GAAG,EAAE,EAAE;IACR,MAAM,UAAU,GAAG,MAAM,CAAc,IAAI,CAAC,CAAC;IAE7C,wBAAwB;IACxB,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,GAAG,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;YAC9B,IAAI,OAAO,GAAG,KAAK,UAAU,EAAE,CAAC;gBAC9B,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAC1B,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;YACnC,CAAC;QACH,CAAC;IACH,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAEV,kDAAkD;IAClD,MAAM,iBAAiB,GAAwB;QAC7C,GAAG,SAAS,CAAC,KAAK,CAAC;QACnB,GAAG,EAAE,UAAU;KAChB,CAAC;IAEF,mDAAmD;IACnD,IAAI,SAAS,EAAE,CAAC;QACd,iBAAiB,CAAC,SAAS,GAAG,SAAS,CAAC;IAC1C,CAAC;IAED,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,iBAAiB,CAAC,MAAM,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC/C,CAAC;IAED,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,iBAAiB,CAAC,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC7C,CAAC;IAED,MAAM,UAAU,GAAG,kBAAkB,CAAC,UAAU,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;IACxE,IAAI,UAAU;QAAE,iBAAiB,CAAC,QAAQ,GAAG,EAAE,CAAC;IAEhD,IAAI,MAAM,EAAE,CAAC;QACX,iBAAiB,CAAC,MAAM,GAAG,MAAM,CAAC;IACpC,CAAC;IAED,OAAO,KAAK,CAAC,aAAa,CACxB,YAAY,EACZ,iBAAiB,EACjB,QAAQ,CACT,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,SAAS,CAAC,WAAW,GAAG,WAAW,CAAC"}
|
package/dist/version.d.ts
CHANGED
package/dist/version.js
CHANGED
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
// Generated from package.json by scripts/generate-version.js
|
|
3
3
|
// Run 'npm run generate:version' to regenerate.
|
|
4
4
|
/** Current version of tyrell-react. Synced with package.json on build. */
|
|
5
|
-
export const VERSION = '1.0.0-
|
|
5
|
+
export const VERSION = '1.0.0-TC32';
|
|
6
6
|
//# sourceMappingURL=version.js.map
|
package/package.json
CHANGED
|
@@ -3,6 +3,9 @@ import { hostProps } from '../utils/host-props';
|
|
|
3
3
|
import { needsPropertyBridge } from '../utils/react-version';
|
|
4
4
|
import { useBooleanProperty } from '../utils/use-boolean-prop';
|
|
5
5
|
|
|
6
|
+
type BuiltinFlavor = 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'neutral';
|
|
7
|
+
type ShadedFlavor = BuiltinFlavor | `${BuiltinFlavor}+` | `${BuiltinFlavor}-`;
|
|
8
|
+
|
|
6
9
|
// Type definitions for Ty Calendar component
|
|
7
10
|
export interface TyCalendarChangeEventDetail {
|
|
8
11
|
/** Selected month (1-12) */
|
|
@@ -48,7 +51,10 @@ export interface TyCalendarProps extends Omit<React.HTMLAttributes<HTMLElement>,
|
|
|
48
51
|
|
|
49
52
|
/** Calendar size */
|
|
50
53
|
size?: 'sm' | 'md' | 'lg';
|
|
51
|
-
|
|
54
|
+
|
|
55
|
+
/** Visual flavor for the selected/today day cells (nav stays neutral chrome) */
|
|
56
|
+
flavor?: ShadedFlavor | (string & {});
|
|
57
|
+
|
|
52
58
|
/** Locale for date formatting */
|
|
53
59
|
locale?: string;
|
|
54
60
|
|
|
@@ -101,6 +107,7 @@ export const TyCalendar = React.forwardRef<HTMLElement, TyCalendarProps>(
|
|
|
101
107
|
showNavigation,
|
|
102
108
|
stateless,
|
|
103
109
|
size,
|
|
110
|
+
flavor,
|
|
104
111
|
locale,
|
|
105
112
|
width,
|
|
106
113
|
min,
|
|
@@ -238,6 +245,10 @@ export const TyCalendar = React.forwardRef<HTMLElement, TyCalendarProps>(
|
|
|
238
245
|
webComponentProps.size = size;
|
|
239
246
|
}
|
|
240
247
|
|
|
248
|
+
if (flavor) {
|
|
249
|
+
webComponentProps.flavor = flavor;
|
|
250
|
+
}
|
|
251
|
+
|
|
241
252
|
if (locale) {
|
|
242
253
|
webComponentProps.locale = locale;
|
|
243
254
|
}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import React, { useEffect, useRef } from 'react';
|
|
2
2
|
import { hostProps } from '../utils/host-props';
|
|
3
3
|
|
|
4
|
+
type BuiltinFlavor = 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'neutral';
|
|
5
|
+
type ShadedFlavor = BuiltinFlavor | `${BuiltinFlavor}+` | `${BuiltinFlavor}-`;
|
|
6
|
+
|
|
4
7
|
// Type definitions for Ty Calendar Month component
|
|
5
8
|
export interface TyCalendarMonthProps extends React.HTMLAttributes<HTMLElement> {
|
|
6
9
|
/** Display year */
|
|
@@ -14,7 +17,10 @@ export interface TyCalendarMonthProps extends React.HTMLAttributes<HTMLElement>
|
|
|
14
17
|
|
|
15
18
|
/** Calendar size */
|
|
16
19
|
size?: 'sm' | 'md' | 'lg';
|
|
17
|
-
|
|
20
|
+
|
|
21
|
+
/** Visual flavor for the selected/today day cells */
|
|
22
|
+
flavor?: ShadedFlavor | (string & {});
|
|
23
|
+
|
|
18
24
|
/** Width of calendar */
|
|
19
25
|
width?: string;
|
|
20
26
|
|
|
@@ -53,6 +59,7 @@ export const TyCalendarMonth = React.forwardRef<HTMLElement, TyCalendarMonthProp
|
|
|
53
59
|
displayMonth,
|
|
54
60
|
locale,
|
|
55
61
|
size,
|
|
62
|
+
flavor,
|
|
56
63
|
width,
|
|
57
64
|
minWidth,
|
|
58
65
|
maxWidth,
|
|
@@ -103,6 +110,7 @@ export const TyCalendarMonth = React.forwardRef<HTMLElement, TyCalendarMonthProp
|
|
|
103
110
|
if (displayMonth !== undefined) webComponentProps['display-month'] = displayMonth;
|
|
104
111
|
if (locale) webComponentProps.locale = locale;
|
|
105
112
|
if (size) webComponentProps.size = size;
|
|
113
|
+
if (flavor) webComponentProps.flavor = flavor;
|
|
106
114
|
if (width) webComponentProps.width = width;
|
|
107
115
|
if (min) webComponentProps.min = min;
|
|
108
116
|
if (max) webComponentProps.max = max;
|
|
@@ -2,6 +2,9 @@ import React, { useEffect, useRef } from 'react';
|
|
|
2
2
|
import { hostProps } from '../utils/host-props';
|
|
3
3
|
import { useBooleanProperty } from '../utils/use-boolean-prop';
|
|
4
4
|
|
|
5
|
+
type BuiltinFlavor = 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'neutral';
|
|
6
|
+
type ShadedFlavor = BuiltinFlavor | `${BuiltinFlavor}+` | `${BuiltinFlavor}-`;
|
|
7
|
+
|
|
5
8
|
// Type definitions for Ty Checkbox component
|
|
6
9
|
export interface TyCheckboxProps extends Omit<React.HTMLAttributes<HTMLElement>, 'onChange' | 'onInput'> {
|
|
7
10
|
/** Checked state */
|
|
@@ -29,7 +32,7 @@ export interface TyCheckboxProps extends Omit<React.HTMLAttributes<HTMLElement>,
|
|
|
29
32
|
size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
30
33
|
|
|
31
34
|
/** Semantic styling variant */
|
|
32
|
-
flavor?:
|
|
35
|
+
flavor?: ShadedFlavor | (string & {});
|
|
33
36
|
|
|
34
37
|
/**
|
|
35
38
|
* Fires when checkbox state changes (React convention)
|
|
@@ -2,6 +2,9 @@ import React, { useEffect, useRef } from 'react';
|
|
|
2
2
|
import { hostProps } from '../utils/host-props';
|
|
3
3
|
import { useBooleanProperty } from '../utils/use-boolean-prop';
|
|
4
4
|
|
|
5
|
+
type BuiltinFlavor = 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'neutral';
|
|
6
|
+
type ShadedFlavor = BuiltinFlavor | `${BuiltinFlavor}+` | `${BuiltinFlavor}-`;
|
|
7
|
+
|
|
5
8
|
// Type definitions for Ty Copy component
|
|
6
9
|
export interface TyCopyProps extends Omit<React.HTMLAttributes<HTMLElement>, 'onChange'> {
|
|
7
10
|
/** Text to copy */
|
|
@@ -14,7 +17,7 @@ export interface TyCopyProps extends Omit<React.HTMLAttributes<HTMLElement>, 'on
|
|
|
14
17
|
size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
15
18
|
|
|
16
19
|
/** Semantic styling variant */
|
|
17
|
-
flavor?:
|
|
20
|
+
flavor?: ShadedFlavor | (string & {});
|
|
18
21
|
|
|
19
22
|
/** Display format */
|
|
20
23
|
format?: 'text' | 'code';
|
|
@@ -3,6 +3,9 @@ import { hostProps } from '../utils/host-props';
|
|
|
3
3
|
import { needsPropertyBridge } from '../utils/react-version';
|
|
4
4
|
import { useBooleanProperty } from '../utils/use-boolean-prop';
|
|
5
5
|
|
|
6
|
+
type BuiltinFlavor = 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'neutral';
|
|
7
|
+
type ShadedFlavor = BuiltinFlavor | `${BuiltinFlavor}+` | `${BuiltinFlavor}-`;
|
|
8
|
+
|
|
6
9
|
// Type definitions for Ty DatePicker component
|
|
7
10
|
export interface TyDatePickerEventDetail {
|
|
8
11
|
/** The selected date value (ISO string or formatted string based on format) */
|
|
@@ -19,11 +22,11 @@ export interface TyDatePickerProps extends Omit<React.HTMLAttributes<HTMLElement
|
|
|
19
22
|
/** The selected date value (ISO string or formatted string) */
|
|
20
23
|
value?: string;
|
|
21
24
|
|
|
22
|
-
/**
|
|
25
|
+
/** Field size — fields come in exactly three; legacy xs/xl map to sm/lg */
|
|
23
26
|
size?: 'sm' | 'md' | 'lg';
|
|
24
27
|
|
|
25
|
-
/** Visual flavor
|
|
26
|
-
flavor?: 'default' |
|
|
28
|
+
/** Visual flavor — built-in semantic, +/- shade, or a custom flavor backed by --ty-*-X tokens. Also tints the popup calendar's selected/today day. */
|
|
29
|
+
flavor?: 'default' | ShadedFlavor | (string & {});
|
|
27
30
|
|
|
28
31
|
/** Label text displayed above the input */
|
|
29
32
|
label?: string;
|
|
@@ -3,6 +3,9 @@ import { hostProps } from '../utils/host-props';
|
|
|
3
3
|
import { needsPropertyBridge } from '../utils/react-version';
|
|
4
4
|
import { useBooleanProperty } from '../utils/use-boolean-prop';
|
|
5
5
|
|
|
6
|
+
type BuiltinFlavor = 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'neutral';
|
|
7
|
+
type ShadedFlavor = BuiltinFlavor | `${BuiltinFlavor}+` | `${BuiltinFlavor}-`;
|
|
8
|
+
|
|
6
9
|
// Event detail structure for ty-input events
|
|
7
10
|
export interface TyInputEventDetail {
|
|
8
11
|
value: any; // shadow value (processed/parsed)
|
|
@@ -32,10 +35,11 @@ export interface TyInputProps extends Omit<React.HTMLAttributes<HTMLElement>, 'o
|
|
|
32
35
|
| 'currency' | 'percent' | 'compact';
|
|
33
36
|
|
|
34
37
|
/** Semantic styling variant */
|
|
35
|
-
flavor?:
|
|
38
|
+
flavor?: ShadedFlavor | (string & {});
|
|
36
39
|
|
|
37
40
|
/** Input size */
|
|
38
|
-
size
|
|
41
|
+
/** Field size — fields come in exactly three; legacy xs/xl map to sm/lg */
|
|
42
|
+
size?: 'sm' | 'md' | 'lg';
|
|
39
43
|
|
|
40
44
|
/** Input value */
|
|
41
45
|
value?: string;
|
|
@@ -33,6 +33,12 @@ export interface TyModalProps extends React.HTMLAttributes<HTMLElement> {
|
|
|
33
33
|
/** Allow closing modal with Escape key (default: true) */
|
|
34
34
|
closeOnEscape?: boolean;
|
|
35
35
|
|
|
36
|
+
/**
|
|
37
|
+
* Accessible name — sets aria-label on the internal <dialog>. The dialog
|
|
38
|
+
* gets role="dialog" for free, but nothing names it unless you set this.
|
|
39
|
+
*/
|
|
40
|
+
label?: string;
|
|
41
|
+
|
|
36
42
|
/** React event handlers */
|
|
37
43
|
onOpen?: (event: CustomEvent<TyModalEventDetail>) => void;
|
|
38
44
|
onClose?: (event: CustomEvent<TyModalEventDetail>) => void;
|
|
@@ -65,6 +71,7 @@ export const TyModal = React.forwardRef<TyModalRef, TyModalProps>(
|
|
|
65
71
|
backdrop,
|
|
66
72
|
closeOnOutsideClick,
|
|
67
73
|
closeOnEscape,
|
|
74
|
+
label,
|
|
68
75
|
onOpen,
|
|
69
76
|
onClose,
|
|
70
77
|
onBeforeClose,
|
|
@@ -184,6 +191,7 @@ export const TyModal = React.forwardRef<TyModalRef, TyModalProps>(
|
|
|
184
191
|
if (closeOnEscape !== undefined && !coerceBool(closeOnEscape)) {
|
|
185
192
|
webComponentProps['close-on-escape'] = 'false';
|
|
186
193
|
}
|
|
194
|
+
if (label) webComponentProps.label = label;
|
|
187
195
|
|
|
188
196
|
return React.createElement(
|
|
189
197
|
'ty-modal',
|
|
@@ -2,6 +2,9 @@ import React, { useEffect, useRef } from 'react';
|
|
|
2
2
|
import { hostProps } from '../utils/host-props';
|
|
3
3
|
import { useBooleanProperty } from '../utils/use-boolean-prop';
|
|
4
4
|
|
|
5
|
+
type BuiltinFlavor = 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'neutral';
|
|
6
|
+
type ShadedFlavor = BuiltinFlavor | `${BuiltinFlavor}+` | `${BuiltinFlavor}-`;
|
|
7
|
+
|
|
5
8
|
export interface TyRadioProps extends React.HTMLAttributes<HTMLElement> {
|
|
6
9
|
/** Form field value (selected by parent ty-radio-group when matches its `value`) */
|
|
7
10
|
value?: string;
|
|
@@ -19,7 +22,7 @@ export interface TyRadioProps extends React.HTMLAttributes<HTMLElement> {
|
|
|
19
22
|
size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
20
23
|
|
|
21
24
|
/** Semantic styling variant — typically inherited from the parent group */
|
|
22
|
-
flavor?:
|
|
25
|
+
flavor?: ShadedFlavor | (string & {});
|
|
23
26
|
|
|
24
27
|
/** Label content (wrap in a `<label>` for click delegation, see ty-radio docs) */
|
|
25
28
|
children?: React.ReactNode;
|
|
@@ -2,6 +2,9 @@ import React, { useEffect, useRef } from 'react';
|
|
|
2
2
|
import { hostProps } from '../utils/host-props';
|
|
3
3
|
import { useBooleanProperty } from '../utils/use-boolean-prop';
|
|
4
4
|
|
|
5
|
+
type BuiltinFlavor = 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'neutral';
|
|
6
|
+
type ShadedFlavor = BuiltinFlavor | `${BuiltinFlavor}+` | `${BuiltinFlavor}-`;
|
|
7
|
+
|
|
5
8
|
export interface TyRadioGroupProps extends Omit<React.HTMLAttributes<HTMLElement>, 'onChange' | 'onInput'> {
|
|
6
9
|
/** Currently selected value (matches one child `<TyRadio value="...">`) */
|
|
7
10
|
value?: string;
|
|
@@ -28,7 +31,7 @@ export interface TyRadioGroupProps extends Omit<React.HTMLAttributes<HTMLElement
|
|
|
28
31
|
size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
29
32
|
|
|
30
33
|
/** Group flavor — propagates to all `<TyRadio>` children */
|
|
31
|
-
flavor?:
|
|
34
|
+
flavor?: ShadedFlavor | (string & {});
|
|
32
35
|
|
|
33
36
|
/**
|
|
34
37
|
* Fires when selection changes (React convention)
|
|
@@ -3,6 +3,9 @@ import { hostProps } from '../utils/host-props';
|
|
|
3
3
|
import { needsPropertyBridge } from '../utils/react-version';
|
|
4
4
|
import { useBooleanProperty } from '../utils/use-boolean-prop';
|
|
5
5
|
|
|
6
|
+
type BuiltinFlavor = 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'neutral';
|
|
7
|
+
type ShadedFlavor = BuiltinFlavor | `${BuiltinFlavor}+` | `${BuiltinFlavor}-`;
|
|
8
|
+
|
|
6
9
|
// Type definitions for Ty Select component
|
|
7
10
|
export interface TySelectItem {
|
|
8
11
|
value: string;
|
|
@@ -68,12 +71,31 @@ export interface TySelectProps extends Omit<React.HTMLAttributes<HTMLElement>, '
|
|
|
68
71
|
/** Debounce for the search event in ms (0-5000) */
|
|
69
72
|
debounce?: number;
|
|
70
73
|
|
|
74
|
+
/**
|
|
75
|
+
* Enter on unmatched search text mints a new <ty-option> (forces the
|
|
76
|
+
* search row on, same as externalSearch). Listen to onCreate to mutate
|
|
77
|
+
* the value before it's created, or preventDefault() to take over
|
|
78
|
+
* entirely (e.g. after a server round-trip).
|
|
79
|
+
*/
|
|
80
|
+
allowCreate?: boolean;
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* Opt-in normalizer for the value allowCreate mints — the display label
|
|
84
|
+
* is always kept verbatim. 'slug': lowercase, spaces → '_', strips
|
|
85
|
+
* everything else non-alphanumeric. Default: value === typed text.
|
|
86
|
+
*/
|
|
87
|
+
createTransform?: 'slug';
|
|
88
|
+
|
|
71
89
|
/** Loading state — shows a spinner in the options area (external search in flight) */
|
|
72
90
|
loading?: boolean;
|
|
73
91
|
|
|
74
92
|
/** Size variant */
|
|
93
|
+
/** Field size — fields come in exactly three; legacy xs/xl map to sm/lg */
|
|
75
94
|
size?: 'sm' | 'md' | 'lg';
|
|
76
95
|
|
|
96
|
+
/** Visual flavor for the field border — built-in semantic, +/- shade, or a custom flavor backed by --ty-*-X tokens */
|
|
97
|
+
flavor?: ShadedFlavor | (string & {});
|
|
98
|
+
|
|
77
99
|
/** Callback when selection changes */
|
|
78
100
|
onChange?: (event: CustomEvent<TySelectEventDetail>) => void;
|
|
79
101
|
|
|
@@ -82,6 +104,13 @@ export interface TySelectProps extends Omit<React.HTMLAttributes<HTMLElement>, '
|
|
|
82
104
|
onOpen?: (event: CustomEvent) => void;
|
|
83
105
|
onClose?: (event: CustomEvent) => void;
|
|
84
106
|
|
|
107
|
+
/**
|
|
108
|
+
* Fired before allowCreate mints a new option — cancelable. Mutate
|
|
109
|
+
* `event.detail.value` to change the id that gets created (e.g. slugify
|
|
110
|
+
* it yourself), or call `event.preventDefault()` to create it yourself.
|
|
111
|
+
*/
|
|
112
|
+
onCreate?: (event: CustomEvent<{ value: string; label: string }>) => void;
|
|
113
|
+
|
|
85
114
|
/** TyOption children (plus optional slot="trigger" / slot="start" / slot="end" elements) */
|
|
86
115
|
children?: React.ReactNode;
|
|
87
116
|
}
|
|
@@ -101,12 +130,16 @@ export const TySelect = React.forwardRef<HTMLElement, TySelectProps>(
|
|
|
101
130
|
searchable,
|
|
102
131
|
externalSearch,
|
|
103
132
|
debounce,
|
|
133
|
+
allowCreate,
|
|
134
|
+
createTransform,
|
|
104
135
|
loading,
|
|
105
136
|
size,
|
|
137
|
+
flavor,
|
|
106
138
|
onChange,
|
|
107
139
|
onSearch,
|
|
108
140
|
onOpen,
|
|
109
141
|
onClose,
|
|
142
|
+
onCreate,
|
|
110
143
|
children,
|
|
111
144
|
...props
|
|
112
145
|
}, ref) => {
|
|
@@ -146,6 +179,9 @@ export const TySelect = React.forwardRef<HTMLElement, TySelectProps>(
|
|
|
146
179
|
|
|
147
180
|
const handleOpen = useCallback((event: Event) => { if (onOpen) onOpen(event as CustomEvent); }, [onOpen]);
|
|
148
181
|
const handleClose = useCallback((event: Event) => { if (onClose) onClose(event as CustomEvent); }, [onClose]);
|
|
182
|
+
const handleCreate = useCallback((event: Event) => {
|
|
183
|
+
if (onCreate) onCreate(event as CustomEvent<{ value: string; label: string }>);
|
|
184
|
+
}, [onCreate]);
|
|
149
185
|
|
|
150
186
|
// Set up event listeners
|
|
151
187
|
useEffect(() => {
|
|
@@ -156,14 +192,16 @@ export const TySelect = React.forwardRef<HTMLElement, TySelectProps>(
|
|
|
156
192
|
if (onSearch) element.addEventListener('search', handleSearch);
|
|
157
193
|
if (onOpen) element.addEventListener('open', handleOpen);
|
|
158
194
|
if (onClose) element.addEventListener('close', handleClose);
|
|
195
|
+
if (onCreate) element.addEventListener('create', handleCreate);
|
|
159
196
|
|
|
160
197
|
return () => {
|
|
161
198
|
if (onChange) element.removeEventListener('change', handleChange);
|
|
162
199
|
if (onSearch) element.removeEventListener('search', handleSearch);
|
|
163
200
|
if (onOpen) element.removeEventListener('open', handleOpen);
|
|
164
201
|
if (onClose) element.removeEventListener('close', handleClose);
|
|
202
|
+
if (onCreate) element.removeEventListener('create', handleCreate);
|
|
165
203
|
};
|
|
166
|
-
}, [handleChange, handleSearch, handleOpen, handleClose, onChange, onSearch, onOpen, onClose]);
|
|
204
|
+
}, [handleChange, handleSearch, handleOpen, handleClose, handleCreate, onChange, onSearch, onOpen, onClose, onCreate]);
|
|
167
205
|
|
|
168
206
|
// Imperative property sync for boolean props (see use-boolean-prop.ts).
|
|
169
207
|
const isMultiple = useBooleanProperty(elementRef, 'multiple', multiple);
|
|
@@ -173,6 +211,7 @@ export const TySelect = React.forwardRef<HTMLElement, TySelectProps>(
|
|
|
173
211
|
const isRequired = useBooleanProperty(elementRef, 'required', required);
|
|
174
212
|
const isLoading = useBooleanProperty(elementRef, 'loading', loading);
|
|
175
213
|
const isExternalSearch = useBooleanProperty(elementRef, 'externalSearch', externalSearch);
|
|
214
|
+
const isAllowCreate = useBooleanProperty(elementRef, 'allowCreate', allowCreate);
|
|
176
215
|
|
|
177
216
|
// Convert React props to web component attributes
|
|
178
217
|
const webComponentProps: Record<string, any> = {
|
|
@@ -192,12 +231,15 @@ export const TySelect = React.forwardRef<HTMLElement, TySelectProps>(
|
|
|
192
231
|
if (isRequired) webComponentProps.required = '';
|
|
193
232
|
if (isLoading) webComponentProps.loading = '';
|
|
194
233
|
if (isExternalSearch) webComponentProps['external-search'] = '';
|
|
234
|
+
if (isAllowCreate) webComponentProps['allow-create'] = '';
|
|
195
235
|
|
|
196
236
|
if (placeholder) webComponentProps.placeholder = placeholder;
|
|
197
237
|
if (label) webComponentProps.label = label;
|
|
198
238
|
if (name) webComponentProps.name = name;
|
|
199
239
|
if (size) webComponentProps.size = size;
|
|
240
|
+
if (flavor) webComponentProps.flavor = flavor;
|
|
200
241
|
if (debounce !== undefined) webComponentProps.debounce = debounce.toString();
|
|
242
|
+
if (createTransform) webComponentProps['create-transform'] = createTransform;
|
|
201
243
|
if (searchable === 'always' || searchable === true) webComponentProps.searchable = 'true';
|
|
202
244
|
else if (searchable === 'never' || searchable === false) webComponentProps.searchable = 'false';
|
|
203
245
|
// 'auto' / undefined → omit (component default)
|
|
@@ -2,6 +2,9 @@ import React, { useEffect, useRef } from 'react';
|
|
|
2
2
|
import { hostProps } from '../utils/host-props';
|
|
3
3
|
import { useBooleanProperty } from '../utils/use-boolean-prop';
|
|
4
4
|
|
|
5
|
+
type BuiltinFlavor = 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'neutral';
|
|
6
|
+
type ShadedFlavor = BuiltinFlavor | `${BuiltinFlavor}+` | `${BuiltinFlavor}-`;
|
|
7
|
+
|
|
5
8
|
export interface TySwitchProps extends Omit<React.HTMLAttributes<HTMLElement>, 'onChange' | 'onInput'> {
|
|
6
9
|
/** Checked (on) state */
|
|
7
10
|
checked?: boolean;
|
|
@@ -22,7 +25,7 @@ export interface TySwitchProps extends Omit<React.HTMLAttributes<HTMLElement>, '
|
|
|
22
25
|
size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
23
26
|
|
|
24
27
|
/** Semantic styling variant */
|
|
25
|
-
flavor?:
|
|
28
|
+
flavor?: ShadedFlavor | (string & {});
|
|
26
29
|
|
|
27
30
|
/**
|
|
28
31
|
* Fires when switch state changes (React convention)
|