@embeddable.com/remarkable-ui 0.0.3 → 0.0.5

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 (304) hide show
  1. package/dist/{ChartCard-LJ6ahXjM.js → ChartCard-16eSin79.js} +16633 -16381
  2. package/dist/ChartCard-16eSin79.js.map +1 -0
  3. package/dist/DateRangeSelectFieldPro.js +61 -0
  4. package/dist/DateRangeSelectFieldPro.js.map +1 -0
  5. package/dist/DonutChartPro.js +18 -61
  6. package/dist/DonutChartPro.js.map +1 -1
  7. package/dist/DonutLabelChartPro.js +20 -79
  8. package/dist/DonutLabelChartPro.js.map +1 -1
  9. package/dist/{EditorCard-ESCNXU4p.js → EditorCard-Bdzz4bjt.js} +14 -14
  10. package/dist/{EditorCard-ESCNXU4p.js.map → EditorCard-Bdzz4bjt.js.map} +1 -1
  11. package/dist/MultiSelectFieldPro.js +31 -198
  12. package/dist/MultiSelectFieldPro.js.map +1 -1
  13. package/dist/PieChartPro.js +18 -61
  14. package/dist/PieChartPro.js.map +1 -1
  15. package/dist/SingleSelectField-CGJ5vMk3.js +89 -0
  16. package/dist/SingleSelectField-CGJ5vMk3.js.map +1 -0
  17. package/dist/SingleSelectFieldPro.js +31 -139
  18. package/dist/SingleSelectFieldPro.js.map +1 -1
  19. package/dist/_commonjsHelpers-C6fGbg64.js +7 -0
  20. package/dist/_commonjsHelpers-C6fGbg64.js.map +1 -0
  21. package/dist/af-CfPbs4CZ.js +43 -0
  22. package/dist/af-CfPbs4CZ.js.map +1 -0
  23. package/dist/am-82sxbzmd.js +43 -0
  24. package/dist/am-82sxbzmd.js.map +1 -0
  25. package/dist/ar-hoQb_BPs.js +53 -0
  26. package/dist/ar-hoQb_BPs.js.map +1 -0
  27. package/dist/az-DsjCHPvJ.js +43 -0
  28. package/dist/az-DsjCHPvJ.js.map +1 -0
  29. package/dist/be-BKIOd3Y6.js +43 -0
  30. package/dist/be-BKIOd3Y6.js.map +1 -0
  31. package/dist/bg-BHf0PmK_.js +46 -0
  32. package/dist/bg-BHf0PmK_.js.map +1 -0
  33. package/dist/bi-C43jk0lT.js +43 -0
  34. package/dist/bi-C43jk0lT.js.map +1 -0
  35. package/dist/bm-Dc474WhU.js +43 -0
  36. package/dist/bm-Dc474WhU.js.map +1 -0
  37. package/dist/bn-rwSrh5Vj.js +51 -0
  38. package/dist/bn-rwSrh5Vj.js.map +1 -0
  39. package/dist/bo-DBc_zXUv.js +43 -0
  40. package/dist/bo-DBc_zXUv.js.map +1 -0
  41. package/dist/br-BLhqsInx.js +67 -0
  42. package/dist/br-BLhqsInx.js.map +1 -0
  43. package/dist/bs-RVJnwPVu.js +43 -0
  44. package/dist/bs-RVJnwPVu.js.map +1 -0
  45. package/dist/ca-iek425_C.js +43 -0
  46. package/dist/ca-iek425_C.js.map +1 -0
  47. package/dist/{component.constants-DeKHmTqm.js → component.constants-ChubamQR.js} +2186 -2181
  48. package/dist/component.constants-ChubamQR.js.map +1 -0
  49. package/dist/cs-NhbwRv_4.js +74 -0
  50. package/dist/cs-NhbwRv_4.js.map +1 -0
  51. package/dist/cv-DTPIHaV8.js +43 -0
  52. package/dist/cv-DTPIHaV8.js.map +1 -0
  53. package/dist/cy-CMJ5D_Li.js +43 -0
  54. package/dist/cy-CMJ5D_Li.js.map +1 -0
  55. package/dist/da-CHoc0vZZ.js +43 -0
  56. package/dist/da-CHoc0vZZ.js.map +1 -0
  57. package/dist/de-iW02wWL7.js +48 -0
  58. package/dist/de-iW02wWL7.js.map +1 -0
  59. package/dist/dv-BI01SZPE.js +43 -0
  60. package/dist/dv-BI01SZPE.js.map +1 -0
  61. package/dist/el-D2RZAb7x.js +43 -0
  62. package/dist/el-D2RZAb7x.js.map +1 -0
  63. package/dist/embeddable-components.json +5 -4
  64. package/dist/embeddable-theme-2b917.js +18298 -18048
  65. package/dist/en-C1HUnsN2.js +39 -0
  66. package/dist/en-C1HUnsN2.js.map +1 -0
  67. package/dist/eo-BjlTLG4R.js +43 -0
  68. package/dist/eo-BjlTLG4R.js.map +1 -0
  69. package/dist/es-BZTH7akN.js +43 -0
  70. package/dist/es-BZTH7akN.js.map +1 -0
  71. package/dist/et-D72kdYJR.js +48 -0
  72. package/dist/et-D72kdYJR.js.map +1 -0
  73. package/dist/eu-BcJ5zftk.js +43 -0
  74. package/dist/eu-BcJ5zftk.js.map +1 -0
  75. package/dist/fa-BjRChmKE.js +43 -0
  76. package/dist/fa-BjRChmKE.js.map +1 -0
  77. package/dist/fi-D3s__sR3.js +48 -0
  78. package/dist/fi-D3s__sR3.js.map +1 -0
  79. package/dist/fo-Bu2E0p4m.js +43 -0
  80. package/dist/fo-Bu2E0p4m.js.map +1 -0
  81. package/dist/formatter.utils-BxxcDs9R.js +36 -0
  82. package/dist/formatter.utils-BxxcDs9R.js.map +1 -0
  83. package/dist/fr-BRDFNX4_.js +43 -0
  84. package/dist/fr-BRDFNX4_.js.map +1 -0
  85. package/dist/fy-DQ6Pv48o.js +43 -0
  86. package/dist/fy-DQ6Pv48o.js.map +1 -0
  87. package/dist/ga-Dq82G8yv.js +43 -0
  88. package/dist/ga-Dq82G8yv.js.map +1 -0
  89. package/dist/gd-DA2rJUW1.js +43 -0
  90. package/dist/gd-DA2rJUW1.js.map +1 -0
  91. package/dist/gl-BnwH3E6Q.js +43 -0
  92. package/dist/gl-BnwH3E6Q.js.map +1 -0
  93. package/dist/gu-DkOiBOi9.js +43 -0
  94. package/dist/gu-DkOiBOi9.js.map +1 -0
  95. package/dist/he-DQvvAgwK.js +47 -0
  96. package/dist/he-DQvvAgwK.js.map +1 -0
  97. package/dist/hi-c_SLlWzk.js +43 -0
  98. package/dist/hi-c_SLlWzk.js.map +1 -0
  99. package/dist/hr-CV1J7S9_.js +47 -0
  100. package/dist/hr-CV1J7S9_.js.map +1 -0
  101. package/dist/ht-C2goHHYZ.js +43 -0
  102. package/dist/ht-C2goHHYZ.js.map +1 -0
  103. package/dist/hu-BXEfGOEu.js +65 -0
  104. package/dist/hu-BXEfGOEu.js.map +1 -0
  105. package/dist/id-CWFvMDlJ.js +43 -0
  106. package/dist/id-CWFvMDlJ.js.map +1 -0
  107. package/dist/index-BmXdKHMF.js +56 -0
  108. package/dist/index-BmXdKHMF.js.map +1 -0
  109. package/dist/index-Bv2G17nj.js +72 -0
  110. package/dist/index-Bv2G17nj.js.map +1 -0
  111. package/dist/index-CdKU0sfg.js +471 -0
  112. package/dist/index-CdKU0sfg.js.map +1 -0
  113. package/dist/index-CfE1mzTX.js +56 -0
  114. package/dist/index-CfE1mzTX.js.map +1 -0
  115. package/dist/index-CoGUszim.js +46 -0
  116. package/dist/index-CoGUszim.js.map +1 -0
  117. package/dist/index-DeM-YRml.js +184 -0
  118. package/dist/index-DeM-YRml.js.map +1 -0
  119. package/dist/index.d.ts +2 -5
  120. package/dist/index.d.ts.map +1 -1
  121. package/dist/index.js +65 -0
  122. package/dist/index.js.map +1 -0
  123. package/dist/is-BRhPon1H.js +51 -0
  124. package/dist/is-BRhPon1H.js.map +1 -0
  125. package/dist/it-Cz9Tljvn.js +43 -0
  126. package/dist/it-Cz9Tljvn.js.map +1 -0
  127. package/dist/ja-CwmTM63p.js +45 -0
  128. package/dist/ja-CwmTM63p.js.map +1 -0
  129. package/dist/jv-Cf7LoUSk.js +43 -0
  130. package/dist/jv-Cf7LoUSk.js.map +1 -0
  131. package/dist/ka-limaAYM6.js +43 -0
  132. package/dist/ka-limaAYM6.js.map +1 -0
  133. package/dist/kk-CfknvN78.js +43 -0
  134. package/dist/kk-CfknvN78.js.map +1 -0
  135. package/dist/km-QyubSlYs.js +43 -0
  136. package/dist/km-QyubSlYs.js.map +1 -0
  137. package/dist/kn-Be-40SZ-.js +43 -0
  138. package/dist/kn-Be-40SZ-.js.map +1 -0
  139. package/dist/ko-BeOkQXEt.js +45 -0
  140. package/dist/ko-BeOkQXEt.js.map +1 -0
  141. package/dist/ku-C_gdKTMU.js +53 -0
  142. package/dist/ku-C_gdKTMU.js.map +1 -0
  143. package/dist/ky-D9yEI8MZ.js +43 -0
  144. package/dist/ky-D9yEI8MZ.js.map +1 -0
  145. package/dist/lb-DVnoQqR7.js +43 -0
  146. package/dist/lb-DVnoQqR7.js.map +1 -0
  147. package/dist/lo-C4gu4JzI.js +43 -0
  148. package/dist/lo-C4gu4JzI.js.map +1 -0
  149. package/dist/lt-D9hJs5RU.js +47 -0
  150. package/dist/lt-D9hJs5RU.js.map +1 -0
  151. package/dist/lv-DDPJ54NJ.js +43 -0
  152. package/dist/lv-DDPJ54NJ.js.map +1 -0
  153. package/dist/me-Cn0ddOiC.js +43 -0
  154. package/dist/me-Cn0ddOiC.js.map +1 -0
  155. package/dist/mi-DrMeoa1G.js +43 -0
  156. package/dist/mi-DrMeoa1G.js.map +1 -0
  157. package/dist/mk-CBqta5EQ.js +43 -0
  158. package/dist/mk-CBqta5EQ.js.map +1 -0
  159. package/dist/ml-rvAHxsr1.js +43 -0
  160. package/dist/ml-rvAHxsr1.js.map +1 -0
  161. package/dist/mn-DfVY4WTW.js +43 -0
  162. package/dist/mn-DfVY4WTW.js.map +1 -0
  163. package/dist/mr-63t12AWk.js +43 -0
  164. package/dist/mr-63t12AWk.js.map +1 -0
  165. package/dist/ms-UcXbq9JC.js +43 -0
  166. package/dist/ms-UcXbq9JC.js.map +1 -0
  167. package/dist/mt-rCo8Uzlk.js +43 -0
  168. package/dist/mt-rCo8Uzlk.js.map +1 -0
  169. package/dist/my-CGyO1_RS.js +43 -0
  170. package/dist/my-CGyO1_RS.js.map +1 -0
  171. package/dist/nb-BL2wbPrh.js +43 -0
  172. package/dist/nb-BL2wbPrh.js.map +1 -0
  173. package/dist/ne-AGQtezoU.js +45 -0
  174. package/dist/ne-AGQtezoU.js.map +1 -0
  175. package/dist/nl-yn84vEwj.js +43 -0
  176. package/dist/nl-yn84vEwj.js.map +1 -0
  177. package/dist/nn-BPUd2PNN.js +43 -0
  178. package/dist/nn-BPUd2PNN.js.map +1 -0
  179. package/dist/pl-1lpgnEAB.js +68 -0
  180. package/dist/pl-1lpgnEAB.js.map +1 -0
  181. package/dist/pt-DJY87N92.js +43 -0
  182. package/dist/pt-DJY87N92.js.map +1 -0
  183. package/dist/remarkable-pro/components/charts/shared/ChartCard/ChartCardMenuPro/ChartCardMenuPro.constants.d.ts +3 -0
  184. package/dist/remarkable-pro/components/charts/shared/ChartCard/ChartCardMenuPro/ChartCardMenuPro.constants.d.ts.map +1 -0
  185. package/dist/remarkable-pro/components/charts/shared/ChartCard/ChartCardMenuPro/ChartCardMenuPro.d.ts +6 -0
  186. package/dist/remarkable-pro/components/charts/shared/ChartCard/ChartCardMenuPro/ChartCardMenuPro.d.ts.map +1 -0
  187. package/dist/remarkable-pro/components/charts/shared/ChartCard/{ChartCardMenu/ChartCardMenu.stories.d.ts → ChartCardMenuPro/ChartCardMenuPro.stories.d.ts} +2 -2
  188. package/dist/remarkable-pro/components/charts/shared/ChartCard/ChartCardMenuPro/ChartCardMenuPro.stories.d.ts.map +1 -0
  189. package/dist/remarkable-pro/components/charts/shared/ChartCard/ChartCardMenuPro/ChartCardMenuPro.types.d.ts +15 -0
  190. package/dist/remarkable-pro/components/charts/shared/ChartCard/ChartCardMenuPro/ChartCardMenuPro.types.d.ts.map +1 -0
  191. package/dist/remarkable-pro/components/editors/DateRangeSelectFieldPro/DateRangeSelectFieldPro.constants.d.ts +3 -0
  192. package/dist/remarkable-pro/components/editors/DateRangeSelectFieldPro/DateRangeSelectFieldPro.constants.d.ts.map +1 -0
  193. package/dist/remarkable-pro/components/editors/DateRangeSelectFieldPro/DateRangeSelectFieldPro.types.d.ts +8 -0
  194. package/dist/remarkable-pro/components/editors/DateRangeSelectFieldPro/DateRangeSelectFieldPro.types.d.ts.map +1 -0
  195. package/dist/remarkable-pro/components/editors/DateRangeSelectFieldPro/DateRangeSelectFieldPro.utils.d.ts +7 -0
  196. package/dist/remarkable-pro/components/editors/DateRangeSelectFieldPro/DateRangeSelectFieldPro.utils.d.ts.map +1 -0
  197. package/dist/remarkable-pro/components/editors/DateRangeSelectFieldPro/index.d.ts +11 -0
  198. package/dist/remarkable-pro/components/editors/DateRangeSelectFieldPro/index.d.ts.map +1 -0
  199. package/dist/remarkable-pro/components/editors/DateRangeSelectFieldPro/index.stories.d.ts +15 -0
  200. package/dist/remarkable-pro/components/editors/DateRangeSelectFieldPro/index.stories.d.ts.map +1 -0
  201. package/dist/remarkable-pro/index.d.ts +18 -0
  202. package/dist/remarkable-pro/index.d.ts.map +1 -0
  203. package/dist/remarkable-pro/theme/formatter/formatter.constants.d.ts +1 -1
  204. package/dist/remarkable-pro/theme/formatter/formatter.constants.d.ts.map +1 -1
  205. package/dist/remarkable-pro/theme/i18n/i18n.d.ts.map +1 -1
  206. package/dist/remarkable-pro/theme/i18n/translations/de.d.ts.map +1 -1
  207. package/dist/remarkable-pro/theme/i18n/translations/en.d.ts.map +1 -1
  208. package/dist/remarkable-pro/theme/styles/styles.constants.d.ts +1 -1
  209. package/dist/remarkable-pro/theme/styles/styles.constants.d.ts.map +1 -1
  210. package/dist/remarkable-pro/theme/theme.constants.d.ts +0 -14
  211. package/dist/remarkable-pro/theme/theme.constants.d.ts.map +1 -1
  212. package/dist/remarkable-pro/theme/theme.types.d.ts +29 -24
  213. package/dist/remarkable-pro/theme/theme.types.d.ts.map +1 -1
  214. package/dist/remarkable-pro/theme/utils/export.utils.d.ts +4 -4
  215. package/dist/remarkable-pro/theme/utils/export.utils.d.ts.map +1 -1
  216. package/dist/remarkable-pro/types/deep-partial.d.ts +4 -0
  217. package/dist/remarkable-pro/types/deep-partial.d.ts.map +1 -0
  218. package/dist/remarkable-pro/utils.ts/date.utils.d.ts +9 -0
  219. package/dist/remarkable-pro/utils.ts/date.utils.d.ts.map +1 -0
  220. package/dist/remarkable-ui/editors/select/SingleSelectField/SingleSelectField.d.ts +3 -0
  221. package/dist/remarkable-ui/editors/select/SingleSelectField/SingleSelectField.d.ts.map +1 -1
  222. package/dist/remarkable-ui/editors/select/SingleSelectField/SingleSelectField.stories.d.ts +1 -0
  223. package/dist/remarkable-ui/editors/select/SingleSelectField/SingleSelectField.stories.d.ts.map +1 -1
  224. package/dist/remarkable-ui/editors/select/shared/SelectButton/SelectButton.d.ts +2 -0
  225. package/dist/remarkable-ui/editors/select/shared/SelectButton/SelectButton.d.ts.map +1 -1
  226. package/dist/remarkable-ui/editors/select/shared/SelectList/SelectListOptions/SelectListOption/SelectListOption.d.ts +6 -1
  227. package/dist/remarkable-ui/editors/select/shared/SelectList/SelectListOptions/SelectListOption/SelectListOption.d.ts.map +1 -1
  228. package/dist/remarkable-ui/index.d.ts +1 -1
  229. package/dist/remarkable-ui/index.d.ts.map +1 -1
  230. package/dist/remarkable-ui/shared/Dropdown/Dropdown.d.ts +3 -0
  231. package/dist/remarkable-ui/shared/Dropdown/Dropdown.d.ts.map +1 -1
  232. package/dist/remarkable-ui/shared/Typography/Typography.d.ts +2 -1
  233. package/dist/remarkable-ui/shared/Typography/Typography.d.ts.map +1 -1
  234. package/dist/remarkable-ui.css +1 -1
  235. package/dist/ro-DDTOgpAN.js +43 -0
  236. package/dist/ro-DDTOgpAN.js.map +1 -0
  237. package/dist/ru-DVwFAgXw.js +58 -0
  238. package/dist/ru-DVwFAgXw.js.map +1 -0
  239. package/dist/rw-DTsFUP53.js +43 -0
  240. package/dist/rw-DTsFUP53.js.map +1 -0
  241. package/dist/sd-BI2xKzll.js +43 -0
  242. package/dist/sd-BI2xKzll.js.map +1 -0
  243. package/dist/se-ojAU5c1E.js +43 -0
  244. package/dist/se-ojAU5c1E.js.map +1 -0
  245. package/dist/si-arG1R8cb.js +43 -0
  246. package/dist/si-arG1R8cb.js.map +1 -0
  247. package/dist/sk-Berh1ALh.js +74 -0
  248. package/dist/sk-Berh1ALh.js.map +1 -0
  249. package/dist/sl-BB1RneJr.js +77 -0
  250. package/dist/sl-BB1RneJr.js.map +1 -0
  251. package/dist/sq-B0dmmDN3.js +43 -0
  252. package/dist/sq-B0dmmDN3.js.map +1 -0
  253. package/dist/sr-DLlPJzLb.js +50 -0
  254. package/dist/sr-DLlPJzLb.js.map +1 -0
  255. package/dist/ss-BKts_ooV.js +43 -0
  256. package/dist/ss-BKts_ooV.js.map +1 -0
  257. package/dist/sv-D_WLq-R-.js +44 -0
  258. package/dist/sv-D_WLq-R-.js.map +1 -0
  259. package/dist/sw-C0Suosqe.js +43 -0
  260. package/dist/sw-C0Suosqe.js.map +1 -0
  261. package/dist/ta-kNrqPmKK.js +43 -0
  262. package/dist/ta-kNrqPmKK.js.map +1 -0
  263. package/dist/te-BANNWJci.js +43 -0
  264. package/dist/te-BANNWJci.js.map +1 -0
  265. package/dist/tet-Bnc7Oi77.js +43 -0
  266. package/dist/tet-Bnc7Oi77.js.map +1 -0
  267. package/dist/tg-BNinNuXe.js +43 -0
  268. package/dist/tg-BNinNuXe.js.map +1 -0
  269. package/dist/th-DktvXhyQ.js +43 -0
  270. package/dist/th-DktvXhyQ.js.map +1 -0
  271. package/dist/tk-BXxoFRV5.js +43 -0
  272. package/dist/tk-BXxoFRV5.js.map +1 -0
  273. package/dist/tlh-BFPCOmky.js +43 -0
  274. package/dist/tlh-BFPCOmky.js.map +1 -0
  275. package/dist/tr-BJS_bKa-.js +43 -0
  276. package/dist/tr-BJS_bKa-.js.map +1 -0
  277. package/dist/tzl-DVwD2P9I.js +43 -0
  278. package/dist/tzl-DVwD2P9I.js.map +1 -0
  279. package/dist/tzm-DB-SUH5O.js +43 -0
  280. package/dist/tzm-DB-SUH5O.js.map +1 -0
  281. package/dist/uk-Cpy2iuKy.js +52 -0
  282. package/dist/uk-Cpy2iuKy.js.map +1 -0
  283. package/dist/ur-CBQKUodq.js +43 -0
  284. package/dist/ur-CBQKUodq.js.map +1 -0
  285. package/dist/uz-D5rWe8Rh.js +43 -0
  286. package/dist/uz-D5rWe8Rh.js.map +1 -0
  287. package/dist/vi-DIfVrPcF.js +43 -0
  288. package/dist/vi-DIfVrPcF.js.map +1 -0
  289. package/dist/x-pseudo-DefOUptB.js +43 -0
  290. package/dist/x-pseudo-DefOUptB.js.map +1 -0
  291. package/dist/yo-6Eu9o4-0.js +43 -0
  292. package/dist/yo-6Eu9o4-0.js.map +1 -0
  293. package/dist/zh-cn-CkmBPEVN.js +46 -0
  294. package/dist/zh-cn-CkmBPEVN.js.map +1 -0
  295. package/dist/zh-hk-1nA6_LH-.js +46 -0
  296. package/dist/zh-hk-1nA6_LH-.js.map +1 -0
  297. package/dist/zh-tw-Cofa8BiB.js +46 -0
  298. package/dist/zh-tw-Cofa8BiB.js.map +1 -0
  299. package/package.json +3 -1
  300. package/dist/ChartCard-LJ6ahXjM.js.map +0 -1
  301. package/dist/component.constants-DeKHmTqm.js.map +0 -1
  302. package/dist/remarkable-pro/components/charts/shared/ChartCard/ChartCardMenu/ChartCardMenu.d.ts +0 -6
  303. package/dist/remarkable-pro/components/charts/shared/ChartCard/ChartCardMenu/ChartCardMenu.d.ts.map +0 -1
  304. package/dist/remarkable-pro/components/charts/shared/ChartCard/ChartCardMenu/ChartCardMenu.stories.d.ts.map +0 -1
@@ -1,192 +1,25 @@
1
- import { useTheme as w, defineComponent as z } from "@embeddable.com/react";
2
- import { j as s, A as E, T as R, o as k, q as $, S as H, B as J, u as F, E as K, r as W, h as X, n as G, d as Q, b as M, t as U, c as Y, F as Z, V as D, l as ee } from "./component.constants-DeKHmTqm.js";
3
- import { u as te, d as se, I as ae, S as le, E as ne } from "./EditorCard-ESCNXU4p.js";
4
- import { useState as x, useRef as oe, useEffect as V, useMemo as ie } from "react";
5
- const re = "_button_yvk40_1", ce = "_primary_yvk40_26", ue = "_secondary_yvk40_40", de = "_medium_yvk40_54", me = "_small_yvk40_71", j = {
6
- button: re,
7
- primary: ce,
8
- secondary: ue,
9
- medium: de,
10
- small: me
11
- }, pe = ({
12
- variant: t,
13
- startIcon: o,
14
- endIcon: l,
15
- size: d,
16
- className: m,
17
- children: r,
18
- ...p
19
- }) => /* @__PURE__ */ s.jsxs("button", { ...p, className: E(j.button, j[t], j[d], m), children: [
20
- o && /* @__PURE__ */ s.jsx(o, {}),
21
- /* @__PURE__ */ s.jsx(R, { as: "span", children: r }),
22
- l && /* @__PURE__ */ s.jsx(l, {})
23
- ] });
24
- /**
25
- * @license @tabler/icons-react v3.34.1 - MIT
26
- *
27
- * This source code is licensed under the MIT license.
28
- * See the LICENSE file in the root directory of this source tree.
29
- */
30
- const he = [["path", { d: "M3 3m0 2a2 2 0 0 1 2 -2h14a2 2 0 0 1 2 2v14a2 2 0 0 1 -2 2h-14a2 2 0 0 1 -2 -2z", key: "svg-0" }]], be = k("outline", "square", "Square", he);
31
- /**
32
- * @license @tabler/icons-react v3.34.1 - MIT
33
- *
34
- * This source code is licensed under the MIT license.
35
- * See the LICENSE file in the root directory of this source tree.
36
- */
37
- const fe = [["path", { d: "M18.333 2c1.96 0 3.56 1.537 3.662 3.472l.005 .195v12.666c0 1.96 -1.537 3.56 -3.472 3.662l-.195 .005h-12.666a3.667 3.667 0 0 1 -3.662 -3.472l-.005 -.195v-12.666c0 -1.96 1.537 -3.56 3.472 -3.662l.195 -.005h12.666zm-2.626 7.293a1 1 0 0 0 -1.414 0l-3.293 3.292l-1.293 -1.292l-.094 -.083a1 1 0 0 0 -1.32 1.497l2 2l.094 .083a1 1 0 0 0 1.32 -.083l4 -4l.083 -.094a1 1 0 0 0 -.083 -1.32z", key: "svg-0" }]], ye = k("filled", "square-check-filled", "SquareCheckFilled", fe), ve = "_submitButton_1e96n_1", ge = {
38
- submitButton: ve
39
- }, xe = ({
40
- disabled: t,
41
- isClearable: o,
42
- isLoading: l,
43
- isSearchable: d,
44
- noOptionsMessage: m,
45
- options: r,
46
- placeholder: p,
47
- submitLabel: _ = "Apply",
48
- values: a = [],
49
- onChange: f,
50
- onSearch: n
51
- }) => {
52
- const [h, y] = x(!1), [v, b] = x(""), [c, u] = x(a), [q, C] = x(""), O = oe(null);
53
- te(h, O), V(() => {
54
- u(a);
55
- }, [JSON.stringify(a)]), V(() => {
56
- if (l)
57
- return;
58
- if (!a || a.length === 0) {
59
- C("");
60
- return;
61
- }
62
- const e = a.map(
63
- (i) => {
64
- var g;
65
- return ((g = r.find((A) => A.value === i)) == null ? void 0 : g.label) ?? i;
66
- }
67
- );
68
- if (e.length > 0) {
69
- const i = e.join(", ");
70
- C(`(${e.length}) ${i}`);
71
- }
72
- }, [a, r, l]);
73
- const S = ie(() => n ? se(n) : void 0, [n]), B = d && !n ? r.filter((e) => e.label.toLowerCase().includes(v.toLowerCase())) : r, I = c.every((e) => a.includes(e)) && a.every((e) => c.includes(e)), P = (e, i) => {
74
- e.preventDefault(), i && (c.includes(i) ? u(c.filter((g) => g !== i)) : u([...c, i]));
75
- }, L = (e) => {
76
- b(e), S == null || S(e);
77
- }, N = (e) => {
78
- f(e), y(!1), b(""), n == null || n("");
79
- }, T = () => {
80
- b(""), n == null || n(""), f([]);
81
- };
82
- return /* @__PURE__ */ s.jsx(
83
- $,
84
- {
85
- open: h,
86
- onOpenChange: y,
87
- disabled: t,
88
- triggerComponent: /* @__PURE__ */ s.jsx(
89
- K,
90
- {
91
- "aria-label": "Select options",
92
- placeholder: p,
93
- disabled: t,
94
- valueLabel: q,
95
- onClear: T,
96
- isClearable: o,
97
- isLoading: l
98
- }
99
- ),
100
- children: /* @__PURE__ */ s.jsxs(H, { children: [
101
- d && /* @__PURE__ */ s.jsx(
102
- J,
103
- {
104
- ref: O,
105
- startIcon: ae,
106
- "aria-label": "Search options",
107
- placeholder: "Search…",
108
- role: "searchbox",
109
- value: v,
110
- onKeyDown: (e) => e.stopPropagation(),
111
- onChange: L
112
- }
113
- ),
114
- /* @__PURE__ */ s.jsxs(le, { disabled: l, children: [
115
- B.map((e) => /* @__PURE__ */ s.jsx(
116
- F,
117
- {
118
- onClick: (i) => P(i, e.value),
119
- startIcon: c.includes(e.value) ? /* @__PURE__ */ s.jsx(ye, {}) : /* @__PURE__ */ s.jsx(be, {}),
120
- ...e
121
- },
122
- (e == null ? void 0 : e.value) ?? e.label
123
- )),
124
- m && /* @__PURE__ */ s.jsx(F, { disabled: !0, value: "empty", label: m })
125
- ] }),
126
- /* @__PURE__ */ s.jsx(
127
- pe,
128
- {
129
- className: ge.submitButton,
130
- disabled: I || l,
131
- variant: "primary",
132
- size: "medium",
133
- onClick: () => N(c),
134
- role: "button",
135
- children: _
136
- }
137
- )
138
- ] })
139
- }
140
- );
141
- }, _e = 200, Se = (t) => {
142
- var b, c;
143
- const o = w(), l = X(o), {
144
- title: d,
145
- description: m,
146
- dimension: r,
147
- optionalSecondDimension: p,
148
- placeholder: _,
149
- results: a,
150
- selectedValues: f,
151
- setSearchValue: n,
152
- onChange: h
153
- } = W(t), y = ((b = a.data) == null ? void 0 : b.map((u) => ({
154
- value: p ? u[p.name] : u[r.name],
155
- label: l.data(r, u[r.name])
156
- }))) ?? [], v = !a.isLoading && (((c = a.data) == null ? void 0 : c.length) ?? 0) === 0;
157
- return /* @__PURE__ */ s.jsx(ne, { title: d, subtitle: m, children: /* @__PURE__ */ s.jsx(
158
- xe,
159
- {
160
- isClearable: !0,
161
- isSearchable: !0,
162
- isLoading: a.isLoading,
163
- values: f ?? [],
164
- options: y,
165
- placeholder: _,
166
- noOptionsMessage: v ? G.t("common.noOptionsFound") : void 0,
167
- onChange: (u) => h == null ? void 0 : h(u),
168
- onSearch: n
169
- }
170
- ) });
171
- }, je = {
1
+ import { defineComponent as r } from "@embeddable.com/react";
2
+ import { t as s, u as l, w as d, x as u, E as m, V as n, F as p } from "./component.constants-ChubamQR.js";
3
+ import { a as c, b as f } from "./index-DeM-YRml.js";
4
+ const g = {
172
5
  name: "MultiSelectFieldPro",
173
6
  label: "Multi Select Field",
174
7
  category: "Dropdowns",
175
8
  defaultWidth: 200,
176
- defaultHeight: 40,
9
+ defaultHeight: 120,
177
10
  inputs: [
178
- Q,
179
- { ...M, label: "Dimension (to load Dropdown values)" },
11
+ s,
12
+ { ...l, label: "Dimension (to load Dropdown values)" },
180
13
  {
181
- ...M,
14
+ ...l,
182
15
  required: !1,
183
16
  name: "optionalSecondDimension",
184
17
  label: "Optional second dimension for filtering",
185
18
  description: "A hidden dimension applied for filtering instead of the main dimension. Must be unique."
186
19
  },
187
- U,
188
- Y,
189
- { ...Z, defaultValue: "Select value..." },
20
+ d,
21
+ u,
22
+ { ...m, defaultValue: "Select value..." },
190
23
  {
191
24
  name: "selectedValues",
192
25
  type: "string",
@@ -199,7 +32,7 @@ const fe = [["path", { d: "M18.333 2c1.96 0 3.56 1.537 3.662 3.472l.005 .195v12.
199
32
  type: "number",
200
33
  label: "Maximum options",
201
34
  category: "Pre-configured variables",
202
- defaultValue: _e
35
+ defaultValue: c
203
36
  }
204
37
  ],
205
38
  events: [
@@ -220,40 +53,40 @@ const fe = [["path", { d: "M18.333 2c1.96 0 3.56 1.537 3.662 3.472l.005 .195v12.
220
53
  name: "Multi-select values",
221
54
  type: "string",
222
55
  array: !0,
223
- defaultValue: D.noFilter(),
56
+ defaultValue: n.noFilter(),
224
57
  inputs: ["selectedValues"],
225
58
  events: [{ name: "onChange", property: "value" }]
226
59
  }
227
60
  ]
228
- }, Ve = z(Se, je, {
229
- props: (t, [o, l]) => {
230
- const d = t.dimension.nativeType === "string" ? "contains" : "equals";
61
+ }, y = r(f, g, {
62
+ props: (e, [a, i]) => {
63
+ const o = e.dimension.nativeType === "string" ? "contains" : "equals";
231
64
  return {
232
- ...t,
233
- maxOptions: t.maxOptions,
234
- setSearchValue: (m) => l({ searchValue: m }),
235
- results: ee({
236
- limit: t.maxOptions,
237
- from: t.dataset,
238
- select: [t.dimension, t.optionalSecondDimension].filter(Boolean),
239
- filters: o != null && o.searchValue ? [
65
+ ...e,
66
+ maxOptions: e.maxOptions,
67
+ setSearchValue: (t) => i({ searchValue: t }),
68
+ results: p({
69
+ limit: e.maxOptions,
70
+ from: e.dataset,
71
+ select: [e.dimension, e.optionalSecondDimension].filter(Boolean),
72
+ filters: a != null && a.searchValue ? [
240
73
  {
241
- operator: d,
242
- property: t.dimension,
243
- value: o.searchValue
74
+ operator: o,
75
+ property: e.dimension,
76
+ value: a.searchValue
244
77
  }
245
78
  ] : void 0
246
79
  })
247
80
  };
248
81
  },
249
82
  events: {
250
- onChange: (t) => ({
251
- value: t.length ? t : D.noFilter()
83
+ onChange: (e) => ({
84
+ value: e.length ? e : n.noFilter()
252
85
  })
253
86
  }
254
87
  });
255
88
  export {
256
- Ve as default,
257
- je as meta
89
+ y as default,
90
+ g as meta
258
91
  };
259
92
  //# sourceMappingURL=MultiSelectFieldPro.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MultiSelectFieldPro.js","sources":["../src/remarkable-ui/shared/Button/Button.tsx","../node_modules/@tabler/icons-react/dist/esm/icons/IconSquare.mjs","../node_modules/@tabler/icons-react/dist/esm/icons/IconSquareCheckFilled.mjs","../src/remarkable-ui/editors/select/MultiSelectField/MultiSelectField.tsx","../src/remarkable-pro/components/editors/MultiSelectFieldPro/index.tsx","../src/remarkable-pro/components/editors/MultiSelectFieldPro/MultiSelectFieldPro.emb.ts"],"sourcesContent":["import { TablerIcon } from '@tabler/icons-react';\nimport clsx from 'clsx';\nimport styles from './Button.module.css';\nimport { Typography } from '../Typography/Typography';\n\ntype ButtonProps = React.ButtonHTMLAttributes<HTMLButtonElement> & {\n startIcon?: TablerIcon;\n endIcon?: TablerIcon;\n children: string;\n variant: 'primary' | 'secondary';\n size: 'small' | 'medium';\n};\n\nexport const Button: React.FC<ButtonProps> = ({\n variant,\n startIcon: StartIcon,\n endIcon: EndIcon,\n size,\n className,\n children,\n ...props\n}) => {\n return (\n <button {...props} className={clsx(styles.button, styles[variant], styles[size], className)}>\n {StartIcon && <StartIcon />}\n <Typography as=\"span\">{children}</Typography>\n {EndIcon && <EndIcon />}\n </button>\n );\n};\n","/**\n * @license @tabler/icons-react v3.34.1 - MIT\n *\n * This source code is licensed under the MIT license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createReactComponent from '../createReactComponent.mjs';\n\nconst __iconNode = [[\"path\", { \"d\": \"M3 3m0 2a2 2 0 0 1 2 -2h14a2 2 0 0 1 2 2v14a2 2 0 0 1 -2 2h-14a2 2 0 0 1 -2 -2z\", \"key\": \"svg-0\" }]];\nconst IconSquare = createReactComponent(\"outline\", \"square\", \"Square\", __iconNode);\n\nexport { __iconNode, IconSquare as default };\n//# sourceMappingURL=IconSquare.mjs.map\n","/**\n * @license @tabler/icons-react v3.34.1 - MIT\n *\n * This source code is licensed under the MIT license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createReactComponent from '../createReactComponent.mjs';\n\nconst __iconNode = [[\"path\", { \"d\": \"M18.333 2c1.96 0 3.56 1.537 3.662 3.472l.005 .195v12.666c0 1.96 -1.537 3.56 -3.472 3.662l-.195 .005h-12.666a3.667 3.667 0 0 1 -3.662 -3.472l-.005 -.195v-12.666c0 -1.96 1.537 -3.56 3.472 -3.662l.195 -.005h12.666zm-2.626 7.293a1 1 0 0 0 -1.414 0l-3.293 3.292l-1.293 -1.292l-.094 -.083a1 1 0 0 0 -1.32 1.497l2 2l.094 .083a1 1 0 0 0 1.32 -.083l4 -4l.083 -.094a1 1 0 0 0 -.083 -1.32z\", \"key\": \"svg-0\" }]];\nconst IconSquareCheckFilled = createReactComponent(\"filled\", \"square-check-filled\", \"SquareCheckFilled\", __iconNode);\n\nexport { __iconNode, IconSquareCheckFilled as default };\n//# sourceMappingURL=IconSquareCheckFilled.mjs.map\n","import { FC, useEffect, useMemo, useRef, useState } from 'react';\nimport {\n SelectListOption,\n SelectListOptionProps,\n} from '../shared/SelectList/SelectListOptions/SelectListOption/SelectListOption';\nimport { debounce } from '../../../utils/debounce.utils';\nimport { Dropdown } from '../../../shared/Dropdown/Dropdown';\nimport { SelectButton } from '../shared/SelectButton/SelectButton';\nimport { SelectList } from '../shared/SelectList/SelectList';\nimport { TextField } from '../../TextField/TextField';\nimport { SelectListOptions } from '../shared/SelectList/SelectListOptions/SelectListOptions';\nimport { IconSearch, IconSquare, IconSquareCheckFilled } from '@tabler/icons-react';\nimport { Button } from '../../../shared/Button/Button';\nimport styles from './MultiSelectField.module.css';\nimport { useSelectSearchFocus } from '../shared/useSelectSearchFocus.hook';\n\nexport type MultiSelectFieldProps = {\n disabled?: boolean;\n isClearable?: boolean;\n isLoading?: boolean;\n isSearchable?: boolean;\n noOptionsMessage?: string;\n options: SelectListOptionProps[];\n placeholder?: string;\n submitLabel?: string;\n values?: string[];\n onChange: (value: string[]) => void;\n onSearch?: (search: string) => void;\n};\n\nexport const MultiSelectField: FC<MultiSelectFieldProps> = ({\n disabled,\n isClearable,\n isLoading,\n isSearchable,\n noOptionsMessage,\n options,\n placeholder,\n submitLabel = 'Apply',\n values = [],\n onChange,\n onSearch,\n}) => {\n const [isOpen, setIsOpen] = useState(false);\n const [searchValue, setSearchValue] = useState<string>('');\n const [preValues, setPreValues] = useState<string[]>(values);\n const [selectedLabel, setSelectedLabel] = useState<string>('');\n\n const searchFieldRef = useRef<HTMLInputElement>(null);\n useSelectSearchFocus(isOpen, searchFieldRef);\n\n useEffect(() => {\n setPreValues(values);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [JSON.stringify(values)]);\n\n useEffect(() => {\n if (isLoading) {\n return;\n }\n\n if (!values || values.length === 0) {\n setSelectedLabel('');\n return;\n }\n const selectedOptions = values.map(\n (value) => options.find((o) => o.value === value)?.label ?? value,\n );\n\n if (selectedOptions.length > 0) {\n const newLabel = selectedOptions.join(', ');\n setSelectedLabel(`(${selectedOptions.length}) ${newLabel}`);\n }\n }, [values, options, isLoading]);\n\n const debouncedSearch = useMemo(() => (onSearch ? debounce(onSearch) : undefined), [onSearch]);\n\n const displayOptions =\n isSearchable && !onSearch\n ? options.filter((option) => option.label.toLowerCase().includes(searchValue.toLowerCase()))\n : options;\n\n const isSubmitDisabled =\n preValues.every((preValue) => values.includes(preValue)) &&\n values.every((value) => preValues.includes(value));\n\n const handleSelectOption = (\n e: React.MouseEvent<HTMLDivElement, MouseEvent>,\n newValue?: string,\n ) => {\n e.preventDefault();\n\n if (!newValue) return;\n\n if (preValues.includes(newValue)) {\n setPreValues(preValues.filter((v) => v !== newValue));\n } else {\n setPreValues([...preValues, newValue]);\n }\n };\n\n const handleSearch = (newSearch: string) => {\n setSearchValue(newSearch);\n debouncedSearch?.(newSearch);\n };\n\n const handleSave = (newValues: string[]) => {\n onChange(newValues);\n setIsOpen(false);\n setSearchValue('');\n onSearch?.('');\n };\n\n const handleClearAll = () => {\n setSearchValue('');\n onSearch?.('');\n onChange([]);\n };\n\n return (\n <Dropdown\n open={isOpen}\n onOpenChange={setIsOpen}\n disabled={disabled}\n triggerComponent={\n <SelectButton\n aria-label=\"Select options\"\n placeholder={placeholder}\n disabled={disabled}\n valueLabel={selectedLabel}\n onClear={handleClearAll}\n isClearable={isClearable}\n isLoading={isLoading}\n />\n }\n >\n <SelectList>\n {isSearchable && (\n <TextField\n ref={searchFieldRef}\n startIcon={IconSearch}\n aria-label=\"Search options\"\n placeholder=\"Search…\"\n role=\"searchbox\"\n value={searchValue}\n onKeyDown={(e) => e.stopPropagation()}\n onChange={handleSearch}\n />\n )}\n <SelectListOptions disabled={isLoading}>\n {displayOptions.map((option) => (\n <SelectListOption\n key={option?.value ?? option.label}\n onClick={(e) => handleSelectOption(e, option.value)}\n startIcon={\n preValues.includes(option.value!) ? <IconSquareCheckFilled /> : <IconSquare />\n }\n {...option}\n />\n ))}\n {noOptionsMessage && <SelectListOption disabled value=\"empty\" label={noOptionsMessage} />}\n </SelectListOptions>\n <Button\n className={styles.submitButton}\n disabled={isSubmitDisabled || isLoading}\n variant=\"primary\"\n size=\"medium\"\n onClick={() => handleSave(preValues)}\n role=\"button\"\n >\n {submitLabel}\n </Button>\n </SelectList>\n </Dropdown>\n );\n};\n","import { DataResponse, Dimension } from '@embeddable.com/core';\nimport { getThemeFormatter } from '../../../theme/formatter/formatter.utils';\nimport { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../theme/theme.types';\nimport { EditorCard } from '../shared/EditorCard/EditorCard';\nimport { resolveI18nProps } from '../../component.utils';\nimport { i18n } from '../../../theme/i18n/i18n';\nimport { MultiSelectField } from '../../../../remarkable-ui';\n\nexport const MAX_OPTIONS = 200;\n\ntype MultiSelectFieldProProps = {\n title?: string;\n description?: string;\n dimension: Dimension;\n optionalSecondDimension?: Dimension;\n placeholder?: string;\n results: DataResponse;\n selectedValues: string[];\n maxOptions?: number;\n setSearchValue: (search: string) => void;\n onChange?: (newValues: string[]) => void;\n};\n\nconst MultiSelectFieldPro = (props: MultiSelectFieldProProps) => {\n const theme: Theme = useTheme() as Theme;\n const themeFormatter = getThemeFormatter(theme);\n const {\n title,\n description,\n dimension,\n optionalSecondDimension,\n placeholder,\n results,\n selectedValues,\n setSearchValue,\n onChange,\n } = resolveI18nProps(props);\n\n const options =\n results.data?.map((data) => {\n return {\n value: optionalSecondDimension ? data[optionalSecondDimension.name] : data[dimension.name],\n label: themeFormatter.data(dimension, data[dimension.name]),\n };\n }) ?? [];\n\n const showNoOptionsMessage = Boolean(!results.isLoading && (results.data?.length ?? 0) === 0);\n\n return (\n <EditorCard title={title} subtitle={description}>\n <MultiSelectField\n isClearable\n isSearchable\n isLoading={results.isLoading}\n values={selectedValues ?? []}\n options={options}\n placeholder={placeholder}\n noOptionsMessage={showNoOptionsMessage ? i18n.t('common.noOptionsFound') : undefined}\n onChange={(newValues) => onChange?.(newValues)}\n onSearch={setSearchValue}\n />\n </EditorCard>\n );\n};\n\nexport default MultiSelectFieldPro;\n","import { defineComponent, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport { Value, loadData } from '@embeddable.com/core';\nimport { dataset, description, dimension, placeholder, title } from '../../component.constants';\nimport MultiSelectFieldPro, { MAX_OPTIONS } from '.';\n\nexport const meta = {\n name: 'MultiSelectFieldPro',\n label: 'Multi Select Field',\n category: 'Dropdowns',\n defaultWidth: 200,\n defaultHeight: 40,\n inputs: [\n dataset,\n { ...dimension, label: 'Dimension (to load Dropdown values)' },\n {\n ...dimension,\n required: false,\n name: 'optionalSecondDimension',\n label: 'Optional second dimension for filtering',\n description:\n 'A hidden dimension applied for filtering instead of the main dimension. Must be unique.',\n },\n title,\n description,\n { ...placeholder, defaultValue: 'Select value...' },\n {\n name: 'selectedValues',\n type: 'string',\n array: true,\n label: 'Selected Values',\n category: 'Pre-configured variables',\n },\n {\n name: 'maxOptions',\n type: 'number',\n label: 'Maximum options',\n category: 'Pre-configured variables',\n defaultValue: MAX_OPTIONS,\n },\n ],\n events: [\n {\n name: 'onChange',\n label: 'Change',\n properties: [\n {\n name: 'value',\n type: 'string',\n array: true,\n },\n ],\n },\n ],\n variables: [\n {\n name: 'Multi-select values',\n type: 'string',\n array: true,\n defaultValue: Value.noFilter(),\n inputs: ['selectedValues'],\n events: [{ name: 'onChange', property: 'value' }],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\ntype MultiSelectDropdownState = {\n searchValue?: string;\n};\n\nexport default defineComponent(MultiSelectFieldPro, meta, {\n props: (\n inputs: Inputs<typeof meta>,\n [state, setState]: [MultiSelectDropdownState, (state: MultiSelectDropdownState) => void],\n ) => {\n const operator = inputs.dimension.nativeType === 'string' ? 'contains' : 'equals';\n return {\n ...inputs,\n maxOptions: inputs.maxOptions,\n setSearchValue: (searchValue: string) => setState({ searchValue }),\n results: loadData({\n limit: inputs.maxOptions,\n from: inputs.dataset,\n select: [inputs.dimension, inputs.optionalSecondDimension].filter(Boolean),\n filters: state?.searchValue\n ? [\n {\n operator,\n property: inputs.dimension,\n value: state.searchValue,\n },\n ]\n : undefined,\n }),\n };\n },\n events: {\n onChange: (selectedValues: string[]) => {\n return {\n value: selectedValues.length ? selectedValues : Value.noFilter(),\n };\n },\n },\n});\n"],"names":["Button","variant","StartIcon","EndIcon","size","className","children","props","jsxs","clsx","styles","jsx","Typography","__iconNode","IconSquare","createReactComponent","IconSquareCheckFilled","MultiSelectField","disabled","isClearable","isLoading","isSearchable","noOptionsMessage","options","placeholder","submitLabel","values","onChange","onSearch","isOpen","setIsOpen","useState","searchValue","setSearchValue","preValues","setPreValues","selectedLabel","setSelectedLabel","searchFieldRef","useRef","useSelectSearchFocus","useEffect","selectedOptions","value","_a","o","newLabel","debouncedSearch","useMemo","debounce","displayOptions","option","isSubmitDisabled","preValue","handleSelectOption","newValue","v","handleSearch","newSearch","handleSave","newValues","handleClearAll","Dropdown","SelectButton","SelectList","TextField","IconSearch","SelectListOptions","SelectListOption","e","MAX_OPTIONS","MultiSelectFieldPro","theme","useTheme","themeFormatter","getThemeFormatter","title","description","dimension","optionalSecondDimension","results","selectedValues","resolveI18nProps","data","showNoOptionsMessage","_b","EditorCard","i18n","meta","dataset","Value","MultiSelectFieldPro_emb","defineComponent","inputs","state","setState","operator","loadData"],"mappings":"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","x_google_ignoreList":[1,2]}
1
+ {"version":3,"file":"MultiSelectFieldPro.js","sources":["../src/remarkable-pro/components/editors/MultiSelectFieldPro/MultiSelectFieldPro.emb.ts"],"sourcesContent":["import { defineComponent, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport { Value, loadData } from '@embeddable.com/core';\nimport { dataset, description, dimension, placeholder, title } from '../../component.constants';\nimport MultiSelectFieldPro, { MAX_OPTIONS } from '.';\n\nexport const meta = {\n name: 'MultiSelectFieldPro',\n label: 'Multi Select Field',\n category: 'Dropdowns',\n defaultWidth: 200,\n defaultHeight: 120,\n inputs: [\n dataset,\n { ...dimension, label: 'Dimension (to load Dropdown values)' },\n {\n ...dimension,\n required: false,\n name: 'optionalSecondDimension',\n label: 'Optional second dimension for filtering',\n description:\n 'A hidden dimension applied for filtering instead of the main dimension. Must be unique.',\n },\n title,\n description,\n { ...placeholder, defaultValue: 'Select value...' },\n {\n name: 'selectedValues',\n type: 'string',\n array: true,\n label: 'Selected Values',\n category: 'Pre-configured variables',\n },\n {\n name: 'maxOptions',\n type: 'number',\n label: 'Maximum options',\n category: 'Pre-configured variables',\n defaultValue: MAX_OPTIONS,\n },\n ],\n events: [\n {\n name: 'onChange',\n label: 'Change',\n properties: [\n {\n name: 'value',\n type: 'string',\n array: true,\n },\n ],\n },\n ],\n variables: [\n {\n name: 'Multi-select values',\n type: 'string',\n array: true,\n defaultValue: Value.noFilter(),\n inputs: ['selectedValues'],\n events: [{ name: 'onChange', property: 'value' }],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\ntype MultiSelectDropdownState = {\n searchValue?: string;\n};\n\nexport default defineComponent(MultiSelectFieldPro, meta, {\n props: (\n inputs: Inputs<typeof meta>,\n [state, setState]: [MultiSelectDropdownState, (state: MultiSelectDropdownState) => void],\n ) => {\n const operator = inputs.dimension.nativeType === 'string' ? 'contains' : 'equals';\n return {\n ...inputs,\n maxOptions: inputs.maxOptions,\n setSearchValue: (searchValue: string) => setState({ searchValue }),\n results: loadData({\n limit: inputs.maxOptions,\n from: inputs.dataset,\n select: [inputs.dimension, inputs.optionalSecondDimension].filter(Boolean),\n filters: state?.searchValue\n ? [\n {\n operator,\n property: inputs.dimension,\n value: state.searchValue,\n },\n ]\n : undefined,\n }),\n };\n },\n events: {\n onChange: (selectedValues: string[]) => {\n return {\n value: selectedValues.length ? selectedValues : Value.noFilter(),\n };\n },\n },\n});\n"],"names":["meta","dataset","dimension","title","description","placeholder","MAX_OPTIONS","Value","MultiSelectFieldPro_emb","defineComponent","MultiSelectFieldPro","inputs","state","setState","operator","searchValue","loadData","selectedValues"],"mappings":";;;AAKO,MAAMA,IAAO;AAAA,EAClB,MAAM;AAAA,EACN,OAAO;AAAA,EACP,UAAU;AAAA,EACV,cAAc;AAAA,EACd,eAAe;AAAA,EACf,QAAQ;AAAA,IACNC;AAAA,IACA,EAAE,GAAGC,GAAW,OAAO,sCAAA;AAAA,IACvB;AAAA,MACE,GAAGA;AAAA,MACH,UAAU;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aACE;AAAA,IAAA;AAAA,IAEJC;AAAA,IACAC;AAAA,IACA,EAAE,GAAGC,GAAa,cAAc,kBAAA;AAAA,IAChC;AAAA,MACE,MAAM;AAAA,MACN,MAAM;AAAA,MACN,OAAO;AAAA,MACP,OAAO;AAAA,MACP,UAAU;AAAA,IAAA;AAAA,IAEZ;AAAA,MACE,MAAM;AAAA,MACN,MAAM;AAAA,MACN,OAAO;AAAA,MACP,UAAU;AAAA,MACV,cAAcC;AAAA,IAAA;AAAA,EAChB;AAAA,EAEF,QAAQ;AAAA,IACN;AAAA,MACE,MAAM;AAAA,MACN,OAAO;AAAA,MACP,YAAY;AAAA,QACV;AAAA,UACE,MAAM;AAAA,UACN,MAAM;AAAA,UACN,OAAO;AAAA,QAAA;AAAA,MACT;AAAA,IACF;AAAA,EACF;AAAA,EAEF,WAAW;AAAA,IACT;AAAA,MACE,MAAM;AAAA,MACN,MAAM;AAAA,MACN,OAAO;AAAA,MACP,cAAcC,EAAM,SAAA;AAAA,MACpB,QAAQ,CAAC,gBAAgB;AAAA,MACzB,QAAQ,CAAC,EAAE,MAAM,YAAY,UAAU,SAAS;AAAA,IAAA;AAAA,EAClD;AAEJ,GAMAC,IAAeC,EAAgBC,GAAqBV,GAAM;AAAA,EACxD,OAAO,CACLW,GACA,CAACC,GAAOC,CAAQ,MACb;AACH,UAAMC,IAAWH,EAAO,UAAU,eAAe,WAAW,aAAa;AACzE,WAAO;AAAA,MACL,GAAGA;AAAA,MACH,YAAYA,EAAO;AAAA,MACnB,gBAAgB,CAACI,MAAwBF,EAAS,EAAE,aAAAE,GAAa;AAAA,MACjE,SAASC,EAAS;AAAA,QAChB,OAAOL,EAAO;AAAA,QACd,MAAMA,EAAO;AAAA,QACb,QAAQ,CAACA,EAAO,WAAWA,EAAO,uBAAuB,EAAE,OAAO,OAAO;AAAA,QACzE,SAASC,KAAA,QAAAA,EAAO,cACZ;AAAA,UACE;AAAA,YACE,UAAAE;AAAA,YACA,UAAUH,EAAO;AAAA,YACjB,OAAOC,EAAM;AAAA,UAAA;AAAA,QACf,IAEF;AAAA,MAAA,CACL;AAAA,IAAA;AAAA,EAEL;AAAA,EACA,QAAQ;AAAA,IACN,UAAU,CAACK,OACF;AAAA,MACL,OAAOA,EAAe,SAASA,IAAiBV,EAAM,SAAA;AAAA,IAAS;AAAA,EAEnE;AAEJ,CAAC;"}
@@ -1,63 +1,20 @@
1
- import { i as f, r as V, m as k, j as m, P as v, d as w, a as x, b as L, t as S, c as j, s as D, e as I, f as T, g as y, V as A, l as M } from "./component.constants-DeKHmTqm.js";
2
- import { useTheme as O, defineComponent as E } from "@embeddable.com/react";
3
- import "react";
4
- import { g as F, a as R, C as _ } from "./ChartCard-LJ6ahXjM.js";
5
- const q = (e) => {
6
- const s = O();
7
- f(s);
8
- const {
9
- description: l,
10
- dimension: t,
11
- maxLegendItems: d,
12
- measure: n,
13
- results: a,
14
- showLegend: c,
15
- showTooltips: h,
16
- showValueLabels: u,
17
- title: p,
18
- onSegmentClick: C
19
- } = V(e), g = F({ data: a.data, dimension: t, measure: n, maxLegendItems: d }, s), P = k(
20
- R(
21
- {
22
- measure: n,
23
- showTooltips: h,
24
- showLegend: c,
25
- showValueLabels: u
26
- },
27
- s
28
- ),
29
- s.charts.pieChartOverrides ?? {}
30
- ), b = (o) => {
31
- var i, r;
32
- C({
33
- dimensionValue: o === void 0 || (r = (i = a.data) == null ? void 0 : i[o]) == null ? void 0 : r[t.name]
34
- });
35
- };
36
- return /* @__PURE__ */ m.jsx(
37
- _,
38
- {
39
- data: a,
40
- dimensionsAndMeasures: [t, n],
41
- errorMessage: a.error,
42
- subtitle: l,
43
- title: p,
44
- children: /* @__PURE__ */ m.jsx(v, { data: g, options: P, onSegmentClick: b })
45
- }
46
- );
47
- }, z = {
1
+ import { t as a, v as s, u as t, w as o, x as n, y as i, B as r, z as m, A as l, V as d, F as c } from "./component.constants-ChubamQR.js";
2
+ import { defineComponent as p } from "@embeddable.com/react";
3
+ import { P as u } from "./index-BmXdKHMF.js";
4
+ const C = {
48
5
  name: "PieChartPro",
49
6
  label: "Pie Chart",
50
7
  category: "Pie Charts",
51
8
  inputs: [
52
- w,
53
- x,
54
- L,
55
- S,
56
- j,
57
- D,
58
- I,
59
- T,
60
- y
9
+ a,
10
+ s,
11
+ t,
12
+ o,
13
+ n,
14
+ i,
15
+ r,
16
+ m,
17
+ l
61
18
  ],
62
19
  events: [
63
20
  {
@@ -72,22 +29,22 @@ const q = (e) => {
72
29
  ]
73
30
  }
74
31
  ]
75
- }, K = E(q, z, {
32
+ }, f = p(u, C, {
76
33
  props: (e) => ({
77
34
  ...e,
78
- results: M({
35
+ results: c({
79
36
  from: e.dataset,
80
37
  select: [e.measure, e.dimension]
81
38
  })
82
39
  }),
83
40
  events: {
84
41
  onSegmentClick: (e) => ({
85
- dimensionValue: e.dimensionValue || A.noFilter()
42
+ dimensionValue: e.dimensionValue || d.noFilter()
86
43
  })
87
44
  }
88
45
  });
89
46
  export {
90
- K as default,
91
- z as meta
47
+ f as default,
48
+ C as meta
92
49
  };
93
50
  //# sourceMappingURL=PieChartPro.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PieChartPro.js","sources":["../src/remarkable-pro/components/charts/pies/PieChartPro/index.tsx","../src/remarkable-pro/components/charts/pies/PieChartPro/PieChartPro.emb.ts"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { PieChart } from '../../../../../remarkable-ui';\nimport { Theme } from '../../../../theme/theme.types';\nimport { DefaultPieChartOptions, getDefaultPieChartOptions, getPieChartData } from '../pies.utils';\nimport { DefaultPieChartProps } from '../pies.types';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { ChartCard } from '../../shared/ChartCard/ChartCard';\nimport { mergician } from 'mergician';\nimport { resolveI18nProps } from '../../../component.utils';\n\ntype PieChartProProps = DefaultPieChartProps;\n\nconst PieChartPro = (props: PieChartProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const {\n description,\n dimension,\n maxLegendItems,\n measure,\n results,\n showLegend,\n showTooltips,\n showValueLabels,\n title,\n onSegmentClick,\n } = resolveI18nProps(props);\n\n const data = getPieChartData({ data: results.data, dimension, measure, maxLegendItems }, theme);\n\n const options = mergician(\n getDefaultPieChartOptions(\n {\n measure,\n showTooltips,\n showLegend,\n showValueLabels,\n } as DefaultPieChartOptions,\n theme,\n ),\n theme.charts.pieChartOverrides ?? {},\n );\n\n const handleSegmentClick = (index: number | undefined) => {\n onSegmentClick({\n dimensionValue: index === undefined ? undefined : results.data?.[index]?.[dimension.name],\n });\n };\n\n return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[dimension, measure]}\n errorMessage={results.error}\n subtitle={description}\n title={title}\n >\n <PieChart data={data} options={options} onSegmentClick={handleSegmentClick} />\n </ChartCard>\n );\n};\n\nexport default PieChartPro;\n","import { Value, loadData } from '@embeddable.com/core';\nimport { defineComponent, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\n\nimport ReadyMadePieChart from './index';\nimport {\n dimension,\n dataset,\n description,\n measure,\n maxLegendItems,\n showLegend,\n showTooltips,\n showValueLabels,\n title,\n} from '../../../component.constants';\n\nexport const meta = {\n name: 'PieChartPro',\n label: 'Pie Chart',\n category: 'Pie Charts',\n inputs: [\n dataset,\n measure,\n dimension,\n title,\n description,\n showLegend,\n maxLegendItems,\n showTooltips,\n showValueLabels,\n ],\n events: [\n {\n name: 'onSegmentClick',\n label: 'A segment is clicked',\n properties: [\n {\n name: 'dimensionValue',\n label: 'Clicked Dimension',\n type: 'string',\n },\n ],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nexport default defineComponent(ReadyMadePieChart, meta, {\n props: (inputs: Inputs<typeof meta>) => {\n return {\n ...inputs,\n results: loadData({\n from: inputs.dataset,\n select: [inputs.measure, inputs.dimension],\n }),\n };\n },\n events: {\n onSegmentClick: (value) => {\n return {\n dimensionValue: value.dimensionValue || Value.noFilter(),\n };\n },\n },\n});\n"],"names":["PieChartPro","props","theme","useTheme","i18nSetup","description","dimension","maxLegendItems","measure","results","showLegend","showTooltips","showValueLabels","title","onSegmentClick","resolveI18nProps","data","getPieChartData","options","mergician","getDefaultPieChartOptions","handleSegmentClick","index","_b","_a","jsx","ChartCard","PieChart","meta","dataset","PieChartPro_emb","defineComponent","ReadyMadePieChart","inputs","loadData","value","Value"],"mappings":";;;;AAYA,MAAMA,IAAc,CAACC,MAA4B;AAC/C,QAAMC,IAAQC,EAAA;AACd,EAAAC,EAAUF,CAAK;AAEf,QAAM;AAAA,IACJ,aAAAG;AAAA,IACA,WAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,SAAAC;AAAA,IACA,SAAAC;AAAA,IACA,YAAAC;AAAA,IACA,cAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,OAAAC;AAAA,IACA,gBAAAC;AAAA,EAAA,IACEC,EAAiBd,CAAK,GAEpBe,IAAOC,EAAgB,EAAE,MAAMR,EAAQ,MAAM,WAAAH,GAAW,SAAAE,GAAS,gBAAAD,EAAA,GAAkBL,CAAK,GAExFgB,IAAUC;AAAA,IACdC;AAAA,MACE;AAAA,QACE,SAAAZ;AAAA,QACA,cAAAG;AAAA,QACA,YAAAD;AAAA,QACA,iBAAAE;AAAA,MAAA;AAAA,MAEFV;AAAA,IAAA;AAAA,IAEFA,EAAM,OAAO,qBAAqB,CAAA;AAAA,EAAC,GAG/BmB,IAAqB,CAACC,MAA8B;;AACxD,IAAAR,EAAe;AAAA,MACb,gBAAgBQ,MAAU,WAAwBC,KAAAC,IAAAf,EAAQ,SAAR,gBAAAe,EAAeF,OAAf,OAAZ,SAAYC,EAAwBjB,EAAU;AAAA,IAAI,CACzF;AAAA,EACH;AAEA,SACEmB,gBAAAA,EAAAA;AAAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAMjB;AAAA,MACN,uBAAuB,CAACH,GAAWE,CAAO;AAAA,MAC1C,cAAcC,EAAQ;AAAA,MACtB,UAAUJ;AAAA,MACV,OAAAQ;AAAA,MAEA,UAAAY,gBAAAA,EAAAA,IAACE,GAAA,EAAS,MAAAX,GAAY,SAAAE,GAAkB,gBAAgBG,EAAA,CAAoB;AAAA,IAAA;AAAA,EAAA;AAGlF,GC7CaO,IAAO;AAAA,EAClB,MAAM;AAAA,EACN,OAAO;AAAA,EACP,UAAU;AAAA,EACV,QAAQ;AAAA,IACNC;AAAA,IACArB;AAAA,IACAF;AAAA,IACAO;AAAA,IACAR;AAAA,IACAK;AAAA,IACAH;AAAA,IACAI;AAAA,IACAC;AAAA,EAAA;AAAA,EAEF,QAAQ;AAAA,IACN;AAAA,MACE,MAAM;AAAA,MACN,OAAO;AAAA,MACP,YAAY;AAAA,QACV;AAAA,UACE,MAAM;AAAA,UACN,OAAO;AAAA,UACP,MAAM;AAAA,QAAA;AAAA,MACR;AAAA,IACF;AAAA,EACF;AAEJ,GAEAkB,IAAeC,EAAgBC,GAAmBJ,GAAM;AAAA,EACtD,OAAO,CAACK,OACC;AAAA,IACL,GAAGA;AAAA,IACH,SAASC,EAAS;AAAA,MAChB,MAAMD,EAAO;AAAA,MACb,QAAQ,CAACA,EAAO,SAASA,EAAO,SAAS;AAAA,IAAA,CAC1C;AAAA,EAAA;AAAA,EAGL,QAAQ;AAAA,IACN,gBAAgB,CAACE,OACR;AAAA,MACL,gBAAgBA,EAAM,kBAAkBC,EAAM,SAAA;AAAA,IAAS;AAAA,EAE3D;AAEJ,CAAC;"}
1
+ {"version":3,"file":"PieChartPro.js","sources":["../src/remarkable-pro/components/charts/pies/PieChartPro/PieChartPro.emb.ts"],"sourcesContent":["import { Value, loadData } from '@embeddable.com/core';\nimport { defineComponent, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\n\nimport ReadyMadePieChart from './index';\nimport {\n dimension,\n dataset,\n description,\n measure,\n maxLegendItems,\n showLegend,\n showTooltips,\n showValueLabels,\n title,\n} from '../../../component.constants';\n\nexport const meta = {\n name: 'PieChartPro',\n label: 'Pie Chart',\n category: 'Pie Charts',\n inputs: [\n dataset,\n measure,\n dimension,\n title,\n description,\n showLegend,\n maxLegendItems,\n showTooltips,\n showValueLabels,\n ],\n events: [\n {\n name: 'onSegmentClick',\n label: 'A segment is clicked',\n properties: [\n {\n name: 'dimensionValue',\n label: 'Clicked Dimension',\n type: 'string',\n },\n ],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nexport default defineComponent(ReadyMadePieChart, meta, {\n props: (inputs: Inputs<typeof meta>) => {\n return {\n ...inputs,\n results: loadData({\n from: inputs.dataset,\n select: [inputs.measure, inputs.dimension],\n }),\n };\n },\n events: {\n onSegmentClick: (value) => {\n return {\n dimensionValue: value.dimensionValue || Value.noFilter(),\n };\n },\n },\n});\n"],"names":["meta","dataset","measure","dimension","title","description","showLegend","maxLegendItems","showTooltips","showValueLabels","PieChartPro_emb","defineComponent","ReadyMadePieChart","inputs","loadData","value","Value"],"mappings":";;;AAgBO,MAAMA,IAAO;AAAA,EAClB,MAAM;AAAA,EACN,OAAO;AAAA,EACP,UAAU;AAAA,EACV,QAAQ;AAAA,IACNC;AAAA,IACAC;AAAA,IACAC;AAAA,IACAC;AAAA,IACAC;AAAA,IACAC;AAAA,IACAC;AAAA,IACAC;AAAA,IACAC;AAAA,EAAA;AAAA,EAEF,QAAQ;AAAA,IACN;AAAA,MACE,MAAM;AAAA,MACN,OAAO;AAAA,MACP,YAAY;AAAA,QACV;AAAA,UACE,MAAM;AAAA,UACN,OAAO;AAAA,UACP,MAAM;AAAA,QAAA;AAAA,MACR;AAAA,IACF;AAAA,EACF;AAEJ,GAEAC,IAAeC,EAAgBC,GAAmBZ,GAAM;AAAA,EACtD,OAAO,CAACa,OACC;AAAA,IACL,GAAGA;AAAA,IACH,SAASC,EAAS;AAAA,MAChB,MAAMD,EAAO;AAAA,MACb,QAAQ,CAACA,EAAO,SAASA,EAAO,SAAS;AAAA,IAAA,CAC1C;AAAA,EAAA;AAAA,EAGL,QAAQ;AAAA,IACN,gBAAgB,CAACE,OACR;AAAA,MACL,gBAAgBA,EAAM,kBAAkBC,EAAM,SAAA;AAAA,IAAS;AAAA,EAE3D;AAEJ,CAAC;"}
@@ -0,0 +1,89 @@
1
+ import { H as l, D as R, e as E, J as k, S as h, d as w } from "./component.constants-ChubamQR.js";
2
+ import { useState as i, useRef as B, useEffect as H, useMemo as J } from "react";
3
+ import { u as K, d as M, I as N, S as P } from "./EditorCard-Bdzz4bjt.js";
4
+ const A = ({
5
+ value: t = "",
6
+ startIcon: j,
7
+ options: a,
8
+ disabled: d,
9
+ placeholder: p,
10
+ isSearchable: u,
11
+ isClearable: C,
12
+ isLoading: o,
13
+ noOptionsMessage: g = "No options available",
14
+ autoWidth: L,
15
+ onChange: v,
16
+ onSearch: s
17
+ }) => {
18
+ const [f, O] = i(!1), [b, x] = i(""), [F, c] = i(t), m = B(null);
19
+ K(f, m), H(() => {
20
+ if (!t) {
21
+ c("");
22
+ return;
23
+ }
24
+ const e = a.find((r) => r.value === t);
25
+ e && c(e.label);
26
+ }, [t, a]);
27
+ const n = J(() => s ? M(s) : void 0, [s]), I = u && !s ? a.filter((e) => e.label.toLowerCase().includes(b.toLowerCase())) : a, S = (e) => {
28
+ if (x(""), v(e ?? ""), s == null || s(""), e === "")
29
+ c("");
30
+ else {
31
+ const r = a.find((D) => D.value === e);
32
+ r && c(r.label);
33
+ }
34
+ }, y = (e) => {
35
+ x(e), n == null || n(e);
36
+ };
37
+ return /* @__PURE__ */ l.jsx(
38
+ R,
39
+ {
40
+ open: f,
41
+ onOpenChange: O,
42
+ disabled: d,
43
+ triggerComponent: /* @__PURE__ */ l.jsx(
44
+ w,
45
+ {
46
+ startIcon: j,
47
+ "aria-label": "Select option",
48
+ placeholder: p,
49
+ disabled: d,
50
+ valueLabel: F,
51
+ onClear: () => S(""),
52
+ isClearable: C,
53
+ isLoading: o
54
+ }
55
+ ),
56
+ children: /* @__PURE__ */ l.jsxs(E, { autoWidth: L, children: [
57
+ u && /* @__PURE__ */ l.jsx(
58
+ k,
59
+ {
60
+ ref: m,
61
+ startIcon: N,
62
+ "aria-label": "Search options",
63
+ placeholder: "Search…",
64
+ role: "searchbox",
65
+ value: b,
66
+ onKeyDown: (e) => e.stopPropagation(),
67
+ onChange: y
68
+ }
69
+ ),
70
+ /* @__PURE__ */ l.jsxs(P, { disabled: o, children: [
71
+ I.map((e) => /* @__PURE__ */ l.jsx(
72
+ h,
73
+ {
74
+ onClick: () => S(e == null ? void 0 : e.value),
75
+ isSelected: e.value === t,
76
+ ...e
77
+ },
78
+ (e == null ? void 0 : e.value) ?? e.label
79
+ )),
80
+ a.length === 0 && /* @__PURE__ */ l.jsx(h, { disabled: !0, value: "empty", label: g })
81
+ ] })
82
+ ] })
83
+ }
84
+ );
85
+ };
86
+ export {
87
+ A as S
88
+ };
89
+ //# sourceMappingURL=SingleSelectField-CGJ5vMk3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SingleSelectField-CGJ5vMk3.js","sources":["../src/remarkable-ui/editors/select/SingleSelectField/SingleSelectField.tsx"],"sourcesContent":["import { FC, useEffect, useMemo, useRef, useState } from 'react';\nimport { TextField } from '../../TextField/TextField';\nimport { SelectButton } from '../shared/SelectButton/SelectButton';\nimport { Dropdown } from '../../../shared/Dropdown/Dropdown';\nimport { SelectList } from '../shared/SelectList/SelectList';\nimport { SelectListOptions } from '../shared/SelectList/SelectListOptions/SelectListOptions';\nimport {\n SelectListOption,\n SelectListOptionProps,\n} from '../shared/SelectList/SelectListOptions/SelectListOption/SelectListOption';\nimport { debounce } from '../../../utils/debounce.utils';\nimport { IconSearch, TablerIcon } from '@tabler/icons-react';\nimport { useSelectSearchFocus } from '../shared/useSelectSearchFocus.hook';\n\nexport type SingleSelectFieldProps = {\n options: SelectListOptionProps[];\n startIcon?: TablerIcon;\n value?: string;\n disabled?: boolean;\n placeholder?: string;\n isSearchable?: boolean;\n isClearable?: boolean;\n isLoading?: boolean;\n noOptionsMessage?: string;\n autoWidth?: boolean;\n onChange: (value: string) => void;\n onSearch?: (search: string) => void;\n};\n\nexport const SingleSelectField: FC<SingleSelectFieldProps> = ({\n value = '',\n startIcon,\n options,\n disabled,\n placeholder,\n isSearchable,\n isClearable,\n isLoading,\n noOptionsMessage = 'No options available',\n autoWidth,\n onChange,\n onSearch,\n}) => {\n const [isOpen, setIsOpen] = useState(false);\n const [searchValue, setSearchValue] = useState<string>('');\n const [selectedLabel, setSelectedLabel] = useState<string>(value);\n\n const searchFieldRef = useRef<HTMLInputElement>(null);\n useSelectSearchFocus(isOpen, searchFieldRef);\n\n useEffect(() => {\n if (!value) {\n setSelectedLabel('');\n return;\n }\n\n const option = options.find((opt) => opt.value === value);\n if (option) {\n setSelectedLabel(option.label);\n }\n }, [value, options]);\n\n const debouncedSearch = useMemo(() => (onSearch ? debounce(onSearch) : undefined), [onSearch]);\n\n const displayOptions =\n isSearchable && !onSearch\n ? options.filter((option) => option.label.toLowerCase().includes(searchValue.toLowerCase()))\n : options;\n\n const handleChange = (newValue?: string) => {\n setSearchValue('');\n onChange(newValue ?? '');\n onSearch?.('');\n\n if (newValue === '') {\n setSelectedLabel('');\n } else {\n const option = options.find((opt) => opt.value === newValue);\n if (option) setSelectedLabel(option.label);\n }\n };\n\n const handleSearch = (newSearch: string) => {\n setSearchValue(newSearch);\n debouncedSearch?.(newSearch);\n };\n\n return (\n <Dropdown\n open={isOpen}\n onOpenChange={setIsOpen}\n disabled={disabled}\n triggerComponent={\n <SelectButton\n startIcon={startIcon}\n aria-label=\"Select option\"\n placeholder={placeholder}\n disabled={disabled}\n valueLabel={selectedLabel}\n onClear={() => handleChange('')}\n isClearable={isClearable}\n isLoading={isLoading}\n />\n }\n >\n <SelectList autoWidth={autoWidth}>\n {isSearchable && (\n <TextField\n ref={searchFieldRef}\n startIcon={IconSearch}\n aria-label=\"Search options\"\n placeholder=\"Search…\"\n role=\"searchbox\"\n value={searchValue}\n onKeyDown={(e) => e.stopPropagation()}\n onChange={handleSearch}\n />\n )}\n <SelectListOptions disabled={isLoading}>\n {displayOptions.map((option) => (\n <SelectListOption\n key={option?.value ?? option.label}\n onClick={() => handleChange(option?.value)}\n isSelected={option.value === value}\n {...option}\n />\n ))}\n {options.length === 0 && (\n <SelectListOption disabled value=\"empty\" label={noOptionsMessage} />\n )}\n </SelectListOptions>\n </SelectList>\n </Dropdown>\n );\n};\n"],"names":["SingleSelectField","value","startIcon","options","disabled","placeholder","isSearchable","isClearable","isLoading","noOptionsMessage","autoWidth","onChange","onSearch","isOpen","setIsOpen","useState","searchValue","setSearchValue","selectedLabel","setSelectedLabel","searchFieldRef","useRef","useSelectSearchFocus","useEffect","option","opt","debouncedSearch","useMemo","debounce","displayOptions","handleChange","newValue","handleSearch","newSearch","jsx","Dropdown","SelectButton","jsxs","SelectList","TextField","IconSearch","SelectListOptions","SelectListOption"],"mappings":"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"}