@keboola/design 12.0.0 → 13.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 (156) hide show
  1. package/AGENTS.md +12 -7
  2. package/CHANGELOG.md +91 -0
  3. package/COMPONENT-API.md +15 -5
  4. package/dist/{AIKit-BD4r7ff-.js → AIKit-DcOlHIBr.js} +22 -10
  5. package/dist/AIKit-DcOlHIBr.js.map +1 -0
  6. package/dist/{AlertModal-Th2khjPi.js → AlertModal-mbSnuuka.js} +5 -5
  7. package/dist/AlertModal-mbSnuuka.js.map +1 -0
  8. package/dist/{BrandEditor-BU23Vl8V.js → BrandEditor-Bkd6dhb8.js} +6 -6
  9. package/dist/{BrandEditor-BU23Vl8V.js.map → BrandEditor-Bkd6dhb8.js.map} +1 -1
  10. package/dist/{Breadcrumb-p9HtMLCc.js → Breadcrumb-BUoAZyhO.js} +2 -2
  11. package/dist/{Breadcrumb-p9HtMLCc.js.map → Breadcrumb-BUoAZyhO.js.map} +1 -1
  12. package/dist/{Button-Ca4Q3VJU.js → Button-B21oVcPU.js} +3 -4
  13. package/dist/Button-B21oVcPU.js.map +1 -0
  14. package/dist/{Card-Cr9MBNHu.js → Card-BQmBWHXl.js} +32 -4
  15. package/dist/Card-BQmBWHXl.js.map +1 -0
  16. package/dist/{ClipboardButton-DHa1trtI.js → ClipboardButton-srUgWgwH.js} +2 -2
  17. package/dist/{ClipboardButton-DHa1trtI.js.map → ClipboardButton-srUgWgwH.js.map} +1 -1
  18. package/dist/{CodeEditor-BSo-oLFG.js → CodeEditor-jZMw1ioj.js} +2 -2
  19. package/dist/{CodeEditor-BSo-oLFG.js.map → CodeEditor-jZMw1ioj.js.map} +1 -1
  20. package/dist/{ColorInput-DSMqrs2-.js → ColorInput-B3gBZ8Ya.js} +2 -2
  21. package/dist/{ColorInput-DSMqrs2-.js.map → ColorInput-B3gBZ8Ya.js.map} +1 -1
  22. package/dist/{ColorModeSwitch-D7EuWyJz.js → ColorModeSwitch-Bw9wMyoL.js} +2 -2
  23. package/dist/{ColorModeSwitch-D7EuWyJz.js.map → ColorModeSwitch-Bw9wMyoL.js.map} +1 -1
  24. package/dist/{Combobox-CxRAYOBt.js → Combobox-C_MTpQ1l.js} +21 -9
  25. package/dist/Combobox-C_MTpQ1l.js.map +1 -0
  26. package/dist/{Command-BU_cVurn.js → Command-BQPiZCNz.js} +2 -2
  27. package/dist/{Command-BU_cVurn.js.map → Command-BQPiZCNz.js.map} +1 -1
  28. package/dist/{CopyField-6_c-NdLO.js → CopyField-Ba7h8MqZ.js} +3 -3
  29. package/dist/CopyField-Ba7h8MqZ.js.map +1 -0
  30. package/dist/{DateInput-DyEErfJf.js → DateInput-D0nWUasV.js} +2 -2
  31. package/dist/{DateInput-DyEErfJf.js.map → DateInput-D0nWUasV.js.map} +1 -1
  32. package/dist/{DateRangeInput-Dg7-VUd9.js → DateRangeInput-i6wE45-V.js} +2 -2
  33. package/dist/{DateRangeInput-Dg7-VUd9.js.map → DateRangeInput-i6wE45-V.js.map} +1 -1
  34. package/dist/{DateRangePicker-BoPnh4aH.js → DateRangePicker-BAnuz6vO.js} +2 -2
  35. package/dist/{DateRangePicker-BoPnh4aH.js.map → DateRangePicker-BAnuz6vO.js.map} +1 -1
  36. package/dist/{FieldItem-2wMXQ0Qw.js → FieldItem-BHViBJS3.js} +2 -2
  37. package/dist/{FieldItem-2wMXQ0Qw.js.map → FieldItem-BHViBJS3.js.map} +1 -1
  38. package/dist/{FileUpload-C83tXuE2.js → FileUpload-Ch2hrIWq.js} +2 -2
  39. package/dist/{FileUpload-C83tXuE2.js.map → FileUpload-Ch2hrIWq.js.map} +1 -1
  40. package/dist/{Form-95rVLfX8.js → Form-VkzfVPyT.js} +5 -5
  41. package/dist/{Form-95rVLfX8.js.map → Form-VkzfVPyT.js.map} +1 -1
  42. package/dist/{FormGroup-CmNiAtU6.js → FormGroup-CmCppxOn.js} +3 -3
  43. package/dist/{FormGroup-CmNiAtU6.js.map → FormGroup-CmCppxOn.js.map} +1 -1
  44. package/dist/{FullScreenModal-CD7mYeTz.js → FullScreenModal-Cwnm8WdM.js} +2 -2
  45. package/dist/{FullScreenModal-CD7mYeTz.js.map → FullScreenModal-Cwnm8WdM.js.map} +1 -1
  46. package/dist/{InputGroup-B4QOPxHl.js → InputGroup-CrlMRz4X.js} +2 -2
  47. package/dist/{InputGroup-B4QOPxHl.js.map → InputGroup-CrlMRz4X.js.map} +1 -1
  48. package/dist/{MermaidDiagram-BQvz6bhv.js → MermaidDiagram-B30x2yV7.js} +2 -2
  49. package/dist/{MermaidDiagram-BQvz6bhv.js.map → MermaidDiagram-B30x2yV7.js.map} +1 -1
  50. package/dist/{Modal-Driyqs_N.js → Modal-BkSuS9Yz.js} +2 -2
  51. package/dist/{Modal-Driyqs_N.js.map → Modal-BkSuS9Yz.js.map} +1 -1
  52. package/dist/{MultiActionButtonGroup-BPnmzBtw.js → MultiActionButtonGroup-AWLj1Tg7.js} +2 -2
  53. package/dist/{MultiActionButtonGroup-BPnmzBtw.js.map → MultiActionButtonGroup-AWLj1Tg7.js.map} +1 -1
  54. package/dist/{PageToolbar-DOAtAnfL.js → PageToolbar-CIW0VmKe.js} +2 -2
  55. package/dist/{PageToolbar-DOAtAnfL.js.map → PageToolbar-CIW0VmKe.js.map} +1 -1
  56. package/dist/{Pagination-LaSg-5cl.js → Pagination-DH3f6LN0.js} +2 -2
  57. package/dist/{Pagination-LaSg-5cl.js.map → Pagination-DH3f6LN0.js.map} +1 -1
  58. package/dist/{Popconfirm-SLz0zodk.js → Popconfirm-Dhzn7sy6.js} +2 -2
  59. package/dist/{Popconfirm-SLz0zodk.js.map → Popconfirm-Dhzn7sy6.js.map} +1 -1
  60. package/dist/{SearchInput-CEfQDNl3.js → SearchInput-D3qMkHaW.js} +2 -2
  61. package/dist/{SearchInput-CEfQDNl3.js.map → SearchInput-D3qMkHaW.js.map} +1 -1
  62. package/dist/{SectionNav-B_qf0AXi.js → SectionNav-TU5i3JeM.js} +2 -2
  63. package/dist/{SectionNav-B_qf0AXi.js.map → SectionNav-TU5i3JeM.js.map} +1 -1
  64. package/dist/{Select-ByRvkZ3D.js → Select-B4uK0QVm.js} +4 -3
  65. package/dist/Select-B4uK0QVm.js.map +1 -0
  66. package/dist/{Sheet-C-yXk5Da.js → Sheet-D0fAE14T.js} +2 -2
  67. package/dist/{Sheet-C-yXk5Da.js.map → Sheet-D0fAE14T.js.map} +1 -1
  68. package/dist/{Sidebar-Ds0E6PbR.js → Sidebar-ZLMNIbg5.js} +3 -3
  69. package/dist/{Sidebar-Ds0E6PbR.js.map → Sidebar-ZLMNIbg5.js.map} +1 -1
  70. package/dist/{Slider-DWdu9NuM.js → Slider-B0ou9r0B.js} +2 -2
  71. package/dist/{Slider-DWdu9NuM.js.map → Slider-B0ou9r0B.js.map} +1 -1
  72. package/dist/{Tabs-Dt9oLYHC.js → Tabs-CTDmye1N.js} +2 -2
  73. package/dist/{Tabs-Dt9oLYHC.js.map → Tabs-CTDmye1N.js.map} +1 -1
  74. package/dist/{TextInput-CDG2XpBl.js → TextInput-BWYXbfs4.js} +2 -2
  75. package/dist/{TextInput-CDG2XpBl.js.map → TextInput-BWYXbfs4.js.map} +1 -1
  76. package/dist/{ThemeProvider-DXsxFg1U.js → ThemeProvider-VF38VfUa.js} +3 -3
  77. package/dist/{ThemeProvider-DXsxFg1U.js.map → ThemeProvider-VF38VfUa.js.map} +1 -1
  78. package/dist/{ZoomableSvg-BzXVfgnI.js → ZoomableSvg-C65nta_r.js} +3 -3
  79. package/dist/{ZoomableSvg-BzXVfgnI.js.map → ZoomableSvg-C65nta_r.js.map} +1 -1
  80. package/dist/editors.js +3 -3
  81. package/dist/flint.js +1 -1
  82. package/dist/index.d.ts +375 -375
  83. package/dist/index.js +37 -37
  84. package/dist/internal/blocks/AIKit.js +1 -1
  85. package/dist/internal/blocks/BrandEditor.js +1 -1
  86. package/dist/internal/blocks/ChartPanel.js +1 -1
  87. package/dist/internal/blocks/ChipEditor.js +1 -1
  88. package/dist/internal/blocks/ClipboardButton.js +1 -1
  89. package/dist/internal/blocks/ColorInput.js +1 -1
  90. package/dist/internal/blocks/ColorModeSwitch.js +1 -1
  91. package/dist/internal/blocks/Command.js +1 -1
  92. package/dist/internal/blocks/CopyField.js +1 -1
  93. package/dist/internal/blocks/DateInput.js +1 -1
  94. package/dist/internal/blocks/DateRangeInput.js +1 -1
  95. package/dist/internal/blocks/EmptyConfigurationActionCard.js +1 -1
  96. package/dist/internal/blocks/ExportMenu.js +1 -1
  97. package/dist/internal/blocks/Form/connectors/ComboboxField.js +2 -2
  98. package/dist/internal/blocks/Form/connectors/ComboboxField.js.map +1 -1
  99. package/dist/internal/blocks/Form/connectors/MultiComboboxField.js +1 -1
  100. package/dist/internal/blocks/Form/connectors/MultiComboboxField.js.map +1 -1
  101. package/dist/internal/blocks/Form.js +1 -1
  102. package/dist/internal/blocks/FormGroup.js +1 -1
  103. package/dist/internal/blocks/MultiActionButtonGroup.js +1 -1
  104. package/dist/internal/blocks/MultiCombobox.js +4 -5
  105. package/dist/internal/blocks/MultiCombobox.js.map +1 -1
  106. package/dist/internal/blocks/NumberInput.js +1 -1
  107. package/dist/internal/blocks/PageToolbar.js +1 -1
  108. package/dist/internal/blocks/PasswordInput.js +1 -1
  109. package/dist/internal/blocks/SearchInput.js +1 -1
  110. package/dist/internal/blocks/SearchInputWithNavigation.js +2 -2
  111. package/dist/internal/blocks/SectionNav.js +1 -1
  112. package/dist/internal/blocks/SplitButton.js +1 -1
  113. package/dist/internal/blocks/StatCard.js +1 -1
  114. package/dist/internal/blocks/TextInput.js +1 -1
  115. package/dist/internal/blocks/Textarea.js +1 -1
  116. package/dist/internal/blocks/TimeInput.js +1 -1
  117. package/dist/internal/components/AlertModal.js +1 -1
  118. package/dist/internal/components/Breadcrumb.js +1 -1
  119. package/dist/internal/components/Button.js +1 -1
  120. package/dist/internal/components/Card.js +1 -1
  121. package/dist/internal/components/CollapsiblePanel.js +1 -1
  122. package/dist/internal/components/CollapsiblePanel.js.map +1 -1
  123. package/dist/internal/components/Combobox.js +1 -1
  124. package/dist/internal/components/DateRangePicker.js +1 -1
  125. package/dist/internal/components/FileUpload.js +1 -1
  126. package/dist/internal/components/FullScreenModal.js +1 -1
  127. package/dist/internal/components/InputGroup.js +1 -1
  128. package/dist/internal/components/Modal.js +1 -1
  129. package/dist/internal/components/Pagination.js +1 -1
  130. package/dist/internal/components/Popconfirm.js +1 -1
  131. package/dist/internal/components/Select.js +1 -1
  132. package/dist/internal/components/Sheet.js +1 -1
  133. package/dist/internal/components/Sidebar.js +1 -1
  134. package/dist/internal/components/Slider.js +1 -1
  135. package/dist/internal/components/Tabs.js +1 -1
  136. package/dist/internal/components/ThemeProvider.js +2 -2
  137. package/dist/internal/components/ZoomableSvg.js +1 -1
  138. package/dist/internal/utils/accessibleName.js +11 -0
  139. package/dist/internal/utils/accessibleName.js.map +1 -0
  140. package/dist/markdown-editor.js +4 -4
  141. package/dist/mermaid.js +1 -1
  142. package/dist/rjsf.js +7 -7
  143. package/dist/styles.css +1 -1
  144. package/dist/testing.js +3 -4
  145. package/dist/testing.js.map +1 -1
  146. package/package.json +23 -23
  147. package/src/theme.css +6 -1
  148. package/dist/AIKit-BD4r7ff-.js.map +0 -1
  149. package/dist/AlertModal-Th2khjPi.js.map +0 -1
  150. package/dist/Button-Ca4Q3VJU.js.map +0 -1
  151. package/dist/Card-Cr9MBNHu.js.map +0 -1
  152. package/dist/Combobox-CxRAYOBt.js.map +0 -1
  153. package/dist/CopyField-6_c-NdLO.js.map +0 -1
  154. package/dist/Select-ByRvkZ3D.js.map +0 -1
  155. package/dist/internal/components/StatusDot.js +0 -60
  156. package/dist/internal/components/StatusDot.js.map +0 -1
@@ -1,7 +1,7 @@
1
1
  import { createChangeInputEvent } from "../../utils-Bd28bWgm.js";
2
2
  import { mergeRefs } from "../utils/mergeRefs.js";
3
3
  import { Clock, X } from "../../icons-wcA70iQx.js";
4
- import { InputGroup } from "../../InputGroup-B4QOPxHl.js";
4
+ import { InputGroup } from "../../InputGroup-CrlMRz4X.js";
5
5
  import { useControllableState } from "../../useControllableState-CUYXMsfz.js";
6
6
  import { TimePicker } from "../../TimePicker-CDGYrRxi.js";
7
7
  import { useRef, useState } from "react";
@@ -1,2 +1,2 @@
1
- import { AlertModal } from "../../AlertModal-Th2khjPi.js";
1
+ import { AlertModal } from "../../AlertModal-mbSnuuka.js";
2
2
  export { AlertModal };
@@ -1,2 +1,2 @@
1
- import { Breadcrumb } from "../../Breadcrumb-p9HtMLCc.js";
1
+ import { Breadcrumb } from "../../Breadcrumb-BUoAZyhO.js";
2
2
  export { Breadcrumb };
@@ -1,2 +1,2 @@
1
- import { Button, ButtonInline, argoVariants } from "../../Button-Ca4Q3VJU.js";
1
+ import { Button, ButtonInline, argoVariants } from "../../Button-B21oVcPU.js";
2
2
  export { Button, ButtonInline, argoVariants };
@@ -1,2 +1,2 @@
1
- import { Card } from "../../Card-Cr9MBNHu.js";
1
+ import { Card } from "../../Card-BQmBWHXl.js";
2
2
  export { Card };
@@ -66,7 +66,7 @@ const CollapsiblePanel = ({ header, className, bodyClassName, headerClassName, d
66
66
  onKeyUp: handleKeyUp
67
67
  },
68
68
  children: [/* @__PURE__ */ jsx("div", {
69
- className: "tw:flex tw:flex-1 tw:items-center tw:gap-2 tw:py-px tw:text-sm tw:font-medium tw:text-foreground",
69
+ className: "tw:flex tw:min-w-0 tw:flex-1 tw:items-center tw:gap-2 tw:py-px tw:text-sm tw:font-medium tw:text-foreground",
70
70
  children: header
71
71
  }), !isDisabled && /* @__PURE__ */ jsx("div", {
72
72
  className: "tw:ml-auto tw:shrink-0",
@@ -1 +1 @@
1
- {"version":3,"file":"CollapsiblePanel.js","names":[],"sources":["../../../src/components/CollapsiblePanel.tsx"],"sourcesContent":["import { useState } from 'react';\nimport type { KeyboardEvent, MouseEvent, ReactNode } from 'react';\nimport { cva } from 'class-variance-authority';\n\nimport { keyCodes } from '../constants/keyCodes';\nimport { ChevronDown } from '../icons';\nimport { cn } from '../utils';\n\nimport { Collapsible } from './Collapsible';\n\nconst headerVariants = cva(\n 'tw:flex tw:flex-1 tw:items-center tw:gap-2 tw:rounded tw:px-4 tw:py-2.5 tw:text-sm tw:text-muted-foreground',\n {\n variants: {\n variant: {\n default: 'tw:bg-muted',\n white: 'tw:bg-card',\n },\n isDisabled: {\n true: 'tw:cursor-not-allowed tw:opacity-50',\n false: '',\n },\n hasEnforcedState: {\n true: '',\n false: '',\n },\n },\n compoundVariants: [\n {\n isDisabled: false,\n hasEnforcedState: false,\n class: 'tw:cursor-pointer tw:hover:text-primary',\n },\n ],\n defaultVariants: {\n variant: 'default',\n isDisabled: false,\n hasEnforcedState: false,\n },\n },\n);\n\ntype Props = {\n header: ReactNode;\n isDisabled?: boolean;\n defaultExpanded?: boolean;\n className?: string;\n bodyClassName?: string;\n headerClassName?: string;\n isOpen?: boolean;\n onToggle?: (event?: MouseEvent<HTMLDivElement> | KeyboardEvent<HTMLDivElement>) => void;\n variant?: 'default' | 'white';\n children: ReactNode;\n};\n\nexport const CollapsiblePanel = ({\n header,\n className,\n bodyClassName,\n headerClassName,\n defaultExpanded = false,\n isDisabled = false,\n children,\n isOpen,\n onToggle,\n variant = 'default',\n}: Props) => {\n const [isUncontrolledOpen, setIsUncontrolledOpen] = useState(defaultExpanded);\n const open = isOpen ?? isUncontrolledOpen;\n const hasEnforcedState = isOpen !== undefined && onToggle === undefined;\n\n const handleCollapse = (event: MouseEvent<HTMLDivElement> | KeyboardEvent<HTMLDivElement>) => {\n if (event) {\n event.stopPropagation();\n }\n if (!isDisabled) {\n setIsUncontrolledOpen(!isUncontrolledOpen);\n }\n };\n\n const handleClick = (e: MouseEvent<HTMLDivElement> | KeyboardEvent<HTMLDivElement>) => {\n if (onToggle) {\n onToggle(e);\n return;\n }\n handleCollapse(e);\n };\n\n const handleKeyUp = (e: KeyboardEvent<HTMLDivElement>) => {\n if ([keyCodes.ENTER, keyCodes.SPACE].includes(e.key)) {\n handleClick(e);\n }\n };\n\n return (\n // `header` is caller-supplied and routinely contains its own buttons, so the toggle stays on\n // this wrapper — `Collapsible.Trigger` renders a `<button>` and would nest them.\n <Collapsible\n open={open}\n className={cn(\n 'tw:group tw:flex tw:flex-col tw:rounded tw:!border tw:!border-solid tw:!border-border tw:bg-card',\n className,\n )}\n >\n <div\n className={cn(headerVariants({ variant, isDisabled, hasEnforcedState }), headerClassName)}\n {...(!hasEnforcedState &&\n !isDisabled && {\n role: 'button',\n tabIndex: 0,\n onClick: handleClick,\n onKeyUp: handleKeyUp,\n })}\n >\n <div className=\"tw:flex tw:flex-1 tw:items-center tw:gap-2 tw:py-px tw:text-sm tw:font-medium tw:text-foreground\">\n {header}\n </div>\n {!isDisabled && (\n <div className=\"tw:ml-auto tw:shrink-0\">\n {/* `group-*` matches *any* ancestor `.group`, so a nested panel's chevron would\n follow the outer panel's state. */}\n <ChevronDown\n data-state={open ? 'open' : 'closed'}\n className=\"tw:size-5 tw:data-[state=open]:rotate-180\"\n />\n </div>\n )}\n </div>\n <Collapsible.Content>\n <div className={cn('tw:px-4 tw:py-3', bodyClassName)}>{children}</div>\n </Collapsible.Content>\n </Collapsible>\n );\n};\n"],"mappings":";;;;;;;;AAUA,MAAM,iBAAiB,IACrB,+GACA;CACE,UAAU;EACR,SAAS;GACP,SAAS;GACT,OAAO;EACT;EACA,YAAY;GACV,MAAM;GACN,OAAO;EACT;EACA,kBAAkB;GAChB,MAAM;GACN,OAAO;EACT;CACF;CACA,kBAAkB,CAChB;EACE,YAAY;EACZ,kBAAkB;EAClB,OAAO;CACT,CACF;CACA,iBAAiB;EACf,SAAS;EACT,YAAY;EACZ,kBAAkB;CACpB;AACF,CACF;AAeA,MAAa,oBAAoB,EAC/B,QACA,WACA,eACA,iBACA,kBAAkB,OAClB,aAAa,OACb,UACA,QACA,UACA,UAAU,gBACC;CACX,MAAM,CAAC,oBAAoB,yBAAyB,SAAS,eAAe;CAC5E,MAAM,OAAO,UAAU;CACvB,MAAM,mBAAmB,WAAW,KAAA,KAAa,aAAa,KAAA;CAE9D,MAAM,kBAAkB,UAAsE;EAC5F,IAAI,OACF,MAAM,gBAAgB;EAExB,IAAI,CAAC,YACH,sBAAsB,CAAC,kBAAkB;CAE7C;CAEA,MAAM,eAAe,MAAkE;EACrF,IAAI,UAAU;GACZ,SAAS,CAAC;GACV;EACF;EACA,eAAe,CAAC;CAClB;CAEA,MAAM,eAAe,MAAqC;EACxD,IAAI,CAAC,SAAS,OAAO,SAAS,KAAK,CAAC,CAAC,SAAS,EAAE,GAAG,GACjD,YAAY,CAAC;CAEjB;CAEA,OAGE,qBAAC,aAAD;EACQ;EACN,WAAW,GACT,oGACA,SACF;EALF,UAAA,CAOE,qBAAC,OAAD;GACE,WAAW,GAAG,eAAe;IAAE;IAAS;IAAY;GAAiB,CAAC,GAAG,eAAe;GACxF,GAAK,CAAC,oBACJ,CAAC,cAAc;IACb,MAAM;IACN,UAAU;IACV,SAAS;IACT,SAAS;GACX;GARJ,UAAA,CAUE,oBAAC,OAAD;IAAK,WAAU;IACZ,UAAA;GACE,CAAA,GACJ,CAAC,cACA,oBAAC,OAAD;IAAK,WAAU;IAGb,UAAA,oBAAC,aAAD;KACE,cAAY,OAAO,SAAS;KAC5B,WAAU;IACX,CAAA;GACE,CAAA,CAEJ;EACL,CAAA,GAAA,oBAAC,YAAY,SAAb,EAAA,UACE,oBAAC,OAAD;GAAK,WAAW,GAAG,mBAAmB,aAAa;GAAI;EAAc,CAAA,EAClD,CAAA,CACV;;AAEjB"}
1
+ {"version":3,"file":"CollapsiblePanel.js","names":[],"sources":["../../../src/components/CollapsiblePanel.tsx"],"sourcesContent":["import { useState } from 'react';\nimport type { KeyboardEvent, MouseEvent, ReactNode } from 'react';\nimport { cva } from 'class-variance-authority';\n\nimport { keyCodes } from '../constants/keyCodes';\nimport { ChevronDown } from '../icons';\nimport { cn } from '../utils';\n\nimport { Collapsible } from './Collapsible';\n\nconst headerVariants = cva(\n 'tw:flex tw:flex-1 tw:items-center tw:gap-2 tw:rounded tw:px-4 tw:py-2.5 tw:text-sm tw:text-muted-foreground',\n {\n variants: {\n variant: {\n default: 'tw:bg-muted',\n white: 'tw:bg-card',\n },\n isDisabled: {\n true: 'tw:cursor-not-allowed tw:opacity-50',\n false: '',\n },\n hasEnforcedState: {\n true: '',\n false: '',\n },\n },\n compoundVariants: [\n {\n isDisabled: false,\n hasEnforcedState: false,\n class: 'tw:cursor-pointer tw:hover:text-primary',\n },\n ],\n defaultVariants: {\n variant: 'default',\n isDisabled: false,\n hasEnforcedState: false,\n },\n },\n);\n\ntype Props = {\n header: ReactNode;\n isDisabled?: boolean;\n defaultExpanded?: boolean;\n className?: string;\n bodyClassName?: string;\n headerClassName?: string;\n isOpen?: boolean;\n onToggle?: (event?: MouseEvent<HTMLDivElement> | KeyboardEvent<HTMLDivElement>) => void;\n variant?: 'default' | 'white';\n children: ReactNode;\n};\n\nexport const CollapsiblePanel = ({\n header,\n className,\n bodyClassName,\n headerClassName,\n defaultExpanded = false,\n isDisabled = false,\n children,\n isOpen,\n onToggle,\n variant = 'default',\n}: Props) => {\n const [isUncontrolledOpen, setIsUncontrolledOpen] = useState(defaultExpanded);\n const open = isOpen ?? isUncontrolledOpen;\n const hasEnforcedState = isOpen !== undefined && onToggle === undefined;\n\n const handleCollapse = (event: MouseEvent<HTMLDivElement> | KeyboardEvent<HTMLDivElement>) => {\n if (event) {\n event.stopPropagation();\n }\n if (!isDisabled) {\n setIsUncontrolledOpen(!isUncontrolledOpen);\n }\n };\n\n const handleClick = (e: MouseEvent<HTMLDivElement> | KeyboardEvent<HTMLDivElement>) => {\n if (onToggle) {\n onToggle(e);\n return;\n }\n handleCollapse(e);\n };\n\n const handleKeyUp = (e: KeyboardEvent<HTMLDivElement>) => {\n if ([keyCodes.ENTER, keyCodes.SPACE].includes(e.key)) {\n handleClick(e);\n }\n };\n\n return (\n // `header` is caller-supplied and routinely contains its own buttons, so the toggle stays on\n // this wrapper — `Collapsible.Trigger` renders a `<button>` and would nest them.\n <Collapsible\n open={open}\n className={cn(\n 'tw:group tw:flex tw:flex-col tw:rounded tw:!border tw:!border-solid tw:!border-border tw:bg-card',\n className,\n )}\n >\n <div\n className={cn(headerVariants({ variant, isDisabled, hasEnforcedState }), headerClassName)}\n {...(!hasEnforcedState &&\n !isDisabled && {\n role: 'button',\n tabIndex: 0,\n onClick: handleClick,\n onKeyUp: handleKeyUp,\n })}\n >\n <div className=\"tw:flex tw:min-w-0 tw:flex-1 tw:items-center tw:gap-2 tw:py-px tw:text-sm tw:font-medium tw:text-foreground\">\n {header}\n </div>\n {!isDisabled && (\n <div className=\"tw:ml-auto tw:shrink-0\">\n {/* `group-*` matches *any* ancestor `.group`, so a nested panel's chevron would\n follow the outer panel's state. */}\n <ChevronDown\n data-state={open ? 'open' : 'closed'}\n className=\"tw:size-5 tw:data-[state=open]:rotate-180\"\n />\n </div>\n )}\n </div>\n <Collapsible.Content>\n <div className={cn('tw:px-4 tw:py-3', bodyClassName)}>{children}</div>\n </Collapsible.Content>\n </Collapsible>\n );\n};\n"],"mappings":";;;;;;;;AAUA,MAAM,iBAAiB,IACrB,+GACA;CACE,UAAU;EACR,SAAS;GACP,SAAS;GACT,OAAO;EACT;EACA,YAAY;GACV,MAAM;GACN,OAAO;EACT;EACA,kBAAkB;GAChB,MAAM;GACN,OAAO;EACT;CACF;CACA,kBAAkB,CAChB;EACE,YAAY;EACZ,kBAAkB;EAClB,OAAO;CACT,CACF;CACA,iBAAiB;EACf,SAAS;EACT,YAAY;EACZ,kBAAkB;CACpB;AACF,CACF;AAeA,MAAa,oBAAoB,EAC/B,QACA,WACA,eACA,iBACA,kBAAkB,OAClB,aAAa,OACb,UACA,QACA,UACA,UAAU,gBACC;CACX,MAAM,CAAC,oBAAoB,yBAAyB,SAAS,eAAe;CAC5E,MAAM,OAAO,UAAU;CACvB,MAAM,mBAAmB,WAAW,KAAA,KAAa,aAAa,KAAA;CAE9D,MAAM,kBAAkB,UAAsE;EAC5F,IAAI,OACF,MAAM,gBAAgB;EAExB,IAAI,CAAC,YACH,sBAAsB,CAAC,kBAAkB;CAE7C;CAEA,MAAM,eAAe,MAAkE;EACrF,IAAI,UAAU;GACZ,SAAS,CAAC;GACV;EACF;EACA,eAAe,CAAC;CAClB;CAEA,MAAM,eAAe,MAAqC;EACxD,IAAI,CAAC,SAAS,OAAO,SAAS,KAAK,CAAC,CAAC,SAAS,EAAE,GAAG,GACjD,YAAY,CAAC;CAEjB;CAEA,OAGE,qBAAC,aAAD;EACQ;EACN,WAAW,GACT,oGACA,SACF;EALF,UAAA,CAOE,qBAAC,OAAD;GACE,WAAW,GAAG,eAAe;IAAE;IAAS;IAAY;GAAiB,CAAC,GAAG,eAAe;GACxF,GAAK,CAAC,oBACJ,CAAC,cAAc;IACb,MAAM;IACN,UAAU;IACV,SAAS;IACT,SAAS;GACX;GARJ,UAAA,CAUE,oBAAC,OAAD;IAAK,WAAU;IACZ,UAAA;GACE,CAAA,GACJ,CAAC,cACA,oBAAC,OAAD;IAAK,WAAU;IAGb,UAAA,oBAAC,aAAD;KACE,cAAY,OAAO,SAAS;KAC5B,WAAU;IACX,CAAA;GACE,CAAA,CAEJ;EACL,CAAA,GAAA,oBAAC,YAAY,SAAb,EAAA,UACE,oBAAC,OAAD;GAAK,WAAW,GAAG,mBAAmB,aAAa;GAAI;EAAc,CAAA,EAClD,CAAA,CACV;;AAEjB"}
@@ -1,2 +1,2 @@
1
- import { BLANK_VALUES, Combobox, filterByWords, matchByWords, namedLabel, withBlankValues } from "../../Combobox-CxRAYOBt.js";
1
+ import { BLANK_VALUES, Combobox, filterByWords, matchByWords, namedLabel, withBlankValues } from "../../Combobox-C_MTpQ1l.js";
2
2
  export { BLANK_VALUES, Combobox, filterByWords, matchByWords, namedLabel, withBlankValues };
@@ -1,2 +1,2 @@
1
- import { DateRangePicker } from "../../DateRangePicker-BoPnh4aH.js";
1
+ import { DateRangePicker } from "../../DateRangePicker-BAnuz6vO.js";
2
2
  export { DateRangePicker };
@@ -1,2 +1,2 @@
1
- import { FileUpload, useFileDropTarget, useFileUploadRejections } from "../../FileUpload-C83tXuE2.js";
1
+ import { FileUpload, useFileDropTarget, useFileUploadRejections } from "../../FileUpload-Ch2hrIWq.js";
2
2
  export { FileUpload, useFileDropTarget, useFileUploadRejections };
@@ -1,2 +1,2 @@
1
- import { FullScreenModal, FullScreenModalBody, FullScreenModalHeader } from "../../FullScreenModal-CD7mYeTz.js";
1
+ import { FullScreenModal, FullScreenModalBody, FullScreenModalHeader } from "../../FullScreenModal-Cwnm8WdM.js";
2
2
  export { FullScreenModal, FullScreenModalBody, FullScreenModalHeader };
@@ -1,2 +1,2 @@
1
- import { InputGroup } from "../../InputGroup-B4QOPxHl.js";
1
+ import { InputGroup } from "../../InputGroup-CrlMRz4X.js";
2
2
  export { InputGroup };
@@ -1,2 +1,2 @@
1
- import { Modal } from "../../Modal-Driyqs_N.js";
1
+ import { Modal } from "../../Modal-BkSuS9Yz.js";
2
2
  export { Modal };
@@ -1,2 +1,2 @@
1
- import { Pagination } from "../../Pagination-LaSg-5cl.js";
1
+ import { Pagination } from "../../Pagination-DH3f6LN0.js";
2
2
  export { Pagination };
@@ -1,2 +1,2 @@
1
- import { Popconfirm } from "../../Popconfirm-SLz0zodk.js";
1
+ import { Popconfirm } from "../../Popconfirm-Dhzn7sy6.js";
2
2
  export { Popconfirm };
@@ -1,2 +1,2 @@
1
- import { Select } from "../../Select-ByRvkZ3D.js";
1
+ import { Select } from "../../Select-B4uK0QVm.js";
2
2
  export { Select };
@@ -1,2 +1,2 @@
1
- import { Sheet } from "../../Sheet-C-yXk5Da.js";
1
+ import { Sheet } from "../../Sheet-D0fAE14T.js";
2
2
  export { Sheet };
@@ -1,2 +1,2 @@
1
- import { Sidebar, SidebarProvider, useOptionalSidebar, useSidebar } from "../../Sidebar-Ds0E6PbR.js";
1
+ import { Sidebar, SidebarProvider, useOptionalSidebar, useSidebar } from "../../Sidebar-ZLMNIbg5.js";
2
2
  export { Sidebar, SidebarProvider, useOptionalSidebar, useSidebar };
@@ -1,2 +1,2 @@
1
- import { Slider } from "../../Slider-DWdu9NuM.js";
1
+ import { Slider } from "../../Slider-B0ou9r0B.js";
2
2
  export { Slider };
@@ -1,2 +1,2 @@
1
- import { Tabs, TabsContent } from "../../Tabs-Dt9oLYHC.js";
1
+ import { Tabs, TabsContent } from "../../Tabs-CTDmye1N.js";
2
2
  export { Tabs, TabsContent };
@@ -1,4 +1,4 @@
1
1
  import { DEFAULT_BRAND_ID, DEFAULT_COLOR_SCHEME } from "../../defaults-i_xG2F_1.js";
2
2
  import { ArgoDesignContext, useArgoDesign, useTheme } from "../../context-U293r3v-.js";
3
- import { ThemeProvider, ThemeScope, agnes, brandSchema, exampleCustomer, harbor, keboola, keboolaLegacySidebar, keboolaLegacyTopnav, useThemeScopeContainer } from "../../ThemeProvider-DXsxFg1U.js";
4
- export { ArgoDesignContext, DEFAULT_COLOR_SCHEME, DEFAULT_BRAND_ID as DEFAULT_KEBOOLA_BRAND_ID, ThemeProvider, ThemeScope, agnes, brandSchema, exampleCustomer, harbor, keboola, keboolaLegacySidebar, keboolaLegacyTopnav, useArgoDesign, useTheme, useThemeScopeContainer };
3
+ import { ThemeProvider, ThemeScope, agnes, brandSchema, exampleCustomer, harbor, keboola, keboolaLegacySidebar, useThemeScopeContainer } from "../../ThemeProvider-VF38VfUa.js";
4
+ export { ArgoDesignContext, DEFAULT_COLOR_SCHEME, DEFAULT_BRAND_ID as DEFAULT_KEBOOLA_BRAND_ID, ThemeProvider, ThemeScope, agnes, brandSchema, exampleCustomer, harbor, keboola, keboolaLegacySidebar, useArgoDesign, useTheme, useThemeScopeContainer };
@@ -1,2 +1,2 @@
1
- import { ZoomableSvg, svgToPngBlob, toSvgFileContent } from "../../ZoomableSvg-BzXVfgnI.js";
1
+ import { ZoomableSvg, svgToPngBlob, toSvgFileContent } from "../../ZoomableSvg-C65nta_r.js";
2
2
  export { ZoomableSvg, svgToPngBlob, toSvgFileContent };
@@ -0,0 +1,11 @@
1
+ //#region src/utils/accessibleName.ts
2
+ /**
3
+ * Passes the rest of a destructure on as the control's accessible name.
4
+ *
5
+ * - A prop left in the rest, besides the three names, fails type-check.
6
+ */
7
+ const forwardAccessibleName = (rest) => rest;
8
+ //#endregion
9
+ export { forwardAccessibleName };
10
+
11
+ //# sourceMappingURL=accessibleName.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accessibleName.js","names":[],"sources":["../../../src/utils/accessibleName.ts"],"sourcesContent":["type AccessibleNameProps = { id?: string; 'aria-label'?: string; 'aria-labelledby'?: string };\n\n/**\n * `Props` with one accessible-name route required: `aria-label`, `aria-labelledby` or `id`.\n *\n * - An either-or union: the props keep their own types, and more than one may be passed.\n * - `id` counts only when a `<Label htmlFor>` points at it — the type cannot check that pair.\n * - Forward the three as one rest object: destructured apart, they become three optional props.\n */\nexport type WithAccessibleName<Props> = Props &\n AccessibleNameProps &\n (\n | Required<Pick<Props & AccessibleNameProps, 'aria-label'>>\n | Required<Pick<Props & AccessibleNameProps, 'aria-labelledby'>>\n | Required<Pick<Props & AccessibleNameProps, 'id'>>\n );\n\ntype AccessibleNameRest<Rest> = keyof Rest extends keyof AccessibleNameProps ? Rest : never;\n\n/**\n * Passes the rest of a destructure on as the control's accessible name.\n *\n * - A prop left in the rest, besides the three names, fails type-check.\n */\nexport const forwardAccessibleName = <Rest>(rest: Rest & AccessibleNameRest<Rest>): Rest => rest;\n"],"mappings":";;;;;;AAwBA,MAAa,yBAA+B,SAAgD"}
@@ -1,13 +1,13 @@
1
1
  import { cn } from "./classNames-BzrkDnOD.js";
2
2
  import { Tooltip } from "./utils-Bd28bWgm.js";
3
3
  import { AlignCenter, AlignJustify, AlignLeft, AlignRight, Bold, ChevronDown, Code, Heading1, Heading2, Heading3, Italic, Link, List, ListOrdered, Quote, SquareCode, Strikethrough, Type, Underline } from "./icons-wcA70iQx.js";
4
- import { Button } from "./Button-Ca4Q3VJU.js";
4
+ import { Button } from "./Button-B21oVcPU.js";
5
5
  import { ButtonGroup } from "./internal/components/ButtonGroup.js";
6
6
  import { DropdownMenu } from "./DropdownMenu-gRM-A8qU.js";
7
7
  import { Label } from "./internal/components/Label.js";
8
8
  import { useStableCallback } from "./internal/hooks/useStableCallback.js";
9
- import { TextInput } from "./TextInput-CDG2XpBl.js";
10
- import { FormGroup } from "./FormGroup-CmNiAtU6.js";
9
+ import { TextInput } from "./TextInput-BWYXbfs4.js";
10
+ import { FormGroup } from "./FormGroup-CmCppxOn.js";
11
11
  import { Skeleton } from "./internal/components/Skeleton/Skeleton.js";
12
12
  import { toast } from "./toast-CyXEdaCZ.js";
13
13
  import { Suspense, createContext, lazy, use, useCallback, useEffect, useRef, useState } from "react";
@@ -141,7 +141,7 @@ const $isImageNode = (node) => {
141
141
  };
142
142
  //#endregion
143
143
  //#region src/blocks/MarkdownEditor/nodes/MermaidNodeComponent.tsx
144
- const MermaidDiagram = lazy(() => import("./MermaidDiagram-BQvz6bhv.js").then((n) => n.MermaidDiagram_exports).then((m) => ({ default: m.MermaidDiagram }), (error) => {
144
+ const MermaidDiagram = lazy(() => import("./MermaidDiagram-B30x2yV7.js").then((n) => n.MermaidDiagram_exports).then((m) => ({ default: m.MermaidDiagram }), (error) => {
145
145
  console.error("[MarkdownEditor] failed to load MermaidDiagram chunk", error);
146
146
  return { default: ({ code }) => /* @__PURE__ */ jsx("pre", { children: /* @__PURE__ */ jsx("code", { children: code }) }) };
147
147
  }));
package/dist/mermaid.js CHANGED
@@ -1,2 +1,2 @@
1
- import { MermaidDiagram } from "./MermaidDiagram-BQvz6bhv.js";
1
+ import { MermaidDiagram } from "./MermaidDiagram-B30x2yV7.js";
2
2
  export { MermaidDiagram };
package/dist/rjsf.js CHANGED
@@ -1,22 +1,22 @@
1
1
  import { Tooltip, debounce } from "./utils-Bd28bWgm.js";
2
2
  import { BookOpen, Info, Trash2 } from "./icons-wcA70iQx.js";
3
- import { Button } from "./Button-Ca4Q3VJU.js";
3
+ import { Button } from "./Button-B21oVcPU.js";
4
4
  import { Label } from "./internal/components/Label.js";
5
5
  import { Link } from "./internal/components/Link.js";
6
6
  import { useStableCallback } from "./internal/hooks/useStableCallback.js";
7
- import { TextInput } from "./TextInput-CDG2XpBl.js";
7
+ import { TextInput } from "./TextInput-BWYXbfs4.js";
8
8
  import { RadioGroup } from "./RadioGroup-CBPRLRN0.js";
9
9
  import { Checkbox } from "./Checkbox-8yIIgY7g.js";
10
- import { Combobox } from "./Combobox-CxRAYOBt.js";
11
- import { FormGroup } from "./FormGroup-CmNiAtU6.js";
10
+ import { Combobox } from "./Combobox-C_MTpQ1l.js";
11
+ import { FormGroup } from "./FormGroup-CmCppxOn.js";
12
12
  import { NumberInput } from "./internal/blocks/NumberInput.js";
13
13
  import { Textarea } from "./internal/blocks/Textarea.js";
14
- import { DateInput } from "./DateInput-DyEErfJf.js";
14
+ import { DateInput } from "./DateInput-D0nWUasV.js";
15
15
  import { PasswordInput } from "./internal/blocks/PasswordInput.js";
16
16
  import { Alert } from "./Alert-UI-CIs-1.js";
17
17
  import { CollapsiblePanel } from "./internal/components/CollapsiblePanel.js";
18
- import { Tabs, TabsContent } from "./Tabs-Dt9oLYHC.js";
19
- import { CodeEditor, isLanguageMode } from "./CodeEditor-BSo-oLFG.js";
18
+ import { Tabs, TabsContent } from "./Tabs-CTDmye1N.js";
19
+ import { CodeEditor, isLanguageMode } from "./CodeEditor-jZMw1ioj.js";
20
20
  import { createContext, isValidElement, use, useCallback, useEffect, useMemo, useRef, useState } from "react";
21
21
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
22
22
  import DOMPurify from "dompurify";