@sc-360-v2/storefront-cms-library 0.5.59 → 0.5.61

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 (156) hide show
  1. package/dist/add-order.scss +2 -8
  2. package/dist/allocation-header-quota-details.scss +9 -4
  3. package/dist/allocationDetails.scss +167 -164
  4. package/dist/allocations-quota-details.scss +9 -4
  5. package/dist/allocations.scss +1 -4
  6. package/dist/animation-control.scss +23 -23
  7. package/dist/builder.js +1 -1
  8. package/dist/builderLite.js +1 -1
  9. package/dist/bulk-variant-picker.scss +24 -26
  10. package/dist/bundle copy.scss +235 -0
  11. package/dist/bundle.scss +10 -10
  12. package/dist/bundleCategories.scss +301 -0
  13. package/dist/bundleDetails.scss +10 -1
  14. package/dist/button copy.scss +28 -0
  15. package/dist/buy-for-tabs-container-item.scss +80 -80
  16. package/dist/buyForHeaders.scss +3 -12
  17. package/dist/cart-details.scss +23 -4
  18. package/dist/cart-products-sidebar.scss +211 -211
  19. package/dist/cart-summary.scss +82 -10
  20. package/dist/cart-wrapper.scss +127 -127
  21. package/dist/cart.scss +2 -2
  22. package/dist/cartDropdownOverlay.scss +10 -1
  23. package/dist/cartGrouping.scss +89 -89
  24. package/dist/category-groups-product-grid.scss +143 -155
  25. package/dist/category-groups-product-image.scss +1372 -2010
  26. package/dist/category-groups-product-options.scss +680 -1054
  27. package/dist/category-groups-product-price.scss +2742 -4997
  28. package/dist/category-groups-quota-details.scss +7 -2
  29. package/dist/categoryDetails.scss +61 -61
  30. package/dist/categoryWidget.scss +34 -34
  31. package/dist/checkbox-radio.scss +124 -124
  32. package/dist/checkout.scss +1850 -4170
  33. package/dist/common-element.scss +35 -35
  34. package/dist/confirmationModal.scss +139 -139
  35. package/dist/coupon.scss +352 -714
  36. package/dist/custom-fonts.scss +100 -100
  37. package/dist/embroider-preview-element.scss +94 -94
  38. package/dist/emtpy-templates.scss +165 -165
  39. package/dist/faq.scss +7 -11
  40. package/dist/flex-text-editor.scss +271 -271
  41. package/dist/functions.scss +36 -0
  42. package/dist/gallery-slider-temp.scss +42 -5
  43. package/dist/hotspot.scss +1 -4
  44. package/dist/icon-list.scss +30 -59
  45. package/dist/image-for-product.scss +21 -21
  46. package/dist/image-temp.scss +18 -3
  47. package/dist/language-selector.scss +29 -21
  48. package/dist/last-x-orders.scss +6 -13
  49. package/dist/layouter-item.scss +3 -1
  50. package/dist/layouter.scss +164 -29
  51. package/dist/lightbox.scss +78 -78
  52. package/dist/line.scss +29 -70
  53. package/dist/loader.scss +37 -37
  54. package/dist/login.scss +49 -41
  55. package/dist/map.scss +23 -9
  56. package/dist/mega-menu.scss +1 -4
  57. package/dist/menu-item.scss +19 -19
  58. package/dist/myTemplates.scss +3 -0
  59. package/dist/order-processing.scss +61 -61
  60. package/dist/overflow-module.scss +63 -63
  61. package/dist/pickup-locations.scss +6 -3
  62. package/dist/position-module.scss +95 -95
  63. package/dist/prefix-list.scss +86 -86
  64. package/dist/product-actions.scss +6 -9
  65. package/dist/product-highlights.scss +40 -12
  66. package/dist/product-image-bundles.scss +12 -33
  67. package/dist/product-image.scss +341 -724
  68. package/dist/product-labels.scss +10 -8
  69. package/dist/product-options.scss +270 -125
  70. package/dist/product-price.scss +8 -2
  71. package/dist/productDetails.scss +2 -1
  72. package/dist/profile.scss +28 -0
  73. package/dist/quick-inventory-check.scss +6 -13
  74. package/dist/quick-links.scss +4 -0
  75. package/dist/quick-order-pad.scss +2 -2
  76. package/dist/quota-details.scss +11 -15
  77. package/dist/repeater copy.scss +24 -0
  78. package/dist/repeater-embla-controls.scss +13 -4
  79. package/dist/repeater.scss +161 -7
  80. package/dist/responsive-behaviour.scss +29 -29
  81. package/dist/scroll.scss +31 -1
  82. package/dist/shareCartSideBar.scss +254 -254
  83. package/dist/shipping-estimator.scss +41 -41
  84. package/dist/simple-list.scss +67 -0
  85. package/dist/social.scss +2 -2
  86. package/dist/sort.scss +89 -89
  87. package/dist/static-text.scss +52 -52
  88. package/dist/store-locations.scss +10 -8
  89. package/dist/sub-category.scss +74 -74
  90. package/dist/submit-quote.scss +275 -275
  91. package/dist/tab-container-item.scss +80 -80
  92. package/dist/tab-v2.scss +277 -604
  93. package/dist/table-common.scss +2 -2
  94. package/dist/table.scss +2 -2
  95. package/dist/text-temp-v2.scss +12 -23
  96. package/dist/text-temp.scss +109 -109
  97. package/dist/toggle-button.scss +32 -32
  98. package/dist/transform-properties-module.scss +20 -20
  99. package/dist/types/builder/elements/bundle-categories/index.d.ts +30 -0
  100. package/dist/types/builder/enums/index.d.ts +1 -0
  101. package/dist/types/builder/index.d.ts +2 -1
  102. package/dist/types/builder/tools/element-edit/addProductsTab.d.ts +108 -0
  103. package/dist/types/builder/tools/element-edit/breadcrumbs.d.ts +6 -0
  104. package/dist/types/builder/tools/element-edit/bundle.d.ts +22 -0
  105. package/dist/types/builder/tools/element-edit/bundleCategories.d.ts +115 -0
  106. package/dist/types/builder/tools/element-edit/bundleDetails.d.ts +64 -0
  107. package/dist/types/builder/tools/element-edit/button.d.ts +1 -0
  108. package/dist/types/builder/tools/element-edit/buttonInstance.d.ts +10 -0
  109. package/dist/types/builder/tools/element-edit/buyForWithTab.d.ts +84 -0
  110. package/dist/types/builder/tools/element-edit/cart.d.ts +6 -0
  111. package/dist/types/builder/tools/element-edit/cartAttributes.d.ts +60 -0
  112. package/dist/types/builder/tools/element-edit/cartDetails.d.ts +16 -0
  113. package/dist/types/builder/tools/element-edit/cartSummary.d.ts +1325 -74
  114. package/dist/types/builder/tools/element-edit/categoryGroups.d.ts +158 -0
  115. package/dist/types/builder/tools/element-edit/checkout.d.ts +172 -0
  116. package/dist/types/builder/tools/element-edit/common.d.ts +2 -0
  117. package/dist/types/builder/tools/element-edit/countdown.d.ts +44 -0
  118. package/dist/types/builder/tools/element-edit/coupon.d.ts +28 -0
  119. package/dist/types/builder/tools/element-edit/embroidery.d.ts +37 -0
  120. package/dist/types/builder/tools/element-edit/filterResults.d.ts +4 -0
  121. package/dist/types/builder/tools/element-edit/icon-list.d.ts +11 -0
  122. package/dist/types/builder/tools/element-edit/index.d.ts +2 -1
  123. package/dist/types/builder/tools/element-edit/itemStock.d.ts +2 -0
  124. package/dist/types/builder/tools/element-edit/kitDetails.d.ts +66 -0
  125. package/dist/types/builder/tools/element-edit/kits.d.ts +4 -0
  126. package/dist/types/builder/tools/element-edit/layouter.d.ts +33 -1
  127. package/dist/types/builder/tools/element-edit/map.d.ts +5 -1
  128. package/dist/types/builder/tools/element-edit/marchandiserSets.d.ts +2 -0
  129. package/dist/types/builder/tools/element-edit/orderStatus.d.ts +17 -0
  130. package/dist/types/builder/tools/element-edit/paymentMethods.d.ts +6 -0
  131. package/dist/types/builder/tools/element-edit/productCustomizations.d.ts +14 -0
  132. package/dist/types/builder/tools/element-edit/productOptions.d.ts +3 -1
  133. package/dist/types/builder/tools/element-edit/productPrice.d.ts +1 -0
  134. package/dist/types/builder/tools/element-edit/quickLinks.d.ts +26 -0
  135. package/dist/types/builder/tools/element-edit/repeater.d.ts +45 -1
  136. package/dist/types/builder/tools/element-edit/scroll.d.ts +8 -11
  137. package/dist/types/builder/tools/element-edit/search.d.ts +1 -0
  138. package/dist/types/builder/tools/element-edit/searchResultsHeading.d.ts +6 -0
  139. package/dist/types/builder/tools/element-edit/shipping-payments.d.ts +72 -0
  140. package/dist/types/builder/tools/element-edit/shippingEstimator.d.ts +4 -0
  141. package/dist/types/builder/tools/element-edit/social.d.ts +2 -0
  142. package/dist/types/builder/tools/element-edit/spotlight.d.ts +2 -0
  143. package/dist/types/builder/tools/element-edit/table.d.ts +10 -0
  144. package/dist/types/builder/tools/element-edit/tabs.d.ts +6 -0
  145. package/dist/types/builder/tools/element-edit/typographyInstance.d.ts +110 -0
  146. package/dist/types/builder/tools/element-edit/userElements.d.ts +62 -22
  147. package/dist/types/builder/tools/element-edit/variantPicker.d.ts +4 -0
  148. package/dist/types/builder/tools/element-edit/video.d.ts +22 -0
  149. package/dist/uom-selector.scss +8 -2
  150. package/dist/user-elements.scss +133 -104
  151. package/dist/variant-picker.scss +1 -4
  152. package/dist/video.scss +147 -325
  153. package/dist/volume-pricing.scss +2 -2
  154. package/dist/website.js +1 -1
  155. package/dist/wishlist-overlay.scss +48 -48
  156. package/package.json +131 -131
@@ -118,12 +118,17 @@
118
118
 
119
119
  .product__list__item {
120
120
  position: relative;
121
+ // The rule is a pseudo-element and takes no space of its own, so a wide one grew
122
+ // back over the item beside it — see dividerGapReserve in functions.scss.
123
+ &:not(:last-child) {
124
+ @include dividerGapReserve($shapeSize, right);
125
+ }
121
126
  &:not(:last-child)::after {
122
127
  content: "";
123
128
  width: $shapeSize;
124
129
  height: 100%;
125
130
  position: absolute;
126
- right: calc((-1 * var(--_sf-gp) / 2) - (#{$shapeSize} / 2));
131
+ right: dividerGapOffset(var(--_sf-gp, 0px), $shapeSize);
127
132
  background-color: $shapeColor;
128
133
  }
129
134
 
@@ -133,7 +138,7 @@
133
138
  .divider__marker {
134
139
  position: absolute;
135
140
  top: 50%;
136
- right: calc(-1 * var(--_sf-gp, 0px) / 2);
141
+ right: dividerMarkerOffset(var(--_sf-gp, 0px), $shapeSize);
137
142
  transform: translate(50%, -50%);
138
143
  display: flex;
139
144
  align-items: center;
@@ -1,61 +1,61 @@
1
- @use "sass:map";
2
- @use "sass:list";
3
-
4
- $resizerId: "[data-cms-tool='cms-element-resizer']";
5
- $resizeActive: '[data-cms-element-resizer="true"]';
6
- [data-div-type="element"] {
7
- &[data-element-type="categoryDetails"] {
8
- // width: var(--_sf-con-nw-wh);
9
- width: var(
10
- --_sf-el-wh-st-mx,
11
- calc(
12
- 1% *
13
- var(
14
- --_ctm-mob-categ-ele-nw-wh-vl,
15
- var(--_ctm-tab-categ-ele-nw-wh-vl, var(--_ctm-categ-ele-nw-wh-vl))
16
- )
17
- )
18
- );
19
-
20
- height: auto;
21
- margin: var(--_ctm-categ-lt-mn, var(--_ctm-lt-mn, --_tst-lt-mn));
22
- background-color: var(
23
- --_ctm-mob-categ-dn-bd-cr,
24
- var(--_ctm-tab-categ-dn-bd-cr, var(--_ctm-categ-dn-bd-cr))
25
- );
26
- background-image: var(
27
- --_ctm-mob-categ-dn-bd-ie,
28
- var(--_ctm-tab-categ-dn-bd-ie, var(--_ctm-categ-dn-bd-ie))
29
- );
30
- background-attachment: var(
31
- --_ctm-mob-categ-dn-bd-at,
32
- var(--_ctm-tab-categ-dn-bd-at, var(--_ctm-categ-dn-bd-at))
33
- );
34
- background-position: var(
35
- --_ctm-mob-categ-dn-bd-pn,
36
- var(--_ctm-tab-categ-dn-bd-pn, var(--_ctm-categ-dn-bd-pn))
37
- );
38
- background-repeat: var(
39
- --_ctm-mob-categ-dn-bd-rt,
40
- var(--_ctm-tab-categ-dn-bd-rt, var(--_ctm-categ-dn-bd-rt))
41
- );
42
- background-size: var(
43
- --_ctm-mob-categ-dn-bd-se,
44
- var(--_ctm-tab-categ-dn-bd-se, var(--_ctm-categ-dn-bd-se))
45
- );
46
- min-height: var(--_ctm-mob-categ-lt-ht, var(--_ctm-tab-categ-lt-ht, var(--_ctm-categ-lt-ht)));
47
-
48
- // &:not(:has(#{$resizerId}#{$resizeActive})) {
49
- // min-height: 100px !important;
50
- // }
51
-
52
- & > div {
53
- &.wrapper {
54
- width: 100%;
55
- // grid-template-rows: auto !important;
56
- grid-template-columns: 100% !important;
57
- // grid-template-rows: max(var(--_ctm-pro-lt-ht), auto) !important;
58
- }
59
- }
60
- }
61
- }
1
+ @use "sass:map";
2
+ @use "sass:list";
3
+
4
+ $resizerId: "[data-cms-tool='cms-element-resizer']";
5
+ $resizeActive: '[data-cms-element-resizer="true"]';
6
+ [data-div-type="element"] {
7
+ &[data-element-type="categoryDetails"] {
8
+ // width: var(--_sf-con-nw-wh);
9
+ width: var(
10
+ --_sf-el-wh-st-mx,
11
+ calc(
12
+ 1% *
13
+ var(
14
+ --_ctm-mob-categ-ele-nw-wh-vl,
15
+ var(--_ctm-tab-categ-ele-nw-wh-vl, var(--_ctm-categ-ele-nw-wh-vl))
16
+ )
17
+ )
18
+ );
19
+
20
+ height: auto;
21
+ margin: var(--_ctm-categ-lt-mn, var(--_ctm-lt-mn, --_tst-lt-mn));
22
+ background-color: var(
23
+ --_ctm-mob-categ-dn-bd-cr,
24
+ var(--_ctm-tab-categ-dn-bd-cr, var(--_ctm-categ-dn-bd-cr))
25
+ );
26
+ background-image: var(
27
+ --_ctm-mob-categ-dn-bd-ie,
28
+ var(--_ctm-tab-categ-dn-bd-ie, var(--_ctm-categ-dn-bd-ie))
29
+ );
30
+ background-attachment: var(
31
+ --_ctm-mob-categ-dn-bd-at,
32
+ var(--_ctm-tab-categ-dn-bd-at, var(--_ctm-categ-dn-bd-at))
33
+ );
34
+ background-position: var(
35
+ --_ctm-mob-categ-dn-bd-pn,
36
+ var(--_ctm-tab-categ-dn-bd-pn, var(--_ctm-categ-dn-bd-pn))
37
+ );
38
+ background-repeat: var(
39
+ --_ctm-mob-categ-dn-bd-rt,
40
+ var(--_ctm-tab-categ-dn-bd-rt, var(--_ctm-categ-dn-bd-rt))
41
+ );
42
+ background-size: var(
43
+ --_ctm-mob-categ-dn-bd-se,
44
+ var(--_ctm-tab-categ-dn-bd-se, var(--_ctm-categ-dn-bd-se))
45
+ );
46
+ min-height: var(--_ctm-mob-categ-lt-ht, var(--_ctm-tab-categ-lt-ht, var(--_ctm-categ-lt-ht)));
47
+
48
+ // &:not(:has(#{$resizerId}#{$resizeActive})) {
49
+ // min-height: 100px !important;
50
+ // }
51
+
52
+ & > div {
53
+ &.wrapper {
54
+ width: 100%;
55
+ // grid-template-rows: auto !important;
56
+ grid-template-columns: 100% !important;
57
+ // grid-template-rows: max(var(--_ctm-pro-lt-ht), auto) !important;
58
+ }
59
+ }
60
+ }
61
+ }
@@ -1,34 +1,34 @@
1
- @use "sass:map";
2
- @use "sass:list";
3
-
4
- $resizerId: "[data-cms-tool='cms-element-resizer']";
5
- $resizeActive: '[data-cms-element-resizer="true"]';
6
- [data-div-type="element"] {
7
- &[data-element-type="categoryWidget"] {
8
- // width: var(--_sf-con-nw-wh);
9
- // width: var(--_sf-el-wh-st-mx, calc(1% * var(--_ctm-ele-nw-wh-vl, var(--_sf-nw-wh))));
10
- width: calc(
11
- 1% * var(--_ctm-mob-cate-lt-wh, var(--_ctm-tab-cate-lt-wh, var(--_ctm-cate-lt-wh, auto)))
12
- );
13
-
14
- height: auto;
15
-
16
- margin: var(--_ctm-mob-cate-lt-mn, var(--_ctm-tab-cate-lt-mn, var(--_ctm-cate-lt-mn)));
17
-
18
- background: var(
19
- --_ctm-mob-cate-dn-bd-cr,
20
- var(--_ctm-tab-cate-dn-bd-cr, var(--_ctm-cate-dn-bd-cr))
21
- );
22
-
23
- // &:not(:has(#{$resizerId}#{$resizeActive})) {
24
- // min-height: 100px !important;
25
- // }
26
-
27
- & > div {
28
- &.wrapper {
29
- width: 100%;
30
- // grid-template-rows: max(var(--_ctm-pro-lt-ht), auto) !important;
31
- }
32
- }
33
- }
34
- }
1
+ @use "sass:map";
2
+ @use "sass:list";
3
+
4
+ $resizerId: "[data-cms-tool='cms-element-resizer']";
5
+ $resizeActive: '[data-cms-element-resizer="true"]';
6
+ [data-div-type="element"] {
7
+ &[data-element-type="categoryWidget"] {
8
+ // width: var(--_sf-con-nw-wh);
9
+ // width: var(--_sf-el-wh-st-mx, calc(1% * var(--_ctm-ele-nw-wh-vl, var(--_sf-nw-wh))));
10
+ width: calc(
11
+ 1% * var(--_ctm-mob-cate-lt-wh, var(--_ctm-tab-cate-lt-wh, var(--_ctm-cate-lt-wh, auto)))
12
+ );
13
+
14
+ height: auto;
15
+
16
+ margin: var(--_ctm-mob-cate-lt-mn, var(--_ctm-tab-cate-lt-mn, var(--_ctm-cate-lt-mn)));
17
+
18
+ background: var(
19
+ --_ctm-mob-cate-dn-bd-cr,
20
+ var(--_ctm-tab-cate-dn-bd-cr, var(--_ctm-cate-dn-bd-cr))
21
+ );
22
+
23
+ // &:not(:has(#{$resizerId}#{$resizeActive})) {
24
+ // min-height: 100px !important;
25
+ // }
26
+
27
+ & > div {
28
+ &.wrapper {
29
+ width: 100%;
30
+ // grid-template-rows: max(var(--_ctm-pro-lt-ht), auto) !important;
31
+ }
32
+ }
33
+ }
34
+ }
@@ -1,124 +1,124 @@
1
- .checkbox_container {
2
- display: flex;
3
- align-items: center;
4
- gap: 8px;
5
- cursor: pointer;
6
- position: relative;
7
-
8
- &.disabled {
9
- opacity: 0.6;
10
- cursor: not-allowed;
11
- }
12
-
13
- .checkbox_input {
14
- position: absolute;
15
- opacity: 0;
16
- cursor: pointer;
17
- }
18
-
19
- .checkbox_custom {
20
- width: 16px;
21
- height: 16px;
22
- border: 2px solid #797583;
23
- border-radius: 4px; // use 50% for circle
24
- display: inline-block;
25
- position: relative;
26
- transition: all 0.2s ease;
27
- &.checkbox_grouped {
28
- margin-right: 12px;
29
- }
30
- // 🔹 minus (indeterminate) state
31
- &.checkbox_remove {
32
- background-color: var(--_primary-400);
33
- border-color: var(--_primary-400);
34
-
35
- &::after {
36
- content: "" !important;
37
- position: absolute !important;
38
- top: 50% !important;
39
- left: 50% !important;
40
- width: 8px !important;
41
- height: 1px !important;
42
- background: white !important;
43
- transform: translate(-50%, -50%) !important;
44
- }
45
- }
46
- }
47
-
48
- // checked state
49
- .checkbox_input:checked + .checkbox_custom {
50
- background-color: var(--_primary-400);
51
- border-color: var(--_primary-400);
52
-
53
- &::after {
54
- content: "";
55
- position: absolute;
56
- left: 4px;
57
- top: 0px;
58
- width: 3px;
59
- height: 7px;
60
- border: solid white;
61
- border-width: 0 2px 2px 0;
62
- transform: rotate(45deg);
63
- }
64
- }
65
-
66
- .checkbox_label {
67
- font-size: 14px;
68
- color: var(--_gray-600);
69
- }
70
- }
71
-
72
- // radio button
73
- .radio_container {
74
- display: flex;
75
- align-items: center;
76
- gap: 8px;
77
- cursor: pointer;
78
- position: relative;
79
-
80
- &.disabled {
81
- opacity: 0.6;
82
- cursor: not-allowed;
83
- }
84
-
85
- .radio_input {
86
- position: absolute;
87
- opacity: 0;
88
- cursor: pointer;
89
- }
90
-
91
- .radio_custom {
92
- width: 16px;
93
- height: 16px;
94
- border: 2px solid #999;
95
- border-radius: 50%; // round for radio
96
- display: inline-block;
97
- position: relative;
98
- transition: all 0.2s ease;
99
- }
100
-
101
- // checked state
102
- .radio_input:checked + .radio_custom {
103
- background-color: var(--_primary-400);
104
- border: 2px solid var(--_primary-400);
105
-
106
- &::after {
107
- content: "";
108
- content: "";
109
- position: absolute;
110
- top: 50%;
111
- left: 50%;
112
- width: 8px;
113
- height: 8px;
114
- border-radius: 50%;
115
- background: #fff;
116
- transform: translate(-50%, -50%);
117
- }
118
- }
119
-
120
- .radio_label {
121
- font-size: 14px;
122
- color: var(--_gray-600);
123
- }
124
- }
1
+ .checkbox_container {
2
+ display: flex;
3
+ align-items: center;
4
+ gap: 8px;
5
+ cursor: pointer;
6
+ position: relative;
7
+
8
+ &.disabled {
9
+ opacity: 0.6;
10
+ cursor: not-allowed;
11
+ }
12
+
13
+ .checkbox_input {
14
+ position: absolute;
15
+ opacity: 0;
16
+ cursor: pointer;
17
+ }
18
+
19
+ .checkbox_custom {
20
+ width: 16px;
21
+ height: 16px;
22
+ border: 2px solid #797583;
23
+ border-radius: 4px; // use 50% for circle
24
+ display: inline-block;
25
+ position: relative;
26
+ transition: all 0.2s ease;
27
+ &.checkbox_grouped {
28
+ margin-right: 12px;
29
+ }
30
+ // 🔹 minus (indeterminate) state
31
+ &.checkbox_remove {
32
+ background-color: var(--_primary-400);
33
+ border-color: var(--_primary-400);
34
+
35
+ &::after {
36
+ content: "" !important;
37
+ position: absolute !important;
38
+ top: 50% !important;
39
+ left: 50% !important;
40
+ width: 8px !important;
41
+ height: 1px !important;
42
+ background: white !important;
43
+ transform: translate(-50%, -50%) !important;
44
+ }
45
+ }
46
+ }
47
+
48
+ // checked state
49
+ .checkbox_input:checked + .checkbox_custom {
50
+ background-color: var(--_primary-400);
51
+ border-color: var(--_primary-400);
52
+
53
+ &::after {
54
+ content: "";
55
+ position: absolute;
56
+ left: 4px;
57
+ top: 0px;
58
+ width: 3px;
59
+ height: 7px;
60
+ border: solid white;
61
+ border-width: 0 2px 2px 0;
62
+ transform: rotate(45deg);
63
+ }
64
+ }
65
+
66
+ .checkbox_label {
67
+ font-size: 14px;
68
+ color: var(--_gray-600);
69
+ }
70
+ }
71
+
72
+ // radio button
73
+ .radio_container {
74
+ display: flex;
75
+ align-items: center;
76
+ gap: 8px;
77
+ cursor: pointer;
78
+ position: relative;
79
+
80
+ &.disabled {
81
+ opacity: 0.6;
82
+ cursor: not-allowed;
83
+ }
84
+
85
+ .radio_input {
86
+ position: absolute;
87
+ opacity: 0;
88
+ cursor: pointer;
89
+ }
90
+
91
+ .radio_custom {
92
+ width: 16px;
93
+ height: 16px;
94
+ border: 2px solid #999;
95
+ border-radius: 50%; // round for radio
96
+ display: inline-block;
97
+ position: relative;
98
+ transition: all 0.2s ease;
99
+ }
100
+
101
+ // checked state
102
+ .radio_input:checked + .radio_custom {
103
+ background-color: var(--_primary-400);
104
+ border: 2px solid var(--_primary-400);
105
+
106
+ &::after {
107
+ content: "";
108
+ content: "";
109
+ position: absolute;
110
+ top: 50%;
111
+ left: 50%;
112
+ width: 8px;
113
+ height: 8px;
114
+ border-radius: 50%;
115
+ background: #fff;
116
+ transform: translate(-50%, -50%);
117
+ }
118
+ }
119
+
120
+ .radio_label {
121
+ font-size: 14px;
122
+ color: var(--_gray-600);
123
+ }
124
+ }