quickit-ui 0.1.16 → 0.1.19

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.
@@ -82,6 +82,19 @@ export declare const QUICKIT_FOCUS_RING_COMPONENTS: readonly [
82
82
  "dropdown",
83
83
  "modal",
84
84
  ];
85
+ export declare const QUICKIT_RIPPLE_COMPONENTS: readonly [
86
+ "button",
87
+ "link",
88
+ ];
89
+ export declare const QUICKIT_PRESS_EFFECTS: readonly [
90
+ "transform",
91
+ "ripple",
92
+ ];
93
+ export declare const QUICKIT_THEME_OPTIONS: readonly [
94
+ "system",
95
+ "light",
96
+ "dark",
97
+ ];
85
98
  export declare const QUICKIT_CONTROL_RADIUS_TOKENS: Record<string, string>;
86
99
  export declare const QUICKIT_AVATAR_RADIUS_TOKENS: Record<
87
100
  string,
@@ -89,6 +102,7 @@ export declare const QUICKIT_AVATAR_RADIUS_TOKENS: Record<
89
102
  >;
90
103
 
91
104
  export type QuickitThemeMode = "light" | "dark";
105
+ export type QuickitThemeOption = (typeof QUICKIT_THEME_OPTIONS)[number];
92
106
  export type QuickitSemanticColor = (typeof QUICKIT_SEMANTIC_COLORS)[number];
93
107
  export type QuickitAccentColor = (typeof QUICKIT_ACCENT_COLORS)[number];
94
108
  export type QuickitControlSize = (typeof QUICKIT_CONTROL_SIZES)[number];
@@ -112,6 +126,10 @@ export type QuickitBreakpoint = "xs" | "sm" | "md" | "lg" | "xl" | "2xl";
112
126
  export type QuickitFloatingColor = "default" | QuickitSemanticColor;
113
127
  export type QuickitFocusRingComponent =
114
128
  (typeof QUICKIT_FOCUS_RING_COMPONENTS)[number];
129
+ export type QuickitRippleComponent =
130
+ (typeof QUICKIT_RIPPLE_COMPONENTS)[number];
131
+ export type QuickitPressEffect =
132
+ (typeof QUICKIT_PRESS_EFFECTS)[number];
115
133
  export interface QuickitBreakpoints {
116
134
  sm: number;
117
135
  md: number;
@@ -123,6 +141,17 @@ export interface QuickitFocusRingConfig {
123
141
  disabledComponents?: QuickitFocusRingComponent[];
124
142
  enabled?: boolean;
125
143
  }
144
+ export interface QuickitRippleConfig {
145
+ disabledComponents?: QuickitRippleComponent[];
146
+ enabled?: boolean;
147
+ }
148
+ export interface QuickitThemeControllerValue {
149
+ setTheme: (theme: QuickitThemeOption) => void;
150
+ resolvedTheme: QuickitThemeMode;
151
+ systemTheme: QuickitThemeMode;
152
+ theme: QuickitThemeOption;
153
+ toggleTheme: () => void;
154
+ }
126
155
 
127
156
  export declare function isQuickitTokenValue(
128
157
  collection: readonly string[],
@@ -144,12 +173,28 @@ export declare function getAvatarRadius(
144
173
  export interface QuickitProviderProps {
145
174
  children?: React.ReactNode;
146
175
  focusRing?: boolean | QuickitFocusRingConfig;
176
+ pressEffect?: QuickitPressEffect;
177
+ ripple?: boolean | QuickitRippleConfig;
147
178
  theme?: QuickitThemeMode;
148
179
  }
149
180
  export declare function QuickitProvider(
150
181
  props: QuickitProviderProps,
151
182
  ): React.JSX.Element;
183
+ export declare const QUICKIT_THEME_STORAGE_KEY: "quickit-ui-theme";
184
+ export interface QuickitThemeProviderProps {
185
+ children?: React.ReactNode;
186
+ defaultTheme?: QuickitThemeOption;
187
+ focusRing?: boolean | QuickitFocusRingConfig;
188
+ pressEffect?: QuickitPressEffect;
189
+ ripple?: boolean | QuickitRippleConfig;
190
+ storageKey?: string;
191
+ }
192
+ export declare function QuickitThemeProvider(
193
+ props: QuickitThemeProviderProps,
194
+ ): React.JSX.Element;
152
195
  export declare function useQuickitTheme(): QuickitThemeMode;
196
+ export declare function useQuickitThemeController():
197
+ QuickitThemeControllerValue;
153
198
  export declare function useQuickitFocusRing(
154
199
  component: QuickitFocusRingComponent,
155
200
  ): boolean;
@@ -157,6 +202,14 @@ export declare function useQuickitFocusRingConfig(): {
157
202
  disabledComponents: QuickitFocusRingComponent[];
158
203
  enabled: boolean;
159
204
  };
205
+ export declare function useQuickitRipple(
206
+ component: QuickitRippleComponent,
207
+ ): boolean;
208
+ export declare function useQuickitRippleConfig(): {
209
+ disabledComponents: QuickitRippleComponent[];
210
+ enabled: boolean;
211
+ };
212
+ export declare function useQuickitPressEffect(): QuickitPressEffect;
160
213
  export interface UseBreakpointOptions {
161
214
  breakpoints?: Partial<QuickitBreakpoints>;
162
215
  }
@@ -235,7 +288,9 @@ export interface ButtonProps extends ButtonBaseProps {
235
288
  fullWidth?: boolean;
236
289
  loading?: boolean;
237
290
  loadingText?: React.ReactNode;
291
+ pressEffect?: QuickitPressEffect;
238
292
  pressed?: boolean;
293
+ ripple?: boolean;
239
294
  shape?: QuickitButtonShape;
240
295
  size?: QuickitControlSize;
241
296
  spinner?: boolean;
@@ -255,6 +310,8 @@ export interface LinkProps extends LinkBaseProps {
255
310
  appearance?: "text" | "button";
256
311
  color?: QuickitSemanticColor;
257
312
  fullWidth?: boolean;
313
+ pressEffect?: QuickitPressEffect;
314
+ ripple?: boolean;
258
315
  shape?: QuickitButtonShape;
259
316
  size?: QuickitControlSize;
260
317
  underline?: QuickitLinkUnderline;
@@ -373,6 +430,11 @@ type InputBaseProps = Omit<
373
430
  React.InputHTMLAttributes<HTMLInputElement>,
374
431
  "size"
375
432
  >;
433
+ type InputGroupBaseProps = React.HTMLAttributes<HTMLDivElement>;
434
+ type InputGroupActionBaseProps = Omit<
435
+ React.ButtonHTMLAttributes<HTMLButtonElement>,
436
+ "color"
437
+ >;
376
438
  type TextareaBaseProps = React.TextareaHTMLAttributes<HTMLTextAreaElement>;
377
439
  type LabelBaseProps = React.LabelHTMLAttributes<HTMLLabelElement>;
378
440
 
@@ -386,10 +448,13 @@ export interface InputProps extends InputBaseProps {
386
448
  hidePasswordIcon?: React.ReactNode;
387
449
  hidePasswordLabel?: string;
388
450
  invalid?: boolean;
451
+ leftElement?: React.ReactNode;
389
452
  onClear?: () => void;
390
453
  onPasswordVisibilityChange?: (visible: boolean) => void;
391
454
  passwordToggle?: boolean;
392
455
  required?: boolean;
456
+ rightElement?: React.ReactNode;
457
+ shape?: "square" | "pill";
393
458
  size?: "sm" | "md" | "lg";
394
459
  showPasswordIcon?: React.ReactNode;
395
460
  showPasswordLabel?: string;
@@ -397,6 +462,47 @@ export interface InputProps extends InputBaseProps {
397
462
  export declare const Input: React.ForwardRefExoticComponent<
398
463
  InputProps & React.RefAttributes<HTMLInputElement>
399
464
  >;
465
+ export interface InputGroupProps extends InputGroupBaseProps {
466
+ attached?: boolean;
467
+ children?: React.ReactNode;
468
+ color?: QuickitSemanticColor;
469
+ columns?: number | string;
470
+ fullWidth?: boolean;
471
+ layout?: "inline" | "grid";
472
+ shape?: "square" | "pill";
473
+ size?: "sm" | "md" | "lg";
474
+ }
475
+ export declare const InputGroup: React.ForwardRefExoticComponent<
476
+ InputGroupProps & React.RefAttributes<HTMLDivElement>
477
+ >;
478
+ export interface InputGroupItemProps extends InputGroupBaseProps {
479
+ children?: React.ReactNode;
480
+ grow?: boolean;
481
+ span?: number;
482
+ }
483
+ export declare const InputGroupItem: React.ForwardRefExoticComponent<
484
+ InputGroupItemProps & React.RefAttributes<HTMLDivElement>
485
+ >;
486
+ export interface InputGroupAddonProps extends InputGroupBaseProps {
487
+ align?: "start" | "center" | "end" | "inline-start" | "inline-end";
488
+ children?: React.ReactNode;
489
+ color?: QuickitSemanticColor;
490
+ shape?: "square" | "pill";
491
+ size?: "sm" | "md" | "lg";
492
+ }
493
+ export declare const InputGroupAddon: React.ForwardRefExoticComponent<
494
+ InputGroupAddonProps & React.RefAttributes<HTMLDivElement>
495
+ >;
496
+ export interface InputGroupActionProps extends InputGroupActionBaseProps {
497
+ activeMotion?: boolean;
498
+ color?: QuickitSemanticColor;
499
+ shape?: "square" | "pill";
500
+ size?: "sm" | "md" | "lg";
501
+ variant?: QuickitButtonVariant;
502
+ }
503
+ export declare const InputGroupAction: React.ForwardRefExoticComponent<
504
+ InputGroupActionProps & React.RefAttributes<HTMLButtonElement>
505
+ >;
400
506
 
401
507
  export interface TextareaProps extends TextareaBaseProps {
402
508
  color?: QuickitSemanticColor;