@salutejs/plasma-new-hope 0.78.0-canary.1201.8969250152.0 → 0.78.0-canary.1203.8970261959.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (377) hide show
  1. package/cjs/components/Calendar/Calendar.types.js.map +1 -1
  2. package/cjs/components/Calendar/CalendarBase/CalendarBase.js +3 -1
  3. package/cjs/components/Calendar/CalendarBase/CalendarBase.js.map +1 -1
  4. package/cjs/components/Calendar/hooks/useDays.js +6 -3
  5. package/cjs/components/Calendar/hooks/useDays.js.map +1 -1
  6. package/cjs/components/Calendar/ui/CalendarDays/CalendarDays.js +2 -1
  7. package/cjs/components/Calendar/ui/CalendarDays/CalendarDays.js.map +1 -1
  8. package/cjs/components/Combobox/Combobox.css +7 -17
  9. package/cjs/components/Combobox/ui/ComboboxDivider/ComboboxDivider.css +6 -15
  10. package/cjs/components/Combobox/ui/ComboboxDivider/ComboboxDivider.js +2 -2
  11. package/cjs/components/Combobox/ui/ComboboxFooter/ComboboxFooter.css +6 -15
  12. package/cjs/components/Combobox/ui/ComboboxFooter/ComboboxFooter.js +2 -2
  13. package/cjs/components/Combobox/ui/ComboboxGroup/ComboboxGroup.css +6 -15
  14. package/cjs/components/Combobox/ui/ComboboxGroup/ComboboxGroup.js +2 -2
  15. package/cjs/components/Combobox/ui/ComboboxHeader/ComboboxHeader.css +6 -15
  16. package/cjs/components/Combobox/ui/ComboboxHeader/ComboboxHeader.js +2 -2
  17. package/cjs/components/Combobox/ui/ComboboxItem/ComboboxItem.css +23 -4
  18. package/cjs/components/Combobox/ui/ComboboxItem/ComboboxItem.js +10 -81
  19. package/cjs/components/Combobox/ui/ComboboxItem/ComboboxItem.js.map +1 -1
  20. package/cjs/components/Combobox/ui/ComboboxItem/ComboboxItem.styles.js +9 -21
  21. package/cjs/components/Combobox/ui/ComboboxItem/ComboboxItem.styles.js.map +1 -1
  22. package/cjs/components/Combobox/ui/ComboboxItem/ComboboxItem.styles_936wgl.css +1 -0
  23. package/cjs/components/Dropdown/Dropdown.css +2 -25
  24. package/cjs/components/Dropdown/Dropdown.js +54 -138
  25. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  26. package/cjs/components/Dropdown/Dropdown.styles.js +7 -40
  27. package/cjs/components/Dropdown/Dropdown.styles.js.map +1 -1
  28. package/cjs/components/Dropdown/Dropdown.styles_1daxhqh.css +2 -0
  29. package/cjs/components/Dropdown/Dropdown.tokens.js +23 -26
  30. package/cjs/components/Dropdown/Dropdown.tokens.js.map +1 -1
  31. package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.css +4 -7
  32. package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.js +100 -79
  33. package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.js.map +1 -1
  34. package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.styles.js +5 -31
  35. package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.styles.js.map +1 -1
  36. package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.styles_1juhjtq.css +4 -0
  37. package/cjs/components/Dropdown/ui/{DropdownItemOld → DropdownItem}/variations/_size/base.js +1 -1
  38. package/cjs/components/Dropdown/ui/DropdownItem/variations/_size/base.js.map +1 -0
  39. package/cjs/components/Dropdown/ui/{DropdownItemOld → DropdownItem}/variations/_view/base.js +1 -1
  40. package/cjs/components/Dropdown/ui/DropdownItem/variations/_view/base.js.map +1 -0
  41. package/cjs/components/Dropdown/utils/index.js +0 -16
  42. package/cjs/components/Dropdown/utils/index.js.map +1 -1
  43. package/cjs/components/Pagination/Pagination.css +7 -14
  44. package/cjs/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.css +7 -14
  45. package/cjs/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles.js +1 -1
  46. package/cjs/components/Select/Select.css +7 -14
  47. package/cjs/components/Select/ui/SelectDivider/SelectDivider.css +6 -15
  48. package/cjs/components/Select/ui/SelectDivider/SelectDivider.js +2 -2
  49. package/cjs/components/Select/ui/SelectFooter/SelectFooter.css +6 -15
  50. package/cjs/components/Select/ui/SelectFooter/SelectFooter.js +2 -2
  51. package/cjs/components/Select/ui/SelectGroup/SelectGroup.css +6 -15
  52. package/cjs/components/Select/ui/SelectGroup/SelectGroup.js +2 -2
  53. package/cjs/components/Select/ui/SelectHeader/SelectHeader.css +6 -15
  54. package/cjs/components/Select/ui/SelectHeader/SelectHeader.js +2 -2
  55. package/cjs/components/Select/ui/SelectItem/SelectItem.css +7 -16
  56. package/cjs/components/Select/ui/SelectItem/SelectItem.js +3 -3
  57. package/cjs/components/Select/ui/SelectItem/SelectItem.js.map +1 -1
  58. package/cjs/components/Select/ui/SelectItem/SelectItem.styles.js +2 -2
  59. package/cjs/components/Select/ui/SelectItem/SelectItem.styles.js.map +1 -1
  60. package/cjs/components/Select/ui/SelectItem/{SelectItem.styles_vk39mp.css → SelectItem.styles_6h17aw.css} +1 -1
  61. package/cjs/components/_Icon/Icon.assets/DisclosureRight.js +2 -1
  62. package/cjs/components/_Icon/Icon.assets/DisclosureRight.js.map +1 -1
  63. package/cjs/index.css +8 -18
  64. package/cjs/index.js +2 -8
  65. package/cjs/index.js.map +1 -1
  66. package/es/components/Calendar/Calendar.types.js.map +1 -1
  67. package/es/components/Calendar/CalendarBase/CalendarBase.js +3 -1
  68. package/es/components/Calendar/CalendarBase/CalendarBase.js.map +1 -1
  69. package/es/components/Calendar/hooks/useDays.js +6 -3
  70. package/es/components/Calendar/hooks/useDays.js.map +1 -1
  71. package/es/components/Calendar/ui/CalendarDays/CalendarDays.js +2 -1
  72. package/es/components/Calendar/ui/CalendarDays/CalendarDays.js.map +1 -1
  73. package/es/components/Combobox/Combobox.css +7 -17
  74. package/es/components/Combobox/ui/ComboboxDivider/ComboboxDivider.css +6 -15
  75. package/es/components/Combobox/ui/ComboboxDivider/ComboboxDivider.js +2 -2
  76. package/es/components/Combobox/ui/ComboboxFooter/ComboboxFooter.css +6 -15
  77. package/es/components/Combobox/ui/ComboboxFooter/ComboboxFooter.js +2 -2
  78. package/es/components/Combobox/ui/ComboboxGroup/ComboboxGroup.css +6 -15
  79. package/es/components/Combobox/ui/ComboboxGroup/ComboboxGroup.js +2 -2
  80. package/es/components/Combobox/ui/ComboboxHeader/ComboboxHeader.css +6 -15
  81. package/es/components/Combobox/ui/ComboboxHeader/ComboboxHeader.js +2 -2
  82. package/es/components/Combobox/ui/ComboboxItem/ComboboxItem.css +23 -4
  83. package/es/components/Combobox/ui/ComboboxItem/ComboboxItem.js +11 -82
  84. package/es/components/Combobox/ui/ComboboxItem/ComboboxItem.js.map +1 -1
  85. package/es/components/Combobox/ui/ComboboxItem/ComboboxItem.styles.js +10 -19
  86. package/es/components/Combobox/ui/ComboboxItem/ComboboxItem.styles.js.map +1 -1
  87. package/es/components/Combobox/ui/ComboboxItem/ComboboxItem.styles_936wgl.css +1 -0
  88. package/es/components/Dropdown/Dropdown.css +2 -25
  89. package/es/components/Dropdown/Dropdown.js +60 -144
  90. package/es/components/Dropdown/Dropdown.js.map +1 -1
  91. package/es/components/Dropdown/Dropdown.styles.js +7 -39
  92. package/es/components/Dropdown/Dropdown.styles.js.map +1 -1
  93. package/es/components/Dropdown/Dropdown.styles_1daxhqh.css +2 -0
  94. package/es/components/Dropdown/Dropdown.tokens.js +23 -26
  95. package/es/components/Dropdown/Dropdown.tokens.js.map +1 -1
  96. package/es/components/Dropdown/ui/DropdownItem/DropdownItem.css +4 -7
  97. package/es/components/Dropdown/ui/DropdownItem/DropdownItem.js +100 -80
  98. package/es/components/Dropdown/ui/DropdownItem/DropdownItem.js.map +1 -1
  99. package/es/components/Dropdown/ui/DropdownItem/DropdownItem.styles.js +5 -30
  100. package/es/components/Dropdown/ui/DropdownItem/DropdownItem.styles.js.map +1 -1
  101. package/es/components/Dropdown/ui/DropdownItem/DropdownItem.styles_1juhjtq.css +4 -0
  102. package/es/components/Dropdown/ui/{DropdownItemOld → DropdownItem}/variations/_size/base.js +1 -1
  103. package/es/components/Dropdown/ui/DropdownItem/variations/_size/base.js.map +1 -0
  104. package/es/components/Dropdown/ui/{DropdownItemOld → DropdownItem}/variations/_view/base.js +1 -1
  105. package/es/components/Dropdown/ui/DropdownItem/variations/_view/base.js.map +1 -0
  106. package/es/components/Dropdown/utils/index.js +2 -16
  107. package/es/components/Dropdown/utils/index.js.map +1 -1
  108. package/es/components/Pagination/Pagination.css +7 -14
  109. package/es/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.css +7 -14
  110. package/es/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles.js +1 -1
  111. package/es/components/Select/Select.css +7 -14
  112. package/es/components/Select/ui/SelectDivider/SelectDivider.css +6 -15
  113. package/es/components/Select/ui/SelectDivider/SelectDivider.js +2 -2
  114. package/es/components/Select/ui/SelectFooter/SelectFooter.css +6 -15
  115. package/es/components/Select/ui/SelectFooter/SelectFooter.js +2 -2
  116. package/es/components/Select/ui/SelectGroup/SelectGroup.css +6 -15
  117. package/es/components/Select/ui/SelectGroup/SelectGroup.js +2 -2
  118. package/es/components/Select/ui/SelectHeader/SelectHeader.css +6 -15
  119. package/es/components/Select/ui/SelectHeader/SelectHeader.js +2 -2
  120. package/es/components/Select/ui/SelectItem/SelectItem.css +7 -16
  121. package/es/components/Select/ui/SelectItem/SelectItem.js +3 -3
  122. package/es/components/Select/ui/SelectItem/SelectItem.js.map +1 -1
  123. package/es/components/Select/ui/SelectItem/SelectItem.styles.js +2 -2
  124. package/es/components/Select/ui/SelectItem/SelectItem.styles.js.map +1 -1
  125. package/es/components/Select/ui/SelectItem/{SelectItem.styles_vk39mp.css → SelectItem.styles_6h17aw.css} +1 -1
  126. package/es/components/_Icon/Icon.assets/DisclosureRight.js +2 -1
  127. package/es/components/_Icon/Icon.assets/DisclosureRight.js.map +1 -1
  128. package/es/index.css +8 -18
  129. package/es/index.js +1 -4
  130. package/es/index.js.map +1 -1
  131. package/package.json +2 -2
  132. package/styled-components/cjs/components/Calendar/CalendarBase/CalendarBase.js +3 -1
  133. package/styled-components/cjs/components/Calendar/hooks/useDays.js +6 -3
  134. package/styled-components/cjs/components/Calendar/ui/CalendarDays/CalendarDays.js +2 -1
  135. package/styled-components/cjs/components/Combobox/ui/ComboboxItem/ComboboxItem.js +2 -91
  136. package/styled-components/cjs/components/Combobox/ui/ComboboxItem/ComboboxItem.styles.js +7 -27
  137. package/styled-components/cjs/components/Dropdown/Dropdown.js +54 -140
  138. package/styled-components/cjs/components/Dropdown/Dropdown.styles.js +7 -22
  139. package/styled-components/cjs/components/Dropdown/Dropdown.template-doc.mdx +80 -0
  140. package/styled-components/cjs/components/Dropdown/Dropdown.tokens.js +23 -26
  141. package/styled-components/cjs/components/Dropdown/index.js +1 -9
  142. package/styled-components/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.js +105 -77
  143. package/styled-components/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.styles.js +19 -24
  144. package/styled-components/cjs/components/Dropdown/ui/DropdownItem/variations/_size/tokens.json +19 -0
  145. package/styled-components/cjs/components/Dropdown/ui/DropdownItem/variations/_view/tokens.json +9 -0
  146. package/styled-components/cjs/components/Dropdown/ui/index.js +5 -19
  147. package/styled-components/cjs/components/Dropdown/utils/index.js +1 -15
  148. package/styled-components/cjs/components/Dropdown/variations/_size/tokens.json +9 -1
  149. package/styled-components/cjs/components/Dropdown/variations/_view/tokens.json +1 -1
  150. package/styled-components/cjs/components/Select/ui/SelectItem/SelectItem.js +1 -1
  151. package/styled-components/cjs/components/Select/ui/SelectItem/SelectItem.styles.js +1 -1
  152. package/styled-components/cjs/components/_Icon/Icon.assets/DisclosureRight.js +2 -1
  153. package/styled-components/cjs/examples/plasma_b2c/components/Calendar/Calendar.stories.tsx +18 -6
  154. package/styled-components/cjs/examples/plasma_b2c/components/Dropdown/Normal/Dropdown.config.js +27 -0
  155. package/styled-components/cjs/examples/plasma_b2c/components/Dropdown/Normal/Dropdown.js +13 -0
  156. package/styled-components/cjs/examples/plasma_b2c/components/Dropdown/Normal/Dropdown.stories.tsx +194 -0
  157. package/styled-components/cjs/examples/plasma_b2c/components/Dropdown/Tight/Dropdown.config.js +27 -0
  158. package/styled-components/cjs/examples/plasma_b2c/components/Dropdown/Tight/Dropdown.js +13 -0
  159. package/styled-components/cjs/examples/plasma_b2c/components/Dropdown/Tight/Dropdown.stories.tsx +195 -0
  160. package/styled-components/cjs/examples/plasma_web/components/Calendar/Calendar.stories.tsx +18 -6
  161. package/styled-components/cjs/examples/plasma_web/components/Dropdown/Normal/Dropdown.config.js +27 -0
  162. package/styled-components/cjs/examples/plasma_web/components/Dropdown/Normal/Dropdown.js +13 -0
  163. package/styled-components/cjs/examples/plasma_web/components/Dropdown/Normal/Dropdown.stories.tsx +195 -0
  164. package/styled-components/cjs/examples/plasma_web/components/Dropdown/Tight/Dropdown.config.js +27 -0
  165. package/styled-components/cjs/examples/plasma_web/components/Dropdown/Tight/Dropdown.js +13 -0
  166. package/styled-components/cjs/examples/plasma_web/components/Dropdown/Tight/Dropdown.stories.tsx +195 -0
  167. package/styled-components/cjs/examples/sds_engineer/components/Calendar/Calendar.stories.tsx +18 -6
  168. package/styled-components/cjs/examples/sds_engineer/components/Dropdown/Dropdown.config.js +22 -0
  169. package/styled-components/cjs/examples/sds_engineer/components/Dropdown/Dropdown.js +21 -0
  170. package/styled-components/cjs/examples/sds_engineer/components/Dropdown/Dropdown.stories.tsx +277 -0
  171. package/styled-components/es/components/Calendar/CalendarBase/CalendarBase.js +3 -1
  172. package/styled-components/es/components/Calendar/hooks/useDays.js +6 -3
  173. package/styled-components/es/components/Calendar/ui/CalendarDays/CalendarDays.js +2 -1
  174. package/styled-components/es/components/Combobox/ui/ComboboxItem/ComboboxItem.js +3 -90
  175. package/styled-components/es/components/Combobox/ui/ComboboxItem/ComboboxItem.styles.js +6 -23
  176. package/styled-components/es/components/Dropdown/Dropdown.js +55 -142
  177. package/styled-components/es/components/Dropdown/Dropdown.styles.js +5 -18
  178. package/styled-components/es/components/Dropdown/Dropdown.template-doc.mdx +80 -0
  179. package/styled-components/es/components/Dropdown/Dropdown.tokens.js +23 -26
  180. package/styled-components/es/components/Dropdown/index.js +0 -1
  181. package/styled-components/es/components/Dropdown/ui/DropdownItem/DropdownItem.js +107 -78
  182. package/styled-components/es/components/Dropdown/ui/DropdownItem/DropdownItem.styles.js +15 -21
  183. package/styled-components/es/components/Dropdown/ui/DropdownItem/variations/_size/tokens.json +19 -0
  184. package/styled-components/es/components/Dropdown/ui/DropdownItem/variations/_view/tokens.json +9 -0
  185. package/styled-components/es/components/Dropdown/ui/index.js +1 -3
  186. package/styled-components/es/components/Dropdown/utils/index.js +1 -15
  187. package/styled-components/es/components/Dropdown/variations/_size/tokens.json +9 -1
  188. package/styled-components/es/components/Dropdown/variations/_view/tokens.json +1 -1
  189. package/styled-components/es/components/Select/ui/SelectItem/SelectItem.js +2 -2
  190. package/styled-components/es/components/Select/ui/SelectItem/SelectItem.styles.js +1 -1
  191. package/styled-components/es/components/_Icon/Icon.assets/DisclosureRight.js +2 -1
  192. package/styled-components/es/examples/plasma_b2c/components/Calendar/Calendar.stories.tsx +18 -6
  193. package/styled-components/es/examples/plasma_b2c/components/Dropdown/Normal/Dropdown.config.js +21 -0
  194. package/styled-components/es/examples/plasma_b2c/components/Dropdown/Normal/Dropdown.js +7 -0
  195. package/styled-components/es/examples/plasma_b2c/components/Dropdown/Normal/Dropdown.stories.tsx +194 -0
  196. package/styled-components/es/examples/plasma_b2c/components/Dropdown/Tight/Dropdown.config.js +21 -0
  197. package/styled-components/es/examples/plasma_b2c/components/Dropdown/Tight/Dropdown.js +7 -0
  198. package/styled-components/es/examples/plasma_b2c/components/Dropdown/Tight/Dropdown.stories.tsx +195 -0
  199. package/styled-components/es/examples/plasma_web/components/Calendar/Calendar.stories.tsx +18 -6
  200. package/styled-components/es/examples/plasma_web/components/Dropdown/Normal/Dropdown.config.js +21 -0
  201. package/styled-components/es/examples/plasma_web/components/Dropdown/Normal/Dropdown.js +7 -0
  202. package/styled-components/es/examples/plasma_web/components/Dropdown/Normal/Dropdown.stories.tsx +195 -0
  203. package/styled-components/es/examples/plasma_web/components/Dropdown/Tight/Dropdown.config.js +21 -0
  204. package/styled-components/es/examples/plasma_web/components/Dropdown/Tight/Dropdown.js +7 -0
  205. package/styled-components/es/examples/plasma_web/components/Dropdown/Tight/Dropdown.stories.tsx +195 -0
  206. package/styled-components/es/examples/sds_engineer/components/Calendar/Calendar.stories.tsx +18 -6
  207. package/styled-components/es/examples/sds_engineer/components/Dropdown/Dropdown.config.js +16 -0
  208. package/styled-components/es/examples/sds_engineer/components/Dropdown/Dropdown.js +15 -0
  209. package/styled-components/es/examples/sds_engineer/components/Dropdown/Dropdown.stories.tsx +277 -0
  210. package/types/components/Calendar/Calendar.types.d.ts +4 -0
  211. package/types/components/Calendar/Calendar.types.d.ts.map +1 -1
  212. package/types/components/Calendar/CalendarBase/CalendarBase.d.ts.map +1 -1
  213. package/types/components/Calendar/hooks/useDays.d.ts +1 -1
  214. package/types/components/Calendar/hooks/useDays.d.ts.map +1 -1
  215. package/types/components/Calendar/ui/CalendarDays/CalendarDays.d.ts.map +1 -1
  216. package/types/components/Calendar/ui/CalendarDays/CalendarDays.types.d.ts +1 -0
  217. package/types/components/Calendar/ui/CalendarDays/CalendarDays.types.d.ts.map +1 -1
  218. package/types/components/Combobox/ui/ComboboxItem/ComboboxItem.d.ts +13 -15
  219. package/types/components/Combobox/ui/ComboboxItem/ComboboxItem.d.ts.map +1 -1
  220. package/types/components/Combobox/ui/ComboboxItem/ComboboxItem.styles.d.ts +1 -5
  221. package/types/components/Combobox/ui/ComboboxItem/ComboboxItem.styles.d.ts.map +1 -1
  222. package/types/components/Combobox/ui/ComboboxItem/ComboboxItem.type.d.ts +2 -59
  223. package/types/components/Combobox/ui/ComboboxItem/ComboboxItem.type.d.ts.map +1 -1
  224. package/types/components/Dropdown/Dropdown.d.ts +4 -4
  225. package/types/components/Dropdown/Dropdown.d.ts.map +1 -1
  226. package/types/components/Dropdown/Dropdown.styles.d.ts +1 -8
  227. package/types/components/Dropdown/Dropdown.styles.d.ts.map +1 -1
  228. package/types/components/Dropdown/Dropdown.tokens.d.ts +22 -24
  229. package/types/components/Dropdown/Dropdown.tokens.d.ts.map +1 -1
  230. package/types/components/Dropdown/Dropdown.types.d.ts +40 -64
  231. package/types/components/Dropdown/Dropdown.types.d.ts.map +1 -1
  232. package/types/components/Dropdown/index.d.ts +1 -3
  233. package/types/components/Dropdown/index.d.ts.map +1 -1
  234. package/types/components/Dropdown/ui/DropdownItem/DropdownItem.d.ts +56 -2
  235. package/types/components/Dropdown/ui/DropdownItem/DropdownItem.d.ts.map +1 -1
  236. package/types/components/Dropdown/ui/DropdownItem/DropdownItem.styles.d.ts +2 -5
  237. package/types/components/Dropdown/ui/DropdownItem/DropdownItem.styles.d.ts.map +1 -1
  238. package/types/components/Dropdown/ui/DropdownItem/DropdownItem.type.d.ts +38 -44
  239. package/types/components/Dropdown/ui/DropdownItem/DropdownItem.type.d.ts.map +1 -1
  240. package/types/components/Dropdown/ui/DropdownItem/variations/_size/base.d.ts.map +1 -0
  241. package/types/components/Dropdown/ui/DropdownItem/variations/_view/base.d.ts.map +1 -0
  242. package/types/components/Dropdown/ui/index.d.ts +1 -3
  243. package/types/components/Dropdown/ui/index.d.ts.map +1 -1
  244. package/types/components/Dropdown/utils/index.d.ts +2 -5
  245. package/types/components/Dropdown/utils/index.d.ts.map +1 -1
  246. package/types/components/Select/ui/SelectItem/SelectItem.d.ts +2 -2
  247. package/types/components/Select/ui/SelectItem/SelectItem.d.ts.map +1 -1
  248. package/types/components/Select/ui/SelectItem/SelectItem.type.d.ts +2 -2
  249. package/types/components/Select/utils/index.d.ts +1 -1
  250. package/types/components/_Icon/Icon.assets/DisclosureRight.d.ts.map +1 -1
  251. package/types/examples/plasma_b2c/components/Dropdown/Normal/Dropdown.config.d.ts.map +1 -0
  252. package/types/examples/plasma_b2c/components/Dropdown/Normal/Dropdown.d.ts +30 -0
  253. package/types/examples/plasma_b2c/components/Dropdown/Normal/Dropdown.d.ts.map +1 -0
  254. package/types/examples/plasma_b2c/components/Dropdown/Tight/Dropdown.config.d.ts +18 -0
  255. package/types/examples/plasma_b2c/components/Dropdown/Tight/Dropdown.config.d.ts.map +1 -0
  256. package/types/examples/plasma_b2c/components/Dropdown/Tight/Dropdown.d.ts +30 -0
  257. package/types/examples/plasma_b2c/components/Dropdown/Tight/Dropdown.d.ts.map +1 -0
  258. package/types/examples/plasma_web/components/Dropdown/Normal/Dropdown.config.d.ts +18 -0
  259. package/types/examples/plasma_web/components/Dropdown/Normal/Dropdown.config.d.ts.map +1 -0
  260. package/types/examples/plasma_web/components/Dropdown/Normal/Dropdown.d.ts +30 -0
  261. package/types/examples/plasma_web/components/Dropdown/Normal/Dropdown.d.ts.map +1 -0
  262. package/types/examples/plasma_web/components/Dropdown/Tight/Dropdown.config.d.ts +18 -0
  263. package/types/examples/plasma_web/components/Dropdown/Tight/Dropdown.config.d.ts.map +1 -0
  264. package/types/examples/plasma_web/components/Dropdown/Tight/Dropdown.d.ts +30 -0
  265. package/types/examples/plasma_web/components/Dropdown/Tight/Dropdown.d.ts.map +1 -0
  266. package/types/examples/sds_engineer/components/Dropdown/Dropdown.config.d.ts +15 -0
  267. package/types/examples/sds_engineer/components/Dropdown/Dropdown.config.d.ts.map +1 -0
  268. package/types/examples/sds_engineer/components/Dropdown/Dropdown.d.ts +51 -0
  269. package/types/examples/sds_engineer/components/Dropdown/Dropdown.d.ts.map +1 -0
  270. package/cjs/components/Combobox/ui/ComboboxItem/ComboboxItem.styles_s4sk53.css +0 -4
  271. package/cjs/components/Combobox/utils/index.js +0 -23
  272. package/cjs/components/Combobox/utils/index.js.map +0 -1
  273. package/cjs/components/Dropdown/Dropdown.styles_1tihqkp.css +0 -3
  274. package/cjs/components/Dropdown/hooks/useHashMaps.js +0 -34
  275. package/cjs/components/Dropdown/hooks/useHashMaps.js.map +0 -1
  276. package/cjs/components/Dropdown/hooks/useKeyboardNavigation.js +0 -223
  277. package/cjs/components/Dropdown/hooks/useKeyboardNavigation.js.map +0 -1
  278. package/cjs/components/Dropdown/reducers/focusedPathReducer.js +0 -37
  279. package/cjs/components/Dropdown/reducers/focusedPathReducer.js.map +0 -1
  280. package/cjs/components/Dropdown/reducers/pathReducer.js +0 -41
  281. package/cjs/components/Dropdown/reducers/pathReducer.js.map +0 -1
  282. package/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js +0 -122
  283. package/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js.map +0 -1
  284. package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.styles_1o4szyu.css +0 -5
  285. package/cjs/components/Dropdown/ui/DropdownItemOld/DropdownItem.styles.js +0 -30
  286. package/cjs/components/Dropdown/ui/DropdownItemOld/DropdownItem.styles.js.map +0 -1
  287. package/cjs/components/Dropdown/ui/DropdownItemOld/DropdownItem.styles_12e50g5.css +0 -4
  288. package/cjs/components/Dropdown/ui/DropdownItemOld/DropdownItemOld.css +0 -4
  289. package/cjs/components/Dropdown/ui/DropdownItemOld/DropdownItemOld.js +0 -112
  290. package/cjs/components/Dropdown/ui/DropdownItemOld/DropdownItemOld.js.map +0 -1
  291. package/cjs/components/Dropdown/ui/DropdownItemOld/variations/_size/base.js.map +0 -1
  292. package/cjs/components/Dropdown/ui/DropdownItemOld/variations/_view/base.js.map +0 -1
  293. package/es/components/Combobox/ui/ComboboxItem/ComboboxItem.styles_s4sk53.css +0 -4
  294. package/es/components/Combobox/utils/index.js +0 -19
  295. package/es/components/Combobox/utils/index.js.map +0 -1
  296. package/es/components/Dropdown/Dropdown.styles_1tihqkp.css +0 -3
  297. package/es/components/Dropdown/hooks/useHashMaps.js +0 -30
  298. package/es/components/Dropdown/hooks/useHashMaps.js.map +0 -1
  299. package/es/components/Dropdown/hooks/useKeyboardNavigation.js +0 -218
  300. package/es/components/Dropdown/hooks/useKeyboardNavigation.js.map +0 -1
  301. package/es/components/Dropdown/reducers/focusedPathReducer.js +0 -33
  302. package/es/components/Dropdown/reducers/focusedPathReducer.js.map +0 -1
  303. package/es/components/Dropdown/reducers/pathReducer.js +0 -37
  304. package/es/components/Dropdown/reducers/pathReducer.js.map +0 -1
  305. package/es/components/Dropdown/ui/DropdownInner/DropdownInner.js +0 -118
  306. package/es/components/Dropdown/ui/DropdownInner/DropdownInner.js.map +0 -1
  307. package/es/components/Dropdown/ui/DropdownItem/DropdownItem.styles_1o4szyu.css +0 -5
  308. package/es/components/Dropdown/ui/DropdownItemOld/DropdownItem.styles.js +0 -23
  309. package/es/components/Dropdown/ui/DropdownItemOld/DropdownItem.styles.js.map +0 -1
  310. package/es/components/Dropdown/ui/DropdownItemOld/DropdownItem.styles_12e50g5.css +0 -4
  311. package/es/components/Dropdown/ui/DropdownItemOld/DropdownItemOld.css +0 -4
  312. package/es/components/Dropdown/ui/DropdownItemOld/DropdownItemOld.js +0 -107
  313. package/es/components/Dropdown/ui/DropdownItemOld/DropdownItemOld.js.map +0 -1
  314. package/es/components/Dropdown/ui/DropdownItemOld/variations/_size/base.js.map +0 -1
  315. package/es/components/Dropdown/ui/DropdownItemOld/variations/_view/base.js.map +0 -1
  316. package/styled-components/cjs/components/Combobox/utils/index.js +0 -23
  317. package/styled-components/cjs/components/Dropdown/hooks/useHashMaps.js +0 -32
  318. package/styled-components/cjs/components/Dropdown/hooks/useKeyboardNavigation.js +0 -221
  319. package/styled-components/cjs/components/Dropdown/reducers/focusedPathReducer.js +0 -40
  320. package/styled-components/cjs/components/Dropdown/reducers/pathReducer.js +0 -44
  321. package/styled-components/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js +0 -117
  322. package/styled-components/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.type.js +0 -5
  323. package/styled-components/cjs/components/Dropdown/ui/DropdownItemOld/DropdownItem.styles.js +0 -33
  324. package/styled-components/cjs/components/Dropdown/ui/DropdownItemOld/DropdownItem.type.js +0 -5
  325. package/styled-components/cjs/components/Dropdown/ui/DropdownItemOld/DropdownItemOld.js +0 -119
  326. package/styled-components/cjs/examples/plasma_b2c/components/Dropdown/Dropdown.config.js +0 -25
  327. package/styled-components/cjs/examples/plasma_b2c/components/Dropdown/Dropdown.js +0 -11
  328. package/styled-components/cjs/examples/plasma_b2c/components/Dropdown/Dropdown.stories.tsx +0 -292
  329. package/styled-components/es/components/Combobox/utils/index.js +0 -15
  330. package/styled-components/es/components/Dropdown/hooks/useHashMaps.js +0 -26
  331. package/styled-components/es/components/Dropdown/hooks/useKeyboardNavigation.js +0 -215
  332. package/styled-components/es/components/Dropdown/reducers/focusedPathReducer.js +0 -34
  333. package/styled-components/es/components/Dropdown/reducers/pathReducer.js +0 -38
  334. package/styled-components/es/components/Dropdown/ui/DropdownInner/DropdownInner.js +0 -111
  335. package/styled-components/es/components/Dropdown/ui/DropdownInner/DropdownInner.type.js +0 -1
  336. package/styled-components/es/components/Dropdown/ui/DropdownItemOld/DropdownItem.styles.js +0 -25
  337. package/styled-components/es/components/Dropdown/ui/DropdownItemOld/DropdownItem.type.js +0 -1
  338. package/styled-components/es/components/Dropdown/ui/DropdownItemOld/DropdownItemOld.js +0 -111
  339. package/styled-components/es/examples/plasma_b2c/components/Dropdown/Dropdown.config.js +0 -19
  340. package/styled-components/es/examples/plasma_b2c/components/Dropdown/Dropdown.js +0 -5
  341. package/styled-components/es/examples/plasma_b2c/components/Dropdown/Dropdown.stories.tsx +0 -292
  342. package/types/components/Combobox/utils/index.d.ts +0 -4
  343. package/types/components/Combobox/utils/index.d.ts.map +0 -1
  344. package/types/components/Dropdown/hooks/useHashMaps.d.ts +0 -6
  345. package/types/components/Dropdown/hooks/useHashMaps.d.ts.map +0 -1
  346. package/types/components/Dropdown/hooks/useKeyboardNavigation.d.ts +0 -37
  347. package/types/components/Dropdown/hooks/useKeyboardNavigation.d.ts.map +0 -1
  348. package/types/components/Dropdown/reducers/focusedPathReducer.d.ts +0 -16
  349. package/types/components/Dropdown/reducers/focusedPathReducer.d.ts.map +0 -1
  350. package/types/components/Dropdown/reducers/pathReducer.d.ts +0 -20
  351. package/types/components/Dropdown/reducers/pathReducer.d.ts.map +0 -1
  352. package/types/components/Dropdown/ui/DropdownInner/DropdownInner.d.ts +0 -5
  353. package/types/components/Dropdown/ui/DropdownInner/DropdownInner.d.ts.map +0 -1
  354. package/types/components/Dropdown/ui/DropdownInner/DropdownInner.type.d.ts +0 -26
  355. package/types/components/Dropdown/ui/DropdownInner/DropdownInner.type.d.ts.map +0 -1
  356. package/types/components/Dropdown/ui/DropdownItemOld/DropdownItem.styles.d.ts +0 -7
  357. package/types/components/Dropdown/ui/DropdownItemOld/DropdownItem.styles.d.ts.map +0 -1
  358. package/types/components/Dropdown/ui/DropdownItemOld/DropdownItem.type.d.ts +0 -60
  359. package/types/components/Dropdown/ui/DropdownItemOld/DropdownItem.type.d.ts.map +0 -1
  360. package/types/components/Dropdown/ui/DropdownItemOld/DropdownItemOld.d.ts +0 -58
  361. package/types/components/Dropdown/ui/DropdownItemOld/DropdownItemOld.d.ts.map +0 -1
  362. package/types/components/Dropdown/ui/DropdownItemOld/variations/_size/base.d.ts.map +0 -1
  363. package/types/components/Dropdown/ui/DropdownItemOld/variations/_view/base.d.ts.map +0 -1
  364. package/types/examples/plasma_b2c/components/Dropdown/Dropdown.config.d.ts.map +0 -1
  365. package/types/examples/plasma_b2c/components/Dropdown/Dropdown.d.ts +0 -13
  366. package/types/examples/plasma_b2c/components/Dropdown/Dropdown.d.ts.map +0 -1
  367. /package/cjs/components/Dropdown/ui/{DropdownItemOld → DropdownItem}/variations/_size/base_x642ct.css +0 -0
  368. /package/cjs/components/Dropdown/ui/{DropdownItemOld → DropdownItem}/variations/_view/base_x642ct.css +0 -0
  369. /package/es/components/Dropdown/ui/{DropdownItemOld → DropdownItem}/variations/_size/base_x642ct.css +0 -0
  370. /package/es/components/Dropdown/ui/{DropdownItemOld → DropdownItem}/variations/_view/base_x642ct.css +0 -0
  371. /package/styled-components/cjs/components/Dropdown/ui/{DropdownItemOld → DropdownItem}/variations/_size/base.js +0 -0
  372. /package/styled-components/cjs/components/Dropdown/ui/{DropdownItemOld → DropdownItem}/variations/_view/base.js +0 -0
  373. /package/styled-components/es/components/Dropdown/ui/{DropdownItemOld → DropdownItem}/variations/_size/base.js +0 -0
  374. /package/styled-components/es/components/Dropdown/ui/{DropdownItemOld → DropdownItem}/variations/_view/base.js +0 -0
  375. /package/types/components/Dropdown/ui/{DropdownItemOld → DropdownItem}/variations/_size/base.d.ts +0 -0
  376. /package/types/components/Dropdown/ui/{DropdownItemOld → DropdownItem}/variations/_view/base.d.ts +0 -0
  377. /package/types/examples/plasma_b2c/components/Dropdown/{Dropdown.config.d.ts → Normal/Dropdown.config.d.ts} +0 -0
@@ -0,0 +1,195 @@
1
+ import React, { useState } from 'react';
2
+ import type { ComponentProps } from 'react';
3
+ import type { Meta, StoryObj } from '@storybook/react';
4
+ import { action } from '@storybook/addon-actions';
5
+ import styled from 'styled-components';
6
+
7
+ import { WithTheme, argTypesFromConfig } from '../../../../_helpers';
8
+ import { mergeConfig } from '../../../../../engines';
9
+ import { dropdownConfig } from '../../../../../components/Dropdown';
10
+ import { Button } from '../../Button/Button';
11
+ import { Radiobox } from '../../Radiobox/Radiobox';
12
+ import { Checkbox } from '../../Checkbox/Checkbox';
13
+ import type { DropdownPlacement, DropdownTrigger } from '../../../../../components/Dropdown/Dropdown.types';
14
+
15
+ import { Dropdown, DropdownItem } from './Dropdown';
16
+ import { config } from './Dropdown.config';
17
+
18
+ const placements: Array<DropdownPlacement> = ['top', 'bottom', 'right', 'left', 'auto'];
19
+ const triggers: Array<DropdownTrigger> = ['click', 'hover'];
20
+
21
+ type StoryDropdownPropsCustom = {
22
+ skidding?: number;
23
+ distance?: number;
24
+ };
25
+
26
+ type StoryDropdownProps = ComponentProps<typeof Dropdown> & StoryDropdownPropsCustom;
27
+
28
+ const meta: Meta<StoryDropdownProps> = {
29
+ title: 'plasma_web/Dropdown',
30
+ decorators: [WithTheme],
31
+ component: Dropdown,
32
+ argTypes: {
33
+ placement: {
34
+ options: placements,
35
+ control: {
36
+ type: 'select',
37
+ },
38
+ },
39
+ trigger: {
40
+ options: triggers,
41
+ control: {
42
+ type: 'select',
43
+ },
44
+ },
45
+ ...argTypesFromConfig(mergeConfig(dropdownConfig, config)),
46
+ },
47
+ args: {
48
+ placement: 'bottom',
49
+ trigger: 'click',
50
+ closeOnOverlayClick: false,
51
+ closeOnEsc: true,
52
+ isFocusTrapped: true,
53
+ skidding: 0,
54
+ distance: 0,
55
+ },
56
+ };
57
+
58
+ export default meta;
59
+
60
+ const onSelect = action('onSelect');
61
+ const onClick = action('onClick');
62
+ const onChange = action('onChange');
63
+
64
+ const getDropdownItems = (slug: string, elemCount: number) =>
65
+ [...Array(elemCount).keys()].map((num) => ({
66
+ value: `${slug}_${num}`,
67
+ child: `${slug} ${num}`,
68
+ }));
69
+
70
+ const StyledRadiobox = styled(Radiobox)`
71
+ margin-right: 0.5rem;
72
+ `;
73
+
74
+ const StyledCheckbox = styled(Checkbox)`
75
+ margin-left: auto;
76
+ `;
77
+
78
+ const StyledDisclosureRightIcon = styled.div`
79
+ width: 1.25rem;
80
+ height: 1.25rem;
81
+ margin-left: auto;
82
+ `;
83
+
84
+ const DisclosureRightIcon = (props) => (
85
+ <StyledDisclosureRightIcon>
86
+ <svg width="100%" viewBox="0 0 24 24" fill="none" {...props}>
87
+ <path
88
+ d="M9.883 8.707a1 1 0 011.414-1.414L16.004 12l-4.707 4.707a1 1 0 01-1.414-1.414L13.176 12 9.883 8.707z"
89
+ fill="currentColor"
90
+ />
91
+ </svg>
92
+ </StyledDisclosureRightIcon>
93
+ );
94
+
95
+ const StoryTight = (args: StoryDropdownProps) => {
96
+ const [selected, setSelected] = useState('');
97
+ const [isOpen, setIsOpen] = useState(false);
98
+ const [isOpenDropdown2, setIsOpenDropdown2] = useState(false);
99
+
100
+ const { skidding, distance, placement, ...rest } = args;
101
+
102
+ const onMainClose = () => {
103
+ setIsOpen(false);
104
+ setIsOpenDropdown2(false);
105
+ };
106
+
107
+ const onMainToggle = (openValue: boolean) => {
108
+ setIsOpen(openValue);
109
+
110
+ if (!openValue) {
111
+ onMainClose();
112
+ }
113
+ };
114
+
115
+ const handleSelect = (value: string, text: string) => {
116
+ setSelected(value);
117
+ onSelect(value, text);
118
+ setIsOpen(false);
119
+ };
120
+
121
+ return (
122
+ <div>
123
+ <h3>This is header</h3>
124
+ <Dropdown
125
+ target={<Button>Target</Button>}
126
+ isOpen={isOpen}
127
+ onToggle={onMainToggle}
128
+ offset={[Number(skidding), Number(distance)]}
129
+ placement={placement}
130
+ {...rest}
131
+ >
132
+ {getDropdownItems('item', 6).map((item) => (
133
+ <DropdownItem
134
+ key={item.value}
135
+ isSelected={Boolean(item.value === selected)}
136
+ onSelect={() => handleSelect(item.value, item.child)}
137
+ onClick={onClick}
138
+ value={item.value}
139
+ >
140
+ {item.child}
141
+ </DropdownItem>
142
+ ))}
143
+ <Dropdown
144
+ target={<DropdownItem contentRight={DisclosureRightIcon} name="test" text="Nested dropdown" />}
145
+ onToggle={(is) => setIsOpenDropdown2(is)}
146
+ isOpen={isOpenDropdown2}
147
+ offset={[0, 0]}
148
+ isNested
149
+ {...rest}
150
+ >
151
+ <DropdownItem contentRight={StyledCheckbox} value="checked" onChange={onChange} text="Checkbox" />
152
+ {getDropdownItems('nested', 4).map((item) => (
153
+ <DropdownItem
154
+ key={item.value}
155
+ isSelected={Boolean(item.value === selected)}
156
+ onSelect={() => handleSelect(item.value, item.child)}
157
+ onClick={onClick}
158
+ value={item.value}
159
+ >
160
+ {item.child}
161
+ </DropdownItem>
162
+ ))}
163
+ <DropdownItem
164
+ contentLeft={StyledRadiobox}
165
+ name="radio"
166
+ value="1"
167
+ onChange={onChange}
168
+ text="Radiobox 1"
169
+ />
170
+ <DropdownItem
171
+ contentLeft={StyledRadiobox}
172
+ name="radio"
173
+ value="2"
174
+ onChange={onChange}
175
+ text="Radiobox 2"
176
+ />
177
+ </Dropdown>
178
+
179
+ <DropdownItem
180
+ isSelected={selected === 'disabled'}
181
+ onSelect={() => handleSelect('disabled', 'disabled')}
182
+ onClick={onClick}
183
+ value="disabled"
184
+ disabled
185
+ >
186
+ disabled
187
+ </DropdownItem>
188
+ </Dropdown>
189
+ </div>
190
+ );
191
+ };
192
+
193
+ export const Tight: StoryObj<StoryDropdownProps> = {
194
+ render: (args) => <StoryTight {...args} />,
195
+ };
@@ -79,7 +79,7 @@ const baseEvents = [
79
79
  ];
80
80
 
81
81
  const StoryDefault = (args: CalendarProps) => {
82
- const { isRange, isDouble, min, max, date } = args;
82
+ const { isRange, isDouble, min, max, date, includeEdgeDates } = args;
83
83
  const [value, setValue] = useState(new Date(2023, 10, 16));
84
84
  const [valueRange, setValueRange] = useState<[Date, Date?]>([new Date(2023, 10, 16), new Date(2023, 10, 23)]);
85
85
 
@@ -110,6 +110,7 @@ const StoryDefault = (args: CalendarProps) => {
110
110
  disabledList={disabledDays}
111
111
  min={min}
112
112
  max={max}
113
+ includeEdgeDates={includeEdgeDates}
113
114
  onChangeValue={(isRange ? handleOnRangeChange : handleOnChange) as (value: Date | [Date, Date?]) => void}
114
115
  />
115
116
  );
@@ -121,12 +122,13 @@ export const Default: StoryObj<CalendarProps> = {
121
122
  max: new Date(2023, 11, 24),
122
123
  isDouble: false,
123
124
  isRange: false,
125
+ includeEdgeDates: false,
124
126
  },
125
127
  render: (args) => <StoryDefault {...args} />,
126
128
  };
127
129
 
128
130
  const StoryBase = (args: CalendarBaseProps) => {
129
- const { min, max, type } = args;
131
+ const { min, max, type, includeEdgeDates } = args;
130
132
  const [value, setValue] = useState(new Date(2023, 10, 16));
131
133
 
132
134
  const handleOnChange = useCallback((newValue: Date) => {
@@ -150,6 +152,7 @@ const StoryBase = (args: CalendarBaseProps) => {
150
152
  disabledList={disabledDays}
151
153
  min={min}
152
154
  max={max}
155
+ includeEdgeDates={includeEdgeDates}
153
156
  type={type}
154
157
  onChangeValue={handleOnChange}
155
158
  />
@@ -168,13 +171,14 @@ export const Base: StoryObj<CalendarBaseProps> = {
168
171
  args: {
169
172
  min: new Date(2023, 10, 1),
170
173
  max: new Date(2023, 11, 24),
174
+ includeEdgeDates: false,
171
175
  type: 'Days',
172
176
  },
173
177
  render: (args) => <StoryBase {...args} />,
174
178
  };
175
179
 
176
180
  const StoryDouble = (args: CalendarDoubleProps) => {
177
- const { min, max } = args;
181
+ const { min, max, includeEdgeDates } = args;
178
182
  const [value, setValue] = useState(new Date(2023, 10, 16));
179
183
  const handleOnChange = useCallback((newValue: Date) => {
180
184
  setValue(newValue);
@@ -197,6 +201,7 @@ const StoryDouble = (args: CalendarDoubleProps) => {
197
201
  disabledList={disabledDays}
198
202
  min={min}
199
203
  max={max}
204
+ includeEdgeDates={includeEdgeDates}
200
205
  onChangeValue={handleOnChange}
201
206
  />
202
207
  );
@@ -206,12 +211,13 @@ export const Double: StoryObj<CalendarDoubleProps> = {
206
211
  args: {
207
212
  min: new Date(2023, 10, 1),
208
213
  max: new Date(2023, 11, 24),
214
+ includeEdgeDates: false,
209
215
  },
210
216
  render: (args) => <StoryDouble {...args} />,
211
217
  };
212
218
 
213
219
  const StoryRange = (args: CalendarBaseRangeProps) => {
214
- const { min, max, type } = args;
220
+ const { min, max, type, includeEdgeDates } = args;
215
221
  const [values, setValue] = useState<[Date, Date?]>([new Date(2023, 10, 15), new Date(2023, 10, 24)]);
216
222
  const handleOnChange = useCallback((newValue: [Date, Date?]) => {
217
223
  onChangeValue(newValue);
@@ -237,6 +243,7 @@ const StoryRange = (args: CalendarBaseRangeProps) => {
237
243
  disabledList={disabledList}
238
244
  min={min}
239
245
  max={max}
246
+ includeEdgeDates={includeEdgeDates}
240
247
  type={type}
241
248
  onChangeValue={handleOnChange}
242
249
  />
@@ -255,13 +262,14 @@ export const Range: StoryObj<CalendarBaseRangeProps> = {
255
262
  args: {
256
263
  min: new Date(2023, 10, 1),
257
264
  max: new Date(2023, 11, 24),
265
+ includeEdgeDates: false,
258
266
  type: 'Days',
259
267
  },
260
268
  render: (args) => <StoryRange {...args} />,
261
269
  };
262
270
 
263
271
  const StoryRangeDouble = (args: CalendarBaseRangeProps) => {
264
- const { min, max } = args;
272
+ const { min, max, includeEdgeDates } = args;
265
273
  const [values, setValue] = useState<[Date, Date?]>([new Date(2023, 10, 15), new Date(2023, 10, 24)]);
266
274
  const handleOnChange = useCallback((newValue: [Date, Date?]) => {
267
275
  onChangeValue(newValue);
@@ -287,6 +295,7 @@ const StoryRangeDouble = (args: CalendarBaseRangeProps) => {
287
295
  disabledList={disabledList}
288
296
  min={min}
289
297
  max={max}
298
+ includeEdgeDates={includeEdgeDates}
290
299
  onChangeValue={handleOnChange}
291
300
  />
292
301
  );
@@ -296,12 +305,13 @@ export const RangeDouble: StoryObj<CalendarBaseRangeProps> = {
296
305
  args: {
297
306
  min: new Date(2023, 10, 1),
298
307
  max: new Date(2023, 11, 24),
308
+ includeEdgeDates: false,
299
309
  },
300
310
  render: (args) => <StoryRangeDouble {...args} />,
301
311
  };
302
312
 
303
313
  const StoryWithPopover = (args: CalendarProps) => {
304
- const { isDouble, min, max } = args;
314
+ const { isDouble, min, max, includeEdgeDates } = args;
305
315
  const [isOpen, setIsOpen] = useState(false);
306
316
  const [textValue, setTextValue] = useState('2023-10-16');
307
317
  const [value, setValue] = useState(new Date(textValue));
@@ -340,6 +350,7 @@ const StoryWithPopover = (args: CalendarProps) => {
340
350
  disabledList={disabledDays}
341
351
  min={min}
342
352
  max={max}
353
+ includeEdgeDates={includeEdgeDates}
343
354
  isDouble={isDouble}
344
355
  isRange={false}
345
356
  onChangeValue={handleOnChange}
@@ -353,6 +364,7 @@ export const WithPopover: StoryObj<CalendarProps> = {
353
364
  min: new Date(2023, 9, 1),
354
365
  max: new Date(2023, 11, 24),
355
366
  isDouble: false,
367
+ includeEdgeDates: false,
356
368
  },
357
369
  render: (args) => <StoryWithPopover {...args} />,
358
370
  };
@@ -0,0 +1,16 @@
1
+ import { css } from 'styled-components';
2
+ import { dropdownTokens } from '../../../../components/Dropdown';
3
+ export var config = {
4
+ defaults: {
5
+ view: 'primary',
6
+ size: 'm'
7
+ },
8
+ variations: {
9
+ size: {
10
+ m: /*#__PURE__*/css(["", ":15rem;", ":auto;", ":0;", ":0.5rem;", ":0;", ":0.5rem;", ":0;", ":auto;", ":1.25rem;", ":0.5rem;", ":0.75rem;", ":0.25rem;", ":0.75rem;", ":0;", ":0;", ":0;", ":0;", ":var(--plasma-typo-body-m-font-family);", ":var(--plasma-typo-body-m-font-size);", ":var(--plasma-typo-body-m-font-style);", ":var(--plasma-typo-body-m-font-weight);", ":var(--plasma-typo-body-m-letter-spacing);", ":var(--plasma-typo-body-m-line-height);", ":auto;", ":auto;", ":0.3125rem;", ":0.75rem;", ":0.4375rem;", ":0.75rem;", ":0;", ":0;", ":0;", ":0;", ":var(--plasma-typo-body-m-font-family);", ":var(--plasma-typo-body-m-font-size);", ":var(--plasma-typo-body-m-font-style);", ":var(--plasma-typo-body-m-font-weight);", ":var(--plasma-typo-body-m-letter-spacing);", ":var(--plasma-typo-body-m-line-height);", ":auto;", ":0.063rem;", ":0;", ":0;", ":0;", ":0;", ":auto;", ":0;", ":0;", ":0;", ":0;", ":0;", ":0;", ":0.25rem;", ":0;", ":0.25rem;", ":0.75rem;", ":0.5rem;", ":0.75rem;", ":0.25rem;", ":0;", ":0;", ":0;", ":var(--plasma-typo-body-m-font-family);", ":var(--plasma-typo-body-m-font-size);", ":var(--plasma-typo-body-m-font-style);", ":var(--plasma-typo-body-m-bold-font-weight);", ":var(--plasma-typo-body-m-letter-spacing);", ":var(--plasma-typo-body-m-line-height);", ":auto;", ":1.25rem;", ":0.25rem;", ":0.75rem;", ":0.5rem;", ":0.75rem;", ":0;", ":0;", ":0;", ":0;", ":var(--plasma-typo-body-m-font-family);", ":var(--plasma-typo-body-m-font-size);", ":var(--plasma-typo-body-m-font-style);", ":var(--plasma-typo-body-m-font-weight);", ":var(--plasma-typo-body-m-letter-spacing);", ":var(--plasma-typo-body-m-line-height);"], dropdownTokens.width, dropdownTokens.height, dropdownTokens.borderRadius, dropdownTokens.paddingTop, dropdownTokens.paddingRight, dropdownTokens.paddingBottom, dropdownTokens.paddingLeft, dropdownTokens.headerWidth, dropdownTokens.headerHeight, dropdownTokens.headerPaddingTop, dropdownTokens.headerPaddingRight, dropdownTokens.headerPaddingBottom, dropdownTokens.headerPaddingLeft, dropdownTokens.headerMarginTop, dropdownTokens.headerMarginRight, dropdownTokens.headerMarginBottom, dropdownTokens.headerMarginLeft, dropdownTokens.headerFontFamily, dropdownTokens.headerFontSize, dropdownTokens.headerFontStyle, dropdownTokens.headerFontWeightBold, dropdownTokens.headerFontLetterSpacing, dropdownTokens.headerFontLineHeight, dropdownTokens.itemWidth, dropdownTokens.itemHeight, dropdownTokens.itemPaddingTop, dropdownTokens.itemPaddingRight, dropdownTokens.itemPaddingBottom, dropdownTokens.itemPaddingLeft, dropdownTokens.itemMarginTop, dropdownTokens.itemMarginRight, dropdownTokens.itemMarginBottom, dropdownTokens.itemMarginLeft, dropdownTokens.itemFontFamily, dropdownTokens.itemFontSize, dropdownTokens.itemFontStyle, dropdownTokens.itemFontWeightBold, dropdownTokens.itemFontLetterSpacing, dropdownTokens.itemFontLineHeight, dropdownTokens.dividerWidth, dropdownTokens.dividerHeight, dropdownTokens.dividerMarginTop, dropdownTokens.dividerMarginRight, dropdownTokens.dividerMarginBottom, dropdownTokens.dividerMarginLeft, dropdownTokens.groupWidth, dropdownTokens.groupPaddingTop, dropdownTokens.groupPaddingRight, dropdownTokens.groupPaddingBottom, dropdownTokens.groupPaddingLeft, dropdownTokens.groupMarginTop, dropdownTokens.groupMarginRight, dropdownTokens.groupMarginBottom, dropdownTokens.groupMarginLeft, dropdownTokens.groupLabelPaddingTop, dropdownTokens.groupLabelPaddingRight, dropdownTokens.groupLabelPaddingBottom, dropdownTokens.groupLabelPaddingLeft, dropdownTokens.groupLabelMarginTop, dropdownTokens.groupLabelMarginRight, dropdownTokens.groupLabelMarginBottom, dropdownTokens.groupLabelMarginLeft, dropdownTokens.groupLabelFontFamily, dropdownTokens.groupLabelFontSize, dropdownTokens.groupLabelFontStyle, dropdownTokens.groupLabelFontWeight, dropdownTokens.groupLabelLetterSpacing, dropdownTokens.groupLabelLineHeight, dropdownTokens.footerWidth, dropdownTokens.footerHeight, dropdownTokens.footerPaddingTop, dropdownTokens.footerPaddingRight, dropdownTokens.footerPaddingBottom, dropdownTokens.footerPaddingLeft, dropdownTokens.footerMarginTop, dropdownTokens.footerMarginRight, dropdownTokens.footerMarginBottom, dropdownTokens.footerMarginLeft, dropdownTokens.footerFontFamily, dropdownTokens.footerFontSize, dropdownTokens.footerFontStyle, dropdownTokens.footerFontWeightBold, dropdownTokens.footerFontLetterSpacing, dropdownTokens.footerFontLineHeight)
11
+ },
12
+ view: {
13
+ primary: /*#__PURE__*/css(["", ":0.4;", ":var(--plasma-colors-white);", ":var(--shadow-down-soft-s);", ":var(--plasma-colors-transparent);", ":var(--plasma-colors-transparent);", ":var(--on-light-text-primary);", ":rgba(12,143,230,0.12);", ":var(--on-light-surface-transparent-secondary);", ":inherit;", ":var(--on-light-surface-transparent-secondary);", ":inherit;", ":var(--plasma-colors-overlay-blur);", ":var(--plasma-colors-transparent);", ":var(--plasma-colors-transparent);", ":var(--on-light-text-primary);"], dropdownTokens.disabledOpacity, dropdownTokens.background, dropdownTokens.boxShadow, dropdownTokens.headerBackground, dropdownTokens.itemBackground, dropdownTokens.itemColor, dropdownTokens.itemBackgroundHover, dropdownTokens.itemBackgroundSelected, dropdownTokens.itemColorSelected, dropdownTokens.itemBackgroundSelectedHover, dropdownTokens.itemColorSelectedHover, dropdownTokens.dividerColor, dropdownTokens.footerBackground, dropdownTokens.groupBackground, dropdownTokens.groupLabelColor)
14
+ }
15
+ }
16
+ };
@@ -0,0 +1,15 @@
1
+ import { dropdownConfig, dropdownDividerConfig, dropdownFooterConfig, dropdownGroupConfig, dropdownHeaderConfig, dropdownItemConfig } from '../../../../components/Dropdown';
2
+ import { component, mergeConfig } from '../../../../engines';
3
+ import { config } from './Dropdown.config';
4
+ var mergedConfig = /*#__PURE__*/mergeConfig(dropdownConfig, config);
5
+ export var Dropdown = /*#__PURE__*/component(mergedConfig);
6
+ var mergedDividerConfig = /*#__PURE__*/mergeConfig(dropdownDividerConfig);
7
+ export var DropdownDivider = /*#__PURE__*/component(mergedDividerConfig);
8
+ var mergedFooterConfig = /*#__PURE__*/mergeConfig(dropdownFooterConfig);
9
+ export var DropdownFooter = /*#__PURE__*/component(mergedFooterConfig);
10
+ var mergedGroupConfig = /*#__PURE__*/mergeConfig(dropdownGroupConfig);
11
+ export var DropdownGroup = /*#__PURE__*/component(mergedGroupConfig);
12
+ var mergedHeaderConfig = /*#__PURE__*/mergeConfig(dropdownHeaderConfig);
13
+ export var DropdownHeader = /*#__PURE__*/component(mergedHeaderConfig);
14
+ var mergedItemConfig = /*#__PURE__*/mergeConfig(dropdownItemConfig);
15
+ export var DropdownItem = /*#__PURE__*/component(mergedItemConfig);
@@ -0,0 +1,277 @@
1
+ import React, { useRef, useState } from 'react';
2
+ import type { ComponentProps } from 'react';
3
+ import type { Meta, StoryObj } from '@storybook/react';
4
+ import styled from 'styled-components';
5
+ import { css } from 'styled-components';
6
+ import { action } from '@storybook/addon-actions';
7
+
8
+ import { WithTheme, argTypesFromConfig } from '../../../_helpers';
9
+ import { mergeConfig } from '../../../../engines';
10
+ import { dropdownConfig } from '../../../../components/Dropdown';
11
+ import { Checkbox } from '../Checkbox/Checkbox';
12
+ import { Radiobox } from '../Radiobox/Radiobox';
13
+ import { Button } from '../Button/Button';
14
+
15
+ import { Dropdown, DropdownDivider, DropdownFooter, DropdownGroup, DropdownHeader, DropdownItem } from './Dropdown';
16
+ import { config } from './Dropdown.config';
17
+
18
+ type StoryDropdownPropsCustom = {
19
+ skidding?: number;
20
+ distance?: number;
21
+ };
22
+
23
+ type StoryDropdownProps = ComponentProps<typeof Dropdown> & StoryDropdownPropsCustom;
24
+
25
+ const placements: Array<string> = ['top', 'bottom', 'right', 'left', 'auto'];
26
+ const triggers: Array<string> = ['click', 'hover'];
27
+
28
+ const meta: Meta<StoryDropdownProps> = {
29
+ title: 'sds_engineer/Dropdown',
30
+ decorators: [WithTheme],
31
+ component: Dropdown,
32
+ argTypes: {
33
+ placement: {
34
+ options: placements,
35
+ control: {
36
+ type: 'select',
37
+ },
38
+ },
39
+ trigger: {
40
+ options: triggers,
41
+ control: {
42
+ type: 'select',
43
+ },
44
+ },
45
+ ...argTypesFromConfig(mergeConfig(dropdownConfig, config)),
46
+ },
47
+ args: {
48
+ placement: 'bottom',
49
+ trigger: 'click',
50
+ closeOnOverlayClick: true,
51
+ closeOnEsc: true,
52
+ isFocusTrapped: true,
53
+ skidding: 0,
54
+ distance: 6,
55
+ },
56
+ };
57
+
58
+ export default meta;
59
+
60
+ const StyledCheckbox = styled(Checkbox)`
61
+ margin-left: 0rem;
62
+ margin-bottom: 0rem;
63
+ `;
64
+
65
+ const StyledRadiobox = styled(Radiobox)`
66
+ margin-left: 0rem;
67
+ margin-bottom: 0rem;
68
+ `;
69
+
70
+ const headerClass = css`
71
+ text-transform: uppercase;
72
+ color: rgba(23, 23, 23, 0.56);
73
+ `;
74
+
75
+ const TrashIcon = (props) => (
76
+ <svg width="100%" viewBox="0 0 24 24" fill="none" {...props}>
77
+ <path
78
+ fillRule="evenodd"
79
+ clipRule="evenodd"
80
+ d="M8 5.5A2.5 2.5 0 0110.5 3h3A2.5 2.5 0 0116 5.5V6h-2v-.5a.5.5 0 00-.5-.5h-3a.5.5 0 00-.5.5V6H8v-.5zM4 8a1 1 0 011-1h14a1 1 0 110 2h-1v9.5a2.5 2.5 0 01-2.5 2.5h-7A2.5 2.5 0 016 18.5V9H5a1 1 0 01-1-1z"
81
+ fill="currentColor"
82
+ />
83
+ </svg>
84
+ );
85
+
86
+ const StyledTrashIcon = styled(TrashIcon)`
87
+ width: 1.25rem;
88
+ height: 1.25rem;
89
+ `;
90
+
91
+ const onChange = action('onChange');
92
+ const onSelect = action('onSelect');
93
+ const onClick = action('onClick');
94
+
95
+ const dropdownItems = [...Array(4).keys()].map((num) => ({
96
+ value: `item_${num}`,
97
+ child: `Item ${num}`,
98
+ }));
99
+
100
+ const StoryDefault = (args: StoryDropdownProps) => {
101
+ const [selected, setSelected] = useState('');
102
+ const [isOpen, setIsOpen] = useState(false);
103
+ const [isOpenDropdown2, setIsOpenDropdown2] = useState(false);
104
+
105
+ const onMainClose = () => {
106
+ setIsOpen(false);
107
+ setIsOpenDropdown2(false);
108
+ };
109
+
110
+ const onMainToggle = (openValue: boolean) => {
111
+ setIsOpen(openValue);
112
+
113
+ if (!openValue) {
114
+ onMainClose();
115
+ }
116
+ };
117
+
118
+ const handleSelect = (value: string, text: string) => {
119
+ setSelected(value);
120
+ onSelect(value, text);
121
+ };
122
+
123
+ return (
124
+ <div>
125
+ <h3>This is header</h3>
126
+ <Dropdown target={<Button>Target</Button>} isOpen={isOpen} onToggle={onMainToggle} {...args}>
127
+ <DropdownHeader className={headerClass}>Header</DropdownHeader>
128
+ <DropdownDivider />
129
+ {dropdownItems.map((item) => (
130
+ <DropdownItem
131
+ key={item.value}
132
+ isSelected={item.value === selected}
133
+ onSelect={() => handleSelect(item.value, item.child)}
134
+ onClick={onClick}
135
+ value={item.value}
136
+ >
137
+ {item.child}
138
+ </DropdownItem>
139
+ ))}
140
+ <Dropdown
141
+ target={<DropdownItem>Nested dropdown ➞</DropdownItem>}
142
+ onToggle={(is) => setIsOpenDropdown2(is)}
143
+ isOpen={isOpenDropdown2}
144
+ offset={[0, 0]}
145
+ >
146
+ <DropdownGroup label="This is radiogroup">
147
+ <DropdownItem
148
+ contentLeft={StyledRadiobox}
149
+ name="test"
150
+ value="1"
151
+ onChange={onChange}
152
+ text="Nested 1"
153
+ />
154
+
155
+ <DropdownItem
156
+ contentLeft={StyledRadiobox}
157
+ name="test"
158
+ value="2"
159
+ onChange={onChange}
160
+ text="Nested 2"
161
+ />
162
+ <DropdownItem
163
+ contentLeft={StyledRadiobox}
164
+ name="test"
165
+ value="3"
166
+ onChange={onChange}
167
+ text="Nested 3"
168
+ />
169
+ </DropdownGroup>
170
+ <DropdownItem contentLeft={StyledCheckbox} text="Nested 4" />
171
+ <DropdownItem contentRight={StyledCheckbox} text="Nested 5" />
172
+
173
+ <DropdownItem contentLeft={StyledTrashIcon} text="Nested 6" />
174
+ <Button onClick={() => setIsOpenDropdown2(false)}>Close nested</Button>
175
+ </Dropdown>
176
+
177
+ <DropdownItem onClick={onClick} value="disabled" disabled>
178
+ disabled
179
+ </DropdownItem>
180
+
181
+ <DropdownGroup label="Group">
182
+ <DropdownItem
183
+ contentLeft={StyledRadiobox}
184
+ name="test"
185
+ value="1"
186
+ disabled
187
+ onChange={onChange}
188
+ text="Disabled 1"
189
+ />
190
+
191
+ <DropdownItem name="test" value="2" disabled text="Disabled group 2" />
192
+ </DropdownGroup>
193
+
194
+ <DropdownDivider />
195
+ <DropdownFooter className={headerClass}>Footer</DropdownFooter>
196
+ </Dropdown>
197
+ </div>
198
+ );
199
+ };
200
+
201
+ export const Default: StoryObj<StoryDropdownProps> = {
202
+ render: (args) => <StoryDefault {...args} />,
203
+ };
204
+
205
+ const StoryContextMenu = (args: StoryDropdownProps) => {
206
+ const [contextPosition, setContextPosition] = useState([0, 0]);
207
+ const dropdownRef = useRef<HTMLDivElement | null>(null);
208
+ const [selected, setSelected] = useState('');
209
+ const [isOpen, setIsOpen] = useState(false);
210
+
211
+ const onMainToggle = (openValue: boolean) => {
212
+ setIsOpen(openValue);
213
+ };
214
+
215
+ const handleSelect = (value: string, text: string) => {
216
+ setSelected(value);
217
+ onSelect(value, text);
218
+ setIsOpen(false);
219
+ };
220
+
221
+ const onClickAway = (event: React.MouseEvent<HTMLDivElement>) => {
222
+ event.preventDefault();
223
+ if (dropdownRef?.current && !dropdownRef.current?.contains(event.target as Element)) {
224
+ setIsOpen(false);
225
+ }
226
+ };
227
+
228
+ const onContextMenu = (event: React.MouseEvent<HTMLDivElement>) => {
229
+ event.preventDefault();
230
+
231
+ const { clientX, clientY } = event;
232
+
233
+ setContextPosition([clientX, clientY]);
234
+ setIsOpen(true);
235
+ };
236
+
237
+ return (
238
+ <div
239
+ style={{
240
+ width: '100%',
241
+ height: '100%',
242
+ background: 'gainsboro',
243
+ }}
244
+ onClick={onClickAway}
245
+ onContextMenu={onContextMenu}
246
+ >
247
+ <div>Right-click the mouse button - to open</div>
248
+ <div>Left-click the mouse button - to close</div>
249
+ <div
250
+ ref={dropdownRef}
251
+ style={{ position: 'absolute', top: `${contextPosition[1]}px`, left: `${contextPosition[0]}px` }}
252
+ >
253
+ <Dropdown isOpen={isOpen} onToggle={onMainToggle} {...args}>
254
+ <DropdownHeader className={headerClass}>Header</DropdownHeader>
255
+ <DropdownDivider />
256
+ {dropdownItems.map((item) => (
257
+ <DropdownItem
258
+ key={item.value}
259
+ isSelected={item.value === selected}
260
+ onSelect={() => handleSelect(item.value, item.child)}
261
+ onClick={onClick}
262
+ value={item.value}
263
+ >
264
+ {item.child}
265
+ </DropdownItem>
266
+ ))}
267
+ <DropdownDivider />
268
+ <DropdownFooter className={headerClass}>Footer</DropdownFooter>
269
+ </Dropdown>
270
+ </div>
271
+ </div>
272
+ );
273
+ };
274
+
275
+ export const ContextMenu: StoryObj<StoryDropdownProps> = {
276
+ render: (args) => <StoryContextMenu {...args} />,
277
+ };
@@ -84,6 +84,10 @@ export interface Calendar extends HTMLAttributes<HTMLDivElement> {
84
84
  * Максимальное значение даты.
85
85
  */
86
86
  max?: Date;
87
+ /**
88
+ * Должны ли значения минимального и максимального дня включаться в диапазон.
89
+ */
90
+ includeEdgeDates?: boolean;
87
91
  /**
88
92
  * Список событий.
89
93
  */