@itcase/ui 1.0.100 → 1.0.102

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 (62) hide show
  1. package/dist/css/components/Badge/Badge.css +1 -1
  2. package/dist/css/components/Checkbox/Checkbox.css +2 -1
  3. package/dist/css/components/DatePicker/DatePicker.css +1 -1
  4. package/dist/css/components/Group/Group.css +1 -1
  5. package/dist/css/components/Menu/Menu.css +3 -2
  6. package/dist/css/components/MenuItem/MenuItem.css +26 -0
  7. package/dist/css/components/Pagination/Pagination.css +5 -3
  8. package/dist/css/components/Pagination/css/__item/pagination__item.css +4 -3
  9. package/dist/css/components/Pagination/css/__item/pagination__item_state_disabled.css +1 -0
  10. package/dist/css/components/Select/Select.css +5 -0
  11. package/dist/css/components/Select/css/__indicators/select__indicators.css +1 -0
  12. package/dist/css/components/Select/css/__value-container/select__value-container.css +4 -0
  13. package/dist/css/components/Tile/Tile.css +7 -0
  14. package/dist/css/components/Tooltip/Tooltip.css +9 -9
  15. package/dist/stories/Accordion.stories.js +88 -0
  16. package/dist/stories/AccordionItem.stories.js +150 -0
  17. package/dist/stories/Badge.stories.js +116 -0
  18. package/dist/stories/Button.stories.js +287 -0
  19. package/dist/stories/Checkbox.stories.js +116 -0
  20. package/dist/stories/Chips.stories.js +151 -0
  21. package/dist/stories/Choice.stories.js +117 -0
  22. package/dist/stories/Code.stories.js +99 -0
  23. package/dist/stories/DatePicker.stories.js +178 -0
  24. package/dist/stories/Divider.stories.js +132 -0
  25. package/dist/stories/Dot.stories.js +86 -0
  26. package/dist/stories/Dropdown.stories.js +74 -0
  27. package/dist/stories/DropdownItem.stories.js +152 -0
  28. package/dist/stories/Empty.stories.js +115 -0
  29. package/dist/stories/FormFieldCheckbox.stories.js +77 -0
  30. package/dist/stories/FormFieldChoice.stories.js +75 -0
  31. package/dist/stories/FormFieldDatepicker.stories.js +51 -0
  32. package/dist/stories/FormFieldFileInput.stories.js +58 -0
  33. package/dist/stories/FormFieldInput.stories.js +66 -0
  34. package/dist/stories/FormFieldInputPassword.stories.js +66 -0
  35. package/dist/stories/FormFieldMultiBadgeSelect.stories.js +132 -0
  36. package/dist/stories/FormFieldMultiSelect.stories.js +127 -0
  37. package/dist/stories/FormFieldSelect.stories.js +99 -0
  38. package/dist/stories/FormFieldSelectGroup.stories.js +84 -0
  39. package/dist/stories/Icon.stories.js +208 -0
  40. package/dist/stories/Input.stories.js +124 -0
  41. package/dist/stories/InputPassword.stories.js +114 -0
  42. package/dist/stories/Label.stories.js +163 -0
  43. package/dist/stories/Loader.stories.js +121 -0
  44. package/dist/stories/Logo.stories.js +99 -0
  45. package/dist/stories/MenuItem.stories.js +193 -0
  46. package/dist/stories/ModalConfirm.stories.js +61 -0
  47. package/dist/stories/ModalDefault.stories.js +34 -0
  48. package/dist/stories/NotFound.stories.js +94 -0
  49. package/dist/stories/Notification.stories.js +128 -0
  50. package/dist/stories/Pagination.stories.js +66 -0
  51. package/dist/stories/RadioButton.stories.js +101 -0
  52. package/dist/stories/Search-input.stories.js +182 -0
  53. package/dist/stories/Segmented.stories.js +110 -0
  54. package/dist/stories/Select.stories.js +280 -0
  55. package/dist/stories/Switch.stories.js +84 -0
  56. package/dist/stories/Tab.appearance.stories.js +260 -0
  57. package/dist/stories/Tab.group.stories.js +149 -0
  58. package/dist/stories/Tab.size.stories.js +259 -0
  59. package/dist/stories/Tab.state.stories.js +227 -0
  60. package/dist/stories/Textarea.stories.js +90 -0
  61. package/dist/stories/Tile.stories.js +235 -0
  62. package/package.json +1 -1
@@ -14,7 +14,7 @@
14
14
  );
15
15
  background-size: 200%;
16
16
  animation: badge-skeleton 3s infinite linear;
17
- ^^^^&.text {
17
+ & .text {
18
18
  color: transparent;
19
19
  }
20
20
  }
@@ -2,7 +2,8 @@
2
2
  display: grid;
3
3
  grid-template-columns: auto 1fr;
4
4
  grid-template-rows: auto auto;
5
- column-gap: 4px;
5
+ column-gap: var(--checkbox-column-gap, 4px);
6
+ row-gap: var(--checkbox-row-gap, 0);
6
7
  &__item {
7
8
  min-width: 16px;
8
9
  min-height: 16px;
@@ -1113,7 +1113,7 @@
1113
1113
  .datepicker {
1114
1114
  width: 100%;
1115
1115
  border-radius: var(--date-picker-day-border-radius);
1116
- ^^^^^& .input {
1116
+ & .input {
1117
1117
  border-radius: var(--date-picker-day-border-radius);
1118
1118
  }
1119
1119
  }
@@ -85,7 +85,7 @@
85
85
  .group {
86
86
  &_wrap {
87
87
  @each $val in nowrap, wrap, wrap-reverse {
88
- &_wrap_$(val) {
88
+ &_$(val) {
89
89
  flex-wrap: $(val);
90
90
  }
91
91
  }
@@ -5,9 +5,9 @@
5
5
  }
6
6
  .menu {
7
7
  &_columns {
8
- @each $val in 1,2,3,4,5,6,7,8,9,10 {
8
+ @each $val in 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 {
9
9
  &_$(val) {
10
- & ^^^& {
10
+ & .menu {
11
11
  display: block;
12
12
  & ^^^&__wrapper {
13
13
  display: grid;
@@ -54,3 +54,4 @@
54
54
  }
55
55
  }
56
56
  }
57
+ @improt './css/menu_type_border.css';
@@ -34,6 +34,32 @@
34
34
  }
35
35
  }
36
36
 
37
+ .menu-item {
38
+ &_set {
39
+ &_filter {
40
+ cursor: pointer;
41
+ padding: var(--menu-item-set-filter-padding, 0);
42
+ color: var(--color-surface-text-primary);
43
+ &:not(:last-child) {
44
+ border-right: var(--menu-item-set-filter-border-right: initial);
45
+ }
46
+ &_active {
47
+ & span {
48
+ color: var(--menu-item-set-filter-active-color, initial);
49
+ }
50
+ }
51
+ }
52
+ }
53
+ }
54
+
55
+ .menu-item {
56
+ &_set {
57
+ &_subitem {
58
+ transform: translate(var(--menu-item-set-subitem-padding-left, 32px), 0);
59
+ }
60
+ }
61
+ }
62
+
37
63
  .menu-item {
38
64
  &_shape {
39
65
  &_rounded {
@@ -13,11 +13,12 @@
13
13
  }
14
14
  }
15
15
  .pagination {
16
+ margin: var(--paginator-margin, initial);
16
17
  &__item {
17
- width: 40px;
18
- height: 40px;
18
+ width: var(--paginator-item-width, 40px);
19
+ height: var(--paginator-item-height, 40px);
19
20
  background: var(--paginator-item-default-fill);
20
- border: solid 1px var(--paginator-item-default-border);
21
+ border: var(--paginator-item-border, solid 1px var(--paginator-item-default-border));
21
22
  border-radius: var(--paginator-item-border-radius, 6px);
22
23
  display: flex;
23
24
  transition: var(--paginator-item-transition);
@@ -74,6 +75,7 @@
74
75
  & svg {
75
76
  fill: var(--paginator-item-disabled-icon);
76
77
  }
78
+ display: var(--pagination-item-state-disabled-display, initial);
77
79
  }
78
80
  }
79
81
  }
@@ -1,9 +1,10 @@
1
1
  .pagination {
2
+ margin: var(--paginator-margin, initial);
2
3
  &__item {
3
- width: 40px;
4
- height: 40px;
4
+ width: var(--paginator-item-width, 40px);
5
+ height: var(--paginator-item-height, 40px);
5
6
  background: var(--paginator-item-default-fill);
6
- border: solid 1px var(--paginator-item-default-border);
7
+ border: var(--paginator-item-border, solid 1px var(--paginator-item-default-border));
7
8
  border-radius: var(--paginator-item-border-radius, 6px);
8
9
  display: flex;
9
10
  transition: var(--paginator-item-transition);
@@ -13,6 +13,7 @@
13
13
  & svg {
14
14
  fill: var(--paginator-item-disabled-icon);
15
15
  }
16
+ display: var(--pagination-item-state-disabled-display, initial);
16
17
  }
17
18
  }
18
19
  }
@@ -139,6 +139,7 @@
139
139
  .select {
140
140
  &__control {
141
141
  ^&__indicators {
142
+ margin-left: 8px;
142
143
  display: flex;
143
144
  align-items: center;
144
145
  align-self: center;
@@ -355,5 +356,9 @@
355
356
  position: relative;
356
357
  }
357
358
  }
359
+ & .css-mohuvp-dummyInput-DummyInput {
360
+ position: absolute;
361
+ bottom: 0;
362
+ }
358
363
  }
359
364
  }
@@ -1,6 +1,7 @@
1
1
  .select {
2
2
  &__control {
3
3
  ^&__indicators {
4
+ margin-left: 8px;
4
5
  display: flex;
5
6
  align-items: center;
6
7
  align-self: center;
@@ -13,5 +13,9 @@
13
13
  position: relative;
14
14
  }
15
15
  }
16
+ & .css-mohuvp-dummyInput-DummyInput {
17
+ position: absolute;
18
+ bottom: 0;
19
+ }
16
20
  }
17
21
  }
@@ -1,6 +1,13 @@
1
1
  .tile {
2
2
  &__wrapper {
3
3
  position: relative;
4
+ flex: var(--tile-wrapper-flex, auto);
5
+ & .group {
6
+ flex: var(--tile-wrapper-group-flex, auto);
7
+ }
8
+ }
9
+ &__title {
10
+ margin-right: var(--tile-title-margin-right, initial);
4
11
  }
5
12
  }
6
13
  .tile {
@@ -54,20 +54,20 @@
54
54
 
55
55
  .tooltip {
56
56
  &_type_arrow {
57
- ^&__inner {
58
- position: relative;
59
- background-color: inherit;
60
- z-index: 1;
61
- }
62
57
  &::after {
63
- content: '';
64
- display: block;
65
- position: absolute;
66
- background-color: var(--tooltip-arrow-color, #fff);
67
58
  width: var(--tooltip-arrow-width);
68
59
  height: var(--tooltip-arrow-height);
69
60
  border-radius: var(--tooltip-arrow-radius);
61
+ position: absolute;
62
+ content: '';
63
+ display: block;
70
64
  z-index: 0;
65
+ background-color: var(--tooltip-arrow-color, #fff);
66
+ }
67
+ ^&__inner {
68
+ position: relative;
69
+ background-color: inherit;
70
+ z-index: 1;
71
71
  }
72
72
  }
73
73
  }
@@ -0,0 +1,88 @@
1
+ import React from 'react'
2
+
3
+ import { Accordion, AccordionItem } from '@itcase/ui/components/Accordion'
4
+ import { borderColorProps, directionProps, fillProps, shapeProps } from '@itcase/ui/constants'
5
+
6
+ export default {
7
+ title: 'Atoms / Accordion / Default',
8
+ component: Accordion,
9
+ parameters: {
10
+ controls: {
11
+ exclude: [
12
+ 'directionDesktop',
13
+ 'directionMobile',
14
+ 'directionTablet',
15
+ 'fillDesktop',
16
+ 'fillMobile',
17
+ 'fillTablet',
18
+ 'initial',
19
+ 'onClickItem',
20
+ 'items',
21
+ ],
22
+ },
23
+ },
24
+ argTypes: {
25
+ advancedProps: { control: 'boolean' },
26
+ className: {
27
+ if: { arg: 'advancedProps' },
28
+ },
29
+ borderColor: {
30
+ options: borderColorProps,
31
+ control: 'select',
32
+ },
33
+ fill: {
34
+ options: fillProps,
35
+ control: 'select',
36
+ },
37
+ direction: {
38
+ options: directionProps,
39
+ control: 'inline-radio',
40
+ },
41
+ shape: {
42
+ options: shapeProps,
43
+ control: 'inline-radio',
44
+ },
45
+ },
46
+ }
47
+
48
+ export const Default = {
49
+ args: {
50
+ borderColor: 'accentBorderPrimary',
51
+ fill: 'surfaceSecondary',
52
+ shape: 'rounded',
53
+ children: (
54
+ <React.Fragment>
55
+ <AccordionItem
56
+ content="content 1"
57
+ contentFill="primaryPrimary"
58
+ contentTextColor="surfaceTextPrimary"
59
+ contentTextSize="m"
60
+ fillHover="accentTertiary"
61
+ isExpanded={true}
62
+ size="xs"
63
+ title="Title 1"
64
+ titleFill="secondaryPrimary"
65
+ titleFillHover="secondaryPrimaryHover"
66
+ titleTextColor="surfaceTextPrimary"
67
+ titleTextSize="m"
68
+ />
69
+ <AccordionItem
70
+ content="content 2"
71
+ fillHover="accentTertiary"
72
+ size="xs"
73
+ title="Title 2"
74
+ titleTextColor="surfaceTextPrimary"
75
+ titleTextSize="m"
76
+ />
77
+ <AccordionItem
78
+ content="content 3"
79
+ fillHover="accentTertiary"
80
+ size="xs"
81
+ title="Title 3"
82
+ titleTextColor="surfaceTextPrimary"
83
+ titleTextSize="m"
84
+ />
85
+ </React.Fragment>
86
+ ),
87
+ },
88
+ }
@@ -0,0 +1,150 @@
1
+ import { AccordionItem } from '@itcase/ui/components/Accordion'
2
+
3
+ import {
4
+ borderColorProps,
5
+ fillProps,
6
+ fillHoverProps,
7
+ shapeProps,
8
+ sizeProps,
9
+ textSizeProps,
10
+ textColorProps,
11
+ textWeightProps,
12
+ } from '@itcase/ui/constants'
13
+
14
+ export default {
15
+ title: 'Atoms / Accordion / Item',
16
+ component: AccordionItem,
17
+ parameters: {
18
+ controls: {
19
+ exclude: [
20
+ 'shapeDesktop',
21
+ 'shapeMobile',
22
+ 'shapeTablet',
23
+ 'fillDesktop',
24
+ 'fillMobile',
25
+ 'fillTablet',
26
+ 'iconFillDesktop',
27
+ 'iconFillMobile',
28
+ 'iconFillTablet',
29
+ ],
30
+ },
31
+ },
32
+ argTypes: {
33
+ advancedProps: { control: 'boolean' },
34
+ afterContent: {
35
+ if: { arg: 'advancedProps' },
36
+ },
37
+ beforeContent: {
38
+ if: { arg: 'advancedProps' },
39
+ },
40
+ children: {
41
+ if: { arg: 'advancedProps' },
42
+ },
43
+ className: {
44
+ if: { arg: 'advancedProps' },
45
+ },
46
+ id: {
47
+ if: { arg: 'advancedProps' },
48
+ },
49
+ isExpanded: {
50
+ control: 'boolean',
51
+ },
52
+ onClick: {
53
+ if: { arg: 'advancedProps' },
54
+ },
55
+ iconFill: {
56
+ options: fillProps,
57
+ control: 'select',
58
+ },
59
+ borderColor: {
60
+ options: borderColorProps,
61
+ control: 'select',
62
+ },
63
+ contentBorderColor: {
64
+ options: borderColorProps,
65
+ control: 'select',
66
+ },
67
+ titleBorderColor: {
68
+ options: borderColorProps,
69
+ control: 'select',
70
+ },
71
+
72
+ fill: {
73
+ options: fillProps,
74
+ control: 'select',
75
+ },
76
+ fillHover: {
77
+ options: fillHoverProps,
78
+ control: 'select',
79
+ },
80
+ contentFill: {
81
+ options: fillProps,
82
+ control: 'select',
83
+ },
84
+ titleFill: {
85
+ options: fillProps,
86
+ control: 'select',
87
+ },
88
+ titleFillHover: {
89
+ options: fillHoverProps,
90
+ control: 'select',
91
+ },
92
+ shape: {
93
+ options: shapeProps,
94
+ control: 'inline-radio',
95
+ },
96
+ contentTextColor: {
97
+ options: textColorProps,
98
+ control: 'select',
99
+ },
100
+ contentTextSize: {
101
+ options: textSizeProps,
102
+ control: 'inline-radio',
103
+ },
104
+ contentTextWeight: {
105
+ options: textWeightProps,
106
+ control: 'select',
107
+ },
108
+ size: {
109
+ options: ['xs', 'l'],
110
+ control: 'inline-radio',
111
+ },
112
+ titleTextColor: {
113
+ options: textColorProps,
114
+ control: 'select',
115
+ },
116
+ titleTextSize: {
117
+ options: textSizeProps,
118
+ control: 'inline-radio',
119
+ },
120
+ titleTextWeight: {
121
+ options: textWeightProps,
122
+ control: 'select',
123
+ },
124
+ },
125
+ }
126
+
127
+ export const Default = {
128
+ args: {
129
+ content: 'content 1',
130
+ title: 'Title 1',
131
+ contentTextColor: 'surfaceTextPrimary',
132
+ contentTextSize: 'm',
133
+ titleTextColor: 'surfaceTextPrimary',
134
+ titleTextSize: 'm',
135
+ },
136
+ }
137
+
138
+ export const Closed = {
139
+ args: {
140
+ ...Default.args,
141
+ isExpanded: false,
142
+ },
143
+ }
144
+
145
+ export const Opened = {
146
+ args: {
147
+ ...Default.args,
148
+ isExpanded: true,
149
+ },
150
+ }
@@ -0,0 +1,116 @@
1
+ import { Badge, badgeConfig } from '@itcase/ui/components/Badge'
2
+ import {
3
+ borderColorHoverProps,
4
+ borderColorProps,
5
+ borderTypeProps,
6
+ borderWidthProps,
7
+ fillProps,
8
+ shapeProps,
9
+ sizeProps,
10
+ textColorProps,
11
+ } from '@itcase/ui/constants'
12
+
13
+ import badgeAppearance from 'src/components/Badge/appearance.json'
14
+
15
+ badgeConfig.setAppearance(badgeAppearance)
16
+
17
+ export default {
18
+ title: 'Atoms / Badge',
19
+ component: Badge,
20
+ argTypes: {
21
+ appearance: {
22
+ options: [null, 'accent', 'secondary', 'primary'],
23
+ control: 'inline-radio',
24
+ },
25
+ shape: {
26
+ options: shapeProps,
27
+ control: 'inline-radio',
28
+ },
29
+ size: {
30
+ options: sizeProps,
31
+ control: 'inline-radio',
32
+ },
33
+ textSize: {
34
+ options: sizeProps,
35
+ control: 'inline-radio',
36
+ },
37
+ fill: {
38
+ options: fillProps,
39
+ control: 'select',
40
+ },
41
+ textColor: {
42
+ options: textColorProps,
43
+ control: 'select',
44
+ },
45
+ borderColor: {
46
+ options: borderColorProps,
47
+ control: 'select',
48
+ },
49
+ borderType: {
50
+ options: borderTypeProps,
51
+ control: 'inline-radio',
52
+ },
53
+ borderColorHover: {
54
+ options: borderColorHoverProps,
55
+ control: 'select',
56
+ },
57
+ borderWidth: {
58
+ options: borderWidthProps,
59
+ control: 'select',
60
+ },
61
+ advancedProps: { control: 'boolean' },
62
+ after: {
63
+ if: { arg: 'advancedProps' },
64
+ },
65
+ children: {
66
+ if: { arg: 'advancedProps' },
67
+ },
68
+ className: {
69
+ if: { arg: 'advancedProps' },
70
+ },
71
+ type: {
72
+ if: { arg: 'advancedProps' },
73
+ },
74
+ mode: {
75
+ options: [null, 'skeleton'],
76
+ control: 'inline-radio',
77
+ },
78
+ },
79
+ }
80
+
81
+ export const Default = {
82
+ args: {
83
+ shape: 'circular',
84
+ size: 's',
85
+ textSize: 'xs',
86
+ value: 3,
87
+ },
88
+ }
89
+
90
+ export const Accent = {
91
+ args: {
92
+ ...Default.args,
93
+ appearance: 'accent',
94
+ },
95
+ }
96
+
97
+ export const Secondary = {
98
+ args: {
99
+ ...Default.args,
100
+ appearance: 'secondary',
101
+ },
102
+ }
103
+
104
+ export const Primary = {
105
+ args: {
106
+ ...Default.args,
107
+ appearance: 'primary',
108
+ },
109
+ }
110
+
111
+ export const SkeletonMode = {
112
+ args: {
113
+ ...Default.args,
114
+ mode: 'skeleton',
115
+ },
116
+ }