@iroco/ui 1.0.0-3 → 1.0.0-4
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/dist/Alert.stories.svelte +31 -0
- package/dist/Alert.stories.svelte.d.ts +37 -0
- package/dist/Alert.svelte +60 -7
- package/dist/Button.stories.svelte +3 -2
- package/dist/Button.stories.svelte.d.ts +6 -3
- package/dist/Button.svelte +70 -18
- package/dist/DataTable.stories.svelte +33 -0
- package/dist/DataTable.stories.svelte.d.ts +29 -0
- package/dist/DataTable.svelte +55 -2
- package/dist/IconBurger.stories.svelte +32 -0
- package/dist/IconBurger.stories.svelte.d.ts +48 -0
- package/dist/IconClose.stories.svelte +32 -0
- package/dist/IconClose.stories.svelte.d.ts +48 -0
- package/dist/IconFloppyDisk.stories.svelte +36 -0
- package/dist/IconFloppyDisk.stories.svelte.d.ts +55 -0
- package/dist/IconInfo.stories.svelte +34 -0
- package/dist/IconInfo.stories.svelte.d.ts +50 -0
- package/dist/IconIrocoLogo.stories.svelte +37 -0
- package/dist/IconIrocoLogo.stories.svelte.d.ts +57 -0
- package/dist/IconMoreSign.stories.svelte +34 -0
- package/dist/IconMoreSign.stories.svelte.d.ts +50 -0
- package/dist/IconTrashCan.stories.svelte +34 -0
- package/dist/IconTrashCan.stories.svelte.d.ts +50 -0
- package/dist/IrocoLogo.stories.svelte +37 -0
- package/dist/IrocoLogo.stories.svelte.d.ts +50 -0
- package/dist/Loader.stories.svelte +23 -0
- package/dist/Loader.stories.svelte.d.ts +29 -0
- package/dist/NavBar.stories.svelte +38 -0
- package/dist/NavBar.stories.svelte.d.ts +37 -0
- package/dist/NavBar.svelte +132 -27
- package/dist/Navigation.svelte +57 -4
- package/dist/NumberInput.stories.svelte +50 -0
- package/dist/NumberInput.stories.svelte.d.ts +77 -0
- package/dist/NumberInput.svelte +60 -7
- package/dist/RadioButton.stories.svelte +53 -0
- package/dist/RadioButton.stories.svelte.d.ts +56 -0
- package/dist/RadioButton.svelte +57 -5
- package/dist/RadioButton.svelte.d.ts +0 -2
- package/dist/TextInput.stories.svelte +75 -0
- package/dist/TextInput.stories.svelte.d.ts +111 -0
- package/dist/TextInput.svelte +61 -8
- package/dist/scss/button.scss +17 -17
- package/dist/scss/colors.scss +68 -33
- package/dist/scss/fields/_input.scss +4 -5
- package/dist/scss/forms.scss +7 -7
- package/package.json +3 -2
- package/dist/NumberInputSized.svelte +0 -4
- package/dist/NumberInputSized.svelte.d.ts +0 -14
- package/dist/TopBar.svelte +0 -0
- package/dist/TopBar.svelte.d.ts +0 -23
- package/dist/scss/check.scss +0 -48
- package/dist/scss/iroco.scss +0 -38
package/dist/NavBar.svelte
CHANGED
|
@@ -98,6 +98,59 @@ $:
|
|
|
98
98
|
color: #f5f5f5;
|
|
99
99
|
}
|
|
100
100
|
|
|
101
|
+
:root {
|
|
102
|
+
--color-white-op-20: rgba(255, 255, 255, 0.2);
|
|
103
|
+
--color-white-op-30: rgba(255, 255, 255, 0.3);
|
|
104
|
+
--color-black-op-20: rgba(0, 0, 0, 0.2);
|
|
105
|
+
--color-black-op-40: rgba(0, 0, 0, 0.4);
|
|
106
|
+
--color-black-op-60: rgba(0, 0, 0, 0.6);
|
|
107
|
+
--color-dark-blue-op-30: #211d284d;
|
|
108
|
+
/* semantic colors */
|
|
109
|
+
--color-primary-light: #82eec7;
|
|
110
|
+
--color-primary: #00d692;
|
|
111
|
+
--color-primary-bg: #00d69280;
|
|
112
|
+
--color-primary-dark: #00a873;
|
|
113
|
+
--color-secondary-light: #ffffff;
|
|
114
|
+
--color-secondary: #f2ebe3;
|
|
115
|
+
--color-secondary-dark: #a9a29e;
|
|
116
|
+
/* feedback */
|
|
117
|
+
--color-success: #00d692;
|
|
118
|
+
--color-success-bg: #00d69280;
|
|
119
|
+
--color-danger: #ff504d;
|
|
120
|
+
--color-danger-bg: #ff504d80;
|
|
121
|
+
--color-warning: #ffe032;
|
|
122
|
+
--color-warning-bg: #ffe03280;
|
|
123
|
+
/* typography */
|
|
124
|
+
--color-text-light: #ffffff;
|
|
125
|
+
--color-text: #f2ebe3;
|
|
126
|
+
--color-text-op-50: #f2ebe380;
|
|
127
|
+
--color-text-op-60: #f2ebe399;
|
|
128
|
+
--color-text-dark: #464452;
|
|
129
|
+
/* border */
|
|
130
|
+
--color-border: #464452;
|
|
131
|
+
/* body */
|
|
132
|
+
--color-body: #211d28;
|
|
133
|
+
/* forms */
|
|
134
|
+
--form-element-border: var(--color-border);
|
|
135
|
+
--form-element-bg: #f2ebe3;
|
|
136
|
+
--form-text-placeholder: #a9a29e;
|
|
137
|
+
/* buttons */
|
|
138
|
+
--btn-primary-bg: #f2ebe3;
|
|
139
|
+
--btn-primary-border: #18151e;
|
|
140
|
+
--btn-primary-label: #f2ebe3;
|
|
141
|
+
--dark-btn-primary-label: #f2ebe3;
|
|
142
|
+
--dark-btn-primary-bg: #18151e;
|
|
143
|
+
--btn-basic-label: #18151e;
|
|
144
|
+
--btn-basic-bg: #f2ebe3;
|
|
145
|
+
--btn-basic-border: #18151e;
|
|
146
|
+
--btn-disabled-label: var(--color-black-op-60);
|
|
147
|
+
--btn-disabled-bg: #a9a29e;
|
|
148
|
+
--btn-disabled-border: var(--color-black-op-60);
|
|
149
|
+
/* icons */
|
|
150
|
+
--color-icon-primary: #a9a29e;
|
|
151
|
+
--color-icon-secondary: inherit;
|
|
152
|
+
}
|
|
153
|
+
|
|
101
154
|
.container-wide {
|
|
102
155
|
width: calc(100% - 20px);
|
|
103
156
|
max-width: 2360px;
|
|
@@ -324,6 +377,59 @@ $:
|
|
|
324
377
|
color: #f5f5f5;
|
|
325
378
|
}
|
|
326
379
|
|
|
380
|
+
:root {
|
|
381
|
+
--color-white-op-20: rgba(255, 255, 255, 0.2);
|
|
382
|
+
--color-white-op-30: rgba(255, 255, 255, 0.3);
|
|
383
|
+
--color-black-op-20: rgba(0, 0, 0, 0.2);
|
|
384
|
+
--color-black-op-40: rgba(0, 0, 0, 0.4);
|
|
385
|
+
--color-black-op-60: rgba(0, 0, 0, 0.6);
|
|
386
|
+
--color-dark-blue-op-30: #211d284d;
|
|
387
|
+
/* semantic colors */
|
|
388
|
+
--color-primary-light: #82eec7;
|
|
389
|
+
--color-primary: #00d692;
|
|
390
|
+
--color-primary-bg: #00d69280;
|
|
391
|
+
--color-primary-dark: #00a873;
|
|
392
|
+
--color-secondary-light: #ffffff;
|
|
393
|
+
--color-secondary: #f2ebe3;
|
|
394
|
+
--color-secondary-dark: #a9a29e;
|
|
395
|
+
/* feedback */
|
|
396
|
+
--color-success: #00d692;
|
|
397
|
+
--color-success-bg: #00d69280;
|
|
398
|
+
--color-danger: #ff504d;
|
|
399
|
+
--color-danger-bg: #ff504d80;
|
|
400
|
+
--color-warning: #ffe032;
|
|
401
|
+
--color-warning-bg: #ffe03280;
|
|
402
|
+
/* typography */
|
|
403
|
+
--color-text-light: #ffffff;
|
|
404
|
+
--color-text: #f2ebe3;
|
|
405
|
+
--color-text-op-50: #f2ebe380;
|
|
406
|
+
--color-text-op-60: #f2ebe399;
|
|
407
|
+
--color-text-dark: #464452;
|
|
408
|
+
/* border */
|
|
409
|
+
--color-border: #464452;
|
|
410
|
+
/* body */
|
|
411
|
+
--color-body: #211d28;
|
|
412
|
+
/* forms */
|
|
413
|
+
--form-element-border: var(--color-border);
|
|
414
|
+
--form-element-bg: #f2ebe3;
|
|
415
|
+
--form-text-placeholder: #a9a29e;
|
|
416
|
+
/* buttons */
|
|
417
|
+
--btn-primary-bg: #f2ebe3;
|
|
418
|
+
--btn-primary-border: #18151e;
|
|
419
|
+
--btn-primary-label: #f2ebe3;
|
|
420
|
+
--dark-btn-primary-label: #f2ebe3;
|
|
421
|
+
--dark-btn-primary-bg: #18151e;
|
|
422
|
+
--btn-basic-label: #18151e;
|
|
423
|
+
--btn-basic-bg: #f2ebe3;
|
|
424
|
+
--btn-basic-border: #18151e;
|
|
425
|
+
--btn-disabled-label: var(--color-black-op-60);
|
|
426
|
+
--btn-disabled-bg: #a9a29e;
|
|
427
|
+
--btn-disabled-border: var(--color-black-op-60);
|
|
428
|
+
/* icons */
|
|
429
|
+
--color-icon-primary: #a9a29e;
|
|
430
|
+
--color-icon-secondary: inherit;
|
|
431
|
+
}
|
|
432
|
+
|
|
327
433
|
.container-wide {
|
|
328
434
|
width: calc(100% - 20px);
|
|
329
435
|
max-width: 2360px;
|
|
@@ -510,36 +616,35 @@ $:
|
|
|
510
616
|
cursor: pointer;
|
|
511
617
|
-webkit-touch-callout: none;
|
|
512
618
|
-webkit-user-select: none;
|
|
513
|
-
-khtml-user-select: none;
|
|
514
619
|
-moz-user-select: none;
|
|
515
620
|
-ms-user-select: none;
|
|
516
621
|
user-select: none;
|
|
517
622
|
border: none;
|
|
518
623
|
flex-shrink: 0;
|
|
519
|
-
margin: 1em
|
|
624
|
+
margin: 1em 0;
|
|
520
625
|
position: relative;
|
|
521
626
|
text-transform: uppercase;
|
|
522
627
|
border-radius: 0.3em;
|
|
523
628
|
}
|
|
524
629
|
|
|
525
630
|
.iroco-ui-button--basic {
|
|
526
|
-
color:
|
|
527
|
-
background:
|
|
528
|
-
border: 1px solid
|
|
631
|
+
color: var(--btn-basic-label);
|
|
632
|
+
background: var(--btn-basic-bg);
|
|
633
|
+
border: 1px solid var(--btn-basic-border);
|
|
529
634
|
}
|
|
530
635
|
|
|
531
636
|
.iroco-ui-button--dark {
|
|
532
|
-
background:
|
|
533
|
-
color:
|
|
637
|
+
background: var(--dark-btn-primary-bg);
|
|
638
|
+
color: var(--dark-btn-primary-label);
|
|
534
639
|
}
|
|
535
640
|
|
|
536
641
|
.iroco-ui-button--success {
|
|
537
|
-
background:
|
|
538
|
-
color:
|
|
642
|
+
background: var(--color-success);
|
|
643
|
+
color: var(--btn-secondary-label);
|
|
539
644
|
}
|
|
540
645
|
|
|
541
646
|
.iroco-ui-button--danger {
|
|
542
|
-
background:
|
|
647
|
+
background: var(--color-danger);
|
|
543
648
|
}
|
|
544
649
|
|
|
545
650
|
.iroco-ui-button--regular {
|
|
@@ -551,25 +656,25 @@ $:
|
|
|
551
656
|
}
|
|
552
657
|
|
|
553
658
|
.iroco-ui-button--basic:hover, .iroco-ui-button--success:hover, .iroco-ui-button--danger:hover {
|
|
554
|
-
box-shadow: inset 0 0 0 10em
|
|
659
|
+
box-shadow: inset 0 0 0 10em var(--color-black-op-20);
|
|
555
660
|
}
|
|
556
661
|
|
|
557
662
|
.iroco-ui-button--dark:hover {
|
|
558
|
-
box-shadow: inset 0 0 0 10em
|
|
663
|
+
box-shadow: inset 0 0 0 10em var(--color-white-op-20);
|
|
559
664
|
}
|
|
560
665
|
|
|
561
666
|
.iroco-ui-button:active {
|
|
562
667
|
box-shadow: none;
|
|
563
668
|
}
|
|
564
669
|
|
|
565
|
-
.iroco-ui-button.disabled {
|
|
566
|
-
background-color:
|
|
567
|
-
color:
|
|
568
|
-
border-color:
|
|
670
|
+
.iroco-ui-button.disabled, .iroco-ui-button:disabled {
|
|
671
|
+
background-color: var(--btn-disabled-bg);
|
|
672
|
+
color: var(--btn-disabled-label);
|
|
673
|
+
border-color: var(--btn-disabled-border);
|
|
569
674
|
cursor: default;
|
|
570
675
|
}
|
|
571
676
|
|
|
572
|
-
.iroco-ui-button.disabled:hover {
|
|
677
|
+
.iroco-ui-button.disabled:hover, .iroco-ui-button:disabled:hover {
|
|
573
678
|
box-shadow: none;
|
|
574
679
|
}
|
|
575
680
|
|
|
@@ -577,7 +682,7 @@ $:
|
|
|
577
682
|
background: none;
|
|
578
683
|
border: none;
|
|
579
684
|
font-family: "Arial";
|
|
580
|
-
color:
|
|
685
|
+
color: var(--color-text);
|
|
581
686
|
cursor: pointer;
|
|
582
687
|
}
|
|
583
688
|
|
|
@@ -609,7 +714,7 @@ $:
|
|
|
609
714
|
|
|
610
715
|
.nav__sidebar__item {
|
|
611
716
|
padding: 2em;
|
|
612
|
-
border-top: 1px solid
|
|
717
|
+
border-top: 1px solid var(--color-border);
|
|
613
718
|
}
|
|
614
719
|
|
|
615
720
|
.nav__sidebar__item:first-child {
|
|
@@ -617,8 +722,8 @@ $:
|
|
|
617
722
|
}
|
|
618
723
|
|
|
619
724
|
.nav__sidebar .active {
|
|
620
|
-
border-top: 1px solid
|
|
621
|
-
border-bottom: 1px solid
|
|
725
|
+
border-top: 1px solid var(--color-primary);
|
|
726
|
+
border-bottom: 1px solid var(--color-primary);
|
|
622
727
|
}
|
|
623
728
|
|
|
624
729
|
.nav__topbar {
|
|
@@ -639,19 +744,19 @@ $:
|
|
|
639
744
|
}
|
|
640
745
|
|
|
641
746
|
.nav__topbar .active {
|
|
642
|
-
border-bottom: 1px solid
|
|
747
|
+
border-bottom: 1px solid var(--color-primary);
|
|
643
748
|
}
|
|
644
749
|
|
|
645
750
|
.nav__version {
|
|
646
751
|
margin-top: auto;
|
|
647
752
|
padding-left: 2em;
|
|
648
|
-
color:
|
|
753
|
+
color: var(--color-text-dark);
|
|
649
754
|
}
|
|
650
755
|
|
|
651
756
|
@media all and (max-width: 768px) {
|
|
652
757
|
.nav__sidebar, .nav__topbar {
|
|
653
758
|
position: fixed;
|
|
654
|
-
background-color:
|
|
759
|
+
background-color: var(--color-body);
|
|
655
760
|
top: 0;
|
|
656
761
|
right: 0;
|
|
657
762
|
width: 100%;
|
|
@@ -676,21 +781,21 @@ $:
|
|
|
676
781
|
top: 0;
|
|
677
782
|
background-color: transparent;
|
|
678
783
|
border: none;
|
|
679
|
-
color:
|
|
784
|
+
color: var(--color-icon-primary);
|
|
680
785
|
}
|
|
681
786
|
.nav__sidebar {
|
|
682
787
|
top: 0;
|
|
683
788
|
left: 0;
|
|
684
789
|
}
|
|
685
790
|
.nav__sidebar__item:first-child {
|
|
686
|
-
border-top: 1px solid
|
|
791
|
+
border-top: 1px solid var(--color-border);
|
|
687
792
|
}
|
|
688
793
|
.nav__topbar {
|
|
689
794
|
height: 100%;
|
|
690
795
|
}
|
|
691
796
|
.nav__topbar__item {
|
|
692
797
|
padding: 2em;
|
|
693
|
-
border-top: 1px solid
|
|
798
|
+
border-top: 1px solid var(--color-border);
|
|
694
799
|
}
|
|
695
800
|
.nav__version {
|
|
696
801
|
display: none;
|
package/dist/Navigation.svelte
CHANGED
|
@@ -94,6 +94,59 @@ let showMenu = false;
|
|
|
94
94
|
color: #f5f5f5;
|
|
95
95
|
}
|
|
96
96
|
|
|
97
|
+
:root {
|
|
98
|
+
--color-white-op-20: rgba(255, 255, 255, 0.2);
|
|
99
|
+
--color-white-op-30: rgba(255, 255, 255, 0.3);
|
|
100
|
+
--color-black-op-20: rgba(0, 0, 0, 0.2);
|
|
101
|
+
--color-black-op-40: rgba(0, 0, 0, 0.4);
|
|
102
|
+
--color-black-op-60: rgba(0, 0, 0, 0.6);
|
|
103
|
+
--color-dark-blue-op-30: #211d284d;
|
|
104
|
+
/* semantic colors */
|
|
105
|
+
--color-primary-light: #82eec7;
|
|
106
|
+
--color-primary: #00d692;
|
|
107
|
+
--color-primary-bg: #00d69280;
|
|
108
|
+
--color-primary-dark: #00a873;
|
|
109
|
+
--color-secondary-light: #ffffff;
|
|
110
|
+
--color-secondary: #f2ebe3;
|
|
111
|
+
--color-secondary-dark: #a9a29e;
|
|
112
|
+
/* feedback */
|
|
113
|
+
--color-success: #00d692;
|
|
114
|
+
--color-success-bg: #00d69280;
|
|
115
|
+
--color-danger: #ff504d;
|
|
116
|
+
--color-danger-bg: #ff504d80;
|
|
117
|
+
--color-warning: #ffe032;
|
|
118
|
+
--color-warning-bg: #ffe03280;
|
|
119
|
+
/* typography */
|
|
120
|
+
--color-text-light: #ffffff;
|
|
121
|
+
--color-text: #f2ebe3;
|
|
122
|
+
--color-text-op-50: #f2ebe380;
|
|
123
|
+
--color-text-op-60: #f2ebe399;
|
|
124
|
+
--color-text-dark: #464452;
|
|
125
|
+
/* border */
|
|
126
|
+
--color-border: #464452;
|
|
127
|
+
/* body */
|
|
128
|
+
--color-body: #211d28;
|
|
129
|
+
/* forms */
|
|
130
|
+
--form-element-border: var(--color-border);
|
|
131
|
+
--form-element-bg: #f2ebe3;
|
|
132
|
+
--form-text-placeholder: #a9a29e;
|
|
133
|
+
/* buttons */
|
|
134
|
+
--btn-primary-bg: #f2ebe3;
|
|
135
|
+
--btn-primary-border: #18151e;
|
|
136
|
+
--btn-primary-label: #f2ebe3;
|
|
137
|
+
--dark-btn-primary-label: #f2ebe3;
|
|
138
|
+
--dark-btn-primary-bg: #18151e;
|
|
139
|
+
--btn-basic-label: #18151e;
|
|
140
|
+
--btn-basic-bg: #f2ebe3;
|
|
141
|
+
--btn-basic-border: #18151e;
|
|
142
|
+
--btn-disabled-label: var(--color-black-op-60);
|
|
143
|
+
--btn-disabled-bg: #a9a29e;
|
|
144
|
+
--btn-disabled-border: var(--color-black-op-60);
|
|
145
|
+
/* icons */
|
|
146
|
+
--color-icon-primary: #a9a29e;
|
|
147
|
+
--color-icon-secondary: inherit;
|
|
148
|
+
}
|
|
149
|
+
|
|
97
150
|
.container-wide {
|
|
98
151
|
width: calc(100% - 20px);
|
|
99
152
|
max-width: 2360px;
|
|
@@ -301,7 +354,7 @@ let showMenu = false;
|
|
|
301
354
|
@media all and (max-width: 768px) {
|
|
302
355
|
.navigation {
|
|
303
356
|
display: none;
|
|
304
|
-
color:
|
|
357
|
+
color: var(--color-text);
|
|
305
358
|
}
|
|
306
359
|
.navigation--mobile {
|
|
307
360
|
display: flex;
|
|
@@ -311,7 +364,7 @@ let showMenu = false;
|
|
|
311
364
|
top: 0;
|
|
312
365
|
z-index: 1;
|
|
313
366
|
width: 100%;
|
|
314
|
-
border-bottom: 1px solid
|
|
367
|
+
border-bottom: 1px solid var(--color-border);
|
|
315
368
|
}
|
|
316
369
|
.navigation--mobile h1 {
|
|
317
370
|
font-size: 2em;
|
|
@@ -319,7 +372,7 @@ let showMenu = false;
|
|
|
319
372
|
.navigation--mobile__button {
|
|
320
373
|
background-color: transparent;
|
|
321
374
|
border: none;
|
|
322
|
-
color:
|
|
375
|
+
color: var(--color-icon-primary);
|
|
323
376
|
}
|
|
324
377
|
.navigation--mobile__title-container {
|
|
325
378
|
display: flex;
|
|
@@ -331,5 +384,5 @@ let showMenu = false;
|
|
|
331
384
|
}
|
|
332
385
|
|
|
333
386
|
.navigation__title-link, .navigation-mobile__title-link {
|
|
334
|
-
color:
|
|
387
|
+
color: var(--color-text-light);
|
|
335
388
|
}</style>
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
<script context="module">
|
|
2
|
+
|
|
3
|
+
import { NumberInput } from './index';
|
|
4
|
+
|
|
5
|
+
export const meta = {
|
|
6
|
+
title: 'Iroco-UI/Form/NumberInput',
|
|
7
|
+
component: NumberInput,
|
|
8
|
+
argTypes: {
|
|
9
|
+
id: {
|
|
10
|
+
control: { type: 'text' }
|
|
11
|
+
},
|
|
12
|
+
label: {
|
|
13
|
+
control: { type: 'text' }
|
|
14
|
+
},
|
|
15
|
+
placeholder: {
|
|
16
|
+
control: { type: 'text' }
|
|
17
|
+
},
|
|
18
|
+
error: {
|
|
19
|
+
control: { type: 'text' }
|
|
20
|
+
},
|
|
21
|
+
value: {
|
|
22
|
+
control: { type: 'number' }
|
|
23
|
+
},
|
|
24
|
+
min: {
|
|
25
|
+
control: { type: 'number' }
|
|
26
|
+
},
|
|
27
|
+
max: {
|
|
28
|
+
control: { type: 'number' }
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
</script>
|
|
34
|
+
|
|
35
|
+
<script>
|
|
36
|
+
import { Story, Template } from '@storybook/addon-svelte-csf';
|
|
37
|
+
</script>
|
|
38
|
+
|
|
39
|
+
<Template let:args>
|
|
40
|
+
<form class="iroco-ui-form">
|
|
41
|
+
<NumberInput {...args}>
|
|
42
|
+
</NumberInput>
|
|
43
|
+
</form>
|
|
44
|
+
</Template>
|
|
45
|
+
|
|
46
|
+
<Story name="Default"></Story>
|
|
47
|
+
<Story name="Label" args={{ label: 'Label' }} />
|
|
48
|
+
<Story name="Error" args={{ error: 'An error message' }} />
|
|
49
|
+
<Story name="Placeholder" args={{ placeholder: 'A placeholder' }} />
|
|
50
|
+
<Story name="Min / Max" args={{ min: 0,max:10,value: 5 }} />
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
export namespace meta {
|
|
2
|
+
export let title: string;
|
|
3
|
+
export { NumberInput as component };
|
|
4
|
+
export namespace argTypes {
|
|
5
|
+
namespace id {
|
|
6
|
+
namespace control {
|
|
7
|
+
let type: string;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
namespace label {
|
|
11
|
+
export namespace control_1 {
|
|
12
|
+
let type_1: string;
|
|
13
|
+
export { type_1 as type };
|
|
14
|
+
}
|
|
15
|
+
export { control_1 as control };
|
|
16
|
+
}
|
|
17
|
+
namespace placeholder {
|
|
18
|
+
export namespace control_2 {
|
|
19
|
+
let type_2: string;
|
|
20
|
+
export { type_2 as type };
|
|
21
|
+
}
|
|
22
|
+
export { control_2 as control };
|
|
23
|
+
}
|
|
24
|
+
namespace error {
|
|
25
|
+
export namespace control_3 {
|
|
26
|
+
let type_3: string;
|
|
27
|
+
export { type_3 as type };
|
|
28
|
+
}
|
|
29
|
+
export { control_3 as control };
|
|
30
|
+
}
|
|
31
|
+
namespace value {
|
|
32
|
+
export namespace control_4 {
|
|
33
|
+
let type_4: string;
|
|
34
|
+
export { type_4 as type };
|
|
35
|
+
}
|
|
36
|
+
export { control_4 as control };
|
|
37
|
+
}
|
|
38
|
+
namespace min {
|
|
39
|
+
export namespace control_5 {
|
|
40
|
+
let type_5: string;
|
|
41
|
+
export { type_5 as type };
|
|
42
|
+
}
|
|
43
|
+
export { control_5 as control };
|
|
44
|
+
}
|
|
45
|
+
namespace max {
|
|
46
|
+
export namespace control_6 {
|
|
47
|
+
let type_6: string;
|
|
48
|
+
export { type_6 as type };
|
|
49
|
+
}
|
|
50
|
+
export { control_6 as control };
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
/** @typedef {typeof __propDef.props} NumberInputProps */
|
|
55
|
+
/** @typedef {typeof __propDef.events} NumberInputEvents */
|
|
56
|
+
/** @typedef {typeof __propDef.slots} NumberInputSlots */
|
|
57
|
+
export default class NumberInput extends SvelteComponent<{
|
|
58
|
+
[x: string]: never;
|
|
59
|
+
}, {
|
|
60
|
+
[evt: string]: CustomEvent<any>;
|
|
61
|
+
}, {}> {
|
|
62
|
+
}
|
|
63
|
+
export type NumberInputProps = typeof __propDef.props;
|
|
64
|
+
export type NumberInputEvents = typeof __propDef.events;
|
|
65
|
+
export type NumberInputSlots = typeof __propDef.slots;
|
|
66
|
+
import { NumberInput } from './index';
|
|
67
|
+
import { SvelteComponent } from "svelte";
|
|
68
|
+
declare const __propDef: {
|
|
69
|
+
props: {
|
|
70
|
+
[x: string]: never;
|
|
71
|
+
};
|
|
72
|
+
events: {
|
|
73
|
+
[evt: string]: CustomEvent<any>;
|
|
74
|
+
};
|
|
75
|
+
slots: {};
|
|
76
|
+
};
|
|
77
|
+
export {};
|
package/dist/NumberInput.svelte
CHANGED
|
@@ -61,6 +61,59 @@ export let max;
|
|
|
61
61
|
color: #f5f5f5;
|
|
62
62
|
}
|
|
63
63
|
|
|
64
|
+
:root {
|
|
65
|
+
--color-white-op-20: rgba(255, 255, 255, 0.2);
|
|
66
|
+
--color-white-op-30: rgba(255, 255, 255, 0.3);
|
|
67
|
+
--color-black-op-20: rgba(0, 0, 0, 0.2);
|
|
68
|
+
--color-black-op-40: rgba(0, 0, 0, 0.4);
|
|
69
|
+
--color-black-op-60: rgba(0, 0, 0, 0.6);
|
|
70
|
+
--color-dark-blue-op-30: #211d284d;
|
|
71
|
+
/* semantic colors */
|
|
72
|
+
--color-primary-light: #82eec7;
|
|
73
|
+
--color-primary: #00d692;
|
|
74
|
+
--color-primary-bg: #00d69280;
|
|
75
|
+
--color-primary-dark: #00a873;
|
|
76
|
+
--color-secondary-light: #ffffff;
|
|
77
|
+
--color-secondary: #f2ebe3;
|
|
78
|
+
--color-secondary-dark: #a9a29e;
|
|
79
|
+
/* feedback */
|
|
80
|
+
--color-success: #00d692;
|
|
81
|
+
--color-success-bg: #00d69280;
|
|
82
|
+
--color-danger: #ff504d;
|
|
83
|
+
--color-danger-bg: #ff504d80;
|
|
84
|
+
--color-warning: #ffe032;
|
|
85
|
+
--color-warning-bg: #ffe03280;
|
|
86
|
+
/* typography */
|
|
87
|
+
--color-text-light: #ffffff;
|
|
88
|
+
--color-text: #f2ebe3;
|
|
89
|
+
--color-text-op-50: #f2ebe380;
|
|
90
|
+
--color-text-op-60: #f2ebe399;
|
|
91
|
+
--color-text-dark: #464452;
|
|
92
|
+
/* border */
|
|
93
|
+
--color-border: #464452;
|
|
94
|
+
/* body */
|
|
95
|
+
--color-body: #211d28;
|
|
96
|
+
/* forms */
|
|
97
|
+
--form-element-border: var(--color-border);
|
|
98
|
+
--form-element-bg: #f2ebe3;
|
|
99
|
+
--form-text-placeholder: #a9a29e;
|
|
100
|
+
/* buttons */
|
|
101
|
+
--btn-primary-bg: #f2ebe3;
|
|
102
|
+
--btn-primary-border: #18151e;
|
|
103
|
+
--btn-primary-label: #f2ebe3;
|
|
104
|
+
--dark-btn-primary-label: #f2ebe3;
|
|
105
|
+
--dark-btn-primary-bg: #18151e;
|
|
106
|
+
--btn-basic-label: #18151e;
|
|
107
|
+
--btn-basic-bg: #f2ebe3;
|
|
108
|
+
--btn-basic-border: #18151e;
|
|
109
|
+
--btn-disabled-label: var(--color-black-op-60);
|
|
110
|
+
--btn-disabled-bg: #a9a29e;
|
|
111
|
+
--btn-disabled-border: var(--color-black-op-60);
|
|
112
|
+
/* icons */
|
|
113
|
+
--color-icon-primary: #a9a29e;
|
|
114
|
+
--color-icon-secondary: inherit;
|
|
115
|
+
}
|
|
116
|
+
|
|
64
117
|
.iroco-ui-form input,
|
|
65
118
|
.iroco-ui-form textarea {
|
|
66
119
|
outline: none;
|
|
@@ -72,9 +125,9 @@ export let max;
|
|
|
72
125
|
flex-direction: column;
|
|
73
126
|
}
|
|
74
127
|
.iroco-ui-form .iroco-ui-input > input {
|
|
75
|
-
color:
|
|
76
|
-
background:
|
|
77
|
-
border: 1px solid
|
|
128
|
+
color: var(--color-text);
|
|
129
|
+
background: var(--color-body);
|
|
130
|
+
border: 1px solid var(--color-border);
|
|
78
131
|
padding: 1em 1.5em;
|
|
79
132
|
text-overflow: ellipsis;
|
|
80
133
|
white-space: nowrap;
|
|
@@ -82,16 +135,16 @@ export let max;
|
|
|
82
135
|
border-radius: 0.5em;
|
|
83
136
|
}
|
|
84
137
|
.iroco-ui-form .iroco-ui-input > input::placeholder {
|
|
85
|
-
color:
|
|
138
|
+
color: var(--color-text-op-50);
|
|
86
139
|
}
|
|
87
140
|
.iroco-ui-form .iroco-ui-input > input.error {
|
|
88
|
-
border-color:
|
|
141
|
+
border-color: var(--color-danger);
|
|
89
142
|
}
|
|
90
143
|
.iroco-ui-form .iroco-ui-input > input.readonlyInput {
|
|
91
144
|
cursor: not-allowed;
|
|
92
145
|
}
|
|
93
146
|
.iroco-ui-form .iroco-ui-label {
|
|
94
|
-
color:
|
|
147
|
+
color: var(--color-text-op-60);
|
|
95
148
|
font-weight: bold;
|
|
96
149
|
padding-bottom: 10px;
|
|
97
150
|
display: inline-block;
|
|
@@ -107,5 +160,5 @@ export let max;
|
|
|
107
160
|
}
|
|
108
161
|
.iroco-ui-form p.error {
|
|
109
162
|
margin: 0;
|
|
110
|
-
color:
|
|
163
|
+
color: var(--color-danger);
|
|
111
164
|
}</style>
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
<script context="module">
|
|
2
|
+
|
|
3
|
+
import { RadioButton } from './index';
|
|
4
|
+
|
|
5
|
+
export const meta = {
|
|
6
|
+
title: 'Iroco-UI/Form/RadioButton',
|
|
7
|
+
component: RadioButton,
|
|
8
|
+
argTypes: {
|
|
9
|
+
value: {
|
|
10
|
+
control: { type: 'string' }
|
|
11
|
+
},
|
|
12
|
+
group: {
|
|
13
|
+
control: { type: 'string' }
|
|
14
|
+
},
|
|
15
|
+
name: {
|
|
16
|
+
control: { type: 'string' }
|
|
17
|
+
},
|
|
18
|
+
checked: {
|
|
19
|
+
control: { type: 'boolean' }
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
</script>
|
|
25
|
+
|
|
26
|
+
<script>
|
|
27
|
+
import { Story, Template } from '@storybook/addon-svelte-csf';
|
|
28
|
+
|
|
29
|
+
let group = 'bar';
|
|
30
|
+
</script>
|
|
31
|
+
|
|
32
|
+
<Template let:args>
|
|
33
|
+
<form class="iroco-ui-form">
|
|
34
|
+
<RadioButton bind:group={group}
|
|
35
|
+
name="name-hello"
|
|
36
|
+
value="hello" {...args}>
|
|
37
|
+
Hello
|
|
38
|
+
</RadioButton>
|
|
39
|
+
<RadioButton bind:group={group}
|
|
40
|
+
name="name-foo"
|
|
41
|
+
value="foo" >
|
|
42
|
+
Foo
|
|
43
|
+
</RadioButton>
|
|
44
|
+
<RadioButton bind:group={group}
|
|
45
|
+
name="name-bar"
|
|
46
|
+
value="bar" >
|
|
47
|
+
Bar
|
|
48
|
+
</RadioButton>
|
|
49
|
+
</form>
|
|
50
|
+
Selected group : {group}
|
|
51
|
+
</Template>
|
|
52
|
+
|
|
53
|
+
<Story name="Default"></Story>
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
export namespace meta {
|
|
2
|
+
export let title: string;
|
|
3
|
+
export { RadioButton as component };
|
|
4
|
+
export namespace argTypes {
|
|
5
|
+
namespace value {
|
|
6
|
+
namespace control {
|
|
7
|
+
let type: string;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
namespace group {
|
|
11
|
+
export namespace control_1 {
|
|
12
|
+
let type_1: string;
|
|
13
|
+
export { type_1 as type };
|
|
14
|
+
}
|
|
15
|
+
export { control_1 as control };
|
|
16
|
+
}
|
|
17
|
+
namespace name {
|
|
18
|
+
export namespace control_2 {
|
|
19
|
+
let type_2: string;
|
|
20
|
+
export { type_2 as type };
|
|
21
|
+
}
|
|
22
|
+
export { control_2 as control };
|
|
23
|
+
}
|
|
24
|
+
namespace checked {
|
|
25
|
+
export namespace control_3 {
|
|
26
|
+
let type_3: string;
|
|
27
|
+
export { type_3 as type };
|
|
28
|
+
}
|
|
29
|
+
export { control_3 as control };
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
/** @typedef {typeof __propDef.props} RadioButtonProps */
|
|
34
|
+
/** @typedef {typeof __propDef.events} RadioButtonEvents */
|
|
35
|
+
/** @typedef {typeof __propDef.slots} RadioButtonSlots */
|
|
36
|
+
export default class RadioButton extends SvelteComponent<{
|
|
37
|
+
[x: string]: never;
|
|
38
|
+
}, {
|
|
39
|
+
[evt: string]: CustomEvent<any>;
|
|
40
|
+
}, {}> {
|
|
41
|
+
}
|
|
42
|
+
export type RadioButtonProps = typeof __propDef.props;
|
|
43
|
+
export type RadioButtonEvents = typeof __propDef.events;
|
|
44
|
+
export type RadioButtonSlots = typeof __propDef.slots;
|
|
45
|
+
import { RadioButton } from './index';
|
|
46
|
+
import { SvelteComponent } from "svelte";
|
|
47
|
+
declare const __propDef: {
|
|
48
|
+
props: {
|
|
49
|
+
[x: string]: never;
|
|
50
|
+
};
|
|
51
|
+
events: {
|
|
52
|
+
[evt: string]: CustomEvent<any>;
|
|
53
|
+
};
|
|
54
|
+
slots: {};
|
|
55
|
+
};
|
|
56
|
+
export {};
|