winduum 0.1.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 (49) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +25 -0
  3. package/dist/main.css +1 -0
  4. package/package.json +52 -0
  5. package/src/App.vue +12 -0
  6. package/src/badge.html +41 -0
  7. package/src/btn.html +101 -0
  8. package/src/common.html +57 -0
  9. package/src/index.html +15 -0
  10. package/src/input.html +169 -0
  11. package/src/scripts/Libraries/Dialog.js +0 -0
  12. package/src/scripts/main.js +0 -0
  13. package/src/scripts/vue.js +6 -0
  14. package/src/styles/Base/config.css +87 -0
  15. package/src/styles/Base/default.css +23 -0
  16. package/src/styles/Base/icons.css +9 -0
  17. package/src/styles/Base/keyframes.css +188 -0
  18. package/src/styles/Base/reset.css +98 -0
  19. package/src/styles/Base/tailwind/base.css +27 -0
  20. package/src/styles/Base/theme/dark.css +9 -0
  21. package/src/styles/Base/theme/default.css +17 -0
  22. package/src/styles/Components/+.css +4 -0
  23. package/src/styles/Components/Dialog.css +5 -0
  24. package/src/styles/Components/Drawer.css +5 -0
  25. package/src/styles/Components/Dropdown.css +5 -0
  26. package/src/styles/Components/Table.css +5 -0
  27. package/src/styles/Libraries/+.css +3 -0
  28. package/src/styles/Libraries/Dialog.css +5 -0
  29. package/src/styles/Libraries/Hint.css +5 -0
  30. package/src/styles/Ui/+.css +14 -0
  31. package/src/styles/Ui/Badge.css +111 -0
  32. package/src/styles/Ui/Btn.css +238 -0
  33. package/src/styles/Ui/Checkbox.css +117 -0
  34. package/src/styles/Ui/Heading.css +23 -0
  35. package/src/styles/Ui/Image.css +17 -0
  36. package/src/styles/Ui/Input.css +271 -0
  37. package/src/styles/Ui/Link.css +44 -0
  38. package/src/styles/Ui/Notice.css +43 -0
  39. package/src/styles/Ui/Progress.css +52 -0
  40. package/src/styles/Ui/Radio.css +6 -0
  41. package/src/styles/Ui/Range.css +0 -0
  42. package/src/styles/Ui/Select.css +29 -0
  43. package/src/styles/Ui/Switch.css +102 -0
  44. package/src/styles/Ui/Text.css +203 -0
  45. package/src/styles/Ui/Title.css +22 -0
  46. package/src/styles/main.css +11 -0
  47. package/src/templates/Btn.vue +11 -0
  48. package/utils/helpers.cjs +67 -0
  49. package/utils/helpers.js +59 -0
@@ -0,0 +1,87 @@
1
+ :root {
2
+ --font-primary: "Poppins", sans-serif;
3
+ --font-secondary: "Poppins", sans-serif;
4
+ }
5
+
6
+ :root {
7
+ --color-google: 49 45 45;
8
+ --color-linkedin: 40 103 178;
9
+ --color-youtube: 255 0 0;
10
+ --color-instagram: 193 53 132;
11
+ --color-twitter: 29 161 242;
12
+ --color-facebook: 24 119 242;
13
+ --color-apple: 0 0 0;
14
+ }
15
+
16
+ :root {
17
+ --container-width: 80rem;
18
+ --container-width-sm: 50rem;
19
+ --container-padding: 5vw;
20
+ --container-padding-calc: max(calc(50vw - (var(--container-width) / 2) + var(--container-padding)), var(--container-padding));
21
+ }
22
+
23
+ :root {
24
+ --font-bold: 700;
25
+ --font-semibold: 600;
26
+ --font-medium: 500;
27
+ --font-normal: 400;
28
+ --font-light: 300;
29
+ --font-thin: 200;
30
+ }
31
+
32
+ :root {
33
+ --z-10: 10;
34
+ --z-20: 20;
35
+ --z-30: 30;
36
+ --z-40: 40;
37
+ --z-50: 50;
38
+ }
39
+
40
+ :root {
41
+ --rounded: 0.75rem;
42
+ --rounded-xs: 0.5rem;
43
+ --rounded-sm: 0.875rem;
44
+ --rounded-base: 1rem;
45
+ --rounded-md: 1.125rem;
46
+ --rounded-lg: 1.5rem;
47
+ --rounded-xl: 3rem;
48
+ --rounded-2xl: 6rem;
49
+ --rounded-3xl: 8rem;
50
+ --rounded-full: 9999px;
51
+ }
52
+
53
+ :root {
54
+ --spacing-xs: 0.5rem;
55
+ --spacing-sm: 0.875rem;
56
+ --spacing-base: 1rem;
57
+ --spacing-md: 1.125rem;
58
+ --spacing-lg: 1.5rem;
59
+ --spacing-xl: 3rem;
60
+ --spacing-2xl: 6rem;
61
+ --spacing-3xl: 8rem;
62
+ }
63
+
64
+ :root {
65
+ --transition-duration: 0.15s;
66
+ --transition-color: color var(--transition-duration) ease;
67
+ --transition-background: background var(--transition-duration) ease;
68
+ --transition-opacity: opacity var(--transition-duration) ease;
69
+ --transition-transform: transform var(--transition-duration) ease;
70
+ --transition-border: border-color var(--transition-duration) ease;
71
+ --transition-shadow: box-shadow var(--transition-duration) ease;
72
+
73
+ @media (prefers-reduced-motion) {
74
+ --transition-duration: 0;
75
+ }
76
+ }
77
+
78
+ @custom-media --media-xs (min-width: 22.5em);
79
+ @custom-media --media-sm (min-width: 26em);
80
+ @custom-media --media-md (min-width: 48em);
81
+ @custom-media --media-lg (min-width: 60em);
82
+ @custom-media --media-xl (min-width: 76em);
83
+ @custom-media --media-2xl (min-width: 82em);
84
+ @custom-media --media-3xl (min-width: 88em);
85
+ @custom-media --media-4xl (min-width: 100em);
86
+ @custom-media --media-xxl (min-width: 126em);
87
+ @custom-media --media-2xxl (min-width: 158em);
@@ -0,0 +1,23 @@
1
+ ::selection {
2
+ color: rgb(var(--color-light));
3
+ background-color: rgb(var(--color-accent));
4
+ }
5
+
6
+ * {
7
+ box-sizing: border-box;
8
+ outline: none;
9
+ -webkit-tap-highlight-color: rgb(255 255 255 / 0);
10
+ }
11
+
12
+ :where([hidden]) {
13
+ display: none;
14
+ }
15
+
16
+ :where(svg) {
17
+ stroke-width: 1.5;
18
+ }
19
+
20
+ :where(hr) {
21
+ display: block;
22
+ border-top: 1px solid rgb(var(--color-current) / var(--tw-border-opacity, 1));
23
+ }
@@ -0,0 +1,9 @@
1
+ :root {
2
+ --icon-check: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7" /></svg>') no-repeat 50% 50% / contain;
3
+ --icon-radio: url('data:image/svg+xml, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M256 160c-53.019 0-96 42.981-96 96v0c0 53.019 42.981 96 96 96v0c53.019 0 96-42.981 96-96v0c0-53.019-42.981-96-96-96z"></path></svg>') no-repeat 50% 50% / contain;
4
+ --icon-chevron-right: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7" /></svg>') no-repeat 50% 50% / contain;
5
+ --icon-chevron-left: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 19l-7-7 7-7" /></svg>') no-repeat 50% 50% / contain;
6
+ --icon-angle-up: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 24 24" stroke="currentColor"><path d="M10.998 15.467c.491.71 1.513.71 2.004 0l3.767-5.453c.581-.843 0-2.013-1.002-2.014H8.234C7.232 8 6.65 9.17 7.231 10.014z" style="transform: scaleY(-1) translateY(1px); transform-origin: 50% 50%;" /></svg>') no-repeat 50% 50% / contain;
7
+ --icon-angle-down: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 24 24" stroke="currentColor"><path d="M10.998 15.467c.491.71 1.513.71 2.004 0l3.767-5.453c.581-.843 0-2.013-1.002-2.014H8.234C7.232 8 6.65 9.17 7.231 10.014z" /></svg>') no-repeat 50% 50% / contain;
8
+ --icon-upload: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-8l-4-4m0 0L8 8m4-4v12" /></svg>') no-repeat 50% 50% / contain;
9
+ }
@@ -0,0 +1,188 @@
1
+ @keyframes spin {
2
+ 0% {
3
+ transform: rotate(0deg);
4
+ }
5
+
6
+ 100% {
7
+ transform: rotate(360deg);
8
+ }
9
+ }
10
+
11
+ @keyframes move-indeterminate {
12
+ from {
13
+ background-position: 200% 0;
14
+ }
15
+
16
+ to {
17
+ background-position: -200% 0;
18
+ }
19
+ }
20
+
21
+ @keyframes fade-in-left {
22
+ from {
23
+ opacity: 0;
24
+ transform: translateX(-5rem);
25
+ }
26
+
27
+ to {
28
+ opacity: 1;
29
+ transform: none;
30
+ }
31
+ }
32
+
33
+ @keyframes fade-in-right {
34
+ from {
35
+ opacity: 0;
36
+ transform: translateX(5rem);
37
+ }
38
+
39
+ to {
40
+ opacity: 1;
41
+ transform: none;
42
+ }
43
+ }
44
+
45
+ @keyframes fade-in-up {
46
+ 0% {
47
+ opacity: 0;
48
+ transform: translateY(2rem);
49
+ }
50
+
51
+ 100% {
52
+ opacity: 1;
53
+ transform: translateY(0);
54
+ }
55
+ }
56
+
57
+ @keyframes fade-in-down {
58
+ 0% {
59
+ opacity: 0;
60
+ transform: translateY(-2rem);
61
+ }
62
+
63
+ 100% {
64
+ opacity: 1;
65
+ transform: translateY(0);
66
+ }
67
+ }
68
+
69
+ @keyframes fade-out-left {
70
+ from {
71
+ opacity: 1;
72
+ transform: none;
73
+ }
74
+
75
+ to {
76
+ opacity: 0;
77
+ transform: translateX(-5rem);
78
+ }
79
+ }
80
+
81
+ @keyframes fade-out-right {
82
+ from {
83
+ opacity: 1;
84
+ transform: none;
85
+ }
86
+
87
+ to {
88
+ opacity: 0;
89
+ transform: translateX(5rem);
90
+ }
91
+ }
92
+
93
+ @keyframes fade-out-up {
94
+ 0% {
95
+ opacity: 1;
96
+ transform: translateY(0);
97
+ }
98
+
99
+ 100% {
100
+ opacity: 0;
101
+ transform: translateY(-2rem);
102
+ }
103
+ }
104
+
105
+ @keyframes fade-out-down {
106
+ 0% {
107
+ opacity: 1;
108
+ transform: translateY(0);
109
+ }
110
+
111
+ 100% {
112
+ opacity: 0;
113
+ transform: translateY(2rem);
114
+ }
115
+ }
116
+
117
+ @keyframes fade-in {
118
+ from {
119
+ opacity: 0;
120
+ }
121
+
122
+ to {
123
+ opacity: 1;
124
+ }
125
+ }
126
+
127
+ @keyframes fade-out {
128
+ from {
129
+ opacity: 1;
130
+ }
131
+
132
+ to {
133
+ opacity: 0;
134
+ }
135
+ }
136
+
137
+ @keyframes slide-in-down {
138
+ 0% {
139
+ transform: translateY(-100%);
140
+ }
141
+
142
+ 100% {
143
+ transform: translateY(0);
144
+ }
145
+ }
146
+
147
+ @keyframes slide-out-up {
148
+ 0% {
149
+ transform: translateY(0);
150
+ }
151
+
152
+ 100% {
153
+ transform: translateY(-100%);
154
+ }
155
+ }
156
+
157
+ @keyframes slide-in-up {
158
+ 0% {
159
+ transform: translateY(100%);
160
+ }
161
+
162
+ 100% {
163
+ transform: translateY(0);
164
+ }
165
+ }
166
+
167
+ @keyframes slide-out-down {
168
+ 0% {
169
+ transform: translateY(0);
170
+ }
171
+
172
+ 100% {
173
+ transform: translateY(100%);
174
+ }
175
+ }
176
+
177
+ @keyframes ripple {
178
+ 100% {
179
+ transform: scale(2.5);
180
+ opacity: 0;
181
+ }
182
+ }
183
+
184
+ @keyframes loading-skeleton {
185
+ 100% {
186
+ background-position: 250% 0;
187
+ }
188
+ }
@@ -0,0 +1,98 @@
1
+ /***
2
+ The new CSS reset - version 1.7.3 (last updated 7.8.2022)
3
+ GitHub page: https://github.com/elad2412/the-new-css-reset
4
+ ***/
5
+
6
+ /*
7
+ Remove all the styles of the "User-Agent-Stylesheet", except for the 'display' property
8
+ - The "symbol *" part is to solve Firefox SVG sprite bug
9
+ */
10
+ *:where(:not(html, iframe, canvas, img, svg, video, audio, svg *, symbol *)) {
11
+ all: unset;
12
+ display: revert;
13
+ }
14
+
15
+ /* Preferred box-sizing value */
16
+ *,
17
+ *::before,
18
+ *::after {
19
+ box-sizing: border-box;
20
+ }
21
+
22
+ /* Remove list styles (bullets/numbers) */
23
+ ol, ul, menu {
24
+ list-style: none;
25
+ }
26
+
27
+ /* For images to not be able to exceed their container */
28
+ img {
29
+ max-width: 100%;
30
+ }
31
+
32
+ /* removes spacing between cells in tables */
33
+ table {
34
+ border-collapse: collapse;
35
+ }
36
+
37
+ /* Safari - solving issue when using user-select:none on the <body> text input doesn't working */
38
+ input, textarea {
39
+ user-select: auto;
40
+ }
41
+
42
+ /* revert the 'white-space' property for textarea elements on Safari */
43
+ textarea {
44
+ white-space: revert;
45
+ }
46
+
47
+ /* minimum style to allow to style meter element */
48
+ meter {
49
+ -webkit-appearance: revert;
50
+ appearance: revert;
51
+ }
52
+
53
+ /* reset default text opacity of input placeholder */
54
+ ::placeholder {
55
+ color: unset;
56
+ }
57
+
58
+ /* fix the feature of 'hidden' attribute.
59
+ display:revert; revert to element instead of attribute */
60
+ :where([hidden]) {
61
+ display: none;
62
+ }
63
+
64
+ /* revert for bug in Chromium browsers
65
+ - fix for the content editable attribute will work properly.
66
+ - webkit-user-select: auto; added for Safari in case of using user-select:none on wrapper element */
67
+ :where([contenteditable]:not([contenteditable="false"])) {
68
+ -moz-user-modify: read-write;
69
+ -webkit-user-modify: read-write;
70
+ overflow-wrap: break-word;
71
+ -webkit-line-break: after-white-space;
72
+ user-select: auto;
73
+ }
74
+
75
+ /* apply back the draggable feature - exist only in Chromium and Safari */
76
+ :where([draggable="true"]) {
77
+ -webkit-user-drag: element;
78
+ }
79
+
80
+ /* apply default cursor */
81
+ :where(html) {
82
+ cursor: default;
83
+ }
84
+
85
+ /* apply text cursor */
86
+ :where(input, textarea) {
87
+ cursor: text;
88
+ }
89
+
90
+ /* apply pointer cursor */
91
+ :where(a[href], button) {
92
+ cursor: pointer;
93
+ }
94
+
95
+ /* fix firefox svg */
96
+ :where(svg, use, path, symbol) {
97
+ all: revert-layer;
98
+ }
@@ -0,0 +1,27 @@
1
+ @tailwind base;
2
+ @tailwind components;
3
+ @tailwind utilities;
4
+
5
+ @layer utilities {
6
+ .animation {
7
+ animation-duration: var(--transition-duration);
8
+ animation-fill-mode: both;
9
+ }
10
+
11
+ :where(.col) {
12
+ display: flex;
13
+ flex-direction: column;
14
+ }
15
+
16
+ .container {
17
+ margin-left: auto;
18
+ margin-right: auto;
19
+ padding-left: var(--container-padding);
20
+ padding-right: var(--container-padding);
21
+ max-width: var(--container-width);
22
+
23
+ &.is-sm {
24
+ --container-width: var(--container-width-sm);
25
+ }
26
+ }
27
+ }
@@ -0,0 +1,9 @@
1
+ :root.dark {
2
+ --color-default: 201 209 217;
3
+ --color-invert: 14 17 22;
4
+ --color-secondary: 39 41 46;
5
+ --color-background: 25 26 27;
6
+ --color-background-100: 14 15 16;
7
+ --color-background-200: 26 32 38;
8
+ --color-background-300: 30 36 46;
9
+ }
@@ -0,0 +1,17 @@
1
+ :root {
2
+ --color-accent: var(--color-primary);
3
+ --color-current: var(--color-default);
4
+ --color-default: 17 19 21;
5
+ --color-primary: 3 138 255;
6
+ --color-secondary: 69 71 72;
7
+ --color-light: 255 255 255;
8
+ --color-dark: 17 19 21;
9
+ --color-success: 33 154 67;
10
+ --color-error: 254 50 75;
11
+ --color-warning: 254 179 53;
12
+ --color-info: 45 168 234;
13
+ --color-background: 255 255 255;
14
+ --color-background-100: 249 250 252;
15
+ --color-background-200: 235 235 235;
16
+ --color-background-300: 225 225 225;
17
+ }
@@ -0,0 +1,4 @@
1
+ @import "Dialog.css";
2
+ @import "Drawer.css";
3
+ @import "Dropdown.css";
4
+ @import "Table.css";
@@ -0,0 +1,5 @@
1
+ @layer utilities {
2
+ :where(.c-dialog) {
3
+
4
+ }
5
+ }
@@ -0,0 +1,5 @@
1
+ @layer utilities {
2
+ :where(.c-drawer) {
3
+
4
+ }
5
+ }
@@ -0,0 +1,5 @@
1
+ @layer utilities {
2
+ :where(.c-dropdown) {
3
+
4
+ }
5
+ }
@@ -0,0 +1,5 @@
1
+ @layer utilities {
2
+ :where(.c-table) {
3
+
4
+ }
5
+ }
@@ -0,0 +1,3 @@
1
+ @import "Dialog.css";
2
+ @import "Hint.css";
3
+
@@ -0,0 +1,5 @@
1
+ @layer utilities {
2
+ :where(.lib-dialog) {
3
+
4
+ }
5
+ }
@@ -0,0 +1,5 @@
1
+ @layer utilities {
2
+ :where(.lib-hint) {
3
+
4
+ }
5
+ }
@@ -0,0 +1,14 @@
1
+ @import "Badge.css";
2
+ @import "Btn.css";
3
+ @import "Checkbox.css";
4
+ @import "Heading.css";
5
+ @import "Image.css";
6
+ @import "Input.css";
7
+ @import "Link.css";
8
+ @import "Notice.css";
9
+ @import "Progress.css";
10
+ @import "Radio.css";
11
+ @import "Select.css";
12
+ @import "Switch.css";
13
+ @import "Text.css";
14
+ @import "Title.css";
@@ -0,0 +1,111 @@
1
+ @layer utilities {
2
+ :where(.ui-badge) {
3
+ --color-current: var(--color-light);
4
+ --ui-badge-width: max-content;
5
+ --ui-badge-height: 1.5rem;
6
+ --ui-badge-py: 0;
7
+ --ui-badge-px: 0.5rem;
8
+ --ui-badge-border-radius: var(--rounded-xs);
9
+ --ui-badge-font-size: 0.75rem;
10
+ --ui-badge-font-weight: var(--font-normal);
11
+ --ui-badge-bg: rgb(var(--color-accent) / var(--ui-badge-bg-opacity));
12
+ --ui-badge-bg-opacity: var(--tw-bg-opacity, 1);
13
+ --ui-badge-color: rgb(var(--color-current) / var(--ui-badge-color-opacity));
14
+ --ui-badge-color-opacity: var(--tw-text-opacity, 1);
15
+ --ui-badge-outline-width: 1px;
16
+ --ui-badge-outline-opacity: 0.75;
17
+ --ui-badge-icon-font-size: 0.875rem;
18
+ --ui-badge-gap: 0.25rem;
19
+ --ui-badge-focus-opacity: 0.3;
20
+ --ui-badge-hover-opacity: 0.8;
21
+
22
+ width: var(--ui-badge-width);
23
+ height: var(--ui-badge-height);
24
+ padding: var(--ui-badge-py) var(--ui-badge-px);
25
+ border-radius: var(--ui-badge-border-radius);
26
+ font-size: var(--ui-badge-font-size);
27
+ font-weight: var(--ui-badge-font-weight);
28
+ background-color: var(--ui-badge-bg);
29
+ color: var(--ui-badge-color);
30
+ display: inline-flex;
31
+ align-items: center;
32
+ text-align: center;
33
+ justify-content: center;
34
+ white-space: nowrap;
35
+ flex-shrink: 0;
36
+ position: relative;
37
+ z-index: 0;
38
+ gap: var(--ui-badge-gap);
39
+ transition: var(--transition-opacity);
40
+
41
+ & :where(svg) {
42
+ width: 1em;
43
+ height: 1em;
44
+ font-size: var(--ui-badge-icon-font-size);
45
+ }
46
+
47
+ &:where(.is-outline) {
48
+ outline: var(--ui-badge-outline-width) solid rgb(var(--color-accent) / var(--ui-badge-outline-opacity));
49
+ outline-offset: calc(var(--ui-badge-outline-width) * -1);
50
+ }
51
+
52
+ &:where(.is-outline, .is-muted) {
53
+ --color-current: var(--color-accent);
54
+ --ui-badge-bg: transparent;
55
+ }
56
+
57
+ &:where(.is-muted) {
58
+ background-color: rgb(var(--color-current) / 0.1);
59
+ }
60
+
61
+ &:where(.is-square, .is-circle) {
62
+ --ui-badge-px: var(--ui-badge-py);
63
+ --ui-badge-width: var(--ui-badge-height);
64
+ }
65
+
66
+ &:where(.is-circle) {
67
+ --ui-badge-border-radius: var(--rounded-full);
68
+ }
69
+
70
+ &:where(.is-sm) {
71
+ --ui-badge-height: 1.25rem;
72
+ --ui-badge-font-size: 0.625rem;
73
+ }
74
+
75
+ &:where(.is-lg) {
76
+ --ui-badge-height: 1.75rem;
77
+ }
78
+
79
+ &:where([href], button) {
80
+ &:hover {
81
+ @media (hover: hover) and (pointer: fine) {
82
+ opacity: var(--ui-badge-hover-opacity);
83
+ }
84
+ }
85
+
86
+ &:focus-visible {
87
+ z-index: 2;
88
+ box-shadow:
89
+ 0 0 0 0 rgb(var(--color-current)),
90
+ 0 0 0 max(2px, var(--ui-badge-outline-width)) rgb(var(--color-accent) / var(--ui-badge-focus-opacity));
91
+ }
92
+ }
93
+ }
94
+
95
+ :where(.ui-badge-group) {
96
+ display: flex;
97
+
98
+ & :where(.ui-badge) {
99
+ &:not(:first-child) {
100
+ border-top-left-radius: 0;
101
+ border-bottom-left-radius: 0;
102
+ margin-left: calc(var(--ui-badge-outline-width) * -1);
103
+ }
104
+
105
+ &:not(:last-child) {
106
+ border-top-right-radius: 0;
107
+ border-bottom-right-radius: 0;
108
+ }
109
+ }
110
+ }
111
+ }