@companix/uikit 0.0.3 → 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 (165) hide show
  1. package/dist/Button/Button.scss +128 -0
  2. package/dist/ButtonGroup/ButtonGroup.scss +18 -0
  3. package/dist/Checkbox/Checkbox.scss +115 -0
  4. package/dist/DateInput/DateInput.scss +11 -0
  5. package/dist/DatePicker/Calendar.scss +125 -0
  6. package/dist/DatePicker/DatePicker.scss +0 -0
  7. package/dist/Dialog/Dialog.scss +25 -0
  8. package/dist/Dialog/Popup.scss +55 -0
  9. package/dist/DialogAlert/Alert.scss +52 -0
  10. package/dist/Drawer/Drawer.scss +112 -0
  11. package/dist/Form/Form.scss +70 -0
  12. package/dist/Form/Input.scss +24 -0
  13. package/dist/Icon/icon.scss +18 -0
  14. package/dist/OptionItem/Option.scss +89 -0
  15. package/dist/Popover/Popover.scss +80 -0
  16. package/dist/Radio/Radio.scss +148 -0
  17. package/dist/Scrollable/Scrollable.scss +50 -0
  18. package/dist/Select/Select.scss +80 -0
  19. package/dist/SelectTags/SelectTags.scss +66 -0
  20. package/dist/Spinner/Spinner.scss +14 -0
  21. package/dist/Stepper/StepperInput.scss +35 -0
  22. package/dist/Switch/Switch.scss +102 -0
  23. package/dist/Tabs/Tabs.scss +58 -0
  24. package/dist/TextArea/TextArea.scss +34 -0
  25. package/dist/Toaster/Toaster.scss +151 -0
  26. package/dist/Tooltip/Tooltip.scss +28 -0
  27. package/dist/bundle.es.js +56 -59
  28. package/dist/bundle.es10.js +35 -84
  29. package/dist/bundle.es11.js +30 -72
  30. package/dist/bundle.es12.js +14 -34
  31. package/dist/bundle.es13.js +7 -30
  32. package/dist/bundle.es14.js +33 -16
  33. package/dist/bundle.es15.js +24 -8
  34. package/dist/bundle.es16.js +15 -27
  35. package/dist/bundle.es17.js +22 -25
  36. package/dist/bundle.es18.js +13 -21
  37. package/dist/bundle.es19.js +38 -22
  38. package/dist/bundle.es2.js +45 -0
  39. package/dist/bundle.es20.js +16 -13
  40. package/dist/bundle.es21.js +34 -39
  41. package/dist/bundle.es22.js +20 -15
  42. package/dist/bundle.es23.js +38 -32
  43. package/dist/bundle.es24.js +110 -20
  44. package/dist/bundle.es25.js +106 -34
  45. package/dist/bundle.es26.js +34 -110
  46. package/dist/bundle.es27.js +11 -113
  47. package/dist/bundle.es28.js +23 -34
  48. package/dist/bundle.es29.js +35 -10
  49. package/dist/bundle.es3.js +10 -42
  50. package/dist/bundle.es30.js +20 -21
  51. package/dist/bundle.es31.js +81 -36
  52. package/dist/bundle.es32.js +20 -0
  53. package/dist/bundle.es33.js +16 -0
  54. package/dist/bundle.es34.js +24 -0
  55. package/dist/bundle.es35.js +5 -41
  56. package/dist/bundle.es36.js +18 -437
  57. package/dist/bundle.es37.js +14 -22
  58. package/dist/bundle.es38.js +68 -22
  59. package/dist/bundle.es39.js +68 -81
  60. package/dist/bundle.es4.js +85 -12
  61. package/dist/bundle.es40.js +31 -17
  62. package/dist/bundle.es41.js +67 -13
  63. package/dist/bundle.es43.js +75 -5
  64. package/dist/bundle.es44.js +46 -18
  65. package/dist/bundle.es45.js +42 -13
  66. package/dist/bundle.es5.js +82 -83
  67. package/dist/bundle.es6.js +74 -81
  68. package/dist/bundle.es7.js +26 -78
  69. package/dist/bundle.es8.js +80 -22
  70. package/dist/bundle.es9.js +71 -43
  71. package/dist/css-properties.scss +120 -0
  72. package/dist/{types/index.d.ts → index.d.ts} +0 -1
  73. package/dist/index.scss +25 -0
  74. package/dist/mixins.scss +100 -0
  75. package/dist/theme.scss +101 -0
  76. package/package.json +1 -1
  77. package/dist/bundle.es46.js +0 -72
  78. package/dist/bundle.es47.js +0 -70
  79. package/dist/bundle.es48.js +0 -34
  80. package/dist/bundle.es49.js +0 -70
  81. package/dist/bundle.es51.js +0 -78
  82. package/dist/bundle.es52.js +0 -51
  83. package/dist/bundle.es53.js +0 -45
  84. package/dist/bundle.es54.js +0 -40
  85. package/dist/bundle.es55.js +0 -36
  86. package/dist/bundle.es56.js +0 -9
  87. package/dist/bundle.es57.js +0 -9
  88. package/dist/bundle.es58.js +0 -7
  89. package/dist/bundle.es59.js +0 -9
  90. package/dist/bundle.es60.js +0 -8
  91. package/dist/bundle.es61.js +0 -19
  92. package/dist/bundle.es62.js +0 -15
  93. package/dist/bundle.es63.js +0 -22
  94. package/dist/bundle.es64.js +0 -45
  95. package/dist/bundle.es65.js +0 -28
  96. package/dist/bundle.es66.js +0 -34
  97. package/dist/bundle.es67.js +0 -6
  98. package/dist/bundle.es68.js +0 -12
  99. package/dist/bundle.es69.js +0 -47
  100. package/dist/bundle.es70.js +0 -11
  101. package/dist/bundle.es71.js +0 -18
  102. package/dist/bundle.es72.js +0 -32
  103. package/dist/bundle.es73.js +0 -35
  104. package/dist/bundle.es74.js +0 -6
  105. package/dist/bundle.es75.js +0 -7
  106. package/dist/bundle.es76.js +0 -7
  107. package/dist/bundle.es77.js +0 -11
  108. package/dist/bundle.es78.js +0 -17
  109. package/dist/bundle.es79.js +0 -7
  110. package/dist/bundle.es80.js +0 -17
  111. package/dist/bundle.es81.js +0 -25
  112. package/dist/uikit.css +0 -1
  113. /package/dist/{types/Button → Button}/index.d.ts +0 -0
  114. /package/dist/{types/ButtonGroup → ButtonGroup}/index.d.ts +0 -0
  115. /package/dist/{types/Checkbox → Checkbox}/index.d.ts +0 -0
  116. /package/dist/{types/Countdown → Countdown}/index.d.ts +0 -0
  117. /package/dist/{types/DateInput → DateInput}/index.d.ts +0 -0
  118. /package/dist/{types/DatePicker → DatePicker}/Calendar.d.ts +0 -0
  119. /package/dist/{types/DatePicker → DatePicker}/CalendarHeader.d.ts +0 -0
  120. /package/dist/{types/DatePicker → DatePicker}/index.d.ts +0 -0
  121. /package/dist/{types/Dialog → Dialog}/index.d.ts +0 -0
  122. /package/dist/{types/DialogAlert → DialogAlert}/Alert.d.ts +0 -0
  123. /package/dist/{types/DialogAlert → DialogAlert}/Viewport.d.ts +0 -0
  124. /package/dist/{types/DialogAlert → DialogAlert}/index.d.ts +0 -0
  125. /package/dist/{types/Drawer → Drawer}/index.d.ts +0 -0
  126. /package/dist/{types/File → File}/index.d.ts +0 -0
  127. /package/dist/{types/Form → Form}/index.d.ts +0 -0
  128. /package/dist/{types/Icon → Icon}/index.d.ts +0 -0
  129. /package/dist/{types/LoadButton → LoadButton}/index.d.ts +0 -0
  130. /package/dist/{types/NumberInput → NumberInput}/index.d.ts +0 -0
  131. /package/dist/{types/OptionItem → OptionItem}/OptionItem.d.ts +0 -0
  132. /package/dist/{types/OptionItem → OptionItem}/OptionsList.d.ts +0 -0
  133. /package/dist/{types/Popover → Popover}/index.d.ts +0 -0
  134. /package/dist/{types/Radio → Radio}/index.d.ts +0 -0
  135. /package/dist/{types/Scrollable → Scrollable}/ImitateScroll.d.ts +0 -0
  136. /package/dist/{types/Scrollable → Scrollable}/index.d.ts +0 -0
  137. /package/dist/{types/Select → Select}/SelectInput.d.ts +0 -0
  138. /package/dist/{types/Select → Select}/index.d.ts +0 -0
  139. /package/dist/{types/SelectTags → SelectTags}/index.d.ts +0 -0
  140. /package/dist/{types/Spinner → Spinner}/index.d.ts +0 -0
  141. /package/dist/{types/Stepper → Stepper}/index.d.ts +0 -0
  142. /package/dist/{types/Switch → Switch}/index.d.ts +0 -0
  143. /package/dist/{types/Tabs → Tabs}/index.d.ts +0 -0
  144. /package/dist/{types/TextArea → TextArea}/index.d.ts +0 -0
  145. /package/dist/{types/Toaster → Toaster}/RemoveListener.d.ts +0 -0
  146. /package/dist/{types/Toaster → Toaster}/Toast.d.ts +0 -0
  147. /package/dist/{types/Toaster → Toaster}/Viewport.d.ts +0 -0
  148. /package/dist/{types/Toaster → Toaster}/index.d.ts +0 -0
  149. /package/dist/{types/Tooltip → Tooltip}/index.d.ts +0 -0
  150. /package/dist/{types/__hooks → __hooks}/use-frooze-closing.d.ts +0 -0
  151. /package/dist/{types/__hooks → __hooks}/use-loading.d.ts +0 -0
  152. /package/dist/{types/__hooks → __hooks}/use-local-storage.d.ts +0 -0
  153. /package/dist/{types/__hooks → __hooks}/use-popover-position.d.ts +0 -0
  154. /package/dist/{types/__hooks → __hooks}/use-previos.d.ts +0 -0
  155. /package/dist/{types/__hooks → __hooks}/use-resize.d.ts +0 -0
  156. /package/dist/{types/__hooks → __hooks}/use-scrollbox.d.ts +0 -0
  157. /package/dist/{types/__hooks → __hooks}/use-stepper-input.d.ts +0 -0
  158. /package/dist/{types/__hooks → __hooks}/use-update.d.ts +0 -0
  159. /package/dist/{types/__hooks → __hooks}/useCalendar.d.ts +0 -0
  160. /package/dist/{types/__hooks → __hooks}/useCalendarOptions-copy.d.ts +0 -0
  161. /package/dist/{types/__hooks → __hooks}/useCalendarOptions.d.ts +0 -0
  162. /package/dist/{types/__libs → __libs}/calendar.d.ts +0 -0
  163. /package/dist/{types/__utils → __utils}/utils.d.ts +0 -0
  164. /package/dist/{bundle.es50.js → bundle.es42.js} +0 -0
  165. /package/dist/{types/types.d.ts → types.d.ts} +0 -0
@@ -0,0 +1,128 @@
1
+ @use '../mixins.scss';
2
+
3
+ // scheme: bth-[appearance]-[mode]-[property]--[state]
4
+ //
5
+ // appearance: primary, neutral, positive, negative
6
+ // mode: default, outline, minimal
7
+ // state: enabled, hovered, pressed, disabled, loading
8
+ // property: text, background, shadow, border
9
+
10
+ @mixin use-mode($appearance, $mode) {
11
+ @include mixins.use-styles(button, $appearance, $mode, enabled);
12
+
13
+ &:hover {
14
+ @include mixins.use-styles(button, $appearance, $mode, hovered);
15
+ }
16
+
17
+ &[data-active],
18
+ &:active {
19
+ @include mixins.use-styles(button, $appearance, $mode, pressed);
20
+ }
21
+
22
+ &[data-loading] {
23
+ @include mixins.use-styles(button, $appearance, $mode, loading);
24
+ }
25
+
26
+ &[disabled] {
27
+ cursor: not-allowed;
28
+ @include mixins.use-styles(button, $appearance, $mode, disabled);
29
+ }
30
+ }
31
+
32
+ @mixin use-appearance($appearance) {
33
+ &[data-appearance='#{$appearance}'] {
34
+ &[data-mode='default'] {
35
+ @include use-mode($appearance, default);
36
+ }
37
+
38
+ &[data-mode='outline'] {
39
+ @include use-mode($appearance, outline);
40
+ }
41
+
42
+ &[data-mode='minimal'] {
43
+ @include use-mode($appearance, minimal);
44
+ }
45
+ }
46
+ }
47
+
48
+ .button {
49
+ overflow: visible;
50
+ box-sizing: border-box;
51
+ -moz-user-focus: ignore;
52
+ -webkit-user-select: none;
53
+ -moz-user-select: none;
54
+ -ms-user-select: none;
55
+ user-select: none;
56
+ text-decoration: none;
57
+ outline: none;
58
+ -webkit-tap-highlight-color: transparent;
59
+ -ms-touch-action: manipulation;
60
+ touch-action: manipulation;
61
+ cursor: pointer;
62
+ display: flex;
63
+ align-items: center;
64
+
65
+ @include mixins.use-styles(button);
66
+ @include mixins.items-spacing(8px);
67
+
68
+ // fill
69
+
70
+ &[data-fill] {
71
+ width: 100%;
72
+ }
73
+
74
+ // align
75
+
76
+ &[data-align='center'] {
77
+ justify-content: center;
78
+
79
+ & > .button-text {
80
+ text-align: center;
81
+ }
82
+ }
83
+
84
+ &[data-align='left'] {
85
+ justify-content: left;
86
+
87
+ & > .button-text {
88
+ flex: 1 1 auto;
89
+ text-align: left;
90
+ }
91
+ }
92
+
93
+ &[data-align='right'] {
94
+ justify-content: right;
95
+
96
+ & > .button-text {
97
+ flex: 1 1 auto;
98
+ text-align: right;
99
+ }
100
+ }
101
+
102
+ // sizes
103
+
104
+ &[data-size='sm'] {
105
+ @include mixins.use-styles(button, size, sm);
106
+ }
107
+
108
+ &[data-size='md'] {
109
+ @include mixins.use-styles(button, size, md);
110
+ }
111
+
112
+ &[data-size='lg'] {
113
+ @include mixins.use-styles(button, size, lg);
114
+ }
115
+
116
+ // text
117
+
118
+ &-text {
119
+ @include mixins.truncate-text();
120
+ }
121
+
122
+ // appearance
123
+
124
+ @include use-appearance(primary);
125
+ @include use-appearance(neutral);
126
+ @include use-appearance(negative);
127
+ @include use-appearance(positive);
128
+ }
@@ -0,0 +1,18 @@
1
+ .button-group {
2
+ display: flex;
3
+
4
+ &[data-fill] {
5
+ width: 100%;
6
+ }
7
+
8
+ & > .button:not(:first-child) {
9
+ border-bottom-left-radius: 0;
10
+ border-top-left-radius: 0;
11
+ }
12
+
13
+ & > .button:not(:last-child) {
14
+ border-bottom-right-radius: 0;
15
+ border-top-right-radius: 0;
16
+ margin-right: -1px;
17
+ }
18
+ }
@@ -0,0 +1,115 @@
1
+ @use '../mixins.scss';
2
+
3
+ .checkbox {
4
+ display: inline-table;
5
+ user-select: none;
6
+ touch-action: manipulation;
7
+ max-width: max-content;
8
+
9
+ @include mixins.use-styles(checkbox);
10
+
11
+ &:not([data-disabled]):not([data-required]):hover {
12
+ .checkbox-box[data-state='unchecked'] {
13
+ @include mixins.use-styles(checkbox, box, hover);
14
+ }
15
+ }
16
+
17
+ &:not([data-disabled]):not([data-required]):active {
18
+ .checkbox-box[data-state='unchecked'] {
19
+ @include mixins.use-styles(checkbox, box, active);
20
+ }
21
+ }
22
+
23
+ &:not([data-disabled]) {
24
+ .checkbox-box[data-state='checked'] {
25
+ @include mixins.use-styles(checkbox, box, checked);
26
+ }
27
+ }
28
+
29
+ &[data-disabled] {
30
+ @include mixins.use-styles(checkbox, disabled);
31
+ }
32
+
33
+ &[data-required] {
34
+ @include mixins.use-styles(checkbox, required);
35
+
36
+ .checkbox-box::before {
37
+ content: '';
38
+ position: absolute;
39
+ width: 100%;
40
+ height: 100%;
41
+ left: 0;
42
+
43
+ @include mixins.use-styles(checkbox, required, box);
44
+
45
+ border-radius: mixins.get-var-name(checkbox, box, border-radius);
46
+ }
47
+ }
48
+
49
+ &[data-size='sm'] {
50
+ @include mixins.use-styles(checkbox, size, sm);
51
+
52
+ .checkbox-box {
53
+ @include mixins.use-size(checkbox, size, sm, box);
54
+ }
55
+ }
56
+
57
+ &[data-size='md'] {
58
+ @include mixins.use-styles(checkbox, size, md);
59
+
60
+ .checkbox-box {
61
+ @include mixins.use-size(checkbox, size, md, box);
62
+ }
63
+ }
64
+
65
+ &-box {
66
+ cursor: pointer;
67
+ outline: none;
68
+ transition: background-color 0.1s linear;
69
+ display: inline-block;
70
+ position: relative;
71
+ z-index: 0;
72
+
73
+ @include mixins.use-styles(checkbox, box);
74
+
75
+ &[data-disabled] {
76
+ cursor: default;
77
+ }
78
+
79
+ &:after {
80
+ visibility: hidden;
81
+ content: '\00A0';
82
+ }
83
+ }
84
+
85
+ &-label {
86
+ cursor: pointer;
87
+ display: table-cell;
88
+ word-break: break-word;
89
+
90
+ &[data-disabled] {
91
+ cursor: default;
92
+ }
93
+
94
+ @include mixins.use-styles(checkbox, label);
95
+ }
96
+
97
+ &-icon {
98
+ display: flex;
99
+ align-items: center;
100
+ justify-content: center;
101
+ z-index: 3;
102
+ position: absolute;
103
+ width: 100%;
104
+ height: 100%;
105
+ top: 0;
106
+
107
+ &[data-state='checked'] {
108
+ @include mixins.use-styles(checkbox, icon, in);
109
+ }
110
+
111
+ &[data-state='unchecked'] {
112
+ @include mixins.use-styles(checkbox, icon, out);
113
+ }
114
+ }
115
+ }
@@ -0,0 +1,11 @@
1
+ .data-input {
2
+ display: flex;
3
+ gap: 8px;
4
+ width: 100%;
5
+
6
+ .form {
7
+ input {
8
+ width: 100%;
9
+ }
10
+ }
11
+ }
@@ -0,0 +1,125 @@
1
+ @use '../mixins.scss';
2
+
3
+ .calendar {
4
+ @include mixins.use-styles(calendar);
5
+
6
+ &-header {
7
+ position: relative;
8
+ display: flex;
9
+ align-items: center;
10
+ justify-content: center;
11
+
12
+ @include mixins.use-styles(calendar, header);
13
+ }
14
+
15
+ &-navigation {
16
+ display: flex;
17
+ align-items: center;
18
+ justify-content: center;
19
+ position: absolute;
20
+ outline: none;
21
+ cursor: pointer;
22
+
23
+ @include mixins.use-styles(calendar, navigation);
24
+ @include mixins.use-size(calendar, navigation, size);
25
+
26
+ &[data-side='left'] {
27
+ left: 0;
28
+ }
29
+
30
+ &[data-side='right'] {
31
+ right: 0;
32
+ }
33
+
34
+ &:hover {
35
+ @include mixins.use-styles(calendar, navigation, hover);
36
+ }
37
+
38
+ &:active {
39
+ @include mixins.use-styles(calendar, navigation, active);
40
+ }
41
+
42
+ svg {
43
+ @include mixins.use-size(calendar, navigation, icon, size);
44
+ }
45
+ }
46
+
47
+ &-pickers {
48
+ display: flex;
49
+ align-items: center;
50
+ gap: 4px;
51
+ }
52
+
53
+ &-names {
54
+ display: flex;
55
+ }
56
+
57
+ &-name {
58
+ display: flex;
59
+ align-items: center;
60
+ justify-content: center;
61
+
62
+ @include mixins.use-styles(calendar, name);
63
+ }
64
+
65
+ &-days {
66
+ display: grid;
67
+ grid-template-columns: repeat(7, 1fr);
68
+ }
69
+
70
+ &-day {
71
+ display: flex;
72
+ align-items: center;
73
+ justify-content: center;
74
+ position: relative;
75
+
76
+ @include mixins.use-styles(calendar, day);
77
+
78
+ &:not([data-disabled]) {
79
+ cursor: pointer;
80
+
81
+ &:hover {
82
+ @include mixins.use-styles(calendar, day, hover);
83
+ }
84
+
85
+ &[data-active] {
86
+ @include mixins.use-styles(calendar, day, active);
87
+ }
88
+
89
+ &[data-selected] {
90
+ @include mixins.use-styles(calendar, day, selected);
91
+
92
+ .calendar-day-number::after {
93
+ background-color: #ffffff;
94
+ }
95
+ }
96
+
97
+ &[data-void] {
98
+ background-color: unset;
99
+ cursor: default;
100
+ }
101
+ }
102
+
103
+ &[data-disabled] {
104
+ @include mixins.use-styles(calendar, day, disabled);
105
+ }
106
+
107
+ &[data-today] {
108
+ .calendar-day-number {
109
+ position: relative;
110
+
111
+ &::after {
112
+ position: absolute;
113
+ height: 2px;
114
+ border-radius: 10px;
115
+ content: '';
116
+ display: block;
117
+ width: 100%;
118
+ bottom: 0px;
119
+ right: 0;
120
+ background-color: #529ef4;
121
+ }
122
+ }
123
+ }
124
+ }
125
+ }
File without changes
@@ -0,0 +1,25 @@
1
+ @use '../mixins.scss';
2
+
3
+ .dialog {
4
+ &-container {
5
+ @include mixins.use-styles(dialog, container);
6
+ }
7
+
8
+ &-overlay {
9
+ @include mixins.use-styles(dialog, overlay);
10
+ }
11
+
12
+ @include mixins.use-styles(dialog);
13
+ }
14
+
15
+ .dialog-container {
16
+ @each $size, $v in (xxs, xs, s, m, l, xl, xxl, full) {
17
+ &[data-size='#{$size}'] {
18
+ @include mixins.use-styles(dialog, size, $size, container);
19
+
20
+ .dialog {
21
+ @include mixins.use-styles(dialog, size, $size);
22
+ }
23
+ }
24
+ }
25
+ }
@@ -0,0 +1,55 @@
1
+ @use '../mixins.scss';
2
+
3
+ .popup {
4
+ display: flex;
5
+ flex-direction: column;
6
+ max-height: 100%;
7
+ z-index: 1000;
8
+ outline: none;
9
+ pointer-events: auto;
10
+ position: relative;
11
+ width: 100%;
12
+
13
+ @include mixins.use-styles(popup);
14
+
15
+ &-overlay {
16
+ inset: 0;
17
+ overflow: auto;
18
+ position: fixed;
19
+ -webkit-user-select: none;
20
+ -moz-user-select: none;
21
+ -ms-user-select: none;
22
+ user-select: none;
23
+ outline: none;
24
+ z-index: 9999;
25
+
26
+ @include mixins.use-styles(popup, overlay);
27
+
28
+ &[data-state='open'] {
29
+ @include mixins.use-styles(popup, overlay, in);
30
+ }
31
+
32
+ &[data-state='closed'] {
33
+ @include mixins.use-styles(popup, overlay, out);
34
+ }
35
+ }
36
+
37
+ &-container {
38
+ position: fixed;
39
+ inset: 0;
40
+ z-index: 9999;
41
+ display: flex;
42
+ align-items: center;
43
+ justify-content: center;
44
+ pointer-events: none !important;
45
+ outline: none;
46
+
47
+ &[data-state='open'] {
48
+ @include mixins.use-styles(popup, in);
49
+ }
50
+
51
+ &[data-state='closed'] {
52
+ @include mixins.use-styles(popup, out);
53
+ }
54
+ }
55
+ }
@@ -0,0 +1,52 @@
1
+ @use '../mixins.scss';
2
+
3
+ .alert {
4
+ max-height: max-content;
5
+
6
+ @include mixins.use-styles(alert);
7
+
8
+ &-container {
9
+ @include mixins.use-styles(alert, container);
10
+ }
11
+
12
+ &-overlay {
13
+ @include mixins.use-styles(alert, overlay);
14
+ }
15
+
16
+ &-body {
17
+ display: flex;
18
+ flex-direction: row;
19
+
20
+ @include mixins.use-styles(alert, body);
21
+ }
22
+
23
+ &-title {
24
+ @include mixins.use-styles(alert, title);
25
+ }
26
+
27
+ &-description {
28
+ @include mixins.use-styles(alert, description);
29
+ }
30
+
31
+ &-icon {
32
+ @include mixins.use-styles(alert, icon);
33
+
34
+ svg {
35
+ @include mixins.use-size(alert, icon, size);
36
+ }
37
+ }
38
+
39
+ &-content {
40
+ display: flex;
41
+ flex-direction: column;
42
+
43
+ @include mixins.use-styles(alert, content);
44
+ }
45
+
46
+ &-footer {
47
+ display: flex;
48
+ justify-content: end;
49
+
50
+ @include mixins.use-styles(alert, footer);
51
+ }
52
+ }
@@ -0,0 +1,112 @@
1
+ @use '../mixins.scss';
2
+
3
+ .drawer {
4
+ display: flex;
5
+ flex-direction: column;
6
+ max-height: 100%;
7
+ z-index: 1000;
8
+ outline: none;
9
+ pointer-events: auto;
10
+ position: fixed;
11
+ z-index: 9999;
12
+
13
+ @include mixins.use-styles(drawer);
14
+
15
+ &-overlay {
16
+ inset: 0;
17
+ overflow: auto;
18
+ position: fixed;
19
+ -webkit-user-select: none;
20
+ -moz-user-select: none;
21
+ -ms-user-select: none;
22
+ user-select: none;
23
+ outline: none;
24
+ z-index: 9999;
25
+
26
+ @include mixins.use-styles(drawer, overlay);
27
+
28
+ &[data-state='open'] {
29
+ @include mixins.use-styles(drawer, overlay, in);
30
+ }
31
+
32
+ &[data-state='closed'] {
33
+ @include mixins.use-styles(drawer, overlay, out);
34
+ }
35
+ }
36
+
37
+ // animations
38
+
39
+ &[data-state='open'] {
40
+ &[data-direction='left'] {
41
+ @include mixins.use-styles(drawer, in, left);
42
+ }
43
+
44
+ &[data-direction='right'] {
45
+ @include mixins.use-styles(drawer, in, right);
46
+ }
47
+
48
+ &[data-direction='top'] {
49
+ @include mixins.use-styles(drawer, in, top);
50
+ }
51
+
52
+ &[data-direction='bottom'] {
53
+ @include mixins.use-styles(drawer, in, bottom);
54
+ }
55
+ }
56
+
57
+ &[data-state='closed'] {
58
+ &[data-direction='left'] {
59
+ @include mixins.use-styles(drawer, out, left);
60
+ }
61
+
62
+ &[data-direction='right'] {
63
+ @include mixins.use-styles(drawer, out, right);
64
+ }
65
+
66
+ &[data-direction='top'] {
67
+ @include mixins.use-styles(drawer, out, top);
68
+ }
69
+
70
+ &[data-direction='bottom'] {
71
+ @include mixins.use-styles(drawer, out, bottom);
72
+ }
73
+ }
74
+
75
+ // placement
76
+
77
+ &[data-direction='left'] {
78
+ top: 0;
79
+ left: 0;
80
+ bottom: 0;
81
+ width: var(--drawer-size, 50%);
82
+ border-top-right-radius: var(--drawer_radius, 0);
83
+ border-bottom-right-radius: var(--drawer_radius, 0);
84
+ }
85
+
86
+ &[data-direction='right'] {
87
+ top: 0;
88
+ right: 0;
89
+ bottom: 0;
90
+ width: var(--drawer-size, 50%);
91
+ border-top-left-radius: var(--drawer_radius, 0);
92
+ border-bottom-left-radius: var(--drawer_radius, 0);
93
+ }
94
+
95
+ &[data-direction='bottom'] {
96
+ left: 0;
97
+ right: 0;
98
+ bottom: 0;
99
+ height: var(--drawer-size, 50%);
100
+ border-top-right-radius: var(--drawer_radius, 0);
101
+ border-top-left-radius: var(--drawer_radius, 0);
102
+ }
103
+
104
+ &[data-direction='top'] {
105
+ left: 0;
106
+ right: 0;
107
+ top: 0;
108
+ height: var(--drawer-size, 50%);
109
+ border-bottom-right-radius: var(--drawer_radius, 0);
110
+ border-bottom-left-radius: var(--drawer_radius, 0);
111
+ }
112
+ }
@@ -0,0 +1,70 @@
1
+ @use '../mixins.scss';
2
+
3
+ @mixin use-size($size) {
4
+ &[data-size='#{$size}'] {
5
+ .form-input {
6
+ @include mixins.use-styles(form, size, $size);
7
+ }
8
+ }
9
+ }
10
+
11
+ .form {
12
+ position: relative;
13
+
14
+ @include mixins.use-styles(form);
15
+
16
+ @include use-size(sm);
17
+ @include use-size(md);
18
+ @include use-size(lg);
19
+
20
+ &-space-margin {
21
+ margin: 0px var(--form_space, 0);
22
+ }
23
+
24
+ &:hover {
25
+ @include mixins.use-styles(form, hover);
26
+ }
27
+
28
+ &:active {
29
+ @include mixins.use-styles(form, active);
30
+ }
31
+
32
+ &[data-fill] {
33
+ width: 100%;
34
+
35
+ .form-input {
36
+ width: 100%;
37
+ }
38
+ }
39
+
40
+ &[data-required] {
41
+ @include mixins.use-styles(form, required);
42
+ }
43
+
44
+ &[data-disabled] {
45
+ @include mixins.use-styles(form, disabled);
46
+
47
+ .form-input {
48
+ cursor: inherit;
49
+ }
50
+ }
51
+
52
+ &:focus-within {
53
+ @include mixins.use-styles(form, focus);
54
+ }
55
+ }
56
+
57
+ .form-input {
58
+ outline: none;
59
+
60
+ &::-webkit-outer-spin-button,
61
+ &::-webkit-inner-spin-button {
62
+ -webkit-appearance: none;
63
+ }
64
+
65
+ &::placeholder {
66
+ user-select: none;
67
+
68
+ @include mixins.use-styles(form, placeholder);
69
+ }
70
+ }