@keboola/design 15.1.0 → 16.0.0

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 (345) hide show
  1. package/AGENTS.md +6 -5
  2. package/CHANGELOG.md +69 -0
  3. package/COMPONENT-API.md +62 -61
  4. package/dist/{AIKit-BR6jfsdI.js → AIKit-Cf5plya2.js} +328 -210
  5. package/dist/AIKit-Cf5plya2.js.map +1 -0
  6. package/dist/{Alert-Chz6KZ7e.js → Alert-DziS8n1H.js} +12 -19
  7. package/dist/{Alert-Chz6KZ7e.js.map → Alert-DziS8n1H.js.map} +1 -1
  8. package/dist/{AlertModal-DMsn62JJ.js → AlertModal-De04fFoy.js} +14 -24
  9. package/dist/{AlertModal-DMsn62JJ.js.map → AlertModal-De04fFoy.js.map} +1 -1
  10. package/dist/{AppShell-C8V1KRr_.js → AppShell-BUa3U7-e.js} +6 -9
  11. package/dist/{AppShell-C8V1KRr_.js.map → AppShell-BUa3U7-e.js.map} +1 -1
  12. package/dist/{AutoSaveTextarea-BbMhC5Aq.js → AutoSaveTextarea-CXHOQSun.js} +4 -5
  13. package/dist/{AutoSaveTextarea-BbMhC5Aq.js.map → AutoSaveTextarea-CXHOQSun.js.map} +1 -1
  14. package/dist/{Badge-CqlOE5A2.js → Badge-CFRhducL.js} +9 -14
  15. package/dist/{Badge-CqlOE5A2.js.map → Badge-CFRhducL.js.map} +1 -1
  16. package/dist/{BrandEditor-D61pzWRq.js → BrandEditor-hiLBX7az.js} +16 -23
  17. package/dist/{BrandEditor-D61pzWRq.js.map → BrandEditor-hiLBX7az.js.map} +1 -1
  18. package/dist/{BrandLogo-DkESE19K.js → BrandLogo-Dn7hhp2c.js} +4 -5
  19. package/dist/{BrandLogo-DkESE19K.js.map → BrandLogo-Dn7hhp2c.js.map} +1 -1
  20. package/dist/{Breadcrumb-DbqvDnYl.js → Breadcrumb-uGFEIjFF.js} +17 -28
  21. package/dist/{Breadcrumb-DbqvDnYl.js.map → Breadcrumb-uGFEIjFF.js.map} +1 -1
  22. package/dist/{Button-BNkyYU8u.js → Button-DbvGzEDb.js} +24 -20
  23. package/dist/Button-DbvGzEDb.js.map +1 -0
  24. package/dist/{Calendar-BnKi1kPu.js → Calendar-lJBTETbk.js} +752 -905
  25. package/dist/Calendar-lJBTETbk.js.map +1 -0
  26. package/dist/{Card-DxjGiqH8.js → Card-VIPfOVW5.js} +8 -14
  27. package/dist/{Card-DxjGiqH8.js.map → Card-VIPfOVW5.js.map} +1 -1
  28. package/dist/{Checkbox-CHDDJyAA.js → Checkbox-B2jLlyaO.js} +6 -8
  29. package/dist/{Checkbox-CHDDJyAA.js.map → Checkbox-B2jLlyaO.js.map} +1 -1
  30. package/dist/{Clipboard-DlwVZS1P.js → Clipboard-fAkDdpEu.js} +4 -5
  31. package/dist/{Clipboard-DlwVZS1P.js.map → Clipboard-fAkDdpEu.js.map} +1 -1
  32. package/dist/{ClipboardButton-B1Hr_n_Z.js → ClipboardButton-71Ugbl8c.js} +6 -8
  33. package/dist/{ClipboardButton-B1Hr_n_Z.js.map → ClipboardButton-71Ugbl8c.js.map} +1 -1
  34. package/dist/{CodeEditor-DVSPdfdo.js → CodeEditor-D_b-ZCng.js} +19 -31
  35. package/dist/{CodeEditor-DVSPdfdo.js.map → CodeEditor-D_b-ZCng.js.map} +1 -1
  36. package/dist/{Collapsible-DD4xTL75.js → Collapsible-zsXk4Vpp.js} +5 -8
  37. package/dist/{Collapsible-DD4xTL75.js.map → Collapsible-zsXk4Vpp.js.map} +1 -1
  38. package/dist/{ColorInput-B_eZIu39.js → ColorInput-Cjr1jkvy.js} +9 -12
  39. package/dist/{ColorInput-B_eZIu39.js.map → ColorInput-Cjr1jkvy.js.map} +1 -1
  40. package/dist/{ColorModeSwitch-BlrH8jAi.js → ColorModeSwitch-CuPYnJ2V.js} +5 -6
  41. package/dist/{ColorModeSwitch-BlrH8jAi.js.map → ColorModeSwitch-CuPYnJ2V.js.map} +1 -1
  42. package/dist/{Combobox-BLqX-Tdh.js → Combobox-DYjvYgl3.js} +37 -66
  43. package/dist/{Combobox-BLqX-Tdh.js.map → Combobox-DYjvYgl3.js.map} +1 -1
  44. package/dist/{Command-DhXmqFLT.js → Command-BcTb6GsR.js} +14 -24
  45. package/dist/{Command-DhXmqFLT.js.map → Command-BcTb6GsR.js.map} +1 -1
  46. package/dist/{CopyField-D0Pg4Z0R.js → CopyField-CnwAvQz9.js} +16 -28
  47. package/dist/{CopyField-D0Pg4Z0R.js.map → CopyField-CnwAvQz9.js.map} +1 -1
  48. package/dist/{DateInput-duinbI9_.js → DateInput-DJNX7Vdx.js} +8 -10
  49. package/dist/{DateInput-duinbI9_.js.map → DateInput-DJNX7Vdx.js.map} +1 -1
  50. package/dist/{DatePicker-Cg_aG_N4.js → DatePicker-CI59gF3S.js} +4 -5
  51. package/dist/{DatePicker-Cg_aG_N4.js.map → DatePicker-CI59gF3S.js.map} +1 -1
  52. package/dist/{DateRangeInput-BYVHf9zo.js → DateRangeInput-B3g8cyS0.js} +8 -10
  53. package/dist/{DateRangeInput-BYVHf9zo.js.map → DateRangeInput-B3g8cyS0.js.map} +1 -1
  54. package/dist/{DateRangePicker-m47cSV1r.js → DateRangePicker-48yOB2qV.js} +9 -10
  55. package/dist/{DateRangePicker-m47cSV1r.js.map → DateRangePicker-48yOB2qV.js.map} +1 -1
  56. package/dist/{DiffView-Dy4z-n-1.js → DiffView-DITZdVbh.js} +7 -12
  57. package/dist/{DiffView-Dy4z-n-1.js.map → DiffView-DITZdVbh.js.map} +1 -1
  58. package/dist/{DropdownMenu-Bum99mVf.js → DropdownMenu-Ba9atqDa.js} +20 -36
  59. package/dist/{DropdownMenu-Bum99mVf.js.map → DropdownMenu-Ba9atqDa.js.map} +1 -1
  60. package/dist/{FieldBox-BrxLkY9C.js → FieldBox-DdSdJ3ZN.js} +6 -10
  61. package/dist/{FieldBox-BrxLkY9C.js.map → FieldBox-DdSdJ3ZN.js.map} +1 -1
  62. package/dist/{FieldItem-BHUqgSO1.js → FieldItem-D7eCMfMB.js} +6 -8
  63. package/dist/{FieldItem-BHUqgSO1.js.map → FieldItem-D7eCMfMB.js.map} +1 -1
  64. package/dist/{FieldItem-CPN1xjN5.d.ts → FieldItem-fqm3CNR8.d.ts} +7 -6
  65. package/dist/{FileUpload-BYFONpEl.js → FileUpload-DskvxhAr.js} +25 -45
  66. package/dist/{FileUpload-BYFONpEl.js.map → FileUpload-DskvxhAr.js.map} +1 -1
  67. package/dist/{Form-Dqbt_tIs.js → Form-BUNW7nlt.js} +24 -38
  68. package/dist/{Form-Dqbt_tIs.js.map → Form-BUNW7nlt.js.map} +1 -1
  69. package/dist/{FormGroup-V5kIgQRN.js → FormGroup-QJB21LKp.js} +12 -20
  70. package/dist/{FormGroup-V5kIgQRN.js.map → FormGroup-QJB21LKp.js.map} +1 -1
  71. package/dist/{FullScreenModal-DAvvlGOz.js → FullScreenModal-RzY5XxiG.js} +8 -12
  72. package/dist/{FullScreenModal-DAvvlGOz.js.map → FullScreenModal-RzY5XxiG.js.map} +1 -1
  73. package/dist/{HoverCard-Cf9iYyaW.js → HoverCard-OGWKRXJ7.js} +4 -6
  74. package/dist/{HoverCard-Cf9iYyaW.js.map → HoverCard-OGWKRXJ7.js.map} +1 -1
  75. package/dist/{InlineEdit-D4P0SvCB.js → InlineEdit-CXL0ZslO.js} +7 -8
  76. package/dist/{InlineEdit-D4P0SvCB.js.map → InlineEdit-CXL0ZslO.js.map} +1 -1
  77. package/dist/{InputGroup-CZv_7QlM.js → InputGroup-BWeanEo7.js} +9 -15
  78. package/dist/{InputGroup-CZv_7QlM.js.map → InputGroup-BWeanEo7.js.map} +1 -1
  79. package/dist/{Kbd-CflKthfu.js → Kbd-BprYCICe.js} +8 -13
  80. package/dist/{Kbd-CflKthfu.js.map → Kbd-BprYCICe.js.map} +1 -1
  81. package/dist/{MarkedText-DlmlJO0u.js → MarkedText-BrganZ_V.js} +4 -6
  82. package/dist/{MarkedText-DlmlJO0u.js.map → MarkedText-BrganZ_V.js.map} +1 -1
  83. package/dist/{MermaidDiagram-2-EuNu1i.js → MermaidDiagram-E3azndPk.js} +9 -11
  84. package/dist/{MermaidDiagram-2-EuNu1i.js.map → MermaidDiagram-E3azndPk.js.map} +1 -1
  85. package/dist/{Modal-DwuvuiUx.js → Modal-Cf_kPEBW.js} +13 -21
  86. package/dist/{Modal-DwuvuiUx.js.map → Modal-Cf_kPEBW.js.map} +1 -1
  87. package/dist/{ModalTitle-RGWwIMU6.js → ModalTitle-7vgpfc6B.js} +5 -8
  88. package/dist/{ModalTitle-RGWwIMU6.js.map → ModalTitle-7vgpfc6B.js.map} +1 -1
  89. package/dist/{MultiActionButtonGroup-Dzig87s1.js → MultiActionButtonGroup-8WQwL4UQ.js} +6 -8
  90. package/dist/{MultiActionButtonGroup-Dzig87s1.js.map → MultiActionButtonGroup-8WQwL4UQ.js.map} +1 -1
  91. package/dist/{Navbar-DHUS7XiU.js → Navbar-CRjxVboE.js} +13 -22
  92. package/dist/{Navbar-DHUS7XiU.js.map → Navbar-CRjxVboE.js.map} +1 -1
  93. package/dist/{OtpInput-CY8yCaJk.js → OtpInput-C5plPzGU.js} +7 -11
  94. package/dist/{OtpInput-CY8yCaJk.js.map → OtpInput-C5plPzGU.js.map} +1 -1
  95. package/dist/{PageHeader-CL1A6jFM.js → PageHeader-DosMyar2.js} +6 -10
  96. package/dist/{PageHeader-CL1A6jFM.js.map → PageHeader-DosMyar2.js.map} +1 -1
  97. package/dist/{PageLayout-C9aXTpqV.js → PageLayout-LcvJccOW.js} +5 -8
  98. package/dist/{PageLayout-C9aXTpqV.js.map → PageLayout-LcvJccOW.js.map} +1 -1
  99. package/dist/{PageToolbar-LKP6PiP_.js → PageToolbar-By2HznxO.js} +8 -10
  100. package/dist/{PageToolbar-LKP6PiP_.js.map → PageToolbar-By2HznxO.js.map} +1 -1
  101. package/dist/{Pagination-D27x5KmH.js → Pagination-DrXTrvfD.js} +11 -18
  102. package/dist/{Pagination-D27x5KmH.js.map → Pagination-DrXTrvfD.js.map} +1 -1
  103. package/dist/{Popconfirm-p72DiagN.js → Popconfirm-BJuDOHdv.js} +46 -25
  104. package/dist/Popconfirm-BJuDOHdv.js.map +1 -0
  105. package/dist/{Popover-DnBw5Uay.js → Popover-DhOPlWgF.js} +4 -6
  106. package/dist/{Popover-DnBw5Uay.js.map → Popover-DhOPlWgF.js.map} +1 -1
  107. package/dist/{RadioGroup-B0TwHjBb.js → RadioGroup-B9oC8P15.js} +12 -18
  108. package/dist/{RadioGroup-B0TwHjBb.js.map → RadioGroup-B9oC8P15.js.map} +1 -1
  109. package/dist/{Resizable-D8zs0kcq.js → Resizable-Co-L3qg7.js} +4 -6
  110. package/dist/{Resizable-D8zs0kcq.js.map → Resizable-Co-L3qg7.js.map} +1 -1
  111. package/dist/{Search-vyZwGKMU.js → Search-OgaNjqQM.js} +26 -21
  112. package/dist/Search-OgaNjqQM.js.map +1 -0
  113. package/dist/{SearchInput-DyYXyw3u.js → SearchInput-eLS-uvOn.js} +18 -29
  114. package/dist/SearchInput-eLS-uvOn.js.map +1 -0
  115. package/dist/{SectionNav-6hcIpZLO.js → SectionNav-L81iJBo3.js} +11 -14
  116. package/dist/{SectionNav-6hcIpZLO.js.map → SectionNav-L81iJBo3.js.map} +1 -1
  117. package/dist/{Select-C6zKeip5.js → Select-DRdkdzBp.js} +28 -25
  118. package/dist/{Select-C6zKeip5.js.map → Select-DRdkdzBp.js.map} +1 -1
  119. package/dist/{Sheet-DKG20J7W.js → Sheet-DVb4XoJ5.js} +12 -19
  120. package/dist/{Sheet-DKG20J7W.js.map → Sheet-DVb4XoJ5.js.map} +1 -1
  121. package/dist/{Sidebar-BlYqasnX.js → Sidebar-DYvodJWN.js} +43 -75
  122. package/dist/{Sidebar-BlYqasnX.js.map → Sidebar-DYvodJWN.js.map} +1 -1
  123. package/dist/{Slider-DrcsM8_G.js → Slider-B9IskDxf.js} +8 -12
  124. package/dist/{Slider-DrcsM8_G.js.map → Slider-B9IskDxf.js.map} +1 -1
  125. package/dist/{Stepper-CQrUPVFL.js → Stepper-D7VspVEt.js} +11 -19
  126. package/dist/{Stepper-CQrUPVFL.js.map → Stepper-D7VspVEt.js.map} +1 -1
  127. package/dist/{Switch-DccpSpzC.js → Switch-DONWW7ju.js} +4 -6
  128. package/dist/{Switch-DccpSpzC.js.map → Switch-DONWW7ju.js.map} +1 -1
  129. package/dist/{Table-CilEvpMq.js → Table-BwgBm3hJ.js} +12 -21
  130. package/dist/{Table-CilEvpMq.js.map → Table-BwgBm3hJ.js.map} +1 -1
  131. package/dist/{Tabs-Ck4uWf8U.js → Tabs-DmJB4l_N.js} +9 -14
  132. package/dist/{Tabs-Ck4uWf8U.js.map → Tabs-DmJB4l_N.js.map} +1 -1
  133. package/dist/{TextInput-CR0_USaY.js → TextInput--1CfZybC.js} +8 -10
  134. package/dist/TextInput--1CfZybC.js.map +1 -0
  135. package/dist/{ThemeProvider-BTK7AL-T.js → ThemeProvider-BCHllN7d.js} +8 -13
  136. package/dist/{ThemeProvider-BTK7AL-T.js.map → ThemeProvider-BCHllN7d.js.map} +1 -1
  137. package/dist/{TimePicker-lk3NGqeK.js → TimePicker-CCV3SOw5.js} +4 -6
  138. package/dist/{TimePicker-lk3NGqeK.js.map → TimePicker-CCV3SOw5.js.map} +1 -1
  139. package/dist/{Timeline-DUXgByUE.js → Timeline-EMOpTLAT.js} +8 -13
  140. package/dist/{Timeline-DUXgByUE.js.map → Timeline-EMOpTLAT.js.map} +1 -1
  141. package/dist/{Toast-937n7n8i.js → Toast-BOTINeTX.js} +4 -6
  142. package/dist/{Toast-937n7n8i.js.map → Toast-BOTINeTX.js.map} +1 -1
  143. package/dist/{ToggleAllTooltip-DEjbWFoj.js → ToggleAllTooltip-BFmA6TXf.js} +4 -6
  144. package/dist/{ToggleAllTooltip-DEjbWFoj.js.map → ToggleAllTooltip-BFmA6TXf.js.map} +1 -1
  145. package/dist/{ToggleGroup-BOz1yyz6.js → ToggleGroup-DsDS7k70.js} +3 -4
  146. package/dist/{ToggleGroup-BOz1yyz6.js.map → ToggleGroup-DsDS7k70.js.map} +1 -1
  147. package/dist/{Workbench-CxgNCs3I.js → Workbench-4s0xP6XU.js} +18 -32
  148. package/dist/{Workbench-CxgNCs3I.js.map → Workbench-4s0xP6XU.js.map} +1 -1
  149. package/dist/{ZoomableSvg-CxXKanUR.js → ZoomableSvg-BRPGgaWJ.js} +8 -10
  150. package/dist/{ZoomableSvg-CxXKanUR.js.map → ZoomableSvg-BRPGgaWJ.js.map} +1 -1
  151. package/dist/charts.d.ts +0 -16
  152. package/dist/charts.js +10 -19
  153. package/dist/charts.js.map +1 -1
  154. package/dist/{classNames-DcGnTh2N.js → classNames-DkX30VJU.js} +2 -3
  155. package/dist/{classNames-DcGnTh2N.js.map → classNames-DkX30VJU.js.map} +1 -1
  156. package/dist/editors.d.ts +2 -16
  157. package/dist/editors.js +16 -26
  158. package/dist/editors.js.map +1 -1
  159. package/dist/{findLiteralMatches-DgGLzyG0.js → findLiteralMatches-BaLZTPtx.js} +2 -3
  160. package/dist/{findLiteralMatches-DgGLzyG0.js.map → findLiteralMatches-BaLZTPtx.js.map} +1 -1
  161. package/dist/flint.d.ts +0 -2
  162. package/dist/flint.js +10 -14
  163. package/dist/flint.js.map +1 -1
  164. package/dist/{highlightCode-D354tCXO.js → highlightCode-2spZP7ZA.js} +2 -3
  165. package/dist/{highlightCode-D354tCXO.js.map → highlightCode-2spZP7ZA.js.map} +1 -1
  166. package/dist/{icons-ZIeZXXS7.js → icons-DDR9dFSr.js} +21 -40
  167. package/dist/{icons-ZIeZXXS7.js.map → icons-DDR9dFSr.js.map} +1 -1
  168. package/dist/icons.d.ts +1 -1
  169. package/dist/icons.js +1 -2
  170. package/dist/{index-D-itZ3VP.d.ts → index-BljYaTWL.d.ts} +1 -39
  171. package/dist/index.d.ts +418 -1296
  172. package/dist/index.js +75 -74
  173. package/dist/internal/blocks/AIKit.js +1 -2
  174. package/dist/internal/blocks/AppShell.js +1 -2
  175. package/dist/internal/blocks/AuthLayout.js +3 -4
  176. package/dist/internal/blocks/AutoSaveTextarea.js +1 -2
  177. package/dist/internal/blocks/BrandEditor.js +1 -2
  178. package/dist/internal/blocks/ChartPanel.js +3 -4
  179. package/dist/internal/blocks/ChipEditor.js +6 -7
  180. package/dist/internal/blocks/ClipboardButton.js +1 -2
  181. package/dist/internal/blocks/ColorInput.js +1 -2
  182. package/dist/internal/blocks/ColorModeSwitch.js +1 -2
  183. package/dist/internal/blocks/Command.js +1 -2
  184. package/dist/internal/blocks/CopyField.js +1 -2
  185. package/dist/internal/blocks/DashboardHero.js +2 -3
  186. package/dist/internal/blocks/DateInput.js +1 -2
  187. package/dist/internal/blocks/DateRangeInput.js +1 -2
  188. package/dist/internal/blocks/DiagramShared/DiagramSkeleton.js +1 -2
  189. package/dist/internal/blocks/EmptyConfigurationActionCard.js +2 -3
  190. package/dist/internal/blocks/EmptyState.js +1 -2
  191. package/dist/internal/blocks/ErrorState.js +1 -2
  192. package/dist/internal/blocks/ExportMenu.js +5 -6
  193. package/dist/internal/blocks/FacebookButton.js +3 -4
  194. package/dist/internal/blocks/Form/connectors/ComboboxField.js +3 -4
  195. package/dist/internal/blocks/Form/connectors/MultiComboboxField.js +2 -3
  196. package/dist/internal/blocks/Form.js +3 -2
  197. package/dist/internal/blocks/FormGroup.js +1 -2
  198. package/dist/internal/blocks/GoogleButton.js +3 -4
  199. package/dist/internal/blocks/InlineEdit.js +1 -2
  200. package/dist/internal/blocks/MicrosoftButton.js +3 -4
  201. package/dist/internal/blocks/MultiActionButtonGroup.js +1 -2
  202. package/dist/internal/blocks/MultiCombobox.js +7 -8
  203. package/dist/internal/blocks/NumberInput.js +2 -3
  204. package/dist/internal/blocks/OtpInput.js +1 -2
  205. package/dist/internal/blocks/PageHeader.js +1 -2
  206. package/dist/internal/blocks/PageLayout.js +1 -2
  207. package/dist/internal/blocks/PageToolbar.js +1 -2
  208. package/dist/internal/blocks/PasswordInput.js +5 -6
  209. package/dist/internal/blocks/SearchInput.js +1 -2
  210. package/dist/internal/blocks/SearchInputWithNavigation.js +6 -7
  211. package/dist/internal/blocks/SectionNav.js +1 -2
  212. package/dist/internal/blocks/SplitButton.js +4 -5
  213. package/dist/internal/blocks/StatCard.js +4 -6
  214. package/dist/internal/blocks/StatCard.js.map +1 -1
  215. package/dist/internal/blocks/TextInput.js +1 -2
  216. package/dist/internal/blocks/Textarea.js +3 -4
  217. package/dist/internal/blocks/TimeInput.js +6 -7
  218. package/dist/internal/components/Alert.js +1 -2
  219. package/dist/internal/components/AlertModal.js +1 -2
  220. package/dist/internal/components/Avatar.js +3 -4
  221. package/dist/internal/components/Badge.js +1 -2
  222. package/dist/internal/components/BrandLogo.js +1 -2
  223. package/dist/internal/components/Breadcrumb.js +1 -2
  224. package/dist/internal/components/Button.js +1 -2
  225. package/dist/internal/components/ButtonGroup.js +2 -3
  226. package/dist/internal/components/Calendar.js +1 -2
  227. package/dist/internal/components/Card.js +1 -2
  228. package/dist/internal/components/Checkbox.js +1 -2
  229. package/dist/internal/components/Clipboard.js +1 -2
  230. package/dist/internal/components/Collapsible.js +1 -2
  231. package/dist/internal/components/CollapsiblePanel.js +5 -6
  232. package/dist/internal/components/Combobox.js +1 -2
  233. package/dist/internal/components/DatePicker.js +1 -2
  234. package/dist/internal/components/DateRangePicker.js +1 -2
  235. package/dist/internal/components/DiffView.js +1 -2
  236. package/dist/internal/components/DotsLoader.js +2 -3
  237. package/dist/internal/components/DropdownMenu.js +1 -2
  238. package/dist/internal/components/EmptySearchContent.js +1 -2
  239. package/dist/internal/components/FileUpload.js +1 -2
  240. package/dist/internal/components/FullScreenModal.js +1 -2
  241. package/dist/internal/components/HelpBlock.js +1 -2
  242. package/dist/internal/components/HoverCard.js +1 -2
  243. package/dist/internal/components/InputGroup.js +1 -2
  244. package/dist/internal/components/Kbd.js +1 -2
  245. package/dist/internal/components/Label.js +2 -3
  246. package/dist/internal/components/Link.js +2 -3
  247. package/dist/internal/components/MarkedText.js +1 -2
  248. package/dist/internal/components/MergeEditor/ConflictStatus/ConflictStatusIndicator.js +3 -4
  249. package/dist/internal/components/MergeEditor/PaneHeader.js +1 -2
  250. package/dist/internal/components/MergeEditor/constants.js +1 -2
  251. package/dist/internal/components/MergeEditor/useMergeDiff.js +1 -2
  252. package/dist/internal/components/Modal.js +1 -2
  253. package/dist/internal/components/Navbar.js +1 -2
  254. package/dist/internal/components/Pagination.js +1 -2
  255. package/dist/internal/components/PanelWithDetails.js +4 -5
  256. package/dist/internal/components/Popconfirm.js +1 -2
  257. package/dist/internal/components/Popover.js +1 -2
  258. package/dist/internal/components/Progress.js +2 -3
  259. package/dist/internal/components/RadioGroup.js +1 -2
  260. package/dist/internal/components/Resizable.js +1 -2
  261. package/dist/internal/components/ScrollArea.js +3 -5
  262. package/dist/internal/components/ScrollArea.js.map +1 -1
  263. package/dist/internal/components/Search.js +1 -2
  264. package/dist/internal/components/Select.js +1 -2
  265. package/dist/internal/components/Separator.js +2 -3
  266. package/dist/internal/components/Sheet.js +1 -2
  267. package/dist/internal/components/Sidebar.js +1 -2
  268. package/dist/internal/components/Skeleton/Skeleton.js +2 -3
  269. package/dist/internal/components/Skeleton/SkeletonList.js +2 -3
  270. package/dist/internal/components/Slider.js +1 -2
  271. package/dist/internal/components/SpotlightBackdrop.js +3 -5
  272. package/dist/internal/components/SpotlightBackdrop.js.map +1 -1
  273. package/dist/internal/components/Stepper.js +1 -2
  274. package/dist/internal/components/Switch.js +1 -2
  275. package/dist/internal/components/Table.js +1 -2
  276. package/dist/internal/components/Tabs.js +1 -2
  277. package/dist/internal/components/ThemeProvider.js +2 -2
  278. package/dist/internal/components/TimePicker.js +1 -2
  279. package/dist/internal/components/Timeline.js +1 -2
  280. package/dist/internal/components/Toast.js +2 -2
  281. package/dist/internal/components/Toggle.js +2 -3
  282. package/dist/internal/components/ToggleGroup.js +1 -2
  283. package/dist/internal/components/Tooltip.js +1 -2
  284. package/dist/internal/components/Truncated.js +3 -4
  285. package/dist/internal/components/Workbench.js +1 -2
  286. package/dist/internal/components/ZoomableSvg.js +1 -2
  287. package/dist/internal/hooks/useAltDigitHotkey.js +1 -2
  288. package/dist/internal/hooks/useAutosizeInput.js +1 -2
  289. package/dist/internal/hooks/useScrollbarPosition.js +2 -3
  290. package/dist/internal/hooks/useStableCallback.js +1 -2
  291. package/dist/internal/hooks/useTimeout.js +1 -2
  292. package/dist/internal/utils/accessibleName.js +1 -2
  293. package/dist/internal/utils/mergeRefs.js +1 -2
  294. package/dist/internal/utils.js +3 -3
  295. package/dist/markdown-editor.d.ts +0 -4
  296. package/dist/markdown-editor.js +30 -49
  297. package/dist/markdown-editor.js.map +1 -1
  298. package/dist/mermaid.d.ts +0 -2
  299. package/dist/mermaid.js +1 -2
  300. package/dist/rjsf.d.ts +0 -8
  301. package/dist/rjsf.js +47 -78
  302. package/dist/rjsf.js.map +1 -1
  303. package/dist/{rolldown-runtime-Bdc48AWt.js → rolldown-runtime-BrwM56v-.js} +2 -3
  304. package/dist/{styles-T8xwr0sR.js → styles-BXXXosW_.js} +2 -3
  305. package/dist/{styles-T8xwr0sR.js.map → styles-BXXXosW_.js.map} +1 -1
  306. package/dist/{styles-DxazJ8Mz.js → styles-nwtCRF7y.js} +2 -3
  307. package/dist/{styles-DxazJ8Mz.js.map → styles-nwtCRF7y.js.map} +1 -1
  308. package/dist/styles.css +1 -1
  309. package/dist/{svgCache-Dhmbe-7i.js → svgCache-BzvN_fgr.js} +2 -3
  310. package/dist/{svgCache-Dhmbe-7i.js.map → svgCache-BzvN_fgr.js.map} +1 -1
  311. package/dist/{svgTransforms-Hnvev3Vs.js → svgTransforms-BBxxO9T6.js} +4 -6
  312. package/dist/{svgTransforms-Hnvev3Vs.js.map → svgTransforms-BBxxO9T6.js.map} +1 -1
  313. package/dist/testing.d.ts +0 -2
  314. package/dist/testing.js +2 -3
  315. package/dist/{themeScopeContext-CEVXbYvZ.js → themeScopeContext-BZGPdyG8.js} +6 -11
  316. package/dist/{themeScopeContext-CEVXbYvZ.js.map → themeScopeContext-BZGPdyG8.js.map} +1 -1
  317. package/dist/{themeTokens-DCeb62ap.js → themeTokens-B60cQtAY.js} +4 -6
  318. package/dist/{themeTokens-DCeb62ap.js.map → themeTokens-B60cQtAY.js.map} +1 -1
  319. package/dist/{toast-Y3cTMBW8.js → toast-Dzj1EFOb.js} +10 -17
  320. package/dist/{toast-Y3cTMBW8.js.map → toast-Dzj1EFOb.js.map} +1 -1
  321. package/dist/{types-BPcAjMG0.d.ts → types-CsZuwfxc.d.ts} +1 -3
  322. package/dist/{useControllableState-CUYXMsfz.js → useControllableState-BCvUOC6G.js} +2 -3
  323. package/dist/{useControllableState-CUYXMsfz.js.map → useControllableState-BCvUOC6G.js.map} +1 -1
  324. package/dist/{useElement-D-RjrGa4.js → useElement-Dcoo9Jlr.js} +2 -3
  325. package/dist/{useElement-D-RjrGa4.js.map → useElement-Dcoo9Jlr.js.map} +1 -1
  326. package/dist/{useMergeDiff-CvowEXJ1.js → useMergeDiff-DFIATaTw.js} +3 -5
  327. package/dist/{useMergeDiff-CvowEXJ1.js.map → useMergeDiff-DFIATaTw.js.map} +1 -1
  328. package/dist/{utils-DwC9u0tM.js → utils-DjFceY3H.js} +18 -34
  329. package/dist/{utils-DwC9u0tM.js.map → utils-DjFceY3H.js.map} +1 -1
  330. package/dist/vega.d.ts +1 -5
  331. package/dist/vega.js +3 -4
  332. package/dist/{vegaTheme-ISwGXvof.js → vegaTheme-BcTNRmVS.js} +3 -4
  333. package/dist/{vegaTheme-ISwGXvof.js.map → vegaTheme-BcTNRmVS.js.map} +1 -1
  334. package/dist/{vegaTokens-DCkvpIVE.js → vegaTokens-DnCcy7JY.js} +3 -4
  335. package/dist/{vegaTokens-DCkvpIVE.js.map → vegaTokens-DnCcy7JY.js.map} +1 -1
  336. package/package.json +40 -40
  337. package/src/styles.css +70 -4
  338. package/src/theme.css +113 -11
  339. package/dist/AIKit-BR6jfsdI.js.map +0 -1
  340. package/dist/Button-BNkyYU8u.js.map +0 -1
  341. package/dist/Calendar-BnKi1kPu.js.map +0 -1
  342. package/dist/Popconfirm-p72DiagN.js.map +0 -1
  343. package/dist/Search-vyZwGKMU.js.map +0 -1
  344. package/dist/SearchInput-DyYXyw3u.js.map +0 -1
  345. package/dist/TextInput-CR0_USaY.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"charts.js","names":["RechartsTooltip","RechartsLineChart","RechartsBarChart","RechartsAreaChart","RechartsPieChart"],"sources":["../src/blocks/Charts/ChartContainer.tsx","../src/blocks/Charts/ChartTooltip.tsx","../src/blocks/Charts/format.ts","../src/blocks/Charts/cartesian.tsx","../src/blocks/Charts/theme.ts","../src/blocks/Charts/LineChart.tsx","../src/blocks/Charts/BarChart.tsx","../src/blocks/Charts/AreaChart.tsx","../src/blocks/Charts/PieChart.tsx"],"sourcesContent":["import { type ComponentProps, type ReactElement } from 'react';\nimport { ResponsiveContainer } from 'recharts';\n\nimport { cn } from '../../utils';\n\n/** A length that recharts' `<ResponsiveContainer>` accepts: px number or `\"NN%\"`. */\nexport type ChartDimension = number | `${number}%`;\n\nexport type ChartContainerProps = Omit<ComponentProps<'div'>, 'children'> & {\n /** Px number or percentage; charts have no intrinsic height. Defaults to 300. */\n height?: ChartDimension;\n /** Px number or percentage. Defaults to `\"100%\"`. */\n width?: ChartDimension;\n /** A single recharts chart element. */\n children: ReactElement;\n};\n\n/** Responsive frame that themes the chart's axis, grid and cursor with semantic tokens via CSS. */\nexport const ChartContainer = ({\n height = 300,\n width = '100%',\n className,\n children,\n ...props\n}: ChartContainerProps) => (\n <div\n className={cn(\n 'tw:text-xs',\n 'tw:[&_.recharts-cartesian-axis-tick_text]:fill-muted-foreground',\n 'tw:[&_.recharts-polar-angle-axis-tick_text]:fill-muted-foreground',\n 'tw:[&_.recharts-label]:fill-muted-foreground',\n 'tw:[&_.recharts-legend-item-text]:!text-muted-foreground',\n 'tw:[&_.recharts-cartesian-grid_line]:stroke-border/60',\n 'tw:[&_.recharts-cartesian-axis-line]:stroke-border',\n 'tw:[&_.recharts-cartesian-axis-tick-line]:stroke-border',\n 'tw:[&_.recharts-curve.recharts-tooltip-cursor]:stroke-border',\n 'tw:[&_.recharts-rectangle.recharts-tooltip-cursor]:fill-muted/60',\n 'tw:[&_.recharts-surface]:outline-hidden',\n className,\n )}\n {...props}\n >\n <ResponsiveContainer width={width} height={height}>\n {children}\n </ResponsiveContainer>\n </div>\n);\n","import { type ComponentProps } from 'react';\nimport { Tooltip as RechartsTooltip } from 'recharts';\n\nimport { cn } from '../../utils';\n\ntype TooltipPayloadEntry = {\n name?: string | number;\n value?: string | number;\n color?: string;\n dataKey?: string | number;\n};\n\ntype ChartTooltipContentProps = {\n active?: boolean;\n label?: string | number;\n payload?: TooltipPayloadEntry[];\n /** Format a value for display (e.g. currency, percentage). */\n valueFormatter?: (value: string | number, name: string) => string;\n className?: string;\n};\n\n/**\n * Brand-themed tooltip body. Surfaces (background, border, text) resolve from\n * semantic tokens, and each series swatch reuses the recharts-provided series\n * `color` (already a `--chart-*` token from this package's charts).\n */\nexport const ChartTooltipContent = ({\n active,\n label,\n payload,\n valueFormatter,\n className,\n}: ChartTooltipContentProps) => {\n if (!active || !payload?.length) return null;\n\n return (\n <div\n className={cn(\n 'tw:min-w-32 tw:rounded-md tw:border tw:border-border tw:bg-popover tw:px-2.5 tw:py-1.5 tw:text-xs tw:text-popover-foreground tw:shadow-md',\n className,\n )}\n >\n {label != null && <div className=\"tw:mb-1 tw:font-medium\">{label}</div>}\n <div className=\"tw:flex tw:flex-col tw:gap-1\">\n {payload.map((entry) => {\n const name = String(entry.name ?? entry.dataKey ?? '');\n const value = entry.value;\n // Missing / non-numeric values render blank rather than \"NaN\"/\"0\";\n // only well-formed numbers reach the formatter.\n const hasNumber = value != null && value !== '' && Number.isFinite(Number(value));\n const display = hasNumber\n ? valueFormatter\n ? valueFormatter(Number(value), name)\n : String(Number(value))\n : (value ?? '');\n return (\n <div\n key={String(entry.dataKey ?? name)}\n className=\"tw:flex tw:items-center tw:justify-between tw:gap-3\"\n >\n <span className=\"tw:flex tw:items-center tw:gap-1.5\">\n <span\n className=\"tw:size-2 tw:shrink-0 tw:rounded-[2px]\"\n style={{ backgroundColor: entry.color }}\n />\n <span className=\"tw:text-muted-foreground\">{name}</span>\n </span>\n <span className=\"tw:font-medium tw:tabular-nums\">{display}</span>\n </div>\n );\n })}\n </div>\n </div>\n );\n};\n\nexport type ChartTooltipProps = ComponentProps<typeof RechartsTooltip> & {\n valueFormatter?: (value: string | number, name: string) => string;\n};\n\n/**\n * Drop-in recharts `<Tooltip>` pre-wired to render {@link ChartTooltipContent}.\n * Each chart mounts one by default; pass `showTooltip={false}` on the chart to omit.\n */\nexport const ChartTooltip = ({ valueFormatter, ...props }: ChartTooltipProps) => (\n <RechartsTooltip\n cursor={{ strokeWidth: 1 }}\n content={<ChartTooltipContent valueFormatter={valueFormatter} />}\n {...props}\n />\n);\n","/**\n * Apply a numeric `valueFormatter` safely. recharts hands axis ticks and\n * tooltip payload values as `string | number | null | undefined`, and partial\n * or streaming data can carry gaps. Coercing those straight through\n * `Number(value)` would render `$0` (empty string → 0) or `$NaN` (non-numeric),\n * so a missing / non-finite value is rendered as an empty string instead of\n * being fed to the formatter.\n */\nexport const formatValue = (\n value: string | number | null | undefined,\n valueFormatter?: (value: number) => string,\n): string => {\n if (value == null || value === '') return '';\n const num = Number(value);\n if (!Number.isFinite(num)) return '';\n return valueFormatter ? valueFormatter(num) : String(num);\n};\n","import { CartesianGrid, Legend, XAxis, YAxis } from 'recharts';\n\nimport { ChartTooltip } from './ChartTooltip';\nimport { formatValue } from './format';\nimport { type CartesianChartProps, type ChartAxisDomain } from './types';\n\nconst AXIS_PROPS = {\n tickLine: false,\n axisLine: false,\n tick: { fontSize: 11 },\n} as const;\n\n/**\n * The grid + axes + tooltip + legend shared by the line, bar, and area charts.\n * Colors are applied via `ChartContainer`'s CSS chrome, not inline props, so\n * these stay brand-safe.\n */\nexport const cartesianChrome = ({\n xKey,\n showGrid = true,\n showYAxis = true,\n showLegend = false,\n showTooltip = true,\n valueFormatter,\n yDomain,\n}: Pick<\n CartesianChartProps,\n 'xKey' | 'showGrid' | 'showYAxis' | 'showLegend' | 'showTooltip' | 'valueFormatter'\n> & { yDomain?: ChartAxisDomain }) => (\n <>\n {showGrid && <CartesianGrid strokeDasharray=\"3 3\" vertical={false} />}\n <XAxis dataKey={xKey} {...AXIS_PROPS} />\n {/* A domain has to reach recharts through a mounted <YAxis>, so a chart that\n hides its axis but sets one still gets the element — hidden, and taking\n no layout width. Without a domain the hidden case renders nothing, as\n before, and recharts falls back to its implicit axis. */}\n {(showYAxis || yDomain !== undefined) && (\n <YAxis\n hide={!showYAxis}\n domain={yDomain}\n width={48}\n {...AXIS_PROPS}\n tickFormatter={\n valueFormatter\n ? (value: string | number) => formatValue(value, valueFormatter)\n : undefined\n }\n />\n )}\n {showTooltip && (\n <ChartTooltip\n valueFormatter={valueFormatter ? (value) => formatValue(value, valueFormatter) : undefined}\n />\n )}\n {showLegend && <Legend wrapperStyle={{ fontSize: 11 }} />}\n </>\n);\n","/**\n * Chart series colors, from the `--chart-1` … `--chart-5` CSS variables only.\n *\n * - Never inline hex: the variables follow color scheme and brand (`colors.chart` in\n * `@keboola/brand-registry`, emitted by `ThemeProvider`).\n * - The variables hold raw `R G B` channels, so they are wrapped in `rgb(...)` for recharts.\n */\nconst CHART_TOKEN_COUNT = 5;\n\n/** Number of the semantic chart token (`1`–`5`) a series maps to. */\nexport type ChartColorToken = 1 | 2 | 3 | 4 | 5;\n\n/** The CSS color for a 0-based series `index`, wrapping around the palette. */\nexport const chartTokenColor = (index: number): string => {\n // Euclidean modulo: negative indices still land in 1..CHART_TOKEN_COUNT.\n const slot = (((index % CHART_TOKEN_COUNT) + CHART_TOKEN_COUNT) % CHART_TOKEN_COUNT) + 1;\n return `rgb(var(--chart-${slot}))`;\n};\n\n/** Resolve an explicit token (1–5) or fall back to the series position. */\nexport const resolveSeriesColor = (index: number, token?: ChartColorToken): string =>\n chartTokenColor(token ? token - 1 : index);\n","import { Line, LineChart as RechartsLineChart } from 'recharts';\n\nimport { cartesianChrome } from './cartesian';\nimport { ChartContainer } from './ChartContainer';\nimport { resolveSeriesColor } from './theme';\nimport { type CartesianChartProps, type ChartAxisDomain } from './types';\n\nexport type LineChartProps = CartesianChartProps & {\n /**\n * Y-axis `[min, max]`; defaults to a zero baseline. Line-only: a truncated baseline misstates\n * bar/area lengths. For comparing close series far from zero, not judging one magnitude.\n */\n yDomain?: ChartAxisDomain;\n};\n\n/**\n * A themed multi-series line chart.\n *\n * - Series colors come from the `--chart-*` palette (by order, or `series[].color`).\n * - Mounts its own {@link ChartContainer}.\n */\nexport const LineChart = ({\n data,\n xKey,\n series,\n height,\n width,\n className,\n ...chrome\n}: LineChartProps) => (\n <ChartContainer height={height} width={width} className={className}>\n <RechartsLineChart data={data} margin={{ top: 8, right: 8, left: 0, bottom: 0 }}>\n {cartesianChrome({ xKey, ...chrome })}\n {series.map((s, index) => {\n const color = resolveSeriesColor(index, s.color);\n return (\n <Line\n key={s.dataKey}\n type=\"monotone\"\n dataKey={s.dataKey}\n name={s.name ?? s.dataKey}\n stroke={color}\n strokeWidth={2}\n dot={{ r: 3, fill: color, stroke: color }}\n activeDot={{ r: 4 }}\n isAnimationActive={false}\n />\n );\n })}\n </RechartsLineChart>\n </ChartContainer>\n);\n","import { Bar, BarChart as RechartsBarChart } from 'recharts';\n\nimport { cartesianChrome } from './cartesian';\nimport { ChartContainer } from './ChartContainer';\nimport { resolveSeriesColor } from './theme';\nimport { type CartesianChartProps } from './types';\n\nexport type BarChartProps = CartesianChartProps & {\n /** Stack the series into a single bar per category. Defaults to grouped. */\n stacked?: boolean;\n};\n\n/**\n * A themed multi-series bar chart. Series colors come from the semantic\n * `--chart-*` palette (by order, or pinned via `series[].color`), which\n * follows the active color scheme and the active brand's `colors.chart` when it\n * defines one. Pass `stacked` to stack the series instead of grouping them.\n *\n * @example\n * <BarChart data={data} xKey=\"month\" series={[{ dataKey: 'revenue' }]} />\n */\nexport const BarChart = ({\n data,\n xKey,\n series,\n height,\n width,\n className,\n stacked = false,\n ...chrome\n}: BarChartProps) => (\n <ChartContainer height={height} width={width} className={className}>\n <RechartsBarChart data={data} margin={{ top: 8, right: 8, left: 0, bottom: 0 }}>\n {cartesianChrome({ xKey, ...chrome })}\n {series.map((s, index) => (\n <Bar\n key={s.dataKey}\n dataKey={s.dataKey}\n name={s.name ?? s.dataKey}\n fill={resolveSeriesColor(index, s.color)}\n radius={stacked ? 0 : [4, 4, 0, 0]}\n stackId={stacked ? 'stack' : undefined}\n isAnimationActive={false}\n />\n ))}\n </RechartsBarChart>\n </ChartContainer>\n);\n","import { Area, AreaChart as RechartsAreaChart } from 'recharts';\n\nimport { cartesianChrome } from './cartesian';\nimport { ChartContainer } from './ChartContainer';\nimport { resolveSeriesColor } from './theme';\nimport { type CartesianChartProps } from './types';\n\nexport type AreaChartProps = CartesianChartProps & {\n /** Stack the series into a cumulative area. Defaults to overlaid. */\n stacked?: boolean;\n};\n\n/**\n * Themed multi-series area chart.\n *\n * - Colors come from `--chart-*` by series order, or `series[].color`.\n * - The palette follows the color scheme and the brand's `colors.chart`.\n *\n * @example\n * <AreaChart data={data} xKey=\"month\" series={[{ dataKey: 'revenue' }]} />\n */\nexport const AreaChart = ({\n data,\n xKey,\n series,\n height,\n width,\n className,\n stacked = false,\n ...chrome\n}: AreaChartProps) => (\n <ChartContainer height={height} width={width} className={className}>\n <RechartsAreaChart data={data} margin={{ top: 8, right: 8, left: 0, bottom: 0 }}>\n {cartesianChrome({ xKey, ...chrome })}\n {series.map((s, index) => {\n const color = resolveSeriesColor(index, s.color);\n return (\n <Area\n key={s.dataKey}\n type=\"monotone\"\n dataKey={s.dataKey}\n name={s.name ?? s.dataKey}\n stroke={color}\n fill={color}\n fillOpacity={0.15}\n strokeWidth={2}\n stackId={stacked ? 'stack' : undefined}\n isAnimationActive={false}\n />\n );\n })}\n </RechartsAreaChart>\n </ChartContainer>\n);\n","import { Cell, Legend, Pie, PieChart as RechartsPieChart } from 'recharts';\n\nimport { ChartContainer, type ChartDimension } from './ChartContainer';\nimport { ChartTooltip } from './ChartTooltip';\nimport { formatValue } from './format';\nimport { chartTokenColor } from './theme';\nimport { type ChartDatum } from './types';\n\nexport type PieChartProps = {\n /** The rows to plot — one sector per row. */\n data: ChartDatum[];\n /** Key into each datum for the sector label. */\n nameKey: string;\n /** Key into each datum for the sector value. */\n dataKey: string;\n /** Render as a donut with a hole of this inner radius (px or %). */\n innerRadius?: ChartDimension;\n /** Height as a px number or percentage. Defaults to 300. */\n height?: ChartDimension;\n /** Width as a px number or percentage. Defaults to `\"100%\"`. */\n width?: ChartDimension;\n /** Show a legend below the chart. Defaults to `true`. */\n showLegend?: boolean;\n /** Show the hover tooltip. Defaults to `true`. */\n showTooltip?: boolean;\n /** Format a sector value for the tooltip. */\n valueFormatter?: (value: number) => string;\n className?: string;\n};\n\n/**\n * A themed pie / donut chart. Each sector cycles through the semantic\n * `--chart-*` palette, which follows the active color scheme and the\n * active brand's `colors.chart` when it defines one. Pass `innerRadius` to make\n * a donut.\n *\n * @example\n * <PieChart data={data} nameKey=\"engine\" dataKey=\"rows\" innerRadius=\"60%\" />\n */\nexport const PieChart = ({\n data,\n nameKey,\n dataKey,\n innerRadius = 0,\n height,\n width,\n className,\n showLegend = true,\n showTooltip = true,\n valueFormatter,\n}: PieChartProps) => (\n <ChartContainer height={height} width={width} className={className}>\n <RechartsPieChart>\n {showTooltip && (\n <ChartTooltip\n valueFormatter={\n valueFormatter ? (value) => formatValue(value, valueFormatter) : undefined\n }\n />\n )}\n {showLegend && <Legend wrapperStyle={{ fontSize: 11 }} />}\n <Pie\n data={data}\n nameKey={nameKey}\n dataKey={dataKey}\n innerRadius={innerRadius}\n // Separate sectors with the brand surface color rather than recharts'\n // hardcoded white default.\n stroke=\"rgb(var(--background))\"\n isAnimationActive={false}\n >\n {data.map((datum, index) => (\n <Cell key={String(datum[nameKey] ?? index)} fill={chartTokenColor(index)} />\n ))}\n </Pie>\n </RechartsPieChart>\n </ChartContainer>\n);\n"],"mappings":"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"}
1
+ {"version":3,"file":"charts.js","names":["RechartsTooltip","RechartsLineChart","RechartsBarChart","RechartsAreaChart","RechartsPieChart"],"sources":["../src/blocks/Charts/ChartContainer.tsx","../src/blocks/Charts/ChartTooltip.tsx","../src/blocks/Charts/format.ts","../src/blocks/Charts/cartesian.tsx","../src/blocks/Charts/theme.ts","../src/blocks/Charts/LineChart.tsx","../src/blocks/Charts/BarChart.tsx","../src/blocks/Charts/AreaChart.tsx","../src/blocks/Charts/PieChart.tsx"],"sourcesContent":["import { type ComponentProps, type ReactElement } from 'react';\nimport { ResponsiveContainer } from 'recharts';\n\nimport { cn } from '../../utils';\n\n/** A length that recharts' `<ResponsiveContainer>` accepts: px number or `\"NN%\"`. */\nexport type ChartDimension = number | `${number}%`;\n\nexport type ChartContainerProps = Omit<ComponentProps<'div'>, 'children'> & {\n /** Px number or percentage; charts have no intrinsic height. Defaults to 300. */\n height?: ChartDimension;\n /** Px number or percentage. Defaults to `\"100%\"`. */\n width?: ChartDimension;\n /** A single recharts chart element. */\n children: ReactElement;\n};\n\n/** Responsive frame that themes the chart's axis, grid and cursor with semantic tokens via CSS. */\nexport const ChartContainer = ({\n height = 300,\n width = '100%',\n className,\n children,\n ...props\n}: ChartContainerProps) => (\n <div\n className={cn(\n 'tw:text-xs',\n 'tw:[&_.recharts-cartesian-axis-tick_text]:fill-muted-foreground',\n 'tw:[&_.recharts-polar-angle-axis-tick_text]:fill-muted-foreground',\n 'tw:[&_.recharts-label]:fill-muted-foreground',\n 'tw:[&_.recharts-legend-item-text]:!text-muted-foreground',\n 'tw:[&_.recharts-cartesian-grid_line]:stroke-border/60',\n 'tw:[&_.recharts-cartesian-axis-line]:stroke-border',\n 'tw:[&_.recharts-cartesian-axis-tick-line]:stroke-border',\n 'tw:[&_.recharts-curve.recharts-tooltip-cursor]:stroke-border',\n 'tw:[&_.recharts-rectangle.recharts-tooltip-cursor]:fill-muted/60',\n 'tw:[&_.recharts-surface]:outline-hidden',\n className,\n )}\n {...props}\n >\n <ResponsiveContainer width={width} height={height}>\n {children}\n </ResponsiveContainer>\n </div>\n);\n","import { type ComponentProps } from 'react';\nimport { Tooltip as RechartsTooltip } from 'recharts';\n\nimport { cn } from '../../utils';\n\ntype TooltipPayloadEntry = {\n name?: string | number;\n value?: string | number;\n color?: string;\n dataKey?: string | number;\n};\n\ntype ChartTooltipContentProps = {\n active?: boolean;\n label?: string | number;\n payload?: TooltipPayloadEntry[];\n /** Format a value for display (e.g. currency, percentage). */\n valueFormatter?: (value: string | number, name: string) => string;\n className?: string;\n};\n\n/**\n * Brand-themed tooltip body. Surfaces (background, border, text) resolve from\n * semantic tokens, and each series swatch reuses the recharts-provided series\n * `color` (already a `--chart-*` token from this package's charts).\n */\nexport const ChartTooltipContent = ({\n active,\n label,\n payload,\n valueFormatter,\n className,\n}: ChartTooltipContentProps) => {\n if (!active || !payload?.length) return null;\n\n return (\n <div\n className={cn(\n 'tw:min-w-32 tw:rounded-md tw:border tw:border-border tw:bg-popover tw:px-2.5 tw:py-1.5 tw:text-xs tw:text-popover-foreground tw:shadow-md',\n className,\n )}\n >\n {label != null && <div className=\"tw:mb-1 tw:font-medium\">{label}</div>}\n <div className=\"tw:flex tw:flex-col tw:gap-1\">\n {payload.map((entry) => {\n const name = String(entry.name ?? entry.dataKey ?? '');\n const value = entry.value;\n // Missing / non-numeric values render blank rather than \"NaN\"/\"0\";\n // only well-formed numbers reach the formatter.\n const hasNumber = value != null && value !== '' && Number.isFinite(Number(value));\n const display = hasNumber\n ? valueFormatter\n ? valueFormatter(Number(value), name)\n : String(Number(value))\n : (value ?? '');\n return (\n <div\n key={String(entry.dataKey ?? name)}\n className=\"tw:flex tw:items-center tw:justify-between tw:gap-3\"\n >\n <span className=\"tw:flex tw:items-center tw:gap-1.5\">\n <span\n className=\"tw:size-2 tw:shrink-0 tw:rounded-[2px]\"\n style={{ backgroundColor: entry.color }}\n />\n <span className=\"tw:text-muted-foreground\">{name}</span>\n </span>\n <span className=\"tw:font-medium tw:tabular-nums\">{display}</span>\n </div>\n );\n })}\n </div>\n </div>\n );\n};\n\nexport type ChartTooltipProps = ComponentProps<typeof RechartsTooltip> & {\n valueFormatter?: (value: string | number, name: string) => string;\n};\n\n/**\n * Drop-in recharts `<Tooltip>` pre-wired to render {@link ChartTooltipContent}.\n * Each chart mounts one by default; pass `showTooltip={false}` on the chart to omit.\n */\nexport const ChartTooltip = ({ valueFormatter, ...props }: ChartTooltipProps) => (\n <RechartsTooltip\n cursor={{ strokeWidth: 1 }}\n content={<ChartTooltipContent valueFormatter={valueFormatter} />}\n {...props}\n />\n);\n","/**\n * Apply a numeric `valueFormatter` safely. recharts hands axis ticks and\n * tooltip payload values as `string | number | null | undefined`, and partial\n * or streaming data can carry gaps. Coercing those straight through\n * `Number(value)` would render `$0` (empty string → 0) or `$NaN` (non-numeric),\n * so a missing / non-finite value is rendered as an empty string instead of\n * being fed to the formatter.\n */\nexport const formatValue = (\n value: string | number | null | undefined,\n valueFormatter?: (value: number) => string,\n): string => {\n if (value == null || value === '') return '';\n const num = Number(value);\n if (!Number.isFinite(num)) return '';\n return valueFormatter ? valueFormatter(num) : String(num);\n};\n","import { CartesianGrid, Legend, XAxis, YAxis } from 'recharts';\n\nimport { ChartTooltip } from './ChartTooltip';\nimport { formatValue } from './format';\nimport { type CartesianChartProps, type ChartAxisDomain } from './types';\n\nconst AXIS_PROPS = {\n tickLine: false,\n axisLine: false,\n tick: { fontSize: 11 },\n} as const;\n\n/**\n * The grid + axes + tooltip + legend shared by the line, bar, and area charts.\n * Colors are applied via `ChartContainer`'s CSS chrome, not inline props, so\n * these stay brand-safe.\n */\nexport const cartesianChrome = ({\n xKey,\n showGrid = true,\n showYAxis = true,\n showLegend = false,\n showTooltip = true,\n valueFormatter,\n yDomain,\n}: Pick<\n CartesianChartProps,\n 'xKey' | 'showGrid' | 'showYAxis' | 'showLegend' | 'showTooltip' | 'valueFormatter'\n> & { yDomain?: ChartAxisDomain }) => (\n <>\n {showGrid && <CartesianGrid strokeDasharray=\"3 3\" vertical={false} />}\n <XAxis dataKey={xKey} {...AXIS_PROPS} />\n {/* A domain has to reach recharts through a mounted <YAxis>, so a chart that\n hides its axis but sets one still gets the element — hidden, and taking\n no layout width. Without a domain the hidden case renders nothing, as\n before, and recharts falls back to its implicit axis. */}\n {(showYAxis || yDomain !== undefined) && (\n <YAxis\n hide={!showYAxis}\n domain={yDomain}\n width={48}\n {...AXIS_PROPS}\n tickFormatter={\n valueFormatter\n ? (value: string | number) => formatValue(value, valueFormatter)\n : undefined\n }\n />\n )}\n {showTooltip && (\n <ChartTooltip\n valueFormatter={valueFormatter ? (value) => formatValue(value, valueFormatter) : undefined}\n />\n )}\n {showLegend && <Legend wrapperStyle={{ fontSize: 11 }} />}\n </>\n);\n","/**\n * Chart series colors, from the `--chart-1` … `--chart-5` CSS variables only.\n *\n * - Never inline hex: the variables follow color scheme and brand (`colors.chart` in\n * `@keboola/brand-registry`, emitted by `ThemeProvider`).\n * - The variables hold raw `R G B` channels, so they are wrapped in `rgb(...)` for recharts.\n */\nconst CHART_TOKEN_COUNT = 5;\n\n/** Number of the semantic chart token (`1`–`5`) a series maps to. */\nexport type ChartColorToken = 1 | 2 | 3 | 4 | 5;\n\n/** The CSS color for a 0-based series `index`, wrapping around the palette. */\nexport const chartTokenColor = (index: number): string => {\n // Euclidean modulo: negative indices still land in 1..CHART_TOKEN_COUNT.\n const slot = (((index % CHART_TOKEN_COUNT) + CHART_TOKEN_COUNT) % CHART_TOKEN_COUNT) + 1;\n return `rgb(var(--chart-${slot}))`;\n};\n\n/** Resolve an explicit token (1–5) or fall back to the series position. */\nexport const resolveSeriesColor = (index: number, token?: ChartColorToken): string =>\n chartTokenColor(token ? token - 1 : index);\n","import { Line, LineChart as RechartsLineChart } from 'recharts';\n\nimport { cartesianChrome } from './cartesian';\nimport { ChartContainer } from './ChartContainer';\nimport { resolveSeriesColor } from './theme';\nimport { type CartesianChartProps, type ChartAxisDomain } from './types';\n\nexport type LineChartProps = CartesianChartProps & {\n /**\n * Y-axis `[min, max]`; defaults to a zero baseline. Line-only: a truncated baseline misstates\n * bar/area lengths. For comparing close series far from zero, not judging one magnitude.\n */\n yDomain?: ChartAxisDomain;\n};\n\n/**\n * A themed multi-series line chart.\n *\n * - Series colors come from the `--chart-*` palette (by order, or `series[].color`).\n * - Mounts its own {@link ChartContainer}.\n */\nexport const LineChart = ({\n data,\n xKey,\n series,\n height,\n width,\n className,\n ...chrome\n}: LineChartProps) => (\n <ChartContainer height={height} width={width} className={className}>\n <RechartsLineChart data={data} margin={{ top: 8, right: 8, left: 0, bottom: 0 }}>\n {cartesianChrome({ xKey, ...chrome })}\n {series.map((s, index) => {\n const color = resolveSeriesColor(index, s.color);\n return (\n <Line\n key={s.dataKey}\n type=\"monotone\"\n dataKey={s.dataKey}\n name={s.name ?? s.dataKey}\n stroke={color}\n strokeWidth={2}\n dot={{ r: 3, fill: color, stroke: color }}\n activeDot={{ r: 4 }}\n isAnimationActive={false}\n />\n );\n })}\n </RechartsLineChart>\n </ChartContainer>\n);\n","import { Bar, BarChart as RechartsBarChart } from 'recharts';\n\nimport { cartesianChrome } from './cartesian';\nimport { ChartContainer } from './ChartContainer';\nimport { resolveSeriesColor } from './theme';\nimport { type CartesianChartProps } from './types';\n\nexport type BarChartProps = CartesianChartProps & {\n /** Stack the series into a single bar per category. Defaults to grouped. */\n stacked?: boolean;\n};\n\n/**\n * A themed multi-series bar chart. Series colors come from the semantic\n * `--chart-*` palette (by order, or pinned via `series[].color`), which\n * follows the active color scheme and the active brand's `colors.chart` when it\n * defines one. Pass `stacked` to stack the series instead of grouping them.\n *\n * @example\n * <BarChart data={data} xKey=\"month\" series={[{ dataKey: 'revenue' }]} />\n */\nexport const BarChart = ({\n data,\n xKey,\n series,\n height,\n width,\n className,\n stacked = false,\n ...chrome\n}: BarChartProps) => (\n <ChartContainer height={height} width={width} className={className}>\n <RechartsBarChart data={data} margin={{ top: 8, right: 8, left: 0, bottom: 0 }}>\n {cartesianChrome({ xKey, ...chrome })}\n {series.map((s, index) => (\n <Bar\n key={s.dataKey}\n dataKey={s.dataKey}\n name={s.name ?? s.dataKey}\n fill={resolveSeriesColor(index, s.color)}\n radius={stacked ? 0 : [4, 4, 0, 0]}\n stackId={stacked ? 'stack' : undefined}\n isAnimationActive={false}\n />\n ))}\n </RechartsBarChart>\n </ChartContainer>\n);\n","import { Area, AreaChart as RechartsAreaChart } from 'recharts';\n\nimport { cartesianChrome } from './cartesian';\nimport { ChartContainer } from './ChartContainer';\nimport { resolveSeriesColor } from './theme';\nimport { type CartesianChartProps } from './types';\n\nexport type AreaChartProps = CartesianChartProps & {\n /** Stack the series into a cumulative area. Defaults to overlaid. */\n stacked?: boolean;\n};\n\n/**\n * Themed multi-series area chart.\n *\n * - Colors come from `--chart-*` by series order, or `series[].color`.\n * - The palette follows the color scheme and the brand's `colors.chart`.\n *\n * @example\n * <AreaChart data={data} xKey=\"month\" series={[{ dataKey: 'revenue' }]} />\n */\nexport const AreaChart = ({\n data,\n xKey,\n series,\n height,\n width,\n className,\n stacked = false,\n ...chrome\n}: AreaChartProps) => (\n <ChartContainer height={height} width={width} className={className}>\n <RechartsAreaChart data={data} margin={{ top: 8, right: 8, left: 0, bottom: 0 }}>\n {cartesianChrome({ xKey, ...chrome })}\n {series.map((s, index) => {\n const color = resolveSeriesColor(index, s.color);\n return (\n <Area\n key={s.dataKey}\n type=\"monotone\"\n dataKey={s.dataKey}\n name={s.name ?? s.dataKey}\n stroke={color}\n fill={color}\n fillOpacity={0.15}\n strokeWidth={2}\n stackId={stacked ? 'stack' : undefined}\n isAnimationActive={false}\n />\n );\n })}\n </RechartsAreaChart>\n </ChartContainer>\n);\n","import { Cell, Legend, Pie, PieChart as RechartsPieChart } from 'recharts';\n\nimport { ChartContainer, type ChartDimension } from './ChartContainer';\nimport { ChartTooltip } from './ChartTooltip';\nimport { formatValue } from './format';\nimport { chartTokenColor } from './theme';\nimport { type ChartDatum } from './types';\n\nexport type PieChartProps = {\n /** The rows to plot — one sector per row. */\n data: ChartDatum[];\n /** Key into each datum for the sector label. */\n nameKey: string;\n /** Key into each datum for the sector value. */\n dataKey: string;\n /** Render as a donut with a hole of this inner radius (px or %). */\n innerRadius?: ChartDimension;\n /** Height as a px number or percentage. Defaults to 300. */\n height?: ChartDimension;\n /** Width as a px number or percentage. Defaults to `\"100%\"`. */\n width?: ChartDimension;\n /** Show a legend below the chart. Defaults to `true`. */\n showLegend?: boolean;\n /** Show the hover tooltip. Defaults to `true`. */\n showTooltip?: boolean;\n /** Format a sector value for the tooltip. */\n valueFormatter?: (value: number) => string;\n className?: string;\n};\n\n/**\n * A themed pie / donut chart. Each sector cycles through the semantic\n * `--chart-*` palette, which follows the active color scheme and the\n * active brand's `colors.chart` when it defines one. Pass `innerRadius` to make\n * a donut.\n *\n * @example\n * <PieChart data={data} nameKey=\"engine\" dataKey=\"rows\" innerRadius=\"60%\" />\n */\nexport const PieChart = ({\n data,\n nameKey,\n dataKey,\n innerRadius = 0,\n height,\n width,\n className,\n showLegend = true,\n showTooltip = true,\n valueFormatter,\n}: PieChartProps) => (\n <ChartContainer height={height} width={width} className={className}>\n <RechartsPieChart>\n {showTooltip && (\n <ChartTooltip\n valueFormatter={\n valueFormatter ? (value) => formatValue(value, valueFormatter) : undefined\n }\n />\n )}\n {showLegend && <Legend wrapperStyle={{ fontSize: 11 }} />}\n <Pie\n data={data}\n nameKey={nameKey}\n dataKey={dataKey}\n innerRadius={innerRadius}\n // Separate sectors with the brand surface color rather than recharts'\n // hardcoded white default.\n stroke=\"rgb(var(--background))\"\n isAnimationActive={false}\n >\n {data.map((datum, index) => (\n <Cell key={String(datum[nameKey] ?? index)} fill={chartTokenColor(index)} />\n ))}\n </Pie>\n </RechartsPieChart>\n </ChartContainer>\n);\n"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { clsx } from "clsx";
2
2
  import { extendTailwindMerge } from "tailwind-merge";
3
- //#region src/utils/classNames.ts
3
+ // src/utils/classNames.ts
4
4
  const twMerge = extendTailwindMerge({
5
5
  prefix: "tw",
6
6
  extend: {
@@ -15,7 +15,6 @@ const twMerge = extendTailwindMerge({
15
15
  }
16
16
  });
17
17
  const cn = (...classes) => twMerge(clsx(...classes));
18
- //#endregion
19
18
  export { cn };
20
19
 
21
- //# sourceMappingURL=classNames-DcGnTh2N.js.map
20
+ //# sourceMappingURL=classNames-DkX30VJU.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"classNames-DcGnTh2N.js","names":[],"sources":["../src/utils/classNames.ts"],"sourcesContent":["import { type ClassValue, clsx } from 'clsx';\nimport { extendTailwindMerge } from 'tailwind-merge';\n\n// tailwind-merge v3 (Tailwind v4): the prefix drops the trailing separator —\n// `tw:` → `tw` (the `:` separator is implied).\n// `extend` registers the package's own scale names, so a caller's `className` replaces them.\nconst twMerge = extendTailwindMerge({\n prefix: 'tw',\n extend: {\n theme: { radius: ['card', 'popover', 'modal', 'sheet', 'toast'] },\n classGroups: { opacity: [{ opacity: ['disabled'] }] },\n },\n});\n\nexport const cn = (...classes: ClassValue[]) => twMerge(clsx(...classes));\n"],"mappings":";;;AAMA,MAAM,UAAU,oBAAoB;CAClC,QAAQ;CACR,QAAQ;EACN,OAAO,EAAE,QAAQ;GAAC;GAAQ;GAAW;GAAS;GAAS;EAAO,EAAE;EAChE,aAAa,EAAE,SAAS,CAAC,EAAE,SAAS,CAAC,UAAU,EAAE,CAAC,EAAE;CACtD;AACF,CAAC;AAED,MAAa,MAAM,GAAG,YAA0B,QAAQ,KAAK,GAAG,OAAO,CAAC"}
1
+ {"version":3,"file":"classNames-DkX30VJU.js","names":[],"sources":["../src/utils/classNames.ts"],"sourcesContent":["import { type ClassValue, clsx } from 'clsx';\nimport { extendTailwindMerge } from 'tailwind-merge';\n\n// tailwind-merge v3 (Tailwind v4): the prefix drops the trailing separator —\n// `tw:` → `tw` (the `:` separator is implied).\n// `extend` registers the package's own scale names, so a caller's `className` replaces them.\nconst twMerge = extendTailwindMerge({\n prefix: 'tw',\n extend: {\n theme: { radius: ['card', 'popover', 'modal', 'sheet', 'toast'] },\n classGroups: { opacity: [{ opacity: ['disabled'] }] },\n },\n});\n\nexport const cn = (...classes: ClassValue[]) => twMerge(clsx(...classes));\n"],"mappings":";;;AAMA,MAAM,UAAU,oBAAoB;CAClC,QAAQ;CACR,QAAQ;EACN,OAAO,EAAE,QAAQ;GAAC;GAAQ;GAAW;GAAS;GAAS;EAAO,EAAE;EAChE,aAAa,EAAE,SAAS,CAAC,EAAE,SAAS,CAAC,UAAU,EAAE,CAAC,EAAE;CACtD;AACF,CAAC;AAED,MAAa,MAAM,GAAG,YAA0B,QAAQ,KAAK,GAAG,OAAO,CAAC"}
package/dist/editors.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import "./types-BPcAjMG0.js";
2
- import { ChangeClassification, FieldItemProps, MergeConflict } from "./FieldItem-CPN1xjN5.js";
1
+ import "./types-CsZuwfxc.js";
2
+ import { ChangeClassification, FieldItemProps, MergeConflict } from "./FieldItem-fqm3CNR8.js";
3
3
  import { ComponentProps, ReactNode } from "react";
4
4
  import { CompletionSource } from "@codemirror/autocomplete";
5
5
  import { EditorView } from "@codemirror/view";
@@ -9,18 +9,13 @@ import { StreamLanguage } from "@codemirror/language";
9
9
  import "@codemirror/lint";
10
10
  import { SqlDialectName, SqlDialectName as SqlDialectName$1 } from "@keboola/codemirror-lang-sql";
11
11
  import "@codemirror/state";
12
- //#region src/components/CodeEditor/helpers.d.ts
13
12
  declare const LANGUAGE_MODES: readonly ['application/json', 'text/plain', 'text/x-python', 'text/x-sql', 'text/x-mysql', 'text/x-pgsql', 'text/x-mssql', 'text/x-sfsql', 'text/x-bqsql', 'text/x-plsql', 'text/x-rsrc', 'text/x-sh', 'text/x-toml', 'text/jsonnet', 'text/x-dbt', 'text/javascript', 'text/typescript'];
14
13
  type LANGUAGE_MODE = (typeof LANGUAGE_MODES)[number];
15
14
  declare const isLanguageMode: (mode: string) => mode is LANGUAGE_MODE;
16
- //#endregion
17
- //#region src/components/CodeEditor/variableCompletion.d.ts
18
15
  type EditorVariable = {
19
16
  name: string;
20
17
  value?: string;
21
18
  };
22
- //#endregion
23
- //#region src/components/CodeEditor/CodeEditor.d.ts
24
19
  type Props$3 = {
25
20
  value: string;
26
21
  previousValue?: string;
@@ -75,8 +70,6 @@ type Props$3 = {
75
70
  onChange: (value: string) => void;
76
71
  });
77
72
  declare const CodeEditor: ({ value, previousValue, onChange, variant, mode, placeholder, ariaLabel, ariaLabelledBy, ariaDescribedBy, ariaInvalid, ariaRequired, allowBlankDocument, onBlur, searchQuery, searchMatchIndex, readOnly, inputLocked, autocompletions, completionSource, variables, withCompletions, extraKeys, withToggleCommentHint, withAutofocus, withLineNumbers, withLineWrapping, withCollapseUnchanged, withCopyButton, completeAny, help, helpPostfix, renderAdditionalButtons, className }: Props$3) => import("react").JSX.Element;
78
- //#endregion
79
- //#region src/components/CodeEditor/highlighting.d.ts
80
73
  type HighlightedLines = {
81
74
  from: number;
82
75
  to: number;
@@ -89,8 +82,6 @@ type HighlightedLines = {
89
82
  to: number;
90
83
  };
91
84
  } | null;
92
- //#endregion
93
- //#region src/components/CodeEditor/SqlEditor.d.ts
94
85
  type Props$2 = {
95
86
  value: string;
96
87
  onChange?: (value: string) => void;
@@ -121,8 +112,6 @@ type Props$2 = {
121
112
  dialect?: SqlDialectName$1;
122
113
  };
123
114
  declare const SqlEditor: ({ value, onChange, onSelectionChange, onCreateEditor, onDestroyEditor, onBlurEditor, onFocusEditor, placeholder, searchQuery, searchMatchIndex, readOnly, queryParser, autoFocus, lineNumbers, className, schema, completionSource, variables, defaultDatabase, defaultSchema, highlightLines, dialect }: Props$2) => import("react").JSX.Element;
124
- //#endregion
125
- //#region src/components/MergeEditor/MergeEditor.d.ts
126
115
  type Props$1 = {
127
116
  mergeValue: string;
128
117
  handleMergeChange: (value: string) => void;
@@ -151,8 +140,6 @@ type Props$1 = {
151
140
  rightDeleted?: boolean;
152
141
  };
153
142
  declare const MergeEditor: ({ mergeValue, handleMergeChange, leftText, rightText, leftConflicts, rightConflicts, leftHighlightedLines, rightHighlightedLines, leftClassification, rightClassification, mergeHighlightedLines, mergeClassification, acceptLeft, acceptRight, dismissLeft, dismissRight, leftHeader, middleHeader, middleHeaderClassName, middleClassName, rightHeader, className, leftDeleted, rightDeleted }: Props$1) => import("react").JSX.Element;
154
- //#endregion
155
- //#region src/components/CodeEditor/CodeEditorField.d.ts
156
143
  type Props = FieldItemProps & Omit<ComponentProps<typeof CodeEditor>, 'value' | 'onChange' | 'onBlur' | 'ariaLabel' | 'ariaLabelledBy' | 'ariaDescribedBy' | 'ariaInvalid' | 'ariaRequired' | 'readOnly' | 'className' | 'allowBlankDocument'> & {
157
144
  /** Styles the editor box; `className` styles the field frame. */
158
145
  editorClassName?: string;
@@ -166,6 +153,5 @@ type Props = FieldItemProps & Omit<ComponentProps<typeof CodeEditor>, 'value' |
166
153
  * - Labelled via `aria-labelledby`: CodeMirror's `div[role="textbox"]` is not labelable.
167
154
  */
168
155
  declare const CodeEditorField: ({ label, action, required, requiredMark, help, tooltip, className, 'aria-describedby': ariaDescribedBy, editorClassName, variant, ...editorProps }: Props) => import("react").JSX.Element;
169
- //#endregion
170
156
  export { CodeEditor, CodeEditorField, type EditorVariable, type LANGUAGE_MODE, LANGUAGE_MODES, MergeEditor, type SqlDialectName, SqlEditor, isLanguageMode };
171
157
  //# sourceMappingURL=editors.d.ts.map
package/dist/editors.js CHANGED
@@ -1,11 +1,11 @@
1
- import { cn } from "./classNames-DcGnTh2N.js";
2
- import { ChevronsLeft, ChevronsRight, X } from "./icons-ZIeZXXS7.js";
3
- import { Button } from "./Button-BNkyYU8u.js";
1
+ import { cn } from "./classNames-DkX30VJU.js";
2
+ import { ChevronsLeft, ChevronsRight, X } from "./icons-DDR9dFSr.js";
3
+ import { Button } from "./Button-DbvGzEDb.js";
4
4
  import { useStableCallback } from "./internal/hooks/useStableCallback.js";
5
- import { FieldItem, useFieldContext } from "./FieldItem-BHUqgSO1.js";
5
+ import { FieldItem, useFieldContext } from "./FieldItem-D7eCMfMB.js";
6
6
  import { CHANGE_CLASS } from "./internal/components/MergeEditor/constants.js";
7
- import { resolveToken } from "./themeTokens-DCeb62ap.js";
8
- import { CodeEditor, LANGUAGE_MODES, buildBaseThemeStyles, buildBasicSetup, buildCanvasChrome, buildChromeStyles, buildCustomTheme, buildDiffWash, isLanguageMode, searchExtension, updateSearch, useThemedExtension, useTooltipsExtension, useVariableCompletion } from "./CodeEditor-DVSPdfdo.js";
7
+ import { resolveToken } from "./themeTokens-B60cQtAY.js";
8
+ import { CodeEditor, LANGUAGE_MODES, buildBaseThemeStyles, buildBasicSetup, buildCanvasChrome, buildChromeStyles, buildCustomTheme, buildDiffWash, isLanguageMode, searchExtension, updateSearch, useThemedExtension, useTooltipsExtension, useVariableCompletion } from "./CodeEditor-D_b-ZCng.js";
9
9
  import { useCallback, useEffect, useMemo, useRef } from "react";
10
10
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
11
11
  import { Decoration, EditorView, GutterMarker, ViewPlugin, gutter, gutterLineClass } from "@codemirror/view";
@@ -14,7 +14,7 @@ import { installExtensions } from "@keboola/codemirror-lang-sql";
14
14
  import colors from "@keboola/tailwind-config/colors";
15
15
  import { RangeSet, RangeSetBuilder, StateEffect, StateField } from "@codemirror/state";
16
16
  import { defaultKeymap } from "@codemirror/commands";
17
- //#region src/components/CodeEditor/activeQueryHighlight.ts
17
+ // src/components/CodeEditor/activeQueryHighlight.ts
18
18
  const activeQueryFirstLine = Decoration.line({ class: "cm-active-query cm-active-query-first" });
19
19
  const activeQueryMiddleLine = Decoration.line({ class: "cm-active-query" });
20
20
  const activeQueryLastLine = Decoration.line({ class: "cm-active-query cm-active-query-last" });
@@ -187,8 +187,7 @@ const activeQueryHighlight = (splitQueries) => {
187
187
  }
188
188
  })];
189
189
  };
190
- //#endregion
191
- //#region src/components/CodeEditor/highlighting.ts
190
+ // src/components/CodeEditor/highlighting.ts
192
191
  var HighlightMarker = class extends GutterMarker {
193
192
  toDOM() {
194
193
  const marker = document.createElement("div");
@@ -294,8 +293,7 @@ function highlightingExtension() {
294
293
  function updateHighlighting(view, lines) {
295
294
  view.dispatch({ effects: setHighlightedLinesEffect.of(lines ?? null) });
296
295
  }
297
- //#endregion
298
- //#region src/components/CodeEditor/SqlEditor.tsx
296
+ // src/components/CodeEditor/SqlEditor.tsx
299
297
  const OWN_KEYMAPS = {
300
298
  defaultKeymap: false,
301
299
  completionKeymap: false,
@@ -403,8 +401,7 @@ const SqlEditor = ({ value, onChange, onSelectionChange, onCreateEditor, onDestr
403
401
  basicSetup: defaultSetup
404
402
  });
405
403
  };
406
- //#endregion
407
- //#region src/components/MergeEditor/AcceptControls/AcceptButton.tsx
404
+ // src/components/MergeEditor/AcceptControls/AcceptButton.tsx
408
405
  const AcceptButton = ({ side, onAccept }) => {
409
406
  const label = `Accept ${side === "left" ? "production" : "branch"} version`;
410
407
  return /* @__PURE__ */ jsx(Button, {
@@ -416,8 +413,7 @@ const AcceptButton = ({ side, onAccept }) => {
416
413
  children: /* @__PURE__ */ jsx(side === "left" ? ChevronsRight : ChevronsLeft, { className: "tw:size-5" })
417
414
  });
418
415
  };
419
- //#endregion
420
- //#region src/components/MergeEditor/AcceptControls/AcceptControls.tsx
416
+ // src/components/MergeEditor/AcceptControls/AcceptControls.tsx
421
417
  const AcceptControls = ({ conflicts, side, onAccept, onDismiss, contentRef }) => /* @__PURE__ */ jsx("div", {
422
418
  className: cn("tw:z-10 tw:flex tw:shrink-0 tw:flex-col tw:items-center", conflicts.length > 0 ? "tw:w-7" : "tw:w-0"),
423
419
  children: conflicts.length > 0 && /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx("div", {
@@ -449,8 +445,7 @@ const AcceptControls = ({ conflicts, side, onAccept, onDismiss, contentRef }) =>
449
445
  })
450
446
  })] })
451
447
  });
452
- //#endregion
453
- //#region src/components/MergeEditor/decorations.ts
448
+ // src/components/MergeEditor/decorations.ts
454
449
  const setHighlightedLines = StateEffect.define();
455
450
  const safeDecoration = Decoration.line({ class: "cm-merge-safe-line" });
456
451
  const conflictDecoration = Decoration.line({ class: "cm-merge-conflict-line" });
@@ -531,8 +526,7 @@ const updateHighlightedLines = (view, lines, classification) => {
531
526
  classification
532
527
  }) });
533
528
  };
534
- //#endregion
535
- //#region src/components/MergeEditor/MergePane.tsx
529
+ // src/components/MergeEditor/MergePane.tsx
536
530
  const EMPTY_LINES$1 = /* @__PURE__ */ new Set();
537
531
  const EMPTY_CLASSIFICATION$1 = /* @__PURE__ */ new Map();
538
532
  const MergePane = ({ value, highlightedLines, lineClassification, readOnly = false, onChange, header, headerClassName, className, onScrollDOMReady, deleted = false }) => {
@@ -625,8 +619,7 @@ const MergePane = ({ value, highlightedLines, lineClassification, readOnly = fal
625
619
  })]
626
620
  });
627
621
  };
628
- //#endregion
629
- //#region src/components/MergeEditor/useScrollSync.ts
622
+ // src/components/MergeEditor/useScrollSync.ts
630
623
  const useScrollSync = () => {
631
624
  const scrollersRef = useRef([]);
632
625
  const followersRef = useRef(/* @__PURE__ */ new Map());
@@ -681,8 +674,7 @@ const useScrollSync = () => {
681
674
  }, [])
682
675
  };
683
676
  };
684
- //#endregion
685
- //#region src/components/MergeEditor/MergeEditor.tsx
677
+ // src/components/MergeEditor/MergeEditor.tsx
686
678
  const EMPTY_LINES = /* @__PURE__ */ new Set();
687
679
  const EMPTY_CLASSIFICATION = /* @__PURE__ */ new Map();
688
680
  const MergeEditor = ({ mergeValue, handleMergeChange, leftText, rightText, leftConflicts, rightConflicts, leftHighlightedLines, rightHighlightedLines, leftClassification, rightClassification, mergeHighlightedLines, mergeClassification, acceptLeft, acceptRight, dismissLeft, dismissRight, leftHeader, middleHeader, middleHeaderClassName, middleClassName, rightHeader, className, leftDeleted = false, rightDeleted = false }) => {
@@ -738,8 +730,7 @@ const MergeEditor = ({ mergeValue, handleMergeChange, leftText, rightText, leftC
738
730
  ]
739
731
  });
740
732
  };
741
- //#endregion
742
- //#region src/components/CodeEditor/CodeEditorField.tsx
733
+ // src/components/CodeEditor/CodeEditorField.tsx
743
734
  /**
744
735
  * Code / JSON editor field; state is the raw editor text, never a parsed value.
745
736
  *
@@ -775,7 +766,6 @@ const CodeEditorField = ({ label, action, required, requiredMark, help, tooltip,
775
766
  })
776
767
  });
777
768
  };
778
- //#endregion
779
769
  export { CodeEditor, CodeEditorField, LANGUAGE_MODES, MergeEditor, SqlEditor, isLanguageMode };
780
770
 
781
771
  //# sourceMappingURL=editors.js.map