react-restyle-components 0.4.8 → 0.4.10

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.
@@ -1 +1 @@
1
- {"version":3,"file":"auto-complete-filter-single-select-multiple-fields-display.component.d.ts","sourceRoot":"","sources":["../../../../../../../src/core-components/src/components/AutoComplete/auto-complete-filter-single-select-multiple-fields-display/auto-complete-filter-single-select-multiple-fields-display.component.tsx"],"names":[],"mappings":"AAQA,UAAU,qDAAqD;IAC7D,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,GAAG,CAAC;IACV,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;IAC/B,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,GAAG,CAAC;IAC9B,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,GAAG,CAAC;CAC7B;AAED,eAAO,MAAM,gDAAgD,+HAa1D,qDAAqD,4CA4NvD,CAAC"}
1
+ {"version":3,"file":"auto-complete-filter-single-select-multiple-fields-display.component.d.ts","sourceRoot":"","sources":["../../../../../../../src/core-components/src/components/AutoComplete/auto-complete-filter-single-select-multiple-fields-display/auto-complete-filter-single-select-multiple-fields-display.component.tsx"],"names":[],"mappings":"AAsIA,UAAU,qDAAqD;IAC7D,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,GAAG,CAAC;IACV,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;IAC/B,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,GAAG,CAAC;IAC9B,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,GAAG,CAAC;CAC7B;AAED,eAAO,MAAM,gDAAgD,+HAa1D,qDAAqD,4CAsWvD,CAAC"}
@@ -1,21 +1,136 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  /* eslint-disable */
3
- import { useState, useEffect, useRef } from 'react';
3
+ import { useState, useEffect, useRef, useCallback } from 'react';
4
4
  import { Icon } from '../../Icon/Icon';
5
5
  import s from '../../../tc.module.css';
6
6
  import { cn } from '../../../utils';
7
7
  import { debounce } from '@techabl/core-utils';
8
+ // Inline styles for animations (CSS-in-JS approach for portability)
9
+ const animationStyles = {
10
+ dropdown: {
11
+ base: {
12
+ transformOrigin: 'top center',
13
+ transition: 'opacity 200ms ease-out, transform 200ms ease-out',
14
+ },
15
+ entering: {
16
+ opacity: 1,
17
+ transform: 'scaleY(1) translateY(0)',
18
+ },
19
+ exiting: {
20
+ opacity: 0,
21
+ transform: 'scaleY(0.95) translateY(-8px)',
22
+ },
23
+ },
24
+ listItem: {
25
+ base: {
26
+ transition: 'opacity 180ms ease-out, transform 180ms ease-out, background-color 150ms ease',
27
+ cursor: 'pointer',
28
+ },
29
+ visible: {
30
+ opacity: 1,
31
+ transform: 'translateX(0)',
32
+ },
33
+ hidden: {
34
+ opacity: 0,
35
+ transform: 'translateX(-12px)',
36
+ },
37
+ hover: {
38
+ backgroundColor: 'rgba(59, 130, 246, 0.1)',
39
+ },
40
+ },
41
+ skeleton: {
42
+ base: {
43
+ background: 'linear-gradient(90deg, #e5e7eb 25%, #f3f4f6 50%, #e5e7eb 75%)',
44
+ backgroundSize: '200% 100%',
45
+ animation: 'shimmer 1.5s infinite',
46
+ borderRadius: '4px',
47
+ },
48
+ },
49
+ spinner: {
50
+ animation: 'spin 0.8s linear infinite',
51
+ border: '2px solid #e5e7eb',
52
+ borderTopColor: '#3b82f6',
53
+ borderRadius: '50%',
54
+ width: '16px',
55
+ height: '16px',
56
+ },
57
+ fadeContent: {
58
+ base: {
59
+ transition: 'opacity 200ms ease-out',
60
+ },
61
+ loading: {
62
+ opacity: 0.5,
63
+ },
64
+ ready: {
65
+ opacity: 1,
66
+ },
67
+ },
68
+ };
69
+ // Inject keyframes for shimmer animation
70
+ const injectKeyframes = () => {
71
+ const styleId = 'autocomplete-animations';
72
+ if (typeof document !== 'undefined' && !document.getElementById(styleId)) {
73
+ const style = document.createElement('style');
74
+ style.id = styleId;
75
+ style.textContent = `
76
+ @keyframes shimmer {
77
+ 0% { background-position: 200% 0; }
78
+ 100% { background-position: -200% 0; }
79
+ }
80
+ @keyframes spin {
81
+ from { transform: rotate(0deg); }
82
+ to { transform: rotate(360deg); }
83
+ }
84
+ @keyframes fadeInUp {
85
+ from { opacity: 0; transform: translateY(8px); }
86
+ to { opacity: 1; transform: translateY(0); }
87
+ }
88
+ @keyframes pulse {
89
+ 0%, 100% { opacity: 1; }
90
+ 50% { opacity: 0.5; }
91
+ }
92
+ `;
93
+ document.head.appendChild(style);
94
+ }
95
+ };
96
+ // Skeleton loader component
97
+ const SkeletonItem = ({ delay = 0 }) => (_jsxs("div", { style: {
98
+ display: 'flex',
99
+ alignItems: 'center',
100
+ padding: '8px 8px',
101
+ gap: '12px',
102
+ animation: `fadeInUp 300ms ease-out ${delay}ms both`,
103
+ }, children: [_jsx("div", { style: {
104
+ ...animationStyles.skeleton.base,
105
+ width: '60px',
106
+ height: '14px',
107
+ } }), _jsx("div", { style: {
108
+ ...animationStyles.skeleton.base,
109
+ flex: 1,
110
+ height: '14px',
111
+ maxWidth: '180px',
112
+ } })] }));
113
+ // Loading spinner component
114
+ const LoadingSpinner = () => (_jsx("div", { style: animationStyles.spinner, role: "status", "aria-label": "Loading" }));
8
115
  export const AutoCompleteFilterSingleSelectMultiFieldsDisplay = ({ disable = false, loader = false, displayValue = '', placeholder = 'Search...', data, hasError = false, className, posstion = 'absolute', keyboard = 'text', onFilter, onSelect, onBlur, }) => {
9
116
  const [value, setValue] = useState(displayValue);
10
117
  const [options, setOptions] = useState(data.list);
11
118
  const [isListOpen, setIsListOpen] = useState(false);
12
119
  const [filterValue, setFilterValue] = useState();
120
+ const [isAnimating, setIsAnimating] = useState(false);
121
+ const [visibleItems, setVisibleItems] = useState(new Set());
122
+ const [hoveredIndex, setHoveredIndex] = useState(null);
123
+ const [isFiltering, setIsFiltering] = useState(false);
124
+ const [showDropdown, setShowDropdown] = useState(false);
125
+ // Inject animation keyframes on mount
126
+ useEffect(() => {
127
+ injectKeyframes();
128
+ }, []);
13
129
  const useOutsideAlerter = (ref) => {
14
130
  useEffect(() => {
15
131
  function handleClickOutside(event) {
16
132
  if (ref.current && !ref.current.contains(event.target) && isListOpen) {
17
- setIsListOpen(false);
18
- //setValue('');
133
+ handleCloseDropdown();
19
134
  }
20
135
  }
21
136
  document.addEventListener('mousedown', handleClickOutside);
@@ -27,8 +142,55 @@ export const AutoCompleteFilterSingleSelectMultiFieldsDisplay = ({ disable = fal
27
142
  const inputRef = useRef(null);
28
143
  const wrapperRef = useRef(null);
29
144
  useOutsideAlerter(wrapperRef);
145
+ // Smooth dropdown open/close with animation
146
+ const handleOpenDropdown = useCallback(() => {
147
+ setIsListOpen(true);
148
+ // Small delay to trigger CSS transition
149
+ requestAnimationFrame(() => {
150
+ setShowDropdown(true);
151
+ });
152
+ }, []);
153
+ const handleCloseDropdown = useCallback(() => {
154
+ setShowDropdown(false);
155
+ // Wait for animation to complete before hiding
156
+ setTimeout(() => {
157
+ setIsListOpen(false);
158
+ }, 200);
159
+ }, []);
160
+ // Staggered animation for list items
161
+ useEffect(() => {
162
+ if (isListOpen && options.length > 0 && !loader) {
163
+ setVisibleItems(new Set());
164
+ // Stagger the appearance of items
165
+ options.forEach((_, index) => {
166
+ setTimeout(() => {
167
+ setVisibleItems((prev) => new Set([...prev, index]));
168
+ }, Math.min(index * 30, 300)); // Cap at 300ms total
169
+ });
170
+ }
171
+ }, [isListOpen, options, loader]);
172
+ // Smooth transition when data changes
30
173
  useEffect(() => {
31
- setOptions(data.list);
174
+ if (isFiltering) {
175
+ // Brief fade out during filter
176
+ setIsAnimating(true);
177
+ const timer = setTimeout(() => {
178
+ setOptions(data.list);
179
+ setIsAnimating(false);
180
+ setIsFiltering(false);
181
+ // Re-trigger staggered animation
182
+ setVisibleItems(new Set());
183
+ data.list.forEach((_, index) => {
184
+ setTimeout(() => {
185
+ setVisibleItems((prev) => new Set([...prev, index]));
186
+ }, Math.min(index * 25, 200));
187
+ });
188
+ }, 150);
189
+ return () => clearTimeout(timer);
190
+ }
191
+ else {
192
+ setOptions(data.list);
193
+ }
32
194
  }, [data]);
33
195
  useEffect(() => {
34
196
  setValue(displayValue);
@@ -37,8 +199,22 @@ export const AutoCompleteFilterSingleSelectMultiFieldsDisplay = ({ disable = fal
37
199
  const search = e.target.value;
38
200
  setValue(search);
39
201
  setFilterValue(search);
202
+ setIsFiltering(true);
40
203
  const filteredOptions = data.list.filter((item) => data.displayKey.some((key) => item[key]?.toString().toLowerCase().includes(search.toLowerCase())));
41
- setOptions(filteredOptions);
204
+ // Animate transition
205
+ setIsAnimating(true);
206
+ setTimeout(() => {
207
+ setOptions(filteredOptions);
208
+ setIsAnimating(false);
209
+ setIsFiltering(false);
210
+ // Re-animate visible items
211
+ setVisibleItems(new Set());
212
+ filteredOptions.forEach((_, index) => {
213
+ setTimeout(() => {
214
+ setVisibleItems((prev) => new Set([...prev, index]));
215
+ }, Math.min(index * 25, 200));
216
+ });
217
+ }, 100);
42
218
  debounce(() => {
43
219
  onFilter && onFilter(search);
44
220
  });
@@ -58,7 +234,7 @@ export const AutoCompleteFilterSingleSelectMultiFieldsDisplay = ({ disable = fal
58
234
  const selectedItem = options.find((item) => item.labId === Number(value));
59
235
  if (selectedItem) {
60
236
  setValue(data.displayKey.map((key) => `${selectedItem[key]}`).join(' - '));
61
- setIsListOpen(false);
237
+ handleCloseDropdown();
62
238
  onSelect && onSelect(selectedItem);
63
239
  }
64
240
  }
@@ -67,38 +243,80 @@ export const AutoCompleteFilterSingleSelectMultiFieldsDisplay = ({ disable = fal
67
243
  const calculateMaxHeight = () => {
68
244
  if (inputRef.current) {
69
245
  const inputRect = inputRef.current.getBoundingClientRect();
70
- const availableHeight = window.innerHeight - inputRect.bottom - 20; // 10px padding
246
+ const availableHeight = window.innerHeight - inputRect.bottom - 20;
71
247
  return availableHeight;
72
248
  }
73
249
  return 'calc(100vh - 140px)';
74
250
  };
75
- return (_jsx(_Fragment, { children: _jsxs("div", { ref: wrapperRef, className: cn(s['w-full'], s['relative']), children: [_jsxs("div", { className: cn(s['flex'], s['p-2'], s['leading-4'], s['focus:outline-none'], s['focus:ring'], s['w-full'], s['shadow-sm'], s['sm:text-base'], s['border'], s['rounded-md'], {
251
+ const handleSelectItem = useCallback((item) => {
252
+ setValue(data.displayKey
253
+ .map((key) => item[key])
254
+ .filter((value) => value !== null && value !== undefined)
255
+ .join(' - '));
256
+ handleCloseDropdown();
257
+ onSelect && onSelect(item);
258
+ }, [data.displayKey, onSelect, handleCloseDropdown]);
259
+ // Show loading state
260
+ const isLoading = loader || isFiltering;
261
+ return (_jsx(_Fragment, { children: _jsxs("div", { ref: wrapperRef, className: cn(s['w-full'], s['relative']), children: [_jsxs("div", { className: cn(s['flex'], s['p-2'], s['leading-4'], s['focus:outline-none'], s['focus:ring'], s['w-full'], s['shadow-sm'], s['sm:text-base'], s['border'], s['rounded-md'], s['transition-all'], s['duration-200'], {
76
262
  [s['border-red']]: hasError,
77
263
  [s['border-gray-300']]: !hasError,
78
264
  [s['dark:text-black']]: true,
79
- }), children: [_jsx("input", { ref: inputRef, placeholder: placeholder, type: keyboard, value: value, className: cn(s['w-full'], s['focus:outline-none'], s['bg-none'], s['dark:text-black'], className), onKeyUp: onKeyUp, onChange: onChange, onClick: () => setIsListOpen(true), disabled: disable, onMouseDown: () => setValue(''), onBlur: (e) => onBlur && onBlur(e), onKeyDown: onKeyDown }), isListOpen ? (_jsx(Icon, { nameIcon: "FaChevronUp", propsIcon: {
80
- size: 16,
81
- } })) : (_jsx(Icon, { nameIcon: "FaChevronDown", propsIcon: {
82
- size: 16,
83
- } }))] }), options && isListOpen ? (options.length > 0 ? (_jsx("div", { className: cn(s['absolute'], s['w-full'], s['bg-gray-100'], s['p-2'], s['rounded-sm'], s['overflow-y-auto']), style: {
265
+ }), style: {
266
+ transition: 'border-color 200ms ease, box-shadow 200ms ease',
267
+ }, children: [_jsx("input", { ref: inputRef, placeholder: placeholder, type: keyboard, value: value, className: cn(s['w-full'], s['focus:outline-none'], s['bg-none'], s['dark:text-black'], className), onKeyUp: onKeyUp, onChange: onChange, onClick: handleOpenDropdown, disabled: disable, onMouseDown: () => setValue(''), onBlur: (e) => onBlur && onBlur(e), onKeyDown: onKeyDown }), _jsxs("div", { style: {
268
+ display: 'flex',
269
+ alignItems: 'center',
270
+ gap: '8px',
271
+ }, children: [isLoading && _jsx(LoadingSpinner, {}), _jsx("div", { style: {
272
+ transition: 'transform 200ms ease',
273
+ transform: isListOpen ? 'rotate(180deg)' : 'rotate(0deg)',
274
+ }, children: _jsx(Icon, { nameIcon: "FaChevronDown", propsIcon: {
275
+ size: 16,
276
+ } }) })] })] }), isListOpen && (_jsx("div", { className: cn(s['absolute'], s['w-full'], s['bg-white'], s['rounded-md'], s['shadow-lg'], s['overflow-hidden']), style: {
277
+ ...animationStyles.dropdown.base,
278
+ ...(showDropdown
279
+ ? animationStyles.dropdown.entering
280
+ : animationStyles.dropdown.exiting),
84
281
  zIndex: 500,
85
- maxHeight: `${calculateMaxHeight()}px`,
86
- }, children: _jsx("ul", { children: options?.map((item, index) => (_jsx("li", { className: cn(s['text-gray-400'], s['flex'], s['items-center']), onClick: () => {
87
- setValue(data.displayKey
88
- .map((key) => item[key])
89
- .filter((value) => value !== null && value !== undefined)
90
- .join(' - '));
91
- setIsListOpen(false);
92
- onSelect && onSelect(item);
93
- }, children: _jsx("label", { className: cn(s['ml-2'], s['mt-1'], s['text-black']), style: {
94
- textOverflow: 'ellipsis',
95
- minWidth: 0,
96
- overflow: 'hidden',
97
- whiteSpace: 'nowrap',
98
- }, title: data.displayKey
99
- .map((key) => item[key])
100
- .join(' - '), children: data.displayKey
101
- .map((key) => item[key])
102
- .filter((value) => value !== null && value !== undefined)
103
- .join(' - ') }) }, index))) }) })) : (_jsx("div", { className: cn(s['mt-1'], s['absolute'], s['bg-gray-100'], s['p-2'], s['rounded-sm']), style: { zIndex: 80, width: '100%' }, children: _jsx("span", { children: "Not Found Result!!" }) }))) : null] }) }));
282
+ marginTop: '4px',
283
+ border: '1px solid #e5e7eb',
284
+ }, children: _jsx("div", { className: cn(s['overflow-y-auto'], s['p-1']), style: {
285
+ maxHeight: `${calculateMaxHeight()}px`,
286
+ ...animationStyles.fadeContent.base,
287
+ ...(isAnimating
288
+ ? animationStyles.fadeContent.loading
289
+ : animationStyles.fadeContent.ready),
290
+ }, children: loader ? (
291
+ // Skeleton loading state
292
+ _jsx("div", { style: { padding: '4px 0' }, children: [0, 1, 2, 3, 4].map((i) => (_jsx(SkeletonItem, { delay: i * 50 }, i))) })) : options.length > 0 ? (_jsx("ul", { style: { listStyle: 'none', margin: 0, padding: 0 }, children: options.map((item, index) => (_jsx("li", { className: cn(s['flex'], s['items-center']), onClick: () => handleSelectItem(item), onMouseEnter: () => setHoveredIndex(index), onMouseLeave: () => setHoveredIndex(null), style: {
293
+ ...animationStyles.listItem.base,
294
+ ...(visibleItems.has(index)
295
+ ? animationStyles.listItem.visible
296
+ : animationStyles.listItem.hidden),
297
+ ...(hoveredIndex === index
298
+ ? animationStyles.listItem.hover
299
+ : {}),
300
+ padding: '10px 12px',
301
+ borderRadius: '6px',
302
+ margin: '2px 0',
303
+ transitionDelay: `${Math.min(index * 20, 150)}ms`,
304
+ }, children: _jsx("label", { className: cn(s['text-gray-700']), style: {
305
+ textOverflow: 'ellipsis',
306
+ minWidth: 0,
307
+ overflow: 'hidden',
308
+ whiteSpace: 'nowrap',
309
+ cursor: 'pointer',
310
+ fontSize: '14px',
311
+ }, title: data.displayKey
312
+ .map((key) => item[key])
313
+ .join(' - '), children: data.displayKey
314
+ .map((key) => item[key])
315
+ .filter((value) => value !== null && value !== undefined)
316
+ .join(' - ') }) }, index))) })) : (_jsx("div", { style: {
317
+ padding: '16px',
318
+ textAlign: 'center',
319
+ color: '#6b7280',
320
+ animation: 'fadeInUp 200ms ease-out',
321
+ }, children: _jsx("span", { children: "No results found" }) })) }) }))] }) }));
104
322
  };
@@ -56,6 +56,8 @@ export declare const Badge: React.NamedExoticComponent<Omit<BadgeProps & React.R
56
56
  unselectable?: "off" | "on" | undefined;
57
57
  inputMode?: "search" | "text" | "none" | "tel" | "url" | "email" | "numeric" | "decimal" | undefined;
58
58
  is?: string | undefined;
59
+ exportparts?: string | undefined;
60
+ part?: string | undefined;
59
61
  "aria-activedescendant"?: string | undefined;
60
62
  "aria-atomic"?: (boolean | "true" | "false") | undefined;
61
63
  "aria-autocomplete"?: "inline" | "both" | "none" | "list" | undefined;
@@ -130,7 +132,7 @@ export declare const Badge: React.NamedExoticComponent<Omit<BadgeProps & React.R
130
132
  onBlurCapture?: React.FocusEventHandler<HTMLDivElement> | undefined;
131
133
  onChange?: React.FormEventHandler<HTMLDivElement> | undefined;
132
134
  onChangeCapture?: React.FormEventHandler<HTMLDivElement> | undefined;
133
- onBeforeInput?: React.FormEventHandler<HTMLDivElement> | undefined;
135
+ onBeforeInput?: React.InputEventHandler<HTMLDivElement> | undefined;
134
136
  onBeforeInputCapture?: React.FormEventHandler<HTMLDivElement> | undefined;
135
137
  onInput?: React.FormEventHandler<HTMLDivElement> | undefined;
136
138
  onInputCapture?: React.FormEventHandler<HTMLDivElement> | undefined;
@@ -180,8 +182,6 @@ export declare const Badge: React.NamedExoticComponent<Omit<BadgeProps & React.R
180
182
  onProgressCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
181
183
  onRateChange?: React.ReactEventHandler<HTMLDivElement> | undefined;
182
184
  onRateChangeCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
183
- onResize?: React.ReactEventHandler<HTMLDivElement> | undefined;
184
- onResizeCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
185
185
  onSeeked?: React.ReactEventHandler<HTMLDivElement> | undefined;
186
186
  onSeekedCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
187
187
  onSeeking?: React.ReactEventHandler<HTMLDivElement> | undefined;
@@ -82,8 +82,8 @@ type FieldEventHandlers = {
82
82
  onFocus?: (e: React.FocusEvent<HTMLInputElement | HTMLTextAreaElement>) => void;
83
83
  /** onBlur handler - receives the event object (standard React pattern) */
84
84
  onBlur?: (e: React.FocusEvent<HTMLInputElement | HTMLTextAreaElement>) => void;
85
- /** onBlurValue - receives just the string value (cleaner alternative to onBlur for text inputs) */
86
- onBlurValue?: (value: string) => void;
85
+ /** onValueBlur - receives just the string value (cleaner alternative to onBlur for text inputs) */
86
+ onValueBlur?: (value: string) => void;
87
87
  onKeyDown?: (e: React.KeyboardEvent<HTMLInputElement | HTMLTextAreaElement>) => void;
88
88
  onKeyUp?: (e: React.KeyboardEvent<HTMLInputElement | HTMLTextAreaElement>) => void;
89
89
  onKeyPress?: (e: React.KeyboardEvent<HTMLInputElement | HTMLTextAreaElement>) => void;
@@ -7,7 +7,7 @@ import { PasswordInput, ToggleInput, RadioInput, CheckboxInput, CheckboxGroupInp
7
7
  export { PasswordInput, ToggleInput, RadioInput, CheckboxInput, CheckboxGroupInput, DatePickerInput, DropdownInput, TextDropdownInput, PinInput, OtpInput, CssMultilineInput, } from './components';
8
8
  export const Label = (props) => (_jsx(_Fragment, { children: _jsx("label", { htmlFor: props.htmlFor, className: `${props.hasError ? 'text-red-400' : 'text-gray-700'} block text-3xs font-medium mb-1`, style: { ...props.style }, children: props.children }) }));
9
9
  export const InputWrapper = (props) => (_jsxs("div", { className: props.className, ref: props.ref, children: [_jsx(Label, { htmlFor: props.id || '', hasError: props.hasError, style: { ...props.style }, children: _jsx("span", { className: "dark:text-white", children: props.label }) }), props.children] }));
10
- export const FormField = React.forwardRef(({ label, error, hasError, id, labelProps, required, type = 'text', showPasswordToggle, radioOptions, checkboxLabel, checkboxOptions, isToggleLabel = true, dateFormat = 'yyyy-MM-dd', dropdownItems = [], allowCustomInput = true, pinLength = 12, otpLength = 6, pinValue = [], pinErrorMsg, pinDefaultMsg, cssProperties, onReset, onMoreInfo, value, onChange, onValueChange, onBlur, onBlurValue, disabled, children, ...props }, ref) => {
10
+ export const FormField = React.forwardRef(({ label, error, hasError, id, labelProps, required, type = 'text', showPasswordToggle, radioOptions, checkboxLabel, checkboxOptions, isToggleLabel = true, dateFormat = 'yyyy-MM-dd', dropdownItems = [], allowCustomInput = true, pinLength = 12, otpLength = 6, pinValue = [], pinErrorMsg, pinDefaultMsg, cssProperties, onReset, onMoreInfo, value, onChange, onValueChange, onBlur, onValueBlur, disabled, children, ...props }, ref) => {
11
11
  const fieldId = id || `field-${Math.random().toString(36).substr(2, 9)}`;
12
12
  const isTextarea = type === 'textarea';
13
13
  const isToggle = type === 'toggle';
@@ -86,18 +86,18 @@ export const FormField = React.forwardRef(({ label, error, hasError, id, labelPr
86
86
  }
87
87
  // Render textarea - use Textarea atom component
88
88
  if (isTextarea) {
89
- return (_jsx(Textarea, { ref: ref, id: fieldId, label: label, error: effectiveError, required: required, value: value, onChange: onChange, onValueChange: onValueChange, onBlur: onBlur, onBlurValue: onBlurValue, ...labelProps, ...props }));
89
+ return (_jsx(Textarea, { ref: ref, id: fieldId, label: label, error: effectiveError, required: required, value: value, onChange: onChange, onValueChange: onValueChange, onBlur: onBlur, onValueBlur: onValueBlur, ...labelProps, ...props }));
90
90
  }
91
91
  // Render standard input - use Input atom component
92
92
  // For password without toggle, use Input atom
93
93
  if (isPassword && !showPasswordToggle) {
94
- return (_jsx(Input, { ref: ref, id: fieldId, type: type, label: label, error: effectiveError, required: required, value: value, onChange: onChange, onValueChange: onValueChange, onBlur: onBlur, onBlurValue: onBlurValue, ...labelProps, ...props }));
94
+ return (_jsx(Input, { ref: ref, id: fieldId, type: type, label: label, error: effectiveError, required: required, value: value, onChange: onChange, onValueChange: onValueChange, onBlur: onBlur, onValueBlur: onValueBlur, ...labelProps, ...props }));
95
95
  }
96
96
  // For password with toggle, use PasswordInput component
97
97
  if (isPassword && showPasswordToggle) {
98
98
  return (_jsx(PasswordInput, { ref: ref, id: fieldId, label: label, error: effectiveError, required: required, value: value, onChange: onChange, disabled: disabled, labelProps: labelProps, ...props }));
99
99
  }
100
100
  // Render standard input - use Input atom component
101
- return (_jsx(Input, { ref: ref, id: fieldId, type: type, label: label, error: effectiveError, required: required, value: value, onChange: onChange, onValueChange: onValueChange, onBlur: onBlur, onBlurValue: onBlurValue, ...labelProps, ...props }));
101
+ return (_jsx(Input, { ref: ref, id: fieldId, type: type, label: label, error: effectiveError, required: required, value: value, onChange: onChange, onValueChange: onValueChange, onBlur: onBlur, onValueBlur: onValueBlur, ...labelProps, ...props }));
102
102
  });
103
103
  FormField.displayName = 'FormField';
@@ -8,8 +8,8 @@ export interface InputProps extends Omit<React.InputHTMLAttributes<HTMLInputElem
8
8
  onBlur?: (e: React.FocusEvent<HTMLInputElement>) => void;
9
9
  /** onValueChange - receives just the string value (alternative to onChange) */
10
10
  onValueChange?: (value: string) => void;
11
- /** onBlurValue - receives just the string value (alternative to onBlur) */
12
- onBlurValue?: (value: string) => void;
11
+ /** onValueBlur - receives just the string value (alternative to onBlur) */
12
+ onValueBlur?: (value: string) => void;
13
13
  }
14
14
  export declare const Input: React.ForwardRefExoticComponent<InputProps & React.RefAttributes<HTMLInputElement>>;
15
15
  //# sourceMappingURL=Input.d.ts.map
@@ -2,17 +2,17 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import React from 'react';
3
3
  import s from '../../../tc.module.css';
4
4
  import { cn } from '../../../utils';
5
- export const Input = React.forwardRef(({ className, error, label, id, onChange, onBlur, onValueChange, onBlurValue, ...props }, ref) => {
5
+ export const Input = React.forwardRef(({ className, error, label, id, onChange, onBlur, onValueChange, onValueBlur, ...props }, ref) => {
6
6
  const inputId = id || `input-${Math.random().toString(36).substr(2, 9)}`;
7
7
  // Handle onChange - always pass event to onChange, value to onValueChange
8
8
  const handleChange = (e) => {
9
9
  onChange?.(e);
10
10
  onValueChange?.(e.target.value);
11
11
  };
12
- // Handle onBlur - always pass event to onBlur, value to onBlurValue
12
+ // Handle onBlur - always pass event to onBlur, value to onValueBlur
13
13
  const handleBlur = (e) => {
14
14
  onBlur?.(e);
15
- onBlurValue?.(e.target.value);
15
+ onValueBlur?.(e.target.value);
16
16
  };
17
17
  return (_jsxs("div", { className: cn(s['w-full']), children: [label && (_jsx("label", { className: cn(s['block'], s['text-sm'], s['font-medium'], s['text-gray-700'], s['dark:text-gray-300'], s['mb-1']), children: label })), _jsx("input", { ref: ref, id: inputId, className: cn(s['w-full'], s['px-4'], s['py-2'], s['border'], s['rounded-lg'], s['transition-colors'], s['bg-white'], s['dark:bg-gray-800'], s['border-gray-300'], s['dark:border-gray-600'], s['text-gray-900'], s['dark:text-gray-100'], s['placeholder-gray-500'], s['dark:placeholder-gray-400'], s['focus:outline-none'], s['focus:ring-2'], s['focus:ring-primary'], s['focus:ring-offset-1'], error && s['border-red-500'], error && s['focus:ring-red-500'], className), style: {
18
18
  ...props.style,
@@ -8,8 +8,8 @@ export interface TextareaProps extends Omit<React.TextareaHTMLAttributes<HTMLTex
8
8
  onBlur?: (e: React.FocusEvent<HTMLTextAreaElement>) => void;
9
9
  /** onValueChange - receives just the string value (alternative to onChange) */
10
10
  onValueChange?: (value: string) => void;
11
- /** onBlurValue - receives just the string value (alternative to onBlur) */
12
- onBlurValue?: (value: string) => void;
11
+ /** onValueBlur - receives just the string value (alternative to onBlur) */
12
+ onValueBlur?: (value: string) => void;
13
13
  }
14
14
  export declare const Textarea: React.ForwardRefExoticComponent<TextareaProps & React.RefAttributes<HTMLTextAreaElement>>;
15
15
  //# sourceMappingURL=Textarea.d.ts.map
@@ -2,17 +2,17 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import React from 'react';
3
3
  import s from '../../../tc.module.css';
4
4
  import { cn } from '../../../utils';
5
- export const Textarea = React.forwardRef(({ className, error, label, id, onChange, onBlur, onValueChange, onBlurValue, ...props }, ref) => {
5
+ export const Textarea = React.forwardRef(({ className, error, label, id, onChange, onBlur, onValueChange, onValueBlur, ...props }, ref) => {
6
6
  const textareaId = id || `textarea-${Math.random().toString(36).substr(2, 9)}`;
7
7
  // Handle onChange - always pass event to onChange, value to onValueChange
8
8
  const handleChange = (e) => {
9
9
  onChange?.(e);
10
10
  onValueChange?.(e.target.value);
11
11
  };
12
- // Handle onBlur - always pass event to onBlur, value to onBlurValue
12
+ // Handle onBlur - always pass event to onBlur, value to onValueBlur
13
13
  const handleBlur = (e) => {
14
14
  onBlur?.(e);
15
- onBlurValue?.(e.target.value);
15
+ onValueBlur?.(e.target.value);
16
16
  };
17
17
  return (_jsxs("div", { className: cn(s['w-full']), children: [label && (_jsx("label", { className: cn(s['block'], s['text-sm'], s['font-medium'], s['text-gray-700'], s['dark:text-gray-300'], s['mb-1']), children: label })), _jsx("textarea", { ref: ref, id: textareaId, className: cn(s['w-full'], s['px-4'], s['py-2'], s['border'], s['rounded-lg'], s['transition-colors'], s['resize-vertical'], s['bg-white'], s['dark:bg-gray-800'], s['border-gray-300'], s['dark:border-gray-600'], s['text-gray-900'], s['dark:text-gray-100'], s['placeholder-gray-500'], s['dark:placeholder-gray-400'], s['focus:outline-none'], s['focus:ring-2'], s['focus:ring-primary'], s['focus:ring-offset-1'], error && s['border-red-500'], error && s['focus:ring-red-500'], className), ...props, onChange: handleChange, onBlur: handleBlur }), error && (_jsx("p", { className: cn(s['mt-1'], s['text-sm'], s['text-red-600'], s['dark:text-red-400']), children: error }))] }));
18
18
  });
@@ -78,5 +78,9 @@
78
78
  /*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/.-translate-x-1\/2,@keyframes pulse{50%{opacity:.5}}
79
79
  /*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/.-translate-x-1\/2,@keyframes pulse{50%{opacity:.5}}
80
80
  /*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/.-translate-x-1\/2,@keyframes pulse{50%{opacity:.5}}.blur,.ring-1,.shadow,.shadow-lg,body{font-family:Arima Regular;font-size:14px}/*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/.-translate-x-1\/2,@keyframes pulse{50%{opacity:.5}}
81
+ /*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/.-translate-x-1\/2,@keyframes pulse{50%{opacity:.5}}
82
+ /*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/.-translate-x-1\/2,@keyframes pulse{50%{opacity:.5}}
83
+ /*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/.-translate-x-1\/2,@keyframes pulse{50%{opacity:.5}}
84
+ /*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/.-translate-x-1\/2,@keyframes pulse{50%{opacity:.5}}
81
85
  /*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/.-translate-x-1\/2,@keyframes pulse{50%{opacity:.5}}.dark\:bg-black:is(.dark *),.dark\:border-gray-600:is(.dark *){--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }
82
86
  /*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/fieldset,legend{padding:0}.container{width:100%}@media (min-width:0px){.container{max-width:0}}@media (min-width:20rem){.container{max-width:20rem}}@media (min-width:23.4375rem){.container{max-width:23.4375rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:90rem){.container{max-width:90rem}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.form-input,.form-input::-webkit-datetime-edit,.form-input::-webkit-datetime-edit-day-field,.form-input::-webkit-datetime-edit-hour-field,.form-input::-webkit-datetime-edit-meridiem-field,.form-input::-webkit-datetime-edit-millisecond-field,.form-input::-webkit-datetime-edit-minute-field,.form-input::-webkit-datetime-edit-month-field,.form-input::-webkit-datetime-edit-second-field,.form-input::placeholder,.form-input:focus,.form-multiselect,.form-multiselect:focus,.form-select,.form-select:focus,table{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}table:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}table tr:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}select:is(.dark *){--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.-my-2{margin-bottom:-.5rem;margin-top:-.5rem}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,@keyframes pulse{50%{opacity:.5}}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.25rem*var(--tw-space-x-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-bottom-width:calc(1px*var(--tw-divide-y-reverse));border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)))}.divide-gray-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(243 244 246/var(--tw-divide-opacity,1))}.blur,.ring-1,.shadow,.shadow-lg,.shadow-sm,body{font-family:Arima Regular;font-size:14px}.dark\:border-gray-600:is(.dark *),.dark\:bg-black:is(.dark *){--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.dark\:bg-boxdark:is(.dark *){--tw-bg-opacity:1;background-color:rgb(36 48 63/var(--tw-bg-opacity,1))}.dark\:bg-gray-700:is(.dark *){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.dark\:bg-gray-800:is(.dark *){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.dark\:text-black:is(.dark *){--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.dark\:text-gray-100:is(.dark *){--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity,1))}.dark\:text-gray-200:is(.dark *){--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.dark\:text-gray-300:is(.dark *){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.dark\:text-gray-400:is(.dark *){--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.dark\:text-gray-500:is(.dark *){--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.dark\:text-red-400:is(.dark *){--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.dark\:text-white:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.dark\:placeholder-gray-400:is(.dark *)::placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity,1))}.dark\:ring-offset-gray-800:is(.dark *){--tw-ring-offset-color:#1f2937}.dark\:hover\:bg-blue-900:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(30 58 138/var(--tw-bg-opacity,1))}.dark\:hover\:bg-gray-600:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.dark\:hover\:bg-gray-700:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.dark\:focus\:ring-blue-600:focus:is(.dark *){--tw-ring-opacity:1;--tw-ring-color:rgb(37 99 235/var(--tw-ring-opacity,1))}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}@font-face{font-family:ArimaRegular;src:url(library/assets/fonts/arima/arima-regular.ttf)}.container{width:100%}@media (min-width:0px){.container{max-width:0}}@media (min-width:20rem){.container{max-width:20rem}}@media (min-width:23.4375rem){.container{max-width:23.4375rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:90rem){.container{max-width:90rem}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.form-input,.form-multiselect,.form-select,.form-input:focus,.form-multiselect:focus,.form-select:focus,.form-input::placeholder,.form-input::-webkit-datetime-edit,.form-input::-webkit-datetime-edit-day-field,.form-input::-webkit-datetime-edit-hour-field,.form-input::-webkit-datetime-edit-meridiem-field,.form-input::-webkit-datetime-edit-millisecond-field,.form-input::-webkit-datetime-edit-minute-field,.form-input::-webkit-datetime-edit-month-field,.form-input::-webkit-datetime-edit-second-field,table{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}table:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}table tr:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}select:is(.dark *){--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.-my-2{margin-bottom:-.5rem;margin-top:-.5rem}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,@keyframes pulse{50%{opacity:.5}}@keyframes spin{to{transform:rotate(1turn)}}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.25rem*var(--tw-space-x-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-bottom-width:calc(1px*var(--tw-divide-y-reverse));border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)))}.divide-gray-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(243 244 246/var(--tw-divide-opacity,1))}.shadow,.shadow-lg,.shadow-sm,.ring-1,.blur,body{font-family:Arima Regular;font-size:14px}.menu ul{list-style:none;margin:0;padding:0}.menu li{border-bottom:1px solid #ddd;padding:10px}.menu li:last-child{border-bottom:none}.focus\:ring-0:focus,.dark\:border-gray-600:is(.dark *){--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity,1))}.dark\:bg-black:is(.dark *){--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.dark\:bg-boxdark:is(.dark *){--tw-bg-opacity:1;background-color:rgb(36 48 63/var(--tw-bg-opacity,1))}.dark\:bg-gray-700:is(.dark *){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.dark\:bg-gray-800:is(.dark *){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.dark\:text-black:is(.dark *){--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.dark\:text-gray-100:is(.dark *){--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity,1))}.dark\:text-gray-200:is(.dark *){--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.dark\:text-gray-300:is(.dark *){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.dark\:text-gray-400:is(.dark *){--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.dark\:text-gray-500:is(.dark *){--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.dark\:text-red-400:is(.dark *){--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.dark\:text-white:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.dark\:placeholder-gray-400:is(.dark *)::placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity,1))}.dark\:ring-offset-gray-800:is(.dark *){--tw-ring-offset-color:#1f2937}.dark\:hover\:bg-blue-900:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(30 58 138/var(--tw-bg-opacity,1))}.dark\:hover\:bg-gray-600:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.dark\:hover\:bg-gray-700:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.dark\:focus\:ring-blue-600:focus:is(.dark *){--tw-ring-opacity:1;--tw-ring-color:rgb(37 99 235/var(--tw-ring-opacity,1))}@media (min-width:0px) and (max-width:767px){}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-restyle-components",
3
- "version": "0.4.8",
3
+ "version": "0.4.10",
4
4
  "private": false,
5
5
  "description": "Easy use restyle components",
6
6
  "author": {