@popsure/dirty-swan 0.26.9 → 0.26.12

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 (241) hide show
  1. package/dist/index.css +63 -1
  2. package/dist/index.css.map +1 -1
  3. package/dist/lib/scss/private/base/_border_radius.scss +15 -0
  4. package/dist/lib/scss/private/base/_grid.scss +8 -0
  5. package/dist/lib/scss/private/base/_index.scss +1 -0
  6. package/dist/lib/scss/private/base/style.module.scss +10 -0
  7. package/dist/lib/scss/private/components/_buttons.scss +1 -1
  8. package/dist/lib/scss/public/colors/default.scss +2 -0
  9. package/dist/lib/scss/public/demo.tsx +13 -1
  10. package/package.json +2 -1
  11. package/src/App.tsx +50 -0
  12. package/src/bin/index.ts +71 -0
  13. package/src/bin/tsconfig.json +13 -0
  14. package/src/bin/util/index.test.ts +85 -0
  15. package/src/bin/util/index.ts +132 -0
  16. package/src/bin/util/test/data.json +13 -0
  17. package/src/colors.scss +1 -0
  18. package/src/font-weight.scss +1 -0
  19. package/src/grid.scss +1 -0
  20. package/src/index.tsx +37 -0
  21. package/src/intro.stories.mdx +41 -0
  22. package/src/lib/components/autocompleteAddress/demo.tsx +38 -0
  23. package/src/lib/components/autocompleteAddress/index.stories.mdx +44 -0
  24. package/src/lib/components/autocompleteAddress/index.tsx +316 -0
  25. package/src/lib/components/autocompleteAddress/mapStyle.ts +187 -0
  26. package/src/lib/components/autocompleteAddress/style.module.scss +82 -0
  27. package/src/lib/components/autocompleteAddress/util/index.test.ts +51 -0
  28. package/src/lib/components/autocompleteAddress/util/index.ts +55 -0
  29. package/src/lib/components/button/icons/index.ts +14 -0
  30. package/src/lib/components/button/icons/send-purple.svg +4 -0
  31. package/src/lib/components/button/icons/send-white.svg +4 -0
  32. package/src/lib/components/button/index.stories.mdx +121 -0
  33. package/src/lib/components/button/index.tsx +64 -0
  34. package/src/lib/components/button/styles.module.scss +5 -0
  35. package/src/lib/components/cards/a.stories.mdx +44 -0
  36. package/src/lib/components/cards/cardButton/index.stories.mdx +47 -0
  37. package/src/lib/components/cards/cardButton/index.tsx +61 -0
  38. package/src/lib/components/cards/cardButton/style.module.scss +33 -0
  39. package/src/lib/components/cards/cardWithLeftIcon/index.stories.mdx +103 -0
  40. package/src/lib/components/cards/cardWithLeftIcon/index.tsx +87 -0
  41. package/src/lib/components/cards/cardWithLeftIcon/style.module.scss +23 -0
  42. package/src/lib/components/cards/cardWithTopIcon/index.stories.mdx +105 -0
  43. package/src/lib/components/cards/cardWithTopIcon/index.tsx +60 -0
  44. package/src/lib/components/cards/cardWithTopIcon/style.module.scss +10 -0
  45. package/src/lib/components/cards/cardWithTopLeftIcon/index.stories.mdx +101 -0
  46. package/src/lib/components/cards/cardWithTopLeftIcon/index.tsx +72 -0
  47. package/src/lib/components/cards/cardWithTopLeftIcon/style.module.scss +21 -0
  48. package/src/lib/components/cards/icons/arrow-right.svg +4 -0
  49. package/src/lib/components/cards/icons/chevron-right.svg +3 -0
  50. package/src/lib/components/cards/icons/feather-logo.svg +10 -0
  51. package/src/lib/components/cards/icons/index.ts +36 -0
  52. package/src/lib/components/cards/icons/info.svg +12 -0
  53. package/src/lib/components/cards/index.test.ts +37 -0
  54. package/src/lib/components/cards/index.tsx +57 -0
  55. package/src/lib/components/cards/infoCard/index.stories.mdx +61 -0
  56. package/src/lib/components/cards/infoCard/index.tsx +47 -0
  57. package/src/lib/components/cards/infoCard/style.module.scss +53 -0
  58. package/src/lib/components/chip/icons/remove-button-highlighted.svg +4 -0
  59. package/src/lib/components/chip/icons/remove-button.svg +4 -0
  60. package/src/lib/components/chip/index.stories.mdx +101 -0
  61. package/src/lib/components/chip/index.tsx +38 -0
  62. package/src/lib/components/chip/style.module.scss +54 -0
  63. package/src/lib/components/comparisonTable/components/Chevron.tsx +19 -0
  64. package/src/lib/components/comparisonTable/components/Row/index.tsx +68 -0
  65. package/src/lib/components/comparisonTable/components/Row/style.module.scss +114 -0
  66. package/src/lib/components/comparisonTable/components/TableArrows/Arrow.tsx +19 -0
  67. package/src/lib/components/comparisonTable/components/TableArrows/index.tsx +52 -0
  68. package/src/lib/components/comparisonTable/components/TableArrows/style.module.scss +53 -0
  69. package/src/lib/components/comparisonTable/components/TableInfoButton/index.tsx +37 -0
  70. package/src/lib/components/comparisonTable/components/TableInfoButton/style.module.scss +30 -0
  71. package/src/lib/components/comparisonTable/components/TableRating/StarIcon.tsx +13 -0
  72. package/src/lib/components/comparisonTable/components/TableRating/ZapIcon.tsx +17 -0
  73. package/src/lib/components/comparisonTable/components/TableRating/index.tsx +45 -0
  74. package/src/lib/components/comparisonTable/components/TableRating/style.module.scss +13 -0
  75. package/src/lib/components/comparisonTable/components/TableRowHeader/index.tsx +35 -0
  76. package/src/lib/components/comparisonTable/components/TableRowHeader/style.module.scss +3 -0
  77. package/src/lib/components/comparisonTable/components/TableTrueFalse.tsx +40 -0
  78. package/src/lib/components/comparisonTable/hooks/useActiveTableArrows.ts +63 -0
  79. package/src/lib/components/comparisonTable/index.stories.mdx +254 -0
  80. package/src/lib/components/comparisonTable/index.tsx +211 -0
  81. package/src/lib/components/comparisonTable/style.module.scss +104 -0
  82. package/src/lib/components/dateSelector/datepicker.scss +406 -0
  83. package/src/lib/components/dateSelector/icons/calendar.svg +6 -0
  84. package/src/lib/components/dateSelector/icons/chevron-left.svg +3 -0
  85. package/src/lib/components/dateSelector/icons/chevron-right.svg +3 -0
  86. package/src/lib/components/dateSelector/index.stories.mdx +62 -0
  87. package/src/lib/components/dateSelector/index.test.ts +33 -0
  88. package/src/lib/components/dateSelector/index.tsx +247 -0
  89. package/src/lib/components/dateSelector/style.module.scss +77 -0
  90. package/src/lib/components/downloadButton/icons/check.svg +3 -0
  91. package/src/lib/components/downloadButton/icons/download.svg +5 -0
  92. package/src/lib/components/downloadButton/index.stories.mdx +59 -0
  93. package/src/lib/components/downloadButton/index.tsx +67 -0
  94. package/src/lib/components/downloadButton/style.module.scss +19 -0
  95. package/src/lib/components/downloadRing/icons/check-outside-circle.tsx +26 -0
  96. package/src/lib/components/downloadRing/icons/download-cloud.tsx +18 -0
  97. package/src/lib/components/downloadRing/icons/style.module.scss +7 -0
  98. package/src/lib/components/downloadRing/index.stories.mdx +35 -0
  99. package/src/lib/components/downloadRing/index.tsx +79 -0
  100. package/src/lib/components/downloadRing/style.module.scss +66 -0
  101. package/src/lib/components/dropzone/images/error.tsx +18 -0
  102. package/src/lib/components/dropzone/images/file.tsx +26 -0
  103. package/src/lib/components/dropzone/images/style.module.scss +7 -0
  104. package/src/lib/components/dropzone/images/upload-complete.tsx +24 -0
  105. package/src/lib/components/dropzone/images/upload.tsx +18 -0
  106. package/src/lib/components/dropzone/index.stories.mdx +44 -0
  107. package/src/lib/components/dropzone/index.tsx +152 -0
  108. package/src/lib/components/dropzone/style.module.scss +90 -0
  109. package/src/lib/components/input/a.stories.mdx +28 -0
  110. package/src/lib/components/input/autoSuggestInput/index.stories.mdx +137 -0
  111. package/src/lib/components/input/autoSuggestInput/index.tsx +81 -0
  112. package/src/lib/components/input/autoSuggestInput/style.module.scss +71 -0
  113. package/src/lib/components/input/autoSuggestMultiSelect/index.stories.mdx +115 -0
  114. package/src/lib/components/input/autoSuggestMultiSelect/index.tsx +75 -0
  115. package/src/lib/components/input/autoSuggestMultiSelect/style.module.scss +4 -0
  116. package/src/lib/components/input/currency/format/index.test.ts +49 -0
  117. package/src/lib/components/input/currency/format/index.ts +15 -0
  118. package/src/lib/components/input/currency/index.stories.mdx +25 -0
  119. package/src/lib/components/input/currency/index.test.tsx +56 -0
  120. package/src/lib/components/input/currency/index.tsx +53 -0
  121. package/src/lib/components/input/iban/formatIban/index.test.ts +11 -0
  122. package/src/lib/components/input/iban/formatIban/index.ts +22 -0
  123. package/src/lib/components/input/iban/index.stories.mdx +21 -0
  124. package/src/lib/components/input/iban/index.tsx +20 -0
  125. package/src/lib/components/input/index.stories.mdx +62 -0
  126. package/src/lib/components/input/index.tsx +51 -0
  127. package/src/lib/components/input/style.module.scss +94 -0
  128. package/src/lib/components/modal/bottomModal/img/close.svg +4 -0
  129. package/src/lib/components/modal/bottomModal/index.tsx +68 -0
  130. package/src/lib/components/modal/bottomModal/style.module.scss +104 -0
  131. package/src/lib/components/modal/bottomOrRegularModal/index.tsx +43 -0
  132. package/src/lib/components/modal/bottomOrRegularModal/style.module.scss +16 -0
  133. package/src/lib/components/modal/hooks/useOnClose.ts +51 -0
  134. package/src/lib/components/modal/index.stories.mdx +316 -0
  135. package/src/lib/components/modal/index.ts +14 -0
  136. package/src/lib/components/modal/regularModal/img/close.svg +4 -0
  137. package/src/lib/components/modal/regularModal/index.tsx +55 -0
  138. package/src/lib/components/modal/regularModal/style.module.scss +106 -0
  139. package/src/lib/components/multiDropzone/UploadFileCell/index.tsx +138 -0
  140. package/src/lib/components/multiDropzone/UploadFileCell/style.module.scss +101 -0
  141. package/src/lib/components/multiDropzone/icons/bmp-complete.svg +10 -0
  142. package/src/lib/components/multiDropzone/icons/bmp.svg +10 -0
  143. package/src/lib/components/multiDropzone/icons/doc-complete.svg +11 -0
  144. package/src/lib/components/multiDropzone/icons/doc.svg +11 -0
  145. package/src/lib/components/multiDropzone/icons/docx-complete.svg +12 -0
  146. package/src/lib/components/multiDropzone/icons/docx.svg +12 -0
  147. package/src/lib/components/multiDropzone/icons/eye.svg +4 -0
  148. package/src/lib/components/multiDropzone/icons/generic-complete.svg +4 -0
  149. package/src/lib/components/multiDropzone/icons/generic-error.svg +7 -0
  150. package/src/lib/components/multiDropzone/icons/generic.svg +4 -0
  151. package/src/lib/components/multiDropzone/icons/heic-complete.svg +11 -0
  152. package/src/lib/components/multiDropzone/icons/heic.svg +11 -0
  153. package/src/lib/components/multiDropzone/icons/index.ts +51 -0
  154. package/src/lib/components/multiDropzone/icons/jpeg-complete.svg +11 -0
  155. package/src/lib/components/multiDropzone/icons/jpeg.svg +11 -0
  156. package/src/lib/components/multiDropzone/icons/jpg-complete.svg +10 -0
  157. package/src/lib/components/multiDropzone/icons/jpg.svg +10 -0
  158. package/src/lib/components/multiDropzone/icons/pdf-complete.svg +8 -0
  159. package/src/lib/components/multiDropzone/icons/pdf.svg +8 -0
  160. package/src/lib/components/multiDropzone/icons/png-complete.svg +10 -0
  161. package/src/lib/components/multiDropzone/icons/png.svg +10 -0
  162. package/src/lib/components/multiDropzone/icons/trash.svg +6 -0
  163. package/src/lib/components/multiDropzone/icons/upload.svg +5 -0
  164. package/src/lib/components/multiDropzone/index.stories.mdx +91 -0
  165. package/src/lib/components/multiDropzone/index.tsx +99 -0
  166. package/src/lib/components/multiDropzone/style.module.scss +32 -0
  167. package/src/lib/components/segmentedControl/index.stories.mdx +47 -0
  168. package/src/lib/components/segmentedControl/index.tsx +105 -0
  169. package/src/lib/components/segmentedControl/style.module.scss +36 -0
  170. package/src/lib/components/signaturePad/img/reset.svg +4 -0
  171. package/src/lib/components/signaturePad/img/sign.svg +3 -0
  172. package/src/lib/components/signaturePad/index.stories.mdx +17 -0
  173. package/src/lib/components/signaturePad/index.tsx +96 -0
  174. package/src/lib/components/signaturePad/style.module.scss +90 -0
  175. package/src/lib/index.tsx +71 -0
  176. package/src/lib/models/autoSuggestInput/index.ts +4 -0
  177. package/src/lib/models/download.ts +1 -0
  178. package/src/lib/models/downloadRing/index.ts +6 -0
  179. package/src/lib/scss/index.scss +22 -0
  180. package/src/lib/scss/private/_reset.scss +149 -0
  181. package/src/lib/scss/private/base/_border_radius.scss +15 -0
  182. package/src/lib/scss/private/base/_colors.scss +19 -0
  183. package/src/lib/scss/private/base/_cursors.scss +31 -0
  184. package/src/lib/scss/private/base/_display.scss +35 -0
  185. package/src/lib/scss/private/base/_grid.scss +60 -0
  186. package/src/lib/scss/private/base/_index.scss +10 -0
  187. package/src/lib/scss/private/base/_shadows.scss +2 -0
  188. package/src/lib/scss/private/base/_spacing.scss +89 -0
  189. package/src/lib/scss/private/base/_typography.scss +128 -0
  190. package/src/lib/scss/private/base/_width_and_height.scss +25 -0
  191. package/src/lib/scss/private/base/border_radius.stories.mdx +43 -0
  192. package/src/lib/scss/private/base/cursors.stories.mdx +18 -0
  193. package/src/lib/scss/private/base/demo.tsx +119 -0
  194. package/src/lib/scss/private/base/display.stories.mdx +19 -0
  195. package/src/lib/scss/private/base/flex/_flex.scss +63 -0
  196. package/src/lib/scss/private/base/flex/flex.stories.mdx +139 -0
  197. package/src/lib/scss/private/base/flex/style.module.scss +24 -0
  198. package/src/lib/scss/private/base/spacing.stories.mdx +185 -0
  199. package/src/lib/scss/private/base/style.module.scss +52 -0
  200. package/src/lib/scss/private/base/typography.stories.mdx +71 -0
  201. package/src/lib/scss/private/base/width_and_height.stories.mdx +172 -0
  202. package/src/lib/scss/private/components/_badge.scss +41 -0
  203. package/src/lib/scss/private/components/_buttons.scss +193 -0
  204. package/src/lib/scss/private/components/_cards.scss +32 -0
  205. package/src/lib/scss/private/components/_index.scss +6 -0
  206. package/src/lib/scss/private/components/_input.scss +241 -0
  207. package/src/lib/scss/private/components/_notices.scss +39 -0
  208. package/src/lib/scss/private/components/_spinner.scss +60 -0
  209. package/src/lib/scss/private/components/assets/checkmark.svg +3 -0
  210. package/src/lib/scss/private/components/assets/icon-form-dropdown.svg +3 -0
  211. package/src/lib/scss/private/components/badge.stories.mdx +37 -0
  212. package/src/lib/scss/private/components/button.stories.mdx +107 -0
  213. package/src/lib/scss/private/components/cards.stories.mdx +35 -0
  214. package/src/lib/scss/private/components/checkbox.stories.mdx +47 -0
  215. package/src/lib/scss/private/components/input.stories.mdx +33 -0
  216. package/src/lib/scss/private/components/notices.stories.mdx +37 -0
  217. package/src/lib/scss/private/components/radio.stories.mdx +47 -0
  218. package/src/lib/scss/private/components/select.stories.mdx +17 -0
  219. package/src/lib/scss/private/components/spinner.stories.mdx +25 -0
  220. package/src/lib/scss/public/colors/_index.scss +2 -0
  221. package/src/lib/scss/public/colors/default.scss +127 -0
  222. package/src/lib/scss/public/colors/overrides.scss +0 -0
  223. package/src/lib/scss/public/colors.stories.mdx +27 -0
  224. package/src/lib/scss/public/demo.tsx +297 -0
  225. package/src/lib/scss/public/font/_index.scss +2 -0
  226. package/src/lib/scss/public/font/default.scss +3 -0
  227. package/src/lib/scss/public/font/overrides.scss +0 -0
  228. package/src/lib/scss/public/font-weight.scss +9 -0
  229. package/src/lib/scss/public/font-weight.stories.mdx +32 -0
  230. package/src/lib/scss/public/grid.scss +21 -0
  231. package/src/lib/scss/public/grid.stories.mdx +41 -0
  232. package/src/lib/scss/third-party/_google_places.scss +62 -0
  233. package/src/lib/scss/third-party/_index.scss +1 -0
  234. package/src/lib/scss/utils/_index.scss +3 -0
  235. package/src/lib/util/calendarDate/index.test.ts +32 -0
  236. package/src/lib/util/calendarDate/index.ts +30 -0
  237. package/src/lib/util/zeroFill.test.ts +15 -0
  238. package/src/lib/util/zeroFill.ts +7 -0
  239. package/src/react-app-env.d.ts +1 -0
  240. package/src/setupTests.js +8 -0
  241. package/src/theme.stories.mdx +54 -0
@@ -0,0 +1,172 @@
1
+ import {
2
+ StaticWidthClasses,
3
+ FuildWidthClasses,
4
+ MaxWidthClasses,
5
+ MinWidthClasses,
6
+ } from './demo';
7
+
8
+ <Meta title="CSS/Base/Width and height" />
9
+
10
+ # Width and height
11
+
12
+ Dirty swan provides atomic sizing classes for widths and heights.
13
+
14
+ ## Static widths
15
+
16
+ ### Static widths classes
17
+
18
+ | Class | Output |
19
+ | ------- | ------------- |
20
+ | `.ws1` | width: 60px; |
21
+ | `.ws2` | width: 136px; |
22
+ | `.ws3` | width: 212px; |
23
+ | `.ws4` | width: 288px; |
24
+ | `.ws5` | width: 364px; |
25
+ | `.ws6` | width: 440px; |
26
+ | `.ws7` | width: 516px; |
27
+ | `.ws8` | width: 592px; |
28
+ | `.ws9` | width: 668px; |
29
+ | `.ws10` | width: 744px; |
30
+ | `.ws11` | width: 820px; |
31
+ | `.ws12` | width: 896px; |
32
+
33
+ ### Static width examples
34
+
35
+ ```html
36
+ <div class="ws1">…</div>
37
+ <div class="ws2">…</div>
38
+ <div class="ws3">…</div>
39
+ <div class="ws4">…</div>
40
+ <div class="ws5">…</div>
41
+ <div class="ws6">…</div>
42
+ <div class="ws7">…</div>
43
+ <div class="ws8">…</div>
44
+ <div class="ws9">…</div>
45
+ <div class="ws10">…</div>
46
+ <div class="ws11">…</div>
47
+ <div class="ws12">…</div>
48
+ ```
49
+
50
+ <Preview>
51
+ <StaticWidthClasses />
52
+ </Preview>
53
+
54
+ ## Min widths
55
+
56
+ ### Min widths classes
57
+
58
+ | Class | Output |
59
+ | -------- | ----------------- |
60
+ | `.wmn1` | min-width: 60px; |
61
+ | `.wmn2` | min-width: 136px; |
62
+ | `.wmn3` | min-width: 212px; |
63
+ | `.wmn4` | min-width: 288px; |
64
+ | `.wmn5` | min-width: 364px; |
65
+ | `.wmn6` | min-width: 440px; |
66
+ | `.wmn7` | min-width: 516px; |
67
+ | `.wmn8` | min-width: 592px; |
68
+ | `.wmn9` | min-width: 668px; |
69
+ | `.wmn10` | min-width: 744px; |
70
+ | `.wmn11` | min-width: 820px; |
71
+ | `.wmn12` | min-width: 896px; |
72
+
73
+ ### Min width examples
74
+
75
+ ```html
76
+ <div class="wmn1">…</div>
77
+ <div class="wmn2">…</div>
78
+ <div class="wmn3">…</div>
79
+ <div class="wmn4">…</div>
80
+ <div class="wmn5">…</div>
81
+ <div class="wmn6">…</div>
82
+ <div class="wmn7">…</div>
83
+ <div class="wmn8">…</div>
84
+ <div class="wmn9">…</div>
85
+ <div class="wmn10">…</div>
86
+ <div class="wmn11">…</div>
87
+ <div class="wmn12">…</div>
88
+ ```
89
+
90
+ <Preview>
91
+ <MinWidthClasses />
92
+ </Preview>
93
+
94
+ ## Max widths
95
+
96
+ ### Max widths classes
97
+
98
+ | Class | Output |
99
+ | -------- | ----------------- |
100
+ | `.wmx1` | min-width: 60px; |
101
+ | `.wmx2` | min-width: 136px; |
102
+ | `.wmx3` | min-width: 212px; |
103
+ | `.wmx4` | min-width: 288px; |
104
+ | `.wmx5` | min-width: 364px; |
105
+ | `.wmx6` | min-width: 440px; |
106
+ | `.wmx7` | min-width: 516px; |
107
+ | `.wmx8` | min-width: 592px; |
108
+ | `.wmx9` | min-width: 668px; |
109
+ | `.wmx10` | min-width: 744px; |
110
+ | `.wmx11` | min-width: 820px; |
111
+ | `.wmx12` | min-width: 896px; |
112
+
113
+ ### Max width examples
114
+
115
+ ```html
116
+ <div class="wmx1">…</div>
117
+ <div class="wmx2">…</div>
118
+ <div class="wmx3">…</div>
119
+ <div class="wmx4">…</div>
120
+ <div class="wmx5">…</div>
121
+ <div class="wmx6">…</div>
122
+ <div class="wmx7">…</div>
123
+ <div class="wmx8">…</div>
124
+ <div class="wmx9">…</div>
125
+ <div class="wmx10">…</div>
126
+ <div class="wmx11">…</div>
127
+ <div class="wmx12">…</div>
128
+ ```
129
+
130
+ <Preview>
131
+ <MaxWidthClasses />
132
+ </Preview>
133
+
134
+ ## Fuild width widths
135
+
136
+ ### Fuild widths classes
137
+
138
+ | Class | Output |
139
+ | --------- | ------------- |
140
+ | `.w-auto` | width: auto; |
141
+ | `.w0` | width: 0; |
142
+ | `.w10` | width: 10%; |
143
+ | `.w20` | width: 20%; |
144
+ | `.w30` | width: 30%; |
145
+ | `.w40` | width: 40%; |
146
+ | `.w50` | width: 50%; |
147
+ | `.w60` | width: 60%; |
148
+ | `.w70` | width: 70%; |
149
+ | `.w80` | width: 80%; |
150
+ | `.w90` | width: 90%; |
151
+ | `.w100` | width: 1000%; |
152
+
153
+ ### Fuild width examples
154
+
155
+ ```html
156
+ <div class="w-auto">…</div>
157
+ <div class="w0">…</div>
158
+ <div class="w10">…</div>
159
+ <div class="w20">…</div>
160
+ <div class="w30">…</div>
161
+ <div class="w40">…</div>
162
+ <div class="w50">…</div>
163
+ <div class="w60">…</div>
164
+ <div class="w70">…</div>
165
+ <div class="w80">…</div>
166
+ <div class="w90">…</div>
167
+ <div class="w100">…</div>
168
+ ```
169
+
170
+ <Preview>
171
+ <FuildWidthClasses />
172
+ </Preview>
@@ -0,0 +1,41 @@
1
+ @use '../../public/colors' as *;
2
+
3
+ .p-badge {
4
+ display: inline-block;
5
+
6
+ padding: 0 16px;
7
+
8
+ font-size: 12px;
9
+ color: $ds-grey-900;
10
+ text-align: center;
11
+
12
+ height: 18px;
13
+ line-height: 18px;
14
+
15
+ border-radius: 9px;
16
+
17
+ &--active {
18
+ @extend .p-badge;
19
+ background-color: $ds-green-300;
20
+ }
21
+
22
+ &--pending {
23
+ @extend .p-badge;
24
+ background-color: $ds-yellow-300;
25
+ }
26
+
27
+ &--inactive {
28
+ @extend .p-badge;
29
+ background-color: $ds-grey-300;
30
+ }
31
+
32
+ &--danger {
33
+ @extend .p-badge;
34
+ background-color: $ds-red-300;
35
+ }
36
+
37
+ &--info {
38
+ @extend .p-badge;
39
+ background-color: $ds-blue-300;
40
+ }
41
+ }
@@ -0,0 +1,193 @@
1
+ @use '../../public/grid' as *;
2
+ @use '../../public/colors' as *;
3
+ @use '../../public/font-weight' as *;
4
+
5
+ @keyframes spinner-rotate {
6
+ from {
7
+ transform: rotate(0deg);
8
+ }
9
+ to {
10
+ transform: rotate(360deg);
11
+ }
12
+ }
13
+
14
+ .p-btn {
15
+ display: inline-block;
16
+
17
+ position: relative;
18
+ cursor: pointer;
19
+
20
+ height: 48px;
21
+ padding: 12px 24px;
22
+
23
+ line-height: 24px;
24
+
25
+ font-size: 16px;
26
+ font-family: inherit;
27
+ letter-spacing: 0.5px;
28
+ text-decoration: none;
29
+ text-align: center;
30
+ font-weight: $p-font-weight-bold;
31
+
32
+ border-radius: 8px;
33
+ border: none;
34
+
35
+ transition: 0.3s opacity, 0.3s background-color;
36
+
37
+ &[disabled] {
38
+ cursor: default;
39
+ opacity: 0.5;
40
+ }
41
+
42
+ &--primary {
43
+ @extend .p-btn;
44
+ background-color: $ds-primary-500;
45
+ color: white;
46
+
47
+ &:hover {
48
+ background-color: $ds-primary-700;
49
+
50
+ @include p-size-mobile {
51
+ background-color: $ds-primary-500;
52
+ }
53
+ }
54
+
55
+ &[disabled] {
56
+ background-color: $ds-primary-300;
57
+ opacity: 1;
58
+ }
59
+
60
+ &:focus {
61
+ outline: none;
62
+ box-shadow: 0 0 0 2px rgba($color: $ds-primary-500, $alpha: 0.5);
63
+ }
64
+ }
65
+
66
+ &--secondary {
67
+ @extend .p-btn;
68
+ background-color: transparent;
69
+ color: $ds-primary-500;
70
+
71
+ &:hover {
72
+ background-color: $ds-primary-100;
73
+
74
+ @include p-size-mobile {
75
+ background-color: transparent;
76
+ }
77
+ }
78
+
79
+ &[disabled] {
80
+ color: $ds-primary-700;
81
+
82
+ &:hover {
83
+ background-color: transparent;
84
+ }
85
+ }
86
+
87
+ &:focus {
88
+ outline: none;
89
+ box-shadow: 0 0 0 2px rgba($color: $ds-primary-500, $alpha: 0.5);
90
+ }
91
+ }
92
+
93
+ &--danger {
94
+ @extend .p-btn;
95
+ background-color: $ds-red-500;
96
+ color: white;
97
+
98
+ &:hover {
99
+ background-color: $ds-red-700;
100
+
101
+ @include p-size-mobile {
102
+ background-color: $ds-red-500;
103
+ }
104
+ }
105
+
106
+ &[disabled] {
107
+ background-color: $ds-red-300;
108
+ opacity: 1;
109
+ }
110
+
111
+ &:focus {
112
+ outline: none;
113
+ box-shadow: 0 0 0 2px rgba($color: $ds-red-500, $alpha: 0.5);
114
+ }
115
+ }
116
+
117
+ &--loading {
118
+ color: transparent;
119
+ cursor: default;
120
+
121
+ opacity: 1 !important;
122
+
123
+ &::before {
124
+ content: '';
125
+
126
+ $size: 26px;
127
+
128
+ position: absolute;
129
+
130
+ width: $size;
131
+ height: $size;
132
+
133
+ left: calc(50% - 13px);
134
+ top: calc(50% - 13px);
135
+
136
+ border-radius: 50%;
137
+ border: 2px solid rgba($color: #ffffff, $alpha: 0.5);
138
+ border-left-color: white;
139
+
140
+ animation: spinner-rotate 0.9s infinite;
141
+ }
142
+ }
143
+
144
+ &--outline {
145
+ @extend .p-btn;
146
+
147
+ color: $ds-primary-500;
148
+ background-color: transparent;
149
+
150
+ border: 1px dashed $ds-primary-300;
151
+
152
+ &:hover {
153
+ color: $ds-primary-700;
154
+ border-color: $ds-primary-500;
155
+ }
156
+
157
+ &[disabled] {
158
+ color: $ds-primary-500;
159
+ border-color: $ds-primary-300;
160
+ opacity: 0.5;
161
+ }
162
+
163
+ &:focus {
164
+ color: $ds-primary-700;
165
+ border-color: $ds-primary-700;
166
+ }
167
+
168
+ &-grey {
169
+ @extend .p-btn;
170
+
171
+ color: $ds-grey-500;
172
+ background-color: transparent;
173
+
174
+ border: 1px dashed $ds-grey-300;
175
+
176
+ &:hover {
177
+ color: $ds-grey-600;
178
+ border-color: $ds-grey-500;
179
+ }
180
+
181
+ &[disabled] {
182
+ color: $ds-grey-500;
183
+ border-color: $ds-grey-300;
184
+ opacity: 0.5;
185
+ }
186
+
187
+ &:focus {
188
+ color: $ds-grey-600;
189
+ border-color: $ds-grey-600;
190
+ }
191
+ }
192
+ }
193
+ }
@@ -0,0 +1,32 @@
1
+ @use '../../public/colors' as *;
2
+
3
+ .ds-card {
4
+ background-color: white;
5
+ border-radius: 8px;
6
+ border: 2px solid transparent;
7
+ box-shadow: 0px 2px 28px rgba(97, 96, 162, 0.1);
8
+
9
+ transition: border-color 0.3s;
10
+
11
+ &--actionable {
12
+ cursor: pointer;
13
+ @extend .ds-card;
14
+ &:hover {
15
+ border: 2px solid $ds-primary-300;
16
+ }
17
+
18
+ &:focus {
19
+ outline: none;
20
+ border: 2px solid $ds-primary-500;
21
+ }
22
+ }
23
+
24
+ &--muted {
25
+ @extend .ds-card;
26
+ opacity: 0.25;
27
+ }
28
+
29
+ &--no-dropshadow {
30
+ box-shadow: none;
31
+ }
32
+ }
@@ -0,0 +1,6 @@
1
+ @forward "buttons";
2
+ @forward "input";
3
+ @forward "notices";
4
+ @forward "badge";
5
+ @forward "spinner";
6
+ @forward "cards";
@@ -0,0 +1,241 @@
1
+ @use '../../public/colors' as *;
2
+ @use '../../utils/' as util;
3
+
4
+ .p-input {
5
+ appearance: none;
6
+
7
+ display: block;
8
+
9
+ padding-left: 16px;
10
+ font-size: 16px;
11
+ line-height: 24px;
12
+
13
+ height: 48px;
14
+ width: 100%;
15
+
16
+ border-radius: 8px;
17
+ border: 1px solid $ds-grey-300;
18
+ background-color: white;
19
+
20
+ color: $ds-grey-900;
21
+
22
+ transition: box-shadow 0.3s;
23
+
24
+ &::placeholder {
25
+ color: $ds-grey-500;
26
+ }
27
+
28
+ &:disabled {
29
+ background-color: $ds-grey-300;
30
+ border-color: $ds-grey-500;
31
+ }
32
+
33
+ &:focus {
34
+ outline: none;
35
+ box-shadow: 0 0 0 2px $ds-primary-500;
36
+ }
37
+
38
+ &--error {
39
+ @extend .p-input;
40
+ border: 1px solid $ds-red-500;
41
+
42
+ &:focus {
43
+ outline: none;
44
+ box-shadow: 0 0 0 2px $ds-red-500;
45
+ }
46
+ }
47
+
48
+ input {
49
+ position: absolute;
50
+ opacity: 0;
51
+ cursor: pointer;
52
+ height: 0;
53
+ width: 0;
54
+ appearance: none;
55
+ }
56
+ }
57
+
58
+ .p-radio,
59
+ .p-checkbox {
60
+ cursor: pointer;
61
+
62
+ position: absolute;
63
+ height: 0;
64
+ width: 0;
65
+
66
+ opacity: 0;
67
+ }
68
+
69
+ .p-radio {
70
+ & + label {
71
+ &::before {
72
+ content: '';
73
+
74
+ cursor: pointer;
75
+ display: inline-flex;
76
+
77
+ margin-right: 16px;
78
+
79
+ width: 16px;
80
+ min-width: 16px;
81
+ height: 16px;
82
+ min-height: 16px;
83
+
84
+ border: 1px solid $ds-grey-300;
85
+ border-radius: 50%;
86
+
87
+ background-color: white;
88
+
89
+ transition: 0.3s background-color;
90
+ }
91
+ }
92
+ }
93
+
94
+ .p-radio:checked {
95
+ & + label::before {
96
+ border-color: $ds-primary-500;
97
+
98
+ background-image: url('data:image/svg+xml;utf8,<svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg"><circle cx="6" cy="6" r="5.5" fill="#{util.url-encoded-color($ds-primary-500)}" /></svg>');
99
+ background-repeat: no-repeat;
100
+ background-position: center;
101
+ }
102
+ }
103
+
104
+ .p-checkbox {
105
+ & + label {
106
+ &::before {
107
+ content: '';
108
+
109
+ cursor: pointer;
110
+ display: inline-flex;
111
+
112
+ margin-right: 16px;
113
+
114
+ width: 16px;
115
+ min-width: 16px;
116
+ height: 16px;
117
+ min-height: 16px;
118
+
119
+ border: 1px solid $ds-grey-300;
120
+ border-radius: 4px;
121
+
122
+ background-color: white;
123
+
124
+ transition: 0.3s background-color;
125
+ }
126
+ }
127
+ }
128
+
129
+ .p-checkbox:focus,
130
+ .p-radio:focus {
131
+ & + label {
132
+ &::before {
133
+ outline: none;
134
+ box-shadow: 0 0 0 2px rgba($color: $ds-primary-500, $alpha: 0.5);
135
+ }
136
+ }
137
+ }
138
+
139
+ .p-checkbox:checked {
140
+ & + label::before {
141
+ background-image: url('./assets/checkmark.svg');
142
+ background-repeat: no-repeat;
143
+ background-position: center;
144
+
145
+ background-color: $ds-primary-500;
146
+
147
+ border-color: $ds-primary-500;
148
+ }
149
+ }
150
+
151
+ .p-label {
152
+ cursor: pointer;
153
+
154
+ display: flex;
155
+ align-items: baseline;
156
+
157
+ min-height: 48px;
158
+ line-height: 24px;
159
+ color: $ds-grey-900;
160
+
161
+ &--bordered {
162
+ align-items: center;
163
+
164
+ padding-top: 8px;
165
+ padding-bottom: 8px;
166
+ padding-left: 16px;
167
+
168
+ border-radius: 8px;
169
+ border: 1px solid $ds-grey-300;
170
+ background-color: white;
171
+
172
+ &:hover {
173
+ border-color: $ds-primary-500;
174
+ }
175
+
176
+ transition: 0.3s border-color, 0.3s background-color;
177
+ }
178
+ }
179
+
180
+ input:checked[type='radio'] + .p-label--bordered,
181
+ input:checked[type='checkbox'] + .p-label--bordered {
182
+ border-color: $ds-primary-500;
183
+ background-color: $ds-primary-100;
184
+ }
185
+
186
+ .p-label-container {
187
+ position: relative;
188
+
189
+ input {
190
+ position: absolute;
191
+
192
+ top: 50%;
193
+ transform: translateY(-60%);
194
+
195
+ left: 16px;
196
+ }
197
+ }
198
+
199
+ .p-select {
200
+ cursor: pointer;
201
+
202
+ appearance: none;
203
+
204
+ height: 48px;
205
+
206
+ border-radius: 8px;
207
+ border: 1px solid $ds-grey-300;
208
+ background-color: white;
209
+
210
+ font-family: inherit;
211
+ font-size: 16px;
212
+ line-height: 24px;
213
+ color: $ds-grey-900;
214
+
215
+ padding-left: 16px;
216
+ padding-right: 32px;
217
+
218
+ background-image: url('./assets/icon-form-dropdown.svg');
219
+ background-repeat: no-repeat;
220
+ background-position: right center;
221
+
222
+ transition: box-shadow 0.3s;
223
+
224
+ &:hover {
225
+ color: $ds-grey-700 !important;
226
+ border-color: $ds-primary-500;
227
+ }
228
+
229
+ &:invalid {
230
+ color: $ds-grey-500;
231
+ }
232
+
233
+ &:focus {
234
+ outline: none;
235
+ box-shadow: 0 0 0 2px $ds-primary-500;
236
+ }
237
+
238
+ & option {
239
+ font-family: Arial, Helvetica, sans-serif;
240
+ }
241
+ }
@@ -0,0 +1,39 @@
1
+ @use '../../public/colors' as *;
2
+
3
+ .p-notice {
4
+ padding: 8px 16px;
5
+ border: 1px solid;
6
+ border-radius: 8px;
7
+
8
+ &--primary {
9
+ @extend .p-notice;
10
+ background-color: $ds-purple-100;
11
+ border-color: $ds-purple-500;
12
+ color: $ds-grey-900;
13
+ }
14
+
15
+ &--danger {
16
+ @extend .p-notice;
17
+ background-color: $ds-red-100;
18
+ border-color: $ds-red-500;
19
+ color: $ds-grey-900;
20
+ }
21
+
22
+ &--warning {
23
+ @extend .p-notice;
24
+ background-color: $ds-yellow-100;
25
+ border-color: $ds-yellow-500;
26
+ }
27
+
28
+ &--success {
29
+ @extend .p-notice;
30
+ background-color: $ds-green-100;
31
+ border-color: $ds-green-500;
32
+ }
33
+
34
+ &--info {
35
+ @extend .p-notice;
36
+ background-color: $ds-blue-100;
37
+ border-color: $ds-blue-500;
38
+ }
39
+ }