@mirai/ui 1.0.50 → 1.0.51
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +199 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -85,6 +85,14 @@ const MyComponent = () => (
|
|
|
85
85
|
);
|
|
86
86
|
```
|
|
87
87
|
|
|
88
|
+
**Theming variables**
|
|
89
|
+
|
|
90
|
+
```css
|
|
91
|
+
--mirai-ui-input-background: var(--mirai-ui-base);
|
|
92
|
+
--mirai-ui-input-color: var(--mirai-ui-content);
|
|
93
|
+
--mirai-ui-input-disabled: var(--mirai-ui-content-light);
|
|
94
|
+
```
|
|
95
|
+
|
|
88
96
|
### Layer
|
|
89
97
|
|
|
90
98
|
This primitive returns an element that displays with relative position to other element based on the following props:
|
|
@@ -119,6 +127,12 @@ const MyComponent = () => {
|
|
|
119
127
|
};
|
|
120
128
|
```
|
|
121
129
|
|
|
130
|
+
**Theming variables**
|
|
131
|
+
|
|
132
|
+
```css
|
|
133
|
+
--mirai-ui-layer-content: var(--mirai-ui-layer-XL);
|
|
134
|
+
```
|
|
135
|
+
|
|
122
136
|
### Pressable
|
|
123
137
|
|
|
124
138
|
This primitive returns pressable elements based on the following properties:
|
|
@@ -168,6 +182,16 @@ const MyComponent = () => (
|
|
|
168
182
|
</View>
|
|
169
183
|
```
|
|
170
184
|
|
|
185
|
+
**Theming variables**
|
|
186
|
+
|
|
187
|
+
```css
|
|
188
|
+
--mirai-ui-radio-base: var(--mirai-ui-base);
|
|
189
|
+
--mirai-ui-radio-border: var(--mirai-ui-content-light);
|
|
190
|
+
--mirai-ui-radio-checked: var(--mirai-ui-accent);
|
|
191
|
+
--mirai-ui-radio-disabled: var(--mirai-ui-content-border);
|
|
192
|
+
--mirai-ui-radio-size: var(--mirai-ui-space-L);
|
|
193
|
+
```
|
|
194
|
+
|
|
171
195
|
### ScrollView
|
|
172
196
|
|
|
173
197
|
This primitive is used to make vertically scrollable views and receives the following props:
|
|
@@ -278,6 +302,26 @@ const MyComponent = (props) => {
|
|
|
278
302
|
};
|
|
279
303
|
```
|
|
280
304
|
|
|
305
|
+
**Theming variables**
|
|
306
|
+
|
|
307
|
+
```css
|
|
308
|
+
--mirai-ui-button-background: var(--mirai-ui-accent);
|
|
309
|
+
--mirai-ui-button-busy-width: 0%;
|
|
310
|
+
--mirai-ui-button-busy-motion: calc(var(--mirai-ui-motion-expand) * 10);
|
|
311
|
+
--mirai-ui-button-color: var(--mirai-ui-base);
|
|
312
|
+
--mirai-ui-button-color-active: rgba(255, 255, 255, 0.2);
|
|
313
|
+
--mirai-ui-button-color-focus: var(--mirai-ui-content);
|
|
314
|
+
--mirai-ui-button-disabled-background: var(--mirai-ui-content-border);
|
|
315
|
+
--mirai-ui-button-disabled-color: var(--mirai-ui-content-light);
|
|
316
|
+
--mirai-ui-button-font: var(--mirai-ui-font);
|
|
317
|
+
--mirai-ui-button-font-weight: var(--mirai-ui-font-weight);
|
|
318
|
+
--mirai-ui-button-outlined-background: var(--mirai-ui-base);
|
|
319
|
+
--mirai-ui-button-padding-y: var(--mirai-ui-space-S);
|
|
320
|
+
--mirai-ui-button-padding-x: var(--mirai-ui-space-L);
|
|
321
|
+
--mirai-ui-button-radius: var(--mirai-ui-border-radius);
|
|
322
|
+
--mirai-ui-button-squared: calc(var(--mirai-ui-space-M) * 2);
|
|
323
|
+
```
|
|
324
|
+
|
|
281
325
|
### Calendar
|
|
282
326
|
|
|
283
327
|
A calendar component that receives the following props:
|
|
@@ -326,6 +370,20 @@ const MyComponent = props => {
|
|
|
326
370
|
}
|
|
327
371
|
```
|
|
328
372
|
|
|
373
|
+
**Theming variables**
|
|
374
|
+
|
|
375
|
+
```css
|
|
376
|
+
--mirai-ui-calendar-caption-color: var(--mirai-ui-content-light);
|
|
377
|
+
--mirai-ui-calendar-cell: var(--mirai-ui-space-XL);
|
|
378
|
+
--mirai-ui-calendar-highlight-color: var(--mirai-ui-accent);
|
|
379
|
+
--mirai-ui-calendar-padding: var(--mirai-ui-space-XS);
|
|
380
|
+
--mirai-ui-calendar-range-background: var(--mirai-ui-content-background);
|
|
381
|
+
--mirai-ui-calendar-selected-background: var(--mirai-ui-accent);
|
|
382
|
+
--mirai-ui-calendar-selected-color: var(--mirai-ui-base);
|
|
383
|
+
--mirai-ui-calendar-weekday-color: var(--mirai-ui-content-light);
|
|
384
|
+
--mirai-ui-calendar-week-margin: 2px;
|
|
385
|
+
```
|
|
386
|
+
|
|
329
387
|
### InputNumber
|
|
330
388
|
|
|
331
389
|
Input number component controlling the value with 2 buttons. Receives the following props:
|
|
@@ -351,6 +409,12 @@ const MyComponent = (props) => {
|
|
|
351
409
|
};
|
|
352
410
|
```
|
|
353
411
|
|
|
412
|
+
**Theming variables**
|
|
413
|
+
|
|
414
|
+
```css
|
|
415
|
+
--mirai-ui-input-number-value-width: var(--mirai-ui-space-XL);
|
|
416
|
+
```
|
|
417
|
+
|
|
354
418
|
### InputOption
|
|
355
419
|
|
|
356
420
|
This component is used to display a radio button or checkbox base on a mandatory string prop `type`. It receives the following props:
|
|
@@ -405,6 +469,14 @@ const MyComponent = () => {
|
|
|
405
469
|
};
|
|
406
470
|
```
|
|
407
471
|
|
|
472
|
+
**Theming variables**
|
|
473
|
+
|
|
474
|
+
```css
|
|
475
|
+
--mirai-ui-input-option-disabled: var(--mirai-ui-content-light);
|
|
476
|
+
--mirai-ui-input-option-label-margin: var(--mirai-ui-space-S);
|
|
477
|
+
--mirai-ui-input-option-padding-y: var(--mirai-ui-space-S);
|
|
478
|
+
```
|
|
479
|
+
|
|
408
480
|
### InputText
|
|
409
481
|
|
|
410
482
|
Text input component receiving the following props:
|
|
@@ -441,6 +513,19 @@ const MyComponent = (props) => {
|
|
|
441
513
|
};
|
|
442
514
|
```
|
|
443
515
|
|
|
516
|
+
**Theming variables**
|
|
517
|
+
|
|
518
|
+
```css
|
|
519
|
+
--mirai-ui-input-text-border: solid 1px var(--mirai-ui-content-border);
|
|
520
|
+
--mirai-ui-input-text-disabled: var(--mirai-ui-content-border);
|
|
521
|
+
--mirai-ui-input-text-error: var(--mirai-ui-error);
|
|
522
|
+
--mirai-ui-input-text-focus: var(--mirai-ui-accent);
|
|
523
|
+
--mirai-ui-input-text-icon: var(--mirai-ui-icon);
|
|
524
|
+
--mirai-ui-input-text-padding-x: var(--mirai-ui-space-S);
|
|
525
|
+
--mirai-ui-input-text-padding-y: var(--mirai-ui-space-S);
|
|
526
|
+
--mirai-ui-input-text-radius: var(--mirai-ui-border-radius);
|
|
527
|
+
```
|
|
528
|
+
|
|
444
529
|
### Menu
|
|
445
530
|
|
|
446
531
|
This component helps you to create a menu over a determinate component receiving the following props:
|
|
@@ -483,6 +568,19 @@ const MyComponent = () => {
|
|
|
483
568
|
};
|
|
484
569
|
```
|
|
485
570
|
|
|
571
|
+
**Theming variables**
|
|
572
|
+
|
|
573
|
+
```css
|
|
574
|
+
--mirai-ui-menu-base: var(--mirai-ui-base);
|
|
575
|
+
--mirai-ui-menu-border-radius: var(--mirai-ui-border-radius);
|
|
576
|
+
--mirai-ui-menu-min-width: 192px;
|
|
577
|
+
--mirai-ui-menu-shadow: var(--mirai-ui-shadow);
|
|
578
|
+
--mirai-ui-menu-option-disabled: var(--mirai-ui-content-border);
|
|
579
|
+
--mirai-ui-menu-option-hover-background: var(--mirai-ui-accent);
|
|
580
|
+
--mirai-ui-menu-option-hover-color: var(--mirai-ui-base);
|
|
581
|
+
--mirai-ui-menu-option-padding: var(--mirai-ui-space-M);
|
|
582
|
+
```
|
|
583
|
+
|
|
486
584
|
### Modal
|
|
487
585
|
|
|
488
586
|
A modal component receiving the following props:
|
|
@@ -509,6 +607,17 @@ const MyComponent = (props) => {
|
|
|
509
607
|
};
|
|
510
608
|
```
|
|
511
609
|
|
|
610
|
+
**Theming variables**
|
|
611
|
+
|
|
612
|
+
```css
|
|
613
|
+
--mirai-ui-modal-background: var(--mirai-ui-base);
|
|
614
|
+
--mirai-ui-modal-header-padding: var(--mirai-ui-space-M);
|
|
615
|
+
--mirai-ui-modal-icon: var(--mirai-ui-space-L);
|
|
616
|
+
--mirai-ui-modal-layer: var(--mirai-ui-layer-L);
|
|
617
|
+
--mirai-ui-modal-overflow: rgba(0, 0, 0, 0.15);
|
|
618
|
+
--mirai-ui-modal-shadow: var(--mirai-ui-shadow);
|
|
619
|
+
```
|
|
620
|
+
|
|
512
621
|
### Tooltip
|
|
513
622
|
|
|
514
623
|
This component helps you to create a tooltip over a determinate component receiving the following props:
|
|
@@ -530,6 +639,16 @@ const MyComponent = () => {
|
|
|
530
639
|
};
|
|
531
640
|
```
|
|
532
641
|
|
|
642
|
+
**Theming variables**
|
|
643
|
+
|
|
644
|
+
```css
|
|
645
|
+
--mirai-ui-tooltip-background: rgba(0, 0, 0, 0.8);
|
|
646
|
+
--mirai-ui-tooltip-border-radius: var(--mirai-ui-border-radius);
|
|
647
|
+
--mirai-ui-tooltip-color: var(--mirai-ui-base);
|
|
648
|
+
--mirai-ui-tooltip-space: var(--mirai-ui-space-XS);
|
|
649
|
+
--mirai-ui-tooltip-max-width: calc(var(--mirai-ui-space-XXL) * 4);
|
|
650
|
+
```
|
|
651
|
+
|
|
533
652
|
## Theme
|
|
534
653
|
|
|
535
654
|
Styles can be customised by using Theme utility.
|
|
@@ -579,6 +698,86 @@ Theme.shadeColors()
|
|
|
579
698
|
ACCENT:200 #edffff
|
|
580
699
|
```
|
|
581
700
|
|
|
701
|
+
### List of Theming variables
|
|
702
|
+
|
|
703
|
+
```css
|
|
704
|
+
/* typography */
|
|
705
|
+
--mirai-ui-font: Arial, Regular;
|
|
706
|
+
--mirai-ui-input-font: Arial, Regular;
|
|
707
|
+
--mirai-ui-font-weight: 400;
|
|
708
|
+
--mirai-ui-font-bold: Arial, Regular;
|
|
709
|
+
--mirai-ui-font-bold-weight: 700;
|
|
710
|
+
--mirai-ui-font-size-headline: 18px;
|
|
711
|
+
--mirai-ui-font-size-subheadline: 16px;
|
|
712
|
+
--mirai-ui-font-size-paragraph: 14px;
|
|
713
|
+
--mirai-ui-font-size-action: 14px;
|
|
714
|
+
--mirai-ui-font-size-small: 12px;
|
|
715
|
+
--mirai-ui-line-height: 24px;
|
|
716
|
+
--mirai-ui-text-direction: ltr;
|
|
717
|
+
--mirai-ui-text-align: left;
|
|
718
|
+
|
|
719
|
+
/* palette */
|
|
720
|
+
--mirai-ui-base: #ffffff;
|
|
721
|
+
/* !TODO: Change to -text ------------------------------------------------- */
|
|
722
|
+
--mirai-ui-content: #484848;
|
|
723
|
+
--mirai-ui-content-background: #f6f6f6;
|
|
724
|
+
--mirai-ui-content-border: #e4e4e4;
|
|
725
|
+
--mirai-ui-content-dark: #202020;
|
|
726
|
+
--mirai-ui-content-light: #999999;
|
|
727
|
+
/* !TODO ------------------------------------------------------------------ */
|
|
728
|
+
|
|
729
|
+
--mirai-ui-accent: #3978c5;
|
|
730
|
+
--mirai-ui-accent-background: #e9f1fc;
|
|
731
|
+
--mirai-ui-accent-border: #b0c9e8;
|
|
732
|
+
--mirai-ui-accent-dark: #224876;
|
|
733
|
+
--mirai-ui-accent-light: #88aedc;
|
|
734
|
+
|
|
735
|
+
--mirai-ui-error: #d14343;
|
|
736
|
+
--mirai-ui-error-background: #fdf4f4;
|
|
737
|
+
--mirai-ui-error-border: #f4b6b6;
|
|
738
|
+
--mirai-ui-error-dark: #7d2828;
|
|
739
|
+
--mirai-ui-error-light: #ee9191;
|
|
740
|
+
|
|
741
|
+
--mirai-ui-success: #52bd94;
|
|
742
|
+
--mirai-ui-success-background: #f5fbf8;
|
|
743
|
+
--mirai-ui-success-border: #dcf2ea;
|
|
744
|
+
--mirai-ui-success-dark: #317159;
|
|
745
|
+
--mirai-ui-success-light: #a3e6cd;
|
|
746
|
+
|
|
747
|
+
--mirai-ui-warning: #ffb020;
|
|
748
|
+
--mirai-ui-warning-background: #fffaf1;
|
|
749
|
+
--mirai-ui-warning-border: #ffdfa6;
|
|
750
|
+
--mirai-ui-warning-dark: #66460d;
|
|
751
|
+
--mirai-ui-warning-light: #ffd079;
|
|
752
|
+
|
|
753
|
+
/* spacing */
|
|
754
|
+
--mirai-ui-space-XS: 8px;
|
|
755
|
+
--mirai-ui-space-S: 12px;
|
|
756
|
+
--mirai-ui-space-M: 16px;
|
|
757
|
+
--mirai-ui-space-L: 24px;
|
|
758
|
+
--mirai-ui-space-XL: 48px;
|
|
759
|
+
--mirai-ui-space-XXL: 64px;
|
|
760
|
+
|
|
761
|
+
/* layer */
|
|
762
|
+
--mirai-ui-layer-S: 0;
|
|
763
|
+
--mirai-ui-layer-M: 1;
|
|
764
|
+
--mirai-ui-layer-L: 10;
|
|
765
|
+
--mirai-ui-layer-XL: 100;
|
|
766
|
+
|
|
767
|
+
/* motion */
|
|
768
|
+
--mirai-ui-motion-collapse: 200ms;
|
|
769
|
+
--mirai-ui-motion-expand: 300ms;
|
|
770
|
+
--mirai-ui-motion-easing: cubic-bezier(0.1, 0.1, 0.25, 0.9);
|
|
771
|
+
|
|
772
|
+
/* input */
|
|
773
|
+
--mirai-ui-input-font-size: var(--mirai-ui-font-size-paragraph);
|
|
774
|
+
--mirai-ui-input-min-height: var(--mirai-ui-space-XL);
|
|
775
|
+
|
|
776
|
+
/* defaults */
|
|
777
|
+
--mirai-ui-border-radius: 4px;
|
|
778
|
+
--mirai-ui-shadow: 0 0 var(--mirai-ui-space-XS) var(--mirai-ui-content-border);
|
|
779
|
+
```
|
|
780
|
+
|
|
582
781
|
## Hooks
|
|
583
782
|
|
|
584
783
|
a repository of hooks which will help you create simpler solutions.
|