@fast-simon/dashboard-utilities 1.0.84 → 1.0.86

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 (118) hide show
  1. package/dist/@types/autocomplete.d.ts +3 -1
  2. package/dist/@types/autocomplete.js.map +1 -1
  3. package/dist/@types/banner.js.map +1 -1
  4. package/dist/@types/categories.d.ts +3 -0
  5. package/dist/@types/categories.js.map +1 -1
  6. package/dist/@types/categoriesNavigation.js.map +1 -1
  7. package/dist/@types/context.js.map +1 -1
  8. package/dist/@types/currency.js.map +1 -1
  9. package/dist/@types/editorProduct.js.map +1 -1
  10. package/dist/@types/facets.js.map +1 -1
  11. package/dist/@types/iconProps.js.map +1 -1
  12. package/dist/@types/narrow.js.map +1 -1
  13. package/dist/@types/product.js.map +1 -1
  14. package/dist/@types/promoTile.js.map +1 -1
  15. package/dist/@types/results.d.ts +7 -0
  16. package/dist/@types/results.js.map +1 -1
  17. package/dist/@types/sideMenu.js.map +1 -1
  18. package/dist/@types/sortBy.js.map +1 -1
  19. package/dist/@types/widget.js.map +1 -1
  20. package/dist/App.js.map +1 -1
  21. package/dist/components/BackOfficeFiltersMenu/BackOfficeFiltersMenu.js.map +1 -1
  22. package/dist/components/BackOfficeFiltersMenu/index.js.map +1 -1
  23. package/dist/components/BackOfficeFiltersMenu/styles.module.css +9 -9
  24. package/dist/components/BackOfficeFiltersMenu/utils.js.map +1 -1
  25. package/dist/components/CheckboxFilter/Checkbox/Checkbox.js.map +1 -1
  26. package/dist/components/CheckboxFilter/Checkbox/styles.module.css +142 -142
  27. package/dist/components/CheckboxFilter/CheckboxFilter.js.map +1 -1
  28. package/dist/components/CheckboxFilter/styles.module.css +4 -4
  29. package/dist/components/DragAndDrop/DndContextWrapper.js.map +1 -1
  30. package/dist/components/DragAndDrop/Droppable.js.map +1 -1
  31. package/dist/components/DragAndDrop/SortableItem.js.map +1 -1
  32. package/dist/components/DragAndDrop/styles.module.css +15 -15
  33. package/dist/components/FacetItem/FacetItem.js.map +1 -1
  34. package/dist/components/FacetItem/styles.module.css +54 -54
  35. package/dist/components/FastSimonApi/FastSimonApi.d.ts +1 -0
  36. package/dist/components/FastSimonApi/FastSimonApi.js +24 -8
  37. package/dist/components/FastSimonApi/FastSimonApi.js.map +1 -1
  38. package/dist/components/FastSimonApi/context.js.map +1 -1
  39. package/dist/components/FastSimonApi/index.js.map +1 -1
  40. package/dist/components/FastSimonApi/reducer.d.ts +58 -50
  41. package/dist/components/FastSimonApi/reducer.js.map +1 -1
  42. package/dist/components/FromToFilter/From/From.js.map +1 -1
  43. package/dist/components/FromToFilter/From/styles.module.css +8 -8
  44. package/dist/components/FromToFilter/FromToFilter.js.map +1 -1
  45. package/dist/components/FromToFilter/To/To.js.map +1 -1
  46. package/dist/components/FromToFilter/To/styles.module.css +8 -8
  47. package/dist/components/FromToFilter/styles.module.css +33 -33
  48. package/dist/components/FromToFilter/utils.js.map +1 -1
  49. package/dist/components/InStoreFiltersMenu/InStoreFiltersMenu.js.map +1 -1
  50. package/dist/components/InStoreFiltersMenu/index.js.map +1 -1
  51. package/dist/components/InStoreFiltersMenu/styles.module.css +9 -9
  52. package/dist/components/Input/Input.js.map +1 -1
  53. package/dist/components/Input/index.js.map +1 -1
  54. package/dist/components/Input/styles.module.css +2 -2
  55. package/dist/components/LastReceivedDateFilter/LastReceivedDate.js.map +1 -1
  56. package/dist/components/LastReceivedDateFilter/styles.module.css +40 -40
  57. package/dist/components/LastReceivedDateFilter/utils.js.map +1 -1
  58. package/dist/components/ProductLabel/ProductLabel.js.map +1 -1
  59. package/dist/components/ProductLabel/index.js.map +1 -1
  60. package/dist/components/ProductLabel/styles.module.css +41 -41
  61. package/dist/components/ProductLabel/utils.js.map +1 -1
  62. package/dist/components/RadioFilter/Radio/Radio.js.map +1 -1
  63. package/dist/components/RadioFilter/Radio/styles.module.css +144 -144
  64. package/dist/components/RadioFilter/RadioFilter.js.map +1 -1
  65. package/dist/components/RadioFilter/styles.module.css +22 -22
  66. package/dist/components/RadioFilter/utils.js.map +1 -1
  67. package/dist/components/ReactDatePicker/ReactDatePicker.js.map +1 -1
  68. package/dist/components/ReactDatePicker/index.js.map +1 -1
  69. package/dist/components/ReactDatePicker/styles.module.css +2 -2
  70. package/dist/components/RenderIfVisible/RenderIfVisible.js.map +1 -1
  71. package/dist/components/RenderIfVisible/index.js.map +1 -1
  72. package/dist/components/ScrollToTop/ScrollToTop.js.map +1 -1
  73. package/dist/components/ScrollToTop/styles.module.css +18 -18
  74. package/dist/components/SelectCard/SelectCard.js.map +1 -1
  75. package/dist/components/SelectCard/index.js.map +1 -1
  76. package/dist/components/SelectCard/styles.module.css +20 -20
  77. package/dist/components/SingleFilter/SingleFilter.js.map +1 -1
  78. package/dist/components/SingleFilter/styles.module.css +23 -23
  79. package/dist/components/SingleFilter/utils.js.map +1 -1
  80. package/dist/components/SliderFilter/SliderFilter.js.map +1 -1
  81. package/dist/components/SliderFilter/index.js.map +1 -1
  82. package/dist/components/SliderFilter/styles.module.css +15 -15
  83. package/dist/components/Tooltip/Tooltip.js.map +1 -1
  84. package/dist/components/Tooltip/styles.module.css +33 -33
  85. package/dist/components/common.js.map +1 -1
  86. package/dist/components/productGrid/ProductGrid.js.map +1 -1
  87. package/dist/components/productGrid/index.js.map +1 -1
  88. package/dist/components/productGrid/styles.module.css +25 -25
  89. package/dist/icons/BackOfficeFiltersIcon.js.map +1 -1
  90. package/dist/icons/BannersIcon.js.map +1 -1
  91. package/dist/icons/GeneralIcon.js.map +1 -1
  92. package/dist/icons/HelpIcon.js.map +1 -1
  93. package/dist/icons/InStoreFiltersIcon.js.map +1 -1
  94. package/dist/icons/PromoteIcon.js.map +1 -1
  95. package/dist/icons/RemoveIcon.js.map +1 -1
  96. package/dist/icons/RestoreIcon.js.map +1 -1
  97. package/dist/icons/styles.module.css +60 -60
  98. package/dist/index.js.map +1 -1
  99. package/dist/main.js.map +1 -1
  100. package/dist/services/API.js.map +1 -1
  101. package/dist/services/autocomplete.d.ts +1 -1
  102. package/dist/services/autocomplete.js +2 -1
  103. package/dist/services/autocomplete.js.map +1 -1
  104. package/dist/services/getFormatProducts.js.map +1 -1
  105. package/dist/services/landingPage.js.map +1 -1
  106. package/dist/services/products.js.map +1 -1
  107. package/dist/services/search.d.ts +2 -2
  108. package/dist/services/search.js +6 -4
  109. package/dist/services/search.js.map +1 -1
  110. package/dist/services/smartCollections.d.ts +2 -2
  111. package/dist/services/smartCollections.js +6 -4
  112. package/dist/services/smartCollections.js.map +1 -1
  113. package/dist/utils/customTagsFilters.js.map +1 -1
  114. package/dist/utils/getInternalURL.js.map +1 -1
  115. package/dist/utils/getLSVectorSearch.js.map +1 -1
  116. package/dist/utils/useDragToSelect.js.map +1 -1
  117. package/dist/utils/useProductsPerRow.js.map +1 -1
  118. package/package.json +64 -64
@@ -1,42 +1,42 @@
1
- .productLabelContainer {
2
- width: inherit;
3
- font-size: 12px;
4
- display: flex;
5
- align-items: center;
6
- flex-direction: row;
7
- position: absolute;
8
- justify-content: space-between;
9
- top: 6px;
10
- }
11
-
12
- .productPosition {
13
- display: flex;
14
- align-items: center;
15
- justify-content: center;
16
- margin-right: 6px;
17
- padding: 5px 5px;
18
- border-radius: 50px;
19
- border: 1px solid #00000017;
20
- background-color: #ffffffc9;
21
- min-width: 16px;
22
- min-height: 16px;
23
- width: fit-content;
24
- height: fit-content;
25
- }
26
-
27
- .productLabelContainerWithText {
28
- color: white;
29
- }
30
-
31
- .labelText {
32
- display: flex;
33
- justify-content: center;
34
- padding: 4px 4px;
35
- border-radius: 0 4px 4px 0;
36
- }
37
-
38
- .badgesContainer {
39
- display: flex;
40
- flex-direction: column;
41
- justify-content: space-between;
1
+ .productLabelContainer {
2
+ width: inherit;
3
+ font-size: 12px;
4
+ display: flex;
5
+ align-items: center;
6
+ flex-direction: row;
7
+ position: absolute;
8
+ justify-content: space-between;
9
+ top: 6px;
10
+ }
11
+
12
+ .productPosition {
13
+ display: flex;
14
+ align-items: center;
15
+ justify-content: center;
16
+ margin-right: 6px;
17
+ padding: 5px 5px;
18
+ border-radius: 50px;
19
+ border: 1px solid #00000017;
20
+ background-color: #ffffffc9;
21
+ min-width: 16px;
22
+ min-height: 16px;
23
+ width: fit-content;
24
+ height: fit-content;
25
+ }
26
+
27
+ .productLabelContainerWithText {
28
+ color: white;
29
+ }
30
+
31
+ .labelText {
32
+ display: flex;
33
+ justify-content: center;
34
+ padding: 4px 4px;
35
+ border-radius: 0 4px 4px 0;
36
+ }
37
+
38
+ .badgesContainer {
39
+ display: flex;
40
+ flex-direction: column;
41
+ justify-content: space-between;
42
42
  }
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/components/ProductLabel/utils.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC5B,UAAU,EAAE,SAAS;IACrB,UAAU,EAAE,SAAS;IACrB,QAAQ,EAAE,SAAS;IACnB,QAAQ,EAAE,SAAS;IACnB,QAAQ,EAAE,SAAS;IACnB,aAAa,EAAE,WAAW;CAC7B,CAAA","sourcesContent":["export const labelToColorDict = {\r\n 'Promoted': '#008847',\r\n 'Selected': '#008847',\r\n 'Pinned': '#0093E5',\r\n 'Buried': '#EA0C19',\r\n 'Hidden': '#EA0C19',\r\n 'Unpublished': '#880000d1'\r\n}"]}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/components/ProductLabel/utils.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC5B,UAAU,EAAE,SAAS;IACrB,UAAU,EAAE,SAAS;IACrB,QAAQ,EAAE,SAAS;IACnB,QAAQ,EAAE,SAAS;IACnB,QAAQ,EAAE,SAAS;IACnB,aAAa,EAAE,WAAW;CAC7B,CAAA","sourcesContent":["export const labelToColorDict = {\n 'Promoted': '#008847',\n 'Selected': '#008847',\n 'Pinned': '#0093E5',\n 'Buried': '#EA0C19',\n 'Hidden': '#EA0C19',\n 'Unpublished': '#880000d1'\n}"]}
@@ -1 +1 @@
1
- {"version":3,"file":"Radio.js","sourceRoot":"","sources":["../../../../src/components/RadioFilter/Radio/Radio.tsx"],"names":[],"mappings":";AAEA,OAAO,OAAO,MAAM,qBAAqB,CAAC;AAC1C,OAAO,UAAU,MAAM,YAAY,CAAC;AAUpC,MAAM,UAAU,KAAK,CAAC,EAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAQ;IACvE,OAAO,CACH,4BACI,6BAAK,SAAS,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,UAAU,EAAE,SAAS,CAAA,CAAC,CAAC,OAAO,CAAC,sBAAsB,CAAA,CAAC,CAAC,OAAO,CAAC,uBAAuB,CAAC,iBACxI,gBAAO,IAAI,EAAC,OAAO,EAAC,OAAO,EAAE,SAAS,EACnC,QAAQ,EAAE,QAAQ,gBACF,SAAS,EACxB,EAAE,EAAE,EAAE,GACR,EACE,eAAM,SAAS,EAAE,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,eAAe,CAAC,GAAU,EACjF,8BAAM,SAAS,EAAE,UAAU,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,eAAe,CAAC,iBACtE,QAAQ,EACb,gBAAO,KACJ,KAEL,GACP,CACV,CAAA;AAED,CAAC","sourcesContent":["import React, {useEffect, useState} from 'react';\r\nimport {Facet} from \"@fast-simon/utilities\";\r\nimport classes from './styles.module.css';\r\nimport classNames from \"classnames\";\r\n\r\ninterface Props {\r\n isChecked: boolean;\r\n ariaLabel?: string;\r\n children: React.ReactNode,\r\n onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void,\r\n id?: string\r\n}\r\n\r\nexport function Radio({isChecked, ariaLabel, children, onChange, id}: Props) {\r\n return (\r\n <>\r\n <div className={classNames(classes.checkbox, classes.fsCheckbox, isChecked? classes.fsSelectedCheckboxTrue: classes.fsSelectedCheckboxFalse)}>\r\n <input type=\"radio\" checked={isChecked}\r\n onChange={onChange}\r\n aria-label={ariaLabel}\r\n id={id}\r\n />\r\n <span className={classNames(classes.checkmark, classes.fsSerpCheckmark)} ></span>\r\n <span className={classNames(classes.checkboxLabel, classes.fsCheckboxLabel)}>\r\n {children}\r\n <slot/>\r\n </span>\r\n\r\n </div>\r\n </>\r\n)\r\n\r\n}"]}
1
+ {"version":3,"file":"Radio.js","sourceRoot":"","sources":["../../../../src/components/RadioFilter/Radio/Radio.tsx"],"names":[],"mappings":";AAEA,OAAO,OAAO,MAAM,qBAAqB,CAAC;AAC1C,OAAO,UAAU,MAAM,YAAY,CAAC;AAUpC,MAAM,UAAU,KAAK,CAAC,EAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAQ;IACvE,OAAO,CACH,4BACI,6BAAK,SAAS,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,UAAU,EAAE,SAAS,CAAA,CAAC,CAAC,OAAO,CAAC,sBAAsB,CAAA,CAAC,CAAC,OAAO,CAAC,uBAAuB,CAAC,iBACxI,gBAAO,IAAI,EAAC,OAAO,EAAC,OAAO,EAAE,SAAS,EACnC,QAAQ,EAAE,QAAQ,gBACF,SAAS,EACxB,EAAE,EAAE,EAAE,GACR,EACE,eAAM,SAAS,EAAE,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,eAAe,CAAC,GAAU,EACjF,8BAAM,SAAS,EAAE,UAAU,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,eAAe,CAAC,iBACtE,QAAQ,EACb,gBAAO,KACJ,KAEL,GACP,CACV,CAAA;AAED,CAAC","sourcesContent":["import React, {useEffect, useState} from 'react';\nimport {Facet} from \"@fast-simon/utilities\";\nimport classes from './styles.module.css';\nimport classNames from \"classnames\";\n\ninterface Props {\n isChecked: boolean;\n ariaLabel?: string;\n children: React.ReactNode,\n onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void,\n id?: string\n}\n\nexport function Radio({isChecked, ariaLabel, children, onChange, id}: Props) {\n return (\n <>\n <div className={classNames(classes.checkbox, classes.fsCheckbox, isChecked? classes.fsSelectedCheckboxTrue: classes.fsSelectedCheckboxFalse)}>\n <input type=\"radio\" checked={isChecked}\n onChange={onChange}\n aria-label={ariaLabel}\n id={id}\n />\n <span className={classNames(classes.checkmark, classes.fsSerpCheckmark)} ></span>\n <span className={classNames(classes.checkboxLabel, classes.fsCheckboxLabel)}>\n {children}\n <slot/>\n </span>\n\n </div>\n </>\n)\n\n}"]}
@@ -1,145 +1,145 @@
1
- .fsCheckbox {
2
- display: flex;
3
- position: relative;
4
- padding: 0 5px 0 0;
5
- margin-top: 5px;
6
- margin-bottom: 5px;
7
- cursor: pointer;
8
- -webkit-user-select: none;
9
- -moz-user-select: none;
10
- -ms-user-select: none;
11
- user-select: none;
12
- font-family: Arial, serif;
13
- animation: growDown 300ms ease forwards;
14
- align-items: center;
15
- }
16
-
17
- .fsCheckbox input {
18
- position: fixed;
19
- opacity: 0;
20
- cursor: pointer;
21
- height: 0;
22
- width: 0;
23
- }
24
-
25
- .checkmark {
26
- min-height: 16px;
27
- min-width: 16px;
28
- background-color: #eee;
29
- margin-right: 10px;
30
- }
31
-
32
- .fsCheckbox:hover input ~ .checkmark {
33
- background-color: #d00202cf;
34
- }
35
-
36
- .fsCheckbox input:checked ~ .checkmark {
37
- background-color: white;
38
- }
39
-
40
- .fsCheckbox input:checked ~ .checkmark:after {
41
- display: block;
42
- }
43
-
44
- .fsCheckboxx .checkmark:after {
45
- left: 5px;
46
- width: 4px;
47
- height: 9px;
48
- border: solid white;
49
- border-width: 0 2px 2px 0;
50
- -webkit-transform: rotate(45deg);
51
- -ms-transform: rotate(45deg);
52
- transform: rotate(45deg);
53
- }
54
- .fsSelectedCheckboxTrue{}
55
- .fsSelectedCheckboxFalse{}
56
-
57
- @keyframes growDown {
58
- 0% {
59
- transform: scaleY(0)
60
- }
61
- 80% {
62
- transform: scaleY(1.1)
63
- }
64
- 100% {
65
- transform: scaleY(1)
66
- }
67
- }
68
-
69
- .checkbox {
70
- display: flex;
71
- position: relative;
72
- padding: 0 5px 0 0;
73
- margin-top: 5px;
74
- margin-bottom: 5px;
75
- cursor: pointer;
76
- -webkit-user-select: none;
77
- -moz-user-select: none;
78
- -ms-user-select: none;
79
- user-select: none;
80
- font-family: Arial, serif;
81
- animation: growDown 300ms ease forwards;
82
- align-items: center;
83
- }
84
-
85
- .checkbox .checkboxLabel {
86
- align-self: start;
87
- text-transform: capitalize;
88
- display: flex;
89
- line-height: 20px;
90
- align-items: center;
91
- margin-top: 2px;
92
- width: -webkit-fill-available;
93
- justify-content: space-between;
94
- text-overflow: ellipsis;
95
- overflow: hidden;
96
- }
97
-
98
- .checkbox input {
99
- position: fixed;
100
- opacity: 0;
101
- cursor: pointer;
102
- height: 0;
103
- width: 0;
104
- }
105
-
106
- .checkmark {
107
- min-height: 16px;
108
- min-width: 16px;
109
- background-color: #eee;
110
- margin-right: 10px;
111
- border-radius: 18px;
112
- }
113
-
114
- .checkbox:hover input ~ .checkmark {
115
- background-color: #ccc;
116
- }
117
-
118
- .checkbox input:checked ~ .checkmark {
119
- background-color: #000000;
120
- }
121
-
122
- .checkmark:after {
123
- content: "";
124
- position: absolute;
125
- display: none;
126
- }
127
-
128
- .checkbox input:checked ~ .checkmark:after {
129
- display: block;
130
- }
131
-
132
- .checkbox .checkmark:after {
133
- left: 5px;
134
- width: 3px;
135
- height: 8px;
136
- top: 5px;
137
- border: solid white;
138
- border-width: 0 2px 2px 0;
139
- -webkit-transform: rotate(45deg);
140
- -ms-transform: rotate(45deg);
141
- transform: rotate(45deg);
142
- }
143
- :global(.modal-mobile-filters .fs-serp-filter-count, .modal-mobile-filters .fsSerpCheckmark) {
144
- display: none;
1
+ .fsCheckbox {
2
+ display: flex;
3
+ position: relative;
4
+ padding: 0 5px 0 0;
5
+ margin-top: 5px;
6
+ margin-bottom: 5px;
7
+ cursor: pointer;
8
+ -webkit-user-select: none;
9
+ -moz-user-select: none;
10
+ -ms-user-select: none;
11
+ user-select: none;
12
+ font-family: Arial, serif;
13
+ animation: growDown 300ms ease forwards;
14
+ align-items: center;
15
+ }
16
+
17
+ .fsCheckbox input {
18
+ position: fixed;
19
+ opacity: 0;
20
+ cursor: pointer;
21
+ height: 0;
22
+ width: 0;
23
+ }
24
+
25
+ .checkmark {
26
+ min-height: 16px;
27
+ min-width: 16px;
28
+ background-color: #eee;
29
+ margin-right: 10px;
30
+ }
31
+
32
+ .fsCheckbox:hover input ~ .checkmark {
33
+ background-color: #d00202cf;
34
+ }
35
+
36
+ .fsCheckbox input:checked ~ .checkmark {
37
+ background-color: white;
38
+ }
39
+
40
+ .fsCheckbox input:checked ~ .checkmark:after {
41
+ display: block;
42
+ }
43
+
44
+ .fsCheckboxx .checkmark:after {
45
+ left: 5px;
46
+ width: 4px;
47
+ height: 9px;
48
+ border: solid white;
49
+ border-width: 0 2px 2px 0;
50
+ -webkit-transform: rotate(45deg);
51
+ -ms-transform: rotate(45deg);
52
+ transform: rotate(45deg);
53
+ }
54
+ .fsSelectedCheckboxTrue{}
55
+ .fsSelectedCheckboxFalse{}
56
+
57
+ @keyframes growDown {
58
+ 0% {
59
+ transform: scaleY(0)
60
+ }
61
+ 80% {
62
+ transform: scaleY(1.1)
63
+ }
64
+ 100% {
65
+ transform: scaleY(1)
66
+ }
67
+ }
68
+
69
+ .checkbox {
70
+ display: flex;
71
+ position: relative;
72
+ padding: 0 5px 0 0;
73
+ margin-top: 5px;
74
+ margin-bottom: 5px;
75
+ cursor: pointer;
76
+ -webkit-user-select: none;
77
+ -moz-user-select: none;
78
+ -ms-user-select: none;
79
+ user-select: none;
80
+ font-family: Arial, serif;
81
+ animation: growDown 300ms ease forwards;
82
+ align-items: center;
83
+ }
84
+
85
+ .checkbox .checkboxLabel {
86
+ align-self: start;
87
+ text-transform: capitalize;
88
+ display: flex;
89
+ line-height: 20px;
90
+ align-items: center;
91
+ margin-top: 2px;
92
+ width: -webkit-fill-available;
93
+ justify-content: space-between;
94
+ text-overflow: ellipsis;
95
+ overflow: hidden;
96
+ }
97
+
98
+ .checkbox input {
99
+ position: fixed;
100
+ opacity: 0;
101
+ cursor: pointer;
102
+ height: 0;
103
+ width: 0;
104
+ }
105
+
106
+ .checkmark {
107
+ min-height: 16px;
108
+ min-width: 16px;
109
+ background-color: #eee;
110
+ margin-right: 10px;
111
+ border-radius: 18px;
112
+ }
113
+
114
+ .checkbox:hover input ~ .checkmark {
115
+ background-color: #ccc;
116
+ }
117
+
118
+ .checkbox input:checked ~ .checkmark {
119
+ background-color: #000000;
120
+ }
121
+
122
+ .checkmark:after {
123
+ content: "";
124
+ position: absolute;
125
+ display: none;
126
+ }
127
+
128
+ .checkbox input:checked ~ .checkmark:after {
129
+ display: block;
130
+ }
131
+
132
+ .checkbox .checkmark:after {
133
+ left: 5px;
134
+ width: 3px;
135
+ height: 8px;
136
+ top: 5px;
137
+ border: solid white;
138
+ border-width: 0 2px 2px 0;
139
+ -webkit-transform: rotate(45deg);
140
+ -ms-transform: rotate(45deg);
141
+ transform: rotate(45deg);
142
+ }
143
+ :global(.modal-mobile-filters .fs-serp-filter-count, .modal-mobile-filters .fsSerpCheckmark) {
144
+ display: none;
145
145
  }
@@ -1 +1 @@
1
- {"version":3,"file":"RadioFilter.js","sourceRoot":"","sources":["../../../src/components/RadioFilter/RadioFilter.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, {useEffect, useState} from 'react';\r\nimport {Facet} from \"@fast-simon/utilities\";\r\nimport {getDisplayName} from \"./utils\";\r\nimport classes from './styles.module.css';\r\nimport classNames from \"classnames\";\r\nimport {Radio} from \"./Radio/Radio\";\r\n\r\ninterface Props {\r\n facet: Facet;\r\n onChange: (facetName: string, narrowName: string) => void;\r\n narrow?: Set<string>;\r\n disableSelect?: boolean;\r\n}\r\n\r\nexport function RadioFilter({facet, onChange, narrow, disableSelect=false}: Props) {\r\n const [expanded, setExpanded] = useState(false);\r\n const [itemsToShow, setItemsToShow] = useState<any[]>([]);\r\n let timer: string | number | NodeJS.Timeout | undefined;\r\n\r\n useEffect(() => {\r\n setItemsToShow(facet?.values?.slice(0,5));\r\n }, [facet]);\r\n\r\n useEffect(() => {\r\n if (facet?.values?.length <= itemsToShow?.length) {\r\n setExpanded(true);\r\n }\r\n }, [itemsToShow]);\r\n\r\n const handleShowMoreClick = () => {\r\n setItemsToShow(facet?.values);\r\n setExpanded(true);\r\n }\r\n\r\n const handleShowLessClick = () => {\r\n setItemsToShow(facet?.values?.slice(0,5));\r\n setExpanded(true);\r\n }\r\n\r\n const onFacetClicked = (name: string) => {\r\n clearTimeout(timer);\r\n timer = setTimeout(() => {\r\n onChange(facet.id , name);\r\n }, 750);\r\n }\r\n\r\n return (\r\n <div className={classes.fsOptions} style={{ opacity: disableSelect ? 0.5 : 1, pointerEvents: disableSelect ? 'none' : 'auto' }}>\r\n {\r\n itemsToShow.map(value => {\r\n return (\r\n <span key={'fs-checkbox-'+ value.name} onClick={() => onFacetClicked(value.name)}>\r\n <Radio isChecked={!!narrow?.has(value.name)} id={value.name} onChange={() => {onFacetClicked(value.name)}} ariaLabel={getDisplayName(value.displayName)}>\r\n <span className=\"filters-option-text fs-serp-filter-text\">{getDisplayName(value.displayName)}</span>\r\n </Radio>\r\n </span>\r\n )\r\n })\r\n }\r\n {expanded && facet?.values?.length !== itemsToShow?.length ?\r\n <span onClick={handleShowLessClick} className={classes.showMore}><small>Show Less&nbsp;&nbsp;&nbsp;<i\r\n className={classNames(classes.arrow, classes.down)}/></small>\r\n </span>\r\n :\r\n facet?.values?.length !== itemsToShow?.length ?\r\n <span onClick={handleShowMoreClick} className={classes.showMore}><small>Show more&nbsp;&nbsp;&nbsp;<i\r\n className={classNames(classes.arrow, classes.down)}/></small>\r\n </span> : null\r\n }\r\n </div>\r\n\r\n )\r\n\r\n}\r\n\r\n"]}
1
+ {"version":3,"file":"RadioFilter.js","sourceRoot":"","sources":["../../../src/components/RadioFilter/RadioFilter.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, {useEffect, useState} from 'react';\nimport {Facet} from \"@fast-simon/utilities\";\nimport {getDisplayName} from \"./utils\";\nimport classes from './styles.module.css';\nimport classNames from \"classnames\";\nimport {Radio} from \"./Radio/Radio\";\n\ninterface Props {\n facet: Facet;\n onChange: (facetName: string, narrowName: string) => void;\n narrow?: Set<string>;\n disableSelect?: boolean;\n}\n\nexport function RadioFilter({facet, onChange, narrow, disableSelect=false}: Props) {\n const [expanded, setExpanded] = useState(false);\n const [itemsToShow, setItemsToShow] = useState<any[]>([]);\n let timer: string | number | NodeJS.Timeout | undefined;\n\n useEffect(() => {\n setItemsToShow(facet?.values?.slice(0,5));\n }, [facet]);\n\n useEffect(() => {\n if (facet?.values?.length <= itemsToShow?.length) {\n setExpanded(true);\n }\n }, [itemsToShow]);\n\n const handleShowMoreClick = () => {\n setItemsToShow(facet?.values);\n setExpanded(true);\n }\n\n const handleShowLessClick = () => {\n setItemsToShow(facet?.values?.slice(0,5));\n setExpanded(true);\n }\n\n const onFacetClicked = (name: string) => {\n clearTimeout(timer);\n timer = setTimeout(() => {\n onChange(facet.id , name);\n }, 750);\n }\n\n return (\n <div className={classes.fsOptions} style={{ opacity: disableSelect ? 0.5 : 1, pointerEvents: disableSelect ? 'none' : 'auto' }}>\n {\n itemsToShow.map(value => {\n return (\n <span key={'fs-checkbox-'+ value.name} onClick={() => onFacetClicked(value.name)}>\n <Radio isChecked={!!narrow?.has(value.name)} id={value.name} onChange={() => {onFacetClicked(value.name)}} ariaLabel={getDisplayName(value.displayName)}>\n <span className=\"filters-option-text fs-serp-filter-text\">{getDisplayName(value.displayName)}</span>\n </Radio>\n </span>\n )\n })\n }\n {expanded && facet?.values?.length !== itemsToShow?.length ?\n <span onClick={handleShowLessClick} className={classes.showMore}><small>Show Less&nbsp;&nbsp;&nbsp;<i\n className={classNames(classes.arrow, classes.down)}/></small>\n </span>\n :\n facet?.values?.length !== itemsToShow?.length ?\n <span onClick={handleShowMoreClick} className={classes.showMore}><small>Show more&nbsp;&nbsp;&nbsp;<i\n className={classNames(classes.arrow, classes.down)}/></small>\n </span> : null\n }\n </div>\n\n )\n\n}\n\n"]}
@@ -1,23 +1,23 @@
1
- .fsOptions {
2
- padding: 0 0 8px 8px;
3
- }
4
- .showMore {
5
- color: #737373;
6
- }
7
-
8
- .showMore:hover {
9
- cursor: pointer;
10
- }
11
-
12
- .arrow {
13
- border: solid #636363;
14
- border-width: 0 1.5px 1.5px 0;
15
- display: inline-block;
16
- padding: 3px;
17
- }
18
-
19
- .down {
20
- transform: rotate(45deg);
21
- -webkit-transform: rotate(45deg);
22
- margin-bottom: 2px;
1
+ .fsOptions {
2
+ padding: 0 0 8px 8px;
3
+ }
4
+ .showMore {
5
+ color: #737373;
6
+ }
7
+
8
+ .showMore:hover {
9
+ cursor: pointer;
10
+ }
11
+
12
+ .arrow {
13
+ border: solid #636363;
14
+ border-width: 0 1.5px 1.5px 0;
15
+ display: inline-block;
16
+ padding: 3px;
17
+ }
18
+
19
+ .down {
20
+ transform: rotate(45deg);
21
+ -webkit-transform: rotate(45deg);
22
+ margin-bottom: 2px;
23
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/components/RadioFilter/utils.ts"],"names":[],"mappings":"AACA,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,WAAmB,EAAE,EAAE;IAClD,IAAI,YAAY,GAAG,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3C,IAAG,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAG,CAAC,CAAC,EAAC;QACjB,OAAO,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAG,CAAC,CAAC,CAAA;KAC3B;IACD,OAAO,WAAW,CAAC;AACvB,CAAC,CAAC","sourcesContent":["\r\nexport const getDisplayName = (displayName: string) => {\r\n let splittedName = displayName?.split(':');\r\n if(splittedName?.[1]){\r\n return splittedName?.[1]\r\n }\r\n return displayName;\r\n};"]}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/components/RadioFilter/utils.ts"],"names":[],"mappings":"AACA,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,WAAmB,EAAE,EAAE;IAClD,IAAI,YAAY,GAAG,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3C,IAAG,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAG,CAAC,CAAC,EAAC;QACjB,OAAO,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAG,CAAC,CAAC,CAAA;KAC3B;IACD,OAAO,WAAW,CAAC;AACvB,CAAC,CAAC","sourcesContent":["\nexport const getDisplayName = (displayName: string) => {\n let splittedName = displayName?.split(':');\n if(splittedName?.[1]){\n return splittedName?.[1]\n }\n return displayName;\n};"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ReactDatePicker.js","sourceRoot":"","sources":["../../../src/components/ReactDatePicker/ReactDatePicker.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAC,SAAS,EAAE,QAAQ,EAAC,MAAM,OAAO,CAAC;AACjD,OAAO,UAAU,MAAM,kBAAkB,CAAC;AAC1C,OAAO,OAAO,MAAM,qBAAqB,CAAC;AAE1C,OAAO,4CAA4C,CAAC;AASpD,+CAA+C;AAC/C,kEAAkE;AAElE,MAAM,eAAe,GAAoB,CAAC,EAAC,SAAS,EAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAC,EAAE,EAAE;IAChG,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAiB,QAAQ,CAAA,CAAC,CAAC,QAAQ,CAAA,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IACjG,SAAS,CAAC,GAAG,EAAE;QACb,eAAe,CAAC,QAAQ,CAAC,CAAC;IAC5B,CAAC,EAAC,CAAC,QAAQ,CAAC,CAAC,CAAA;IACb,OAAO,CACL,KAAC,UAAU,IAAC,SAAS,EAAE,OAAO,CAAC,cAAc,EAAE,eAAe,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC,IAAS,EAAE,EAAE,GAAE,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAI,IAAa,aAAb,IAAI,uBAAJ,IAAI,CAAW,OAAO,EAAE,CAAC,CAAC,CAAA,CAAC,GAAI,CAClM,CAAC;AACJ,CAAC,CAAC;AACF,eAAgB,eAAe,CAAC","sourcesContent":["import React, {useEffect, useState} from \"react\";\r\nimport DatePicker from \"react-datepicker\";\r\nimport classes from './styles.module.css';\r\n\r\nimport \"react-datepicker/dist/react-datepicker.css\";\r\nexport interface Props {\r\n startDate?: Date,\r\n endDate?: Date,\r\n selected?: Date,\r\n onChange?: (date: any) => void;\r\n placeholder?: string;\r\n}\r\n\r\n// CSS Modules, react-datepicker-cssmodules.css\r\n// import 'react-datepicker/dist/react-datepicker-cssmodules.css';\r\n\r\nconst ReactDatePicker: React.FC<Props> = ({startDate,endDate, selected, onChange, placeholder}) => {\r\n const [selectedDate, setSelectedDate] = useState<Date|undefined>(selected? selected: new Date());\r\n useEffect(() => {\r\n setSelectedDate(selected);\r\n },[selected])\r\n return (\r\n <DatePicker className={classes.fullWidthInput} placeholderText={placeholder} selected={selectedDate} onChange={(date: any) => {setSelectedDate(date); onChange?.((date as Date)?.getTime());}} />\r\n );\r\n};\r\nexport default ReactDatePicker;\r\n"]}
1
+ {"version":3,"file":"ReactDatePicker.js","sourceRoot":"","sources":["../../../src/components/ReactDatePicker/ReactDatePicker.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAC,SAAS,EAAE,QAAQ,EAAC,MAAM,OAAO,CAAC;AACjD,OAAO,UAAU,MAAM,kBAAkB,CAAC;AAC1C,OAAO,OAAO,MAAM,qBAAqB,CAAC;AAE1C,OAAO,4CAA4C,CAAC;AASpD,+CAA+C;AAC/C,kEAAkE;AAElE,MAAM,eAAe,GAAoB,CAAC,EAAC,SAAS,EAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAC,EAAE,EAAE;IAChG,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAiB,QAAQ,CAAA,CAAC,CAAC,QAAQ,CAAA,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IACjG,SAAS,CAAC,GAAG,EAAE;QACb,eAAe,CAAC,QAAQ,CAAC,CAAC;IAC5B,CAAC,EAAC,CAAC,QAAQ,CAAC,CAAC,CAAA;IACb,OAAO,CACL,KAAC,UAAU,IAAC,SAAS,EAAE,OAAO,CAAC,cAAc,EAAE,eAAe,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC,IAAS,EAAE,EAAE,GAAE,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAI,IAAa,aAAb,IAAI,uBAAJ,IAAI,CAAW,OAAO,EAAE,CAAC,CAAC,CAAA,CAAC,GAAI,CAClM,CAAC;AACJ,CAAC,CAAC;AACF,eAAgB,eAAe,CAAC","sourcesContent":["import React, {useEffect, useState} from \"react\";\nimport DatePicker from \"react-datepicker\";\nimport classes from './styles.module.css';\n\nimport \"react-datepicker/dist/react-datepicker.css\";\nexport interface Props {\n startDate?: Date,\n endDate?: Date,\n selected?: Date,\n onChange?: (date: any) => void;\n placeholder?: string;\n}\n\n// CSS Modules, react-datepicker-cssmodules.css\n// import 'react-datepicker/dist/react-datepicker-cssmodules.css';\n\nconst ReactDatePicker: React.FC<Props> = ({startDate,endDate, selected, onChange, placeholder}) => {\n const [selectedDate, setSelectedDate] = useState<Date|undefined>(selected? selected: new Date());\n useEffect(() => {\n setSelectedDate(selected);\n },[selected])\n return (\n <DatePicker className={classes.fullWidthInput} placeholderText={placeholder} selected={selectedDate} onChange={(date: any) => {setSelectedDate(date); onChange?.((date as Date)?.getTime());}} />\n );\n};\nexport default ReactDatePicker;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/ReactDatePicker/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC","sourcesContent":["export { default } from \"./ReactDatePicker\";\r\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/ReactDatePicker/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC","sourcesContent":["export { default } from \"./ReactDatePicker\";\n"]}
@@ -1,3 +1,3 @@
1
- .fullWidthInput{
2
- width: 100%;
1
+ .fullWidthInput{
2
+ width: 100%;
3
3
  }
@@ -1 +1 @@
1
- {"version":3,"file":"RenderIfVisible.js","sourceRoot":"","sources":["../../../src/components/RenderIfVisible/RenderIfVisible.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, {useState, useRef, useEffect, createRef, RefObject} from \"react\";\r\n\r\ntype Props = {\r\n defaultHeight: number;\r\n visibleOffset: number;\r\n id: string;\r\n rootElementClass?: string;\r\n placeholderElementClass?: string;\r\n children: React.ReactNode;\r\n rootRef?: RefObject<HTMLDivElement>;\r\n};\r\n\r\nconst RenderIfVisible: React.FC<Props> = (\r\n {\r\n placeholderElementClass,\r\n rootElementClass,\r\n id,\r\n defaultHeight = 300,\r\n visibleOffset = 1000,\r\n children,\r\n rootRef,\r\n }\r\n) => {\r\n const [isVisible, setIsVisible] = useState<boolean>(false);\r\n const placeholderHeight = useRef<number>(defaultHeight);\r\n const intersectionRef = createRef<HTMLDivElement>();\r\n const [observerRef, setObserverRef] = useState<IntersectionObserver>();\r\n const [isCalculated, setIsCalculated] = useState(false);\r\n\r\n // Set visibility with intersection observer\r\n useEffect(() => {\r\n if (intersectionRef.current && !isCalculated && rootRef?.current) {\r\n setIsCalculated(true);\r\n const observer = new IntersectionObserver(\r\n (entries) => {\r\n if (window.requestIdleCallback) {\r\n window.requestIdleCallback(() => setIsVisible(entries[entries.length - 1].isIntersecting), {timeout: 600});\r\n } else {\r\n setIsVisible(entries[entries.length - 1].isIntersecting);\r\n }\r\n },\r\n {\r\n rootMargin: `${visibleOffset}px 0px ${visibleOffset}px 0px`,\r\n root: rootRef?.current\r\n }\r\n );\r\n setObserverRef(observer);\r\n observer.observe(intersectionRef.current);\r\n return () => {\r\n if (intersectionRef.current) {\r\n observer.unobserve(intersectionRef.current);\r\n }\r\n };\r\n }\r\n }, [rootRef]);\r\n\r\n useEffect(() => {\r\n return () => {\r\n if (intersectionRef.current) {\r\n observerRef?.unobserve(intersectionRef.current);\r\n observerRef?.disconnect();\r\n }\r\n setObserverRef(undefined);\r\n };\r\n }, []);\r\n\r\n // Set height after render\r\n useEffect(() => {\r\n if (intersectionRef.current && isVisible) {\r\n placeholderHeight.current =\r\n intersectionRef.current.offsetHeight;\r\n } else if (intersectionRef.current && !isCalculated) {\r\n setIsCalculated(true);\r\n }\r\n }, [isVisible, intersectionRef]);\r\n\r\n return (\r\n <div\r\n style={{\r\n width: \"100%\",\r\n height: \"100%\",\r\n minHeight: isVisible ? '100%' : placeholderHeight.current\r\n }}\r\n ref={intersectionRef}\r\n id={id}\r\n className={placeholderElementClass}\r\n >\r\n {isVisible && children}\r\n </div>\r\n );\r\n}\r\n\r\nexport default RenderIfVisible;\r\n"]}
1
+ {"version":3,"file":"RenderIfVisible.js","sourceRoot":"","sources":["../../../src/components/RenderIfVisible/RenderIfVisible.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, {useState, useRef, useEffect, createRef, RefObject} from \"react\";\n\ntype Props = {\n defaultHeight: number;\n visibleOffset: number;\n id: string;\n rootElementClass?: string;\n placeholderElementClass?: string;\n children: React.ReactNode;\n rootRef?: RefObject<HTMLDivElement>;\n};\n\nconst RenderIfVisible: React.FC<Props> = (\n {\n placeholderElementClass,\n rootElementClass,\n id,\n defaultHeight = 300,\n visibleOffset = 1000,\n children,\n rootRef,\n }\n) => {\n const [isVisible, setIsVisible] = useState<boolean>(false);\n const placeholderHeight = useRef<number>(defaultHeight);\n const intersectionRef = createRef<HTMLDivElement>();\n const [observerRef, setObserverRef] = useState<IntersectionObserver>();\n const [isCalculated, setIsCalculated] = useState(false);\n\n // Set visibility with intersection observer\n useEffect(() => {\n if (intersectionRef.current && !isCalculated && rootRef?.current) {\n setIsCalculated(true);\n const observer = new IntersectionObserver(\n (entries) => {\n if (window.requestIdleCallback) {\n window.requestIdleCallback(() => setIsVisible(entries[entries.length - 1].isIntersecting), {timeout: 600});\n } else {\n setIsVisible(entries[entries.length - 1].isIntersecting);\n }\n },\n {\n rootMargin: `${visibleOffset}px 0px ${visibleOffset}px 0px`,\n root: rootRef?.current\n }\n );\n setObserverRef(observer);\n observer.observe(intersectionRef.current);\n return () => {\n if (intersectionRef.current) {\n observer.unobserve(intersectionRef.current);\n }\n };\n }\n }, [rootRef]);\n\n useEffect(() => {\n return () => {\n if (intersectionRef.current) {\n observerRef?.unobserve(intersectionRef.current);\n observerRef?.disconnect();\n }\n setObserverRef(undefined);\n };\n }, []);\n\n // Set height after render\n useEffect(() => {\n if (intersectionRef.current && isVisible) {\n placeholderHeight.current =\n intersectionRef.current.offsetHeight;\n } else if (intersectionRef.current && !isCalculated) {\n setIsCalculated(true);\n }\n }, [isVisible, intersectionRef]);\n\n return (\n <div\n style={{\n width: \"100%\",\n height: \"100%\",\n minHeight: isVisible ? '100%' : placeholderHeight.current\n }}\n ref={intersectionRef}\n id={id}\n className={placeholderElementClass}\n >\n {isVisible && children}\n </div>\n );\n}\n\nexport default RenderIfVisible;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/RenderIfVisible/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC","sourcesContent":["export { default } from \"./RenderIfVisible\";\r\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/RenderIfVisible/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC","sourcesContent":["export { default } from \"./RenderIfVisible\";\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ScrollToTop.js","sourceRoot":"","sources":["../../../src/components/ScrollToTop/ScrollToTop.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,EAAC,SAAS,EAAC,MAAM,OAAO,CAAC;AACvC,OAAO,OAAO,MAAM,qBAAqB,CAAC;AAC1C,OAAO,UAAU,MAAM,YAAY,CAAC;AAKpC,MAAM,UAAU,WAAW,CAAC,EAAC,aAAa,EAAQ;IAE9C,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,WAAW,GAAG,CAAC,KAAU,EAAE,EAAE;;QAC/B,MAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,OAAO,0CAAE,QAAQ,CAAC,EAAC,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAC,CAAC,CAAC;IACnE,CAAC,CAAA;IAED,SAAS,CAAC,GAAG,EAAE;;QACX,MAAM,kBAAkB,GAAG,GAAG,EAAE;;YAC5B,IAAG,CAAC,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,OAAO,CAAA,EAAE;gBACxB,OAAO;aACV;YACD,YAAY,CAAC,CAAC,CAAC,CAAA,MAAA,aAAa,CAAC,OAAO,0CAAE,SAAS,CAAA,CAAC,CAAC;QACrD,CAAC,CAAA;QACD,MAAA,aAAa,CAAC,OAAO,0CAAE,gBAAgB,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;QACtE,OAAO,GAAG,EAAE;;YACR,MAAA,aAAa,CAAC,OAAO,0CAAE,mBAAmB,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;QAC7E,CAAC,CAAA;IACL,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;IAEpB,OAAO,CACH,4BAAK,SAAS,EAAE,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,mBAAmB,CAAC,EAAE,OAAO,EAAE,WAAW,mCAElH,CAET,CAAA;AAEL,CAAC","sourcesContent":["import React, {useEffect} from 'react';\r\nimport classes from './styles.module.css';\r\nimport classNames from \"classnames\";\r\n\r\ninterface Props {\r\n scrollableRef: React.RefObject<HTMLDivElement>;\r\n}\r\nexport function ScrollToTop({scrollableRef}: Props) {\r\n\r\n const [isVisible, setIsVisible] = React.useState(false);\r\n const scrollToTop = (event: any) => {\r\n scrollableRef?.current?.scrollTo({top: 0, behavior: 'smooth'});\r\n }\r\n\r\n useEffect(() => {\r\n const handleScrollButton = () => {\r\n if(!scrollableRef?.current) {\r\n return;\r\n }\r\n setIsVisible(!!scrollableRef.current?.scrollTop);\r\n }\r\n scrollableRef.current?.addEventListener('scroll', handleScrollButton);\r\n return () => {\r\n scrollableRef.current?.removeEventListener('scroll', handleScrollButton);\r\n }\r\n }, [scrollableRef]);\r\n\r\n return (\r\n <div className={classNames(classes.wrapper, isVisible ? classes.visible : '', 'scroll-to-top-btn')} onClick={scrollToTop}>\r\n Scroll to Top\r\n </div>\r\n\r\n )\r\n\r\n}\r\n\r\n"]}
1
+ {"version":3,"file":"ScrollToTop.js","sourceRoot":"","sources":["../../../src/components/ScrollToTop/ScrollToTop.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,EAAC,SAAS,EAAC,MAAM,OAAO,CAAC;AACvC,OAAO,OAAO,MAAM,qBAAqB,CAAC;AAC1C,OAAO,UAAU,MAAM,YAAY,CAAC;AAKpC,MAAM,UAAU,WAAW,CAAC,EAAC,aAAa,EAAQ;IAE9C,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,WAAW,GAAG,CAAC,KAAU,EAAE,EAAE;;QAC/B,MAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,OAAO,0CAAE,QAAQ,CAAC,EAAC,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAC,CAAC,CAAC;IACnE,CAAC,CAAA;IAED,SAAS,CAAC,GAAG,EAAE;;QACX,MAAM,kBAAkB,GAAG,GAAG,EAAE;;YAC5B,IAAG,CAAC,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,OAAO,CAAA,EAAE;gBACxB,OAAO;aACV;YACD,YAAY,CAAC,CAAC,CAAC,CAAA,MAAA,aAAa,CAAC,OAAO,0CAAE,SAAS,CAAA,CAAC,CAAC;QACrD,CAAC,CAAA;QACD,MAAA,aAAa,CAAC,OAAO,0CAAE,gBAAgB,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;QACtE,OAAO,GAAG,EAAE;;YACR,MAAA,aAAa,CAAC,OAAO,0CAAE,mBAAmB,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;QAC7E,CAAC,CAAA;IACL,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;IAEpB,OAAO,CACH,4BAAK,SAAS,EAAE,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,mBAAmB,CAAC,EAAE,OAAO,EAAE,WAAW,mCAElH,CAET,CAAA;AAEL,CAAC","sourcesContent":["import React, {useEffect} from 'react';\nimport classes from './styles.module.css';\nimport classNames from \"classnames\";\n\ninterface Props {\n scrollableRef: React.RefObject<HTMLDivElement>;\n}\nexport function ScrollToTop({scrollableRef}: Props) {\n\n const [isVisible, setIsVisible] = React.useState(false);\n const scrollToTop = (event: any) => {\n scrollableRef?.current?.scrollTo({top: 0, behavior: 'smooth'});\n }\n\n useEffect(() => {\n const handleScrollButton = () => {\n if(!scrollableRef?.current) {\n return;\n }\n setIsVisible(!!scrollableRef.current?.scrollTop);\n }\n scrollableRef.current?.addEventListener('scroll', handleScrollButton);\n return () => {\n scrollableRef.current?.removeEventListener('scroll', handleScrollButton);\n }\n }, [scrollableRef]);\n\n return (\n <div className={classNames(classes.wrapper, isVisible ? classes.visible : '', 'scroll-to-top-btn')} onClick={scrollToTop}>\n Scroll to Top\n </div>\n\n )\n\n}\n\n"]}
@@ -1,18 +1,18 @@
1
- .wrapper {
2
- visibility: hidden;
3
- position: absolute;
4
- bottom: 72px;
5
- right: 44px;
6
- font-size: 14px;
7
- background: #000000a6;
8
- color: white;
9
- padding: 3px 6px;
10
- border-radius: 8px;
11
- cursor: pointer;
12
- }
13
-
14
- .visible {
15
- visibility: visible;
16
- opacity: 1;
17
- transition: opacity 0.2s linear;
18
- }
1
+ .wrapper {
2
+ visibility: hidden;
3
+ position: absolute;
4
+ bottom: 72px;
5
+ right: 44px;
6
+ font-size: 14px;
7
+ background: #000000a6;
8
+ color: white;
9
+ padding: 3px 6px;
10
+ border-radius: 8px;
11
+ cursor: pointer;
12
+ }
13
+
14
+ .visible {
15
+ visibility: visible;
16
+ opacity: 1;
17
+ transition: opacity 0.2s linear;
18
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"SelectCard.js","sourceRoot":"","sources":["../../../src/components/SelectCard/SelectCard.tsx"],"names":[],"mappings":";AAAA,OAAO,OAAO,MAAM,qBAAqB,CAAC;AAM1C,MAAM,UAAU,GAAG,CAAC,EAAE,WAAW,EAAmB,EAAE,EAAE;IACtD,OAAO,CACL,4BAAK,SAAS,EAAE,OAAO,CAAC,mBAAmB,gBACzC,4BAAK,SAAS,EAAE,OAAO,CAAC,cAAc,gBAAG,WAAW,IAAO,IACvD,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,UAAU,CAAC","sourcesContent":["import classes from \"./styles.module.css\";\r\n\r\ninterface SelectCardProps {\r\n numSelected: number;\r\n}\r\n\r\nconst SelectCard = ({ numSelected }: SelectCardProps) => {\r\n return (\r\n <div className={classes.selectCardContainer}>\r\n <div className={classes.selectCardText}>{numSelected}</div>\r\n </div>\r\n );\r\n};\r\n\r\nexport default SelectCard;\r\n"]}
1
+ {"version":3,"file":"SelectCard.js","sourceRoot":"","sources":["../../../src/components/SelectCard/SelectCard.tsx"],"names":[],"mappings":";AAAA,OAAO,OAAO,MAAM,qBAAqB,CAAC;AAM1C,MAAM,UAAU,GAAG,CAAC,EAAE,WAAW,EAAmB,EAAE,EAAE;IACtD,OAAO,CACL,4BAAK,SAAS,EAAE,OAAO,CAAC,mBAAmB,gBACzC,4BAAK,SAAS,EAAE,OAAO,CAAC,cAAc,gBAAG,WAAW,IAAO,IACvD,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,UAAU,CAAC","sourcesContent":["import classes from \"./styles.module.css\";\n\ninterface SelectCardProps {\n numSelected: number;\n}\n\nconst SelectCard = ({ numSelected }: SelectCardProps) => {\n return (\n <div className={classes.selectCardContainer}>\n <div className={classes.selectCardText}>{numSelected}</div>\n </div>\n );\n};\n\nexport default SelectCard;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/SelectCard/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC","sourcesContent":["export { default } from \"./SelectCard\";\r\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/SelectCard/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC","sourcesContent":["export { default } from \"./SelectCard\";\n"]}
@@ -1,21 +1,21 @@
1
- .selectCardContainer {
2
- width: 100%;
3
- height: 100%;
4
- position: relative;
5
- background: rgba(255, 255, 255, 0.8);
6
- backdrop-filter: blur(10px);
7
- display: flex;
8
- align-items: center;
9
- justify-content: center;
10
- flex-direction: column;
11
- border: 2px solid #ebebeb;
12
- border-radius: 6px;
13
- transition: border ease-in-out 150ms;
14
- cursor: pointer;
15
- }
16
-
17
- .selectCardText {
18
- font-size: 48px;
19
- font-weight: 900;
20
- text-align: center;
1
+ .selectCardContainer {
2
+ width: 100%;
3
+ height: 100%;
4
+ position: relative;
5
+ background: rgba(255, 255, 255, 0.8);
6
+ backdrop-filter: blur(10px);
7
+ display: flex;
8
+ align-items: center;
9
+ justify-content: center;
10
+ flex-direction: column;
11
+ border: 2px solid #ebebeb;
12
+ border-radius: 6px;
13
+ transition: border ease-in-out 150ms;
14
+ cursor: pointer;
15
+ }
16
+
17
+ .selectCardText {
18
+ font-size: 48px;
19
+ font-weight: 900;
20
+ text-align: center;
21
21
  }