@smwb/ui-styles 1.0.0

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 (138) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +60 -0
  3. package/less/_prelude.less +6 -0
  4. package/less/components/accordion/accordion.entry.less +2 -0
  5. package/less/components/accordion/accordion.less +36 -0
  6. package/less/components/appBar/appBar.entry.less +2 -0
  7. package/less/components/appBar/appBar.less +95 -0
  8. package/less/components/appLayout/appLayout.entry.less +2 -0
  9. package/less/components/appLayout/appLayout.less +112 -0
  10. package/less/components/avatar/avatar.entry.less +2 -0
  11. package/less/components/avatar/avatar.less +74 -0
  12. package/less/components/badge/badge.entry.less +2 -0
  13. package/less/components/badge/badge.less +66 -0
  14. package/less/components/bottomBar/bottomBar.entry.less +2 -0
  15. package/less/components/bottomBar/bottomBar.less +84 -0
  16. package/less/components/breadcrumbs/breadcrumbs.entry.less +2 -0
  17. package/less/components/breadcrumbs/breadcrumbs.less +57 -0
  18. package/less/components/button/button.entry.less +2 -0
  19. package/less/components/button/button.less +164 -0
  20. package/less/components/buttonGroup/buttonGroup.entry.less +2 -0
  21. package/less/components/buttonGroup/buttonGroup.less +95 -0
  22. package/less/components/card/card.entry.less +2 -0
  23. package/less/components/card/card.less +56 -0
  24. package/less/components/carousel/carousel.entry.less +2 -0
  25. package/less/components/carousel/carousel.less +75 -0
  26. package/less/components/chat/chat.entry.less +2 -0
  27. package/less/components/chat/chat.less +623 -0
  28. package/less/components/chat/chat.variables.less +9 -0
  29. package/less/components/checkbox/checkbox.entry.less +2 -0
  30. package/less/components/checkbox/checkbox.less +109 -0
  31. package/less/components/chip/chip.entry.less +2 -0
  32. package/less/components/chip/chip.less +121 -0
  33. package/less/components/datePicker/dataPicker.entry.less +2 -0
  34. package/less/components/datePicker/dataPicker.less +235 -0
  35. package/less/components/divider/divider.entry.less +2 -0
  36. package/less/components/divider/divider.less +69 -0
  37. package/less/components/expansionPanel/expansionPanel.entry.less +2 -0
  38. package/less/components/expansionPanel/expansionPanel.less +136 -0
  39. package/less/components/fileDrop/fileDrop.entry.less +2 -0
  40. package/less/components/fileDrop/fileDrop.less +67 -0
  41. package/less/components/fileInput/fileInput.entry.less +2 -0
  42. package/less/components/fileInput/fileInput.less +4 -0
  43. package/less/components/floatingButton/floatingButton.entry.less +2 -0
  44. package/less/components/floatingButton/floatingButton.less +94 -0
  45. package/less/components/grid/grid.entry.less +2 -0
  46. package/less/components/grid/grid.less +174 -0
  47. package/less/components/icon/icon.entry.less +2 -0
  48. package/less/components/icon/icon.less +27 -0
  49. package/less/components/imagesList/imagesList.entry.less +2 -0
  50. package/less/components/imagesList/imagesList.less +35 -0
  51. package/less/components/imagesList/imagesListItem/imagesListItem.entry.less +2 -0
  52. package/less/components/imagesList/imagesListItem/imagesListItem.less +117 -0
  53. package/less/components/list/list.entry.less +2 -0
  54. package/less/components/list/list.less +87 -0
  55. package/less/components/menu/menu.entry.less +2 -0
  56. package/less/components/menu/menu.less +121 -0
  57. package/less/components/message/message.entry.less +2 -0
  58. package/less/components/message/message.less +103 -0
  59. package/less/components/modal/modal.entry.less +2 -0
  60. package/less/components/modal/modal.less +215 -0
  61. package/less/components/page/page.entry.less +2 -0
  62. package/less/components/page/page.less +39 -0
  63. package/less/components/pageHeader/pageHeader.entry.less +2 -0
  64. package/less/components/pageHeader/pageHeader.less +49 -0
  65. package/less/components/pagination/pagination.entry.less +2 -0
  66. package/less/components/pagination/pagination.less +103 -0
  67. package/less/components/progressIndicator/progressIndicator.entry.less +2 -0
  68. package/less/components/progressIndicator/progressIndicator.less +107 -0
  69. package/less/components/radioButton/radioButton.entry.less +2 -0
  70. package/less/components/radioButton/radioButton.less +138 -0
  71. package/less/components/rating/rating.entry.less +2 -0
  72. package/less/components/rating/rating.less +65 -0
  73. package/less/components/ripple/ripple.entry.less +2 -0
  74. package/less/components/ripple/ripple.less +24 -0
  75. package/less/components/screenDivider/screenDivider.entry.less +2 -0
  76. package/less/components/screenDivider/screenDivider.less +56 -0
  77. package/less/components/selectField/selectField.entry.less +2 -0
  78. package/less/components/selectField/selectField.less +182 -0
  79. package/less/components/sheet/sheet.entry.less +2 -0
  80. package/less/components/sheet/sheet.less +243 -0
  81. package/less/components/sidebar/sidebar.entry.less +2 -0
  82. package/less/components/sidebar/sidebar.less +137 -0
  83. package/less/components/skeleton/skeleton.entry.less +2 -0
  84. package/less/components/skeleton/skeleton.less +67 -0
  85. package/less/components/slider/slider.entry.less +2 -0
  86. package/less/components/slider/slider.less +294 -0
  87. package/less/components/snackbar/snackbar.entry.less +2 -0
  88. package/less/components/snackbar/snackbar.less +157 -0
  89. package/less/components/stack/stack.entry.less +2 -0
  90. package/less/components/stack/stack.less +10 -0
  91. package/less/components/stepper/stepper.entry.less +2 -0
  92. package/less/components/stepper/stepper.less +142 -0
  93. package/less/components/table/table.entry.less +2 -0
  94. package/less/components/table/table.less +192 -0
  95. package/less/components/table/tablePagination/tablePagination.entry.less +2 -0
  96. package/less/components/table/tablePagination/tablePagination.less +62 -0
  97. package/less/components/tabs/tab/tab.entry.less +2 -0
  98. package/less/components/tabs/tab/tab.less +114 -0
  99. package/less/components/tabs/tabs.entry.less +2 -0
  100. package/less/components/tabs/tabs.less +44 -0
  101. package/less/components/textField/textField.entry.less +2 -0
  102. package/less/components/textField/textField.less +373 -0
  103. package/less/components/timePicker/timePicker.entry.less +2 -0
  104. package/less/components/timePicker/timePicker.less +95 -0
  105. package/less/components/toggle/toggle.entry.less +2 -0
  106. package/less/components/toggle/toggle.less +110 -0
  107. package/less/components/tooltip/tooltip.entry.less +2 -0
  108. package/less/components/tooltip/tooltip.less +36 -0
  109. package/less/components/treeView/treeView.entry.less +2 -0
  110. package/less/components/treeView/treeView.less +71 -0
  111. package/less/components/typography/typography.entry.less +2 -0
  112. package/less/components/typography/typography.less +86 -0
  113. package/less/components.less +59 -0
  114. package/less/connects/rt/table.less +26 -0
  115. package/less/connects.less +1 -0
  116. package/less/default/globals/default.variables.less +584 -0
  117. package/less/foundation/breakpoints.less +80 -0
  118. package/less/foundation/elevation.less +61 -0
  119. package/less/foundation/palette.less +310 -0
  120. package/less/foundation/radius.less +21 -0
  121. package/less/foundation/sizing.less +35 -0
  122. package/less/foundation/spacing.less +164 -0
  123. package/less/foundation/typography.less +25 -0
  124. package/less/foundation.less +18 -0
  125. package/less/headless-base.less +2 -0
  126. package/less/responsive.less +41 -0
  127. package/less/site/globals/site.variables.less +25 -0
  128. package/less/templates/adminDashboard/adminDashboard.less +27 -0
  129. package/less/templates/summer-ui/auth.less +30 -0
  130. package/less/templates/summer-ui/authCard.less +33 -0
  131. package/less/templates/summer-ui/authLayout.less +11 -0
  132. package/less/templates.less +4 -0
  133. package/less/theme.less +30 -0
  134. package/less/themes/material/variables.less +370 -0
  135. package/less/themes/summer/variables.less +380 -0
  136. package/less/variables.less +260 -0
  137. package/normalize.css +484 -0
  138. package/package.json +21 -0
@@ -0,0 +1,164 @@
1
+ .smwb-button {
2
+ gap: @buttonGap;
3
+ overflow: hidden;
4
+ font-weight: 500;
5
+ cursor: pointer;
6
+ transition: all 0.2s ease-out;
7
+ display: inline-flex;
8
+ align-items: center;
9
+ justify-content: center;
10
+ border-radius: @buttonBorderRadius;
11
+ letter-spacing: 1px;
12
+ vertical-align: middle;
13
+ word-spacing: 0;
14
+ line-height: 1.5;
15
+ min-width: 64px;
16
+ position: relative;
17
+ align-self: flex-start;
18
+ &:disabled,
19
+ &.smwb-disabled {
20
+ color: var(--smui-disabledTextColor);
21
+ pointer-events: none;
22
+ border-color: var(--smui-buttonDisabledBg);
23
+ &.smwb-contained {
24
+ background-color: var(--smui-buttonDisabledBg);
25
+ color: var(--smui-disabledTextColor);
26
+ }
27
+ }
28
+
29
+ &.smwb-full-width {
30
+ width: 100%;
31
+ }
32
+
33
+ &.smwb-small {
34
+ font-size: @smallButtonFontSize;
35
+ padding: @buttonPaddingSmall;
36
+ }
37
+ &.smwb-medium {
38
+ font-size: @mediumButtonFontSize;
39
+ padding: @buttonPaddingMedium;
40
+ }
41
+ &.smwb-large {
42
+ font-size: @largeButtonFontSize;
43
+ padding: @buttonPaddingLarge;
44
+ }
45
+
46
+ &.smwb-contained {
47
+ color: var(--smui-onPrimaryColor);
48
+ .smui-elevation(2);
49
+ &.smwb-primary {
50
+ &:not(.smwb-disabled) {
51
+ background-color: var(--smui-primaryColor);
52
+ }
53
+ &:hover {
54
+ background-color: var(--smui-buttonContainedHoverBg);
55
+ box-shadow: 0 4px 22px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
56
+ }
57
+ &:disabled {
58
+ background-color: var(--smui-buttonDisabledBg);
59
+ }
60
+ &:focus {
61
+ background-color: var(--smui-buttonContainedFocusBg);
62
+ }
63
+ &:active {
64
+ background-color: var(--smui-buttonContainedActiveBg);
65
+ }
66
+ }
67
+ }
68
+
69
+ &.smwb-outlined {
70
+ background-color: transparent;
71
+ border: 1px solid var(--smui-outlineColor);
72
+ &.smwb-primary:not(.smwb-disabled) {
73
+ color: var(--smui-primaryColor);
74
+ }
75
+ &:hover {
76
+ background-color: var(--smui-buttonOutlinedHoverBg);
77
+ }
78
+ &:focus {
79
+ background-color: var(--smui-buttonOutlinedFocusBg);
80
+ }
81
+ &:active {
82
+ background-color: var(--smui-buttonOutlinedActiveBg);
83
+ border: 1px solid var(--smui-primaryColor);
84
+ }
85
+ &:disabled,
86
+ &.smwb-disabled {
87
+ background-color: transparent;
88
+ color: var(--smui-disabledTextColor);
89
+ border-color: var(--smui-buttonDisabledBg);
90
+ }
91
+ }
92
+
93
+ &.smwb-text {
94
+ background-color: transparent;
95
+ &.smwb-primary {
96
+ &:not(.smwb-disabled) {
97
+ color: var(--smui-primaryColor);
98
+ }
99
+ &:disabled {
100
+ background-color: transparent;
101
+ }
102
+ &:hover {
103
+ background-color: var(--smui-buttonOutlinedHoverBg);
104
+ }
105
+ &:focus {
106
+ background-color: var(--smui-buttonOutlinedFocusBg);
107
+ }
108
+ &:active {
109
+ background-color: var(--smui-buttonOutlinedActiveBg);
110
+ }
111
+ }
112
+ &:disabled {
113
+ background-color: transparent;
114
+ color: var(--smui-disabledTextColor);
115
+ border-color: var(--smui-buttonDisabledBg);
116
+ }
117
+ }
118
+
119
+ & * {
120
+ pointer-events: none;
121
+ }
122
+
123
+ // Semantic color modifiers (additive; primary keeps the default look)
124
+ .smui-btn-color(@n; @c; @on; @h; @a) {
125
+ &_color-@{n} {
126
+ &.smwb-contained {
127
+ background-color: @c;
128
+ color: @on;
129
+ &:hover:not(.smwb-disabled) {
130
+ background-color: ~"color-mix(in srgb, @{c} 88%, #000)";
131
+ }
132
+ &:focus:not(.smwb-disabled) {
133
+ background-color: ~"color-mix(in srgb, @{c} 78%, #000)";
134
+ }
135
+ &:active:not(.smwb-disabled) {
136
+ background-color: ~"color-mix(in srgb, @{c} 78%, #000)";
137
+ }
138
+ }
139
+ &.smwb-outlined {
140
+ color: @c;
141
+ border-color: @c;
142
+ &:hover:not(.smwb-disabled) {
143
+ background-color: @h;
144
+ }
145
+ }
146
+ &.smwb-text {
147
+ color: @c;
148
+ &:hover:not(.smwb-disabled) {
149
+ background-color: @h;
150
+ }
151
+ }
152
+ }
153
+ }
154
+ .smui-btn-color(secondary; var(--smui-secondaryColor); var(--smui-onSecondaryColor);
155
+ var(--smui-secondaryColorHover); var(--smui-secondaryColorActive));
156
+ .smui-btn-color(error; var(--smui-errorColor); var(--smui-onErrorColor);
157
+ var(--smui-errorColorHover); var(--smui-errorColorActive));
158
+ .smui-btn-color(success; var(--smui-successColor); var(--smui-onSuccessColor);
159
+ var(--smui-successColorHover); var(--smui-successColorActive));
160
+ .smui-btn-color(warning; var(--smui-warningColor); var(--smui-onWarningColor);
161
+ var(--smui-warningColorHover); var(--smui-warningColorActive));
162
+ .smui-btn-color(info; var(--smui-infoColor); var(--smui-onInfoColor);
163
+ var(--smui-infoColorHover); var(--smui-infoColorActive));
164
+ }
@@ -0,0 +1,2 @@
1
+ @import (reference) "../../_prelude.less";
2
+ @import "./buttonGroup.less";
@@ -0,0 +1,95 @@
1
+ .smwb-button-group {
2
+ display: inline-flex;
3
+ border-radius: 24px;
4
+
5
+ &.smwb-vertical {
6
+ flex-direction: column;
7
+ }
8
+
9
+ &.smwb-contained {
10
+ .smui-elevation(2);
11
+ }
12
+
13
+ &.smwb-full-width {
14
+ width: 100%;
15
+ }
16
+
17
+ &__grouped {
18
+ align-self: stretch;
19
+ min-width: 40px;
20
+
21
+ .smwb-contained & {
22
+ box-shadow: none;
23
+ }
24
+
25
+ .smwb-horizontal & {
26
+ &:not(:first-of-type) {
27
+ border-top-left-radius: 0;
28
+ border-bottom-left-radius: 0;
29
+
30
+ &.smwb-outlined {
31
+ margin-left: -1px;
32
+ }
33
+ }
34
+
35
+ &:not(:last-of-type) {
36
+ border-top-right-radius: 0;
37
+ border-bottom-right-radius: 0;
38
+
39
+ &.smwb-outlined {
40
+ border-right-color: transparent;
41
+ }
42
+
43
+ &.smwb-contained {
44
+ border-right: 1px solid ~"color-mix(in srgb, #fff 12%, var(--smui-primaryColor))";
45
+ }
46
+
47
+ &.smwb-text {
48
+ border-right: 1px solid var(--smui-primaryColor);
49
+ }
50
+
51
+ &.smwb-disabled {
52
+ &.smwb-text,
53
+ &.smwb-contained {
54
+ border-right: 1px solid var(--smui-disabledBgColor);
55
+ }
56
+ }
57
+ }
58
+ }
59
+
60
+ .smwb-vertical & {
61
+ &:not(:first-of-type) {
62
+ border-top-right-radius: 0;
63
+ border-top-left-radius: 0;
64
+
65
+ &.smwb-outlined {
66
+ margin-top: -1px;
67
+ }
68
+ }
69
+
70
+ &:not(:last-of-type) {
71
+ border-bottom-right-radius: 0;
72
+ border-bottom-left-radius: 0;
73
+
74
+ &.smwb-outlined {
75
+ border-bottom-color: transparent;
76
+ }
77
+
78
+ &.smwb-contained {
79
+ border-bottom: 1px solid ~"color-mix(in srgb, #fff 12%, var(--smui-primaryColor))";
80
+ }
81
+
82
+ &.smwb-text {
83
+ border-bottom: 1px solid ~"color-mix(in srgb, var(--smui-primaryColor) 50%, transparent)";
84
+ }
85
+
86
+ &.smwb-disabled {
87
+ &.smwb-text,
88
+ &.smwb-contained {
89
+ border-bottom: 1px solid var(--smui-disabledBgColor);
90
+ }
91
+ }
92
+ }
93
+ }
94
+ }
95
+ }
@@ -0,0 +1,2 @@
1
+ @import (reference) "../../_prelude.less";
2
+ @import "./card.less";
@@ -0,0 +1,56 @@
1
+ .smwb-card {
2
+ background-color: var(--smui-surfaceBackground);
3
+ padding: @cardPadding;
4
+ border-radius: @cardBorderRadius;
5
+ color: var(--smui-onSurfaceColor);
6
+ transition: all 0.25s ease-in-out;
7
+ line-height: 1.5;
8
+ display: flex;
9
+ flex-direction: column;
10
+ &_elevated {
11
+ box-shadow: 0px 2px 1px -1px rgb(0 0 0 / 20%), 0px 1px 1px 0px rgb(0 0 0 / 11%), 0px 1px 3px 0px rgb(0 0 0 / 11%);
12
+ &:hover {
13
+ box-shadow: 0px 2px 10px -1px rgb(0 0 0 / 20%), 0px 1px 4px 0px rgb(0 0 0 / 11%), 0px 1px 4px 0px rgb(0 0 0 / 11%);
14
+ }
15
+ &:active {
16
+ background-color: var(--smui-onSurfaceHover);
17
+ }
18
+ }
19
+ &_outlined {
20
+ border: 1px solid var(--smui-outlineColor);
21
+ &:hover {
22
+ background-color: var(--smui-onSurfaceHover);
23
+ box-shadow: 0px 2px 4px -1px rgb(0 0 0 / 11%), 0px 1px 4px 0px rgb(0 0 0 / 11%), 0px 1px 11px 0px rgb(0 0 0 / 11%);
24
+ }
25
+ &:active {
26
+ background-color: var(--smui-onSurfaceHover);
27
+ }
28
+ }
29
+ &_filled {
30
+ background-color: var(--smui-surfaceVariant);
31
+ &:hover {
32
+ box-shadow: 0px 2px 10px -1px rgb(0 0 0 / 14%), 0px 1px 4px 0px rgb(0 0 0 / 11%), 0px 1px 4px 0px rgb(0 0 0 / 11%);
33
+ }
34
+ &:active {
35
+ background-color: var(--smui-onSurfaceActive);
36
+ }
37
+ }
38
+ &_disabled {
39
+ pointer-events: none;
40
+ opacity: 0.38;
41
+ }
42
+ &__title {
43
+ font-size: 1.25rem;
44
+ font-weight: 500;
45
+ }
46
+ &__footer {
47
+ margin-top: @smui-space-md;
48
+ }
49
+ &_interactive {
50
+ cursor: pointer;
51
+ &:focus-visible {
52
+ outline: 2px solid var(--smui-primaryColor);
53
+ outline-offset: 2px;
54
+ }
55
+ }
56
+ }
@@ -0,0 +1,2 @@
1
+ @import (reference) "../../_prelude.less";
2
+ @import "./carousel.less";
@@ -0,0 +1,75 @@
1
+ .smwb-carousel {
2
+ max-width: 412px;
3
+ }
4
+
5
+ .smwb-carousel__inner {
6
+ position: relative;
7
+ }
8
+
9
+ .smwb-carousel__track {
10
+ text-align: center;
11
+ overflow: hidden;
12
+
13
+ cursor: pointer;
14
+ margin-left: -4px;
15
+ margin-right: -4px;
16
+ // Capture horizontal swipes for navigation while still allowing
17
+ // the page to scroll vertically over the carousel on touch.
18
+ touch-action: pan-y;
19
+ }
20
+
21
+ .smwb-carousel__layer {
22
+ width: 100%;
23
+ height: 100%;
24
+ display: flex;
25
+ will-change: transform;
26
+ }
27
+
28
+ .smwb-carousel__slide {
29
+ flex-shrink: 0;
30
+ padding-left: 4px;
31
+ padding-right: 4px;
32
+ }
33
+
34
+ .smwb-carousel__slide-inner {
35
+ border-radius: 28px;
36
+ overflow: hidden;
37
+ will-change: width;
38
+
39
+ img {
40
+ height: 205px;
41
+ aspect-ratio: 0.9;
42
+ object-fit: cover;
43
+ width: 100%;
44
+ user-select: none;
45
+ }
46
+ }
47
+
48
+ .smwb-carousel__navigation {
49
+ display: flex;
50
+ justify-content: center;
51
+
52
+ & .current {
53
+ background-color: var(--smui-onPrimaryContainerActive);
54
+ }
55
+
56
+ &__dot {
57
+ margin: 3px;
58
+ width: 10px;
59
+ height: 10px;
60
+ border-radius: 50%;
61
+ border: 1px solid var(--smui-onPrimaryContainer);
62
+ }
63
+ }
64
+
65
+ .smwb-carousel__arrow {
66
+ cursor: pointer;
67
+ position: absolute;
68
+ background: var(--smui-onPrimaryContainerActive);
69
+ color: var(--smui-onPrimaryContainer);
70
+ border-radius: 50%;
71
+ z-index: 1;
72
+ display: flex;
73
+ align-items: center;
74
+ justify-content: center;
75
+ }
@@ -0,0 +1,2 @@
1
+ @import (reference) "../../_prelude.less";
2
+ @import "./chat.less";