@bikdotai/bik-widgets 1.0.0 → 1.0.2

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 (207) hide show
  1. package/dist-package/index.css +95 -0
  2. package/dist-package/index.js +2 -0
  3. package/package.json +17 -4
  4. package/.eslintrc +0 -22
  5. package/.eslintrc.js +0 -19
  6. package/.github/workflows/main.yml +0 -293
  7. package/.prettierignore +0 -13
  8. package/.prettierrc +0 -10
  9. package/cypress/apiHelper/endpoints.ts +0 -21
  10. package/cypress/apiHelper/executor.ts +0 -42
  11. package/cypress/e2e/bottomDrawer.cy.ts +0 -49
  12. package/cypress/e2e/directReward.cy.ts +0 -67
  13. package/cypress/e2e/scratchTheCard.cy.ts +0 -68
  14. package/cypress/e2e/stw.cy.ts +0 -82
  15. package/cypress/e2e/waRedirection.cy.ts +0 -46
  16. package/cypress/fixtures/payloads.ts +0 -330
  17. package/cypress/support/commands.ts +0 -37
  18. package/cypress/support/e2e.ts +0 -20
  19. package/cypress.staging.config.ts +0 -23
  20. package/jsconfig.json +0 -6
  21. package/localtest.sh +0 -10
  22. package/log-server.js +0 -86
  23. package/postcss.config.js +0 -8
  24. package/src/Globals.d.ts +0 -2
  25. package/src/assets/lottie/santa.json +0 -11722
  26. package/src/assets/svg/CalendarClockIcon.tsx +0 -30
  27. package/src/assets/svg/CalendarIcon.tsx +0 -24
  28. package/src/assets/svg/CheckIcon.tsx +0 -17
  29. package/src/assets/svg/ChevronIcon.tsx +0 -21
  30. package/src/assets/svg/Close.tsx +0 -39
  31. package/src/assets/svg/Confetti.tsx +0 -140
  32. package/src/assets/svg/Copy.tsx +0 -26
  33. package/src/assets/svg/DropdownCheckIcon.tsx +0 -35
  34. package/src/assets/svg/ErrorIcon.tsx +0 -27
  35. package/src/assets/svg/RadioIcon.tsx +0 -25
  36. package/src/assets/svg/UncheckedCheckboxIcon.tsx +0 -28
  37. package/src/assets/svg/UncheckedRadioIcon.tsx +0 -26
  38. package/src/assets/svg/info.tsx +0 -30
  39. package/src/assets/svg/qrcode.svg +0 -14
  40. package/src/bootstrap.tsx +0 -8
  41. package/src/components/CtaCard/index.tsx +0 -37
  42. package/src/components/CtaCard/preview.module.css +0 -32
  43. package/src/components/CtaCard/style.module.css +0 -32
  44. package/src/components/EmailInput/emailInputBox.tsx +0 -95
  45. package/src/components/Fab/index.tsx +0 -224
  46. package/src/components/Fab/preview.module.css +0 -28
  47. package/src/components/Fab/style.module.css +0 -37
  48. package/src/components/Icons/Call.tsx +0 -26
  49. package/src/components/Icons/Cross.tsx +0 -24
  50. package/src/components/Icons/Gmail.tsx +0 -61
  51. package/src/components/Icons/Instagram.tsx +0 -60
  52. package/src/components/Icons/LiveChat.tsx +0 -43
  53. package/src/components/Icons/Messenger.tsx +0 -57
  54. package/src/components/Icons/Send.tsx +0 -22
  55. package/src/components/Icons/Whatsapp.tsx +0 -24
  56. package/src/components/Shimmer/index.tsx +0 -12
  57. package/src/components/Shimmer/style.module.css +0 -37
  58. package/src/components/SmsInput/smsInputBox.tsx +0 -135
  59. package/src/components/UserDetailsV2/userDetailsV2.desktop.module.css +0 -52
  60. package/src/components/UserDetailsV2/userDetailsV2.mobile.module.css +0 -52
  61. package/src/components/UserDetailsV2/userDetailsV2.module.css +0 -81
  62. package/src/components/UserDetailsV2/userDetailsV2.tsx +0 -527
  63. package/src/components/WhatsappInput/Spinner.tsx +0 -26
  64. package/src/components/WhatsappInput/whatsappInput.module.css +0 -106
  65. package/src/components/WhatsappInput/whatsappInputBox.tsx +0 -155
  66. package/src/components/WhatsappInput/whatsappInputPreviewDesktop.module.css +0 -71
  67. package/src/components/WhatsappInput/whatsappInputPreviewMobile.module.css +0 -65
  68. package/src/components/checkbox/checkbox.module.css +0 -19
  69. package/src/components/checkbox/checkbox.tsx +0 -88
  70. package/src/components/countryCodePicker/countriesDropdown.module.css +0 -77
  71. package/src/components/countryCodePicker/countriesDropdown.tsx +0 -81
  72. package/src/components/couponDetails/coupon.module.css +0 -208
  73. package/src/components/couponDetails/coupon.tsx +0 -210
  74. package/src/components/couponDetails/couponPreviewDesktop.module.css +0 -158
  75. package/src/components/couponDetails/couponPreviewMobile.module.css +0 -164
  76. package/src/components/index.ts +0 -3
  77. package/src/components/inputComponents/Checkbox.module.css +0 -197
  78. package/src/components/inputComponents/Checkbox.tsx +0 -85
  79. package/src/components/inputComponents/DatePicker.module.css +0 -565
  80. package/src/components/inputComponents/DatePicker.tsx +0 -278
  81. package/src/components/inputComponents/Dropdown.module.css +0 -796
  82. package/src/components/inputComponents/Dropdown.tsx +0 -630
  83. package/src/components/inputComponents/InputBox.module.css +0 -401
  84. package/src/components/inputComponents/InputBox.tsx +0 -209
  85. package/src/components/selectedCountry/selectedCountry.module.css +0 -76
  86. package/src/components/selectedCountry/selectedCountry.tsx +0 -76
  87. package/src/components/selectedCountry/selectedCountryPreviewDesktop.module.css +0 -56
  88. package/src/components/selectedCountry/selectedCountryPreviewMobile.module.css +0 -57
  89. package/src/components/userDetailsForm/RenderCustomFields.tsx +0 -333
  90. package/src/components/userDetailsForm/userDetailsForm.tsx +0 -675
  91. package/src/hooks/index.ts +0 -4
  92. package/src/hooks/useExitIntent.ts +0 -452
  93. package/src/hooks/useIsMobile.tsx +0 -21
  94. package/src/hooks/useMessageEvent.ts +0 -8
  95. package/src/hooks/useTriggeredIntentDetails.ts +0 -43
  96. package/src/hooks/useUrlListerner.ts +0 -30
  97. package/src/hooks/useWebSocketLogger.ts +0 -59
  98. package/src/hooks/useWindowEvent.ts +0 -8
  99. package/src/icons/copyIcon.tsx +0 -26
  100. package/src/icons/crossIconDesktop.tsx +0 -20
  101. package/src/icons/crossIconMobile.tsx +0 -20
  102. package/src/index.html +0 -30
  103. package/src/index.ts +0 -32
  104. package/src/index.tsx +0 -1
  105. package/src/repo/widgetRepo.ts +0 -21
  106. package/src/types/customFields.ts +0 -73
  107. package/src/utilities/cookie.ts +0 -70
  108. package/src/utilities/customFieldTypeMapping.ts +0 -67
  109. package/src/utilities/customFieldValidation.ts +0 -201
  110. package/src/utilities/encryption.ts +0 -21
  111. package/src/utilities/exitIntentUtils.ts +0 -31
  112. package/src/utilities/global.css +0 -11
  113. package/src/utilities/languageUtilities.ts +0 -235
  114. package/src/utilities/localRunner.js +0 -26
  115. package/src/utilities/localRunner.ts +0 -27
  116. package/src/utilities/localStorage.ts +0 -40
  117. package/src/utilities/script.tsx +0 -15
  118. package/src/utilities/stringUtils.ts +0 -5
  119. package/src/utilities/styleUtils.ts +0 -134
  120. package/src/utilities/variables.ts +0 -11
  121. package/src/utilities/widgetUtils.js +0 -342
  122. package/src/utilities/widgetUtils.ts +0 -313
  123. package/src/widgets/BottomDrawer/config.ts +0 -41
  124. package/src/widgets/BottomDrawer/index.tsx +0 -116
  125. package/src/widgets/BottomDrawer/modal.tsx +0 -286
  126. package/src/widgets/BottomDrawer/preview.module.css +0 -122
  127. package/src/widgets/BottomDrawer/previewMobile.module.css +0 -124
  128. package/src/widgets/BottomDrawer/style.module.css +0 -279
  129. package/src/widgets/CaptivateBanner/captivateBanner.tsx +0 -200
  130. package/src/widgets/CaptivateBanner/config.ts +0 -72
  131. package/src/widgets/CaptivateBanner/index.tsx +0 -204
  132. package/src/widgets/CaptivateBanner/previewDesktop.module.css +0 -51
  133. package/src/widgets/CaptivateBanner/previewMobile.module.css +0 -51
  134. package/src/widgets/CaptivateBanner/style.module.css +0 -77
  135. package/src/widgets/CaptivateBanner/utils.ts +0 -104
  136. package/src/widgets/CentrallyAlignedPopup/config.ts +0 -42
  137. package/src/widgets/CentrallyAlignedPopup/index.tsx +0 -109
  138. package/src/widgets/CentrallyAlignedPopup/modal.tsx +0 -269
  139. package/src/widgets/CentrallyAlignedPopup/preview.module.css +0 -153
  140. package/src/widgets/CentrallyAlignedPopup/previewMobile.module.css +0 -153
  141. package/src/widgets/CentrallyAlignedPopup/style.module.css +0 -283
  142. package/src/widgets/DirectReward/components/couponDetails.tsx +0 -265
  143. package/src/widgets/DirectReward/components/userDetails.tsx +0 -117
  144. package/src/widgets/DirectReward/config.ts +0 -186
  145. package/src/widgets/DirectReward/directReward.tsx +0 -350
  146. package/src/widgets/DirectReward/index.tsx +0 -579
  147. package/src/widgets/DirectReward/previewStyles/thankYouPreviewDesktop.module.css +0 -276
  148. package/src/widgets/DirectReward/previewStyles/thankYouPreviewMobile.module.css +0 -303
  149. package/src/widgets/DirectReward/previewStyles/userDetailsPreviewDesktop.module.css +0 -511
  150. package/src/widgets/DirectReward/previewStyles/userDetailsPreviewMobile.module.css +0 -462
  151. package/src/widgets/DirectReward/style.module.css +0 -836
  152. package/src/widgets/ExitIntentHook.tsx +0 -28
  153. package/src/widgets/STW/api.ts +0 -70
  154. package/src/widgets/STW/components/svgFactory.tsx +0 -44
  155. package/src/widgets/STW/config.ts +0 -193
  156. package/src/widgets/STW/context.ts +0 -7
  157. package/src/widgets/STW/couponDetails.tsx +0 -121
  158. package/src/widgets/STW/index.tsx +0 -733
  159. package/src/widgets/STW/previewStyles/thankyouPreviewDesktop.module.css +0 -215
  160. package/src/widgets/STW/previewStyles/thankyouPreviewMobile.module.css +0 -205
  161. package/src/widgets/STW/previewStyles/userInputsPreviewDesktop.module.css +0 -732
  162. package/src/widgets/STW/previewStyles/userInputsPreviewMobile.module.css +0 -661
  163. package/src/widgets/STW/previewStyles/wheelPreviewDesktop.module.css +0 -498
  164. package/src/widgets/STW/previewStyles/wheelPreviewMobile.module.css +0 -497
  165. package/src/widgets/STW/stw1.tsx +0 -119
  166. package/src/widgets/STW/stw2Components/wheelDesign.tsx +0 -183
  167. package/src/widgets/STW/stw2Pages/couponDetails.tsx +0 -72
  168. package/src/widgets/STW/stw2Pages/stw2.tsx +0 -212
  169. package/src/widgets/STW/stw2Pages/style.module.css +0 -1226
  170. package/src/widgets/STW/stw2Pages/userDetails.tsx +0 -86
  171. package/src/widgets/STW/stw2Pages/wheel.tsx +0 -117
  172. package/src/widgets/STW/stw2PreviewStyles/thankyouPreviewDesktop.module.css +0 -835
  173. package/src/widgets/STW/stw2PreviewStyles/thankyouPreviewMobile.module.css +0 -787
  174. package/src/widgets/STW/stw2PreviewStyles/userInputsPreviewDesktop.module.css +0 -867
  175. package/src/widgets/STW/stw2PreviewStyles/userInputsPreviewMobile.module.css +0 -798
  176. package/src/widgets/STW/stw2PreviewStyles/wheelPreviewDesktop.module.css +0 -572
  177. package/src/widgets/STW/stw2PreviewStyles/wheelPreviewMobile.module.css +0 -559
  178. package/src/widgets/STW/style.module.css +0 -901
  179. package/src/widgets/STW/userDetails.tsx +0 -150
  180. package/src/widgets/STW/utility.ts +0 -664
  181. package/src/widgets/STW/wheel.tsx +0 -304
  182. package/src/widgets/ScratchCard/ScratchOff/scratchOff.tsx +0 -157
  183. package/src/widgets/ScratchCard/config.ts +0 -152
  184. package/src/widgets/ScratchCard/globalStyle.module.css +0 -931
  185. package/src/widgets/ScratchCard/index.tsx +0 -546
  186. package/src/widgets/ScratchCard/modal.tsx +0 -225
  187. package/src/widgets/ScratchCard/preview.module.css +0 -250
  188. package/src/widgets/ScratchCard/previewMobile.module.css +0 -247
  189. package/src/widgets/ScratchCard/previewStyles/userDetailsPreviewDesktop.module.css +0 -537
  190. package/src/widgets/ScratchCard/previewStyles/userDetailsPreviewMobile.module.css +0 -463
  191. package/src/widgets/ScratchCard/style.module.css +0 -220
  192. package/src/widgets/ShopifyForm/config.ts +0 -168
  193. package/src/widgets/ShopifyForm/index.tsx +0 -214
  194. package/src/widgets/ShopifyForm/previewDesktop.module.css +0 -117
  195. package/src/widgets/ShopifyForm/previewMobile.module.css +0 -131
  196. package/src/widgets/ShopifyForm/shopifyForm.tsx +0 -445
  197. package/src/widgets/ShopifyForm/style.module.css +0 -161
  198. package/src/widgets/SingleButtonRedirection/config.ts +0 -47
  199. package/src/widgets/SingleButtonRedirection/index.tsx +0 -121
  200. package/src/widgets/WebStories/config.ts +0 -105
  201. package/src/widgets/WebStories/index.css +0 -3
  202. package/src/widgets/WebStories/index.tsx +0 -282
  203. package/src/widgets/WebStories/style.module.css +0 -26
  204. package/src/widgets/index.tsx +0 -3
  205. package/src/widgets/utility.ts +0 -31
  206. package/tsconfig.json +0 -12
  207. package/webpack.config.js +0 -239
@@ -1,164 +0,0 @@
1
- .winningScreenIconWrapper {
2
- width: 100%;
3
- display: flex;
4
- justify-content: center;
5
- margin-bottom: 4px;
6
- align-items: center;
7
- }
8
-
9
- #couponScreenTitleWrapper p {
10
- margin-bottom: 0;
11
- font-family: inherit;
12
- }
13
-
14
- .winningScreenIcon {
15
- height: 24px;
16
- width: auto;
17
- }
18
-
19
- .bikWrapper svg {
20
- width: 45px;
21
- height: 45px;
22
- margin-bottom: 0;
23
- }
24
-
25
- #bikHeader {
26
- font-family: inherit;
27
- font-style: normal;
28
- font-weight: 600;
29
- font-size: 10px;
30
- line-height: 10px;
31
- text-align: center;
32
- font-feature-settings:
33
- 'tnum' on,
34
- 'lnum' on,
35
- 'case' on,
36
- 'ss04' on;
37
- color: #212121;
38
- margin: 0;
39
- }
40
-
41
- #bikSubheader {
42
- font-feature-settings:
43
- 'tnum' on,
44
- 'lnum' on,
45
- 'case' on,
46
- 'ss04' on;
47
- text-align: center;
48
- font-weight: 400;
49
- font-size: 8px;
50
- line-height: 8px;
51
- margin: 4px 0 8px;
52
- font-family: inherit;
53
- }
54
-
55
- .bikContainerPadding {
56
- padding: 30px;
57
- }
58
-
59
- #bikDiscountCodeDetails {
60
- display: flex;
61
- flex-direction: column;
62
- align-items: center;
63
- padding: 8px;
64
- gap: 8px;
65
- width: 100%;
66
- min-height: 50px;
67
- background: #e6f4e7;
68
- border-radius: 4px;
69
- font-family: inherit;
70
- text-align: center;
71
- }
72
-
73
- #bikDiscountCouponName {
74
- color: #212121;
75
- line-height: 8px;
76
- margin: 0;
77
- font-family: inherit;
78
- text-align: center;
79
- }
80
-
81
- #bikDiscountCouponDetail {
82
- color: #616161;
83
- line-height: 10px;
84
- margin: 0;
85
- font-family: inherit;
86
- }
87
-
88
- #bikFooterLastPage {
89
- font-family: inherit;
90
- }
91
-
92
- .font14 {
93
- font-size: 8px;
94
- }
95
-
96
- .font10 {
97
- font-size: 10px;
98
- line-height: 12px;
99
- }
100
-
101
- .fontWeight400 {
102
- font-weight: 400;
103
- }
104
-
105
- .fontWeight600 {
106
- font-weight: 600;
107
- }
108
-
109
- .poweredBy {
110
- color: #9e9e9e;
111
- font-weight: 400;
112
- font-size: 10px;
113
- line-height: 12px;
114
- margin-top: 8px;
115
- margin-bottom: 0;
116
- pointer-events: none;
117
- text-align: center;
118
- display: flex;
119
- align-items: center;
120
- justify-content: center;
121
- }
122
-
123
- .poweredBy a {
124
- color: #9e9e9e;
125
- pointer-events: none;
126
- text-decoration: none;
127
- margin-right: 4px;
128
- }
129
-
130
- .poweredBy svg {
131
- width: 20px;
132
- height: 20px;
133
- margin: 0;
134
- }
135
-
136
- .bikCloseBtn {
137
- width: 18px;
138
- height: 18px;
139
- border-radius: 50%;
140
- background-color: #fff;
141
- margin-bottom: 11px;
142
- display: flex;
143
- justify-content: center;
144
- align-items: center;
145
- cursor: pointer;
146
- pointer-events: none;
147
- }
148
-
149
- #bikayiBtn {
150
- padding: 4px 12px;
151
- border: none;
152
- border-radius: 8px;
153
- outline: none;
154
- width: 100%;
155
- color: #fff;
156
- margin-top: 8px;
157
- cursor: pointer;
158
- background: #731dcf;
159
- font-weight: 600;
160
- font-size: 10px;
161
- line-height: 20px;
162
- font-family: inherit;
163
- pointer-events: none;
164
- }
@@ -1,3 +0,0 @@
1
- import Fab from './Fab';
2
-
3
- export { Fab };
@@ -1,197 +0,0 @@
1
- .bik-checkbox__container {
2
- /* Colors */
3
- --bik-checkbox-primary: #000;
4
- --bik-checkbox-background: #fff;
5
- --bik-checkbox-text: #1f2937;
6
-
7
- /* Border colors */
8
- --bik-checkbox-border-default: #e0e0e0;
9
- --bik-checkbox-border-hover: #000;
10
-
11
- /* Disabled state colors */
12
- --bik-checkbox-disabled-background: #f3f4f6;
13
- --bik-checkbox-disabled-border: #d1d5db;
14
- --bik-checkbox-disabled-checked: #9ca3af;
15
- --bik-checkbox-disabled-text: #9ca3af;
16
-
17
- /* Sizing */
18
- --bik-checkbox-size: 14px;
19
- --bik-checkbox-input-size: 16px;
20
- --bik-checkbox-border-width: 2px;
21
- --bik-checkbox-border-radius: 3px;
22
-
23
- /* Spacing */
24
- --bik-checkbox-gap: 8px;
25
- --bik-checkbox-label-gap: 4px;
26
-
27
- /* Typography */
28
- --bik-checkbox-font-size: 14px;
29
- --bik-checkbox-line-height: 1.5;
30
- --bik-checkbox-font-weight: 400;
31
-
32
- /* Interaction */
33
- --bik-checkbox-transition: all 0.2s ease;
34
- --bik-checkbox-focus-outline-width: 2px;
35
- --bik-checkbox-focus-outline-offset: 2px;
36
-
37
- /* Preview mode variations */
38
- --bik-checkbox-size-preview: 10px;
39
- --bik-checkbox-input-size-preview: 12px;
40
- --bik-checkbox-border-width-preview: 1px;
41
- --bik-checkbox-gap-preview: 4px;
42
- --bik-checkbox-font-size-preview: 8px;
43
- --bik-checkbox-font-size-preview-mobile: 7px;
44
-
45
- position: relative;
46
- margin: 8px 0;
47
- width: 100%;
48
- }
49
-
50
- .bik-checkbox__wrapper {
51
- position: relative;
52
- display: flex;
53
- align-items: center;
54
- gap: var(--bik-checkbox-gap);
55
- cursor: pointer;
56
- }
57
-
58
- .bik-checkbox__inputWrapper {
59
- position: relative;
60
- display: flex;
61
- align-items: center;
62
- justify-content: center;
63
- flex-shrink: 0;
64
- }
65
-
66
- .bik-checkbox__input {
67
- position: absolute;
68
- opacity: 0;
69
- width: var(--bik-checkbox-input-size) !important;
70
- height: var(--bik-checkbox-input-size) !important;
71
- margin: 0 !important;
72
- cursor: pointer;
73
- }
74
-
75
- .bik-checkbox__checkmark {
76
- width: var(--bik-checkbox-size);
77
- height: var(--bik-checkbox-size);
78
- border: var(--bik-checkbox-border-width) solid
79
- var(--bik-checkbox-border-default);
80
- border-radius: var(--bik-checkbox-border-radius);
81
- background: var(--bik-checkbox-background);
82
- display: flex;
83
- align-items: center;
84
- justify-content: center;
85
- flex-shrink: 0;
86
- color: var(--bik-checkbox-background);
87
- transition: var(--bik-checkbox-transition);
88
- }
89
-
90
- .bik-checkbox__label {
91
- font-weight: var(--bik-checkbox-font-weight);
92
- font-size: var(--bik-checkbox-font-size);
93
- line-height: var(--bik-checkbox-line-height);
94
- color: var(--bik-checkbox-text);
95
- cursor: pointer;
96
- user-select: none;
97
- transition: var(--bik-checkbox-transition);
98
- }
99
-
100
- .bik-checkbox__labelContainer {
101
- display: flex;
102
- flex-direction: column;
103
- gap: var(--bik-checkbox-label-gap);
104
- flex: 1;
105
- }
106
-
107
- .bik-checkbox__wrapper:hover:not(.bik-checkbox__wrapper--disabled)
108
- .bik-checkbox__checkmark {
109
- border-color: var(--bik-checkbox-border-hover);
110
- }
111
-
112
- .bik-checkbox__input:focus + .bik-checkbox__checkmark {
113
- outline: var(--bik-checkbox-focus-outline-width) solid
114
- var(--bik-checkbox-primary);
115
- outline-offset: var(--bik-checkbox-focus-outline-offset);
116
- }
117
-
118
- .bik-checkbox__input:focus:not(:focus-visible) + .bik-checkbox__checkmark {
119
- outline: none;
120
- }
121
-
122
- .bik-checkbox__input:checked + .bik-checkbox__checkmark {
123
- background: var(--bik-checkbox-primary);
124
- border-color: var(--bik-checkbox-primary);
125
- }
126
-
127
- .bik-checkbox__wrapper--disabled {
128
- cursor: not-allowed;
129
- }
130
-
131
- .bik-checkbox__wrapper--disabled .bik-checkbox__input,
132
- .bik-checkbox__wrapper--disabled .bik-checkbox__label {
133
- cursor: not-allowed;
134
- }
135
-
136
- .bik-checkbox__wrapper--disabled .bik-checkbox__checkmark {
137
- background: var(--bik-checkbox-disabled-background);
138
- border-color: var(--bik-checkbox-disabled-border);
139
- }
140
-
141
- .bik-checkbox__wrapper--disabled
142
- .bik-checkbox__input:checked
143
- + .bik-checkbox__checkmark {
144
- background: var(--bik-checkbox-disabled-checked);
145
- border-color: var(--bik-checkbox-disabled-checked);
146
- }
147
-
148
- .bik-checkbox__wrapper--disabled .bik-checkbox__label {
149
- color: var(--bik-checkbox-disabled-text);
150
- }
151
-
152
- .bik-checkbox__container[data-mode='preview'] {
153
- margin: 4px 0;
154
- }
155
-
156
- .bik-checkbox__container[data-mode='preview'] .bik-checkbox__wrapper {
157
- gap: var(--bik-checkbox-gap-preview);
158
- }
159
-
160
- .bik-checkbox__container[data-mode='preview'] .bik-checkbox__checkmark {
161
- width: var(--bik-checkbox-size-preview);
162
- height: var(--bik-checkbox-size-preview);
163
- border-width: var(--bik-checkbox-border-width-preview);
164
- }
165
-
166
- .bik-checkbox__container[data-mode='preview'] .bik-checkbox__input {
167
- width: var(--bik-checkbox-input-size-preview);
168
- height: var(--bik-checkbox-input-size-preview);
169
- }
170
-
171
- .bik-checkbox__container[data-mode='preview'] .bik-checkbox__label {
172
- font-size: var(--bik-checkbox-font-size-preview);
173
- line-height: 1.2;
174
- }
175
-
176
- @media (prefers-reduced-motion: reduce) {
177
- .bik-checkbox__container .bik-checkbox__checkmark,
178
- .bik-checkbox__container .bik-checkbox__label {
179
- transition: none;
180
- }
181
- }
182
-
183
- @media (prefers-contrast: high) {
184
- .bik-checkbox__container {
185
- --bik-checkbox-border-width: 3px;
186
- }
187
-
188
- .bik-checkbox__label {
189
- font-weight: 600;
190
- }
191
- }
192
-
193
- @media (max-width: 768px) {
194
- .bik-checkbox__container[data-mode='preview'] .bik-checkbox__label {
195
- font-size: var(--bik-checkbox-font-size-preview-mobile);
196
- }
197
- }
@@ -1,85 +0,0 @@
1
- import React, { useCallback, useMemo } from 'react';
2
- import styles from './Checkbox.module.css';
3
- import CheckIcon from '../../assets/svg/CheckIcon';
4
-
5
- export interface CheckboxProps {
6
- id: string;
7
- checked: boolean;
8
- label: string;
9
- onChange: (checked: boolean) => void;
10
- disabled?: boolean;
11
- iconSize?: number;
12
- isPreview?: boolean;
13
- fontColour?: string;
14
- }
15
-
16
- const Checkbox: React.FC<CheckboxProps> = ({
17
- id,
18
- checked,
19
- label,
20
- onChange,
21
- disabled = false,
22
- iconSize = 14,
23
- isPreview = false,
24
- fontColour,
25
- }) => {
26
- const wrapperClasses = useMemo(() => {
27
- return [
28
- styles['bik-checkbox__wrapper'],
29
- disabled && styles['bik-checkbox__wrapper--disabled'],
30
- ]
31
- .filter(Boolean)
32
- .join(' ');
33
- }, [disabled]);
34
-
35
- const handleInputChange = useCallback(
36
- event => {
37
- if (!disabled) {
38
- onChange(event.target.checked);
39
- }
40
- },
41
- [disabled],
42
- );
43
-
44
- return (
45
- <div
46
- className={styles['bik-checkbox__container']}
47
- data-mode={isPreview ? 'preview' : 'default'}
48
- >
49
- <div className={wrapperClasses}>
50
- <div className={styles['bik-checkbox__inputWrapper']}>
51
- <input
52
- id={id}
53
- type="checkbox"
54
- checked={checked}
55
- onChange={handleInputChange}
56
- disabled={disabled}
57
- className={styles['bik-checkbox__input']}
58
- />
59
-
60
- <div
61
- className={styles['bik-checkbox__checkmark']}
62
- style={{
63
- width: iconSize + 2,
64
- height: iconSize + 2,
65
- }}
66
- >
67
- <CheckIcon size={iconSize} />
68
- </div>
69
- </div>
70
-
71
- {label && (
72
- <div className={styles['bik-checkbox__labelContainer']}>
73
- <div
74
- className={styles['bik-checkbox__label']}
75
- style={{ color: fontColour }}
76
- >
77
- {label}
78
- </div>
79
- </div>
80
- )}
81
- </div>
82
- </div>
83
- );
84
- };
85
- export default Checkbox;