neba 1.18.1 → 1.19.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 (185) hide show
  1. package/dist/a2ui/adapter-catalog.json +1 -1
  2. package/dist/a2ui/catalog.json +2 -2
  3. package/dist/components/accordion/Accordion.js +1 -1
  4. package/dist/components/agent-steps/AgentSteps.js +1 -1
  5. package/dist/components/alert/Alert.js +1 -1
  6. package/dist/components/anchor/Anchor.js +1 -1
  7. package/dist/components/animate-counter/AnimateCounter.js +1 -1
  8. package/dist/components/animate-headline/AnimateHeadline.js +1 -1
  9. package/dist/components/animate-lighting/AnimateLighting.js +1 -1
  10. package/dist/components/animate-marquee/AnimateMarquee.js +1 -1
  11. package/dist/components/animate-scramble/AnimateScramble.js +1 -1
  12. package/dist/components/animate-typing/AnimateTyping.js +1 -1
  13. package/dist/components/app-logo/AppLogo.js +1 -1
  14. package/dist/components/approval/Approval.js +1 -1
  15. package/dist/components/aspect-ratio/AspectRatio.js +1 -1
  16. package/dist/components/avatar/Avatar.js +1 -1
  17. package/dist/components/badge/Badge.js +1 -1
  18. package/dist/components/bar-chart/BarChart.js +1 -1
  19. package/dist/components/blockquote/Blockquote.js +1 -1
  20. package/dist/components/bottom-navigation/BottomNavigation.js +1 -1
  21. package/dist/components/breadcrumb/Breadcrumb.js +1 -1
  22. package/dist/components/button/Button.js +1 -1
  23. package/dist/components/button-group/ButtonGroup.js +1 -1
  24. package/dist/components/calendar/Calendar.js +1 -1
  25. package/dist/components/carousel/Carousel.js +1 -1
  26. package/dist/components/chat-bubble/ChatBubble.js +1 -1
  27. package/dist/components/checkbox/Checkbox.js +1 -1
  28. package/dist/components/checkbox/index.d.ts +1 -1
  29. package/dist/components/checkbox-group/index.d.ts +1 -1
  30. package/dist/components/chip/Chip.d.ts +32 -3
  31. package/dist/components/chip/Chip.js +1 -1
  32. package/dist/components/code-block/CodeBlock.js +1 -1
  33. package/dist/components/collapsible/Collapsible.js +1 -1
  34. package/dist/components/color-picker/ColorPicker.js +1 -1
  35. package/dist/components/combobox/Combobox.d.ts +11 -0
  36. package/dist/components/combobox/Combobox.js +1 -1
  37. package/dist/components/combobox/index.d.ts +1 -1
  38. package/dist/components/command-palette/CommandPalette.d.ts +21 -5
  39. package/dist/components/command-palette/CommandPalette.js +1 -1
  40. package/dist/components/command-palette/CommandPaletteSheet.d.ts +27 -0
  41. package/dist/components/command-palette/CommandPaletteSheet.js +1 -0
  42. package/dist/components/command-palette/index.d.ts +1 -1
  43. package/dist/components/confirm/Confirm.d.ts +7 -5
  44. package/dist/components/confirm/Confirm.js +1 -1
  45. package/dist/components/data-list/DataList.js +1 -1
  46. package/dist/components/data-table/DataTable.js +1 -1
  47. package/dist/components/data-table/RowsPerPage.d.ts +43 -0
  48. package/dist/components/data-table/RowsPerPage.js +1 -0
  49. package/dist/components/date-picker/DatePicker.js +1 -1
  50. package/dist/components/date-range-picker/DateRangePicker.js +1 -1
  51. package/dist/components/date-time-picker/DateTimePicker.js +1 -1
  52. package/dist/components/dialog/Dialog.js +1 -1
  53. package/dist/components/dialog/index.d.ts +1 -1
  54. package/dist/components/drawer/Drawer.d.ts +1 -1
  55. package/dist/components/drawer/Drawer.js +1 -1
  56. package/dist/components/empty/Empty.js +1 -1
  57. package/dist/components/file-picker/FilePicker.js +1 -1
  58. package/dist/components/floating-action-button/FloatingActionButton.js +1 -1
  59. package/dist/components/floating-action-button/index.d.ts +1 -0
  60. package/dist/components/floating-bottom-navigation/FloatingBottomNavigation.js +1 -1
  61. package/dist/components/footer/Footer.js +1 -1
  62. package/dist/components/gallery/Gallery.js +1 -1
  63. package/dist/components/gauge-chart/GaugeChart.js +1 -1
  64. package/dist/components/header/Header.js +1 -1
  65. package/dist/components/heatmap-chart/HeatmapChart.js +1 -1
  66. package/dist/components/highlight/Highlight.js +1 -1
  67. package/dist/components/hover-card/HoverCard.js +1 -1
  68. package/dist/components/how-to-steps/HowToSteps.d.ts +3 -0
  69. package/dist/components/how-to-steps/HowToSteps.js +1 -1
  70. package/dist/components/image/Image.js +1 -1
  71. package/dist/components/inline-citation/InlineCitation.d.ts +24 -0
  72. package/dist/components/inline-citation/InlineCitation.js +1 -1
  73. package/dist/components/list/List.js +1 -1
  74. package/dist/components/menu/Menu.js +1 -1
  75. package/dist/components/menubar/Menubar.js +1 -1
  76. package/dist/components/meter/Meter.js +1 -1
  77. package/dist/components/mockup/Mockup.js +1 -1
  78. package/dist/components/navigation-menu/NavigationMenu.d.ts +2 -1
  79. package/dist/components/navigation-menu/NavigationMenu.js +1 -1
  80. package/dist/components/number-field/NumberField.js +1 -1
  81. package/dist/components/number-field/index.d.ts +1 -1
  82. package/dist/components/overlay/Overlay.js +1 -1
  83. package/dist/components/page-layout/PageLayout.js +1 -1
  84. package/dist/components/pagination/Pagination.js +1 -1
  85. package/dist/components/panes/Panes.js +1 -1
  86. package/dist/components/pie-chart/PieChart.js +1 -1
  87. package/dist/components/pill/Pill.js +1 -1
  88. package/dist/components/popover/Popover.js +1 -1
  89. package/dist/components/progress-box/ProgressBox.js +1 -1
  90. package/dist/components/progress-circular/ProgressCircular.js +1 -1
  91. package/dist/components/progress-linear/ProgressLinear.js +1 -1
  92. package/dist/components/prompt-input/PromptInput.js +1 -1
  93. package/dist/components/provider/NebaProvider.js +1 -1
  94. package/dist/components/radio-group/RadioGroup.js +1 -1
  95. package/dist/components/radio-group/index.d.ts +1 -1
  96. package/dist/components/rating/Rating.js +1 -1
  97. package/dist/components/reasoning/Reasoning.js +1 -1
  98. package/dist/components/scatter-chart/ScatterChart.js +1 -1
  99. package/dist/components/scroll-area/ScrollArea.js +1 -1
  100. package/dist/components/scroll-zone/ScrollZone.js +1 -1
  101. package/dist/components/segmented-button/SegmentedButton.js +1 -1
  102. package/dist/components/select/Select.d.ts +12 -0
  103. package/dist/components/select/Select.js +1 -1
  104. package/dist/components/select/index.d.ts +1 -1
  105. package/dist/components/shortcut/Shortcut.js +1 -1
  106. package/dist/components/sidebar/Sidebar.js +1 -1
  107. package/dist/components/sidebar/SidebarTrigger.js +1 -1
  108. package/dist/components/skeleton/Skeleton.js +1 -1
  109. package/dist/components/slider/Slider.js +1 -1
  110. package/dist/components/slider/index.d.ts +1 -1
  111. package/dist/components/sources/Sources.js +1 -1
  112. package/dist/components/sparkline/Sparkline.d.ts +7 -0
  113. package/dist/components/sparkline/Sparkline.js +1 -1
  114. package/dist/components/spoiler/Spoiler.js +1 -1
  115. package/dist/components/statistic/Statistic.js +1 -1
  116. package/dist/components/streaming-text/StreamingText.d.ts +10 -6
  117. package/dist/components/streaming-text/StreamingText.js +1 -1
  118. package/dist/components/switch/Switch.js +1 -1
  119. package/dist/components/switch/index.d.ts +1 -1
  120. package/dist/components/table/Table.js +1 -1
  121. package/dist/components/table/index.d.ts +1 -1
  122. package/dist/components/tabs/Tabs.js +1 -1
  123. package/dist/components/text-field/TextField.js +1 -1
  124. package/dist/components/text-field/index.d.ts +1 -1
  125. package/dist/components/text-link/TextLink.js +1 -1
  126. package/dist/components/time-picker/TimePicker.js +1 -1
  127. package/dist/components/timeline-chart/TimelineChart.js +1 -1
  128. package/dist/components/toast/Toast.d.ts +38 -5
  129. package/dist/components/toast/Toast.js +1 -1
  130. package/dist/components/toast/index.d.ts +2 -2
  131. package/dist/components/toast/index.js +1 -1
  132. package/dist/components/toggle/Toggle.js +1 -1
  133. package/dist/components/toggle-group/ToggleGroup.js +1 -1
  134. package/dist/components/tool-call/ToolCall.js +1 -1
  135. package/dist/components/toolbar/Toolbar.js +1 -1
  136. package/dist/components/tooltip/Tooltip.js +1 -1
  137. package/dist/components/tour/Tour.js +1 -1
  138. package/dist/components/tour/index.d.ts +1 -1
  139. package/dist/components/transfer/Transfer.d.ts +7 -0
  140. package/dist/components/transfer/Transfer.js +1 -1
  141. package/dist/components/tree-select/TreeSelect.js +1 -1
  142. package/dist/components/tree-view/TreeView.js +1 -1
  143. package/dist/components/window-pane/WindowPane.js +1 -1
  144. package/dist/internal/animate.d.ts +34 -2
  145. package/dist/internal/animate.js +1 -1
  146. package/dist/internal/cache.d.ts +7 -1
  147. package/dist/internal/cache.js +1 -1
  148. package/dist/internal/calendar.d.ts +40 -1
  149. package/dist/internal/calendar.js +1 -1
  150. package/dist/internal/chart-frame.d.ts +86 -8
  151. package/dist/internal/chart-frame.js +1 -1
  152. package/dist/internal/chart-line.js +1 -1
  153. package/dist/internal/chart.d.ts +13 -0
  154. package/dist/internal/chart.js +1 -1
  155. package/dist/internal/data-table.d.ts +7 -1
  156. package/dist/internal/data-table.js +1 -1
  157. package/dist/internal/date.d.ts +10 -0
  158. package/dist/internal/date.js +1 -1
  159. package/dist/internal/idle.d.ts +10 -0
  160. package/dist/internal/idle.js +1 -0
  161. package/dist/internal/link.d.ts +4 -3
  162. package/dist/internal/media.js +1 -1
  163. package/dist/internal/observe.d.ts +4 -0
  164. package/dist/internal/observe.js +1 -1
  165. package/dist/internal/page-layout.d.ts +30 -2
  166. package/dist/internal/page-layout.js +1 -1
  167. package/dist/internal/picker.js +1 -1
  168. package/dist/internal/progress.d.ts +17 -0
  169. package/dist/internal/progress.js +1 -1
  170. package/dist/internal/refs.d.ts +18 -0
  171. package/dist/internal/refs.js +1 -0
  172. package/dist/internal/run.d.ts +34 -19
  173. package/dist/internal/run.js +1 -1
  174. package/dist/internal/sizer.d.ts +9 -4
  175. package/dist/internal/sizer.js +1 -1
  176. package/dist/internal/styles.d.ts +14 -0
  177. package/dist/internal/styles.js +1 -1
  178. package/dist/internal/tile.d.ts +34 -0
  179. package/dist/internal/tile.js +1 -0
  180. package/dist/internal/wheel.d.ts +24 -1
  181. package/dist/internal/wheel.js +1 -1
  182. package/dist/styles.css +1 -1
  183. package/dist/tailwind.css +366 -61
  184. package/dist/types.d.ts +4 -2
  185. package/package.json +1 -1
@@ -1 +1 @@
1
- "use client";import{jsx as e,jsxs as t,Fragment as r}from"react/jsx-runtime";import*as n from"react";import{useRender as l}from"@base-ui/react/use-render";import{boxPaddingXClasses as a}from"../box/Box.js";import{transitionProps as s}from"../../internal/animate.js";import{emptyMessages as o,useMessages as i}from"../../internal/i18n.js";import{cx as m,hasContent as c,iconClasses as d,radiusClasses as p,sheetBodyClasses as x,sheetHeaderGapClasses as f,sheetSectionGapClasses as u,sheetTitleClasses as y,sheetTitleHeadingClasses as h,surfaceClasses as v,surfaceSlots as b,transitionClasses as g}from"../../internal/styles.js";import{useStyleDefaults as j}from"../../internal/defaults.js";const N={default:{xs:"py-5",sm:"py-6",md:"py-8",lg:"py-10",xl:"py-12"},compact:{xs:"py-3",sm:"py-3.5",md:"py-4",lg:"py-5",xl:"py-6"}},k={xs:"text-[1.25rem]",sm:"text-[1.5rem]",md:"text-[1.75rem]",lg:"text-[2.125rem]",xl:"text-[2.5rem]"},w={solid:[v,"text-(--neba-fg) bg-(--n-panel-hover)","[box-shadow:var(--n-elev),var(--neba-plate-solid)]"].join(" "),outline:[v,"border text-(--neba-fg) bg-(--n-panel)","[border-color:var(--n-line)]","[box-shadow:var(--n-elev),var(--neba-plate-glass)]"].join(" "),text:"text-(--neba-fg) bg-transparent"};function TrayIcon(){return t("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:[e("path",{d:"M1.75 9.75h3l.9 1.6h4.7l.9-1.6h3",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),e("path",{d:"m1.75 9.75 2.1-6a1.5 1.5 0 0 1 1.42-1h5.46a1.5 1.5 0 0 1 1.42 1l2.1 6v2a1.5 1.5 0 0 1-1.5 1.5h-9.5a1.5 1.5 0 0 1-1.5-1.5Z",stroke:"currentColor",strokeWidth:"1.5",strokeLinejoin:"round"})]})}export const Empty=/*@__PURE__*/n.forwardRef(function Empty(v,$){const{variant:E="text",size:L="md",color:z="secondary",density:B="default",elevation:C=0,title:I,icon:T,action:W,locale:F,transition:M,render:R,className:V,style:Z,children:q,...A}=j(v,["size","density","variant","locale"]),D=i(o,F),G=void 0===I?D.title:I,H=void 0===T?e(TrayIcon,{}):T,J=s(M),K=c(G),O=n.isValidElement(R)&&("td"===R.type||"th"===R.type),{role:P,...Q}=A,S="role"in A?P:"status",U=m("flex w-full flex-col items-center justify-center text-center",a[B][L],N[B][L],p[L],u[L],g,w[E],J.className),X={...b(z,C),...J.style},Y=t(r,{children:[c(H)?e("span",{className:`flex items-center text-(--neba-muted-fg) ${k[L]} ${d}`,children:H}):null,K||c(q)?t("div",{className:`flex max-w-prose flex-col items-center ${f[L]}`,children:[K?e("div",{className:`${h} font-semibold ${y[L]}`,children:G}):null,c(q)?e("div",{className:`${x[L]} ${K?"text-(--neba-muted-fg)":""}`,children:q}):null]}):null,c(W)?e("div",{className:"flex flex-wrap items-center justify-center gap-2",children:W}):null]});return l({render:R,ref:$,props:O?{className:V,style:Z,children:e("div",{role:S,className:U,style:X,children:Y}),...Q}:{role:S,className:m(U,V??""),style:{...X,...Z},children:Y,...Q}})});
1
+ "use client";import{jsx as e,jsxs as t,Fragment as r}from"react/jsx-runtime";import*as l from"react";import{useRender as n}from"@base-ui/react/use-render";import{boxPaddingXClasses as a}from"../box/Box.js";import{transitionProps as s}from"../../internal/animate.js";import{emptyMessages as o,useMessages as i}from"../../internal/i18n.js";import{cx as m,hasContent as c,iconClasses as d,radiusClasses as p,sheetBodyClasses as x,sheetHeaderGapClasses as f,sheetSectionGapClasses as u,sheetTitleClasses as y,sheetTitleHeadingClasses as h,surfaceClasses as v,surfaceSlots as b,transitionClasses as g}from"../../internal/styles.js";import{useStyleDefaults as j}from"../../internal/defaults.js";const N={default:{xs:"py-5",sm:"py-6",md:"py-8",lg:"py-10",xl:"py-12"},compact:{xs:"py-3",sm:"py-3.5",md:"py-4",lg:"py-5",xl:"py-6"}},k={xs:"text-[1.25rem]",sm:"text-[1.5rem]",md:"text-[1.75rem]",lg:"text-[2.125rem]",xl:"text-[2.5rem]"},w={solid:v+" text-(--neba-fg) bg-(--n-panel-hover) [box-shadow:var(--n-elev),var(--neba-plate-solid)]",outline:v+" border text-(--neba-fg) bg-(--n-panel) [border-color:var(--n-line)] [box-shadow:var(--n-elev),var(--neba-plate-glass)]",text:"text-(--neba-fg) bg-transparent"};function TrayIcon(){return t("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:[e("path",{d:"M1.75 9.75h3l.9 1.6h4.7l.9-1.6h3",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),e("path",{d:"m1.75 9.75 2.1-6a1.5 1.5 0 0 1 1.42-1h5.46a1.5 1.5 0 0 1 1.42 1l2.1 6v2a1.5 1.5 0 0 1-1.5 1.5h-9.5a1.5 1.5 0 0 1-1.5-1.5Z",stroke:"currentColor",strokeWidth:"1.5",strokeLinejoin:"round"})]})}export const Empty=/*@__PURE__*/l.forwardRef(function Empty(v,$){const{variant:E="text",size:L="md",color:z="secondary",density:B="default",elevation:C=0,title:I,icon:T,action:W,locale:F,transition:M,render:R,className:V,style:Z,children:q,...A}=j(v,["size","density","variant","locale"]),D=i(o,F),G=void 0===I?D.title:I,H=void 0===T?e(TrayIcon,{}):T,J=s(M),K=c(G),O=l.isValidElement(R)&&("td"===R.type||"th"===R.type),{role:P,...Q}=A,S="role"in A?P:"status",U=m("flex w-full flex-col items-center justify-center text-center",a[B][L],N[B][L],p[L],u[L],g,w[E],J.className),X={...b(z,C),...J.style},Y=t(r,{children:[c(H)?e("span",{className:`flex items-center text-(--neba-muted-fg) ${k[L]} ${d}`,children:H}):null,K||c(q)?t("div",{className:`flex max-w-prose flex-col items-center ${f[L]}`,children:[K?e("div",{className:`${h} font-semibold ${y[L]}`,children:G}):null,c(q)?e("div",{className:`${x[L]} ${K?"text-(--neba-muted-fg)":""}`,children:q}):null]}):null,c(W)?e("div",{className:"flex flex-wrap items-center justify-center gap-2",children:W}):null]});return n({render:R,ref:$,props:O?{className:V,style:Z,children:e("div",{role:S,className:U,style:X,children:Y}),...Q}:{role:S,className:m(U,V??""),style:{...X,...Z},children:Y,...Q}})});
@@ -1 +1 @@
1
- "use client";import{jsx as e,jsxs as n}from"react/jsx-runtime";import*as r from"react";import{formatFileSize as t}from"./formatFileSize.js";import{useLayoutEffectOnClient as l}from"../../internal/layout-effect.js";import{useDropZone as a}from"../../internal/drop.js";import{glowClasses as o,spotlightSlot as i,trackPointer as s}from"../../internal/glow.js";import{CloseIcon as c}from"../../internal/icons.js";import{fileMessages as d,fillMessage as u,useMessages as f}from"../../internal/i18n.js";import{controlTextLeadingClasses as m,cx as p,disabledClasses as b,gapClasses as h,hasContent as v,hitAreaClasses as x,iconClasses as g,metaTextClasses as y,radiusClasses as j,readOnlyFilterClasses as k,sheetTitleClasses as N,stackGapClasses as $,surfaceClasses as w,surfaceSlots as z,transitionClasses as C}from"../../internal/styles.js";import{useStyleDefaults as I}from"../../internal/defaults.js";import{useFieldsetDisabled as _}from"../../internal/fieldset.js";const L={default:{xs:"p-4",sm:"p-5",md:"p-6",lg:"p-8",xl:"p-10"},compact:{xs:"p-2",sm:"p-3",md:"p-4",lg:"p-5",xl:"p-6"}},M={solid:[w,"border-2 border-dashed text-(--neba-fg) bg-(--n-panel-hover)","[border-color:var(--n-line)]","[box-shadow:var(--n-elev),var(--neba-plate-glass)]"].join(" "),outline:[w,"border-2 border-dashed text-(--neba-fg) bg-(--n-panel)","[border-color:var(--n-line)]","[box-shadow:var(--n-elev),var(--neba-plate-glass)]"].join(" "),text:"border-2 border-dashed text-(--neba-fg) bg-transparent [border-color:var(--n-line)]"},W={solid:"hover:bg-(--n-panel-press) hover:[border-color:var(--n-line-hover)]",outline:"hover:bg-(--n-panel-hover) hover:[border-color:var(--n-line-hover)]",text:"hover:bg-(--n-soft) hover:[border-color:var(--n-line-hover)]"};function UploadIcon(){return n("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:[e("path",{d:"M8 10.5V2.75m0 0L5.25 5.5M8 2.75 10.75 5.5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),e("path",{d:"M2.75 9.75v1.75a1.75 1.75 0 0 0 1.75 1.75h7a1.75 1.75 0 0 0 1.75-1.75V9.75",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]})}function E(e,n){const r=e.name.toLowerCase(),t=e.type.toLowerCase();return n.split(",").map(e=>e.trim().toLowerCase()).filter(Boolean).some(e=>e.startsWith(".")?r.endsWith(e):e.endsWith("/*")?t.startsWith(`${e.slice(0,-1)}`):t===e)}export const FilePicker=/*@__PURE__*/r.forwardRef(function FilePicker(w,F){const{variant:R="outline",size:S="md",color:T="primary",density:P="default",elevation:V=0,accept:q,multiple:A=!1,maxSize:B,maxFiles:D,value:O,defaultValue:U,onFilesChange:H,onReject:Y,label:G,description:J,error:K,invalid:Q,title:X,hint:Z,icon:ee,showList:ne=!0,removeLabel:re,fullWidth:te=!0,disabled:le,readOnly:ae=!1,required:oe=!1,name:ie,id:se,locale:ce,className:de,style:ue,...fe}=I(w,["size","density","variant","locale"]),me=_(le),pe=f(d,ce),be=re??(e=>u(pe.remove,{name:e})),he=r.useRef(null);r.useImperativeHandle(F,()=>he.current);const[ve,xe]=r.useState(()=>[...U??[]]),ge=r.useMemo(()=>O?[...O]:ve,[O,ve]),ye=v(K),je=Q??ye,ke=je?"danger":T,Ne=me||ae,$e=r.useId(),we=r.useId(),ze=r.useId(),Ce=se??ze,Ie=r.useCallback(e=>{O||xe(e),H?.(e)},[H,O]),_e=r.useCallback(e=>{const n=[],r=[],t=A?D??Number.POSITIVE_INFINITY:1,l=A?ge.length:0;for(const a of e)q&&!E(a,q)?r.push({file:a,reason:"type"}):void 0!==B&&a.size>B?r.push({file:a,reason:"size"}):l+n.length>=t?r.push({file:a,reason:"count"}):n.push(a);return{kept:n,rejections:r}},[q,ge.length,D,B,A]),Le=r.useCallback(e=>{const{kept:n,rejections:r}=_e(e);r.length>0&&Y?.(r),n.length>0&&Ie(A?[...ge,...n]:n)},[_e,Ie,ge,A,Y]),{over:Me,handlers:We}=a(Ne?void 0:Le),Ee=r.useRef(null),Fe=r.useRef(null),Re=r.useRef(null);l(()=>{const e=Re.current;if(null===e)return;Re.current=null;const n=Fe.current?.querySelectorAll("li button")??[],r=n[Math.min(e,n.length-1)]??Ee.current;r?.focus()},[ge]);const Se=r.useCallback(()=>{const e=he.current;if(e&&"undefined"!=typeof DataTransfer)try{const n=new DataTransfer;ge.forEach(e=>n.items.add(e)),e.files=n.files}catch{}},[ge]);r.useEffect(()=>{Se();const e=he.current;return e?.addEventListener("cancel",Se),()=>e?.removeEventListener("cancel",Se)},[Se]);const Te=p("flex w-full flex-col items-center justify-center text-center","cursor-pointer select-none",L[P][S],j[S],h[S],C,g,"focus-visible:[outline:2px_solid_var(--n-ring)] focus-visible:outline-offset-2",me?`${b[R]} border-2 border-dashed`:ae?`${M[R]} ${k} cursor-default`:M[R],Ne?"":`${W[R]} ${o}`,Me&&!Ne?"bg-(--n-soft-press) [border-color:var(--n-ring)]":"");return n("div",{className:p("flex-col align-top",$[S],te?"flex w-full":"inline-flex",de??""),style:{...z(ke,V),...Ne?void 0:i,...ue},...fe,children:[v(G)?e("span",{id:we,className:[y[S],"font-medium",me?"text-(--neba-disabled-fg)":"text-(--neba-fg)"].join(" "),children:G}):null,n("div",{className:"flex w-full flex-col",...We,children:[n("button",{ref:Ee,onPointerMove:s(void 0,!Ne),type:"button",id:Ce,disabled:me,"aria-labelledby":v(G)?`${we} ${Ce}`:void 0,"aria-describedby":v(J)||ye?$e:void 0,"aria-invalid":je||void 0,className:Te,onClick:()=>{Ne||he.current&&(he.current.value="",he.current.click())},children:[void 0===ee?e("span",{className:"flex items-center text-(--n-accent) [&_svg]:size-[1.8em]",children:e(UploadIcon,{})}):v(ee)?e("span",{className:"flex items-center text-(--n-accent) [&_svg]:size-[1.8em]",children:ee}):null,e("span",{className:`font-medium ${N[S]}`,children:X??pe.title}),v(Z)?e("span",{className:`text-(--neba-muted-fg) ${y[S]}`,children:Z}):null]}),e("input",{ref:he,type:"file",name:ie,accept:q,multiple:A,required:oe&&0===ge.length,disabled:me,tabIndex:-1,"aria-hidden":"true",className:"absolute size-px overflow-hidden opacity-0 [clip-path:inset(50%)]",onChange:e=>Le(Array.from(e.target.files??[]))})]}),ne&&ge.length>0?e("ul",{ref:Fe,role:"list",className:`flex w-full flex-col ${$[S]} m-0 list-none p-0`,children:ge.map((r,l)=>n("li",{className:["flex w-full items-center gap-2 px-2 py-1.5",j.xs,m[S],"bg-(--n-soft) text-(--neba-fg)"].join(" "),children:[e("span",{className:"min-w-0 flex-1 truncate",children:r.name}),e("span",{className:`shrink-0 text-(--neba-muted-fg) tabular-nums ${y[S]}`,children:t(r.size)}),Ne?null:e("button",{type:"button","aria-label":be(r.name),className:["relative inline-flex shrink-0 cursor-pointer items-center justify-center rounded-full",x,"size-[1.3em] text-(--neba-muted-fg) opacity-70","[transition:opacity_var(--neba-duration)_var(--neba-ease),color_var(--neba-duration)_var(--neba-ease)]","[&_svg]:size-[0.9em]","hover:text-(--neba-fg) hover:opacity-100 focus-visible:opacity-100","focus-visible:[outline:2px_solid_var(--n-ring)] focus-visible:outline-offset-1"].join(" "),onClick:e=>{Re.current=e.currentTarget===document.activeElement?l:null,Ie(ge.filter((e,n)=>n!==l))},children:e(c,{})})]},`${r.name}-${r.size}-${r.lastModified}-${l}`))}):null,v(J)&&!ye?e("span",{id:$e,className:`${y[S]} text-(--neba-muted-fg)`,children:J}):null,ye?e("span",{id:$e,className:`${y[S]} text-(--n-accent)`,children:K}):null]})});
1
+ "use client";import{jsx as e,jsxs as n}from"react/jsx-runtime";import*as r from"react";import{formatFileSize as t}from"./formatFileSize.js";import{useLayoutEffectOnClient as l}from"../../internal/layout-effect.js";import{useDropZone as a}from"../../internal/drop.js";import{glowClasses as o,spotlightSlot as s,trackPointer as i}from"../../internal/glow.js";import{CloseIcon as c}from"../../internal/icons.js";import{fileMessages as d,fillMessage as u,useMessages as f}from"../../internal/i18n.js";import{controlTextLeadingClasses as m,cx as p,disabledClasses as b,gapClasses as h,hasContent as v,hitAreaClasses as x,iconClasses as g,metaTextClasses as y,radiusClasses as k,readOnlyFilterClasses as N,sheetTitleClasses as j,stackGapClasses as $,surfaceClasses as w,surfaceSlots as z,transitionClasses as C}from"../../internal/styles.js";import{useStyleDefaults as I}from"../../internal/defaults.js";import{useFieldsetDisabled as _}from"../../internal/fieldset.js";const L={default:{xs:"p-4",sm:"p-5",md:"p-6",lg:"p-8",xl:"p-10"},compact:{xs:"p-2",sm:"p-3",md:"p-4",lg:"p-5",xl:"p-6"}},M={solid:w+" border-2 border-dashed text-(--neba-fg) bg-(--n-panel-hover) [border-color:var(--n-line)] [box-shadow:var(--n-elev),var(--neba-plate-glass)]",outline:w+" border-2 border-dashed text-(--neba-fg) bg-(--n-panel) [border-color:var(--n-line)] [box-shadow:var(--n-elev),var(--neba-plate-glass)]",text:"border-2 border-dashed text-(--neba-fg) bg-transparent [border-color:var(--n-line)]"},W={solid:"hover:bg-(--n-panel-press) hover:[border-color:var(--n-line-hover)]",outline:"hover:bg-(--n-panel-hover) hover:[border-color:var(--n-line-hover)]",text:"hover:bg-(--n-soft) hover:[border-color:var(--n-line-hover)]"};function UploadIcon(){return n("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:[e("path",{d:"M8 10.5V2.75m0 0L5.25 5.5M8 2.75 10.75 5.5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),e("path",{d:"M2.75 9.75v1.75a1.75 1.75 0 0 0 1.75 1.75h7a1.75 1.75 0 0 0 1.75-1.75V9.75",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]})}function E(e,n){const r=e.name.toLowerCase(),t=e.type.toLowerCase();return n.split(",").map(e=>e.trim().toLowerCase()).filter(Boolean).some(e=>e.startsWith(".")?r.endsWith(e):e.endsWith("/*")?t.startsWith(`${e.slice(0,-1)}`):t===e)}export const FilePicker=/*@__PURE__*/r.forwardRef(function FilePicker(w,F){const{variant:R="outline",size:S="md",color:T="primary",density:P="default",elevation:V=0,accept:q,multiple:A=!1,maxSize:B,maxFiles:D,value:O,defaultValue:U,onFilesChange:H,onReject:Y,label:G,description:J,error:K,invalid:Q,title:X,hint:Z,icon:ee,showList:ne=!0,removeLabel:re,fullWidth:te=!0,disabled:le,readOnly:ae=!1,required:oe=!1,name:se,id:ie,locale:ce,className:de,style:ue,...fe}=I(w,["size","density","variant","locale"]),me=_(le),pe=f(d,ce),be=re??(e=>u(pe.remove,{name:e})),he=r.useRef(null);r.useImperativeHandle(F,()=>he.current);const[ve,xe]=r.useState(()=>[...U??[]]),ge=r.useMemo(()=>O?[...O]:ve,[O,ve]),ye=v(K),ke=Q??ye,Ne=ke?"danger":T,je=me||ae,$e=r.useId(),we=r.useId(),ze=r.useId(),Ce=ie??ze,Ie=r.useCallback(e=>{O||xe(e),H?.(e)},[H,O]),_e=r.useCallback(e=>{const n=[],r=[],t=A?D??Number.POSITIVE_INFINITY:1,l=A?ge.length:0;for(const a of e)q&&!E(a,q)?r.push({file:a,reason:"type"}):void 0!==B&&a.size>B?r.push({file:a,reason:"size"}):l+n.length>=t?r.push({file:a,reason:"count"}):n.push(a);return{kept:n,rejections:r}},[q,ge.length,D,B,A]),Le=r.useCallback(e=>{const{kept:n,rejections:r}=_e(e);r.length>0&&Y?.(r),n.length>0&&Ie(A?[...ge,...n]:n)},[_e,Ie,ge,A,Y]),{over:Me,handlers:We}=a(je?void 0:Le),Ee=r.useRef(null),Fe=r.useRef(null),Re=r.useRef(null);l(()=>{const e=Re.current;if(null===e)return;Re.current=null;const n=Fe.current?.querySelectorAll("li button")??[],r=n[Math.min(e,n.length-1)]??Ee.current;r?.focus()},[ge]);const Se=r.useCallback(()=>{const e=he.current;if(e&&"undefined"!=typeof DataTransfer)try{const n=new DataTransfer;ge.forEach(e=>n.items.add(e)),e.files=n.files}catch{}},[ge]);r.useEffect(()=>{Se();const e=he.current;return e?.addEventListener("cancel",Se),()=>e?.removeEventListener("cancel",Se)},[Se]);const Te=p("flex w-full flex-col items-center justify-center text-center","cursor-pointer select-none",L[P][S],k[S],h[S],C,g,"focus-visible:[outline:2px_solid_var(--n-ring)] focus-visible:outline-offset-2",me?`${b[R]} border-2 border-dashed`:ae?`${M[R]} ${N} cursor-default`:M[R],je?"":`${W[R]} ${o}`,Me&&!je?"bg-(--n-soft-press) [border-color:var(--n-ring)]":"");return n("div",{className:p("flex-col align-top",$[S],te?"flex w-full":"inline-flex",de??""),style:{...z(Ne,V),...je?void 0:s,...ue},...fe,children:[v(G)?e("span",{id:we,className:y[S]+" font-medium "+(me?"text-(--neba-disabled-fg)":"text-(--neba-fg)"),children:G}):null,n("div",{className:"flex w-full flex-col",...We,children:[n("button",{ref:Ee,onPointerMove:i(void 0,!je),type:"button",id:Ce,disabled:me,"aria-labelledby":v(G)?`${we} ${Ce}`:void 0,"aria-describedby":v(J)||ye?$e:void 0,"aria-invalid":ke||void 0,className:Te,onClick:()=>{je||he.current&&(he.current.value="",he.current.click())},children:[void 0===ee?e("span",{className:"flex items-center text-(--n-accent) [&_svg]:size-[1.8em]",children:e(UploadIcon,{})}):v(ee)?e("span",{className:"flex items-center text-(--n-accent) [&_svg]:size-[1.8em]",children:ee}):null,e("span",{className:`font-medium ${j[S]}`,children:X??pe.title}),v(Z)?e("span",{className:`text-(--neba-muted-fg) ${y[S]}`,children:Z}):null]}),e("input",{ref:he,type:"file",name:se,accept:q,multiple:A,required:oe&&0===ge.length,disabled:me,tabIndex:-1,"aria-hidden":"true",className:"absolute size-px overflow-hidden opacity-0 [clip-path:inset(50%)]",onChange:e=>Le(Array.from(e.target.files??[]))})]}),ne&&ge.length>0?e("ul",{ref:Fe,role:"list",className:`flex w-full flex-col ${$[S]} m-0 list-none p-0`,children:ge.map((r,l)=>n("li",{className:"flex w-full items-center gap-2 px-2 py-1.5 "+k.xs+" "+m[S]+" bg-(--n-soft) text-(--neba-fg)",children:[e("span",{className:"min-w-0 flex-1 truncate",children:r.name}),e("span",{className:`shrink-0 text-(--neba-muted-fg) tabular-nums ${y[S]}`,children:t(r.size)}),je?null:e("button",{type:"button","aria-label":be(r.name),className:"relative inline-flex shrink-0 cursor-pointer items-center justify-center rounded-full "+x+" size-[1.3em] text-(--neba-muted-fg) opacity-70 [transition:opacity_var(--neba-duration)_var(--neba-ease),color_var(--neba-duration)_var(--neba-ease)] [&_svg]:size-[0.9em] hover:text-(--neba-fg) hover:opacity-100 focus-visible:opacity-100 focus-visible:[outline:2px_solid_var(--n-ring)] focus-visible:outline-offset-1",onClick:e=>{Re.current=e.currentTarget===document.activeElement?l:null,Ie(ge.filter((e,n)=>n!==l))},children:e(c,{})})]},`${r.name}-${r.size}-${r.lastModified}-${l}`))}):null,v(J)&&!ye?e("span",{id:$e,className:`${y[S]} text-(--neba-muted-fg)`,children:J}):null,ye?e("span",{id:$e,className:`${y[S]} text-(--n-accent)`,children:K}):null]})});
@@ -1 +1 @@
1
- "use client";import{jsx as e,jsxs as t}from"react/jsx-runtime";import*as o from"react";import{Button as n}from"../button/Button.js";import{CloseIcon as s,PlusIcon as a}from"../../internal/icons.js";import{cx as r,hasContent as i,metaTextClasses as l,radiusClasses as c,surfaceClasses as f}from"../../internal/styles.js";import{useStyleDefaults as d}from"../../internal/defaults.js";const m=/*@__PURE__*/o.createContext({variant:"solid",size:"md",color:"primary",density:"default",elevation:1,showLabels:!0,reversed:!0,close:()=>{},closesOnAction:!1,focusTrigger:()=>{}}),u={xs:"xs",sm:"xs",md:"sm",lg:"md",xl:"lg"},b="lg",p={static:"",absolute:"absolute z-30",sticky:"sticky z-30",fixed:"fixed z-40"},v={"top-start":"top-(--n-fab-offset) start-(--n-fab-offset)","top-end":"top-(--n-fab-offset) end-(--n-fab-offset)","bottom-start":"bottom-(--n-fab-offset) start-(--n-fab-offset)","bottom-end":"bottom-(--n-fab-offset) end-(--n-fab-offset)"},x={"top-start":"top-[calc(var(--n-fab-offset)_+_env(safe-area-inset-top))] start-(--n-fab-offset)","top-end":"top-[calc(var(--n-fab-offset)_+_env(safe-area-inset-top))] end-(--n-fab-offset)","bottom-start":"bottom-[calc(var(--n-fab-offset)_+_env(safe-area-inset-bottom))] start-(--n-fab-offset)","bottom-end":"bottom-[calc(var(--n-fab-offset)_+_env(safe-area-inset-bottom))] end-(--n-fab-offset)"},g=r("pointer-events-none max-w-40 truncate select-none","px-2 py-0.5 text-(--neba-fg) bg-(--n-panel)",f,c.xs,"[box-shadow:var(--neba-shadow-1),var(--neba-plate-glass)]");export const FloatingActionButton=/*@__PURE__*/o.forwardRef(function FloatingActionButton(i,l){const{variant:c="solid",size:f=b,color:g="primary",density:y="default",elevation:h=2,icon:w,label:z,extended:_=!1,openIcon:k,position:A="fixed",corner:C="bottom-end",offset:N=16,safeArea:L=!0,direction:j,open:E,defaultOpen:O=!1,onOpenChange:R,openOnHover:P=!0,closeOnAction:T=!0,showLabels:F=!0,disabled:I=!1,className:B,classNames:D,style:K,children:W,onClick:H,onKeyDown:M,onPointerEnter:S,onPointerLeave:$,...q}=d(i,["size","density","variant"]),G=o.useId(),J=o.useRef(null),Q=o.useRef(null),[U,V]=o.useState(O),X=void 0!==E,Y=o.Children.toArray(W).length>0,Z=(X?E:U)&&Y&&!I,ee=o.useCallback(e=>{X||V(e),R?.(e)},[X,R]),te=o.useCallback(()=>ee(!1),[ee]),oe=o.useRef(!1);o.useEffect(()=>{if(!Z)return;const e=e=>{const t=Q.current;t&&e.target instanceof Node&&!t.contains(e.target)&&te()};return document.addEventListener("pointerdown",e),()=>document.removeEventListener("pointerdown",e)},[Z,te]);const ne=j??(C.startsWith("bottom")?"top":"bottom"),se=C.endsWith("end"),ae=o.useMemo(()=>({variant:c,size:u[f],color:g,density:y,elevation:h,showLabels:F,reversed:se,close:T?te:()=>{},closesOnAction:T,focusTrigger:()=>J.current?.focus()}),[c,f,g,y,h,F,se,T,te]),re=Z&&!1!==k?k??e(s,{}):w??e(a,{});return t("div",{ref:e=>{Q.current=e,"function"==typeof l?l(e):l&&(l.current=e)},className:r("flex w-fit","top"===ne?"flex-col-reverse":"flex-col",se?"items-end":"items-start","xs"===f||"sm"===f?"gap-1.5":"gap-2",p[A],"static"===A?"":!L||"fixed"!==A&&"sticky"!==A?v[C]:x[C],D?.frame),style:{"--n-fab-offset":"number"==typeof N?`${N}px`:N},onKeyDown:e=>{"Escape"===e.key&&Z&&(e.stopPropagation(),te(),J.current?.focus()),M?.(e)},onPointerEnter:e=>{P&&Y&&!I&&"mouse"===e.pointerType&&(oe.current=!Z,ee(!0)),S?.(e)},onPointerLeave:e=>{P&&"mouse"===e.pointerType&&(oe.current=!1,te()),$?.(e)},...q,children:[e(n,{ref:J,variant:c,size:f,color:g,density:y,elevation:h,disabled:I,"aria-label":z,"aria-expanded":Y?Z:void 0,"aria-controls":Y&&Z?G:void 0,startIcon:re,className:B,style:{borderRadius:"9999px",...K},onClick:e=>{Y&&(Z&&oe.current?oe.current=!1:ee(!Z)),H?.(e)},children:_?z:void 0}),Z?e("div",{id:G,className:r("flex","top"===ne?"flex-col-reverse":"flex-col",se?"items-end":"items-start","xs"===f||"sm"===f?"gap-1.5":"gap-2","[animation:neba-anim-fade_var(--neba-duration)_var(--neba-ease)_both]"),children:e(m.Provider,{value:ae,children:W})}):null]})});export const FloatingAction=/*@__PURE__*/o.forwardRef(function FloatingAction({icon:s,label:a,disabled:c=!1,className:f,style:d,onClick:u,...b},p){const v=o.useContext(m);return t("div",{className:r("flex items-center gap-2",v.reversed?"flex-row-reverse":"flex-row",f),children:[e(n,{ref:p,variant:v.variant,size:v.size,color:v.color,density:v.density,elevation:v.elevation,disabled:c,"aria-label":a,startIcon:s,style:{borderRadius:"9999px",...d},onClick:e=>{const t=e.currentTarget===document.activeElement;u?.(e),v.close(),t&&v.closesOnAction&&v.focusTrigger()},...b}),v.showLabels&&i(a)?e("span",{"aria-hidden":"true",className:r(g,l[v.size]),children:a}):null]})});
1
+ "use client";import{jsx as e,jsxs as t}from"react/jsx-runtime";import*as o from"react";import{useMergedRef as n}from"../../internal/refs.js";import{Button as s}from"../button/Button.js";import{CloseIcon as a,PlusIcon as r}from"../../internal/icons.js";import{cx as i,hasContent as l,metaTextClasses as f,radiusClasses as c,surfaceClasses as d}from"../../internal/styles.js";import{useStyleDefaults as m}from"../../internal/defaults.js";const b=/*@__PURE__*/o.createContext({variant:"solid",size:"md",color:"primary",density:"default",elevation:1,showLabels:!0,reversed:!0,close:()=>{},closesOnAction:!1,focusTrigger:()=>{}}),u={xs:"xs",sm:"xs",md:"sm",lg:"md",xl:"lg"},p="lg",v={static:"",absolute:"absolute z-30",sticky:"sticky z-30",fixed:"fixed z-40"},x={"top-start":"top-(--n-fab-offset) start-(--n-fab-offset)","top-end":"top-(--n-fab-offset) end-(--n-fab-offset)","bottom-start":"bottom-(--n-fab-offset) start-(--n-fab-offset)","bottom-end":"bottom-(--n-fab-offset) end-(--n-fab-offset)"},g={"top-start":"top-[calc(var(--n-fab-offset)_+_env(safe-area-inset-top))] start-(--n-fab-offset)","top-end":"top-[calc(var(--n-fab-offset)_+_env(safe-area-inset-top))] end-(--n-fab-offset)","bottom-start":"bottom-[calc(var(--n-fab-offset)_+_env(safe-area-inset-bottom))] start-(--n-fab-offset)","bottom-end":"bottom-[calc(var(--n-fab-offset)_+_env(safe-area-inset-bottom))] end-(--n-fab-offset)"},y=i("pointer-events-none max-w-40 truncate select-none","px-2 py-0.5 text-(--neba-fg) bg-(--n-panel)",d,c.xs,"[box-shadow:var(--neba-shadow-1),var(--neba-plate-glass)]");export const FloatingActionButton=/*@__PURE__*/o.forwardRef(function FloatingActionButton(l,f){const{variant:c="solid",size:d=p,color:y="primary",density:h="default",elevation:w=2,icon:z,label:_,extended:k=!1,openIcon:A,position:C="fixed",corner:N="bottom-end",offset:j=16,safeArea:L=!0,direction:E,open:O,defaultOpen:R=!1,onOpenChange:P,openOnHover:T=!0,closeOnAction:F=!0,showLabels:I=!0,disabled:B=!1,className:D,classNames:K,style:W,children:H,onClick:M,onKeyDown:S,onPointerEnter:$,onPointerLeave:q,...G}=m(l,["size","density","variant"]),J=o.useId(),Q=o.useRef(null),U=o.useRef(null),V=n(U,f),[X,Y]=o.useState(R),Z=void 0!==O,ee=o.Children.toArray(H).length>0,te=(Z?O:X)&&ee&&!B,oe=o.useCallback(e=>{Z||Y(e),P?.(e)},[Z,P]),ne=o.useCallback(()=>oe(!1),[oe]),se=o.useRef(!1);o.useEffect(()=>{if(!te)return;const e=e=>{const t=U.current;t&&e.target instanceof Node&&!t.contains(e.target)&&ne()};return document.addEventListener("pointerdown",e),()=>document.removeEventListener("pointerdown",e)},[te,ne]);const ae=E??(N.startsWith("bottom")?"top":"bottom"),re=N.endsWith("end"),ie=o.useMemo(()=>({variant:c,size:u[d],color:y,density:h,elevation:w,showLabels:I,reversed:re,close:F?ne:()=>{},closesOnAction:F,focusTrigger:()=>Q.current?.focus()}),[c,d,y,h,w,I,re,F,ne]),le=te&&!1!==A?A??e(a,{}):z??e(r,{});return t("div",{ref:V,className:i("flex w-fit","top"===ae?"flex-col-reverse":"flex-col",re?"items-end":"items-start","xs"===d||"sm"===d?"gap-1.5":"gap-2",v[C],"static"===C?"":!L||"fixed"!==C&&"sticky"!==C?x[N]:g[N],K?.frame),style:{"--n-fab-offset":"number"==typeof j?`${j}px`:j},onKeyDown:e=>{"Escape"===e.key&&te&&(e.stopPropagation(),ne(),Q.current?.focus()),S?.(e)},onPointerEnter:e=>{T&&ee&&!B&&"mouse"===e.pointerType&&(se.current=!te,oe(!0)),$?.(e)},onPointerLeave:e=>{T&&"mouse"===e.pointerType&&(se.current=!1,ne()),q?.(e)},...G,children:[e(s,{ref:Q,variant:c,size:d,color:y,density:h,elevation:w,disabled:B,"aria-label":_,"aria-expanded":ee?te:void 0,"aria-controls":ee&&te?J:void 0,startIcon:le,className:D,style:{borderRadius:"9999px",...W},onClick:e=>{ee&&(te&&se.current?se.current=!1:oe(!te)),M?.(e)},children:k?_:void 0}),te?e("div",{id:J,className:i("flex","top"===ae?"flex-col-reverse":"flex-col",re?"items-end":"items-start","xs"===d||"sm"===d?"gap-1.5":"gap-2","[animation:neba-anim-fade_var(--neba-duration)_var(--neba-ease)_both]"),children:e(b.Provider,{value:ie,children:H})}):null]})});export const FloatingAction=/*@__PURE__*/o.forwardRef(function FloatingAction({icon:n,label:a,disabled:r=!1,className:c,style:d,onClick:m,...u},p){const v=o.useContext(b);return t("div",{className:i("flex items-center gap-2",v.reversed?"flex-row-reverse":"flex-row",c),children:[e(s,{ref:p,variant:v.variant,size:v.size,color:v.color,density:v.density,elevation:v.elevation,disabled:r,"aria-label":a,startIcon:n,style:{borderRadius:"9999px",...d},onClick:e=>{const t=e.currentTarget===document.activeElement;m?.(e),v.close(),t&&v.closesOnAction&&v.focusTrigger()},...u}),v.showLabels&&l(a)?e("span",{"aria-hidden":"true",className:i(y,f[v.size]),children:a}):null]})});
@@ -1 +1,2 @@
1
1
  export * from './FloatingActionButton.js';
2
+ export type { FloatingActionButtonSlot } from './FloatingActionButton.js';
@@ -1 +1 @@
1
- "use client";import{jsx as e,jsxs as t}from"react/jsx-runtime";import*as a from"react";import{useLayoutEffectOnClient as n}from"../../internal/layout-effect.js";import{useRender as r}from"@base-ui/react/use-render";import{barMinHeightClasses as o,BottomNavigationContext as s}from"../../internal/bottom-navigation.js";import{observeResize as i}from"../../internal/observe.js";import{cx as l,surfaceClasses as d,surfaceSlots as f,transitionClasses as u}from"../../internal/styles.js";import{useStyleDefaults as p}from"../../internal/defaults.js";const m={solid:[d,"text-(--neba-fg) bg-(--n-panel-press)","[box-shadow:var(--n-elev),var(--neba-plate-solid)]"].join(" "),outline:[d,"border text-(--neba-fg) bg-(--n-panel-hover)","[border-color:var(--n-line)]","[box-shadow:var(--n-elev),var(--neba-plate-glass)]"].join(" "),text:"text-(--neba-fg) bg-transparent"},v={static:"relative mx-auto w-fit",absolute:"absolute inset-x-0 bottom-(--n-nav-offset) z-30 mx-auto w-fit",sticky:"sticky bottom-(--n-nav-offset) z-30 mx-auto w-fit",fixed:"fixed inset-x-0 bottom-(--n-nav-offset) z-40 mx-auto w-fit"},c={default:{xs:"p-1",sm:"p-1",md:"p-1.5",lg:"p-1.5",xl:"p-2"},compact:{xs:"p-0.5",sm:"p-0.5",md:"p-1",lg:"p-1",xl:"p-1"}},b={solid:`${d} bg-(--n-panel-hover) [box-shadow:var(--neba-shadow-1),var(--neba-plate-glass)]`,outline:`${d} bg-(--n-soft-hover) [box-shadow:var(--neba-shadow-1),var(--neba-plate-glass)]`,text:"bg-(--n-soft-hover)"},x={xs:"gap-0.5",sm:"gap-0.5",md:"gap-1",lg:"gap-1",xl:"gap-1.5"};export const FloatingBottomNavigation=/*@__PURE__*/a.forwardRef(function FloatingBottomNavigation(d,g){const{variant:y="outline",size:h="md",color:w="primary",density:j="default",elevation:$=2,value:z,defaultValue:N=null,onValueChange:k,position:A="fixed",offset:P=16,labels:C="selected",safeArea:E=!0,disabled:L=!1,label:R,render:B,className:F,style:S,children:V,...W}=p(d,["size","density","variant"]),[q,H]=a.useState(N),M=void 0!==z,T=M?z:q,D=a.useCallback(e=>{M||H(e),k?.(e)},[M,k]),G=a.useMemo(()=>({value:T??null,change:D,size:h,density:j,labels:C,disabled:L,floating:!0}),[T,D,h,j,C,L]),I=a.useRef(null),J=a.useRef(null),K=a.useCallback(e=>{I.current=e,"function"==typeof g?g(e):g&&(g.current=e)},[g]),O=a.useCallback(e=>{const t=I.current,a=J.current;if(!t||!a)return;const n=t.querySelector("[data-nav-item][aria-current]");if(a.hidden=!n,!n)return void a.removeAttribute("data-ready");const r=!e||!a.hasAttribute("data-ready");r&&a.removeAttribute("data-ready"),a.style.setProperty("--n-nav-x",`${n.offsetLeft}px`),a.style.setProperty("--n-nav-y",`${n.offsetTop}px`),a.style.setProperty("--n-nav-w",`${n.offsetWidth}px`),a.style.setProperty("--n-nav-h",`${n.offsetHeight}px`),r&&a.offsetWidth,a.setAttribute("data-ready","")},[]);n(()=>{O(!0)},[O,T,y,h,j,C,V]),a.useEffect(()=>{const e=I.current;if(!e)return;const t=e=>{"grid-template-columns"===e.propertyName&&O(!0)},a=i(e,()=>O(!1));return e.addEventListener("transitionend",t),()=>{a(),e.removeEventListener("transitionend",t)}},[O]);const Q="number"==typeof P?`${P}px`:P,U=l("flex max-w-full min-w-0 items-center rounded-full",o[h],c[j][h],x[h],m[y],v[A],u,F);return r({render:B??e("nav",{}),ref:K,props:{"aria-label":R,className:U,style:{...f(w,$),"--n-nav-offset":E?`calc(${Q} + env(safe-area-inset-bottom))`:Q,...S},children:t(s.Provider,{value:G,children:[null!=T?e("span",{ref:J,"aria-hidden":"true",className:l("pointer-events-none absolute rounded-full","top-(--n-nav-y) left-(--n-nav-x) h-(--n-nav-h) w-(--n-nav-w)",b[y],"[transition-property:left,top,width,height]","[transition-timing-function:var(--neba-ease)]","[transition-duration:0ms] data-[ready]:[transition-duration:var(--neba-duration)]","motion-reduce:[transition-duration:0ms]")}):null,V]}),...W}})});
1
+ "use client";import{jsx as e,jsxs as t}from"react/jsx-runtime";import*as a from"react";import{useMergedRef as n}from"../../internal/refs.js";import{useLayoutEffectOnClient as r}from"../../internal/layout-effect.js";import{useRender as o}from"@base-ui/react/use-render";import{barMinHeightClasses as s,BottomNavigationContext as i}from"../../internal/bottom-navigation.js";import{watchTile as l}from"../../internal/tile.js";import{cx as d,surfaceClasses as u,surfaceSlots as f,transitionClasses as m}from"../../internal/styles.js";import{useStyleDefaults as p}from"../../internal/defaults.js";const v={solid:u+" text-(--neba-fg) bg-(--n-panel-press) [box-shadow:var(--n-elev),var(--neba-plate-solid)]",outline:u+" border text-(--neba-fg) bg-(--n-panel-hover) [border-color:var(--n-line)] [box-shadow:var(--n-elev),var(--neba-plate-glass)]",text:"text-(--neba-fg) bg-transparent"},c={static:"relative mx-auto w-fit",absolute:"absolute inset-x-0 bottom-(--n-nav-offset) z-30 mx-auto w-fit",sticky:"sticky bottom-(--n-nav-offset) z-30 mx-auto w-fit",fixed:"fixed inset-x-0 bottom-(--n-nav-offset) z-40 mx-auto w-fit"},b={default:{xs:"p-1",sm:"p-1",md:"p-1.5",lg:"p-1.5",xl:"p-2"},compact:{xs:"p-0.5",sm:"p-0.5",md:"p-1",lg:"p-1",xl:"p-1"}},x={solid:`${u} bg-(--n-panel-hover) [box-shadow:var(--neba-shadow-1),var(--neba-plate-glass)]`,outline:`${u} bg-(--n-soft-hover) [box-shadow:var(--neba-shadow-1),var(--neba-plate-glass)]`,text:"bg-(--n-soft-hover)"},g={xs:"gap-0.5",sm:"gap-0.5",md:"gap-1",lg:"gap-1",xl:"gap-1.5"};export const FloatingBottomNavigation=/*@__PURE__*/a.forwardRef(function FloatingBottomNavigation(u,h){const{variant:y="outline",size:w="md",color:$="primary",density:j="default",elevation:z=2,value:A,defaultValue:N=null,onValueChange:P,position:k="fixed",offset:R=16,labels:C="selected",safeArea:E=!0,disabled:L=!1,label:B,render:F,className:S,style:V,children:W,...q}=p(u,["size","density","variant"]),[H,M]=a.useState(N),T=void 0!==A,D=T?A:H,G=a.useCallback(e=>{T||M(e),P?.(e)},[T,P]),I=a.useMemo(()=>({value:D??null,change:G,size:w,density:j,labels:C,disabled:L,floating:!0}),[D,G,w,j,C,L]),J=a.useRef(null),K=a.useRef(null),O=a.useRef(null),Q=n(J,h),U=a.useCallback(e=>{const t=J.current,a=K.current;if(!t||!a)return;const n=t.querySelector("[data-nav-item][aria-current]");if(!n)return a.hidden=!0,a.removeAttribute("data-ready"),void(O.current=null);const r=n.offsetLeft,o=n.offsetTop,s=n.offsetWidth,i=n.offsetHeight,l=`${r} ${o} ${s} ${i}`;if(O.current?.tile===a&&O.current.box===l&&!a.hidden&&a.hasAttribute("data-ready"))return;a.hidden&&(a.hidden=!1);const d=!e||!a.hasAttribute("data-ready");d&&a.removeAttribute("data-ready"),a.style.setProperty("--n-nav-x",`${r}px`),a.style.setProperty("--n-nav-y",`${o}px`),a.style.setProperty("--n-nav-w",`${s}px`),a.style.setProperty("--n-nav-h",`${i}px`),O.current={tile:a,box:l},d&&a.offsetWidth,a.setAttribute("data-ready","")},[]);r(()=>{U(!0)},[U,D,y,w,j,C]),a.useEffect(()=>{const e=J.current;if(!e)return;const t=e=>{"grid-template-columns"===e.propertyName&&U(!0)},a=l(e,"[data-nav-item]","aria-current",U);return e.addEventListener("transitionend",t),()=>{a(),e.removeEventListener("transitionend",t)}},[U]);const X="number"==typeof R?`${R}px`:R,Y=d("flex max-w-full min-w-0 items-center rounded-full",s[w],b[j][w],g[w],v[y],c[k],m,S);return o({render:F??e("nav",{}),ref:Q,props:{"aria-label":B,className:Y,style:{...f($,z),"--n-nav-offset":E?`calc(${X} + env(safe-area-inset-bottom))`:X,...V},children:t(i.Provider,{value:I,children:[null!=D?e("span",{ref:K,"aria-hidden":"true",className:d("pointer-events-none absolute rounded-full","top-(--n-nav-y) left-(--n-nav-x) h-(--n-nav-h) w-(--n-nav-w)",x[y],"[transition-property:left,top,width,height]","[transition-timing-function:var(--neba-ease)]","[transition-duration:0ms] data-[ready]:[transition-duration:var(--neba-duration)]","motion-reduce:[transition-duration:0ms]")}):null,W]}),...q}})});
@@ -1 +1 @@
1
- "use client";import{jsx as e}from"react/jsx-runtime";import*as t from"react";import{useRender as r}from"@base-ui/react/use-render";import{boxPaddingXClasses as a,boxPaddingYClasses as o}from"../box/Box.js";import{PageLayoutContext as n,PageLayoutSlotContext as s}from"../../internal/page-layout.js";import{cx as i,measureValue as l,surfaceClasses as m,surfaceSlots as f,transitionClasses as d}from"../../internal/styles.js";import{responsiveSlots as c}from"../../internal/responsive.js";import{useStyleDefaults as p}from"../../internal/defaults.js";const b={solid:[m,"text-(--neba-fg) bg-(--n-panel-press)","[box-shadow:var(--n-elev),var(--neba-plate-solid)]"].join(" "),outline:[m,"text-(--neba-fg) bg-(--n-panel)","[box-shadow:var(--n-elev),var(--neba-plate-glass)]"].join(" "),text:"text-(--neba-fg) bg-transparent"},x={static:"",sticky:"sticky bottom-0 z-30",fixed:"fixed inset-x-0 bottom-0 z-40"};export const Footer=/*@__PURE__*/t.forwardRef(function Footer(m,u){const{position:v="static",safeArea:y=!0,variant:g="outline",size:j="md",color:w="primary",density:h="default",elevation:z=0,divider:k=!0,maxWidth:C,padded:N=!0,label:F,render:A,className:B,style:R,children:W,...q}=p(m,["size","density","variant"]),D=t.useContext(n),{register:E}=D,G="footer"===t.useContext(s),H=t.useCallback(e=>{G&&E("footer",e),"function"==typeof u?u(e):u&&(u.current=e)},[E,u,G,v]),I=i("w-full min-w-0",b[g],k?"border-t [border-color:var(--n-line)]":"",x[v],y&&"static"!==v?"pb-[env(safe-area-inset-bottom)]":"",d,B);return r({render:A??e("footer",{}),ref:H,props:{"aria-label":F,className:I,style:{...f(w,z),...R},children:e("div",{className:i("w-full",N?i(a[h][j],o[h][j]):"","neba-measure mx-auto max-w-(--n-max-w)"),style:c("max-w",C,l),children:W}),...q}})});
1
+ "use client";import{jsx as e}from"react/jsx-runtime";import*as t from"react";import{useRender as r}from"@base-ui/react/use-render";import{boxPaddingXClasses as a,boxPaddingYClasses as o}from"../box/Box.js";import{useBarRef as s}from"../../internal/page-layout.js";import{cx as n,measureValue as i,surfaceClasses as l,surfaceSlots as m,transitionClasses as d}from"../../internal/styles.js";import{responsiveSlots as f}from"../../internal/responsive.js";import{useStyleDefaults as p}from"../../internal/defaults.js";const b={solid:l+" text-(--neba-fg) bg-(--n-panel-press) [box-shadow:var(--n-elev),var(--neba-plate-solid)]",outline:l+" text-(--neba-fg) bg-(--n-panel) [box-shadow:var(--n-elev),var(--neba-plate-glass)]",text:"text-(--neba-fg) bg-transparent"},c={static:"",sticky:"sticky bottom-0 z-30",fixed:"fixed inset-x-0 bottom-0 z-40"};export const Footer=/*@__PURE__*/t.forwardRef(function Footer(t,l){const{position:x="static",safeArea:u=!0,variant:v="outline",size:y="md",color:w="primary",density:g="default",elevation:j=0,divider:h=!0,maxWidth:z,padded:N=!0,label:k,render:F,className:A,style:B,children:R,...W}=p(t,["size","density","variant"]),q=s("footer",l,x),C=n("w-full min-w-0",b[v],h?"border-t [border-color:var(--n-line)]":"",c[x],u&&"static"!==x?"pb-[env(safe-area-inset-bottom)]":"",d,A);return r({render:F??e("footer",{}),ref:q,props:{"aria-label":k,className:C,style:{...m(w,j),...B},children:e("div",{className:n("w-full",N?n(a[g][y],o[g][y]):"","neba-measure mx-auto max-w-(--n-max-w)"),style:f("max-w",z,i),children:R}),...W}})});
@@ -1 +1 @@
1
- "use client";import{jsx as e,jsxs as t,Fragment as i}from"react/jsx-runtime";import*as o from"react";import{Image as r}from"../image/Image.js";import{breakpoints as a,hiddenBelowClasses as l,hiddenFromClasses as n,responsiveSlots as s,valueAt as u,withBaseline as c}from"../../internal/responsive.js";import{useBreakpointValue as d}from"../../hooks/useMediaQuery.js";import{useHydrated as m}from"../../internal/media.js";import{fillMessage as p,galleryMessages as f,useMessages as h}from"../../internal/i18n.js";import{cx as g,hasContent as x,metaTextClasses as b,radiusClasses as v,sheetTitleClasses as w,toLength as y,transitionClasses as j}from"../../internal/styles.js";import{useStyleDefaults as N}from"../../internal/defaults.js";let k;export const viewerChunk={load:()=>(k??=import("./GalleryViewer.js").then(e=>({default:e.GalleryViewer})).catch(e=>{throw k=void 0,e}),k)};const M=o.lazy(()=>viewerChunk.load()),$={xs:2,sm:3,lg:4},S={xs:"0.25rem",sm:"0.375rem",md:"0.5rem",lg:"0.75rem",xl:"1rem"};function _(e,t){if(void 0===e)return t;if("number"==typeof e)return e>0?e:t;const[i,o]=e.split("/"),r=void 0===o?Number(i):Number(i)/Number(o);return Number.isFinite(r)&&r>0?r:t}export function isSideways(e){return Math.abs(Math.round((e.rotate??0)/90))%2==1}export function shownRatioOf(e,t){const i=_(e.ratio,t);return void 0!==e.ratio&&isSideways(e)?1/i:i}const z={none:"",lift:"group-hover/tile:[box-shadow:var(--neba-shadow-2)] group-has-[:focus-visible]/tile:[box-shadow:var(--neba-shadow-2)] supports-[not_selector(:has(*))]:group-focus-within/tile:[box-shadow:var(--neba-shadow-2)]",dim:"",zoom:""},R={none:"",lift:"",dim:"group-hover/tile:[filter:brightness(0.82)] group-has-[:focus-visible]/tile:[filter:brightness(0.82)] supports-[not_selector(:has(*))]:group-focus-within/tile:[filter:brightness(0.82)]",zoom:"group-hover/tile:[transform:scale(1.06)] group-has-[:focus-visible]/tile:[transform:scale(1.06)] supports-[not_selector(:has(*))]:group-focus-within/tile:[transform:scale(1.06)]"};export const Gallery=/*@__PURE__*/o.forwardRef(function Gallery(k,C){const{items:q,layout:F="grid",columns:G,gap:A="md",ratio:I=1,rowHeight:O=220,rounded:E="md",fit:T="cover",letterbox:P,loading:V="lazy",priority:B=0,caption:H="none",hover:Q="lift",preview:W=!1,onItemSelect:D,filter:J,frame:K,watermark:L,protect:U=!1,label:X,locale:Y,empty:Z,className:ee,classNames:te,style:ie,onPointerEnter:oe,onFocus:re,onTouchStart:ae,...le}=N(k,["locale"]),ne=h(f,Y),se=o.useId(),[ue,ce]=o.useState(null),[de,me]=o.useState(!1),pe=o.useRef(!1),fe=()=>{W&&!pe.current&&(pe.current=!0,viewerChunk.load().catch(()=>{}))},he=c(G??$,2),ge=Math.max(1,d(he)??2),xe=m(),be="string"==typeof A&&A in S?S[A]:y(A)??S.md,ve=!1===E?"":v[!0===E?"md":E],we=_(I,1),ye=(o,a,l)=>{const n=x(o.title)||x(o.description),s="none"!==H&&n,u="overlay"===H||"hover"===H,c=`${se}-${a}-title`,d=`${se}-${a}-description`,m=`${se}-${a}-position`,f=p(ne.item,{index:String(a+1),total:String(q.length)}),h=a<B,v=e(r,{src:o.src,srcSet:o.srcSet,sizes:o.sizes,alt:o.alt,ratio:"grid"===F?I:"quilted"===F?"auto":void 0!==o.ratio&&isSideways(o)?shownRatioOf(o,we):o.ratio??I,fit:T,position:o.position,letterbox:P,rotate:o.rotate,flip:o.flip,placeholder:o.placeholder,loading:h?void 0:V,priority:h,rounded:!1,filter:J,frame:K,watermark:L,protect:U,className:g("size-full",te?.image),classNames:{image:g("motion-reduce:[transition-duration:0ms]",R[Q])}}),y=s?t("span",{className:g("min-w-0",u?g("pointer-events-none absolute inset-x-0 bottom-0 flex flex-col gap-0.5 p-2.5 text-white","[background:linear-gradient(to_top,color-mix(in_oklab,#000_72%,transparent),transparent)]","hover"===H?"opacity-0 group-hover/tile:opacity-100 group-has-[:focus-visible]/tile:opacity-100 supports-[not_selector(:has(*))]:group-focus-within/tile:opacity-100 [@media(hover:none)]:opacity-100 [transition:opacity_var(--neba-duration-fill)_var(--neba-ease)]":""):"flex flex-col gap-0.5 pt-1.5",te?.caption),children:[x(o.title)?e("span",{id:c,className:g("truncate font-medium",w.sm,u?"":"text-(--neba-fg)",te?.title),children:o.title}):null,x(o.description)?e("span",{id:d,className:g("truncate",b.md,u?"text-white/80":"text-(--neba-muted-fg)",te?.description),children:o.description}):null]}):null,N=t("span",{className:g("relative block overflow-hidden",ve,"quilted"===F||"justified"===F?"size-full":"","[transition:box-shadow_var(--neba-duration)_var(--neba-ease)]",z[Q]),children:[v,u?y:null]}),k=u||!s?N:t(i,{children:[N,y]});return e("li",{className:g("group/tile relative m-0 min-w-0 list-none","justified"===F?"flex flex-col":"",te?.item),style:l,children:W||D?t("button",{type:"button","aria-label":s?void 0:`${o.alt} — ${f}`,"aria-labelledby":s?`${x(o.title)?c:d} ${m}`:void 0,"aria-haspopup":W?"dialog":void 0,"aria-describedby":s&&x(o.title)&&x(o.description)?d:void 0,className:g("block w-full text-start",W?"cursor-zoom-in":"cursor-pointer",j,"focus-visible:[outline:2px_solid_var(--n-ring,var(--neba-primary-ring))] focus-visible:[outline-offset:2px]",ve,"justified"===F?"flex-1":""),onClick:()=>(e=>{D?.(q[e],e),W&&(me(!0),ce(e))})(a),children:[k,s?e("span",{id:m,hidden:!0,children:f}):null]}):k},o.id??o.src)},je=g("neba-gallery m-0 list-none p-0","justified"===F?"neba-gallery-justified flex flex-wrap":"","masonry"===F?"flex items-start":"","grid"===F||"quilted"===F?"grid":"",ee??""),Ne={gap:be,...s("cols",he,e=>String(Math.max(1,Math.round(e)))),..."grid"===F||"quilted"===F?{gridTemplateColumns:"repeat(var(--n-cols), minmax(0, 1fr))"}:null,..."quilted"===F?{gridAutoRows:`${O}px`,gridAutoFlow:"dense"}:null,...ie};let ke;if("masonry"===F){const t=q.map(e=>shownRatioOf(e,we)),i=(i,o)=>function(e,t){const i=Array.from({length:t},()=>[]),o=new Array(t).fill(0);return e.forEach((e,r)=>{let a=0;for(let e=1;e<t;e+=1)o[e]<o[a]&&(a=e);i[a].push(r),o[a]+=1/e}),i}(t,i).map((t,r)=>e("li",{className:g("m-0 flex min-w-0 flex-1 list-none flex-col",o),style:{gap:be},children:e("ul",{className:"m-0 flex list-none flex-col p-0",style:{gap:be},children:t.map(e=>ye(q[e],e,{}))})},`${i}-${r}`)),o=a.map(e=>({breakpoint:e,count:Math.max(1,Math.round(u(he,e)??2))})),r=o.filter((e,t)=>0===t||e.count!==o[t-1].count);ke=xe||1===r.length?i(Math.max(1,Math.round(ge)),""):r.flatMap((e,t)=>{const o=r[t+1];return i(e.count,g(l[e.breakpoint],o?n[o.breakpoint]:""))})}else ke="justified"===F?q.map((e,t)=>{const i=shownRatioOf(e,we);return ye(e,t,{flexGrow:i,flexBasis:i*O+"px",maxWidth:"100%"})}):q.map((e,t)=>ye(e,t,"quilted"===F?{gridColumn:`span ${Math.max(1,Math.round(e.cols??1))}`,gridRow:`span ${Math.max(1,Math.round(e.rows??1))}`}:{}));return 0===q.length&&x(Z)?e(i,{children:Z}):t(i,{children:[e("ul",{ref:C,role:"list","aria-label":X??ne.label,className:je,style:Ne,...le,onPointerEnter:e=>{fe(),oe?.(e)},onFocus:e=>{fe(),re?.(e)},onTouchStart:e=>{fe(),ae?.(e)},children:ke}),W&&de?e(o.Suspense,{fallback:null,children:e(M,{items:q,index:ue,onIndexChange:ce,locale:Y,watermark:L,protect:U,messages:ne})}):null]})});
1
+ "use client";import{jsx as e,jsxs as t,Fragment as i}from"react/jsx-runtime";import*as o from"react";import{Image as r}from"../image/Image.js";import{breakpoints as a,hiddenBelowClasses as l,hiddenFromClasses as n,responsiveSlots as s,valueAt as c,withBaseline as u}from"../../internal/responsive.js";import{useBreakpointValue as d}from"../../hooks/useMediaQuery.js";import{useHydrated as m}from"../../internal/media.js";import{fillMessage as p,galleryMessages as f,useMessages as h}from"../../internal/i18n.js";import{cx as g,hasContent as b,metaTextClasses as x,radiusClasses as v,sheetTitleClasses as w,toLength as y,transitionClasses as k}from"../../internal/styles.js";import{useStyleDefaults as j}from"../../internal/defaults.js";let M;export const viewerChunk={load:()=>(M??=import("./GalleryViewer.js").then(e=>({default:e.GalleryViewer})).catch(e=>{throw M=void 0,e}),M)};const N=o.lazy(()=>viewerChunk.load()),$={xs:2,sm:3,lg:4},S={xs:"0.25rem",sm:"0.375rem",md:"0.5rem",lg:"0.75rem",xl:"1rem"};function _(e,t){if(void 0===e)return t;if("number"==typeof e)return e>0?e:t;const[i,o]=e.split("/"),r=void 0===o?Number(i):Number(i)/Number(o);return Number.isFinite(r)&&r>0?r:t}export function isSideways(e){return Math.abs(Math.round((e.rotate??0)/90))%2==1}export function shownRatioOf(e,t){const i=_(e.ratio,t);return void 0!==e.ratio&&isSideways(e)?1/i:i}const R={none:"",lift:"group-hover/tile:[box-shadow:var(--neba-shadow-2)] group-has-[:focus-visible]/tile:[box-shadow:var(--neba-shadow-2)] supports-[not_selector(:has(*))]:group-focus-within/tile:[box-shadow:var(--neba-shadow-2)]",dim:"",zoom:""},z={none:"",lift:"",dim:"group-hover/tile:[filter:brightness(0.82)] group-has-[:focus-visible]/tile:[filter:brightness(0.82)] supports-[not_selector(:has(*))]:group-focus-within/tile:[filter:brightness(0.82)]",zoom:"group-hover/tile:[transform:scale(1.06)] group-has-[:focus-visible]/tile:[transform:scale(1.06)] supports-[not_selector(:has(*))]:group-focus-within/tile:[transform:scale(1.06)]"};function MasonryLanes({items:t,lanes:i,fallbackRatio:o,space:r,tile:s}){const u=Math.max(1,d(i)??2),p=m(),f=t.map(e=>shownRatioOf(e,o)),h=(i,o)=>function(e,t){const i=Array.from({length:t},()=>[]),o=new Array(t).fill(0);return e.forEach((e,r)=>{let a=0;for(let e=1;e<t;e+=1)o[e]<o[a]&&(a=e);i[a].push(r),o[a]+=1/e}),i}(f,i).map((a,l)=>e("li",{className:g("m-0 flex min-w-0 flex-1 list-none flex-col",o),style:{gap:r},children:e("ul",{className:"m-0 flex list-none flex-col p-0",style:{gap:r},children:a.map(e=>s(t[e],e,{}))})},`${i}-${l}`)),b=a.map(e=>({breakpoint:e,count:Math.max(1,Math.round(c(i,e)??2))})),x=b.filter((e,t)=>0===t||e.count!==b[t-1].count);return p||1===x.length?h(Math.max(1,Math.round(u)),""):x.flatMap((e,t)=>{const i=x[t+1];return h(e.count,g(l[e.breakpoint],i?n[i.breakpoint]:""))})}export const Gallery=/*@__PURE__*/o.forwardRef(function Gallery(a,l){const{items:n,layout:c="grid",columns:d,gap:m="md",ratio:M=1,rowHeight:C=220,rounded:q="md",fit:F="cover",letterbox:G,loading:A="lazy",priority:I=0,caption:O="none",hover:E="lift",preview:T=!1,onItemSelect:L,filter:P,frame:V,watermark:B,protect:H=!1,label:Q,locale:W,empty:D,className:J,classNames:K,style:U,onPointerEnter:X,onFocus:Y,onTouchStart:Z,...ee}=j(a,["locale"]),te=h(f,W),ie=o.useId(),[oe,re]=o.useState(null),[ae,le]=o.useState(!1),ne=o.useRef(!1),se=()=>{T&&!ne.current&&(ne.current=!0,viewerChunk.load().catch(()=>{}))},ce=u(d??$,2),ue="string"==typeof m&&m in S?S[m]:y(m)??S.md,de=!1===q?"":v[!0===q?"md":q],me=_(M,1),pe=(o,a,l)=>{const s=b(o.title)||b(o.description),u="none"!==O&&s,d="overlay"===O||"hover"===O,m=`${ie}-${a}-title`,f=`${ie}-${a}-description`,h=`${ie}-${a}-position`,v=p(te.item,{index:String(a+1),total:String(n.length)}),y=a<I,j=e(r,{src:o.src,srcSet:o.srcSet,sizes:o.sizes,alt:o.alt,ratio:"grid"===c?M:"quilted"===c?"auto":void 0!==o.ratio&&isSideways(o)?shownRatioOf(o,me):o.ratio??M,fit:F,position:o.position,letterbox:G,rotate:o.rotate,flip:o.flip,placeholder:o.placeholder,loading:y?void 0:A,priority:y,rounded:!1,filter:P,frame:V,watermark:B,protect:H,className:g("size-full",K?.image),classNames:{image:g("motion-reduce:[transition-duration:0ms]",z[E])}}),N=u?t("span",{className:g("min-w-0",d?g("pointer-events-none absolute inset-x-0 bottom-0 flex flex-col gap-0.5 p-2.5 text-white","[background:linear-gradient(to_top,color-mix(in_oklab,#000_72%,transparent),transparent)]","hover"===O?"opacity-0 group-hover/tile:opacity-100 group-has-[:focus-visible]/tile:opacity-100 supports-[not_selector(:has(*))]:group-focus-within/tile:opacity-100 [@media(hover:none)]:opacity-100 [transition:opacity_var(--neba-duration-fill)_var(--neba-ease)]":""):"flex flex-col gap-0.5 pt-1.5",K?.caption),children:[b(o.title)?e("span",{id:m,className:g("truncate font-medium",w.sm,d?"":"text-(--neba-fg)",K?.title),children:o.title}):null,b(o.description)?e("span",{id:f,className:g("truncate",x.md,d?"text-white/80":"text-(--neba-muted-fg)",K?.description),children:o.description}):null]}):null,$=t("span",{className:g("relative block overflow-hidden",de,"quilted"===c||"justified"===c?"size-full":"","[transition:box-shadow_var(--neba-duration)_var(--neba-ease)]",R[E]),children:[j,d?N:null]}),S=d||!u?$:t(i,{children:[$,N]});return e("li",{className:g("group/tile relative m-0 min-w-0 list-none","justified"===c?"flex flex-col":"",K?.item),style:l,children:T||L?t("button",{type:"button","aria-label":u?void 0:`${o.alt} — ${v}`,"aria-labelledby":u?`${b(o.title)?m:f} ${h}`:void 0,"aria-haspopup":T?"dialog":void 0,"aria-describedby":u&&b(o.title)&&b(o.description)?f:void 0,className:g("block w-full text-start",T?"cursor-zoom-in":"cursor-pointer",k,"focus-visible:[outline:2px_solid_var(--n-ring,var(--neba-primary-ring))] focus-visible:[outline-offset:2px]",de,"justified"===c?"flex-1":""),onClick:()=>(e=>{L?.(n[e],e),T&&(le(!0),re(e))})(a),children:[S,u?e("span",{id:h,hidden:!0,children:v}):null]}):S},o.id??o.src)},fe=g("neba-gallery m-0 list-none p-0","justified"===c?"neba-gallery-justified flex flex-wrap":"","masonry"===c?"flex items-start":"","grid"===c||"quilted"===c?"grid":"",J??""),he={gap:ue,...s("cols",ce,e=>String(Math.max(1,Math.round(e)))),..."grid"===c||"quilted"===c?{gridTemplateColumns:"repeat(var(--n-cols), minmax(0, 1fr))"}:null,..."quilted"===c?{gridAutoRows:`${C}px`,gridAutoFlow:"dense"}:null,...U};let ge;return ge="masonry"===c?e(MasonryLanes,{items:n,lanes:ce,fallbackRatio:me,space:ue,tile:pe}):"justified"===c?n.map((e,t)=>{const i=shownRatioOf(e,me);return pe(e,t,{flexGrow:i,flexBasis:i*C+"px",maxWidth:"100%"})}):n.map((e,t)=>pe(e,t,"quilted"===c?{gridColumn:`span ${Math.max(1,Math.round(e.cols??1))}`,gridRow:`span ${Math.max(1,Math.round(e.rows??1))}`}:{})),0===n.length&&b(D)?e(i,{children:D}):t(i,{children:[e("ul",{ref:l,role:"list","aria-label":Q??te.label,className:fe,style:he,...ee,onPointerEnter:e=>{se(),X?.(e)},onFocus:e=>{se(),Y?.(e)},onTouchStart:e=>{se(),Z?.(e)},children:ge}),T&&ae?e(o.Suspense,{fallback:null,children:e(N,{items:n,index:oe,onIndexChange:re,locale:W,watermark:B,protect:H,messages:te})}):null]})});
@@ -1 +1 @@
1
- "use client";import{jsx as t,jsxs as a,Fragment as e}from"react/jsx-runtime";import*as n from"react";import{ChartSurface as r,useMeasuredWidth as l,chartHeight as s,useMeasuredHeight as i}from"../../internal/chart-frame.js";import{arcPath as o,chartFontSizes as m,compactNumber as h,ringPath as c,textWidth as f,truncate as u}from"../../internal/chart.js";import{numberFormatter as d}from"../../internal/format.js";import{emptyMessages as x,useMessages as p}from"../../internal/i18n.js";import{thresholdColor as M}from"../../internal/progress.js";import{cx as g,hasContent as b,metaTextClasses as v}from"../../internal/styles.js";import{useStyleDefaults as y}from"../../internal/defaults.js";import{useIntlLocale as j}from"../../internal/media.js";function N(t,a,e,n){const r=(n-90)*Math.PI/180;return[t+e*Math.cos(r),a+e*Math.sin(r)]}export function GaugeChart(k){const{value:w,min:z=0,max:S=100,sweep:$=180,thickness:W=.22,thresholds:q,ticks:A=!1,showRange:B=!0,center:C,caption:D,height:I,format:L,locale:P,label:R,empty:F,size:G="md",variant:Y="text",color:E="primary",padded:H=!1,className:J,...K}=y(k,["size","variant","locale"]),O=n.useRef(null),Q=l(O),T=p(x,P),U=j(P),V=n.useCallback(t=>L?d(U,L).format(t):h(t,U),[L,U]),X=Math.max(1,Math.min(360,$)),Z=X/2,_=-Z,tt=Z,at=S-z,et=null===w||Number.isNaN(w)||0===at?null:Math.min(1,Math.max(0,(w-z)/at)),nt=null===w?E:M(w,E,q),rt=i(O,"string"==typeof I),lt=s(I,G,rt),st=m[G],it=Math.min(.9,Math.max(.05,W)),ot=Z*Math.PI/180,mt=X>=360?1:Math.max(0,-Math.cos(ot)),ht=X>=180?1:Math.sin(ot),ct=Math.sin(ot),ft=-Math.cos(ot),ut=B&&X<330?[z,S].map(t=>u(V(t),Math.max(0,.28*Q),st)):[],dt=ut.reduce((t,a)=>Math.max(t,f(a,st)),0),xt=.35*st,pt=!1===A?0:.85*st,Mt=ft<=.25,gt=Mt?0:.5*st,bt=Mt?st:st*(.35+.55*ft),vt=ut.length>0?ft*gt+bt+.25*st:0,yt=Math.max(xt,pt),jt=Math.max(xt,pt),Nt=Math.max(xt,pt,vt),kt=[(Q/2-yt)/Math.max(.05,ht),(lt-jt-Nt)/(1+mt)];if(dt>0&&ct>.05){const t=Mt?dt/2:dt;kt.push(Math.max(0,Q/2-xt-t)/ct-gt)}const wt=Math.max(0,Math.min(...kt)),zt=wt*(1-it),St=Q/2,$t=jt+wt*(1+mt)+Nt,Wt=jt+wt+Math.max(0,(lt-$t)/2),qt=Q>0,At=0===at||qt&&wt<=0,Bt=b(D)?1.85*st:0,Ct=Wt-zt*(1-Math.min(1,mt))/2,Dt=Math.min(zt,Math.abs(Wt-Ct)),It=Math.min(zt,Math.abs(Wt-Ct-Bt/2)),Lt=2*Math.sqrt(Math.max(0,zt*zt-It*It)),Pt=C??(null===w?"—":V(w)),Rt="string"==typeof Pt?f(Pt,1):0,Ft=Rt>0?Math.max(st,Math.min(2*st,function(t,a,e,n,r){const l=t*t/(4*r*r)+n*n,s=2*a*n,i=a*a-e*e;return l<=0||i>=0?0:(Math.sqrt(s*s-4*l*i)-s)/(2*l)}(Rt,Dt,zt,.42,.86))):2*st,Gt=!1===A?0:Math.max(2,Math.floor(A));return t(r,{...K,variant:Y,color:E,size:G,padded:H,legendSide:"bottom",className:J,legend:null,table:null,children:t("div",{ref:O,className:"relative w-full",style:{height:"string"==typeof I?I:lt},...void 0===R?{}:null===et||null===w?{role:"img","aria-label":R}:{role:"meter","aria-label":R,"aria-valuenow":w,"aria-valuemin":z,"aria-valuemax":S,"aria-valuetext":["string"==typeof Pt||"number"==typeof Pt?String(Pt):V(w),"string"==typeof D||"number"==typeof D?String(D):""].filter(Boolean).join(" ")},children:At?t("div",{className:g("flex h-full items-center justify-center text-(--neba-muted-fg)",v[G]),children:F??T.title}):qt?a(e,{children:[a("svg",{width:Q,height:lt,viewBox:`0 0 ${Q} ${lt}`,"aria-hidden":"true",className:"block",children:[t("path",{d:o(St,Wt,wt,zt,_,tt),fill:`var(--neba-${E}-soft)`}),null!==et?t("path",{d:c(St,Wt,(wt+zt)/2,_,tt),fill:"none",stroke:`var(--neba-${nt}-fill)`,strokeWidth:wt-zt,pathLength:"1",strokeDasharray:"1",strokeDashoffset:1-et,style:{transition:"stroke-dashoffset var(--neba-duration-fill) var(--neba-ease), stroke var(--neba-duration) var(--neba-ease)"}}):null,Gt>0?Array.from({length:Gt},(a,e)=>{const n=_+X*e/(Gt-1),[r,l]=N(St,Wt,wt+.25*st,n),[s,i]=N(St,Wt,wt+.6*st,n);return t("line",{x1:r,y1:l,x2:s,y2:i,stroke:"var(--neba-chart-grid)",strokeWidth:1,strokeLinecap:"round"},e)}):null,ut.length>0?[[ut[0],_,"start"],[ut[1],tt,"end"]].map(([a,e,n])=>{const[r,l]=N(St,Wt,wt+gt,e);return t("text",{x:r,y:l+bt,textAnchor:Mt?"middle":"start"===n?"end":"start",fontSize:st,fill:"var(--neba-muted-fg)",children:a},n)}):null]}),a("div",{className:"pointer-events-none absolute inset-x-0 mx-auto flex flex-col items-center gap-0.5 text-center",style:{top:Ct+Bt/2,maxWidth:Lt,transform:"translateY(-50%)"},children:[t("span",{className:"font-semibold tabular-nums text-(--neba-fg)",style:{fontSize:Ft},children:Pt}),D?t("span",{className:g("text-(--neba-muted-fg)",v[G]),children:D}):null]})]}):a("div",{className:"flex h-full flex-col items-center justify-center gap-0.5 text-center",children:[t("span",{className:"font-semibold tabular-nums text-(--neba-fg)",style:{fontSize:2*st},children:Pt}),D?t("span",{className:g("text-(--neba-muted-fg)",v[G]),children:D}):null]})})})}
1
+ "use client";import{jsx as t,jsxs as a,Fragment as e}from"react/jsx-runtime";import*as n from"react";import{ChartSurface as r,useMeasuredWidth as l,chartHeight as i,initialWidthFor as s,useMeasuredHeight as o}from"../../internal/chart-frame.js";import{arcPath as m,chartFontSizes as h,compactNumber as c,ringPath as f,textWidth as u,truncate as d}from"../../internal/chart.js";import{numberFormatter as x}from"../../internal/format.js";import{emptyMessages as p,useMessages as M}from"../../internal/i18n.js";import{thresholdColor as g}from"../../internal/progress.js";import{cx as b,hasContent as v,metaTextClasses as y}from"../../internal/styles.js";import{useStyleDefaults as j}from"../../internal/defaults.js";import{useIntlLocale as N}from"../../internal/media.js";function k(t,a,e,n){const r=(n-90)*Math.PI/180;return[t+e*Math.cos(r),a+e*Math.sin(r)]}export function GaugeChart(w){const{value:z,min:S=0,max:W=100,sweep:$=180,thickness:q=.22,thresholds:A,ticks:B=!1,showRange:C=!0,center:D,caption:I,height:L,initialWidth:P,format:R,locale:F,label:G,empty:Y,size:E="md",variant:H="text",color:J="primary",padded:K=!1,className:O,...Q}=j(w,["size","variant","locale"]),T=n.useRef(null),U=l(T,{initial:s(P,L)}),V=M(p,F),X=N(F),Z=n.useCallback(t=>R?x(X,R).format(t):c(t,X),[R,X]),_=Math.max(1,Math.min(360,$)),tt=_/2,at=-tt,et=tt,nt=W-S,rt=null===z||Number.isNaN(z)||0===nt?null:Math.min(1,Math.max(0,(z-S)/nt)),lt=null===z?J:g(z,J,A),it=o(T,"string"==typeof L),st=i(L,E,it),ot=h[E],mt=Math.min(.9,Math.max(.05,q)),ht=tt*Math.PI/180,ct=_>=360?1:Math.max(0,-Math.cos(ht)),ft=_>=180?1:Math.sin(ht),ut=Math.sin(ht),dt=-Math.cos(ht),xt=C&&_<330?[S,W].map(t=>d(Z(t),Math.max(0,.28*U),ot)):[],pt=xt.reduce((t,a)=>Math.max(t,u(a,ot)),0),Mt=.35*ot,gt=!1===B?0:.85*ot,bt=dt<=.25,vt=bt?0:.5*ot,yt=bt?ot:ot*(.35+.55*dt),jt=xt.length>0?dt*vt+yt+.25*ot:0,Nt=Math.max(Mt,gt),kt=Math.max(Mt,gt),wt=Math.max(Mt,gt,jt),zt=[(U/2-Nt)/Math.max(.05,ft),(st-kt-wt)/(1+ct)];if(pt>0&&ut>.05){const t=bt?pt/2:pt;zt.push(Math.max(0,U/2-Mt-t)/ut-vt)}const St=Math.max(0,Math.min(...zt)),Wt=St*(1-mt),$t=U/2,qt=kt+St*(1+ct)+wt,At=kt+St+Math.max(0,(st-qt)/2),Bt=U>0,Ct=0===nt||Bt&&St<=0,Dt=v(I)?1.85*ot:0,It=At-Wt*(1-Math.min(1,ct))/2,Lt=Math.min(Wt,Math.abs(At-It)),Pt=Math.min(Wt,Math.abs(At-It-Dt/2)),Rt=2*Math.sqrt(Math.max(0,Wt*Wt-Pt*Pt)),Ft=D??(null===z?"—":Z(z)),Gt="string"==typeof Ft?u(Ft,1):0,Yt=Gt>0?Math.max(ot,Math.min(2*ot,function(t,a,e,n,r){const l=t*t/(4*r*r)+n*n,i=2*a*n,s=a*a-e*e;return l<=0||s>=0?0:(Math.sqrt(i*i-4*l*s)-i)/(2*l)}(Gt,Lt,Wt,.42,.86))):2*ot,Et=!1===B?0:Math.max(2,Math.floor(B));return t(r,{...Q,variant:H,color:J,size:E,padded:K,legendSide:"bottom",className:O,legend:null,table:null,children:t("div",{ref:T,className:"relative w-full",style:{height:"string"==typeof L?L:st},...void 0===G?{}:null===rt||null===z?{role:"img","aria-label":G}:{role:"meter","aria-label":G,"aria-valuenow":z,"aria-valuemin":S,"aria-valuemax":W,"aria-valuetext":["string"==typeof Ft||"number"==typeof Ft?String(Ft):Z(z),"string"==typeof I||"number"==typeof I?String(I):""].filter(Boolean).join(" ")},children:Ct?t("div",{className:b("flex h-full items-center justify-center text-(--neba-muted-fg)",y[E]),children:Y??V.title}):Bt?a(e,{children:[a("svg",{width:U,height:st,viewBox:`0 0 ${U} ${st}`,"aria-hidden":"true",className:"block",children:[t("path",{d:m($t,At,St,Wt,at,et),fill:`var(--neba-${J}-soft)`}),null!==rt?t("path",{d:f($t,At,(St+Wt)/2,at,et),fill:"none",stroke:`var(--neba-${lt}-fill)`,strokeWidth:St-Wt,pathLength:"1",strokeDasharray:"1",strokeDashoffset:1-rt,style:{transition:"stroke-dashoffset var(--neba-duration-fill) var(--neba-ease), stroke var(--neba-duration) var(--neba-ease)"}}):null,Et>0?Array.from({length:Et},(a,e)=>{const n=at+_*e/(Et-1),[r,l]=k($t,At,St+.25*ot,n),[i,s]=k($t,At,St+.6*ot,n);return t("line",{x1:r,y1:l,x2:i,y2:s,stroke:"var(--neba-chart-grid)",strokeWidth:1,strokeLinecap:"round"},e)}):null,xt.length>0?[[xt[0],at,"start"],[xt[1],et,"end"]].map(([a,e,n])=>{const[r,l]=k($t,At,St+vt,e);return t("text",{x:r,y:l+yt,textAnchor:bt?"middle":"start"===n?"end":"start",fontSize:ot,fill:"var(--neba-muted-fg)",children:a},n)}):null]}),a("div",{className:"pointer-events-none absolute inset-x-0 mx-auto flex flex-col items-center gap-0.5 text-center",style:{top:It+Dt/2,maxWidth:Rt,transform:"translateY(-50%)"},children:[t("span",{className:"font-semibold tabular-nums text-(--neba-fg)",style:{fontSize:Yt},children:Ft}),I?t("span",{className:b("text-(--neba-muted-fg)",y[E]),children:I}):null]})]}):a("div",{className:"flex h-full flex-col items-center justify-center gap-0.5 text-center",children:[t("span",{className:"font-semibold tabular-nums text-(--neba-fg)",style:{fontSize:2*ot},children:Ft}),I?t("span",{className:b("text-(--neba-muted-fg)",y[E]),children:I}):null]})})})}
@@ -1 +1 @@
1
- "use client";import{jsx as e,jsxs as t}from"react/jsx-runtime";import*as a from"react";import{useRender as r}from"@base-ui/react/use-render";import{boxPaddingXClasses as n}from"../box/Box.js";import{PageLayoutContext as s,PageLayoutSlotContext as i}from"../../internal/page-layout.js";import{cx as l,hasContent as m,measureValue as o,surfaceClasses as d,surfaceSlots as c,transitionClasses as x}from"../../internal/styles.js";import{responsiveSlots as f}from"../../internal/responsive.js";import{useStyleDefaults as p}from"../../internal/defaults.js";const u={xs:"min-h-10",sm:"min-h-12",md:"min-h-14",lg:"min-h-16",xl:"min-h-20"},g={xs:"gap-1.5",sm:"gap-2",md:"gap-3",lg:"gap-4",xl:"gap-5"},h={xs:"gap-3",sm:"gap-4",md:"gap-6",lg:"gap-8",xl:"gap-10"},b={solid:[d,"text-(--neba-fg) bg-(--n-panel-press)","[box-shadow:var(--n-elev),var(--neba-plate-solid)]"].join(" "),outline:[d,"text-(--neba-fg) bg-(--n-panel)","[box-shadow:var(--n-elev),var(--neba-plate-glass)]"].join(" "),text:"text-(--neba-fg) bg-transparent"},v={static:"",sticky:"sticky top-0 z-30",fixed:"fixed inset-x-0 top-0 z-40"},y={start:"shrink-0",center:"flex-1 basis-0",end:"shrink-0"},j={start:"flex min-w-0 flex-1 items-center justify-start",center:"flex min-w-0 shrink items-center justify-center",end:"flex min-w-0 flex-1 items-center justify-end"};export const Header=/*@__PURE__*/a.forwardRef(function Header(d,w){const{brand:N,actions:k,align:z="start",position:C="sticky",variant:H="outline",size:B="md",color:R="primary",density:W="default",elevation:q=0,divider:A=!0,maxWidth:D,padded:E=!0,label:F,render:G,className:I,style:J,children:K,...L}=p(d,["size","density","variant"]),M=a.useContext(s),{register:O}=M,P="header"===a.useContext(i),Q=a.useCallback(e=>{P&&O("header",e),"function"==typeof w?w(e):w&&(w.current=e)},[O,w,P,C]),S=l("w-full min-w-0",b[H],A?"border-b [border-color:var(--n-line)]":"",v[C],x,I);return r({render:G??e("header",{}),ref:Q,props:{"aria-label":F,className:S,style:{...c(R,q),...J},children:t("div",{className:l("flex w-full items-center",u[B],h[B],E?n[W][B]:"","neba-measure mx-auto max-w-(--n-max-w)"),style:f("max-w",D,o),children:[m(N)?e("div",{className:l("flex min-w-0 items-center",y[z],g[B]),children:N}):"center"===z?e("div",{"aria-hidden":"true",className:y[z]}):null,m(K)?e("div",{className:l(j[z],g[B]),children:K}):null,m(k)?e("div",{className:l("flex min-w-0 items-center justify-end",y[z],g[B]),children:k}):"center"===z?e("div",{"aria-hidden":"true",className:y[z]}):null]}),...L}})});
1
+ "use client";import{jsx as e,jsxs as a}from"react/jsx-runtime";import*as r from"react";import{useRender as t}from"@base-ui/react/use-render";import{boxPaddingXClasses as n}from"../box/Box.js";import{useBarRef as s}from"../../internal/page-layout.js";import{cx as i,hasContent as l,measureValue as m,surfaceClasses as d,surfaceSlots as o,transitionClasses as c}from"../../internal/styles.js";import{responsiveSlots as x}from"../../internal/responsive.js";import{useStyleDefaults as f}from"../../internal/defaults.js";const p={xs:"min-h-10",sm:"min-h-12",md:"min-h-14",lg:"min-h-16",xl:"min-h-20"},u={xs:"gap-1.5",sm:"gap-2",md:"gap-3",lg:"gap-4",xl:"gap-5"},g={xs:"gap-3",sm:"gap-4",md:"gap-6",lg:"gap-8",xl:"gap-10"},h={solid:d+" text-(--neba-fg) bg-(--n-panel-press) [box-shadow:var(--n-elev),var(--neba-plate-solid)]",outline:d+" text-(--neba-fg) bg-(--n-panel) [box-shadow:var(--n-elev),var(--neba-plate-glass)]",text:"text-(--neba-fg) bg-transparent"},b={static:"",sticky:"sticky top-0 z-30",fixed:"fixed inset-x-0 top-0 z-40"},v={start:"shrink-0",center:"flex-1 basis-0",end:"shrink-0"},y={start:"flex min-w-0 flex-1 items-center justify-start",center:"flex min-w-0 shrink items-center justify-center",end:"flex min-w-0 flex-1 items-center justify-end"};export const Header=/*@__PURE__*/r.forwardRef(function Header(r,d){const{brand:w,actions:j,align:N="start",position:k="sticky",variant:z="outline",size:H="md",color:B="primary",density:R="default",elevation:W=0,divider:q=!0,maxWidth:A,padded:C=!0,label:D,render:E,className:F,style:G,children:I,...J}=f(r,["size","density","variant"]),K=s("header",d,k),L=i("w-full min-w-0",h[z],q?"border-b [border-color:var(--n-line)]":"",b[k],c,F);return t({render:E??e("header",{}),ref:K,props:{"aria-label":D,className:L,style:{...o(B,W),...G},children:a("div",{className:i("flex w-full items-center",p[H],g[H],C?n[R][H]:"","neba-measure mx-auto max-w-(--n-max-w)"),style:x("max-w",A,m),children:[l(w)?e("div",{className:i("flex min-w-0 items-center",v[N],u[H]),children:w}):"center"===N?e("div",{"aria-hidden":"true",className:v[N]}):null,l(I)?e("div",{className:i(y[N],u[H]),children:I}):null,l(j)?e("div",{className:i("flex min-w-0 items-center justify-end",v[N],u[H]),children:j}):"center"===N?e("div",{"aria-hidden":"true",className:v[N]}):null]}),...J}})});
@@ -1 +1 @@
1
- "use client";import{jsx as e,jsxs as t}from"react/jsx-runtime";import*as n from"react";import{chartTableClasses as l,ChartExport as i,ChartScaleLegend as a,ChartStatus as r,ChartSummary as o,ChartSurface as d,ChartTooltipPanel as s,markTransitionClasses as h,summarise as m,useDeferredRows as c,useMeasuredWidth as u,useReleaseOutside as x,chartHeight as f,useMeasuredHeight as p}from"../../internal/chart-frame.js";import{categoryAt as g,chartFontSizes as w,compactNumber as v,formatCategory as b,markGap as y,rampFill as M,rampInk as k,rampStep as A,rampSteps as $,squarify as N,textWidth as j,toValues as z,truncate as E,turnedAxis as S}from"../../internal/chart.js";import{numberFormatter as B}from"../../internal/format.js";import{cx as C,metaTextClasses as D}from"../../internal/styles.js";import{chartMessages as I,emptyMessages as F,useMessages as L}from"../../internal/i18n.js";import{useStyleDefaults as W}from"../../internal/defaults.js";import{useIntlLocale as H}from"../../internal/media.js";export function HeatmapChart(l){const{series:c,categories:T,shape:U="grid",scale:_="sequential",midpoint:q=0,min:J,max:K,valueLabels:O="none",xAxis:G,yAxis:Q,height:V,format:X,locale:Y,label:Z,legend:ee,tooltip:te,empty:ne,exportable:le=!1,exportFileName:ie="chart.csv",onExport:ae,size:re="md",variant:oe="text",padded:de=!1,className:se,...he}=W(l,["size","variant","locale"]),me=n.useRef(null),ce=u(me),ue=L(F,Y),xe=L(I,Y),fe=H(Y),pe=n.useId(),[ge,we]=n.useState(null);x(me,null!==ge,()=>we(null));const ve=n.useId(),be=X?JSON.stringify(X):"",ye=n.useCallback(e=>X?B(fe,X).format(e):v(e,fe),[be,fe]),Me=n.useMemo(()=>z(c),[c]),ke=Me.reduce((e,t)=>Math.max(e,t.length),0),Ae=n.useMemo(()=>Array.from({length:ke},(e,t)=>g(t,T,Me)),[ke,T,Me]),$e=n.useMemo(()=>c.map((e,t)=>e.name??`${t+1}`),[c]),Ne=n.useMemo(()=>{let e=1/0,t=-1/0,n=!1;for(const l of Me)for(const i of l)null!==i.value&&(n=!0,e=Math.min(e,i.value),t=Math.max(t,i.value));return n?{min:e,max:t}:null},[Me]),je=J??Ne?.min??0,ze=K??Ne?.max??1,Ee=n.useCallback(e=>A(e,je,ze,_,q),[je,ze,_,q]),Se=p(me,"string"==typeof V),Be=f(V,re,Se),Ce=w[re],De=!0===ee||void 0===ee||!1===ee?{}:ee,Ie=!1!==ee,Fe=De.side??"bottom",Le=!1===te?{mode:"none"}:!0===te||void 0===te?{}:te,We="none"===Le.mode,He=null===Ne||0===ke||0===c.length,Pe=Q?.tickFormat,Re="treemap"===U||Q?.hidden,Te=n.useMemo(()=>{if(Re||ce<=0)return{texts:[],band:0};const e=Math.min(150,.25*ce),t=$e.map((t,n)=>E(Pe?String(Pe(t,n)):t,e,Ce));return{texts:t,band:t.reduce((e,t)=>Math.max(e,j(t,Ce)),0)+10}},[Re,$e,Pe,ce,Ce]),Ue="treemap"===U?0:G?.tickAngle,_e=n.useMemo(()=>S(Ue,Ce),[Ue,Ce]),qe=G?.tickFormat,Je=n.useMemo(()=>Ae.map((e,t)=>qe?String(qe(e,t)):b(e,fe)),[Ae,qe,fe]),Ke=Math.min(140,.4*Be),Oe=n.useMemo(()=>0===_e.angle?Je:Je.map(e=>E(e,_e.cut(Ke),Ce)),[Je,_e,Ke,Ce]),Ge=Oe.reduce((e,t)=>Math.max(e,j(t,Ce)),0),Qe=Ce+6,Ve="treemap"===U||G?.hidden?0:_e.depth(Ge)+8+(G?.label?Qe:0),Xe=Boolean(Q?.label)&&!Re,Ye=(Xe?Qe+2:0)+(le?20:0),Ze={left:Q?.thickness??Te.band,top:Ye,width:Math.max(0,ce-(Q?.thickness??Te.band)),height:Math.max(0,Be-(G?.thickness??Ve)-Ye)},et=n.useMemo(()=>{if(Ze.width<=0||Ze.height<=0)return[];if("treemap"===U){const e=[];return Me.forEach((t,n)=>t.forEach((t,l)=>{null!==t.value&&e.push({row:n,index:l,cell:t})})),N(e.map(e=>Math.max(0,e.cell.value??0)),Ze.width,Ze.height).map(t=>({row:e[t.index].row,index:e[t.index].index,cell:e[t.index].cell,x:Ze.left+t.x,y:Ze.top+t.y,width:t.width,height:t.height}))}const e=Ze.height/Math.max(1,c.length),t=Ze.width/Math.max(1,ke),n=[];return Me.forEach((l,i)=>l.forEach((l,a)=>{null!==l.value&&n.push({row:i,index:a,cell:l,x:Ze.left+a*t,y:Ze.top+i*e,width:t,height:e})})),n},[U,Me,c.length,ke,Ze.left,Ze.top,Ze.width,Ze.height]),tt=n.useCallback(e=>b(e.cell.x??T?.[e.index]??Ae[e.index]??e.index,fe),[T,Ae,fe]),nt=n.useMemo(()=>{const e=Me.reduce((e,t)=>e+t.length,0);if("treemap"!==U)return{heads:Ae.map(e=>b(e,fe)),rows:Me.map(e=>Ae.map((t,n)=>e[n])),points:e};const t=[],n=new Map,l=Me.map(e=>{const l=[];return e.forEach((e,i)=>{const a=b(e.x??T?.[i]??Ae[i]??i,fe);let r=n.get(a);void 0===r&&(r=t.length,n.set(a,r),t.push(a)),l[r]=e}),l});return{heads:t,rows:l,points:e}},[U,Ae,Me,T,fe]),lt=null===ge?null:et.find(e=>e.row===ge.row&&e.index===ge.index)??null,it=null===lt?[]:[{seriesIndex:lt.row,color:lt.cell.color??M(Ee(lt.cell.value??0),_),value:lt.cell.value,formatted:ye(lt.cell.value??0),label:lt.cell.label}],at=Array.from({length:$},(e,t)=>M(t,_));return t(d,{...he,size:re,variant:oe,padded:de,className:se,legendSide:Fe,legend:Ie&&!He?e(a,{steps:at,from:ye("diverging"===_?-R(je,ze,q)+q:je),to:ye("diverging"===_?R(je,ze,q)+q:ze),middle:"diverging"===_?ye(q):void 0,align:De.align??"center",vertical:"left"===Fe||"right"===Fe,size:re}):null,table:He?null:e(P,{id:pe,caption:Z,heads:nt.heads,rows:nt.rows,names:$e,points:nt.points,format:ye}),children:[le&&!He?e(i,{rows:()=>[["",...nt.heads],...nt.rows.map((e,t)=>[$e[t],...nt.heads.map((t,n)=>e[n]?.value??null)])],fileName:ie,onExport:ae,label:xe.exportCsv}):null,t("div",{ref:me,role:"img",tabIndex:He?void 0:0,"aria-label":Z??xe.label,"aria-describedby":He?void 0:ve,onPointerLeave:e=>{"touch"!==e.pointerType&&we(null)},onBlur:()=>we(null),onKeyDown:e=>{if(We||0===et.length)return;const t=null===ge?-1:et.findIndex(e=>e.row===ge.row&&e.index===ge.index),n="treemap"!==U&&-1!==t,l="ArrowRight"===e.key||"ArrowDown"===e.key;if(!n||"ArrowDown"!==e.key&&"ArrowUp"!==e.key)if(l||"ArrowLeft"===e.key||"ArrowUp"===e.key){const e=l?et[Math.min(et.length-1,t+1)]:et[Math.max(0,(-1===t?et.length:t)-1)];we({row:e.row,index:e.index})}else{if("Escape"!==e.key)return;we(null)}else{const n=et[t],l="ArrowDown"===e.key,i=et.filter(e=>e.index===n.index&&(l?e.row>n.row:e.row<n.row)).sort((e,t)=>l?e.row-t.row:t.row-e.row)[0];i&&we({row:i.row,index:i.index})}e.preventDefault()},className:C("relative w-full rounded-(--neba-radius-xs)","focus-visible:[outline:2px_solid_var(--n-ring)] focus-visible:outline-offset-2"),style:{height:"string"==typeof V?V:Be},children:[He?e("div",{className:C("flex h-full items-center justify-center text-(--neba-muted-fg)",D[re]),children:ne??ue.title}):ce>0?t("svg",{width:ce,height:Be,viewBox:`0 0 ${ce} ${Be}`,"aria-hidden":"true",className:"block",children:[et.map(n=>{const l=Ee(n.cell.value??0),i=ge?.row===n.row&&ge?.index===n.index,a=Math.max(0,n.width-y),r=Math.max(0,n.height-y);if(a<=0||r<=0)return null;const o=ye(n.cell.value??0),d="treemap"===U?"all"===O?[tt(n),o]:[tt(n)]:"all"===O?[o]:[],s=d.filter(e=>function(e,t,n,l){return n>=1.8*l&&t>=Math.min(j(e,l),2.5*l)+8}(e,a,r/d.length,Ce)),m=n.cell.color?"var(--neba-surface)":k(l,_);return t("g",{children:[e("rect",{x:n.x+y/2,y:n.y+y/2,width:a,height:r,rx:Math.min(3,a/2,r/2),fill:n.cell.color??M(l,_),opacity:i?1:.94,onPointerEnter:We?void 0:()=>we({row:n.row,index:n.index}),className:h}),s.map((t,l)=>e("text",{x:n.x+n.width/2,y:n.y+n.height/2+(l-(s.length-1)/2)*(Ce+2),textAnchor:"middle",dominantBaseline:"central",fontSize:Ce,fontWeight:0===l?500:400,fill:m,opacity:0===l?1:.85,pointerEvents:"none",className:0===l&&"treemap"===U?void 0:"tabular-nums",children:E(t,n.width-8,Ce)},l))]},`${n.row}-${n.index}`)}),"grid"!==U||Q?.hidden?null:Te.texts.map((t,n)=>e("text",{x:Ze.left-8,y:Ze.top+(n+.5)*Ze.height/Math.max(1,c.length),textAnchor:"end",dominantBaseline:"central",fontSize:Ce,fill:"var(--neba-muted-fg)",children:t},`row-${n}`)),"grid"!==U||G?.hidden?null:Oe.map((t,n)=>{const l=Ze.width/Math.max(1,ke);if(n%Math.max(1,Math.ceil(_e.room(Ge)/Math.max(1,l)))!==0)return null;const i=Ze.left+(n+.5)*l,a=Ze.top+Ze.height+_e.offset-6;return e("text",{x:i,y:a,textAnchor:_e.anchor,transform:0===_e.angle?void 0:`rotate(${_e.angle} ${i} ${a})`,dominantBaseline:0===_e.angle?void 0:"central",fontSize:Ce,fill:"var(--neba-muted-fg)",children:t},`col-${n}`)}),Xe?e("text",{x:Ze.left,y:Ce+2,textAnchor:"start",fontSize:Ce,fill:"var(--neba-muted-fg)",fontWeight:500,children:Q?.label}):null,"grid"===U&&G?.label&&!G.hidden?e("text",{x:Ze.left+Ze.width,y:Ze.top+Ze.height+_e.depth(Ge)+Ce+8,textAnchor:"end",fontSize:Ce,fill:"var(--neba-muted-fg)",fontWeight:500,children:G.label}):null]}):null,lt&&!We?Le.render?e("div",{className:"pointer-events-none absolute z-10",style:{left:lt.x+lt.width/2,top:lt.y},children:Le.render({index:lt.index,category:lt.cell.x??Ae[lt.index]??lt.index,items:it})}):e(s,{heading:`${$e[lt.row]} · ${tt(lt)}`,items:it,x:lt.x+lt.width/2,y:lt.y,flip:lt.x+lt.width/2>.6*ce,size:re}):null]}),He?null:e(o,{id:ve,template:xe.summary,locale:fe,...m(Me,ye)}),We?null:e(r,{heading:lt?`${$e[lt.row]} · ${tt(lt)}`:void 0,items:it})]})}const P=/*@__PURE__*/n.memo(function HeatmapTable({id:n,caption:i,heads:a,rows:r,names:o,points:d,format:s}){const h=c({rows:r.length,points:d,columns:a.length+1});return t("table",{id:n,className:l,"aria-busy":h<r.length||void 0,children:[i?e("caption",{children:i}):null,e("thead",{children:t("tr",{children:[e("th",{scope:"col"}),a.map((t,n)=>e("th",{scope:"col",children:t},n))]})}),e("tbody",{children:r.slice(0,h).map((n,l)=>t("tr",{children:[e("th",{scope:"row",children:o[l]}),a.map((t,l)=>{const i=n[l];return e("td",{children:void 0!==i?.label?i.label:null==i?.value?"":s(i.value)},l)})]},l))})]})});function R(e,t,n){return Math.max(Math.abs(t-n),Math.abs(n-e))}
1
+ "use client";import{jsx as e,jsxs as t,Fragment as n}from"react/jsx-runtime";import*as l from"react";import{chartTableClasses as i,ChartExport as r,ChartScaleLegend as a,ChartStatus as o,ChartSummary as s,ChartSurface as d,ChartTooltipPanel as h,markTransitionClasses as c,summarise as m,tableRuns as u,useDeferredRows as f,useMeasuredWidth as x,useReleaseOutside as p,chartHeight as g,initialWidthFor as w,useMeasuredHeight as v}from"../../internal/chart-frame.js";import{categoryAt as b,chartFontSizes as y,compactNumber as M,formatCategory as k,markGap as A,rampFill as N,rampInk as $,rampStep as z,rampSteps as S,squarify as j,textWidth as E,toValues as B,truncate as C,turnedAxis as D}from"../../internal/chart.js";import{numberFormatter as I}from"../../internal/format.js";import{cx as F,metaTextClasses as W}from"../../internal/styles.js";import{chartMessages as L,emptyMessages as H,useMessages as O}from"../../internal/i18n.js";import{useStyleDefaults as P}from"../../internal/defaults.js";import{useIntlLocale as R}from"../../internal/media.js";export function HeatmapChart(n){const{series:i,categories:c,shape:u="grid",scale:f="sequential",midpoint:K=0,min:G,max:Q,valueLabels:V="none",xAxis:X,yAxis:Y,height:Z,initialWidth:ee,format:te,locale:ne,label:le,legend:ie,tooltip:re,empty:ae,exportable:oe=!1,exportFileName:se="chart.csv",onExport:de,size:he="md",variant:ce="text",padded:me=!1,className:ue,...fe}=P(n,["size","variant","locale"]),xe=l.useRef(null),pe=x(xe,{initial:w(ee,Z)}),ge=O(H,ne),we=O(L,ne),ve=R(ne),be=l.useId(),[ye,Me]=l.useState(null);p(xe,null!==ye,()=>Me(null));const ke=l.useId(),Ae=te?JSON.stringify(te):"",Ne=l.useCallback(e=>te?I(ve,te).format(e):M(e,ve),[Ae,ve]),$e=l.useMemo(()=>B(i),[i]),ze=$e.reduce((e,t)=>Math.max(e,t.length),0),Se=l.useMemo(()=>Array.from({length:ze},(e,t)=>b(t,c,$e)),[ze,c,$e]),je=l.useMemo(()=>i.map((e,t)=>e.name??`${t+1}`),[i]),Ee=l.useMemo(()=>{let e=1/0,t=-1/0,n=!1;for(const l of $e)for(const i of l)null!==i.value&&(n=!0,e=Math.min(e,i.value),t=Math.max(t,i.value));return n?{min:e,max:t}:null},[$e]),Be=G??Ee?.min??0,Ce=Q??Ee?.max??1,De=l.useCallback(e=>z(e,Be,Ce,f,K),[Be,Ce,f,K]),Ie=v(xe,"string"==typeof Z),Fe=g(Z,he,Ie),We=y[he],Le=!0===ie||void 0===ie||!1===ie?{}:ie,He=!1!==ie,Oe=Le.side??"bottom",Pe=!1===re?{mode:"none"}:!0===re||void 0===re?{}:re,Re="none"===Pe.mode,Te=null===Ee||0===ze||0===i.length,Ue=Y?.tickFormat,_e="treemap"===u||Y?.hidden,qe=l.useMemo(()=>{if(_e||pe<=0)return{texts:[],band:0};const e=Math.min(150,.25*pe),t=je.map((t,n)=>C(Ue?String(Ue(t,n)):t,e,We));return{texts:t,band:t.reduce((e,t)=>Math.max(e,E(t,We)),0)+10}},[_e,je,Ue,pe,We]),Je="treemap"===u?0:X?.tickAngle,Ke=l.useMemo(()=>D(Je,We),[Je,We]),Ge=X?.tickFormat,Qe=l.useMemo(()=>Se.map((e,t)=>Ge?String(Ge(e,t)):k(e,ve)),[Se,Ge,ve]),Ve=Math.min(140,.4*Fe),Xe=l.useMemo(()=>0===Ke.angle?Qe:Qe.map(e=>C(e,Ke.cut(Ve),We)),[Qe,Ke,Ve,We]),Ye=Xe.reduce((e,t)=>Math.max(e,E(t,We)),0),Ze=We+6,et="treemap"===u||X?.hidden?0:Ke.depth(Ye)+8+(X?.label?Ze:0),tt=Boolean(Y?.label)&&!_e,nt=(tt?Ze+2:0)+(oe?20:0),lt={left:Y?.thickness??qe.band,top:nt,width:Math.max(0,pe-(Y?.thickness??qe.band)),height:Math.max(0,Fe-(X?.thickness??et)-nt)},it=l.useMemo(()=>{if(lt.width<=0||lt.height<=0)return[];if("treemap"===u){const e=[];return $e.forEach((t,n)=>t.forEach((t,l)=>{null!==t.value&&e.push({row:n,index:l,cell:t})})),j(e.map(e=>Math.max(0,e.cell.value??0)),lt.width,lt.height).map(t=>({row:e[t.index].row,index:e[t.index].index,cell:e[t.index].cell,x:lt.left+t.x,y:lt.top+t.y,width:t.width,height:t.height}))}const e=lt.height/Math.max(1,i.length),t=lt.width/Math.max(1,ze),n=[];return $e.forEach((l,i)=>l.forEach((l,r)=>{null!==l.value&&n.push({row:i,index:r,cell:l,x:lt.left+r*t,y:lt.top+i*e,width:t,height:e})})),n},[u,$e,i.length,ze,lt.left,lt.top,lt.width,lt.height]),rt=l.useCallback(e=>k(e.cell.x??c?.[e.index]??Se[e.index]??e.index,ve),[c,Se,ve]),at=l.useMemo(()=>{const e=$e.reduce((e,t)=>e+t.length,0);if("treemap"!==u)return{heads:Se.map(e=>k(e,ve)),rows:$e.map(e=>Se.map((t,n)=>e[n])),points:e};const t=[],n=new Map,l=$e.map(e=>{const l=[];return e.forEach((e,i)=>{const r=k(e.x??c?.[i]??Se[i]??i,ve);let a=n.get(r);void 0===a&&(a=t.length,n.set(r,a),t.push(r)),l[a]=e}),l});return{heads:t,rows:l,points:e}},[u,Se,$e,c,ve]),ot="treemap"===u,st=l.useMemo(()=>{const e=[];for(const t of it){const n=Math.max(0,t.width-A),l=Math.max(0,t.height-A);if(n<=0||l<=0)continue;const i=De(t.cell.value??0),r="all"===V?Ne(t.cell.value??0):"",a=ot?"all"===V?[rt(t),r]:[rt(t)]:"all"===V?[r]:[];e.push({key:`${t.row}-${t.index}`,row:t.row,index:t.index,x:t.x,y:t.y,width:t.width,height:t.height,w:n,h:l,fill:t.cell.color??N(i,f),ink:t.cell.color?"var(--neba-surface)":$(i,f),lines:a.filter(e=>J(e,n,l/a.length,We)).map(e=>C(e,t.width-8,We))})}return e},[it,De,f,V,Ne,ot,rt,We]),dt=l.useMemo(()=>{const e=[];for(let t=0;t<st.length;t+=U)e.push(st.slice(t,t+U));return e},[st]),ht=l.useMemo(()=>{const e=new Map;for(const t of dt)for(const n of t)e.set(n.key,t);return e},[dt]),ct=null===ye?null:`${ye.row}-${ye.index}`,mt=null===ct?void 0:ht.get(ct),ut=null===ye?null:it.find(e=>e.row===ye.row&&e.index===ye.index)??null,ft=null===ut?[]:[{seriesIndex:ut.row,color:ut.cell.color??N(De(ut.cell.value??0),f),value:ut.cell.value,formatted:Ne(ut.cell.value??0),label:ut.cell.label}],xt=Array.from({length:S},(e,t)=>N(t,f));return t(d,{...fe,size:he,variant:ce,padded:me,className:ue,legendSide:Oe,legend:He&&!Te?e(a,{steps:xt,from:Ne("diverging"===f?-q(Be,Ce,K)+K:Be),to:Ne("diverging"===f?q(Be,Ce,K)+K:Ce),middle:"diverging"===f?Ne(K):void 0,align:Le.align??"center",vertical:"left"===Oe||"right"===Oe,size:he}):null,table:Te?null:e(T,{id:be,caption:le,heads:at.heads,rows:at.rows,names:je,points:at.points,format:Ne}),children:[oe&&!Te?e(r,{rows:()=>[["",...at.heads],...at.rows.map((e,t)=>[je[t],...at.heads.map((t,n)=>e[n]?.value??null)])],fileName:se,onExport:de,label:we.exportCsv}):null,t("div",{ref:xe,role:"img",tabIndex:Te?void 0:0,"aria-label":le??we.label,"aria-describedby":Te?void 0:ke,onPointerLeave:e=>{"touch"!==e.pointerType&&Me(null)},onBlur:()=>Me(null),onKeyDown:e=>{if(Re||0===it.length)return;const t=null===ye?-1:it.findIndex(e=>e.row===ye.row&&e.index===ye.index),n="treemap"!==u&&-1!==t,l="ArrowRight"===e.key||"ArrowDown"===e.key;if(!n||"ArrowDown"!==e.key&&"ArrowUp"!==e.key)if(l||"ArrowLeft"===e.key||"ArrowUp"===e.key){const e=l?it[Math.min(it.length-1,t+1)]:it[Math.max(0,(-1===t?it.length:t)-1)];Me({row:e.row,index:e.index})}else{if("Escape"!==e.key)return;Me(null)}else{const n=it[t],l="ArrowDown"===e.key,i=it.filter(e=>e.index===n.index&&(l?e.row>n.row:e.row<n.row)).sort((e,t)=>l?e.row-t.row:t.row-e.row)[0];i&&Me({row:i.row,index:i.index})}e.preventDefault()},className:F("relative w-full rounded-(--neba-radius-xs)","focus-visible:[outline:2px_solid_var(--n-ring)] focus-visible:outline-offset-2"),style:{height:"string"==typeof Z?Z:Fe},children:[Te?e("div",{className:F("flex h-full items-center justify-center text-(--neba-muted-fg)",W[he]),children:ae??ge.title}):pe>0?t("svg",{width:pe,height:Fe,viewBox:`0 0 ${pe} ${Fe}`,"aria-hidden":"true",className:"block",onPointerOver:Re?void 0:e=>{const t=e.target,n=t.getAttribute("data-row"),l=t.getAttribute("data-index");null!==n&&null!==l&&(ye?.row===Number(n)&&ye?.index===Number(l)||Me({row:Number(n),index:Number(l)}))},children:[dt.map((t,n)=>e(_,{cells:t,active:t===mt?ct:null,treemap:ot,fontSize:We},n)),"grid"!==u||Y?.hidden?null:qe.texts.map((t,n)=>e("text",{x:lt.left-8,y:lt.top+(n+.5)*lt.height/Math.max(1,i.length),textAnchor:"end",dominantBaseline:"central",fontSize:We,fill:"var(--neba-muted-fg)",children:t},`row-${n}`)),"grid"!==u||X?.hidden?null:Xe.map((t,n)=>{const l=lt.width/Math.max(1,ze);if(n%Math.max(1,Math.ceil(Ke.room(Ye)/Math.max(1,l)))!==0)return null;const i=lt.left+(n+.5)*l,r=lt.top+lt.height+Ke.offset-6;return e("text",{x:i,y:r,textAnchor:Ke.anchor,transform:0===Ke.angle?void 0:`rotate(${Ke.angle} ${i} ${r})`,dominantBaseline:0===Ke.angle?void 0:"central",fontSize:We,fill:"var(--neba-muted-fg)",children:t},`col-${n}`)}),tt?e("text",{x:lt.left,y:We+2,textAnchor:"start",fontSize:We,fill:"var(--neba-muted-fg)",fontWeight:500,children:Y?.label}):null,"grid"===u&&X?.label&&!X.hidden?e("text",{x:lt.left+lt.width,y:lt.top+lt.height+Ke.depth(Ye)+We+8,textAnchor:"end",fontSize:We,fill:"var(--neba-muted-fg)",fontWeight:500,children:X.label}):null]}):null,ut&&!Re?Pe.render?e("div",{className:"pointer-events-none absolute z-10",style:{left:ut.x+ut.width/2,top:ut.y},children:Pe.render({index:ut.index,category:ut.cell.x??Se[ut.index]??ut.index,items:ft})}):e(h,{heading:`${je[ut.row]} · ${rt(ut)}`,items:ft,x:ut.x+ut.width/2,y:ut.y,flip:ut.x+ut.width/2>.6*pe,size:he}):null]}),Te?null:e(s,{id:ke,template:we.summary,locale:ve,...m($e,Ne)}),Re?null:e(o,{heading:ut?`${je[ut.row]} · ${rt(ut)}`:void 0,items:ft})]})}const T=/*@__PURE__*/l.memo(function HeatmapTable({id:n,caption:r,heads:a,rows:o,names:s,points:d,format:h}){const{shown:c,run:m}=f({rows:o.length,points:d,columns:a.length+1}),x=l.useCallback((n,l)=>o.slice(n,l).map((l,i)=>{const r=n+i;return t("tr",{children:[e("th",{scope:"row",children:s[r]}),a.map((t,n)=>{const i=l[n];return e("td",{children:void 0!==i?.label?i.label:null==i?.value?"":h(i.value)},n)})]},r)}),[o,a,s,h]);return t("table",{id:n,className:i,"aria-busy":c<o.length||void 0,children:[r?e("caption",{children:r}):null,e("thead",{children:t("tr",{children:[e("th",{scope:"col"}),a.map((t,n)=>e("th",{scope:"col",children:t},n))]})}),e("tbody",{children:u(c,m,x)})]})}),U=128,_=/*@__PURE__*/l.memo(function CellBlock({cells:l,active:i,treemap:r,fontSize:a}){return e(n,{children:l.map(n=>t("g",{children:[e("rect",{"data-row":n.row,"data-index":n.index,x:n.x+A/2,y:n.y+A/2,width:n.w,height:n.h,rx:Math.min(3,n.w/2,n.h/2),fill:n.fill,opacity:n.key===i?1:.94,className:c}),n.lines.map((t,l)=>e("text",{x:n.x+n.width/2,y:n.y+n.height/2+(l-(n.lines.length-1)/2)*(a+2),textAnchor:"middle",dominantBaseline:"central",fontSize:a,fontWeight:0===l?500:400,fill:n.ink,opacity:0===l?1:.85,pointerEvents:"none",className:0===l&&r?void 0:"tabular-nums",children:t},l))]},n.key))})});function q(e,t,n){return Math.max(Math.abs(t-n),Math.abs(n-e))}function J(e,t,n,l){return n>=1.8*l&&t>=Math.min(E(e,l),2.5*l)+8}
@@ -1 +1 @@
1
- "use client";import{jsx as n}from"react/jsx-runtime";import*as e from"react";import{cx as t,transitionClasses as r}from"../../internal/styles.js";import{useStyleDefaults as o}from"../../internal/defaults.js";const i={solid:"bg-(--n-fill) text-(--n-on-solid)",outline:"border bg-(--n-panel) text-(--n-on-tint) [border-color:var(--n-line)]",text:"bg-transparent text-(--n-on-tint)"},l={solid:"px-0.5 -mx-0.5",outline:"px-0.5 -mx-[calc(0.125rem+1px)]",text:"px-0.5 -mx-0.5"},s={regular:"font-normal",medium:"font-medium",semibold:"font-semibold",bold:"font-bold"},a=/[\p{L}\p{N}_]/u,u=/[\u0300-\u036f]/g;function c(n){return n.normalize("NFD").replace(u,"").normalize("NFC")}function f(n){return n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function d(n,e,t){const r=e>0?n[e-1]:"",o=t<n.length?n[t]:"";return!a.test(r)&&!a.test(o)}function m(n,e,t,r,o){e.lastIndex=0;const i=r?function(n){if(/^[\u0020-\u007e\s]*$/.test(n))return null;const e=[],t=[];let r="",o=0;for(const i of n){const n=o+i.length,l=c(i);if(""===l)for(let e=t.length-1;e>=0&&t[e]===o;e-=1)t[e]=n;else{for(let r=0;r<l.length;r+=1)e.push(o),t.push(n);r+=l}o=n}return{text:r,starts:e,ends:t}}(n):null,l=i?i.text:n,s=[];let a,u=0;for(;null!==(a=e.exec(l));){if(""===a[0]){e.lastIndex+=1;continue}const r=i?i.starts[a.index]:a.index,l=i?i.ends[a.index+a[0].length-1]:a.index+a[0].length;!t||d(n,r,l)?(r>u&&s.push(n.slice(u,r)),s.push(o(n.slice(r,l),`${r}`)),u=l):e.lastIndex=a.index+1}return 0===s.length?n:(u<n.length&&s.push(n.slice(u)),s)}function g(n,t,r,o,i){if("string"==typeof n)return m(n,t,r,o,i);if("number"==typeof n)return m(String(n),t,r,o,i);if(Array.isArray(n)){const e=n.map(n=>g(n,t,r,o,i));return e.every((e,t)=>e===n[t])?n:e}if(e.isValidElement(n)){const l=n.props.children;if(void 0===l||"function"==typeof l)return n;const s=g(l,t,r,o,i);return s===l?n:e.cloneElement(n,void 0,...p(s))}return n}function p(n){return Array.isArray(n)?n:[n]}export const Highlight=/*@__PURE__*/e.forwardRef(function Highlight(a,u){const{query:d,variant:m="solid",color:x="warning",caseSensitive:h=!1,wholeWord:b=!1,underline:y=!1,weight:v,className:$,style:E,children:A,...j}=o(a,["variant"]),w=e.useMemo(()=>function(n,e){if(n instanceof RegExp)return new RegExp(n.source,n.global?n.flags:`${n.flags}g`);const t=(Array.isArray(n)?n:[n]).map(n=>Array.from(n.trim(),c).join("")).filter(Boolean).sort((n,e)=>e.length-n.length);return 0===t.length?null:new RegExp(t.map(f).join("|"),e?"gu":"giu")}(d,h),[d,h]),N=t("rounded-[0.25rem]",l[m],"box-decoration-clone",i[m],y?"underline decoration-2 underline-offset-2":"",v?s[v]:"",r),R=b&&!(d instanceof RegExp),I=w?g(A,w,R,!(d instanceof RegExp),(e,t)=>n("mark",{className:N,children:e},t)):A;return e.createElement("span",{ref:u,className:$,style:{"--n-fill":`var(--neba-${x}-fill)`,"--n-on-solid":`var(--neba-${x}-on-solid)`,"--n-accent":`var(--neba-${x}-accent)`,"--n-on-tint":`var(--neba-${x}-on-tint)`,"--n-panel":`var(--neba-${x}-panel)`,"--n-line":`var(--neba-${x}-line)`,...E},...j},...p(I))});
1
+ "use client";import{jsx as n}from"react/jsx-runtime";import*as e from"react";import{memoise as t}from"../../internal/cache.js";import{cx as r,transitionClasses as o}from"../../internal/styles.js";import{useStyleDefaults as i}from"../../internal/defaults.js";const l={solid:"bg-(--n-fill) text-(--n-on-solid)",outline:"border bg-(--n-panel) text-(--n-on-tint) [border-color:var(--n-line)]",text:"bg-transparent text-(--n-on-tint)"},s={solid:"px-0.5 -mx-0.5",outline:"px-0.5 -mx-[calc(0.125rem+1px)]",text:"px-0.5 -mx-0.5"},a={regular:"font-normal",medium:"font-medium",semibold:"font-semibold",bold:"font-bold"},c=/[\p{L}\p{N}_]/u,u=/[\u0300-\u036f]/g,f=new Map;function d(n){return t(f,n,()=>n.normalize("NFD").replace(u,"").normalize("NFC"),4096)}function m(n){return n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function p(n,e,t){const r=e>0?n[e-1]:"",o=t<n.length?n[t]:"";return!c.test(r)&&!c.test(o)}function g(n,e,t,r,o){e.lastIndex=0;const i=r?function(n){if(/^[\u0020-\u007e\s]*$/.test(n))return null;const e=[],t=[];let r="",o=0;for(const i of n){const n=o+i.length,l=d(i);if(""===l)for(let e=t.length-1;e>=0&&t[e]===o;e-=1)t[e]=n;else{for(let r=0;r<l.length;r+=1)e.push(o),t.push(n);r+=l}o=n}return{text:r,starts:e,ends:t}}(n):null,l=i?i.text:n,s=[];let a,c=0;for(;null!==(a=e.exec(l));){if(""===a[0]){e.lastIndex+=1;continue}const r=i?i.starts[a.index]:a.index,l=i?i.ends[a.index+a[0].length-1]:a.index+a[0].length;!t||p(n,r,l)?(r>c&&s.push(n.slice(c,r)),s.push(o(n.slice(r,l),`${r}`)),c=l):e.lastIndex=a.index+1}return 0===s.length?n:(c<n.length&&s.push(n.slice(c)),s)}function x(n,t,r,o,i){if("string"==typeof n)return g(n,t,r,o,i);if("number"==typeof n)return g(String(n),t,r,o,i);if(Array.isArray(n)){const e=n.map(n=>x(n,t,r,o,i));return e.every((e,t)=>e===n[t])?n:e}if(e.isValidElement(n)){const l=n.props.children;if(void 0===l||"function"==typeof l)return n;const s=x(l,t,r,o,i);return s===l?n:e.cloneElement(n,void 0,...h(s))}return n}function h(n){return Array.isArray(n)?n:[n]}export const Highlight=/*@__PURE__*/e.forwardRef(function Highlight(t,c){const{query:u,variant:f="solid",color:p="warning",caseSensitive:g=!1,wholeWord:b=!1,underline:y=!1,weight:v,className:$,style:E,children:j,...w}=i(t,["variant"]),A=e.useMemo(()=>function(n,e){if(n instanceof RegExp)return new RegExp(n.source,n.global?n.flags:`${n.flags}g`);const t=(Array.isArray(n)?n:[n]).map(n=>Array.from(n.trim(),d).join("")).filter(Boolean).sort((n,e)=>e.length-n.length);return 0===t.length?null:new RegExp(t.map(m).join("|"),e?"gu":"giu")}(u,g),[u,g]),N=r("rounded-[0.25rem]",s[f],"box-decoration-clone",l[f],y?"underline decoration-2 underline-offset-2":"",v?a[v]:"",o),R=b&&!(u instanceof RegExp),I=A?x(j,A,R,!(u instanceof RegExp),(e,t)=>n("mark",{className:N,children:e},t)):j;return e.createElement("span",{ref:c,className:$,style:{"--n-fill":`var(--neba-${p}-fill)`,"--n-on-solid":`var(--neba-${p}-on-solid)`,"--n-accent":`var(--neba-${p}-accent)`,"--n-on-tint":`var(--neba-${p}-on-tint)`,"--n-panel":`var(--neba-${p}-panel)`,"--n-line":`var(--neba-${p}-line)`,...E},...w},...h(I))});
@@ -1 +1 @@
1
- "use client";import{jsx as e,jsxs as a}from"react/jsx-runtime";import{PreviewCard as t}from"@base-ui/react/preview-card";import{boxPaddingXClasses as l,boxPaddingYClasses as i}from"../box/Box.js";import{cx as n,hasContent as r,metaTextClasses as s,popupFadeClasses as o,radiusClasses as d,sheetBodyClasses as m,sheetHeaderGapClasses as c,sheetSectionGapClasses as f,sheetTitleClasses as p,surfaceClasses as x,surfaceSlots as h,toLength as g}from"../../internal/styles.js";import{useStyleDefaults as u}from"../../internal/defaults.js";const b={xs:"max-w-64",sm:"max-w-72",md:"max-w-84",lg:"max-w-md",xl:"max-w-xl"},v=[x,"relative flex flex-col","border text-(--neba-fg) bg-(--n-panel-press)","[border-color:var(--n-line)]","[box-shadow:var(--neba-shadow-3),var(--neba-plate-glass)]","[outline:none]",o].join(" "),w={xs:8,sm:9,md:10,lg:11,xl:12};export function HoverCard(o){const{size:x="md",color:y="primary",density:N="default",trigger:j,title:O,description:z,children:k,side:C="bottom",align:P="center",sideOffset:$=6,alignOffset:B=0,arrow:D=!1,open:M,defaultOpen:W,onOpenChange:A,delay:E,closeDelay:H,width:L,className:R,style:T,...q}=u(o,["size","density"]),F=l[N][x],G=i[N][x],I=w[x],J=r(O)||r(z),K=g(L);return a(t.Root,{open:M,defaultOpen:W,onOpenChange:e=>A?.(e),children:[e(t.Trigger,{render:j,delay:E,closeDelay:H}),e(t.Portal,{children:e(t.Positioner,{className:"neba-portal z-(--neba-z-portal) [outline:none]",side:C,align:P,sideOffset:$,alignOffset:B,children:a(t.Popup,{className:n(v,d[x],m[x],f[x],F,G,void 0===K?b[x]:"",R??""),style:{...h(y,3),...void 0===K?null:{maxWidth:K},...T},...q,children:[D?e(t.Arrow,{className:["data-[side=top]:bottom-[-1px]","data-[side=bottom]:top-[-1px] data-[side=bottom]:rotate-180","data-[side=left]:right-[-1px] data-[side=left]:-rotate-90","data-[side=right]:left-[-1px] data-[side=right]:rotate-90"].join(" "),children:a("svg",{width:I,height:I/2,viewBox:"0 0 10 5","aria-hidden":"true",className:"block",children:[e("path",{d:"M0 0h10L5 5z",fill:"var(--n-panel-press)"}),e("path",{d:"M0 0 5 5 10 0",fill:"none",stroke:"var(--n-line)",strokeWidth:"1",vectorEffect:"non-scaling-stroke"})]})}):null,J?a("div",{className:`flex min-w-0 flex-col ${c[x]}`,children:[r(O)?e("div",{className:`m-0 font-semibold ${p[x]}`,children:O}):null,r(z)?e("div",{className:`m-0 text-(--neba-muted-fg) ${s[x]}`,children:z}):null]}):null,r(k)?e("div",{className:"min-w-0",children:k}):null]})})})]})}
1
+ "use client";import{jsx as e,jsxs as a}from"react/jsx-runtime";import{PreviewCard as t}from"@base-ui/react/preview-card";import{boxPaddingXClasses as l,boxPaddingYClasses as i}from"../box/Box.js";import{cx as n,hasContent as r,metaTextClasses as s,popupFadeClasses as o,radiusClasses as d,sheetBodyClasses as m,sheetHeaderGapClasses as c,sheetSectionGapClasses as f,sheetTitleClasses as p,surfaceClasses as x,surfaceSlots as h,toLength as g}from"../../internal/styles.js";import{useStyleDefaults as u}from"../../internal/defaults.js";const b={xs:"max-w-64",sm:"max-w-72",md:"max-w-84",lg:"max-w-md",xl:"max-w-xl"},v=x+" relative flex flex-col border text-(--neba-fg) bg-(--n-panel-press) [border-color:var(--n-line)] [box-shadow:var(--neba-shadow-3),var(--neba-plate-glass)] [outline:none] "+o,w={xs:8,sm:9,md:10,lg:11,xl:12};export function HoverCard(o){const{size:x="md",color:y="primary",density:N="default",trigger:O,title:j,description:z,children:k,side:C="bottom",align:P="center",sideOffset:$=6,alignOffset:B=0,arrow:D=!1,open:M,defaultOpen:W,onOpenChange:A,delay:E,closeDelay:H,width:L,className:R,style:T,...q}=u(o,["size","density"]),F=l[N][x],G=i[N][x],I=w[x],J=r(j)||r(z),K=g(L);return a(t.Root,{open:M,defaultOpen:W,onOpenChange:e=>A?.(e),children:[e(t.Trigger,{render:O,delay:E,closeDelay:H}),e(t.Portal,{children:e(t.Positioner,{className:"neba-portal z-(--neba-z-portal) [outline:none]",side:C,align:P,sideOffset:$,alignOffset:B,children:a(t.Popup,{className:n(v,d[x],m[x],f[x],F,G,void 0===K?b[x]:"",R??""),style:{...h(y,3),...void 0===K?null:{maxWidth:K},...T},...q,children:[D?e(t.Arrow,{className:"data-[side=top]:bottom-[-1px] data-[side=bottom]:top-[-1px] data-[side=bottom]:rotate-180 data-[side=left]:right-[-1px] data-[side=left]:-rotate-90 data-[side=right]:left-[-1px] data-[side=right]:rotate-90",children:a("svg",{width:I,height:I/2,viewBox:"0 0 10 5","aria-hidden":"true",className:"block",children:[e("path",{d:"M0 0h10L5 5z",fill:"var(--n-panel-press)"}),e("path",{d:"M0 0 5 5 10 0",fill:"none",stroke:"var(--n-line)",strokeWidth:"1",vectorEffect:"non-scaling-stroke"})]})}):null,J?a("div",{className:`flex min-w-0 flex-col ${c[x]}`,children:[r(j)?e("div",{className:`m-0 font-semibold ${p[x]}`,children:j}):null,r(z)?e("div",{className:`m-0 text-(--neba-muted-fg) ${s[x]}`,children:z}):null]}):null,r(k)?e("div",{className:"min-w-0",children:k}):null]})})})]})}
@@ -123,6 +123,9 @@ export interface HowToStepsProps extends Omit<React.ComponentPropsWithoutRef<'di
123
123
  * and the list rows hold still, and what animates is the content they
124
124
  * changed.
125
125
  *
126
+ * The step the guide is first drawn with arrives with the page and has no
127
+ * entrance: only a step the reader moves to does.
128
+ *
126
129
  * A reduced-motion preference cuts it to its last frame, as it does every
127
130
  * other effect in the library.
128
131
  * @default 'fade'
@@ -1 +1 @@
1
- "use client";import{jsx as e,jsxs as t,Fragment as n}from"react/jsx-runtime";import*as a from"react";import{Button as l}from"../button/Button.js";import{boxPaddingClasses as r}from"../box/Box.js";import{CheckIcon as i,ChevronIcon as o,RestartIcon as s,SuccessIcon as c}from"../../internal/icons.js";import{fillMessage as m,stepsMessages as d,useMessages as p}from"../../internal/i18n.js";import{transitionProps as f}from"../../internal/animate.js";import{cx as u,hasContent as g,headingTitleClasses as h,iconClasses as x,insetRingClasses as b,metaTextClasses as v,radiusClasses as w,sheetBodyClasses as N,sheetSectionGapClasses as y,sheetTitleClasses as j,srOnlyClasses as k,surfaceClasses as S,surfaceSlots as C,toLength as z,transitionClasses as H}from"../../internal/styles.js";import{inertValue as L}from"../../internal/inert.js";import{useStyleDefaults as R}from"../../internal/defaults.js";const I={xs:{box:"1.25rem",text:"text-[0.625rem]"},sm:{box:"1.5rem",text:"text-[0.6875rem]"},md:{box:"1.75rem",text:"text-[0.75rem]"},lg:{box:"2rem",text:"text-[0.8125rem]"},xl:{box:"2.25rem",text:"text-[0.875rem]"}},M={default:{xs:"gap-0.5",sm:"gap-1",md:"gap-1",lg:"gap-1.5",xl:"gap-2"},compact:{xs:"gap-0",sm:"gap-0",md:"gap-0.5",lg:"gap-0.5",xl:"gap-1"}},T={solid:[S,"text-(--neba-fg) bg-(--n-panel-hover)","[box-shadow:var(--n-elev),var(--neba-plate-solid)]"].join(" "),outline:[S,"border text-(--neba-fg) bg-(--n-panel)","[border-color:var(--n-line)]","[box-shadow:var(--n-elev),var(--neba-plate-glass)]"].join(" "),text:"text-(--neba-fg) bg-transparent"};function B(e){return"string"==typeof e?e:""}function StepHeading({level:e,...t}){return a.createElement(`h${Math.min(6,Math.max(1,e))}`,t)}export const HowToSteps=/*@__PURE__*/a.forwardRef(function HowToSteps(S,E){const{steps:W,title:$,headingLevel:D=3,step:_,defaultStep:A=0,onStepChange:F,completed:q,defaultCompleted:G=!1,onCompletedChange:J,orientation:K="vertical",maxHeight:O,railWidth:P="15rem",navigation:Q=!0,divider:U=!0,transition:V="fade",completion:X=!0,completedContent:Y,variant:Z="outline",size:ee="md",color:te="primary",density:ne="default",elevation:ae=0,locale:le,previousLabel:re,nextLabel:ie,doneLabel:oe,restartLabel:se,className:ce,style:me,...de}=R(S,["size","density","variant","locale"]),pe=p(d,le),fe=a.useId(),ue=g($),[ge,he]=a.useState(A),[xe,be]=a.useState(G),ve=void 0!==_,we=void 0!==q,Ne=W.length,ye=Math.min(Math.max(ve?_:ge,0),Math.max(Ne-1,0)),je=X&&(we?q:xe),ke=void 0!==O,Se="vertical"===K,Ce=a.useRef(null),ze=a.useRef(null);a.useEffect(()=>{const e=Ce.current,t=ze.current;if(!e||!t)return;const n=e.getBoundingClientRect(),a=t.getBoundingClientRect();Se?a.top<n.top?e.scrollTop-=n.top-a.top:a.bottom>n.bottom&&(e.scrollTop+=a.bottom-n.bottom):a.left<n.left?e.scrollLeft-=n.left-a.left:a.right>n.right&&(e.scrollLeft+=a.right-n.right)},[ye,Se]);const He=a.useRef(null),Le=a.useRef(null),Re=a.useRef(null);if(a.useEffect(()=>{null!==Re.current&&Re.current===je&&(Re.current=null,(je?He:Le).current?.focus())},[je]),0===Ne)return null;const Ie=(e,t=!1)=>{we||be(t),je!==t&&J?.(t),t||(ve||he(e),e!==ye&&F?.(e))},Me=0===ye,Te=ye===Ne-1,Be=(e,t)=>{Re.current=e.currentTarget===document.activeElement?t:null},Ee="none"===V?null:f(V),We=t=>{const n=je||t<ye,a=!je&&t===ye;return e("span",{"aria-hidden":"true",className:u("z-1 flex shrink-0 items-center justify-center rounded-full border font-medium","size-(--n-step-mark) [&_svg]:size-[1.15em]",I[ee].text,H,n?"bg-(--n-fill) text-(--n-on-solid) [border-color:transparent]":a?"bg-(--neba-surface) text-(--n-accent) [border-color:var(--n-accent)]":"bg-(--neba-surface) text-(--neba-muted-fg) [border-color:var(--n-line)]"),children:n?e(i,{}):t+1})},$e=e("ol",{ref:Ce,role:"list","aria-label":pe.steps,className:u("m-0 flex list-none p-0",Se?"flex-col":"flex-row",M[ne][ee],ke&&Se?"min-h-0 overflow-y-auto overscroll-contain":"",Se?"":"overflow-x-auto overscroll-contain"),children:W.map((n,a)=>{const l=je||a<ye,r=!je&&a===ye,i=B(n.title);return t("li",{ref:r?ze:void 0,className:u("relative",Se?"":"min-w-0 flex-1"),children:[a<Ne-1?e("span",{"aria-hidden":"true",className:u("absolute",H,l?"bg-(--n-fill)":"bg-(--n-line)",Se?["w-px","[inset-inline-start:calc(0.25rem+var(--n-step-mark)/2)]","[top:calc(0.25rem+var(--n-step-mark))]","[height:calc(100%-var(--n-step-mark))]"].join(" "):["h-px","[inset-inline-start:calc(50%+var(--n-step-mark)/2)]","[top:calc(0.25rem+var(--n-step-mark)/2)]","[width:calc(100%-var(--n-step-mark))]"].join(" "))}):null,t("button",{type:"button",onClick:()=>Ie(a),"aria-current":r?"step":void 0,"aria-label":i?m(pe.step,{index:String(a+1),title:i}):void 0,className:u("flex w-full cursor-pointer items-center p-1 text-start",Se?"gap-3":"flex-col gap-1.5 text-center",w.sm,"hover:bg-(--n-soft)",H,b),children:[We(a),e("span",{className:u("min-w-0",Se?"truncate":"",v[ee],r?"font-medium text-(--neba-fg)":"text-(--neba-muted-fg)"),children:n.title})]})]},a)})}),De=t("div",{className:u("grid flex-1 grid-cols-1",ke?"min-h-0":""),children:[W.map((n,a)=>{const l=je||a!==ye;return t("div",{"aria-hidden":l,inert:L(l),className:u("col-start-1 row-start-1 min-w-0",ke?"overflow-y-auto overscroll-contain":"",l?"invisible":Ee?.className??""),style:l?void 0:Ee?.style,children:[t("div",{className:"mb-3 flex items-baseline gap-3",children:[g(n.icon)?e("span",{"aria-hidden":"true",className:u("flex h-[1lh] shrink-0 items-center text-(--n-accent)",j[ee],x),children:n.icon}):null,e(StepHeading,{level:ue?D+1:D,className:u("neba-heading min-w-0 flex-1","[&.neba-heading]:m-0 [&.neba-heading]:font-medium [&.neba-heading]:text-inherit",h[ee]),children:n.title}),e("span",{className:u("shrink-0 text-(--neba-muted-fg) tabular-nums",v[ee]),children:m(pe.position,{index:String(a+1),total:String(Ne)})})]}),n.image?e("img",{alt:n.imageAlt??B(n.title),width:n.imageWidth,height:n.imageHeight,className:u("mb-3 h-auto max-h-72 w-full object-contain",w[ee]),loading:n.imageLoading??"lazy",decoding:"async",src:n.image}):null,g(n.content)?e("div",{className:u("min-w-0",N[ee]),children:n.content}):null]},a)}),X?t("div",{"aria-hidden":!je,inert:L(!je),className:u("col-start-1 row-start-1 flex min-w-0 flex-col items-center justify-center gap-2 py-4 text-center",je?Ee?.className??"":"invisible"),style:je?Ee?.style:void 0,children:[e("span",{"aria-hidden":"true",className:"text-(--n-accent) [&_svg]:size-9",children:e(c,{})}),e("p",{className:u("m-0 font-medium",N[ee]),children:Y??pe.completed})]}):null]});return t("div",{ref:E,role:ue?"group":void 0,"aria-labelledby":ue?fe:void 0,className:u("flex min-w-0 flex-col",w[ee],r[ne][ee],y[ee],T[Z],H,ce),style:{...C(te,ae),"--n-fill":`var(--neba-${te}-fill)`,"--n-on-solid":`var(--neba-${te}-on-solid)`,"--n-step-mark":I[ee].box,"--n-step-rail":z(P),...ke?{maxHeight:z(O)}:null,...me},...de,children:[ue?e(StepHeading,{level:D,id:fe,className:u("neba-heading shrink-0","[&.neba-heading]:m-0 [&.neba-heading]:font-medium [&.neba-heading]:text-inherit",h[ee]),children:$}):null,e("span",{className:k,"aria-live":"polite",children:je?"":"string"==typeof W[ye]?.title?m(pe.step,{index:String(ye+1),title:W[ye].title}):m(pe.position,{index:String(ye+1),total:String(Ne)})}),t("div",{className:u("flex min-w-0 flex-1 flex-col",ke?"min-h-0":"",Se?"gap-4 sm:flex-row sm:gap-5":"gap-4"),children:[e("div",{className:u("flex min-w-0 flex-col",ke?"min-h-0":"",Se?"sm:w-(--n-step-rail) sm:shrink-0":"",U?Se?"border-b pb-4 sm:border-b-0 sm:border-e sm:pb-0 sm:pe-5":"border-b pb-4":"",U?"[border-color:var(--n-line)]":""),children:$e}),t("div",{className:u("flex min-w-0 flex-1 flex-col",ke?"min-h-0":"",y[ee]),children:[De,Q?e("div",{className:"flex shrink-0 flex-wrap items-center justify-end gap-2",children:je?e(l,{ref:He,size:ee,variant:"outline",color:te,startIcon:e(s,{}),onClick:e=>{Be(e,!1),Ie(0)},children:se??pe.restart}):t(n,{children:[e(l,{size:ee,variant:"outline",color:te,disabled:Me,focusableWhenDisabled:!0,startIcon:e("span",{className:"rotate-90 rtl:-rotate-90",children:e(o,{})}),onClick:()=>Ie(ye-1),children:re??pe.previous}),e(l,Te&&X?{ref:Le,size:ee,variant:"solid",color:te,startIcon:e(i,{}),onClick:e=>{Be(e,!0),Ie(ye,!0)},children:oe??pe.done}:{ref:Le,size:ee,variant:"solid",color:te,disabled:Te,focusableWhenDisabled:!0,endIcon:e("span",{className:"-rotate-90 rtl:rotate-90",children:e(o,{})}),onClick:()=>Ie(ye+1),children:ie??pe.next})]})}):null]})]})]})});
1
+ "use client";import{jsx as e,jsxs as t,Fragment as n}from"react/jsx-runtime";import*as a from"react";import{Button as l}from"../button/Button.js";import{boxPaddingClasses as r}from"../box/Box.js";import{CheckIcon as i,ChevronIcon as o,RestartIcon as s,SuccessIcon as c}from"../../internal/icons.js";import{fillMessage as m,stepsMessages as d,useMessages as p}from"../../internal/i18n.js";import{transitionProps as u}from"../../internal/animate.js";import{cx as f,hasContent as g,headingTitleClasses as h,iconClasses as x,insetRingClasses as b,metaTextClasses as v,radiusClasses as w,sheetBodyClasses as N,sheetSectionGapClasses as y,sheetTitleClasses as k,srOnlyClasses as S,surfaceClasses as j,surfaceSlots as C,toLength as z,transitionClasses as H}from"../../internal/styles.js";import{inertValue as L}from"../../internal/inert.js";import{useStyleDefaults as R}from"../../internal/defaults.js";const I={xs:{box:"1.25rem",text:"text-[0.625rem]"},sm:{box:"1.5rem",text:"text-[0.6875rem]"},md:{box:"1.75rem",text:"text-[0.75rem]"},lg:{box:"2rem",text:"text-[0.8125rem]"},xl:{box:"2.25rem",text:"text-[0.875rem]"}},M={default:{xs:"gap-0.5",sm:"gap-1",md:"gap-1",lg:"gap-1.5",xl:"gap-2"},compact:{xs:"gap-0",sm:"gap-0",md:"gap-0.5",lg:"gap-0.5",xl:"gap-1"}},T={solid:j+" text-(--neba-fg) bg-(--n-panel-hover) [box-shadow:var(--n-elev),var(--neba-plate-solid)]",outline:j+" border text-(--neba-fg) bg-(--n-panel) [border-color:var(--n-line)] [box-shadow:var(--n-elev),var(--neba-plate-glass)]",text:"text-(--neba-fg) bg-transparent"};function B(e){return"string"==typeof e?e:""}function StepHeading({level:e,...t}){return a.createElement(`h${Math.min(6,Math.max(1,e))}`,t)}export const HowToSteps=/*@__PURE__*/a.forwardRef(function HowToSteps(j,E){const{steps:W,title:$,headingLevel:D=3,step:_,defaultStep:A=0,onStepChange:F,completed:q,defaultCompleted:G=!1,onCompletedChange:J,orientation:K="vertical",maxHeight:O,railWidth:P="15rem",navigation:Q=!0,divider:U=!0,transition:V="fade",completion:X=!0,completedContent:Y,variant:Z="outline",size:ee="md",color:te="primary",density:ne="default",elevation:ae=0,locale:le,previousLabel:re,nextLabel:ie,doneLabel:oe,restartLabel:se,className:ce,style:me,...de}=R(j,["size","density","variant","locale"]),pe=p(d,le),ue=a.useId(),fe=g($),[ge,he]=a.useState(A),[xe,be]=a.useState(G),ve=void 0!==_,we=void 0!==q,Ne=W.length,ye=Math.min(Math.max(ve?_:ge,0),Math.max(Ne-1,0)),ke=X&&(we?q:xe),[Se,je]=a.useState(!1),[Ce]=a.useState({active:ye,completed:ke});Se||ye===Ce.active&&ke===Ce.completed||je(!0);const ze=void 0!==O,He="vertical"===K,Le=a.useRef(null),Re=a.useRef(null);a.useEffect(()=>{const e=Le.current,t=Re.current;if(!e||!t)return;const n=e.getBoundingClientRect(),a=t.getBoundingClientRect();He?a.top<n.top?e.scrollTop-=n.top-a.top:a.bottom>n.bottom&&(e.scrollTop+=a.bottom-n.bottom):a.left<n.left?e.scrollLeft-=n.left-a.left:a.right>n.right&&(e.scrollLeft+=a.right-n.right)},[ye,He]);const Ie=a.useRef(null),Me=a.useRef(null),Te=a.useRef(null);if(a.useEffect(()=>{null!==Te.current&&Te.current===ke&&(Te.current=null,(ke?Ie:Me).current?.focus())},[ke]),0===Ne)return null;const Be=(e,t=!1)=>{we||be(t),ke!==t&&J?.(t),t||(ve||he(e),e!==ye&&F?.(e))},Ee=0===ye,We=ye===Ne-1,$e=(e,t)=>{Te.current=e.currentTarget===document.activeElement?t:null},De="none"!==V&&Se?u(V):null,_e=t=>{const n=ke||t<ye,a=!ke&&t===ye;return e("span",{"aria-hidden":"true",className:f("z-1 flex shrink-0 items-center justify-center rounded-full border font-medium","size-(--n-step-mark) [&_svg]:size-[1.15em]",I[ee].text,H,n?"bg-(--n-fill) text-(--n-on-solid) [border-color:transparent]":a?"bg-(--neba-surface) text-(--n-accent) [border-color:var(--n-accent)]":"bg-(--neba-surface) text-(--neba-muted-fg) [border-color:var(--n-line)]"),children:n?e(i,{}):t+1})},Ae=e("ol",{ref:Le,role:"list","aria-label":pe.steps,className:f("m-0 flex list-none p-0",He?"flex-col":"flex-row",M[ne][ee],ze&&He?"min-h-0 overflow-y-auto overscroll-contain":"",He?"":"overflow-x-auto overscroll-contain"),children:W.map((n,a)=>{const l=ke||a<ye,r=!ke&&a===ye,i=B(n.title);return t("li",{ref:r?Re:void 0,className:f("relative",He?"":"min-w-0 flex-1"),children:[a<Ne-1?e("span",{"aria-hidden":"true",className:f("absolute",H,l?"bg-(--n-fill)":"bg-(--n-line)",He?"w-px [inset-inline-start:calc(0.25rem+var(--n-step-mark)/2)] [top:calc(0.25rem+var(--n-step-mark))] [height:calc(100%-var(--n-step-mark))]":"h-px [inset-inline-start:calc(50%+var(--n-step-mark)/2)] [top:calc(0.25rem+var(--n-step-mark)/2)] [width:calc(100%-var(--n-step-mark))]")}):null,t("button",{type:"button",onClick:()=>Be(a),"aria-current":r?"step":void 0,"aria-label":i?m(pe.step,{index:String(a+1),title:i}):void 0,className:f("flex w-full cursor-pointer items-center p-1 text-start",He?"gap-3":"flex-col gap-1.5 text-center",w.sm,"hover:bg-(--n-soft)",H,b),children:[_e(a),e("span",{className:f("min-w-0",He?"truncate":"",v[ee],r?"font-medium text-(--neba-fg)":"text-(--neba-muted-fg)"),children:n.title})]})]},a)})}),Fe=t("div",{className:f("grid flex-1 grid-cols-1",ze?"min-h-0":""),children:[W.map((n,a)=>{const l=ke||a!==ye;return t("div",{"aria-hidden":l,inert:L(l),className:f("col-start-1 row-start-1 min-w-0",ze?"overflow-y-auto overscroll-contain":"",l?"invisible":De?.className??""),style:l?void 0:De?.style,children:[t("div",{className:"mb-3 flex items-baseline gap-3",children:[g(n.icon)?e("span",{"aria-hidden":"true",className:f("flex h-[1lh] shrink-0 items-center text-(--n-accent)",k[ee],x),children:n.icon}):null,e(StepHeading,{level:fe?D+1:D,className:f("neba-heading min-w-0 flex-1","[&.neba-heading]:m-0 [&.neba-heading]:font-medium [&.neba-heading]:text-inherit",h[ee]),children:n.title}),e("span",{className:f("shrink-0 text-(--neba-muted-fg) tabular-nums",v[ee]),children:m(pe.position,{index:String(a+1),total:String(Ne)})})]}),n.image?e("img",{alt:n.imageAlt??B(n.title),width:n.imageWidth,height:n.imageHeight,className:f("mb-3 h-auto max-h-72 w-full object-contain",w[ee]),loading:n.imageLoading??"lazy",decoding:"async",src:n.image}):null,g(n.content)?e("div",{className:f("min-w-0",N[ee]),children:n.content}):null]},a)}),X?t("div",{"aria-hidden":!ke,inert:L(!ke),className:f("col-start-1 row-start-1 flex min-w-0 flex-col items-center justify-center gap-2 py-4 text-center",ke?De?.className??"":"invisible"),style:ke?De?.style:void 0,children:[e("span",{"aria-hidden":"true",className:"text-(--n-accent) [&_svg]:size-9",children:e(c,{})}),e("p",{className:f("m-0 font-medium",N[ee]),children:Y??pe.completed})]}):null]});return t("div",{ref:E,role:fe?"group":void 0,"aria-labelledby":fe?ue:void 0,className:f("flex min-w-0 flex-col",w[ee],r[ne][ee],y[ee],T[Z],H,ce),style:{...C(te,ae),"--n-fill":`var(--neba-${te}-fill)`,"--n-on-solid":`var(--neba-${te}-on-solid)`,"--n-step-mark":I[ee].box,"--n-step-rail":z(P),...ze?{maxHeight:z(O)}:null,...me},...de,children:[fe?e(StepHeading,{level:D,id:ue,className:f("neba-heading shrink-0","[&.neba-heading]:m-0 [&.neba-heading]:font-medium [&.neba-heading]:text-inherit",h[ee]),children:$}):null,e("span",{className:S,"aria-live":"polite",children:ke?"":"string"==typeof W[ye]?.title?m(pe.step,{index:String(ye+1),title:W[ye].title}):m(pe.position,{index:String(ye+1),total:String(Ne)})}),t("div",{className:f("flex min-w-0 flex-1 flex-col",ze?"min-h-0":"",He?"gap-4 sm:flex-row sm:gap-5":"gap-4"),children:[e("div",{className:f("flex min-w-0 flex-col",ze?"min-h-0":"",He?"sm:w-(--n-step-rail) sm:shrink-0":"",U?He?"border-b pb-4 sm:border-b-0 sm:border-e sm:pb-0 sm:pe-5":"border-b pb-4":"",U?"[border-color:var(--n-line)]":""),children:Ae}),t("div",{className:f("flex min-w-0 flex-1 flex-col",ze?"min-h-0":"",y[ee]),children:[Fe,Q?e("div",{className:"flex shrink-0 flex-wrap items-center justify-end gap-2",children:ke?e(l,{ref:Ie,size:ee,variant:"outline",color:te,startIcon:e(s,{}),onClick:e=>{$e(e,!1),Be(0)},children:se??pe.restart}):t(n,{children:[e(l,{size:ee,variant:"outline",color:te,disabled:Ee,focusableWhenDisabled:!0,startIcon:e("span",{className:"rotate-90 rtl:-rotate-90",children:e(o,{})}),onClick:()=>Be(ye-1),children:re??pe.previous}),e(l,We&&X?{ref:Me,size:ee,variant:"solid",color:te,startIcon:e(i,{}),onClick:e=>{$e(e,!0),Be(ye,!0)},children:oe??pe.done}:{ref:Me,size:ee,variant:"solid",color:te,disabled:We,focusableWhenDisabled:!0,endIcon:e("span",{className:"-rotate-90 rtl:rotate-90",children:e(o,{})}),onClick:()=>Be(ye+1),children:ie??pe.next})]})}):null]})]})]})});
@@ -1 +1 @@
1
- "use client";import{jsx as e,jsxs as t,Fragment as n}from"react/jsx-runtime";import*as o from"react";import{AspectRatio as r}from"../aspect-ratio/AspectRatio.js";import{Skeleton as i}from"../skeleton/Skeleton.js";import{useStyleDefaults as a}from"../../internal/defaults.js";import{imageMessages as l,useMessages as s}from"../../internal/i18n.js";import{useHydrated as c}from"../../internal/media.js";import{cx as u,metaTextValues as d,radiusClasses as f,toLength as h,transitionClasses as p}from"../../internal/styles.js";const b={cover:"object-cover",contain:"object-contain",fill:"object-fill",none:"object-none","scale-down":"object-scale-down"},m={none:"none",grayscale:"grayscale(1)",sepia:"sepia(0.72)",invert:"invert(1)",saturate:"saturate(1.5)",mute:"saturate(0.45)",contrast:"contrast(1.25)"},g={"top-start":"items-start justify-start","top-end":"items-start justify-end","bottom-start":"items-end justify-start","bottom-end":"items-end justify-end",center:"items-center justify-center"},v=Number.parseInt(o.version,10)>=19?"fetchPriority":"fetchpriority";let y;export const previewChunk={load:()=>(y??=import("../dialog/Dialog.js").then(e=>({default:e.Dialog})).catch(e=>{throw y=void 0,e}),y)};const x=o.lazy(()=>previewChunk.load());function w(e){const t="number"==typeof e?e:""===e.trim()?NaN:Number(e);return Number.isFinite(t)?`${t}px`:String(e)}const k=/^(-?\d*\.?\d+)%$/;function $(e,t,n){const o=function(e){let t=.5,n=.5;for(const[o,r]of e.trim().toLowerCase().split(/\s+/).entries()){const e=k.exec(r);if("left"===r||"right"===r)t="left"===r?0:1;else if("top"===r||"bottom"===r)n="top"===r?0:1;else if(null!==e)0===o?t=Number(e[1])/100:n=Number(e[1])/100;else if("center"!==r)return null}return[t,n]}(e);if(null===o)return e;let[r,i]=o;"horizontal"!==n&&"both"!==n||(r=1-r),"vertical"!==n&&"both"!==n||(i=1-i);for(let e=0;e<t;e+=1)[r,i]=[i,1-r];const a=e=>Math.round(1e4*e)/100+"%";return`${a(r)} ${a(i)}`}function N(e,t,n){const o=e=>0===n?e:`calc(${e} + ${2*n}px)`;return t?{...e,width:o("100cqh"),height:o("100cqw")}:{...e,position:"absolute",top:-n+"px",left:-n+"px",width:o("100%"),height:o("100%"),maxWidth:"none"}}function j(e,t){switch(e){case"rect":return{borderRadius:"0px"};case"circle":return{borderRadius:"50%"};case"arch":return{borderRadius:`50% 50% ${t} ${t} / 55% 55% ${t} ${t}`};case"cut":return{clipPath:`polygon(${t} 0, calc(100% - ${t}) 0, 100% ${t}, 100% calc(100% - ${t}), calc(100% - ${t}) 100%, ${t} 100%, 0 calc(100% - ${t}), 0 ${t})`};default:return{borderRadius:t}}}function S(e){const t=t=>`linear-gradient(to ${t}, transparent, #000 ${e}, #000 calc(100% - ${e}), transparent)`,n=`${t("right")}, ${t("bottom")}`;return{maskImage:n,maskComposite:"intersect",WebkitMaskImage:n,WebkitMaskComposite:"source-in"}}function TiledMark({text:n,color:r,opacity:i,rotate:a,fontSize:l,slot:s}){const c=`neba-mark-${o.useId().replace(/[^\w-]/g,"")}`,d=function(e){let t=0;for(const n of e)t+=/[ᄀ-ᇿ⺀-꓏가-퟿豈-﫿︰-﹏]/.test(n)?1:.6;return{width:Math.max(16,Math.round(16*(t+2.4))),height:52}}(n);return t("svg",{"aria-hidden":"true",className:u("pointer-events-none absolute select-none",s),style:{top:"-40%",left:"-40%",width:"180%",height:"180%",opacity:i,fontSize:l,transform:`rotate(${a}deg)`},children:[e("defs",{children:e("pattern",{id:c,patternUnits:"userSpaceOnUse",width:d.width/16+"em",height:d.height/16+"em",children:e("text",{x:"0",y:"2em",style:{fill:r,fontFamily:"system-ui, sans-serif",stroke:"rgba(0, 0, 0, 0.28)",strokeWidth:"0.0375em",paintOrder:"stroke"},children:n})})}),e("rect",{width:"100%",height:"100%",fill:`url(#${c})`})]})}export const Image=/*@__PURE__*/o.forwardRef(function Image(y,k){const{alt:C,ratio:R="auto",width:M,height:_,fit:W="cover",position:P,letterbox:L="none",rounded:O=!1,placeholder:T,fallback:D,onLoadingStatusChange:E,preview:F=!1,priority:I=!1,filter:U="none",rotate:q=0,flip:H="none",frame:B,watermark:A,protect:V=!1,locale:G,unavailableLabel:J,className:K,classNames:Q,style:X,src:Y,srcSet:Z,sizes:ee,loading:te,decoding:ne,fetchPriority:oe,onLoad:re,onError:ie,onContextMenu:ae,onDragStart:le,draggable:se,...ce}=a(y,["locale"]),ue=s(l,G),de=!1!==T&&function(e){return"object"==typeof e&&null!==e&&!o.isValidElement(e)&&"src"in e}(T)?T:null,fe=function(e){const[t,n]=o.useState(null);return o.useEffect(()=>{if("undefined"==typeof Blob||!(e instanceof Blob))return;const t=URL.createObjectURL(e);return n({blob:e,url:t}),()=>URL.revokeObjectURL(t)},[e]),"string"==typeof e?e:null!==t&&t.blob===e?t.url:void 0}(de?.src),[he,pe]=o.useState("loading"),[be,me]=o.useState(!1),[ge,ve]=o.useState(!1),ye=o.useRef(!1),xe=()=>{ye.current||(ye.current=!0,previewChunk.load().catch(()=>{}))},we=c(),[ke]=o.useState(()=>!we),[$e,Ne]=o.useState(null),je=o.useRef(null),Se=o.useRef(E);o.useEffect(()=>{Se.current=E});const ze=o.useCallback(e=>{je.current=e,"function"==typeof k?k(e):k&&(k.current=e)},[k]);o.useEffect(()=>{const e=je.current,t=(Y||Z)&&e?.complete?e.naturalWidth>0?"loaded":"failed":null;pe(t??"loading"),Ne("loaded"===t&&e?{width:e.naturalWidth,height:e.naturalHeight}:null),Se.current?.(t??"loading")},[Y,Z]);const Ce=(e,t)=>{pe(e),"loaded"===e&&Ne({width:t.naturalWidth,height:t.naturalHeight}),E?.(e)},Re=!1===O?"":f[!0===O?"md":O],Me=U in m?m[U]:U,_e=!0===V?{}:!1===V?null:V,We=null!==_e&&!1!==_e.contextMenu,Pe=null!==_e&&!1!==_e.drag,Le=null!==_e&&!1!==_e.select,Oe=e=>e.preventDefault(),Te=function(e){return Number.isFinite(e)?(Math.round(e/90)%4+4)%4:0}(q),De=Te%2==1,Ee=function(e,t){const n=e%2==1,o="horizontal"===t||"both"===t,r="vertical"===t||"both"===t,i=n?r:o,a=n?o:r;return{scale:i||a?`${i?-1:1} ${a?-1:1}`:void 0,rotate:0===e?void 0:90*e+"deg",...n?{position:"absolute",top:"50%",left:"50%",width:"100cqh",height:"100cqw",maxWidth:"none",translate:"-50% -50%"}:null}}(Te,H),Fe=void 0===P?void 0:$(P,Te,H),Ie="blur"===L&&"cover"!==W&&"fill"!==W,Ue="none"!==L&&"blur"!==L?L:void 0,qe=_e?{onContextMenu:We?Oe:void 0,onDragStart:Pe?Oe:void 0,draggable:!Pe&&void 0,className:Le?"select-none":"",style:Le?{WebkitTouchCallout:"none"}:void 0}:null,He=oe??ce.fetchpriority??(I?"high":void 0),Be={loading:te??(I?"eager":void 0),decoding:ne,...void 0===He?null:{[v]:He},sizes:ee,srcSet:Z,src:Y},Ae=e("img",{ref:ze,alt:C,width:M,height:_,className:u("block size-full",b[W],Re,"[transition:opacity_var(--neba-duration-fill)_var(--neba-ease),filter_var(--neba-duration-fill)_var(--neba-ease),transform_var(--neba-duration-fill)_var(--neba-ease)]",I||ke||"loaded"===he?"opacity-100":"opacity-0",Ie||null!==de||ke?"relative":"",qe?.className,Q?.image),style:{filter:"none"===Me?void 0:Me,objectPosition:Fe,...Ee,...qe?.style},onLoad:e=>{Ce("loaded",e.currentTarget),re?.(e)},onError:e=>{Ce("failed",e.currentTarget),ie?.(e)},onContextMenu:e=>{We&&Oe(e),ae?.(e)},onDragStart:e=>{Pe&&Oe(e),le?.(e)},draggable:!Pe&&se,...ce,...Be}),Ve=Ie?e("img",{alt:"","aria-hidden":"true",draggable:!1,className:u("pointer-events-none block object-cover select-none","[transition:opacity_var(--neba-duration-fill)_var(--neba-ease)]",ke||"loaded"===he?"opacity-100":"opacity-0"),style:{...N(Ee,De,48),objectPosition:Fe,filter:("none"===Me?"":`${Me} `)+"blur(24px)"},crossOrigin:ce.crossOrigin,referrerPolicy:ce.referrerPolicy,loading:te,decoding:ne,sizes:ee,srcSet:Z,src:Y}):null,Ge=null!==de&&de.blur?!0===de.blur?20:de.blur:0,Je=null===de||"failed"===he||void 0===fe?null:e("img",{src:fe,alt:"","aria-hidden":"true",draggable:!1,className:u("pointer-events-none block select-none",b[W],"loaded"===he?"opacity-0 [transition:opacity_0ms_linear_var(--neba-duration-fill)]":"opacity-100",Q?.placeholder),style:{...N(Ee,De,2*Ge),objectPosition:Fe,filter:0===Ge?void 0:`blur(${Ge}px)`}}),Ke="failed"===he?e("span",{className:u("absolute inset-0 flex items-center justify-center","bg-(--neba-disabled-bg) text-(--neba-muted-fg)",Re,Q?.fallback),children:D??e("span",{className:"px-2 text-center text-sm","aria-hidden":!!C||void 0,children:C||J||ue.unavailable})}):null,Qe="loading"!==he||!1===T||null!==de||I?null:e("span",{className:u("absolute inset-0",Q?.placeholder),children:T??e(i,{render:e("span",{}),shape:"rect",className:u("block size-full",Re)})}),Xe=void 0===A?null:function(t,n){const o="string"==typeof t?{content:t}:t,{content:r,position:i="bottom-end",repeat:a=!1,opacity:l=.35,size:s="xs",color:c="#ffffff"}=o,f="string"==typeof s&&s in d?d[s]:h(s)??d.xs,p=o.rotate??(a&&"string"==typeof r?-24:0);if(a&&"string"==typeof r)return e(TiledMark,{text:r,color:c,opacity:l,rotate:p,fontSize:f,slot:n});return e("span",{"aria-hidden":"true",className:u("pointer-events-none absolute inset-0 flex select-none p-2",g[i],n),children:e("span",{style:{color:c,opacity:l,fontSize:f,lineHeight:1.2,textShadow:"0 1px 2px rgba(0, 0, 0, 0.45)",transform:p?`rotate(${p}deg)`:void 0},children:r})})}(A,Q?.watermark),Ye=t("span",{className:"relative block size-full",style:De||void 0!==Ue?{containerType:De?"size":void 0,background:Ue}:void 0,children:[Ve,Je,ke?Qe:null,Ae,ke?null:Qe,Ke,Xe]}),Ze=function(e,t){const n="number"==typeof e?e:Number(e),o="number"==typeof t?t:Number(t);return Number.isFinite(n)&&Number.isFinite(o)&&n>0&&o>0?{width:n,height:o}:null}(M,_),et="auto"===R&&null!==Ze?Ze.width/Ze.height:null,tt=null===et?R:De?1/et:et,nt=void 0===_&&void 0!==M?w(M):void 0,ot=void 0===M&&void 0!==_?w(_):void 0,rt=void 0!==nt?{width:nt,maxWidth:"100%"}:void 0!==ot?{height:ot,..."auto"===tt?null:{width:"auto",maxWidth:"100%"}}:null,it=void 0!==nt||void 0!==ot&&"auto"!==tt,at="auto"===tt&&De&&null!==$e&&void 0===ot?$e.height/$e.width:null,lt=void 0===B?null:function(e,t){const n=!0===t?"md":t;return{shape:"rounded",corner:!1===n?"md":n,..."string"==typeof e?{shape:e}:e}}(B,O),st=null===lt?"0px":function(e){return"string"==typeof e&&e in f?`var(--neba-radius-${e})`:h(e)??"0px"}(lt.corner??"md"),ct=null===lt?void 0:h(lt.mat),ut=null===lt?void 0:h(lt.feather),dt={...rt,...null===lt?null:j(lt.shape,st),...void 0===ut?null:S(ut),...null!==lt||F?null:X},ft="auto"===tt?e("span",{className:u("relative block overflow-hidden",null===lt?Re:"",null!==lt||F?"":K),style:null===at?dt:{aspectRatio:at,...dt},children:Ye}):e(r,{render:e("span",{}),ratio:tt,className:u("block overflow-hidden",null===lt?Re:"",null!==lt||F?"":K),style:dt,children:Ye}),ht=null===lt?void 0:function(e){if(void 0===e.border||!1===e.border)return;const t=!0===e.border?"1px":h(e.border);return`inset 0 0 0 ${t} ${e.borderColor??"var(--neba-line)"}`}(lt),pt=void 0===ct?st:`calc(${st} + ${ct})`,bt=null===lt?ft:t("span",{className:u("relative block",Q?.frame,F?"":K),style:{...j(lt.shape,pt),padding:ct,background:lt.background??(void 0===ct?void 0:"var(--neba-surface)"),boxShadow:lt.elevation?`var(--neba-shadow-${lt.elevation})`:void 0,width:it?"fit-content":void 0,maxWidth:it?"100%":void 0,...F?null:X},children:[ft,void 0===ht?null:e("span",{"aria-hidden":"true",className:"pointer-events-none absolute inset-0",style:{...j(lt.shape,pt),boxShadow:ht}})]});return F?t(n,{children:[e("button",{type:"button","aria-label":C||ue.preview,"aria-haspopup":"dialog",className:u("block cursor-zoom-in",p,it?"[:where(&)]:w-fit [:where(&)]:max-w-full":"[:where(&)]:w-full","focus-visible:[outline:2px_solid_var(--n-ring,var(--neba-primary-ring))] focus-visible:[outline-offset:2px]",Re,K),style:X,onPointerEnter:xe,onFocus:xe,onTouchStart:xe,onClick:()=>{ve(!0),me(!0)},children:bt}),ge?e(o.Suspense,{fallback:null,children:e(x,{open:be,onOpenChange:me,size:"xl",title:C||ue.preview,children:t("span",{className:u("relative mx-auto block",De?"":"w-fit"),style:De?z($e??Ze):void 0,children:[e("img",{alt:C,className:u(De?"block object-contain":"mx-auto block max-h-[70vh] w-auto max-w-full",qe?.className),style:{filter:"none"===Me?void 0:Me,...Ee,...qe?.style},onContextMenu:qe?.onContextMenu,onDragStart:qe?.onDragStart,draggable:qe?.draggable,crossOrigin:ce.crossOrigin,referrerPolicy:ce.referrerPolicy,srcSet:Z,src:Y}),Xe]})})}):null]}):bt});function z(e){if(null===e)return{aspectRatio:"1",width:"min(100%, 70vh)",containerType:"size"};const t=e.height/e.width;return{aspectRatio:`${e.height} / ${e.width}`,width:`min(100%, ${e.height}px, calc(70vh * ${t}))`,containerType:"size"}}
1
+ "use client";import{jsx as e,jsxs as t,Fragment as n}from"react/jsx-runtime";import*as o from"react";import{useMergedRef as r}from"../../internal/refs.js";import{AspectRatio as i}from"../aspect-ratio/AspectRatio.js";import{Skeleton as a}from"../skeleton/Skeleton.js";import{useStyleDefaults as l}from"../../internal/defaults.js";import{imageMessages as s,useMessages as c}from"../../internal/i18n.js";import{useHydrated as u}from"../../internal/media.js";import{cx as d,metaTextValues as h,radiusClasses as f,toLength as p,transitionClasses as b}from"../../internal/styles.js";const m={cover:"object-cover",contain:"object-contain",fill:"object-fill",none:"object-none","scale-down":"object-scale-down"},g={none:"none",grayscale:"grayscale(1)",sepia:"sepia(0.72)",invert:"invert(1)",saturate:"saturate(1.5)",mute:"saturate(0.45)",contrast:"contrast(1.25)"},v={"top-start":"items-start justify-start","top-end":"items-start justify-end","bottom-start":"items-end justify-start","bottom-end":"items-end justify-end",center:"items-center justify-center"},y=Number.parseInt(o.version,10)>=19?"fetchPriority":"fetchpriority";let w;export const previewChunk={load:()=>(w??=import("../dialog/Dialog.js").then(e=>({default:e.Dialog})).catch(e=>{throw w=void 0,e}),w)};const x=o.lazy(()=>previewChunk.load());function $(e){const t="number"==typeof e?e:""===e.trim()?NaN:Number(e);return Number.isFinite(t)?`${t}px`:String(e)}const k=/^(-?\d*\.?\d+)%$/;function N(e,t,n){const o=function(e){let t=.5,n=.5;for(const[o,r]of e.trim().toLowerCase().split(/\s+/).entries()){const e=k.exec(r);if("left"===r||"right"===r)t="left"===r?0:1;else if("top"===r||"bottom"===r)n="top"===r?0:1;else if(null!==e)0===o?t=Number(e[1])/100:n=Number(e[1])/100;else if("center"!==r)return null}return[t,n]}(e);if(null===o)return e;let[r,i]=o;"horizontal"!==n&&"both"!==n||(r=1-r),"vertical"!==n&&"both"!==n||(i=1-i);for(let e=0;e<t;e+=1)[r,i]=[i,1-r];const a=e=>Math.round(1e4*e)/100+"%";return`${a(r)} ${a(i)}`}function j(e,t,n){const o=e=>0===n?e:`calc(${e} + ${2*n}px)`;return t?{...e,width:o("100cqh"),height:o("100cqw")}:{...e,position:"absolute",top:-n+"px",left:-n+"px",width:o("100%"),height:o("100%"),maxWidth:"none"}}function S(e,t){switch(e){case"rect":return{borderRadius:"0px"};case"circle":return{borderRadius:"50%"};case"arch":return{borderRadius:`50% 50% ${t} ${t} / 55% 55% ${t} ${t}`};case"cut":return{clipPath:`polygon(${t} 0, calc(100% - ${t}) 0, 100% ${t}, 100% calc(100% - ${t}), calc(100% - ${t}) 100%, ${t} 100%, 0 calc(100% - ${t}), 0 ${t})`};default:return{borderRadius:t}}}function z(e){const t=t=>`linear-gradient(to ${t}, transparent, #000 ${e}, #000 calc(100% - ${e}), transparent)`,n=`${t("right")}, ${t("bottom")}`;return{maskImage:n,maskComposite:"intersect",WebkitMaskImage:n,WebkitMaskComposite:"source-in"}}function TiledMark({text:n,color:r,opacity:i,rotate:a,fontSize:l,slot:s}){const c=`neba-mark-${o.useId().replace(/[^\w-]/g,"")}`,u=function(e){let t=0;for(const n of e)t+=/[ᄀ-ᇿ⺀-꓏가-퟿豈-﫿︰-﹏]/.test(n)?1:.6;return{width:Math.max(16,Math.round(16*(t+2.4))),height:52}}(n);return t("svg",{"aria-hidden":"true",className:d("pointer-events-none absolute select-none",s),style:{top:"-40%",left:"-40%",width:"180%",height:"180%",opacity:i,fontSize:l,transform:`rotate(${a}deg)`},children:[e("defs",{children:e("pattern",{id:c,patternUnits:"userSpaceOnUse",width:u.width/16+"em",height:u.height/16+"em",children:e("text",{x:"0",y:"2em",style:{fill:r,fontFamily:"system-ui, sans-serif",stroke:"rgba(0, 0, 0, 0.28)",strokeWidth:"0.0375em",paintOrder:"stroke"},children:n})})}),e("rect",{width:"100%",height:"100%",fill:`url(#${c})`})]})}export const Image=/*@__PURE__*/o.forwardRef(function Image(w,k){const{alt:R,ratio:M="auto",width:_,height:W,fit:P="cover",position:L,letterbox:O="none",rounded:T=!1,placeholder:D,fallback:E,onLoadingStatusChange:F,preview:I=!1,priority:U=!1,filter:q="none",rotate:H=0,flip:B="none",frame:A,watermark:V,protect:G=!1,locale:J,unavailableLabel:K,className:Q,classNames:X,style:Y,src:Z,srcSet:ee,sizes:te,loading:ne,decoding:oe,fetchPriority:re,onLoad:ie,onError:ae,onContextMenu:le,onDragStart:se,draggable:ce,...ue}=l(w,["locale"]),de=c(s,J),he=!1!==D&&function(e){return"object"==typeof e&&null!==e&&!o.isValidElement(e)&&"src"in e}(D)?D:null,fe=function(e){const[t,n]=o.useState(null);return o.useEffect(()=>{if("undefined"==typeof Blob||!(e instanceof Blob))return;const t=URL.createObjectURL(e);return n({blob:e,url:t}),()=>URL.revokeObjectURL(t)},[e]),"string"==typeof e?e:null!==t&&t.blob===e?t.url:void 0}(he?.src),[pe,be]=o.useState("loading"),[me,ge]=o.useState(!1),[ve,ye]=o.useState(!1),we=o.useRef(!1),xe=()=>{we.current||(we.current=!0,previewChunk.load().catch(()=>{}))},$e=u(),[ke]=o.useState(()=>!$e),[Ne,je]=o.useState(null),Se=o.useRef(null),ze=o.useRef(F);o.useEffect(()=>{ze.current=F});const Ce=r(Se,k);o.useEffect(()=>{const e=Se.current,t=(Z||ee)&&e?.complete?e.naturalWidth>0?"loaded":"failed":null;be(t??"loading"),je("loaded"===t&&e?{width:e.naturalWidth,height:e.naturalHeight}:null),ze.current?.(t??"loading")},[Z,ee]);const Re=(e,t)=>{if(be(e),"loaded"===e){const e=t.naturalWidth,n=t.naturalHeight;je(t=>t?.width===e&&t.height===n?t:{width:e,height:n})}F?.(e)},Me=!1===T?"":f[!0===T?"md":T],_e=q in g?g[q]:q,We=!0===G?{}:!1===G?null:G,Pe=null!==We&&!1!==We.contextMenu,Le=null!==We&&!1!==We.drag,Oe=null!==We&&!1!==We.select,Te=e=>e.preventDefault(),De=function(e){return Number.isFinite(e)?(Math.round(e/90)%4+4)%4:0}(H),Ee=De%2==1,Fe=function(e,t){const n=e%2==1,o="horizontal"===t||"both"===t,r="vertical"===t||"both"===t,i=n?r:o,a=n?o:r;return{scale:i||a?`${i?-1:1} ${a?-1:1}`:void 0,rotate:0===e?void 0:90*e+"deg",...n?{position:"absolute",top:"50%",left:"50%",width:"100cqh",height:"100cqw",maxWidth:"none",translate:"-50% -50%"}:null}}(De,B),Ie=void 0===L?void 0:N(L,De,B),Ue="blur"===O&&"cover"!==P&&"fill"!==P,qe="none"!==O&&"blur"!==O?O:void 0,He=We?{onContextMenu:Pe?Te:void 0,onDragStart:Le?Te:void 0,draggable:!Le&&void 0,className:Oe?"select-none":"",style:Oe?{WebkitTouchCallout:"none"}:void 0}:null,Be=re??ue.fetchpriority??(U?"high":void 0),Ae={loading:ne??(U?"eager":void 0),decoding:oe,...void 0===Be?null:{[y]:Be},sizes:te,srcSet:ee,src:Z},Ve=e("img",{ref:Ce,alt:R,width:_,height:W,className:d("block size-full",m[P],Me,"[transition:opacity_var(--neba-duration-fill)_var(--neba-ease),filter_var(--neba-duration-fill)_var(--neba-ease),transform_var(--neba-duration-fill)_var(--neba-ease)]",U||ke||"loaded"===pe?"opacity-100":"opacity-0",Ue||null!==he||ke?"relative":"",He?.className,X?.image),style:{filter:"none"===_e?void 0:_e,objectPosition:Ie,...Fe,...He?.style},onLoad:e=>{Re("loaded",e.currentTarget),ie?.(e)},onError:e=>{Re("failed",e.currentTarget),ae?.(e)},onContextMenu:e=>{Pe&&Te(e),le?.(e)},onDragStart:e=>{Le&&Te(e),se?.(e)},draggable:!Le&&ce,...ue,...Ae}),Ge=Ue?e("img",{alt:"","aria-hidden":"true",draggable:!1,className:d("pointer-events-none block object-cover select-none","[transition:opacity_var(--neba-duration-fill)_var(--neba-ease)]",ke||"loaded"===pe?"opacity-100":"opacity-0"),style:{...j(Fe,Ee,48),objectPosition:Ie,filter:("none"===_e?"":`${_e} `)+"blur(24px)"},crossOrigin:ue.crossOrigin,referrerPolicy:ue.referrerPolicy,...Ae}):null,Je=null!==he&&he.blur?!0===he.blur?20:he.blur:0,Ke=null===he||"failed"===pe||void 0===fe?null:e("img",{alt:"","aria-hidden":"true",draggable:!1,className:d("pointer-events-none block select-none",m[P],"loaded"===pe?"opacity-0 [transition:opacity_0ms_linear_var(--neba-duration-fill)]":"opacity-100",X?.placeholder),style:{...j(Fe,Ee,2*Je),objectPosition:Ie,filter:0===Je?void 0:`blur(${Je}px)`},loading:Ae.loading,src:fe}),Qe="failed"===pe?e("span",{className:d("absolute inset-0 flex items-center justify-center","bg-(--neba-disabled-bg) text-(--neba-muted-fg)",Me,X?.fallback),children:E??e("span",{className:"px-2 text-center text-sm","aria-hidden":!!R||void 0,children:R||K||de.unavailable})}):null,Xe="loading"!==pe||!1===D||null!==he||U?null:e("span",{className:d("absolute inset-0",X?.placeholder),children:D??e(a,{render:e("span",{}),shape:"rect",className:d("block size-full",Me)})}),Ye=void 0===V?null:function(t,n){const o="string"==typeof t?{content:t}:t,{content:r,position:i="bottom-end",repeat:a=!1,opacity:l=.35,size:s="xs",color:c="#ffffff"}=o,u="string"==typeof s&&s in h?h[s]:p(s)??h.xs,f=o.rotate??(a&&"string"==typeof r?-24:0);if(a&&"string"==typeof r)return e(TiledMark,{text:r,color:c,opacity:l,rotate:f,fontSize:u,slot:n});return e("span",{"aria-hidden":"true",className:d("pointer-events-none absolute inset-0 flex select-none p-2",v[i],n),children:e("span",{style:{color:c,opacity:l,fontSize:u,lineHeight:1.2,textShadow:"0 1px 2px rgba(0, 0, 0, 0.45)",transform:f?`rotate(${f}deg)`:void 0},children:r})})}(V,X?.watermark),Ze=t("span",{className:"relative block size-full",style:Ee||void 0!==qe?{containerType:Ee?"size":void 0,background:qe}:void 0,children:[Ge,Ke,ke?Xe:null,Ve,ke?null:Xe,Qe,Ye]}),et=function(e,t){const n="number"==typeof e?e:Number(e),o="number"==typeof t?t:Number(t);return Number.isFinite(n)&&Number.isFinite(o)&&n>0&&o>0?{width:n,height:o}:null}(_,W),tt="auto"===M&&null!==et?et.width/et.height:null,nt=null===tt?M:Ee?1/tt:tt,ot=void 0===W&&void 0!==_?$(_):void 0,rt=void 0===_&&void 0!==W?$(W):void 0,it=void 0!==ot?{width:ot,maxWidth:"100%"}:void 0!==rt?{height:rt,..."auto"===nt?null:{width:"auto",maxWidth:"100%"}}:null,at=void 0!==ot||void 0!==rt&&"auto"!==nt,lt="auto"===nt&&Ee&&null!==Ne&&void 0===rt?Ne.height/Ne.width:null,st=void 0===A?null:function(e,t){const n=!0===t?"md":t;return{shape:"rounded",corner:!1===n?"md":n,..."string"==typeof e?{shape:e}:e}}(A,T),ct=null===st?"0px":function(e){return"string"==typeof e&&e in f?`var(--neba-radius-${e})`:p(e)??"0px"}(st.corner??"md"),ut=null===st?void 0:p(st.mat),dt=null===st?void 0:p(st.feather),ht={...it,...null===st?null:S(st.shape,ct),...void 0===dt?null:z(dt),...null!==st||I?null:Y},ft="auto"===nt?e("span",{className:d("relative block overflow-hidden",null===st?Me:"",null!==st||I?"":Q),style:null===lt?ht:{aspectRatio:lt,...ht},children:Ze}):e(i,{render:e("span",{}),ratio:nt,className:d("block overflow-hidden",null===st?Me:"",null!==st||I?"":Q),style:ht,children:Ze}),pt=null===st?void 0:function(e){if(void 0===e.border||!1===e.border)return;const t=!0===e.border?"1px":p(e.border);return`inset 0 0 0 ${t} ${e.borderColor??"var(--neba-line)"}`}(st),bt=void 0===ut?ct:`calc(${ct} + ${ut})`,mt=null===st?ft:t("span",{className:d("relative block",X?.frame,I?"":Q),style:{...S(st.shape,bt),padding:ut,background:st.background??(void 0===ut?void 0:"var(--neba-surface)"),boxShadow:st.elevation?`var(--neba-shadow-${st.elevation})`:void 0,width:at?"fit-content":void 0,maxWidth:at?"100%":void 0,...I?null:Y},children:[ft,void 0===pt?null:e("span",{"aria-hidden":"true",className:"pointer-events-none absolute inset-0",style:{...S(st.shape,bt),boxShadow:pt}})]});return I?t(n,{children:[e("button",{type:"button","aria-label":R||de.preview,"aria-haspopup":"dialog",className:d("block cursor-zoom-in",b,at?"[:where(&)]:w-fit [:where(&)]:max-w-full":"[:where(&)]:w-full","focus-visible:[outline:2px_solid_var(--n-ring,var(--neba-primary-ring))] focus-visible:[outline-offset:2px]",Me,Q),style:Y,onPointerEnter:xe,onFocus:xe,onTouchStart:xe,onClick:()=>{ye(!0),ge(!0)},children:mt}),ve?e(o.Suspense,{fallback:null,children:e(x,{open:me,onOpenChange:ge,size:"xl",title:R||de.preview,children:t("span",{className:d("relative mx-auto block",Ee?"":"w-fit"),style:Ee?C(Ne??et):void 0,children:[e("img",{alt:R,className:d(Ee?"block object-contain":"mx-auto block max-h-[70vh] w-auto max-w-full",He?.className),style:{filter:"none"===_e?void 0:_e,...Fe,...He?.style},onContextMenu:He?.onContextMenu,onDragStart:He?.onDragStart,draggable:He?.draggable,crossOrigin:ue.crossOrigin,referrerPolicy:ue.referrerPolicy,srcSet:ee,src:Z}),Ye]})})}):null]}):mt});function C(e){if(null===e)return{aspectRatio:"1",width:"min(100%, 70vh)",containerType:"size"};const t=e.height/e.width;return{aspectRatio:`${e.height} / ${e.width}`,width:`min(100%, ${e.height}px, calc(70vh * ${t}))`,containerType:"size"}}
@@ -1,6 +1,25 @@
1
1
  import * as React from 'react';
2
2
  import { type SourcesMessages } from '../../internal/i18n.js';
3
3
  import type { NebaColor, NebaSize } from '../../types.js';
4
+ type HoverCardModule = typeof import('../hover-card/HoverCard.js');
5
+ /**
6
+ * The preview's card, fetched only when somebody reaches for a citation.
7
+ *
8
+ * A HoverCard is Base UI's preview card and everything it positions with, which
9
+ * was 34 kB of the 39 kB a citation weighed against the 5.6 kB of a TextLink —
10
+ * carried by every answer with a footnote in it, whether anybody hovered one or
11
+ * not. So this is the Image viewer's arrangement: the mark is drawn bare, and
12
+ * the chunk is asked for when a pointer arrives over it, when the focus reaches
13
+ * it or when a finger lands on it. The card's own delay before it opens is
14
+ * longer than the fetch usually takes. A request that fails is forgotten, so
15
+ * the next reach tries again rather than failing for good.
16
+ *
17
+ * An object rather than a function so a test can spy on it. Exported for that,
18
+ * and deliberately left out of the barrel.
19
+ */
20
+ export declare const hoverCardChunk: {
21
+ load(): Promise<HoverCardModule>;
22
+ };
4
23
  export interface InlineCitationProps extends Omit<React.ComponentPropsWithoutRef<'a'>, 'color' | 'title' | 'children'> {
5
24
  /**
6
25
  * Which source this is, and the only thing the mark itself says. It is the
@@ -51,5 +70,10 @@ export interface InlineCitationProps extends Omit<React.ComponentPropsWithoutRef
51
70
  * paragraph and the list it points at is somewhere else on the page, so there
52
71
  * is no parent that could number it — and a component that numbered itself by
53
72
  * render order would renumber the whole answer whenever a sentence moved.
73
+ *
74
+ * The preview arrives in a chunk of its own, on the first reach — see
75
+ * `hoverCardChunk`. Until then the mark is drawn bare, which is also what a
76
+ * server renders.
54
77
  */
55
78
  export declare const InlineCitation: React.ForwardRefExoticComponent<InlineCitationProps & React.RefAttributes<HTMLElement>>;
79
+ export {};
@@ -1 +1 @@
1
- "use client";import{jsx as e,jsxs as r}from"react/jsx-runtime";import*as n from"react";import{HoverCard as t}from"../hover-card/HoverCard.js";import{TextLink as i}from"../text-link/TextLink.js";import{fillMessage as a,linkMessages as o,sourcesMessages as l,useMessages as s}from"../../internal/i18n.js";import{opensElsewhere as c,safeHref as m,safeRel as d}from"../../internal/link.js";import{citationMarkClasses as f,cx as p,focusRingClasses as h,hasContent as u,metaTextClasses as v,srOnlyClasses as g,transitionClasses as b}from"../../internal/styles.js";import{useStyleDefaults as x}from"../../internal/defaults.js";export const InlineCitation=/*@__PURE__*/n.forwardRef(function InlineCitation(n,j){const{index:$,title:y,description:N,site:k,href:w,target:z,rel:C,preview:I=!0,size:T="md",color:H="primary",locale:L,labels:R,className:S,style:q,...A}=x(n,["size","locale"]),B=s(l,L),D=s(o,L),E={...B,...R},F=a(E.citation,{index:String($)}),G=m(w),J=I&&u(y),K={className:p(f,"align-[0.15em] no-underline",G?"cursor-pointer":"cursor-default","hover:bg-(--n-soft-hover)",h,b,S??""),style:{"--n-soft":`var(--neba-${H}-soft)`,"--n-soft-hover":`var(--neba-${H}-soft-hover)`,"--n-on-tint":`var(--neba-${H}-on-tint)`,"--n-ring":`var(--neba-${H}-ring)`,...q}},M=G?e("a",{ref:j,href:G,target:z,rel:d(z,C),"aria-label":c(z)?`${F} ${D.newTab}`:F,...K,...A,children:$}):r("span",{ref:j,tabIndex:J?0:void 0,...K,...A,children:[e("span",{className:g,children:F}),e("span",{"aria-hidden":"true",children:$})]});return J?e(t,{size:T,color:H,trigger:M,title:G?e(i,{href:G,underline:"hover",target:z,rel:d(z,C),locale:L,children:y}):y,description:k,children:u(N)?e("span",{className:p("text-(--neba-muted-fg)",v[T]),children:N}):null}):M});
1
+ "use client";import{jsx as e,jsxs as n}from"react/jsx-runtime";import*as t from"react";import{useMergedRef as r}from"../../internal/refs.js";import{TextLink as o}from"../text-link/TextLink.js";import{fillMessage as i,linkMessages as a,sourcesMessages as s,useMessages as l}from"../../internal/i18n.js";import{opensElsewhere as c,safeHref as u,safeRel as d}from"../../internal/link.js";import{citationMarkClasses as m,cx as v,focusRingClasses as f,hasContent as p,metaTextClasses as h,srOnlyClasses as g,transitionClasses as x}from"../../internal/styles.js";import{useStyleDefaults as E}from"../../internal/defaults.js";let b,j;export const hoverCardChunk={load:()=>(j??=import("../hover-card/HoverCard.js").then(e=>(b=e,e),e=>{throw j=void 0,e}),j)};let w=null;const y=new WeakSet;export const InlineCitation=/*@__PURE__*/t.forwardRef(function InlineCitation(j,C){const{index:T,title:L,description:k,site:$,href:N,target:P,rel:S,preview:R=!0,size:X="md",color:Y="primary",locale:z,labels:D,className:F,style:I,...B}=E(j,["size","locale"]),[H,M]=t.useState(!1),W=t.useRef(!1),q=t.useRef(!1),A=()=>{hoverCardChunk.load().then(()=>M(!0),()=>{})},G={onPointerEnter:e=>{var n,t,r;B.onPointerEnter?.(e),q.current="mouse"===e.pointerType||"pen"===e.pointerType,q.current&&(n=e.currentTarget.ownerDocument,t=e.clientX,r=e.clientY,w={x:t,y:r},y.has(n)||(y.add(n),n.addEventListener("pointermove",e=>{w={x:e.clientX,y:e.clientY}},{capture:!0,passive:!0}))),A()},onPointerLeave:e=>{B.onPointerLeave?.(e),q.current=!1},onTouchStart:e=>{B.onTouchStart?.(e),A()},onFocus:e=>{B.onFocus?.(e),W.current=!0,A()},onBlur:e=>{B.onBlur?.(e),W.current=!1}},J=t.useRef(null),K=r(J,C);t.useEffect(()=>{const e=J.current;if(!H||!e)return;const n=e.ownerDocument;W.current&&n.activeElement!==e&&e.focus();const t=q.current&&w?n.elementFromPoint(w.x,w.y):null;return t&&e.contains(t)?function(e){const n=e.ownerDocument,t=r=>{n.removeEventListener("pointermove",t,!0),r.target instanceof Node&&e.contains(r.target)||e.dispatchEvent(new MouseEvent("mouseleave",{clientX:r.clientX,clientY:r.clientY,relatedTarget:r.target}))};return e.dispatchEvent(new MouseEvent("mouseenter")),n.addEventListener("pointermove",t,!0),()=>n.removeEventListener("pointermove",t,!0)}(e):void 0},[H]);const O=l(s,z),Q=l(a,z),U={...O,...D},V=i(U.citation,{index:String(T)}),Z=u(N),_=R&&p(L),ee={className:v(m,"align-[0.15em] no-underline",Z?"cursor-pointer":"cursor-default","hover:bg-(--n-soft-hover)",f,x,F??""),style:{"--n-soft":`var(--neba-${Y}-soft)`,"--n-soft-hover":`var(--neba-${Y}-soft-hover)`,"--n-on-tint":`var(--neba-${Y}-on-tint)`,"--n-ring":`var(--neba-${Y}-ring)`,...I}},ne=Z?e("a",{ref:K,href:Z,target:P,rel:d(P,S),"aria-label":c(P)?`${V} ${Q.newTab}`:V,...ee,...B,..._?G:null,children:T}):n("span",{ref:K,tabIndex:_?0:void 0,...ee,...B,..._?G:null,children:[e("span",{className:g,children:V}),e("span",{"aria-hidden":"true",children:T})]}),te=H?b?.HoverCard:void 0;return _&&te?e(te,{size:X,color:Y,trigger:ne,title:Z?e(o,{href:Z,underline:"hover",target:P,rel:d(P,S),locale:z,children:L}):L,description:$,children:p(k)?e("span",{className:v("text-(--neba-muted-fg)",h[X]),children:k}):null}):ne});