@arbiui/react 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,395 @@
1
+ import { ComponentProps, ElementType } from "react";
2
+ //#region src/components/shared/constants.d.ts
3
+ export declare const _: unique symbol;
4
+ //#endregion
5
+ //#region src/types/view.d.ts
6
+ type Scale = '3xs' | '2xs' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | '4xl' | '5xl' | '6xl' | '7xl';
7
+ type Break = 'auto' | 'avoid' | 'all' | 'avoid-page' | 'page' | 'left' | 'right' | 'column';
8
+ type Placement = 'top-left' | 'top' | 'top-right' | 'left' | 'center' | 'right' | 'bottom-left' | 'bottom' | 'bottom-right';
9
+ type Overflow = 'auto' | 'hidden' | 'clip' | 'visible' | 'scroll';
10
+ type Overscroll = 'auto' | 'contain' | 'none';
11
+ type AbsoluteValue = 'px' | '-px' | 'full' | '-full' | 'auto';
12
+ type Alignment = 'start' | 'end' | 'center' | 'stretch';
13
+ type Sizing = 'px' | 'full' | 'dvw' | 'dvh' | 'lvw' | 'lvh' | 'svw' | 'svh' | 'min' | 'max' | 'fit';
14
+ type Color = 'inherit' | 'current' | 'transparent' | 'black' | 'white';
15
+ type Radius = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | '4xl' | 'none' | 'full';
16
+ type LineLook = 'solid' | 'dashed' | 'dotted' | 'double' | 'hidden' | 'none';
17
+ type Blending = 'normal' | 'multiply' | 'screen' | 'overlay' | 'darken' | 'lighten' | 'color-dodge' | 'color-burn' | 'hard-light' | 'soft-light' | 'difference' | 'exclusion' | 'hue' | 'saturation' | 'color' | 'luminosity';
18
+ type Repeat = 'repeat' | 'repeat-x' | 'repeat-y' | 'repeat-space' | 'repeat-round' | 'no-repeat';
19
+ type ContentSize = 'auto' | 'cover' | 'contain';
20
+ type TransitionProperty = 'default' | 'all' | 'colors' | 'opacity' | 'shadow' | 'transform' | 'none';
21
+ type Fallback = typeof _;
22
+ type OutlineTuple = [width: string, color?: Color | string] | [width: Fallback, color: Color | string];
23
+ interface ViewLayoutProps {
24
+ aspect?: 'square' | 'video' | 'auto' | string;
25
+ columns?: Scale | 'auto' | string;
26
+ breakAfter?: Break;
27
+ breakBefore?: Break;
28
+ breakInside?: 'auto' | 'avoid' | 'avoid-page' | 'avoid-column';
29
+ boxDecoration?: 'clone' | 'slice';
30
+ box?: 'border' | 'content';
31
+ display?: 'inline' | 'block' | 'inline-block' | 'flow-root' | 'flex' | 'inline-flex' | 'grid' | 'inline-grid' | 'contents' | 'table' | 'inline-table' | 'table-caption' | 'table-cell' | 'table-column' | 'table-column-group' | 'table-footer-group' | 'table-header-group' | 'table-row-group' | 'table-row' | 'list-item' | 'hidden' | 'sr-only' | 'not-sr-only';
32
+ float?: 'right' | 'left' | 'start' | 'end' | 'none';
33
+ clear?: 'left' | 'right' | 'both' | 'start' | 'end' | 'none';
34
+ isolate?: boolean;
35
+ autoIsolate?: boolean;
36
+ objectFit?: 'contain' | 'cover' | 'fill' | 'none' | 'scale-down';
37
+ object?: Placement | string;
38
+ overflow?: Overflow;
39
+ overflowX?: Overflow;
40
+ overflowY?: Overflow;
41
+ overscroll?: Overscroll;
42
+ overscrollX?: Overscroll;
43
+ overscrollY?: Overscroll;
44
+ hideScrollBar?: boolean;
45
+ position?: 'static' | 'fixed' | 'absolute' | 'relative' | 'sticky';
46
+ inset?: AbsoluteValue | string;
47
+ insetX?: AbsoluteValue | string;
48
+ insetY?: AbsoluteValue | string;
49
+ start?: AbsoluteValue | string;
50
+ end?: AbsoluteValue | string;
51
+ top?: AbsoluteValue | string;
52
+ right?: AbsoluteValue | string;
53
+ bottom?: AbsoluteValue | string;
54
+ left?: AbsoluteValue | string;
55
+ visibility?: 'visible' | 'invisible' | 'collapse';
56
+ z?: 'auto' | string;
57
+ }
58
+ interface ViewFlexGridProps {
59
+ basis?: 'full' | 'auto' | Scale | string;
60
+ flexDirection?: 'row' | 'row-reverse' | 'col' | 'col-reverse';
61
+ wrap?: 'nowrap' | 'wrap' | 'wrap-reverse';
62
+ flex?: 'auto' | 'initial' | 'none' | string;
63
+ grow?: boolean | string;
64
+ shrink?: boolean | string;
65
+ order?: 'first' | 'last' | 'none' | string;
66
+ gridCols?: 'none' | 'subgrid' | string;
67
+ gridRows?: 'none' | 'subgrid' | string;
68
+ col?: 'auto' | string;
69
+ colSpan?: 'full' | string;
70
+ colStart?: 'auto' | string;
71
+ colEnd?: 'auto' | string;
72
+ row?: 'auto' | string;
73
+ rowSpan?: 'full' | string;
74
+ rowStart?: 'auto' | string;
75
+ rowEnd?: 'auto' | string;
76
+ gridFlow?: 'row' | 'col' | 'dense' | 'row-dense' | 'col-dense';
77
+ autoCols?: 'auto' | 'min' | 'max' | 'fr' | string;
78
+ autoRows?: 'auto' | 'min' | 'max' | 'fr' | string;
79
+ gap?: string;
80
+ gapX?: string;
81
+ gapY?: string;
82
+ self?: Alignment | 'auto' | 'end-safe' | 'center-safe' | 'baseline' | 'baseline-end';
83
+ items?: Alignment | 'end-safe' | 'center-safe' | 'baseline' | 'baseline-last';
84
+ content?: Alignment | 'normal' | 'between' | 'around' | 'evenly' | 'baseline';
85
+ justifySelf?: Alignment | 'auto' | 'center-safe' | 'end-safe';
86
+ justifyItems?: Alignment | 'end-safe' | 'center-safe' | 'normal';
87
+ justify?: Alignment | 'end-safe' | 'center-safe' | 'between' | 'around' | 'evenly' | 'baseline' | 'normal';
88
+ placeSelf?: Alignment | 'auto' | 'end-safe' | 'center-safe';
89
+ placeItems?: Alignment | 'end-safe' | 'center-safe' | 'baseline';
90
+ placeContent?: Alignment | 'center-safe' | 'end-safe' | 'between' | 'around' | 'evenly' | 'baseline';
91
+ }
92
+ interface ViewSpacingProps {
93
+ p?: 'px' | string;
94
+ px?: 'px' | string;
95
+ py?: 'px' | string;
96
+ ps?: 'px' | string;
97
+ pe?: 'px' | string;
98
+ pt?: 'px' | string;
99
+ pr?: 'px' | string;
100
+ pb?: 'px' | string;
101
+ pl?: 'px' | string;
102
+ m?: 'auto' | 'px' | '-px' | string;
103
+ mx?: 'auto' | 'px' | '-px' | string;
104
+ my?: 'auto' | 'px' | '-px' | string;
105
+ ms?: 'auto' | 'px' | '-px' | string;
106
+ me?: 'auto' | 'px' | '-px' | string;
107
+ mt?: 'auto' | 'px' | '-px' | string;
108
+ mr?: 'auto' | 'px' | '-px' | string;
109
+ mb?: 'auto' | 'px' | '-px' | string;
110
+ ml?: 'auto' | 'px' | '-px' | string;
111
+ spaceX?: 'px' | '-px' | string;
112
+ spaceY?: 'px' | '-px' | string;
113
+ spaceXReverse?: boolean;
114
+ spaceYReverse?: boolean;
115
+ }
116
+ interface ViewSizingProps {
117
+ size?: 'auto' | Sizing | string;
118
+ w?: Scale | 'auto' | Sizing | 'screen' | string;
119
+ minW?: Scale | 'auto' | Sizing | 'screen' | string;
120
+ maxW?: Scale | 'none' | Sizing | 'screen' | string;
121
+ h?: 'auto' | Sizing | 'screen' | 'lh' | string;
122
+ minH?: 'auto' | Sizing | 'screen' | 'lh' | string;
123
+ maxH?: 'none' | Sizing | 'screen' | 'lh' | string;
124
+ }
125
+ interface ViewTypographyProps {
126
+ fontFamily?: 'sans' | 'serif' | 'mono' | 'display' | string;
127
+ fontSize?: 'xs' | 'sm' | 'base' | 'lg' | 'xl' | '2xl' | '3xl' | '4xl' | '5xl' | '6xl' | '7xl' | '8xl' | '9xl' | string;
128
+ fontSmoothing?: 'antialiased' | 'subpixel-antialiased';
129
+ fontStyle?: 'italic' | 'not-italic';
130
+ fontWeight?: 'thin' | 'extralight' | 'light' | 'normal' | 'medium' | 'semibold' | 'bold' | 'extrabold' | 'black' | string;
131
+ fontStretch?: 'ultra-condensed' | 'extra-condensed' | 'condensed' | 'semi-condensed' | 'normal' | 'semi-expanded' | 'expanded' | 'extra-expanded' | 'ultra-expanded' | string;
132
+ fontVariantNumeric?: 'normal-nums' | 'ordinal' | 'slashed-zero' | 'lining-nums' | 'oldstyle-nums' | 'proportional-nums' | 'tabular-nums' | 'diagonal-fractions' | 'stacked-fractions';
133
+ letterSpacing?: 'tighter' | 'tight' | 'normal' | 'wide' | 'wider' | 'widest' | string;
134
+ lineClamp?: 'none' | string;
135
+ lineHeight?: 'none' | string;
136
+ listImage?: 'none' | string;
137
+ listPosition?: 'inside' | 'outside';
138
+ list?: 'disc' | 'decimal' | 'none' | string;
139
+ textAlign?: 'left' | 'center' | 'right' | 'justify' | 'start' | 'end';
140
+ text?: Color | string;
141
+ textDecoration?: {
142
+ line?: 'underline' | 'overline' | 'line-through' | 'no-underline';
143
+ color?: Color | string;
144
+ style?: 'solid' | 'double' | 'dotted' | 'dashed' | 'wavy';
145
+ thickness?: 'auto' | 'from-font' | string;
146
+ underlineOffset?: 'auto' | string;
147
+ };
148
+ textTransform?: 'uppercase' | 'lowercase' | 'capitalize' | 'normal-case';
149
+ textOverflow?: 'truncate' | 'text-ellipsis' | 'text-clip';
150
+ textWrap?: 'wrap' | 'nowrap' | 'balance' | 'pretty';
151
+ textIndent?: 'px' | '-px' | string;
152
+ verticalAlign?: 'baseline' | 'top' | 'middle' | 'bottom' | 'text-top' | 'text-bottom' | 'sub' | 'super' | string;
153
+ whitespace?: 'normal' | 'nowrap' | 'pre' | 'pre-line' | 'pre-wrap' | 'break-spaces';
154
+ wordbreak?: 'normal' | 'all' | 'keep';
155
+ overflowWrap?: 'break-word' | 'anywhere' | 'normal';
156
+ hyphens?: 'none' | 'manual' | 'auto';
157
+ }
158
+ interface ViewBackgroundProps {
159
+ bgAttachment?: 'fixed' | 'local' | 'scroll';
160
+ bgClip?: 'border' | 'padding' | 'content' | 'text';
161
+ bgColor?: Color | string;
162
+ bgImage?: 'none' | string;
163
+ bgLinear?: 'to-t' | 'to-tr' | 'to-r' | 'to-br' | 'to-b' | 'to-bl' | 'to-l' | 'to-tl' | string;
164
+ bgRadial?: boolean | string;
165
+ bgConic?: string;
166
+ gradient?: {
167
+ from?: string;
168
+ via?: string;
169
+ to?: string;
170
+ };
171
+ bgOrigin?: 'border' | 'padding' | 'content';
172
+ bgPosition?: Placement | string;
173
+ bgRepeat?: Repeat;
174
+ bgSize?: ContentSize | string;
175
+ }
176
+ interface ViewBorderProps {
177
+ rounded?: Radius | string | {
178
+ s?: Radius | string;
179
+ e?: Radius | string;
180
+ t?: Radius | string;
181
+ r?: Radius | string;
182
+ b?: Radius | string;
183
+ l?: Radius | string;
184
+ ss?: Radius | string;
185
+ se?: Radius | string;
186
+ ee?: Radius | string;
187
+ es?: Radius | string;
188
+ tl?: Radius | string;
189
+ tr?: Radius | string;
190
+ br?: Radius | string;
191
+ bl?: Radius | string;
192
+ };
193
+ border?: string | boolean | OutlineTuple | {
194
+ width?: string;
195
+ color?: Color | string;
196
+ style?: LineLook;
197
+ x?: string | OutlineTuple;
198
+ y?: string | OutlineTuple;
199
+ s?: string | OutlineTuple;
200
+ e?: string | OutlineTuple;
201
+ t?: string | OutlineTuple;
202
+ r?: string | OutlineTuple;
203
+ b?: string | OutlineTuple;
204
+ l?: string | OutlineTuple;
205
+ };
206
+ borderColor?: Color | string;
207
+ borderStyle?: LineLook;
208
+ divideX?: string;
209
+ divideY?: string;
210
+ divideColor?: Color | string;
211
+ divideStyle?: LineLook;
212
+ divideXReverse?: boolean;
213
+ divideYReverse?: boolean;
214
+ outline?: string | boolean | OutlineTuple | {
215
+ width?: string;
216
+ color?: Color | string;
217
+ style?: LineLook;
218
+ offset?: string;
219
+ };
220
+ outlineColor?: Color | string;
221
+ outlineStyle?: LineLook;
222
+ outlineOffset?: string;
223
+ }
224
+ interface ViewEffectProps {
225
+ shadow?: '2xs' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | 'none' | string;
226
+ shadowColor?: Color | string;
227
+ insetShadow?: '2xs' | 'xs' | 'sm' | 'none' | string;
228
+ insetShadowColor?: Color | string;
229
+ ring?: boolean | string;
230
+ ringColor?: Color | string;
231
+ insetRing?: boolean | string;
232
+ insetRingColor?: Color | string;
233
+ textShadow?: '2xs' | 'xs' | 'sm' | 'md' | 'lg' | 'none' | string;
234
+ textShadowColor?: Color | string;
235
+ opacity?: string;
236
+ mixBlend?: Blending | 'plus-darker' | 'plus-lighter';
237
+ bgBlend?: Blending;
238
+ maskClip?: 'border' | 'padding' | 'content' | 'fill' | 'stroke' | 'view' | 'no-clip';
239
+ maskComposite?: 'add' | 'subtract' | 'intersect' | 'exclude';
240
+ maskImage?: 'none' | string;
241
+ maskLinear?: string;
242
+ maskLinearFrom?: string;
243
+ maskLinearTo?: string;
244
+ maskTopFrom?: string;
245
+ maskTopTo?: string;
246
+ maskRightFrom?: string;
247
+ maskRightTo?: string;
248
+ maskBottomFrom?: string;
249
+ maskBottomTo?: string;
250
+ maskLeftFrom?: string;
251
+ maskLeftTo?: string;
252
+ maskXFrom?: string;
253
+ maskXTo?: string;
254
+ maskYFrom?: string;
255
+ maskYTo?: string;
256
+ maskRadial?: string;
257
+ maskRadialFrom?: string;
258
+ maskRadialTo?: string;
259
+ maskRadialShape?: 'circle' | 'ellipse';
260
+ maskRadialSpot?: 'closest-corner' | 'closest-side' | 'farthest-corner' | 'farthest-side' | 'at-top-left' | 'at-top' | 'at-top-right' | 'at-left' | 'at-center' | 'at-right' | 'at-bottom-left' | 'at-bottom' | 'at-bottom-right';
261
+ maskConic?: string;
262
+ maskConicFrom?: string;
263
+ maskConicTo?: string;
264
+ maskMode?: 'alpha' | 'luminance' | 'match';
265
+ maskOrigin?: 'border' | 'padding' | 'content' | 'fill' | 'stroke' | 'view';
266
+ maskPosition?: Placement | string;
267
+ maskRepeat?: Repeat;
268
+ maskSize?: ContentSize | string;
269
+ maskType?: 'alpha' | 'luminance';
270
+ }
271
+ interface ViewFiltersProps {
272
+ filter?: 'none' | string;
273
+ blur?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | 'none' | string;
274
+ brightness?: string;
275
+ contrast?: string;
276
+ dropShadow?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | 'none' | string;
277
+ dropShadowColor?: Color | string;
278
+ grayscale?: boolean | string;
279
+ hueRotate?: string;
280
+ invert?: boolean | string;
281
+ saturate?: string;
282
+ sepia?: boolean | string;
283
+ backdropFilter?: 'none' | string;
284
+ backdropBlur?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | 'none' | string;
285
+ backdropBrightness?: string;
286
+ backdropContrast?: string;
287
+ backdropGrayscale?: boolean | string;
288
+ backdropHueRotate?: string;
289
+ backdropInvert?: boolean | string;
290
+ backdropOpacity?: string;
291
+ backdropSaturate?: string;
292
+ backdropSepia?: boolean | string;
293
+ }
294
+ interface ViewTableProps {
295
+ borderCollapse?: boolean;
296
+ borderSeparate?: boolean;
297
+ borderSpacing?: string;
298
+ borderXSpacing?: string;
299
+ borderYSpacing?: string;
300
+ tableLayout?: 'auto' | 'fixed';
301
+ captionSide?: 'top' | 'bottom';
302
+ }
303
+ interface ViewTransitionProps {
304
+ transition?: boolean | TransitionProperty | string | {
305
+ property?: TransitionProperty | string;
306
+ behavior?: 'normal' | 'discrete';
307
+ duration?: 'initial' | string;
308
+ function?: 'linear' | 'in' | 'out' | 'in-out' | 'initial' | string;
309
+ delay?: string;
310
+ };
311
+ animate?: 'spin' | 'ping' | 'pulse' | 'bounce' | 'none' | string;
312
+ }
313
+ interface ViewTransformProps {
314
+ backface?: 'hidden' | 'visible';
315
+ perspective?: 'dramatic' | 'near' | 'normal' | 'midrange' | 'distant' | 'none' | string;
316
+ perspectiveOrigin?: Placement | string;
317
+ rotate?: 'none' | string;
318
+ rotateX?: string;
319
+ rotateY?: string;
320
+ rotateZ?: string;
321
+ scale?: 'none' | '3d' | string;
322
+ scaleX?: string;
323
+ scaleY?: string;
324
+ scaleZ?: string;
325
+ skew?: string;
326
+ skewX?: string;
327
+ skewY?: string;
328
+ transform?: 'none' | 'gpu' | 'cpu' | string;
329
+ transformOrigin?: Placement | string;
330
+ transformStyle?: '3d' | 'flat';
331
+ transformTranslate?: 'full' | '-full' | 'px' | '-px' | 'none' | string;
332
+ transformTranslateX?: 'full' | '-full' | 'px' | '-px' | string;
333
+ transformTranslateY?: 'full' | '-full' | 'px' | '-px' | string;
334
+ transformTranslateZ?: 'px' | '-px' | string;
335
+ }
336
+ interface ViewInteractivityProps {
337
+ accentColor?: Color | string;
338
+ appearance?: 'none' | 'auto';
339
+ caretColor?: Color | string;
340
+ colorScheme?: 'normal' | 'dark' | 'light' | 'light-dark' | 'only-dark' | 'only-light';
341
+ cursor?: 'auto' | 'default' | 'pointer' | 'wait' | 'text' | 'move' | 'help' | 'not-allowed' | 'none' | 'context-menu' | 'progress' | 'cell' | 'crosshair' | 'vertical-text' | 'alias' | 'copy' | 'no-drop' | 'grab' | 'grabbing' | 'all-scroll' | 'col-resize' | 'row-resize' | 'n-resize' | 'e-resize' | 's-resize' | 'w-resize' | 'ne-resize' | 'nw-resize' | 'se-resize' | 'sw-resize' | 'ew-resize' | 'ns-resize' | 'nesw-resize' | 'nwse-resize' | 'zoom-in' | 'zoom-out' | string;
342
+ fieldSizing?: 'fixed' | 'content';
343
+ pointerEvents?: 'auto' | 'none';
344
+ resize?: 'both' | 'x' | 'y' | 'none';
345
+ scrollBehavior?: 'auto' | 'smooth';
346
+ scrollbar?: {
347
+ color?: {
348
+ thumb?: Color | string;
349
+ track?: Color | string;
350
+ };
351
+ width?: 'auto' | 'thin' | 'none';
352
+ gutter?: 'auto' | 'stable' | 'both';
353
+ };
354
+ scrollMargin?: string;
355
+ scrollMarginX?: string;
356
+ scrollMarginY?: string;
357
+ scrollMarginS?: string;
358
+ scrollMarginE?: string;
359
+ scrollMarginT?: string;
360
+ scrollMarginR?: string;
361
+ scrollMarginB?: string;
362
+ scrollMarginL?: string;
363
+ scrollPadding?: string;
364
+ scrollPaddingX?: string;
365
+ scrollPaddingY?: string;
366
+ scrollPaddingS?: string;
367
+ scrollPaddingE?: string;
368
+ scrollPaddingT?: string;
369
+ scrollPaddingR?: string;
370
+ scrollPaddingB?: string;
371
+ scrollPaddingL?: string;
372
+ scrollSnapAlign?: 'start' | 'end' | 'center' | 'none';
373
+ scrollSnapStop?: 'normal' | 'always';
374
+ scrollSnapType?: 'x' | 'y' | 'both' | 'mandatory' | 'proximity' | 'none';
375
+ touchAction?: 'auto' | 'pan-x' | 'pan-left' | 'pan-right' | 'pan-y' | 'pan-up' | 'pan-down' | 'pinch-zoom' | 'manipulation' | 'none';
376
+ userSelect?: 'none' | 'text' | 'all' | 'auto';
377
+ willChange?: 'auto' | 'scroll' | 'contents' | 'transform' | string;
378
+ }
379
+ interface ViewSVGProps {
380
+ fill?: 'none' | Color | string;
381
+ strokefill?: 'none' | Color | string;
382
+ stroke?: string;
383
+ }
384
+ //#endregion
385
+ //#region src/components/view/index.d.ts
386
+ type BaseProps = ViewLayoutProps & ViewFlexGridProps & ViewSpacingProps & ViewSizingProps & ViewTypographyProps & ViewBackgroundProps & ViewBorderProps & ViewEffectProps & ViewFiltersProps & ViewTableProps & ViewTransitionProps & ViewTransformProps & ViewInteractivityProps & ViewSVGProps & {
387
+ forceAdjustColor?: 'auto' | 'none';
388
+ };
389
+ type PolymorphicProps<E extends ElementType, P> = {
390
+ as?: E;
391
+ } & P;
392
+ type ViewProps<E extends ElementType> = PolymorphicProps<E, BaseProps> & Omit<ComponentProps<E>, keyof PolymorphicProps<E, BaseProps>>;
393
+ declare function View<E extends ElementType = 'div'>(props: ViewProps<E>): import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
394
+ //#endregion
395
+ export { View, type ViewBackgroundProps, type ViewBorderProps, type ViewEffectProps, type ViewFiltersProps, type ViewFlexGridProps, type ViewInteractivityProps, type ViewLayoutProps, type ViewProps, type ViewSVGProps, type ViewSizingProps, type ViewSpacingProps, type ViewTableProps, type ViewTransformProps, type ViewTransitionProps, type ViewTypographyProps };