@keboola/design 17.0.0 → 17.2.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 (191) hide show
  1. package/CHANGELOG.md +48 -1
  2. package/dist/{AIKit-CxKkvN0q.js → AIKit-DiF0LtVr.js} +22 -14
  3. package/dist/AIKit-DiF0LtVr.js.map +1 -0
  4. package/dist/{Alert-DziS8n1H.js → Alert-BQB-og_I.js} +2 -2
  5. package/dist/{Alert-DziS8n1H.js.map → Alert-BQB-og_I.js.map} +1 -1
  6. package/dist/{AlertModal-De04fFoy.js → AlertModal-BkmyEvsR.js} +2 -2
  7. package/dist/{AlertModal-De04fFoy.js.map → AlertModal-BkmyEvsR.js.map} +1 -1
  8. package/dist/{AppShell-BUa3U7-e.js → AppShell-CDbecT-t.js} +2 -2
  9. package/dist/{AppShell-BUa3U7-e.js.map → AppShell-CDbecT-t.js.map} +1 -1
  10. package/dist/{BrandEditor-hiLBX7az.js → BrandEditor-BHE6nsob.js} +6 -6
  11. package/dist/{BrandEditor-hiLBX7az.js.map → BrandEditor-BHE6nsob.js.map} +1 -1
  12. package/dist/{BrandLogo-Dn7hhp2c.js → BrandLogo-n4Qhi1tI.js} +2 -2
  13. package/dist/{BrandLogo-Dn7hhp2c.js.map → BrandLogo-n4Qhi1tI.js.map} +1 -1
  14. package/dist/{Breadcrumb-uGFEIjFF.js → Breadcrumb-BAwQTo0c.js} +3 -3
  15. package/dist/{Breadcrumb-uGFEIjFF.js.map → Breadcrumb-BAwQTo0c.js.map} +1 -1
  16. package/dist/{Button-DbvGzEDb.js → Button-BAMX1iuI.js} +2 -2
  17. package/dist/{Button-DbvGzEDb.js.map → Button-BAMX1iuI.js.map} +1 -1
  18. package/dist/{Checkbox-B2jLlyaO.js → Checkbox-CfjpwIcg.js} +2 -2
  19. package/dist/{Checkbox-B2jLlyaO.js.map → Checkbox-CfjpwIcg.js.map} +1 -1
  20. package/dist/{Clipboard-fAkDdpEu.js → Clipboard-BaU3cDi5.js} +7 -5
  21. package/dist/Clipboard-BaU3cDi5.js.map +1 -0
  22. package/dist/{ClipboardButton-71Ugbl8c.js → ClipboardButton-BWeaQEM2.js} +5 -4
  23. package/dist/ClipboardButton-BWeaQEM2.js.map +1 -0
  24. package/dist/{CodeEditor-D_b-ZCng.js → CodeEditor-BdTxkPD4.js} +4 -4
  25. package/dist/{CodeEditor-D_b-ZCng.js.map → CodeEditor-BdTxkPD4.js.map} +1 -1
  26. package/dist/{ColorInput-Cjr1jkvy.js → ColorInput-BoVdBxJ7.js} +3 -3
  27. package/dist/{ColorInput-Cjr1jkvy.js.map → ColorInput-BoVdBxJ7.js.map} +1 -1
  28. package/dist/{ColorModeSwitch-CuPYnJ2V.js → ColorModeSwitch-BDkdmHYl.js} +2 -2
  29. package/dist/{ColorModeSwitch-CuPYnJ2V.js.map → ColorModeSwitch-BDkdmHYl.js.map} +1 -1
  30. package/dist/{Combobox-DYjvYgl3.js → Combobox-CakN_1cF.js} +6 -6
  31. package/dist/Combobox-CakN_1cF.js.map +1 -0
  32. package/dist/{Command-BcTb6GsR.js → Command-D6XYzzJf.js} +2 -2
  33. package/dist/{Command-BcTb6GsR.js.map → Command-D6XYzzJf.js.map} +1 -1
  34. package/dist/{CopyField-CnwAvQz9.js → CopyField-9WBU8thS.js} +2 -2
  35. package/dist/{CopyField-CnwAvQz9.js.map → CopyField-9WBU8thS.js.map} +1 -1
  36. package/dist/{DateInput-DJNX7Vdx.js → DateInput-CCYG0AtT.js} +3 -3
  37. package/dist/{DateInput-DJNX7Vdx.js.map → DateInput-CCYG0AtT.js.map} +1 -1
  38. package/dist/{DateRangeInput-B3g8cyS0.js → DateRangeInput-CpZK1IFp.js} +3 -3
  39. package/dist/{DateRangeInput-B3g8cyS0.js.map → DateRangeInput-CpZK1IFp.js.map} +1 -1
  40. package/dist/{DateRangePicker-48yOB2qV.js → DateRangePicker-B2AUKX7u.js} +2 -2
  41. package/dist/{DateRangePicker-48yOB2qV.js.map → DateRangePicker-B2AUKX7u.js.map} +1 -1
  42. package/dist/{FieldItem-D7eCMfMB.js → FieldItem-eM7IHBt5.js} +3 -3
  43. package/dist/{FieldItem-D7eCMfMB.js.map → FieldItem-eM7IHBt5.js.map} +1 -1
  44. package/dist/{FileUpload-DskvxhAr.js → FileUpload-d-hNPfPV.js} +2 -2
  45. package/dist/{FileUpload-DskvxhAr.js.map → FileUpload-d-hNPfPV.js.map} +1 -1
  46. package/dist/{Form-BUNW7nlt.js → Form-B_9sNehB.js} +7 -7
  47. package/dist/{Form-BUNW7nlt.js.map → Form-B_9sNehB.js.map} +1 -1
  48. package/dist/{FormGroup-QJB21LKp.js → FormGroup-D7ahkK1q.js} +3 -3
  49. package/dist/{FormGroup-QJB21LKp.js.map → FormGroup-D7ahkK1q.js.map} +1 -1
  50. package/dist/{FullScreenModal-RzY5XxiG.js → FullScreenModal-CiRKNsls.js} +2 -2
  51. package/dist/{FullScreenModal-RzY5XxiG.js.map → FullScreenModal-CiRKNsls.js.map} +1 -1
  52. package/dist/{InlineEdit-CXL0ZslO.js → InlineEdit-BzOox46S.js} +4 -4
  53. package/dist/{InlineEdit-CXL0ZslO.js.map → InlineEdit-BzOox46S.js.map} +1 -1
  54. package/dist/{InputGroup-BWeanEo7.js → InputGroup-DnGP9-ZQ.js} +2 -2
  55. package/dist/{InputGroup-BWeanEo7.js.map → InputGroup-DnGP9-ZQ.js.map} +1 -1
  56. package/dist/{Kbd-BprYCICe.js → Kbd-6velz9J-.js} +2 -2
  57. package/dist/{Kbd-BprYCICe.js.map → Kbd-6velz9J-.js.map} +1 -1
  58. package/dist/{MermaidDiagram-E3azndPk.js → MermaidDiagram-l83gco3r.js} +2 -2
  59. package/dist/{MermaidDiagram-E3azndPk.js.map → MermaidDiagram-l83gco3r.js.map} +1 -1
  60. package/dist/{Modal-Cf_kPEBW.js → Modal-CLu6Eg5p.js} +2 -2
  61. package/dist/{Modal-Cf_kPEBW.js.map → Modal-CLu6Eg5p.js.map} +1 -1
  62. package/dist/{MultiActionButtonGroup-8WQwL4UQ.js → MultiActionButtonGroup-B3-wNw7w.js} +3 -3
  63. package/dist/{MultiActionButtonGroup-8WQwL4UQ.js.map → MultiActionButtonGroup-B3-wNw7w.js.map} +1 -1
  64. package/dist/{Navbar-CRjxVboE.js → Navbar-BEc-Pqo5.js} +2 -2
  65. package/dist/{Navbar-CRjxVboE.js.map → Navbar-BEc-Pqo5.js.map} +1 -1
  66. package/dist/{PageHeader-DosMyar2.js → PageHeader-CfFKjCzo.js} +2 -2
  67. package/dist/PageHeader-CfFKjCzo.js.map +1 -0
  68. package/dist/{PageToolbar-By2HznxO.js → PageToolbar-NmiausP7.js} +2 -2
  69. package/dist/{PageToolbar-By2HznxO.js.map → PageToolbar-NmiausP7.js.map} +1 -1
  70. package/dist/{Pagination-DrXTrvfD.js → Pagination-DidOPSPB.js} +2 -2
  71. package/dist/{Pagination-DrXTrvfD.js.map → Pagination-DidOPSPB.js.map} +1 -1
  72. package/dist/{Popconfirm-BJuDOHdv.js → Popconfirm-C4ryoeGP.js} +2 -2
  73. package/dist/{Popconfirm-BJuDOHdv.js.map → Popconfirm-C4ryoeGP.js.map} +1 -1
  74. package/dist/{RadioGroup-B9oC8P15.js → RadioGroup-BIElT-nH.js} +2 -2
  75. package/dist/{RadioGroup-B9oC8P15.js.map → RadioGroup-BIElT-nH.js.map} +1 -1
  76. package/dist/{Search-OgaNjqQM.js → Search-xDWaQ2z3.js} +2 -2
  77. package/dist/{Search-OgaNjqQM.js.map → Search-xDWaQ2z3.js.map} +1 -1
  78. package/dist/{SearchInput-eLS-uvOn.js → SearchInput-BwlJ77mV.js} +3 -3
  79. package/dist/{SearchInput-eLS-uvOn.js.map → SearchInput-BwlJ77mV.js.map} +1 -1
  80. package/dist/{SectionNav-L81iJBo3.js → SectionNav-DV3Hwj-5.js} +14 -8
  81. package/dist/SectionNav-DV3Hwj-5.js.map +1 -0
  82. package/dist/{Select-DRdkdzBp.js → Select-C3Q_Xk_Z.js} +2 -2
  83. package/dist/{Select-DRdkdzBp.js.map → Select-C3Q_Xk_Z.js.map} +1 -1
  84. package/dist/{Sheet-DVb4XoJ5.js → Sheet-D7NnOyud.js} +2 -2
  85. package/dist/{Sheet-DVb4XoJ5.js.map → Sheet-D7NnOyud.js.map} +1 -1
  86. package/dist/{Sidebar-DYvodJWN.js → Sidebar-DaUDM8jm.js} +5 -5
  87. package/dist/{Sidebar-DYvodJWN.js.map → Sidebar-DaUDM8jm.js.map} +1 -1
  88. package/dist/{Slider-B9IskDxf.js → Slider-Cdl8FOvI.js} +3 -3
  89. package/dist/{Slider-B9IskDxf.js.map → Slider-Cdl8FOvI.js.map} +1 -1
  90. package/dist/{Table-BwgBm3hJ.js → Table-DtLrXt4i.js} +39 -7
  91. package/dist/Table-DtLrXt4i.js.map +1 -0
  92. package/dist/{Tabs-DmJB4l_N.js → Tabs-DUOUQKh7.js} +2 -2
  93. package/dist/{Tabs-DmJB4l_N.js.map → Tabs-DUOUQKh7.js.map} +1 -1
  94. package/dist/{TextInput--1CfZybC.js → TextInput-BAL-zOAN.js} +3 -3
  95. package/dist/{TextInput--1CfZybC.js.map → TextInput-BAL-zOAN.js.map} +1 -1
  96. package/dist/{ThemeProvider-BCHllN7d.js → ThemeProvider-MzVbTDBj.js} +2 -2
  97. package/dist/{ThemeProvider-BCHllN7d.js.map → ThemeProvider-MzVbTDBj.js.map} +1 -1
  98. package/dist/{ToggleAllTooltip-BFmA6TXf.js → ToggleAllTooltip-DQE5Lw6w.js} +2 -2
  99. package/dist/{ToggleAllTooltip-BFmA6TXf.js.map → ToggleAllTooltip-DQE5Lw6w.js.map} +1 -1
  100. package/dist/{ZoomableSvg-BRPGgaWJ.js → ZoomableSvg-CIOqAYpd.js} +4 -4
  101. package/dist/{ZoomableSvg-BRPGgaWJ.js.map → ZoomableSvg-CIOqAYpd.js.map} +1 -1
  102. package/dist/editors.js +3 -3
  103. package/dist/flint.js +3 -3
  104. package/dist/flint.js.map +1 -1
  105. package/dist/index.d.ts +410 -354
  106. package/dist/index.js +52 -50
  107. package/dist/internal/blocks/AIKit.js +1 -1
  108. package/dist/internal/blocks/AppShell.js +1 -1
  109. package/dist/internal/blocks/AuthLayout.js +1 -1
  110. package/dist/internal/blocks/BrandEditor.js +1 -1
  111. package/dist/internal/blocks/BulkActionsBar.js +55 -0
  112. package/dist/internal/blocks/BulkActionsBar.js.map +1 -0
  113. package/dist/internal/blocks/ChipEditor.js +2 -2
  114. package/dist/internal/blocks/ClipboardButton.js +1 -1
  115. package/dist/internal/blocks/ColorInput.js +1 -1
  116. package/dist/internal/blocks/ColorModeSwitch.js +1 -1
  117. package/dist/internal/blocks/Command.js +1 -1
  118. package/dist/internal/blocks/CopyField.js +1 -1
  119. package/dist/internal/blocks/DateInput.js +1 -1
  120. package/dist/internal/blocks/DateRangeInput.js +1 -1
  121. package/dist/internal/blocks/ExportMenu.js +2 -2
  122. package/dist/internal/blocks/Form/connectors/ComboboxField.js +2 -2
  123. package/dist/internal/blocks/Form/connectors/MultiComboboxField.js +1 -1
  124. package/dist/internal/blocks/Form.js +2 -2
  125. package/dist/internal/blocks/FormGroup.js +1 -1
  126. package/dist/internal/blocks/InlineEdit.js +1 -1
  127. package/dist/internal/blocks/MultiActionButtonGroup.js +1 -1
  128. package/dist/internal/blocks/MultiCombobox.js +3 -3
  129. package/dist/internal/blocks/NumberInput.js +1 -1
  130. package/dist/internal/blocks/PageHeader.js +1 -1
  131. package/dist/internal/blocks/PageSection.js +31 -0
  132. package/dist/internal/blocks/PageSection.js.map +1 -0
  133. package/dist/internal/blocks/PageToolbar.js +1 -1
  134. package/dist/internal/blocks/PasswordInput.js +2 -2
  135. package/dist/internal/blocks/SearchInput.js +1 -1
  136. package/dist/internal/blocks/SearchInputWithNavigation.js +3 -3
  137. package/dist/internal/blocks/SectionNav.js +1 -1
  138. package/dist/internal/blocks/SplitButton.js +1 -1
  139. package/dist/internal/blocks/TextInput.js +1 -1
  140. package/dist/internal/blocks/Textarea.js +1 -1
  141. package/dist/internal/blocks/TimeInput.js +2 -2
  142. package/dist/internal/components/Alert.js +1 -1
  143. package/dist/internal/components/AlertModal.js +1 -1
  144. package/dist/internal/components/Avatar.js +3 -2
  145. package/dist/internal/components/Avatar.js.map +1 -1
  146. package/dist/internal/components/BrandLogo.js +1 -1
  147. package/dist/internal/components/Breadcrumb.js +1 -1
  148. package/dist/internal/components/Button.js +1 -1
  149. package/dist/internal/components/Checkbox.js +1 -1
  150. package/dist/internal/components/Clipboard.js +1 -1
  151. package/dist/internal/components/CollapsiblePanel.js +1 -1
  152. package/dist/internal/components/Combobox.js +1 -1
  153. package/dist/internal/components/DateRangePicker.js +1 -1
  154. package/dist/internal/components/FileUpload.js +1 -1
  155. package/dist/internal/components/FullScreenModal.js +1 -1
  156. package/dist/internal/components/InputGroup.js +1 -1
  157. package/dist/internal/components/Kbd.js +1 -1
  158. package/dist/internal/components/Modal.js +1 -1
  159. package/dist/internal/components/Navbar.js +1 -1
  160. package/dist/internal/components/Pagination.js +1 -1
  161. package/dist/internal/components/Popconfirm.js +1 -1
  162. package/dist/internal/components/RadioGroup.js +1 -1
  163. package/dist/internal/components/Search.js +1 -1
  164. package/dist/internal/components/Select.js +1 -1
  165. package/dist/internal/components/Sheet.js +1 -1
  166. package/dist/internal/components/Sidebar.js +1 -1
  167. package/dist/internal/components/Slider.js +1 -1
  168. package/dist/internal/components/Table.js +1 -1
  169. package/dist/internal/components/Tabs.js +1 -1
  170. package/dist/internal/components/ThemeProvider.js +1 -1
  171. package/dist/internal/components/Tooltip.js +1 -1
  172. package/dist/internal/components/Truncated.js +1 -1
  173. package/dist/internal/components/ZoomableSvg.js +1 -1
  174. package/dist/internal/utils.js +1 -1
  175. package/dist/markdown-editor.js +6 -6
  176. package/dist/mermaid.js +1 -1
  177. package/dist/rjsf.js +74 -54
  178. package/dist/rjsf.js.map +1 -1
  179. package/dist/styles.css +1 -1
  180. package/dist/testing.js +1 -1
  181. package/dist/{utils-DjFceY3H.js → utils-BxEJOnFD.js} +2 -2
  182. package/dist/{utils-DjFceY3H.js.map → utils-BxEJOnFD.js.map} +1 -1
  183. package/package.json +3 -3
  184. package/src/styles.css +11 -1
  185. package/dist/AIKit-CxKkvN0q.js.map +0 -1
  186. package/dist/Clipboard-fAkDdpEu.js.map +0 -1
  187. package/dist/ClipboardButton-71Ugbl8c.js.map +0 -1
  188. package/dist/Combobox-DYjvYgl3.js.map +0 -1
  189. package/dist/PageHeader-DosMyar2.js.map +0 -1
  190. package/dist/SectionNav-L81iJBo3.js.map +0 -1
  191. package/dist/Table-BwgBm3hJ.js.map +0 -1
package/dist/index.js CHANGED
@@ -1,55 +1,55 @@
1
1
  import { cn } from "./classNames-DkX30VJU.js";
2
- import { HINT_UNDERLINE_CLASS_NAME, Tooltip, TooltipProvider, copyToClipboard, isMac } from "./utils-DjFceY3H.js";
2
+ import { HINT_UNDERLINE_CLASS_NAME, Tooltip, TooltipProvider, copyToClipboard, isMac } from "./utils-BxEJOnFD.js";
3
3
  import { findLiteralMatches, hasLiteralMatch } from "./findLiteralMatches-BaLZTPtx.js";
4
4
  import { mergeRefs } from "./internal/utils/mergeRefs.js";
5
- import { Button, ButtonInline, buttonVariants } from "./Button-DbvGzEDb.js";
5
+ import { Button, ButtonInline, buttonVariants } from "./Button-BAMX1iuI.js";
6
6
  import { ButtonGroup } from "./internal/components/ButtonGroup.js";
7
7
  import { DropdownMenu } from "./DropdownMenu-Ba9atqDa.js";
8
8
  import { ScrollArea, ScrollBar } from "./internal/components/ScrollArea.js";
9
9
  import { SplitButton } from "./internal/blocks/SplitButton.js";
10
- import { MultiActionButtonGroup } from "./MultiActionButtonGroup-8WQwL4UQ.js";
10
+ import { MultiActionButtonGroup } from "./MultiActionButtonGroup-B3-wNw7w.js";
11
11
  import { Toggle } from "./internal/components/Toggle.js";
12
12
  import { ToggleGroup } from "./ToggleGroup-DsDS7k70.js";
13
- import { Clipboard } from "./Clipboard-fAkDdpEu.js";
14
- import { ClipboardButton, ClipboardInline } from "./ClipboardButton-71Ugbl8c.js";
13
+ import { Clipboard } from "./Clipboard-BaU3cDi5.js";
14
+ import { ClipboardButton, ClipboardInline } from "./ClipboardButton-BWeaQEM2.js";
15
15
  import { ExportMenu } from "./internal/blocks/ExportMenu.js";
16
- import { CopyField } from "./CopyField-CnwAvQz9.js";
16
+ import { CopyField } from "./CopyField-9WBU8thS.js";
17
17
  import { Label } from "./internal/components/Label.js";
18
18
  import { MicrosoftButton } from "./internal/blocks/MicrosoftButton.js";
19
19
  import { FacebookButton } from "./internal/blocks/FacebookButton.js";
20
20
  import { GoogleButton } from "./internal/blocks/GoogleButton.js";
21
21
  import { Link } from "./internal/components/Link.js";
22
- import { AlertModal } from "./AlertModal-De04fFoy.js";
23
- import { Modal } from "./Modal-Cf_kPEBW.js";
24
- import { FullScreenModal, FullScreenModalBody, FullScreenModalHeader } from "./FullScreenModal-RzY5XxiG.js";
22
+ import { AlertModal } from "./AlertModal-BkmyEvsR.js";
23
+ import { Modal } from "./Modal-CLu6Eg5p.js";
24
+ import { FullScreenModal, FullScreenModalBody, FullScreenModalHeader } from "./FullScreenModal-CiRKNsls.js";
25
25
  import { Truncated } from "./internal/components/Truncated.js";
26
- import { Sheet } from "./Sheet-DVb4XoJ5.js";
26
+ import { Sheet } from "./Sheet-D7NnOyud.js";
27
27
  import { useStableCallback } from "./internal/hooks/useStableCallback.js";
28
28
  import { Popover } from "./Popover-DhOPlWgF.js";
29
- import { Popconfirm } from "./Popconfirm-BJuDOHdv.js";
29
+ import { Popconfirm } from "./Popconfirm-C4ryoeGP.js";
30
30
  import { HoverCard } from "./HoverCard-OGWKRXJ7.js";
31
- import { Command, CommandGroup, CommandInput, CommandItem, CommandList, defaultFilter, useCommandState } from "./Command-BcTb6GsR.js";
32
- import { InputGroup } from "./InputGroup-BWeanEo7.js";
33
- import { TextInput } from "./TextInput--1CfZybC.js";
31
+ import { Command, CommandGroup, CommandInput, CommandItem, CommandList, defaultFilter, useCommandState } from "./Command-D6XYzzJf.js";
32
+ import { InputGroup } from "./InputGroup-DnGP9-ZQ.js";
33
+ import { TextInput } from "./TextInput-BAL-zOAN.js";
34
34
  import { SpotlightBackdrop, useTargetRect } from "./internal/components/SpotlightBackdrop.js";
35
35
  import { Calendar } from "./Calendar-lJBTETbk.js";
36
36
  import { DatePicker } from "./DatePicker-CI59gF3S.js";
37
37
  import { TimePicker } from "./TimePicker-CCV3SOw5.js";
38
- import { DateRangePicker } from "./DateRangePicker-48yOB2qV.js";
38
+ import { DateRangePicker } from "./DateRangePicker-B2AUKX7u.js";
39
39
  import { Switch } from "./Switch-DONWW7ju.js";
40
- import { RadioGroup } from "./RadioGroup-B9oC8P15.js";
40
+ import { RadioGroup } from "./RadioGroup-BIElT-nH.js";
41
41
  import { Separator } from "./internal/components/Separator.js";
42
- import { Slider } from "./Slider-B9IskDxf.js";
43
- import { Search, SearchForm } from "./Search-OgaNjqQM.js";
42
+ import { Slider } from "./Slider-Cdl8FOvI.js";
43
+ import { Search, SearchForm } from "./Search-xDWaQ2z3.js";
44
44
  import { forwardAccessibleName } from "./internal/utils/accessibleName.js";
45
- import { Select } from "./Select-DRdkdzBp.js";
46
- import { Checkbox } from "./Checkbox-B2jLlyaO.js";
47
- import { BLANK_VALUES, Combobox, filterByWords, matchByWords, namedLabel, withBlankValues } from "./Combobox-DYjvYgl3.js";
45
+ import { Select } from "./Select-C3Q_Xk_Z.js";
46
+ import { Checkbox } from "./Checkbox-CfjpwIcg.js";
47
+ import { BLANK_VALUES, Combobox, filterByWords, matchByWords, namedLabel, withBlankValues } from "./Combobox-CakN_1cF.js";
48
48
  import { Badge } from "./Badge-CFRhducL.js";
49
49
  import { MultiCombobox } from "./internal/blocks/MultiCombobox.js";
50
- import { FieldItem, useFieldContext } from "./FieldItem-D7eCMfMB.js";
51
- import { FormGroup } from "./FormGroup-QJB21LKp.js";
52
- import { ColorInput } from "./ColorInput-Cjr1jkvy.js";
50
+ import { FieldItem, useFieldContext } from "./FieldItem-eM7IHBt5.js";
51
+ import { FormGroup } from "./FormGroup-D7ahkK1q.js";
52
+ import { ColorInput } from "./ColorInput-BoVdBxJ7.js";
53
53
  import { HelpBlock } from "./internal/components/HelpBlock.js";
54
54
  import { NumberInput } from "./internal/blocks/NumberInput.js";
55
55
  import { Textarea } from "./internal/blocks/Textarea.js";
@@ -57,25 +57,26 @@ import { ComboboxField } from "./internal/blocks/Form/connectors/ComboboxField.j
57
57
  import { MultiComboboxField } from "./internal/blocks/Form/connectors/MultiComboboxField.js";
58
58
  import { ChipEditor } from "./internal/blocks/ChipEditor.js";
59
59
  import { AutoSaveTextarea } from "./AutoSaveTextarea-CXHOQSun.js";
60
- import { Kbd, kbdVariants, keys } from "./Kbd-BprYCICe.js";
60
+ import { Kbd, kbdVariants, keys } from "./Kbd-6velz9J-.js";
61
61
  import { useAutosizeInput } from "./internal/hooks/useAutosizeInput.js";
62
- import { InlineEdit } from "./InlineEdit-CXL0ZslO.js";
63
- import { ColorModeSwitch } from "./ColorModeSwitch-CuPYnJ2V.js";
64
- import { DateInput } from "./DateInput-DJNX7Vdx.js";
62
+ import { InlineEdit } from "./InlineEdit-BzOox46S.js";
63
+ import { ColorModeSwitch } from "./ColorModeSwitch-BDkdmHYl.js";
64
+ import { DateInput } from "./DateInput-CCYG0AtT.js";
65
65
  import { PasswordInput } from "./internal/blocks/PasswordInput.js";
66
66
  import { TimeInput } from "./internal/blocks/TimeInput.js";
67
- import { DateRangeInput } from "./DateRangeInput-B3g8cyS0.js";
67
+ import { DateRangeInput } from "./DateRangeInput-CpZK1IFp.js";
68
68
  import { OtpInput, REGEXP_ONLY_CHARS, REGEXP_ONLY_DIGITS, REGEXP_ONLY_DIGITS_AND_CHARS } from "./OtpInput-C5plPzGU.js";
69
- import { SearchInput } from "./SearchInput-eLS-uvOn.js";
69
+ import { SearchInput } from "./SearchInput-BwlJ77mV.js";
70
70
  import { SearchInputWithNavigation } from "./internal/blocks/SearchInputWithNavigation.js";
71
- import { FileUpload, useFileDropTarget, useFileUploadRejections } from "./FileUpload-DskvxhAr.js";
72
- import { ANSWER_SOURCES_VISIBLE, AnswerActions, AnswerSources, AnswerSummary, AttachmentChip, CONTEXT_CHIP_EXPANDABLE_LENGTH, ChatInlineIcon, ChatNotice, CollapsibleStepHeader, ContextChip, FileDownloadChip, FileGallery, InlineStepDetail, InlineStepGroup, InlineStepLabel, JumpToLatest, Markdown, MarkdownTable, MessageBubble, ModeChip, PROMPT_INPUT_CONTAINER, PlanApproval, PlanRewritingIndicator, PromptInput, Question, QuestionBlock, SourceChip, SuggestedPrompt, ThinkingIndicator, ToolCallApproval, ToolCallChip, ToolCallStatusHeader, UsageBar, UsageStats, clampPercentage, findMentionToken, findSlashToken, formatPercentage, getChatInlineIconName, splitSealedBlocks, withholdOpenTail } from "./AIKit-CxKkvN0q.js";
71
+ import { FileUpload, useFileDropTarget, useFileUploadRejections } from "./FileUpload-d-hNPfPV.js";
72
+ import { ANSWER_SOURCES_VISIBLE, AnswerActions, AnswerSources, AnswerSummary, AttachmentChip, CONTEXT_CHIP_EXPANDABLE_LENGTH, ChatInlineIcon, ChatNotice, CollapsibleStepHeader, ContextChip, FileDownloadChip, FileGallery, InlineStepDetail, InlineStepGroup, InlineStepLabel, JumpToLatest, Markdown, MarkdownTable, MessageBubble, ModeChip, PROMPT_INPUT_CONTAINER, PlanApproval, PlanRewritingIndicator, PromptInput, Question, QuestionBlock, SourceChip, SuggestedPrompt, ThinkingIndicator, ToolCallApproval, ToolCallChip, ToolCallStatusHeader, UsageBar, UsageStats, clampPercentage, findMentionToken, findSlashToken, formatPercentage, getChatInlineIconName, splitSealedBlocks, withholdOpenTail } from "./AIKit-DiF0LtVr.js";
73
73
  import { Collapsible } from "./Collapsible-zsXk4Vpp.js";
74
- import { Alert } from "./Alert-DziS8n1H.js";
75
- import { Table, tableAriaSort } from "./Table-BwgBm3hJ.js";
74
+ import { Alert } from "./Alert-BQB-og_I.js";
75
+ import { Table, tableAriaSort } from "./Table-DtLrXt4i.js";
76
+ import { EmptyState } from "./internal/blocks/EmptyState.js";
76
77
  import { Skeleton } from "./internal/components/Skeleton/Skeleton.js";
77
78
  import { DiagramSkeleton } from "./internal/blocks/DiagramShared/DiagramSkeleton.js";
78
- import { ZoomableSvg, svgToPngBlob, toSvgFileContent } from "./ZoomableSvg-BRPGgaWJ.js";
79
+ import { ZoomableSvg, svgToPngBlob, toSvgFileContent } from "./ZoomableSvg-CIOqAYpd.js";
79
80
  import { Progress } from "./internal/components/Progress.js";
80
81
  import { MAX_DIGIT_HOTKEY, digitFromKeyCode, useAltDigitHotkey } from "./internal/hooks/useAltDigitHotkey.js";
81
82
  import { toast } from "./toast-Dzj1EFOb.js";
@@ -83,33 +84,34 @@ import { Toaster, useNotification } from "./Toast-BOTINeTX.js";
83
84
  import { EmptySearchContent } from "./internal/components/EmptySearchContent.js";
84
85
  import { Card } from "./Card-VIPfOVW5.js";
85
86
  import { EmptyConfigurationActionCard } from "./internal/blocks/EmptyConfigurationActionCard.js";
86
- import { EmptyState } from "./internal/blocks/EmptyState.js";
87
87
  import { ErrorState } from "./internal/blocks/ErrorState.js";
88
88
  import { SkeletonList } from "./internal/components/Skeleton/SkeletonList.js";
89
89
  import { DotsLoader } from "./internal/components/DotsLoader.js";
90
90
  import { CollapsiblePanel } from "./internal/components/CollapsiblePanel.js";
91
91
  import { PanelWithDetails } from "./internal/components/PanelWithDetails.js";
92
- import { ThemeProvider, ThemeScope, agnes, brandSchema, exampleCustomer, harbor, kbcUi, keboola, useTheme, useThemeScopeContainer } from "./ThemeProvider-BCHllN7d.js";
92
+ import { ThemeProvider, ThemeScope, agnes, brandSchema, exampleCustomer, harbor, kbcUi, keboola, useTheme, useThemeScopeContainer } from "./ThemeProvider-MzVbTDBj.js";
93
93
  import { DEFAULT_BRAND_ID, DEFAULT_COLOR_SCHEME } from "./themeScopeContext-BZGPdyG8.js";
94
- import { AppShell, appShellSlotSelector } from "./AppShell-BUa3U7-e.js";
95
- import { BrandLogo } from "./BrandLogo-Dn7hhp2c.js";
94
+ import { AppShell, appShellSlotSelector } from "./AppShell-CDbecT-t.js";
95
+ import { BrandLogo } from "./BrandLogo-n4Qhi1tI.js";
96
96
  import { AuthLayout } from "./internal/blocks/AuthLayout.js";
97
97
  import { PageLayout } from "./PageLayout-kY31oUix.js";
98
- import { PageHeader } from "./PageHeader-DosMyar2.js";
99
- import { PageToolbar } from "./PageToolbar-By2HznxO.js";
100
- import { SectionNav } from "./SectionNav-L81iJBo3.js";
98
+ import { PageHeader } from "./PageHeader-CfFKjCzo.js";
99
+ import { PageToolbar } from "./PageToolbar-NmiausP7.js";
100
+ import { PageSection } from "./internal/blocks/PageSection.js";
101
+ import { BulkActionsBar, Reveal } from "./internal/blocks/BulkActionsBar.js";
102
+ import { SectionNav } from "./SectionNav-DV3Hwj-5.js";
101
103
  import { ResizableHandle, ResizablePanel, ResizablePanelGroup, useDefaultLayout } from "./Resizable-Co-L3qg7.js";
102
- import { Sidebar, SidebarProvider, useOptionalSidebar, useSidebar } from "./Sidebar-DYvodJWN.js";
104
+ import { Sidebar, SidebarProvider, useOptionalSidebar, useSidebar } from "./Sidebar-DaUDM8jm.js";
103
105
  import { useScrollbarPosition } from "./internal/hooks/useScrollbarPosition.js";
104
- import { Navbar } from "./Navbar-CRjxVboE.js";
106
+ import { Navbar } from "./Navbar-BEc-Pqo5.js";
105
107
  import { DEFAULT_WORKBENCH_BAR_HEIGHT_IN_REM, DEFAULT_WORKBENCH_PANEL_HEIGHT_IN_PX, MIN_WORKBENCH_PANEL_HEIGHT_IN_PX, Workbench, useWorkbench } from "./Workbench-4s0xP6XU.js";
106
- import { Breadcrumb } from "./Breadcrumb-uGFEIjFF.js";
107
- import { Tabs, TabsContent } from "./Tabs-DmJB4l_N.js";
108
+ import { Breadcrumb } from "./Breadcrumb-BAwQTo0c.js";
109
+ import { Tabs, TabsContent } from "./Tabs-DUOUQKh7.js";
108
110
  import { Stepper } from "./Stepper-D7VspVEt.js";
109
111
  import { Timeline } from "./Timeline-EMOpTLAT.js";
110
112
  import { Avatar } from "./internal/components/Avatar.js";
111
113
  import { MarkedText } from "./MarkedText-BrganZ_V.js";
112
- import { Pagination } from "./Pagination-DrXTrvfD.js";
114
+ import { Pagination } from "./Pagination-DidOPSPB.js";
113
115
  import { DiffType, DiffView, computeDiffRows, computeLineInformation } from "./DiffView-DITZdVbh.js";
114
116
  import { PaneHeader } from "./internal/components/MergeEditor/PaneHeader.js";
115
117
  import { ConflictStatusIndicator } from "./internal/components/MergeEditor/ConflictStatus/ConflictStatusIndicator.js";
@@ -117,8 +119,8 @@ import { useMergeDiff } from "./useMergeDiff-DFIATaTw.js";
117
119
  import { DashboardHero } from "./internal/blocks/DashboardHero.js";
118
120
  import { StatCard, StatCardGrid } from "./internal/blocks/StatCard.js";
119
121
  import { ChartPanel } from "./internal/blocks/ChartPanel.js";
120
- import { setServerFieldErrors, setSubmitError, useAppForm, withForm } from "./Form-BUNW7nlt.js";
122
+ import { setServerFieldErrors, setSubmitError, useAppForm, withForm } from "./Form-B_9sNehB.js";
121
123
  import { useTimeout } from "./internal/hooks/useTimeout.js";
122
- import { BrandEditor, DEFAULT_FALLBACK_FONT, DEFAULT_FONT_OPTIONS, channelsToHex, contrastRatio, hexToChannels, wcagLevel } from "./BrandEditor-hiLBX7az.js";
124
+ import { BrandEditor, DEFAULT_FALLBACK_FONT, DEFAULT_FONT_OPTIONS, channelsToHex, contrastRatio, hexToChannels, wcagLevel } from "./BrandEditor-BHE6nsob.js";
123
125
  import { Slot } from "@radix-ui/react-slot";
124
- export { ANSWER_SOURCES_VISIBLE, Alert, AlertModal, AnswerActions, AnswerSources, AnswerSummary, AppShell, AttachmentChip, AuthLayout, AutoSaveTextarea, Avatar, BLANK_VALUES, Badge, BrandEditor, BrandLogo, Breadcrumb, Button, ButtonGroup, ButtonInline, CONTEXT_CHIP_EXPANDABLE_LENGTH, Calendar, Card, ChartPanel, ChatInlineIcon, ChatNotice, Checkbox, ChipEditor, Clipboard, ClipboardButton, ClipboardInline, Collapsible, CollapsiblePanel, CollapsibleStepHeader, ColorInput, ColorModeSwitch, Combobox, ComboboxField, Command, CommandGroup, CommandInput, CommandItem, CommandList, ConflictStatusIndicator, ContextChip, CopyField, DEFAULT_COLOR_SCHEME, DEFAULT_FALLBACK_FONT, DEFAULT_FONT_OPTIONS, DEFAULT_BRAND_ID as DEFAULT_KEBOOLA_BRAND_ID, DEFAULT_WORKBENCH_BAR_HEIGHT_IN_REM, DEFAULT_WORKBENCH_PANEL_HEIGHT_IN_PX, DashboardHero, DateInput, DatePicker, DateRangeInput, DateRangePicker, DiagramSkeleton, DiffType, DiffView, DotsLoader, DropdownMenu, EmptyConfigurationActionCard, EmptySearchContent, EmptyState, ErrorState, ExportMenu, FacebookButton, FieldItem, FileDownloadChip, FileGallery, FileUpload, FormGroup, FullScreenModal, FullScreenModalBody, FullScreenModalHeader, GoogleButton, HINT_UNDERLINE_CLASS_NAME, HelpBlock, HoverCard, InlineEdit, InlineStepDetail, InlineStepGroup, InlineStepLabel, InputGroup, JumpToLatest, Kbd, Label, Link, MAX_DIGIT_HOTKEY, MIN_WORKBENCH_PANEL_HEIGHT_IN_PX, Markdown, MarkdownTable, MarkedText, MessageBubble, MicrosoftButton, Modal, ModeChip, MultiActionButtonGroup, MultiCombobox, MultiComboboxField, Navbar, NumberInput, OtpInput, PROMPT_INPUT_CONTAINER, PageHeader, PageLayout, PageToolbar, Pagination, PaneHeader, PanelWithDetails, PasswordInput, PlanApproval, PlanRewritingIndicator, Popconfirm, Popover, Progress, PromptInput, Question, QuestionBlock, REGEXP_ONLY_CHARS, REGEXP_ONLY_DIGITS, REGEXP_ONLY_DIGITS_AND_CHARS, RadioGroup, ResizableHandle, ResizablePanel, ResizablePanelGroup, ScrollArea, ScrollBar, Search, SearchForm, SearchInput, SearchInputWithNavigation, SectionNav, Select, Separator, Sheet, Sidebar, SidebarProvider, Skeleton, SkeletonList, Slider, Slot, SourceChip, SplitButton, SpotlightBackdrop, StatCard, StatCardGrid, Stepper, SuggestedPrompt, Switch, Table, Tabs, TabsContent, TextInput, Textarea, ThemeProvider, ThemeScope, ThinkingIndicator, TimeInput, TimePicker, Timeline, Toaster, Toggle, ToggleGroup, ToolCallApproval, ToolCallChip, ToolCallStatusHeader, Tooltip, TooltipProvider, Truncated, UsageBar, UsageStats, Workbench, ZoomableSvg, agnes, appShellSlotSelector, brandSchema, buttonVariants, channelsToHex, clampPercentage, cn, computeDiffRows, computeLineInformation, contrastRatio, copyToClipboard, defaultFilter, digitFromKeyCode, exampleCustomer, filterByWords, findLiteralMatches, findMentionToken, findSlashToken, formatPercentage, forwardAccessibleName, getChatInlineIconName, harbor, hasLiteralMatch, hexToChannels, isMac, kbcUi, kbdVariants, keboola, keys, matchByWords, mergeRefs, namedLabel, setServerFieldErrors, setSubmitError, splitSealedBlocks, svgToPngBlob, tableAriaSort, toSvgFileContent, toast, useAltDigitHotkey, useAppForm, useAutosizeInput, useCommandState, useDefaultLayout, useFieldContext, useFileDropTarget, useFileUploadRejections, useMergeDiff, useNotification, useOptionalSidebar, useScrollbarPosition, useSidebar, useStableCallback, useTargetRect, useTheme, useThemeScopeContainer, useTimeout, useWorkbench, wcagLevel, withBlankValues, withForm, withholdOpenTail };
126
+ export { ANSWER_SOURCES_VISIBLE, Alert, AlertModal, AnswerActions, AnswerSources, AnswerSummary, AppShell, AttachmentChip, AuthLayout, AutoSaveTextarea, Avatar, BLANK_VALUES, Badge, BrandEditor, BrandLogo, Breadcrumb, BulkActionsBar, Button, ButtonGroup, ButtonInline, CONTEXT_CHIP_EXPANDABLE_LENGTH, Calendar, Card, ChartPanel, ChatInlineIcon, ChatNotice, Checkbox, ChipEditor, Clipboard, ClipboardButton, ClipboardInline, Collapsible, CollapsiblePanel, CollapsibleStepHeader, ColorInput, ColorModeSwitch, Combobox, ComboboxField, Command, CommandGroup, CommandInput, CommandItem, CommandList, ConflictStatusIndicator, ContextChip, CopyField, DEFAULT_COLOR_SCHEME, DEFAULT_FALLBACK_FONT, DEFAULT_FONT_OPTIONS, DEFAULT_BRAND_ID as DEFAULT_KEBOOLA_BRAND_ID, DEFAULT_WORKBENCH_BAR_HEIGHT_IN_REM, DEFAULT_WORKBENCH_PANEL_HEIGHT_IN_PX, DashboardHero, DateInput, DatePicker, DateRangeInput, DateRangePicker, DiagramSkeleton, DiffType, DiffView, DotsLoader, DropdownMenu, EmptyConfigurationActionCard, EmptySearchContent, EmptyState, ErrorState, ExportMenu, FacebookButton, FieldItem, FileDownloadChip, FileGallery, FileUpload, FormGroup, FullScreenModal, FullScreenModalBody, FullScreenModalHeader, GoogleButton, HINT_UNDERLINE_CLASS_NAME, HelpBlock, HoverCard, InlineEdit, InlineStepDetail, InlineStepGroup, InlineStepLabel, InputGroup, JumpToLatest, Kbd, Label, Link, MAX_DIGIT_HOTKEY, MIN_WORKBENCH_PANEL_HEIGHT_IN_PX, Markdown, MarkdownTable, MarkedText, MessageBubble, MicrosoftButton, Modal, ModeChip, MultiActionButtonGroup, MultiCombobox, MultiComboboxField, Navbar, NumberInput, OtpInput, PROMPT_INPUT_CONTAINER, PageHeader, PageLayout, PageSection, PageToolbar, Pagination, PaneHeader, PanelWithDetails, PasswordInput, PlanApproval, PlanRewritingIndicator, Popconfirm, Popover, Progress, PromptInput, Question, QuestionBlock, REGEXP_ONLY_CHARS, REGEXP_ONLY_DIGITS, REGEXP_ONLY_DIGITS_AND_CHARS, RadioGroup, ResizableHandle, ResizablePanel, ResizablePanelGroup, Reveal, ScrollArea, ScrollBar, Search, SearchForm, SearchInput, SearchInputWithNavigation, SectionNav, Select, Separator, Sheet, Sidebar, SidebarProvider, Skeleton, SkeletonList, Slider, Slot, SourceChip, SplitButton, SpotlightBackdrop, StatCard, StatCardGrid, Stepper, SuggestedPrompt, Switch, Table, Tabs, TabsContent, TextInput, Textarea, ThemeProvider, ThemeScope, ThinkingIndicator, TimeInput, TimePicker, Timeline, Toaster, Toggle, ToggleGroup, ToolCallApproval, ToolCallChip, ToolCallStatusHeader, Tooltip, TooltipProvider, Truncated, UsageBar, UsageStats, Workbench, ZoomableSvg, agnes, appShellSlotSelector, brandSchema, buttonVariants, channelsToHex, clampPercentage, cn, computeDiffRows, computeLineInformation, contrastRatio, copyToClipboard, defaultFilter, digitFromKeyCode, exampleCustomer, filterByWords, findLiteralMatches, findMentionToken, findSlashToken, formatPercentage, forwardAccessibleName, getChatInlineIconName, harbor, hasLiteralMatch, hexToChannels, isMac, kbcUi, kbdVariants, keboola, keys, matchByWords, mergeRefs, namedLabel, setServerFieldErrors, setSubmitError, splitSealedBlocks, svgToPngBlob, tableAriaSort, toSvgFileContent, toast, useAltDigitHotkey, useAppForm, useAutosizeInput, useCommandState, useDefaultLayout, useFieldContext, useFileDropTarget, useFileUploadRejections, useMergeDiff, useNotification, useOptionalSidebar, useScrollbarPosition, useSidebar, useStableCallback, useTargetRect, useTheme, useThemeScopeContainer, useTimeout, useWorkbench, wcagLevel, withBlankValues, withForm, withholdOpenTail };
@@ -1 +1 @@
1
- export { ANSWER_SOURCES_VISIBLE, AnswerActions, AnswerSources, AnswerSummary, AttachmentChip, CONTEXT_CHIP_EXPANDABLE_LENGTH, ChatInlineIcon, ChatNotice, CollapsibleStepHeader, ContextChip, FileDownloadChip, FileGallery, InlineStepDetail, InlineStepGroup, InlineStepLabel, JumpToLatest, Markdown, MarkdownTable, MessageBubble, ModeChip, PROMPT_INPUT_CONTAINER, PlanApproval, PlanRewritingIndicator, PromptInput, Question, QuestionBlock, SourceChip, SuggestedPrompt, ThinkingIndicator, ToolCallApproval, ToolCallChip, ToolCallStatusHeader, UsageBar, UsageStats, clampPercentage, findMentionToken, findSlashToken, formatPercentage, getChatInlineIconName, splitSealedBlocks, withholdOpenTail } from "../../AIKit-CxKkvN0q.js";
1
+ export { ANSWER_SOURCES_VISIBLE, AnswerActions, AnswerSources, AnswerSummary, AttachmentChip, CONTEXT_CHIP_EXPANDABLE_LENGTH, ChatInlineIcon, ChatNotice, CollapsibleStepHeader, ContextChip, FileDownloadChip, FileGallery, InlineStepDetail, InlineStepGroup, InlineStepLabel, JumpToLatest, Markdown, MarkdownTable, MessageBubble, ModeChip, PROMPT_INPUT_CONTAINER, PlanApproval, PlanRewritingIndicator, PromptInput, Question, QuestionBlock, SourceChip, SuggestedPrompt, ThinkingIndicator, ToolCallApproval, ToolCallChip, ToolCallStatusHeader, UsageBar, UsageStats, clampPercentage, findMentionToken, findSlashToken, formatPercentage, getChatInlineIconName, splitSealedBlocks, withholdOpenTail } from "../../AIKit-DiF0LtVr.js";
@@ -1 +1 @@
1
- export { AppShell, appShellSlotSelector } from "../../AppShell-BUa3U7-e.js";
1
+ export { AppShell, appShellSlotSelector } from "../../AppShell-CDbecT-t.js";
@@ -1,5 +1,5 @@
1
1
  import { cn } from "../../classNames-DkX30VJU.js";
2
- import { BrandLogo } from "../../BrandLogo-Dn7hhp2c.js";
2
+ import { BrandLogo } from "../../BrandLogo-n4Qhi1tI.js";
3
3
  import { jsx, jsxs } from "react/jsx-runtime";
4
4
  // src/blocks/AuthLayout/AuthLayout.tsx
5
5
  const widthClass = {
@@ -1 +1 @@
1
- export { BrandEditor, DEFAULT_FALLBACK_FONT, DEFAULT_FONT_OPTIONS, channelsToHex, contrastRatio, hexToChannels, wcagLevel } from "../../BrandEditor-hiLBX7az.js";
1
+ export { BrandEditor, DEFAULT_FALLBACK_FONT, DEFAULT_FONT_OPTIONS, channelsToHex, contrastRatio, hexToChannels, wcagLevel } from "../../BrandEditor-BHE6nsob.js";
@@ -0,0 +1,55 @@
1
+ import { cn } from "../../classNames-DkX30VJU.js";
2
+ import { X } from "../../icons-DDR9dFSr.js";
3
+ import { Button } from "../../Button-BAMX1iuI.js";
4
+ import { jsx, jsxs } from "react/jsx-runtime";
5
+ // src/blocks/BulkActionsBar/Reveal.tsx
6
+ /** Content that collapses by animating a 0fr/1fr grid row; closed, it is `inert`. */
7
+ const Reveal = ({ open, className, contentClassName, children }) => /* @__PURE__ */ jsx("div", {
8
+ inert: !open,
9
+ className: cn("tw:grid tw:transition-[grid-template-rows,opacity] tw:duration-300 tw:ease-out tw:motion-reduce:transition-none", open ? "tw:grid-rows-[1fr] tw:opacity-100" : "tw:grid-rows-[0fr] tw:opacity-0", className),
10
+ children: /* @__PURE__ */ jsx("div", {
11
+ className: cn("tw:min-h-0 tw:overflow-clip", contentClassName),
12
+ children
13
+ })
14
+ });
15
+ // src/blocks/BulkActionsBar/BulkActionsBar.tsx
16
+ /**
17
+ * What a selection can do at once, above the list it acts on.
18
+ *
19
+ * - Grows in and out with the selection; its actions wrap when they run out of room.
20
+ * - Owns the gap below it, so closed it takes no room.
21
+ */
22
+ const BulkActionsBar = ({ open, count, entity, onClear, children }) => /* @__PURE__ */ jsx(Reveal, {
23
+ open,
24
+ className: "tw:duration-250",
25
+ children: /* @__PURE__ */ jsx("div", {
26
+ className: "tw:pb-4",
27
+ children: /* @__PURE__ */ jsxs("div", {
28
+ role: "group",
29
+ "aria-label": "Selection actions",
30
+ className: "tw:flex tw:flex-wrap tw:items-center tw:gap-2 tw:rounded-lg tw:border tw:border-border tw:bg-card tw:px-3 tw:py-2 tw:text-card-foreground",
31
+ children: [
32
+ /* @__PURE__ */ jsxs("span", {
33
+ className: "tw:mr-2 tw:text-sm tw:font-medium",
34
+ children: [
35
+ count,
36
+ " ",
37
+ count === 1 ? entity : `${entity}s`,
38
+ " selected"
39
+ ]
40
+ }),
41
+ children,
42
+ /* @__PURE__ */ jsxs(Button, {
43
+ size: "small",
44
+ variant: "invisible",
45
+ className: "tw:ml-auto",
46
+ onClick: onClear,
47
+ children: [/* @__PURE__ */ jsx(X, {}), "Clear selection"]
48
+ })
49
+ ]
50
+ })
51
+ })
52
+ });
53
+ export { BulkActionsBar, Reveal };
54
+
55
+ //# sourceMappingURL=BulkActionsBar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BulkActionsBar.js","names":[],"sources":["../../../src/blocks/BulkActionsBar/Reveal.tsx","../../../src/blocks/BulkActionsBar/BulkActionsBar.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport { cn } from '../../utils';\n\ntype Props = {\n open: boolean;\n className?: string;\n /** Merged onto the clipping box around the content. */\n contentClassName?: string;\n children: ReactNode;\n};\n\n/** Content that collapses by animating a 0fr/1fr grid row; closed, it is `inert`. */\nexport const Reveal = ({ open, className, contentClassName, children }: Props) => (\n <div\n inert={!open}\n className={cn(\n 'tw:grid tw:transition-[grid-template-rows,opacity] tw:duration-300 tw:ease-out tw:motion-reduce:transition-none',\n open ? 'tw:grid-rows-[1fr] tw:opacity-100' : 'tw:grid-rows-[0fr] tw:opacity-0',\n className,\n )}\n >\n {/* `clip` is no scroll container, so a cell still sizes its column to its content. */}\n <div className={cn('tw:min-h-0 tw:overflow-clip', contentClassName)}>{children}</div>\n </div>\n);\n","import type { ReactNode } from 'react';\n\nimport { Button } from '../../components/Button';\nimport { X } from '../../icons';\n\nimport { Reveal } from './Reveal';\n\ntype Props = {\n open: boolean;\n count: number;\n /** Singular noun for a selected item, e.g. `app`. */\n entity: string;\n onClear: () => void;\n children: ReactNode;\n};\n\n/**\n * What a selection can do at once, above the list it acts on.\n *\n * - Grows in and out with the selection; its actions wrap when they run out of room.\n * - Owns the gap below it, so closed it takes no room.\n */\nexport const BulkActionsBar = ({ open, count, entity, onClear, children }: Props) => (\n <Reveal open={open} className=\"tw:duration-250\">\n <div className=\"tw:pb-4\">\n <div\n role=\"group\"\n aria-label=\"Selection actions\"\n className=\"tw:flex tw:flex-wrap tw:items-center tw:gap-2 tw:rounded-lg tw:border tw:border-border tw:bg-card tw:px-3 tw:py-2 tw:text-card-foreground\"\n >\n <span className=\"tw:mr-2 tw:text-sm tw:font-medium\">\n {count} {count === 1 ? entity : `${entity}s`} selected\n </span>\n {children}\n <Button size=\"small\" variant=\"invisible\" className=\"tw:ml-auto\" onClick={onClear}>\n <X />\n Clear selection\n </Button>\n </div>\n </div>\n </Reveal>\n);\n"],"mappings":";;;;;;AAaA,MAAa,UAAU,EAAE,MAAM,WAAW,kBAAkB,eAC1D,oBAAC,OAAD;CACE,OAAO,CAAC;CACR,WAAW,GACT,mHACA,OAAO,sCAAsC,mCAC7C,SACF;CAGA,UAAA,oBAAC,OAAD;EAAK,WAAW,GAAG,+BAA+B,gBAAgB;EAAI;CAAc,CAAA;AACjF,CAAA;;;;;;;;ACFP,MAAa,kBAAkB,EAAE,MAAM,OAAO,QAAQ,SAAS,eAC7D,oBAAC,QAAD;CAAc;CAAM,WAAU;CAC5B,UAAA,oBAAC,OAAD;EAAK,WAAU;EACb,UAAA,qBAAC,OAAD;GACE,MAAK;GACL,cAAW;GACX,WAAU;GAHZ,UAAA;IAKE,qBAAC,QAAD;KAAM,WAAU;KAAhB,UAAA;MACG;MAAM;MAAE,UAAU,IAAI,SAAS,GAAG,OAAO;MAAG;KACzC;;IACL;IACD,qBAAC,QAAD;KAAQ,MAAK;KAAQ,SAAQ;KAAY,WAAU;KAAa,SAAS;KAAzE,UAAA,CACE,oBAAC,GAAD,CAAI,CAAA,GAAC,iBAEC;;GACL;;CACF,CAAA;AACC,CAAA"}
@@ -1,7 +1,7 @@
1
- import { splitEntry } from "../../utils-DjFceY3H.js";
1
+ import { splitEntry } from "../../utils-BxEJOnFD.js";
2
2
  import { mergeRefs } from "../utils/mergeRefs.js";
3
3
  import { X } from "../../icons-DDR9dFSr.js";
4
- import { InputGroup } from "../../InputGroup-BWeanEo7.js";
4
+ import { InputGroup } from "../../InputGroup-DnGP9-ZQ.js";
5
5
  import { useControllableState } from "../../useControllableState-BCvUOC6G.js";
6
6
  import { Badge } from "../../Badge-CFRhducL.js";
7
7
  import { useRef, useState } from "react";
@@ -1 +1 @@
1
- export { ClipboardButton, ClipboardInline } from "../../ClipboardButton-71Ugbl8c.js";
1
+ export { ClipboardButton, ClipboardInline } from "../../ClipboardButton-BWeaQEM2.js";
@@ -1 +1 @@
1
- export { ColorInput } from "../../ColorInput-Cjr1jkvy.js";
1
+ export { ColorInput } from "../../ColorInput-BoVdBxJ7.js";
@@ -1 +1 @@
1
- export { ColorModeSwitch } from "../../ColorModeSwitch-CuPYnJ2V.js";
1
+ export { ColorModeSwitch } from "../../ColorModeSwitch-BDkdmHYl.js";
@@ -1 +1 @@
1
- export { Command, CommandGroup, CommandInput, CommandItem, CommandList, defaultFilter, useCommandState } from "../../Command-BcTb6GsR.js";
1
+ export { Command, CommandGroup, CommandInput, CommandItem, CommandList, defaultFilter, useCommandState } from "../../Command-D6XYzzJf.js";
@@ -1 +1 @@
1
- export { CopyField } from "../../CopyField-CnwAvQz9.js";
1
+ export { CopyField } from "../../CopyField-9WBU8thS.js";
@@ -1 +1 @@
1
- export { DateInput } from "../../DateInput-DJNX7Vdx.js";
1
+ export { DateInput } from "../../DateInput-CCYG0AtT.js";
@@ -1 +1 @@
1
- export { DateRangeInput } from "../../DateRangeInput-B3g8cyS0.js";
1
+ export { DateRangeInput } from "../../DateRangeInput-CpZK1IFp.js";
@@ -1,6 +1,6 @@
1
- import { Tooltip } from "../../utils-DjFceY3H.js";
1
+ import { Tooltip } from "../../utils-BxEJOnFD.js";
2
2
  import { Download } from "../../icons-DDR9dFSr.js";
3
- import { Button } from "../../Button-DbvGzEDb.js";
3
+ import { Button } from "../../Button-BAMX1iuI.js";
4
4
  import { DropdownMenu } from "../../DropdownMenu-Ba9atqDa.js";
5
5
  import { jsx, jsxs } from "react/jsx-runtime";
6
6
  // src/blocks/ExportMenu/ExportMenu.tsx
@@ -1,5 +1,5 @@
1
- import { Combobox } from "../../../../Combobox-DYjvYgl3.js";
2
- import { FieldItem, useFieldContext } from "../../../../FieldItem-D7eCMfMB.js";
1
+ import { Combobox } from "../../../../Combobox-CakN_1cF.js";
2
+ import { FieldItem, useFieldContext } from "../../../../FieldItem-eM7IHBt5.js";
3
3
  import { jsx } from "react/jsx-runtime";
4
4
  // src/blocks/Form/connectors/ComboboxField.tsx
5
5
  /**
@@ -1,5 +1,5 @@
1
1
  import { MultiCombobox } from "../../MultiCombobox.js";
2
- import { FieldItem, useFieldContext } from "../../../../FieldItem-D7eCMfMB.js";
2
+ import { FieldItem, useFieldContext } from "../../../../FieldItem-eM7IHBt5.js";
3
3
  import { jsx } from "react/jsx-runtime";
4
4
  // src/blocks/Form/connectors/MultiComboboxField.tsx
5
5
  /**
@@ -1,3 +1,3 @@
1
- import { FieldItem, useFieldContext } from "../../FieldItem-D7eCMfMB.js";
2
- import { setServerFieldErrors, setSubmitError, useAppForm, withForm } from "../../Form-BUNW7nlt.js";
1
+ import { FieldItem, useFieldContext } from "../../FieldItem-eM7IHBt5.js";
2
+ import { setServerFieldErrors, setSubmitError, useAppForm, withForm } from "../../Form-B_9sNehB.js";
3
3
  export { FieldItem, setServerFieldErrors, setSubmitError, useAppForm, useFieldContext, withForm };
@@ -1 +1 @@
1
- export { FormGroup } from "../../FormGroup-QJB21LKp.js";
1
+ export { FormGroup } from "../../FormGroup-D7ahkK1q.js";
@@ -1 +1 @@
1
- export { InlineEdit } from "../../InlineEdit-CXL0ZslO.js";
1
+ export { InlineEdit } from "../../InlineEdit-BzOox46S.js";
@@ -1 +1 @@
1
- export { MultiActionButtonGroup } from "../../MultiActionButtonGroup-8WQwL4UQ.js";
1
+ export { MultiActionButtonGroup } from "../../MultiActionButtonGroup-B3-wNw7w.js";
@@ -1,10 +1,10 @@
1
1
  import { cn } from "../../classNames-DkX30VJU.js";
2
- import { Tooltip, TooltipProvider, splitEntry } from "../../utils-DjFceY3H.js";
2
+ import { Tooltip, TooltipProvider, splitEntry } from "../../utils-BxEJOnFD.js";
3
3
  import { PanelRightClose, PanelRightOpen, Search } from "../../icons-DDR9dFSr.js";
4
- import { Button } from "../../Button-DbvGzEDb.js";
4
+ import { Button } from "../../Button-BAMX1iuI.js";
5
5
  import { useControllableState } from "../../useControllableState-BCvUOC6G.js";
6
6
  import { forwardAccessibleName } from "../utils/accessibleName.js";
7
- import { Combobox as Combobox$1, ComboboxClearButton, ComboboxOpenButton, ComboboxOptions, createCreatableItem, defaultGroupToLabel, defaultItemToDisabled, defaultItemToIcon, defaultQueryToCreateLabel, defaultRowLabel, defaultToCreateValue, flatItems, isCreatableItem, isGroupHeaderItem, isSelectAllItem, sanitizeTypedInput, selectAllItem, toEntries, toLabel, useCreatableStringValue, useGroupHeaders, useItemEquality, useQueryReporter, useVirtualList, useWithCreated } from "../../Combobox-DYjvYgl3.js";
7
+ import { Combobox as Combobox$1, ComboboxClearButton, ComboboxOpenButton, ComboboxOptions, createCreatableItem, defaultGroupToLabel, defaultItemToDisabled, defaultItemToIcon, defaultQueryToCreateLabel, defaultRowLabel, defaultToCreateValue, flatItems, isCreatableItem, isGroupHeaderItem, isSelectAllItem, sanitizeTypedInput, selectAllItem, toEntries, toLabel, useCreatableStringValue, useGroupHeaders, useItemEquality, useQueryReporter, useVirtualList, useWithCreated } from "../../Combobox-CakN_1cF.js";
8
8
  import { useCallback, useMemo, useState } from "react";
9
9
  import { jsx, jsxs } from "react/jsx-runtime";
10
10
  import { Combobox } from "@base-ui/react/combobox";
@@ -1,4 +1,4 @@
1
- import { InputGroup } from "../../InputGroup-BWeanEo7.js";
1
+ import { InputGroup } from "../../InputGroup-DnGP9-ZQ.js";
2
2
  import { jsx, jsxs } from "react/jsx-runtime";
3
3
  // src/blocks/NumberInput/NumberInput.tsx
4
4
  const toNumberOrNull = (event) => Number.isNaN(event.target.valueAsNumber) ? null : event.target.valueAsNumber;
@@ -1 +1 @@
1
- export { PageHeader } from "../../PageHeader-DosMyar2.js";
1
+ export { PageHeader } from "../../PageHeader-CfFKjCzo.js";
@@ -0,0 +1,31 @@
1
+ import { cn } from "../../classNames-DkX30VJU.js";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ // src/blocks/PageSection/PageSection.tsx
4
+ /**
5
+ * One titled section of a page, drawn without a box: a heading row, then its content.
6
+ *
7
+ * - For a section that is a list, a table or a single field; a group of fields belongs in a `Card`.
8
+ * - The heading is an `h3`, under the page's `h1`.
9
+ */
10
+ const PageSection = ({ title, description, actions, className, children }) => /* @__PURE__ */ jsxs("section", {
11
+ className: cn("tw:flex tw:flex-col tw:gap-3", className),
12
+ children: [/* @__PURE__ */ jsxs("div", {
13
+ className: "tw:flex tw:flex-wrap tw:items-start tw:gap-x-4 tw:gap-y-2",
14
+ children: [/* @__PURE__ */ jsxs("div", {
15
+ className: "tw:flex tw:min-w-48 tw:flex-1 tw:flex-col tw:gap-1",
16
+ children: [/* @__PURE__ */ jsx("h3", {
17
+ className: "tw:m-0 tw:text-base tw:font-semibold tw:text-foreground",
18
+ children: title
19
+ }), description && /* @__PURE__ */ jsx("p", {
20
+ className: "tw:m-0 tw:text-sm tw:text-muted-foreground",
21
+ children: description
22
+ })]
23
+ }), actions && /* @__PURE__ */ jsx("div", {
24
+ className: "tw:flex tw:shrink-0 tw:items-center tw:gap-2",
25
+ children: actions
26
+ })]
27
+ }), children]
28
+ });
29
+ export { PageSection };
30
+
31
+ //# sourceMappingURL=PageSection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PageSection.js","names":[],"sources":["../../../src/blocks/PageSection/PageSection.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport { cn } from '../../utils';\n\ntype Props = {\n title: ReactNode;\n description?: ReactNode;\n /** The section's own actions (Add, New…), on the right of the heading. */\n actions?: ReactNode;\n className?: string;\n children?: ReactNode;\n};\n\n/**\n * One titled section of a page, drawn without a box: a heading row, then its content.\n *\n * - For a section that is a list, a table or a single field; a group of fields belongs in a `Card`.\n * - The heading is an `h3`, under the page's `h1`.\n */\nexport const PageSection = ({ title, description, actions, className, children }: Props) => (\n <section className={cn('tw:flex tw:flex-col tw:gap-3', className)}>\n <div className=\"tw:flex tw:flex-wrap tw:items-start tw:gap-x-4 tw:gap-y-2\">\n <div className=\"tw:flex tw:min-w-48 tw:flex-1 tw:flex-col tw:gap-1\">\n <h3 className=\"tw:m-0 tw:text-base tw:font-semibold tw:text-foreground\">{title}</h3>\n {description && <p className=\"tw:m-0 tw:text-sm tw:text-muted-foreground\">{description}</p>}\n </div>\n {actions && <div className=\"tw:flex tw:shrink-0 tw:items-center tw:gap-2\">{actions}</div>}\n </div>\n {children}\n </section>\n);\n"],"mappings":";;;;;;;;;AAmBA,MAAa,eAAe,EAAE,OAAO,aAAa,SAAS,WAAW,eACpE,qBAAC,WAAD;CAAS,WAAW,GAAG,gCAAgC,SAAS;CAAhE,UAAA,CACE,qBAAC,OAAD;EAAK,WAAU;EAAf,UAAA,CACE,qBAAC,OAAD;GAAK,WAAU;GAAf,UAAA,CACE,oBAAC,MAAD;IAAI,WAAU;IAA2D,UAAA;GAAU,CAAA,GAClF,eAAe,oBAAC,KAAD;IAAG,WAAU;IAA8C,UAAA;GAAe,CAAA,CACvF;EACJ,CAAA,GAAA,WAAW,oBAAC,OAAD;GAAK,WAAU;GAAgD,UAAA;EAAa,CAAA,CACrF;CACJ,CAAA,GAAA,QACM"}
@@ -1 +1 @@
1
- export { PageToolbar } from "../../PageToolbar-By2HznxO.js";
1
+ export { PageToolbar } from "../../PageToolbar-NmiausP7.js";
@@ -1,7 +1,7 @@
1
- import { createChangeInputEvent } from "../../utils-DjFceY3H.js";
1
+ import { createChangeInputEvent } from "../../utils-BxEJOnFD.js";
2
2
  import { mergeRefs } from "../utils/mergeRefs.js";
3
3
  import { ArrowBigUpDash, Eye, EyeOff, X } from "../../icons-DDR9dFSr.js";
4
- import { InputGroup } from "../../InputGroup-BWeanEo7.js";
4
+ import { InputGroup } from "../../InputGroup-DnGP9-ZQ.js";
5
5
  import { useControllableState } from "../../useControllableState-BCvUOC6G.js";
6
6
  import { useRef, useState } from "react";
7
7
  import { jsx, jsxs } from "react/jsx-runtime";
@@ -1 +1 @@
1
- export { SearchInput } from "../../SearchInput-eLS-uvOn.js";
1
+ export { SearchInput } from "../../SearchInput-BwlJ77mV.js";
@@ -1,9 +1,9 @@
1
1
  import { cn } from "../../classNames-DkX30VJU.js";
2
- import { keyCodes } from "../../utils-DjFceY3H.js";
2
+ import { keyCodes } from "../../utils-BxEJOnFD.js";
3
3
  import { ChevronDown, ChevronUp, Search } from "../../icons-DDR9dFSr.js";
4
- import { Button } from "../../Button-DbvGzEDb.js";
4
+ import { Button } from "../../Button-BAMX1iuI.js";
5
5
  import { ButtonGroup } from "../components/ButtonGroup.js";
6
- import { TextInput } from "../../TextInput--1CfZybC.js";
6
+ import { TextInput } from "../../TextInput-BAL-zOAN.js";
7
7
  import { Separator } from "../components/Separator.js";
8
8
  import { jsx, jsxs } from "react/jsx-runtime";
9
9
  // src/blocks/SearchInputWithNavigation/SearchInputWithNavigation.tsx
@@ -1 +1 @@
1
- export { SectionNav } from "../../SectionNav-L81iJBo3.js";
1
+ export { SectionNav } from "../../SectionNav-DV3Hwj-5.js";
@@ -1,5 +1,5 @@
1
1
  import { ChevronDown } from "../../icons-DDR9dFSr.js";
2
- import { Button } from "../../Button-DbvGzEDb.js";
2
+ import { Button } from "../../Button-BAMX1iuI.js";
3
3
  import { ButtonGroup } from "../components/ButtonGroup.js";
4
4
  import { DropdownMenu } from "../../DropdownMenu-Ba9atqDa.js";
5
5
  import { jsx, jsxs } from "react/jsx-runtime";
@@ -1 +1 @@
1
- export { TextInput } from "../../TextInput--1CfZybC.js";
1
+ export { TextInput } from "../../TextInput-BAL-zOAN.js";
@@ -1,4 +1,4 @@
1
- import { InputGroup } from "../../InputGroup-BWeanEo7.js";
1
+ import { InputGroup } from "../../InputGroup-DnGP9-ZQ.js";
2
2
  import { useControllableState } from "../../useControllableState-BCvUOC6G.js";
3
3
  import { jsx } from "react/jsx-runtime";
4
4
  // src/blocks/Textarea/Textarea.tsx
@@ -1,7 +1,7 @@
1
- import { createChangeInputEvent } from "../../utils-DjFceY3H.js";
1
+ import { createChangeInputEvent } from "../../utils-BxEJOnFD.js";
2
2
  import { mergeRefs } from "../utils/mergeRefs.js";
3
3
  import { Clock, X } from "../../icons-DDR9dFSr.js";
4
- import { InputGroup } from "../../InputGroup-BWeanEo7.js";
4
+ import { InputGroup } from "../../InputGroup-DnGP9-ZQ.js";
5
5
  import { useControllableState } from "../../useControllableState-BCvUOC6G.js";
6
6
  import { TimePicker } from "../../TimePicker-CCV3SOw5.js";
7
7
  import { useRef, useState } from "react";
@@ -1 +1 @@
1
- export { Alert } from "../../Alert-DziS8n1H.js";
1
+ export { Alert } from "../../Alert-BQB-og_I.js";
@@ -1 +1 @@
1
- export { AlertModal } from "../../AlertModal-De04fFoy.js";
1
+ export { AlertModal } from "../../AlertModal-BkmyEvsR.js";
@@ -1,5 +1,5 @@
1
1
  import { cn } from "../../classNames-DkX30VJU.js";
2
- import { useSHA256 } from "../../utils-DjFceY3H.js";
2
+ import { useSHA256 } from "../../utils-BxEJOnFD.js";
3
3
  import { jsx, jsxs } from "react/jsx-runtime";
4
4
  import BoringAvatar from "boring-avatars";
5
5
  // src/components/Avatar.tsx
@@ -35,7 +35,8 @@ const Avatar = ({ ref, user, fallback, size = 36, className, variant = "circle",
35
35
  "#A8C2E6"
36
36
  ],
37
37
  size,
38
- square: variant === "rounded"
38
+ square: variant === "rounded",
39
+ "aria-hidden": true
39
40
  }), hash && /* @__PURE__ */ jsx("img", {
40
41
  src: `https://secure.gravatar.com/avatar/${hash}?s=${size * 3}&d=blank`,
41
42
  width: size,
@@ -1 +1 @@
1
- {"version":3,"file":"Avatar.js","names":[],"sources":["../../../src/components/Avatar.tsx"],"sourcesContent":["import type { ComponentProps } from 'react';\nimport BoringAvatar from 'boring-avatars';\n\nimport { cn } from '../utils';\nimport { useSHA256 } from '../utils/useSHA256';\n\nconst RANDOM_UUID = crypto.randomUUID();\n\nconst styles = {\n wrapper: {\n position: 'relative',\n display: 'inline-flex',\n verticalAlign: 'middle',\n },\n gravatar: {\n position: 'absolute',\n left: 0,\n },\n} as const;\n\ntype Props = {\n user?: {\n name: string | undefined;\n email: string | undefined;\n };\n fallback?: string;\n className?: string;\n size?: number;\n variant?: 'circle' | 'rounded';\n} & ComponentProps<'span'>;\n\nexport const Avatar = ({\n ref,\n user,\n fallback,\n size = 36,\n className,\n variant = 'circle',\n ...props\n}: Props) => {\n const userName = user?.name || user?.email;\n const email = user?.email;\n const hash = useSHA256(email ? email.trim().toLowerCase() : fallback || '');\n\n return (\n <span\n {...props}\n ref={ref}\n style={styles.wrapper}\n className={cn(\n variant === 'circle' ? 'tw:rounded-full' : 'tw:rounded-md',\n 'tw:overflow-hidden',\n 'tw:focus-visible:outline-hidden',\n 'tw:h-fit',\n 'tw:shrink-0',\n\n 'tw:border-solid',\n 'tw:border',\n 'tw:border-transparent',\n\n 'tw:focus-visible:ring-4',\n 'tw:focus-visible:ring-ring/30',\n 'tw:focus-visible:border-ring',\n className,\n )}\n >\n <BoringAvatar\n name={userName || fallback || RANDOM_UUID}\n variant=\"beam\"\n colors={['#1F8FFF', '#004787', '#28D8FF', '#925cff', '#A8C2E6']}\n size={size}\n square={variant === 'rounded'}\n />\n {hash && (\n <img\n src={`https://secure.gravatar.com/avatar/${hash}?s=${size * 3}&d=blank`}\n width={size}\n height={size}\n alt={userName || fallback || 'User avatar'}\n referrerPolicy=\"no-referrer\"\n loading=\"lazy\"\n style={styles.gravatar}\n />\n )}\n </span>\n );\n};\n"],"mappings":";;;;;AAMA,MAAM,cAAc,OAAO,WAAW;AAEtC,MAAM,SAAS;CACb,SAAS;EACP,UAAU;EACV,SAAS;EACT,eAAe;CACjB;CACA,UAAU;EACR,UAAU;EACV,MAAM;CACR;AACF;AAaA,MAAa,UAAU,EACrB,KACA,MACA,UACA,OAAO,IACP,WACA,UAAU,UACV,GAAG,YACQ;CACX,MAAM,WAAW,MAAM,QAAQ,MAAM;CACrC,MAAM,QAAQ,MAAM;CACpB,MAAM,OAAO,UAAU,QAAQ,MAAM,KAAK,CAAC,CAAC,YAAY,IAAI,YAAY,EAAE;CAE1E,OACE,qBAAC,QAAD;EACE,GAAI;EACC;EACL,OAAO,OAAO;EACd,WAAW,GACT,YAAY,WAAW,oBAAoB,iBAC3C,sBACA,mCACA,YACA,eAEA,mBACA,aACA,yBAEA,2BACA,iCACA,gCACA,SACF;EAnBF,UAAA,CAqBE,oBAAC,cAAD;GACE,MAAM,YAAY,YAAY;GAC9B,SAAQ;GACR,QAAQ;IAAC;IAAW;IAAW;IAAW;IAAW;GAAS;GACxD;GACN,QAAQ,YAAY;EACrB,CAAA,GACA,QACC,oBAAC,OAAD;GACE,KAAK,sCAAsC,KAAK,KAAK,OAAO,EAAE;GAC9D,OAAO;GACP,QAAQ;GACR,KAAK,YAAY,YAAY;GAC7B,gBAAe;GACf,SAAQ;GACR,OAAO,OAAO;EACf,CAAA,CAEC;;AAEV"}
1
+ {"version":3,"file":"Avatar.js","names":[],"sources":["../../../src/components/Avatar.tsx"],"sourcesContent":["import type { ComponentProps } from 'react';\nimport BoringAvatar from 'boring-avatars';\n\nimport { cn } from '../utils';\nimport { useSHA256 } from '../utils/useSHA256';\n\nconst RANDOM_UUID = crypto.randomUUID();\n\nconst styles = {\n wrapper: {\n position: 'relative',\n display: 'inline-flex',\n verticalAlign: 'middle',\n },\n gravatar: {\n position: 'absolute',\n left: 0,\n },\n} as const;\n\ntype Props = {\n user?: {\n name: string | undefined;\n email: string | undefined;\n };\n fallback?: string;\n className?: string;\n size?: number;\n variant?: 'circle' | 'rounded';\n} & ComponentProps<'span'>;\n\nexport const Avatar = ({\n ref,\n user,\n fallback,\n size = 36,\n className,\n variant = 'circle',\n ...props\n}: Props) => {\n const userName = user?.name || user?.email;\n const email = user?.email;\n const hash = useSHA256(email ? email.trim().toLowerCase() : fallback || '');\n\n return (\n <span\n {...props}\n ref={ref}\n style={styles.wrapper}\n className={cn(\n variant === 'circle' ? 'tw:rounded-full' : 'tw:rounded-md',\n 'tw:overflow-hidden',\n 'tw:focus-visible:outline-hidden',\n 'tw:h-fit',\n 'tw:shrink-0',\n\n 'tw:border-solid',\n 'tw:border',\n 'tw:border-transparent',\n\n 'tw:focus-visible:ring-4',\n 'tw:focus-visible:ring-ring/30',\n 'tw:focus-visible:border-ring',\n className,\n )}\n >\n <BoringAvatar\n name={userName || fallback || RANDOM_UUID}\n variant=\"beam\"\n colors={['#1F8FFF', '#004787', '#28D8FF', '#925cff', '#A8C2E6']}\n size={size}\n square={variant === 'rounded'}\n aria-hidden\n />\n {hash && (\n <img\n src={`https://secure.gravatar.com/avatar/${hash}?s=${size * 3}&d=blank`}\n width={size}\n height={size}\n alt={userName || fallback || 'User avatar'}\n referrerPolicy=\"no-referrer\"\n loading=\"lazy\"\n style={styles.gravatar}\n />\n )}\n </span>\n );\n};\n"],"mappings":";;;;;AAMA,MAAM,cAAc,OAAO,WAAW;AAEtC,MAAM,SAAS;CACb,SAAS;EACP,UAAU;EACV,SAAS;EACT,eAAe;CACjB;CACA,UAAU;EACR,UAAU;EACV,MAAM;CACR;AACF;AAaA,MAAa,UAAU,EACrB,KACA,MACA,UACA,OAAO,IACP,WACA,UAAU,UACV,GAAG,YACQ;CACX,MAAM,WAAW,MAAM,QAAQ,MAAM;CACrC,MAAM,QAAQ,MAAM;CACpB,MAAM,OAAO,UAAU,QAAQ,MAAM,KAAK,CAAC,CAAC,YAAY,IAAI,YAAY,EAAE;CAE1E,OACE,qBAAC,QAAD;EACE,GAAI;EACC;EACL,OAAO,OAAO;EACd,WAAW,GACT,YAAY,WAAW,oBAAoB,iBAC3C,sBACA,mCACA,YACA,eAEA,mBACA,aACA,yBAEA,2BACA,iCACA,gCACA,SACF;EAnBF,UAAA,CAqBE,oBAAC,cAAD;GACE,MAAM,YAAY,YAAY;GAC9B,SAAQ;GACR,QAAQ;IAAC;IAAW;IAAW;IAAW;IAAW;GAAS;GACxD;GACN,QAAQ,YAAY;GACpB,eAAA;EACD,CAAA,GACA,QACC,oBAAC,OAAD;GACE,KAAK,sCAAsC,KAAK,KAAK,OAAO,EAAE;GAC9D,OAAO;GACP,QAAQ;GACR,KAAK,YAAY,YAAY;GAC7B,gBAAe;GACf,SAAQ;GACR,OAAO,OAAO;EACf,CAAA,CAEC;;AAEV"}
@@ -1 +1 @@
1
- export { BrandLogo } from "../../BrandLogo-Dn7hhp2c.js";
1
+ export { BrandLogo } from "../../BrandLogo-n4Qhi1tI.js";
@@ -1 +1 @@
1
- export { Breadcrumb } from "../../Breadcrumb-uGFEIjFF.js";
1
+ export { Breadcrumb } from "../../Breadcrumb-BAwQTo0c.js";
@@ -1 +1 @@
1
- export { Button, ButtonInline, buttonVariants } from "../../Button-DbvGzEDb.js";
1
+ export { Button, ButtonInline, buttonVariants } from "../../Button-BAMX1iuI.js";
@@ -1 +1 @@
1
- export { Checkbox } from "../../Checkbox-B2jLlyaO.js";
1
+ export { Checkbox } from "../../Checkbox-CfjpwIcg.js";
@@ -1 +1 @@
1
- export { Clipboard } from "../../Clipboard-fAkDdpEu.js";
1
+ export { Clipboard } from "../../Clipboard-BaU3cDi5.js";
@@ -1,5 +1,5 @@
1
1
  import { cn } from "../../classNames-DkX30VJU.js";
2
- import { keyCodes } from "../../utils-DjFceY3H.js";
2
+ import { keyCodes } from "../../utils-BxEJOnFD.js";
3
3
  import { ChevronDown } from "../../icons-DDR9dFSr.js";
4
4
  import { Collapsible } from "../../Collapsible-zsXk4Vpp.js";
5
5
  import { useState } from "react";
@@ -1 +1 @@
1
- export { BLANK_VALUES, Combobox, filterByWords, matchByWords, namedLabel, withBlankValues } from "../../Combobox-DYjvYgl3.js";
1
+ export { BLANK_VALUES, Combobox, filterByWords, matchByWords, namedLabel, withBlankValues } from "../../Combobox-CakN_1cF.js";