tyrell-react 1.0.0-TC45 → 1.0.0-TC46

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. package/dist/components/TyCalendar.d.ts.map +1 -1
  2. package/dist/components/TyCalendar.js +0 -8
  3. package/dist/components/TyCalendar.js.map +1 -1
  4. package/dist/components/TyCalendarMonth.d.ts.map +1 -1
  5. package/dist/components/TyCalendarMonth.js +0 -5
  6. package/dist/components/TyCalendarMonth.js.map +1 -1
  7. package/dist/components/TyCalendarNavigation.d.ts.map +1 -1
  8. package/dist/components/TyCalendarNavigation.js +0 -5
  9. package/dist/components/TyCalendarNavigation.js.map +1 -1
  10. package/dist/components/TyCheckbox.d.ts.map +1 -1
  11. package/dist/components/TyCheckbox.js +0 -8
  12. package/dist/components/TyCheckbox.js.map +1 -1
  13. package/dist/components/TyCopy.d.ts.map +1 -1
  14. package/dist/components/TyCopy.js +0 -6
  15. package/dist/components/TyCopy.js.map +1 -1
  16. package/dist/components/TyDatePicker.d.ts.map +1 -1
  17. package/dist/components/TyDatePicker.js +0 -7
  18. package/dist/components/TyDatePicker.js.map +1 -1
  19. package/dist/components/TyFileUpload.d.ts.map +1 -1
  20. package/dist/components/TyFileUpload.js +0 -1
  21. package/dist/components/TyFileUpload.js.map +1 -1
  22. package/dist/components/TyIcon.d.ts.map +1 -1
  23. package/dist/components/TyIcon.js +0 -4
  24. package/dist/components/TyIcon.js.map +1 -1
  25. package/dist/components/TyInput.d.ts.map +1 -1
  26. package/dist/components/TyInput.js +0 -10
  27. package/dist/components/TyInput.js.map +1 -1
  28. package/dist/components/TyModal.d.ts.map +1 -1
  29. package/dist/components/TyModal.js +0 -6
  30. package/dist/components/TyModal.js.map +1 -1
  31. package/dist/components/TyOption.d.ts.map +1 -1
  32. package/dist/components/TyOption.js +0 -2
  33. package/dist/components/TyOption.js.map +1 -1
  34. package/dist/components/TyPopup.d.ts.map +1 -1
  35. package/dist/components/TyPopup.js +0 -4
  36. package/dist/components/TyPopup.js.map +1 -1
  37. package/dist/components/TyResizeObserver.d.ts.map +1 -1
  38. package/dist/components/TyResizeObserver.js +0 -4
  39. package/dist/components/TyResizeObserver.js.map +1 -1
  40. package/dist/components/TyScrollContainer.d.ts.map +1 -1
  41. package/dist/components/TyScrollContainer.js +0 -6
  42. package/dist/components/TyScrollContainer.js.map +1 -1
  43. package/dist/components/TySelect.d.ts.map +1 -1
  44. package/dist/components/TySelect.js +0 -6
  45. package/dist/components/TySelect.js.map +1 -1
  46. package/dist/components/TyStep.d.ts.map +1 -1
  47. package/dist/components/TyStep.js +0 -5
  48. package/dist/components/TyStep.js.map +1 -1
  49. package/dist/components/TyTab.d.ts.map +1 -1
  50. package/dist/components/TyTab.js +0 -6
  51. package/dist/components/TyTab.js.map +1 -1
  52. package/dist/components/TyTabs.d.ts.map +1 -1
  53. package/dist/components/TyTabs.js +0 -5
  54. package/dist/components/TyTabs.js.map +1 -1
  55. package/dist/components/TyTag.d.ts.map +1 -1
  56. package/dist/components/TyTag.js +0 -2
  57. package/dist/components/TyTag.js.map +1 -1
  58. package/dist/components/TyTextarea.d.ts.map +1 -1
  59. package/dist/components/TyTextarea.js +0 -6
  60. package/dist/components/TyTextarea.js.map +1 -1
  61. package/dist/components/TyTooltip.d.ts.map +1 -1
  62. package/dist/components/TyTooltip.js +0 -4
  63. package/dist/components/TyTooltip.js.map +1 -1
  64. package/dist/components/TyWizard.d.ts.map +1 -1
  65. package/dist/components/TyWizard.js +0 -5
  66. package/dist/components/TyWizard.js.map +1 -1
  67. package/dist/components/index.d.ts.map +1 -1
  68. package/dist/components/index.js +2 -62
  69. package/dist/components/index.js.map +1 -1
  70. package/dist/version.d.ts +1 -1
  71. package/dist/version.js +1 -1
  72. package/package.json +1 -1
  73. package/src/components/TyCalendar.tsx +0 -9
  74. package/src/components/TyCalendarMonth.tsx +0 -6
  75. package/src/components/TyCalendarNavigation.tsx +0 -6
  76. package/src/components/TyCheckbox.tsx +0 -9
  77. package/src/components/TyCopy.tsx +0 -7
  78. package/src/components/TyDatePicker.tsx +0 -8
  79. package/src/components/TyFileUpload.tsx +0 -2
  80. package/src/components/TyIcon.tsx +0 -5
  81. package/src/components/TyInput.tsx +0 -12
  82. package/src/components/TyModal.tsx +0 -9
  83. package/src/components/TyOption.tsx +0 -3
  84. package/src/components/TyPopup.tsx +0 -6
  85. package/src/components/TyResizeObserver.tsx +0 -5
  86. package/src/components/TyScrollContainer.tsx +0 -8
  87. package/src/components/TySelect.tsx +0 -9
  88. package/src/components/TyStep.tsx +0 -6
  89. package/src/components/TyTab.tsx +0 -7
  90. package/src/components/TyTabs.tsx +0 -6
  91. package/src/components/TyTag.tsx +0 -3
  92. package/src/components/TyTextarea.tsx +0 -8
  93. package/src/components/TyTooltip.tsx +0 -5
  94. package/src/components/TyWizard.tsx +0 -6
  95. package/src/components/index.ts +2 -97
  96. package/src/version.ts +1 -1
@@ -6,7 +6,6 @@ import { useBooleanProperty } from '../utils/use-boolean-prop';
6
6
  type BuiltinFlavor = 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'neutral';
7
7
  type ShadedFlavor = BuiltinFlavor | `${BuiltinFlavor}+` | `${BuiltinFlavor}-`;
8
8
 
9
- // Event detail structure for ty-input events
10
9
  export interface TyInputEventDetail {
11
10
  value: any; // shadow value (processed/parsed)
12
11
  formattedValue: string; // user-visible formatted value
@@ -27,7 +26,6 @@ export interface TyInputCSSProperties extends React.CSSProperties {
27
26
  '--input-disabled-color'?: string;
28
27
  }
29
28
 
30
- // Type definitions for Ty Input component
31
29
  export interface TyInputProps extends Omit<React.HTMLAttributes<HTMLElement>, 'onChange' | 'onFocus' | 'onBlur' | 'style'> {
32
30
  style?: TyInputCSSProperties;
33
31
  /** Input type */
@@ -96,7 +94,6 @@ export interface TyInputProps extends Omit<React.HTMLAttributes<HTMLElement>, 'o
96
94
  // One-time global warning flags so we don't spam the console.
97
95
  let _warnedOnInputProp = false;
98
96
 
99
- // React wrapper for ty-input web component
100
97
  export const TyInput = React.forwardRef<HTMLElement, TyInputProps>(
101
98
  ({ onChange, onChangeCommit, onFocus, onBlur, disabled, required, name, checked, debounce, ...props }, ref) => {
102
99
  const elementRef = useRef<HTMLElement>(null);
@@ -150,18 +147,14 @@ export const TyInput = React.forwardRef<HTMLElement, TyInputProps>(
150
147
  const element = elementRef.current;
151
148
  if (!element) return;
152
149
 
153
- // Listen for custom input/change events from ty-input
154
- // Map onChange → input event (React convention)
155
150
  if (onChange) {
156
151
  element.addEventListener('input', handleInput as EventListener);
157
152
  }
158
153
 
159
- // Map onChangeCommit → change event (blur behavior)
160
154
  if (onChangeCommit) {
161
155
  element.addEventListener('change', handleChangeCommit as EventListener);
162
156
  }
163
157
 
164
- // Listen for standard focus/blur events
165
158
  if (onFocus) {
166
159
  element.addEventListener('focus', handleFocus as EventListener);
167
160
  }
@@ -186,7 +179,6 @@ export const TyInput = React.forwardRef<HTMLElement, TyInputProps>(
186
179
  };
187
180
  }, [handleInput, handleChangeCommit, handleFocus, handleBlur, onChange, onChangeCommit, onFocus, onBlur]);
188
181
 
189
- // Handle ref forwarding
190
182
  useEffect(() => {
191
183
  if (ref && elementRef.current) {
192
184
  if (typeof ref === 'function') {
@@ -217,21 +209,17 @@ export const TyInput = React.forwardRef<HTMLElement, TyInputProps>(
217
209
  const isRequired = useBooleanProperty(elementRef, 'required', required);
218
210
  const isChecked = useBooleanProperty(elementRef, 'checked', checked);
219
211
 
220
- // Convert React props to web component attributes
221
212
  const webComponentProps: Record<string, any> = {
222
213
  ...hostProps(props),
223
214
  ref: elementRef,
224
215
  };
225
216
 
226
- // Add conditional attributes
227
217
  if (isDisabled) webComponentProps.disabled = '';
228
218
  if (isRequired) webComponentProps.required = '';
229
219
  if (isChecked) webComponentProps.checked = '';
230
220
 
231
- // Add string attributes
232
221
  if (name) webComponentProps.name = name;
233
222
 
234
- // Add debounce attribute
235
223
  if (debounce !== undefined) webComponentProps.debounce = debounce;
236
224
 
237
225
  return React.createElement(
@@ -3,7 +3,6 @@ import { hostProps } from '../utils/host-props';
3
3
  import { useBooleanProperty, coerceBool } from '../utils/use-boolean-prop';
4
4
  import { needsPropertyBridge } from '../utils/react-version';
5
5
 
6
- // Event detail structure for modal events
7
6
  export interface TyModalEventDetail {
8
7
  reason?: 'programmatic' | 'native' | 'backdrop' | 'escape' | 'close-button';
9
8
  returnValue?: string;
@@ -19,7 +18,6 @@ export interface TyModalBeforeCloseDetail {
19
18
  reason: 'programmatic' | 'backdrop' | 'escape' | 'close-button' | 'native';
20
19
  }
21
20
 
22
- // Type definitions for Ty Modal component
23
21
  export interface TyModalProps extends React.HTMLAttributes<HTMLElement> {
24
22
  /** Controls modal visibility */
25
23
  open?: boolean;
@@ -52,7 +50,6 @@ export interface TyModalProps extends React.HTMLAttributes<HTMLElement> {
52
50
  children?: React.ReactNode;
53
51
  }
54
52
 
55
- // Ref interface for imperative methods
56
53
  export interface TyModalRef {
57
54
  show: () => void;
58
55
  /**
@@ -64,7 +61,6 @@ export interface TyModalRef {
64
61
  element: HTMLElement | null;
65
62
  }
66
63
 
67
- // React wrapper for ty-modal web component
68
64
  export const TyModal = React.forwardRef<TyModalRef, TyModalProps>(
69
65
  ({
70
66
  open,
@@ -80,7 +76,6 @@ export const TyModal = React.forwardRef<TyModalRef, TyModalProps>(
80
76
  }, ref) => {
81
77
  const elementRef = useRef<HTMLElement>(null);
82
78
 
83
- // Expose imperative methods through ref
84
79
  useImperativeHandle(ref, () => ({
85
80
  show: () => {
86
81
  if (elementRef.current && typeof (elementRef.current as any).show === 'function') {
@@ -95,8 +90,6 @@ export const TyModal = React.forwardRef<TyModalRef, TyModalProps>(
95
90
  element: elementRef.current,
96
91
  }), []);
97
92
 
98
- // Handle modal events.
99
- //
100
93
  // ty-dropdown, ty-multiselect, ty-date-picker etc. dispatch their own
101
94
  // `open`/`close` custom events with `bubbles: true, composed: true` when
102
95
  // their internal popups toggle. Those events bubble up through the
@@ -125,7 +118,6 @@ export const TyModal = React.forwardRef<TyModalRef, TyModalProps>(
125
118
  if (onBeforeClose) onBeforeClose(event);
126
119
  };
127
120
 
128
- // Listen for custom modal events
129
121
  if (onOpen) {
130
122
  element.addEventListener('open', handleOpen as EventListener);
131
123
  }
@@ -172,7 +164,6 @@ export const TyModal = React.forwardRef<TyModalRef, TyModalProps>(
172
164
  setIf('closeOnEscape', closeOnEscape);
173
165
  }, [backdrop, closeOnOutsideClick, closeOnEscape]);
174
166
 
175
- // Convert React props to web component attributes
176
167
  const webComponentProps: Record<string, any> = {
177
168
  ...hostProps(props),
178
169
  ref: elementRef,
@@ -2,7 +2,6 @@ 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 definitions for Ty Option component
6
5
  export interface TyOptionProps extends React.HTMLAttributes<HTMLElement> {
7
6
  value?: string;
8
7
 
@@ -22,12 +21,10 @@ export interface TyOptionProps extends React.HTMLAttributes<HTMLElement> {
22
21
  children?: React.ReactNode;
23
22
  }
24
23
 
25
- // React wrapper for ty-option web component
26
24
  export const TyOption = React.forwardRef<HTMLElement, TyOptionProps>(
27
25
  ({ children, label, flavor, disabled, selected, hidden, ...props }, ref) => {
28
26
  const elementRef = useRef<HTMLElement>(null);
29
27
 
30
- // Handle ref forwarding
31
28
  useEffect(() => {
32
29
  if (ref && elementRef.current) {
33
30
  if (typeof ref === 'function') {
@@ -2,7 +2,6 @@ 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 definitions for Ty Popup component
6
5
  export interface TyPopupProps extends Omit<React.HTMLAttributes<HTMLElement>, 'onClose'> {
7
6
  /** Preferred placement of the popup relative to anchor parent: "top" | "bottom" | "left" | "right" */
8
7
  placement?: 'top' | 'bottom' | 'left' | 'right';
@@ -26,14 +25,12 @@ export interface TyPopupProps extends Omit<React.HTMLAttributes<HTMLElement>, 'o
26
25
  children?: React.ReactNode;
27
26
  }
28
27
 
29
- // Programmatic API for popup control
30
28
  export interface TyPopupElement extends HTMLElement {
31
29
  openPopup(): void;
32
30
  closePopup(): void;
33
31
  togglePopup(): void;
34
32
  }
35
33
 
36
- // React wrapper for ty-popup web component
37
34
  export const TyPopup = React.forwardRef<TyPopupElement, TyPopupProps>(
38
35
  ({
39
36
  placement,
@@ -47,7 +44,6 @@ export const TyPopup = React.forwardRef<TyPopupElement, TyPopupProps>(
47
44
  }, ref) => {
48
45
  const elementRef = useRef<TyPopupElement>(null);
49
46
 
50
- // Handle ref forwarding
51
47
  useEffect(() => {
52
48
  if (ref && elementRef.current) {
53
49
  if (typeof ref === 'function') {
@@ -85,13 +81,11 @@ export const TyPopup = React.forwardRef<TyPopupElement, TyPopupProps>(
85
81
  };
86
82
  }, [onOpen, onClose]);
87
83
 
88
- // Convert React props to web component attributes
89
84
  const webComponentProps: Record<string, any> = {
90
85
  ...hostProps(props),
91
86
  ref: elementRef,
92
87
  };
93
88
 
94
- // Add optional attributes only if they have values
95
89
  if (placement) {
96
90
  webComponentProps.placement = placement;
97
91
  }
@@ -1,7 +1,6 @@
1
1
  import React, { useEffect, useRef } from 'react';
2
2
  import { hostProps } from '../utils/host-props';
3
3
 
4
- // Type definitions for Ty ResizeObserver component
5
4
  export interface TyResizeObserverProps extends React.HTMLAttributes<HTMLElement> {
6
5
  /** Required unique identifier for size registry */
7
6
  id: string;
@@ -13,7 +12,6 @@ export interface TyResizeObserverProps extends React.HTMLAttributes<HTMLElement>
13
12
  children?: React.ReactNode;
14
13
  }
15
14
 
16
- // React wrapper for ty-resize-observer web component
17
15
  export const TyResizeObserver = React.forwardRef<HTMLElement, TyResizeObserverProps>(
18
16
  ({
19
17
  children,
@@ -23,7 +21,6 @@ export const TyResizeObserver = React.forwardRef<HTMLElement, TyResizeObserverPr
23
21
  }, ref) => {
24
22
  const elementRef = useRef<HTMLElement>(null);
25
23
 
26
- // Combine refs if needed
27
24
  useEffect(() => {
28
25
  if (ref && elementRef.current) {
29
26
  if (typeof ref === 'function') {
@@ -34,14 +31,12 @@ export const TyResizeObserver = React.forwardRef<HTMLElement, TyResizeObserverPr
34
31
  }
35
32
  }, [ref]);
36
33
 
37
- // Convert React props to web component attributes
38
34
  const webComponentProps: Record<string, any> = {
39
35
  ...hostProps(props),
40
36
  ref: elementRef,
41
37
  id,
42
38
  };
43
39
 
44
- // Add number attributes
45
40
  if (debounce !== undefined) webComponentProps.debounce = debounce;
46
41
 
47
42
  return React.createElement(
@@ -11,7 +11,6 @@ export interface TyScrollNearEdgeDetail {
11
11
  clientHeight: number;
12
12
  }
13
13
 
14
- // Type definitions for Ty ScrollContainer component
15
14
  export interface TyScrollContainerProps extends React.HTMLAttributes<HTMLElement> {
16
15
  /** Maximum height of the scroll container */
17
16
  maxHeight?: string;
@@ -44,7 +43,6 @@ export interface TyScrollContainerProps extends React.HTMLAttributes<HTMLElement
44
43
  children?: React.ReactNode;
45
44
  }
46
45
 
47
- // Ref interface for imperative methods
48
46
  export interface TyScrollContainerRef {
49
47
  /** Force update shadows (useful after dynamic content changes) */
50
48
  updateShadows: () => void;
@@ -64,7 +62,6 @@ export interface TyScrollContainerRef {
64
62
  element: HTMLElement | null;
65
63
  }
66
64
 
67
- // React wrapper for ty-scroll-container web component
68
65
  export const TyScrollContainer = React.forwardRef<TyScrollContainerRef, TyScrollContainerProps>(
69
66
  ({
70
67
  children,
@@ -81,7 +78,6 @@ export const TyScrollContainer = React.forwardRef<TyScrollContainerRef, TyScroll
81
78
  }, ref) => {
82
79
  const elementRef = useRef<HTMLElement>(null);
83
80
 
84
- // Expose imperative methods via ref
85
81
  useImperativeHandle(ref, () => ({
86
82
  updateShadows: () => { (elementRef.current as any)?.updateShadows?.(); },
87
83
  scrollToTop: (smooth = true) => { (elementRef.current as any)?.scrollToTop?.(smooth); },
@@ -109,7 +105,6 @@ export const TyScrollContainer = React.forwardRef<TyScrollContainerRef, TyScroll
109
105
  const isOverflowX = useBooleanProperty(elementRef, 'overflowX', overflowX);
110
106
  const isScrollAnchoring = useBooleanProperty(elementRef, 'scrollAnchoring', scrollAnchoring);
111
107
 
112
- // Custom events → React callbacks
113
108
  useEffect(() => {
114
109
  const el = elementRef.current;
115
110
  if (!el) return;
@@ -125,17 +120,14 @@ export const TyScrollContainer = React.forwardRef<TyScrollContainerRef, TyScroll
125
120
  return () => bound.forEach(([n, h]) => el.removeEventListener(n, h));
126
121
  }, [onNearEnd, onNearStart]);
127
122
 
128
- // Convert React props to web component attributes
129
123
  const webComponentProps: Record<string, any> = {
130
124
  ...hostProps(props),
131
125
  ref: elementRef,
132
126
  };
133
127
 
134
- // String attributes
135
128
  if (maxHeight) webComponentProps['max-height'] = maxHeight;
136
129
  if (nearEdgeThreshold != null) webComponentProps['near-edge-threshold'] = String(nearEdgeThreshold);
137
130
 
138
- // Boolean attributes
139
131
  if (shadow !== undefined && !coerceBool(shadow)) webComponentProps.shadow = 'false';
140
132
  if (isHideScrollbar) webComponentProps['hide-scrollbar'] = '';
141
133
  if (isCustomScrollbar) webComponentProps['custom-scrollbar'] = '';
@@ -6,7 +6,6 @@ import { useBooleanProperty } from '../utils/use-boolean-prop';
6
6
  type BuiltinFlavor = 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'neutral';
7
7
  type ShadedFlavor = BuiltinFlavor | `${BuiltinFlavor}+` | `${BuiltinFlavor}-`;
8
8
 
9
- // Type definitions for Ty Select component
10
9
  export interface TySelectItem {
11
10
  value: string;
12
11
  label: string;
@@ -126,7 +125,6 @@ export interface TySelectElement extends HTMLElement {
126
125
  clear(): void;
127
126
  }
128
127
 
129
- // React wrapper for ty-select web component
130
128
  export const TySelect = React.forwardRef<TySelectElement, TySelectProps>(
131
129
  ({
132
130
  value,
@@ -158,7 +156,6 @@ export const TySelect = React.forwardRef<TySelectElement, TySelectProps>(
158
156
  }, ref) => {
159
157
  const elementRef = useRef<TySelectElement>(null);
160
158
 
161
- // Handle ref forwarding
162
159
  useEffect(() => {
163
160
  if (ref && elementRef.current) {
164
161
  if (typeof ref === 'function') {
@@ -181,7 +178,6 @@ export const TySelect = React.forwardRef<TySelectElement, TySelectProps>(
181
178
  }
182
179
  }, [value]);
183
180
 
184
- // Handle events
185
181
  const handleChange = useCallback((event: Event) => {
186
182
  if (onChange) onChange(event as CustomEvent<TySelectEventDetail>);
187
183
  }, [onChange]);
@@ -196,7 +192,6 @@ export const TySelect = React.forwardRef<TySelectElement, TySelectProps>(
196
192
  if (onCreate) onCreate(event as CustomEvent<{ value: string; label: string }>);
197
193
  }, [onCreate]);
198
194
 
199
- // Set up event listeners
200
195
  useEffect(() => {
201
196
  const element = elementRef.current;
202
197
  if (!element) return;
@@ -227,13 +222,11 @@ export const TySelect = React.forwardRef<TySelectElement, TySelectProps>(
227
222
  const isAllowCreate = useBooleanProperty(elementRef, 'allowCreate', allowCreate);
228
223
  const isClearable = useBooleanProperty(elementRef, 'clearable', clearable);
229
224
 
230
- // Convert React props to web component attributes
231
225
  const webComponentProps: Record<string, any> = {
232
226
  ...hostProps(props),
233
227
  ref: elementRef,
234
228
  };
235
229
 
236
- // Handle value conversion (array to comma-separated string)
237
230
  if (value !== undefined) {
238
231
  webComponentProps.value = Array.isArray(value) ? value.join(',') : value;
239
232
  }
@@ -266,11 +259,9 @@ export const TySelect = React.forwardRef<TySelectElement, TySelectProps>(
266
259
 
267
260
  TySelect.displayName = 'TySelect';
268
261
 
269
- // ============================================================================
270
262
  // TySelectedOptions — out-of-band chip display for a TySelect
271
263
  // (ty-selected-tags below is the same element under its original tag name,
272
264
  // kept for backward compatibility.)
273
- // ============================================================================
274
265
 
275
266
  export interface TySelectedTagsProps extends React.HTMLAttributes<HTMLElement> {
276
267
  /** id of the ty-select to display. Falls back to the previous element sibling. */
@@ -1,7 +1,6 @@
1
1
  import React, { useEffect, useRef } from 'react';
2
2
  import { hostProps } from '../utils/host-props';
3
3
 
4
- // Type definitions for Ty Step component
5
4
  export interface TyStepProps extends React.HTMLAttributes<HTMLElement> {
6
5
  /** Required unique identifier for the step */
7
6
  id: string;
@@ -22,7 +21,6 @@ export interface TyStepProps extends React.HTMLAttributes<HTMLElement> {
22
21
  children?: React.ReactNode;
23
22
  }
24
23
 
25
- // React wrapper for ty-step web component
26
24
  export const TyStep = React.forwardRef<HTMLElement, TyStepProps>(
27
25
  ({
28
26
  children,
@@ -35,7 +33,6 @@ export const TyStep = React.forwardRef<HTMLElement, TyStepProps>(
35
33
  }, ref) => {
36
34
  const elementRef = useRef<HTMLElement>(null);
37
35
 
38
- // Combine refs if needed
39
36
  useEffect(() => {
40
37
  if (ref && elementRef.current) {
41
38
  if (typeof ref === 'function') {
@@ -46,19 +43,16 @@ export const TyStep = React.forwardRef<HTMLElement, TyStepProps>(
46
43
  }
47
44
  }, [ref]);
48
45
 
49
- // Convert React props to web component attributes
50
46
  const webComponentProps: Record<string, any> = {
51
47
  ...hostProps(props),
52
48
  ref: elementRef,
53
49
  id,
54
50
  };
55
51
 
56
- // Add string attributes
57
52
  if (label) webComponentProps.label = label;
58
53
  if (description) webComponentProps.description = description;
59
54
  if (status) webComponentProps.status = status;
60
55
 
61
- // Add boolean attributes
62
56
  if (disabled) webComponentProps.disabled = true;
63
57
 
64
58
  return React.createElement(
@@ -2,7 +2,6 @@ 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 definitions for Ty Tab component
6
5
  export interface TyTabProps extends React.HTMLAttributes<HTMLElement> {
7
6
  /** Required unique identifier */
8
7
  id: string;
@@ -17,7 +16,6 @@ export interface TyTabProps extends React.HTMLAttributes<HTMLElement> {
17
16
  children?: React.ReactNode;
18
17
  }
19
18
 
20
- // React wrapper for ty-tab web component
21
19
  export const TyTab = React.forwardRef<HTMLElement, TyTabProps>(
22
20
  ({
23
21
  children,
@@ -28,7 +26,6 @@ export const TyTab = React.forwardRef<HTMLElement, TyTabProps>(
28
26
  }, ref) => {
29
27
  const elementRef = useRef<HTMLElement>(null);
30
28
 
31
- // Combine refs if needed
32
29
  useEffect(() => {
33
30
  if (ref && elementRef.current) {
34
31
  if (typeof ref === 'function') {
@@ -39,20 +36,16 @@ export const TyTab = React.forwardRef<HTMLElement, TyTabProps>(
39
36
  }
40
37
  }, [ref]);
41
38
 
42
- // Convert React props to web component attributes
43
39
  const webComponentProps: Record<string, any> = {
44
40
  ...hostProps(props),
45
41
  ref: elementRef,
46
42
  };
47
43
 
48
- // Add required attribute
49
44
  webComponentProps.id = id;
50
45
 
51
- // Add boolean attributes
52
46
  const isDisabled = useBooleanProperty(elementRef, 'disabled', disabled);
53
47
  if (isDisabled) webComponentProps.disabled = '';
54
48
 
55
- // Add string attributes
56
49
  if (label) webComponentProps.label = label;
57
50
 
58
51
  return React.createElement(
@@ -1,7 +1,6 @@
1
1
  import React, { useEffect, useRef } from 'react';
2
2
  import { hostProps } from '../utils/host-props';
3
3
 
4
- // Type definitions for Ty Tabs component
5
4
  export interface TyTabsProps extends Omit<React.HTMLAttributes<HTMLElement>, 'onChange'> {
6
5
  /** Content area width (accepts px or %) */
7
6
  width?: string;
@@ -29,7 +28,6 @@ export interface TabChangeDetail {
29
28
  previousIndex: number | null;
30
29
  }
31
30
 
32
- // React wrapper for ty-tabs web component
33
31
  export const TyTabs = React.forwardRef<HTMLElement, TyTabsProps>(
34
32
  ({
35
33
  children,
@@ -42,7 +40,6 @@ export const TyTabs = React.forwardRef<HTMLElement, TyTabsProps>(
42
40
  }, ref) => {
43
41
  const elementRef = useRef<HTMLElement>(null);
44
42
 
45
- // Handle change events
46
43
  useEffect(() => {
47
44
  const element = elementRef.current;
48
45
  if (!element) return;
@@ -60,7 +57,6 @@ export const TyTabs = React.forwardRef<HTMLElement, TyTabsProps>(
60
57
  };
61
58
  }, [onChange]);
62
59
 
63
- // Combine refs if needed
64
60
  useEffect(() => {
65
61
  if (ref && elementRef.current) {
66
62
  if (typeof ref === 'function') {
@@ -71,13 +67,11 @@ export const TyTabs = React.forwardRef<HTMLElement, TyTabsProps>(
71
67
  }
72
68
  }, [ref]);
73
69
 
74
- // Convert React props to web component attributes
75
70
  const webComponentProps: Record<string, any> = {
76
71
  ...hostProps(props),
77
72
  ref: elementRef,
78
73
  };
79
74
 
80
- // Add string attributes
81
75
  if (width) webComponentProps.width = width;
82
76
  if (height) webComponentProps.height = height;
83
77
  if (active) webComponentProps.active = active;
@@ -12,7 +12,6 @@ export interface TyTagCSSProperties extends React.CSSProperties {
12
12
  '--tag-border-color'?: string;
13
13
  }
14
14
 
15
- // Type definitions for Ty Tag component
16
15
  export interface TyTagProps extends Omit<React.HTMLAttributes<HTMLElement>, 'style' | 'onClick'> {
17
16
  flavor?: ShadedFlavor | (string & {});
18
17
  size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
@@ -29,7 +28,6 @@ export interface TyTagProps extends Omit<React.HTMLAttributes<HTMLElement>, 'sty
29
28
  children?: React.ReactNode;
30
29
  }
31
30
 
32
- // React wrapper for ty-tag web component
33
31
  export const TyTag = React.forwardRef<HTMLElement, TyTagProps>(
34
32
  ({ children, onClick, onTagDismiss, notPill, clickable, dismissible, disabled, selected, ...props }, ref) => {
35
33
  const elementRef = useRef<HTMLElement>(null);
@@ -51,7 +49,6 @@ export const TyTag = React.forwardRef<HTMLElement, TyTagProps>(
51
49
  };
52
50
  }, [handleDismiss, onTagDismiss]);
53
51
 
54
- // Handle ref forwarding
55
52
  useEffect(() => {
56
53
  if (ref && elementRef.current) {
57
54
  if (typeof ref === 'function') {
@@ -3,13 +3,11 @@ 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
- // Event detail structure for ty-textarea events
7
6
  export interface TyTextareaEventDetail {
8
7
  value: string; // textarea value
9
8
  originalEvent: Event; // original DOM event
10
9
  }
11
10
 
12
- // Type definitions for Ty Textarea component
13
11
  export interface TyTextareaProps extends Omit<React.HTMLAttributes<HTMLElement>, 'onChange' | 'onInput' | 'onFocus' | 'onBlur' | 'style'> {
14
12
  style?: import('./TyInput').TyInputCSSProperties;
15
13
  size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
@@ -51,7 +49,6 @@ export interface TyTextareaProps extends Omit<React.HTMLAttributes<HTMLElement>,
51
49
  // One-time warning flag.
52
50
  let _warnedOnInputProp = false;
53
51
 
54
- // React wrapper for ty-textarea web component
55
52
  export const TyTextarea = React.forwardRef<HTMLElement, TyTextareaProps>(
56
53
  ({ onChange, onChangeCommit, onFocus, onBlur, disabled, required, minHeight, maxHeight, ...props }, ref) => {
57
54
  const elementRef = useRef<HTMLElement>(null);
@@ -102,18 +99,14 @@ export const TyTextarea = React.forwardRef<HTMLElement, TyTextareaProps>(
102
99
  const element = elementRef.current;
103
100
  if (!element) return;
104
101
 
105
- // Listen for custom input/change events from ty-textarea
106
- // Map onChange → input event (React convention)
107
102
  if (onChange) {
108
103
  element.addEventListener('input', handleInput as EventListener);
109
104
  }
110
105
 
111
- // Map onChangeCommit → change event (blur behavior)
112
106
  if (onChangeCommit) {
113
107
  element.addEventListener('change', handleChangeCommit as EventListener);
114
108
  }
115
109
 
116
- // Listen for standard focus/blur events
117
110
  if (onFocus) {
118
111
  element.addEventListener('focus', handleFocus as EventListener);
119
112
  }
@@ -138,7 +131,6 @@ export const TyTextarea = React.forwardRef<HTMLElement, TyTextareaProps>(
138
131
  };
139
132
  }, [handleInput, handleChangeCommit, handleFocus, handleBlur, onChange, onChangeCommit, onFocus, onBlur]);
140
133
 
141
- // Handle ref forwarding
142
134
  useEffect(() => {
143
135
  if (ref && elementRef.current) {
144
136
  if (typeof ref === 'function') {
@@ -5,7 +5,6 @@ import { useBooleanProperty } from '../utils/use-boolean-prop';
5
5
  type BuiltinFlavor = 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'neutral';
6
6
  type ShadedFlavor = BuiltinFlavor | `${BuiltinFlavor}+` | `${BuiltinFlavor}-`;
7
7
 
8
- // Type definitions for Ty Tooltip component
9
8
  export interface TyTooltipProps extends React.HTMLAttributes<HTMLElement> {
10
9
  /** Tooltip positioning relative to the parent element */
11
10
  placement?: 'top' | 'bottom' | 'left' | 'right';
@@ -26,7 +25,6 @@ export interface TyTooltipProps extends React.HTMLAttributes<HTMLElement> {
26
25
  children?: React.ReactNode;
27
26
  }
28
27
 
29
- // React wrapper for ty-tooltip web component
30
28
  export const TyTooltip = React.forwardRef<HTMLElement, TyTooltipProps>(
31
29
  ({
32
30
  placement,
@@ -39,7 +37,6 @@ export const TyTooltip = React.forwardRef<HTMLElement, TyTooltipProps>(
39
37
  }, ref) => {
40
38
  const elementRef = useRef<HTMLElement>(null);
41
39
 
42
- // Handle ref forwarding
43
40
  useEffect(() => {
44
41
  if (ref && elementRef.current) {
45
42
  if (typeof ref === 'function') {
@@ -50,13 +47,11 @@ export const TyTooltip = React.forwardRef<HTMLElement, TyTooltipProps>(
50
47
  }
51
48
  }, [ref]);
52
49
 
53
- // Convert React props to web component attributes
54
50
  const webComponentProps: Record<string, any> = {
55
51
  ...hostProps(props),
56
52
  ref: elementRef,
57
53
  };
58
54
 
59
- // Add optional attributes only if they have values
60
55
  if (placement) {
61
56
  webComponentProps.placement = placement;
62
57
  }
@@ -1,7 +1,6 @@
1
1
  import React, { useEffect, useRef } from 'react';
2
2
  import { hostProps } from '../utils/host-props';
3
3
 
4
- // Type definitions for Ty Wizard component
5
4
  export interface TyWizardProps extends Omit<React.HTMLAttributes<HTMLElement>, 'onChange'> {
6
5
  /** Content area width (accepts px or %) */
7
6
  width?: string;
@@ -33,7 +32,6 @@ export interface WizardStepChangeDetail {
33
32
  direction: 'forward' | 'backward' | 'none';
34
33
  }
35
34
 
36
- // React wrapper for ty-wizard web component
37
35
  export const TyWizard = React.forwardRef<HTMLElement, TyWizardProps>(
38
36
  ({
39
37
  children,
@@ -47,7 +45,6 @@ export const TyWizard = React.forwardRef<HTMLElement, TyWizardProps>(
47
45
  }, ref) => {
48
46
  const elementRef = useRef<HTMLElement>(null);
49
47
 
50
- // Handle step change events
51
48
  useEffect(() => {
52
49
  const element = elementRef.current;
53
50
  if (!element) return;
@@ -65,7 +62,6 @@ export const TyWizard = React.forwardRef<HTMLElement, TyWizardProps>(
65
62
  };
66
63
  }, [onStepChange]);
67
64
 
68
- // Combine refs if needed
69
65
  useEffect(() => {
70
66
  if (ref && elementRef.current) {
71
67
  if (typeof ref === 'function') {
@@ -76,13 +72,11 @@ export const TyWizard = React.forwardRef<HTMLElement, TyWizardProps>(
76
72
  }
77
73
  }, [ref]);
78
74
 
79
- // Convert React props to web component attributes
80
75
  const webComponentProps: Record<string, any> = {
81
76
  ...hostProps(props),
82
77
  ref: elementRef,
83
78
  };
84
79
 
85
- // Add string attributes
86
80
  if (width) webComponentProps.width = width;
87
81
  if (height) webComponentProps.height = height;
88
82
  if (active) webComponentProps.active = active;