@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.
Files changed (52) hide show
  1. package/dist/Alert.stories.svelte +31 -0
  2. package/dist/Alert.stories.svelte.d.ts +37 -0
  3. package/dist/Alert.svelte +60 -7
  4. package/dist/Button.stories.svelte +3 -2
  5. package/dist/Button.stories.svelte.d.ts +6 -3
  6. package/dist/Button.svelte +70 -18
  7. package/dist/DataTable.stories.svelte +33 -0
  8. package/dist/DataTable.stories.svelte.d.ts +29 -0
  9. package/dist/DataTable.svelte +55 -2
  10. package/dist/IconBurger.stories.svelte +32 -0
  11. package/dist/IconBurger.stories.svelte.d.ts +48 -0
  12. package/dist/IconClose.stories.svelte +32 -0
  13. package/dist/IconClose.stories.svelte.d.ts +48 -0
  14. package/dist/IconFloppyDisk.stories.svelte +36 -0
  15. package/dist/IconFloppyDisk.stories.svelte.d.ts +55 -0
  16. package/dist/IconInfo.stories.svelte +34 -0
  17. package/dist/IconInfo.stories.svelte.d.ts +50 -0
  18. package/dist/IconIrocoLogo.stories.svelte +37 -0
  19. package/dist/IconIrocoLogo.stories.svelte.d.ts +57 -0
  20. package/dist/IconMoreSign.stories.svelte +34 -0
  21. package/dist/IconMoreSign.stories.svelte.d.ts +50 -0
  22. package/dist/IconTrashCan.stories.svelte +34 -0
  23. package/dist/IconTrashCan.stories.svelte.d.ts +50 -0
  24. package/dist/IrocoLogo.stories.svelte +37 -0
  25. package/dist/IrocoLogo.stories.svelte.d.ts +50 -0
  26. package/dist/Loader.stories.svelte +23 -0
  27. package/dist/Loader.stories.svelte.d.ts +29 -0
  28. package/dist/NavBar.stories.svelte +38 -0
  29. package/dist/NavBar.stories.svelte.d.ts +37 -0
  30. package/dist/NavBar.svelte +132 -27
  31. package/dist/Navigation.svelte +57 -4
  32. package/dist/NumberInput.stories.svelte +50 -0
  33. package/dist/NumberInput.stories.svelte.d.ts +77 -0
  34. package/dist/NumberInput.svelte +60 -7
  35. package/dist/RadioButton.stories.svelte +53 -0
  36. package/dist/RadioButton.stories.svelte.d.ts +56 -0
  37. package/dist/RadioButton.svelte +57 -5
  38. package/dist/RadioButton.svelte.d.ts +0 -2
  39. package/dist/TextInput.stories.svelte +75 -0
  40. package/dist/TextInput.stories.svelte.d.ts +111 -0
  41. package/dist/TextInput.svelte +61 -8
  42. package/dist/scss/button.scss +17 -17
  43. package/dist/scss/colors.scss +68 -33
  44. package/dist/scss/fields/_input.scss +4 -5
  45. package/dist/scss/forms.scss +7 -7
  46. package/package.json +3 -2
  47. package/dist/NumberInputSized.svelte +0 -4
  48. package/dist/NumberInputSized.svelte.d.ts +0 -14
  49. package/dist/TopBar.svelte +0 -0
  50. package/dist/TopBar.svelte.d.ts +0 -23
  51. package/dist/scss/check.scss +0 -48
  52. package/dist/scss/iroco.scss +0 -38
@@ -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 0em;
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: #18151e;
527
- background: #f2ebe3;
528
- border: 1px solid #18151e;
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: #18151e;
533
- color: #f2ebe3;
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: #00d692;
538
- color: #18151e;
642
+ background: var(--color-success);
643
+ color: var(--btn-secondary-label);
539
644
  }
540
645
 
541
646
  .iroco-ui-button--danger {
542
- background: #ff504d;
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 rgba(0, 0, 0, 0.2);
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 rgba(255, 255, 255, 0.2);
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: #a9a29e;
567
- color: #33323a;
568
- border-color: #464452;
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: #f2ebe3;
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 #464452;
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 #00d692;
621
- border-bottom: 1px solid #00d692;
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 #00d692;
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: #464452;
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: #211d28;
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: #a9a29e;
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 #464452;
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 #464452;
798
+ border-top: 1px solid var(--color-border);
694
799
  }
695
800
  .nav__version {
696
801
  display: none;
@@ -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: #f2ebe3;
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 #464452;
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: #a9a29e;
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: #ffffff;
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 {};
@@ -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: #f2ebe3;
76
- background: #211d28;
77
- border: 1px solid #464452;
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: rgba(242, 235, 227, 0.5);
138
+ color: var(--color-text-op-50);
86
139
  }
87
140
  .iroco-ui-form .iroco-ui-input > input.error {
88
- border-color: #ff504d;
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: rgba(242, 235, 227, 0.6);
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: #ff504d;
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 {};