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.
- package/dist/a2ui/adapter-catalog.json +1 -1
- package/dist/a2ui/catalog.json +2 -2
- package/dist/components/accordion/Accordion.js +1 -1
- package/dist/components/agent-steps/AgentSteps.js +1 -1
- package/dist/components/alert/Alert.js +1 -1
- package/dist/components/anchor/Anchor.js +1 -1
- package/dist/components/animate-counter/AnimateCounter.js +1 -1
- package/dist/components/animate-headline/AnimateHeadline.js +1 -1
- package/dist/components/animate-lighting/AnimateLighting.js +1 -1
- package/dist/components/animate-marquee/AnimateMarquee.js +1 -1
- package/dist/components/animate-scramble/AnimateScramble.js +1 -1
- package/dist/components/animate-typing/AnimateTyping.js +1 -1
- package/dist/components/app-logo/AppLogo.js +1 -1
- package/dist/components/approval/Approval.js +1 -1
- package/dist/components/aspect-ratio/AspectRatio.js +1 -1
- package/dist/components/avatar/Avatar.js +1 -1
- package/dist/components/badge/Badge.js +1 -1
- package/dist/components/bar-chart/BarChart.js +1 -1
- package/dist/components/blockquote/Blockquote.js +1 -1
- package/dist/components/bottom-navigation/BottomNavigation.js +1 -1
- package/dist/components/breadcrumb/Breadcrumb.js +1 -1
- package/dist/components/button/Button.js +1 -1
- package/dist/components/button-group/ButtonGroup.js +1 -1
- package/dist/components/calendar/Calendar.js +1 -1
- package/dist/components/carousel/Carousel.js +1 -1
- package/dist/components/chat-bubble/ChatBubble.js +1 -1
- package/dist/components/checkbox/Checkbox.js +1 -1
- package/dist/components/checkbox/index.d.ts +1 -1
- package/dist/components/checkbox-group/index.d.ts +1 -1
- package/dist/components/chip/Chip.d.ts +32 -3
- package/dist/components/chip/Chip.js +1 -1
- package/dist/components/code-block/CodeBlock.js +1 -1
- package/dist/components/collapsible/Collapsible.js +1 -1
- package/dist/components/color-picker/ColorPicker.js +1 -1
- package/dist/components/combobox/Combobox.d.ts +11 -0
- package/dist/components/combobox/Combobox.js +1 -1
- package/dist/components/combobox/index.d.ts +1 -1
- package/dist/components/command-palette/CommandPalette.d.ts +21 -5
- package/dist/components/command-palette/CommandPalette.js +1 -1
- package/dist/components/command-palette/CommandPaletteSheet.d.ts +27 -0
- package/dist/components/command-palette/CommandPaletteSheet.js +1 -0
- package/dist/components/command-palette/index.d.ts +1 -1
- package/dist/components/confirm/Confirm.d.ts +7 -5
- package/dist/components/confirm/Confirm.js +1 -1
- package/dist/components/data-list/DataList.js +1 -1
- package/dist/components/data-table/DataTable.js +1 -1
- package/dist/components/data-table/RowsPerPage.d.ts +43 -0
- package/dist/components/data-table/RowsPerPage.js +1 -0
- package/dist/components/date-picker/DatePicker.js +1 -1
- package/dist/components/date-range-picker/DateRangePicker.js +1 -1
- package/dist/components/date-time-picker/DateTimePicker.js +1 -1
- package/dist/components/dialog/Dialog.js +1 -1
- package/dist/components/dialog/index.d.ts +1 -1
- package/dist/components/drawer/Drawer.d.ts +1 -1
- package/dist/components/drawer/Drawer.js +1 -1
- package/dist/components/empty/Empty.js +1 -1
- package/dist/components/file-picker/FilePicker.js +1 -1
- package/dist/components/floating-action-button/FloatingActionButton.js +1 -1
- package/dist/components/floating-action-button/index.d.ts +1 -0
- package/dist/components/floating-bottom-navigation/FloatingBottomNavigation.js +1 -1
- package/dist/components/footer/Footer.js +1 -1
- package/dist/components/gallery/Gallery.js +1 -1
- package/dist/components/gauge-chart/GaugeChart.js +1 -1
- package/dist/components/header/Header.js +1 -1
- package/dist/components/heatmap-chart/HeatmapChart.js +1 -1
- package/dist/components/highlight/Highlight.js +1 -1
- package/dist/components/hover-card/HoverCard.js +1 -1
- package/dist/components/how-to-steps/HowToSteps.d.ts +3 -0
- package/dist/components/how-to-steps/HowToSteps.js +1 -1
- package/dist/components/image/Image.js +1 -1
- package/dist/components/inline-citation/InlineCitation.d.ts +24 -0
- package/dist/components/inline-citation/InlineCitation.js +1 -1
- package/dist/components/list/List.js +1 -1
- package/dist/components/menu/Menu.js +1 -1
- package/dist/components/menubar/Menubar.js +1 -1
- package/dist/components/meter/Meter.js +1 -1
- package/dist/components/mockup/Mockup.js +1 -1
- package/dist/components/navigation-menu/NavigationMenu.d.ts +2 -1
- package/dist/components/navigation-menu/NavigationMenu.js +1 -1
- package/dist/components/number-field/NumberField.js +1 -1
- package/dist/components/number-field/index.d.ts +1 -1
- package/dist/components/overlay/Overlay.js +1 -1
- package/dist/components/page-layout/PageLayout.js +1 -1
- package/dist/components/pagination/Pagination.js +1 -1
- package/dist/components/panes/Panes.js +1 -1
- package/dist/components/pie-chart/PieChart.js +1 -1
- package/dist/components/pill/Pill.js +1 -1
- package/dist/components/popover/Popover.js +1 -1
- package/dist/components/progress-box/ProgressBox.js +1 -1
- package/dist/components/progress-circular/ProgressCircular.js +1 -1
- package/dist/components/progress-linear/ProgressLinear.js +1 -1
- package/dist/components/prompt-input/PromptInput.js +1 -1
- package/dist/components/provider/NebaProvider.js +1 -1
- package/dist/components/radio-group/RadioGroup.js +1 -1
- package/dist/components/radio-group/index.d.ts +1 -1
- package/dist/components/rating/Rating.js +1 -1
- package/dist/components/reasoning/Reasoning.js +1 -1
- package/dist/components/scatter-chart/ScatterChart.js +1 -1
- package/dist/components/scroll-area/ScrollArea.js +1 -1
- package/dist/components/scroll-zone/ScrollZone.js +1 -1
- package/dist/components/segmented-button/SegmentedButton.js +1 -1
- package/dist/components/select/Select.d.ts +12 -0
- package/dist/components/select/Select.js +1 -1
- package/dist/components/select/index.d.ts +1 -1
- package/dist/components/shortcut/Shortcut.js +1 -1
- package/dist/components/sidebar/Sidebar.js +1 -1
- package/dist/components/sidebar/SidebarTrigger.js +1 -1
- package/dist/components/skeleton/Skeleton.js +1 -1
- package/dist/components/slider/Slider.js +1 -1
- package/dist/components/slider/index.d.ts +1 -1
- package/dist/components/sources/Sources.js +1 -1
- package/dist/components/sparkline/Sparkline.d.ts +7 -0
- package/dist/components/sparkline/Sparkline.js +1 -1
- package/dist/components/spoiler/Spoiler.js +1 -1
- package/dist/components/statistic/Statistic.js +1 -1
- package/dist/components/streaming-text/StreamingText.d.ts +10 -6
- package/dist/components/streaming-text/StreamingText.js +1 -1
- package/dist/components/switch/Switch.js +1 -1
- package/dist/components/switch/index.d.ts +1 -1
- package/dist/components/table/Table.js +1 -1
- package/dist/components/table/index.d.ts +1 -1
- package/dist/components/tabs/Tabs.js +1 -1
- package/dist/components/text-field/TextField.js +1 -1
- package/dist/components/text-field/index.d.ts +1 -1
- package/dist/components/text-link/TextLink.js +1 -1
- package/dist/components/time-picker/TimePicker.js +1 -1
- package/dist/components/timeline-chart/TimelineChart.js +1 -1
- package/dist/components/toast/Toast.d.ts +38 -5
- package/dist/components/toast/Toast.js +1 -1
- package/dist/components/toast/index.d.ts +2 -2
- package/dist/components/toast/index.js +1 -1
- package/dist/components/toggle/Toggle.js +1 -1
- package/dist/components/toggle-group/ToggleGroup.js +1 -1
- package/dist/components/tool-call/ToolCall.js +1 -1
- package/dist/components/toolbar/Toolbar.js +1 -1
- package/dist/components/tooltip/Tooltip.js +1 -1
- package/dist/components/tour/Tour.js +1 -1
- package/dist/components/tour/index.d.ts +1 -1
- package/dist/components/transfer/Transfer.d.ts +7 -0
- package/dist/components/transfer/Transfer.js +1 -1
- package/dist/components/tree-select/TreeSelect.js +1 -1
- package/dist/components/tree-view/TreeView.js +1 -1
- package/dist/components/window-pane/WindowPane.js +1 -1
- package/dist/internal/animate.d.ts +34 -2
- package/dist/internal/animate.js +1 -1
- package/dist/internal/cache.d.ts +7 -1
- package/dist/internal/cache.js +1 -1
- package/dist/internal/calendar.d.ts +40 -1
- package/dist/internal/calendar.js +1 -1
- package/dist/internal/chart-frame.d.ts +86 -8
- package/dist/internal/chart-frame.js +1 -1
- package/dist/internal/chart-line.js +1 -1
- package/dist/internal/chart.d.ts +13 -0
- package/dist/internal/chart.js +1 -1
- package/dist/internal/data-table.d.ts +7 -1
- package/dist/internal/data-table.js +1 -1
- package/dist/internal/date.d.ts +10 -0
- package/dist/internal/date.js +1 -1
- package/dist/internal/idle.d.ts +10 -0
- package/dist/internal/idle.js +1 -0
- package/dist/internal/link.d.ts +4 -3
- package/dist/internal/media.js +1 -1
- package/dist/internal/observe.d.ts +4 -0
- package/dist/internal/observe.js +1 -1
- package/dist/internal/page-layout.d.ts +30 -2
- package/dist/internal/page-layout.js +1 -1
- package/dist/internal/picker.js +1 -1
- package/dist/internal/progress.d.ts +17 -0
- package/dist/internal/progress.js +1 -1
- package/dist/internal/refs.d.ts +18 -0
- package/dist/internal/refs.js +1 -0
- package/dist/internal/run.d.ts +34 -19
- package/dist/internal/run.js +1 -1
- package/dist/internal/sizer.d.ts +9 -4
- package/dist/internal/sizer.js +1 -1
- package/dist/internal/styles.d.ts +14 -0
- package/dist/internal/styles.js +1 -1
- package/dist/internal/tile.d.ts +34 -0
- package/dist/internal/tile.js +1 -0
- package/dist/internal/wheel.d.ts +24 -1
- package/dist/internal/wheel.js +1 -1
- package/dist/styles.css +1 -1
- package/dist/tailwind.css +366 -61
- package/dist/types.d.ts +4 -2
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{jsx as e,jsxs as a}from"react/jsx-runtime";import*as r from"react";import{Radio as n}from"@base-ui/react/radio";import{RadioGroup as l}from"@base-ui/react/radio-group";import{Field as i}from"@base-ui/react/field";import{controlTextClasses as o,cx as t,hitAreaClasses as s,metaTextClasses as d,optionGapClasses as c,surfaceClasses as b,tickDotClasses as f,tickRowLeadingClasses as m,tickSizeClasses as h,transitionClasses as p}from"../../internal/styles.js";import{spacingValue as u}from"../../internal/grid.js";import{useStyleDefaults as v}from"../../internal/defaults.js";import{useFieldsetDisabled as g}from"../../internal/fieldset.js";const x=/*@__PURE__*/r.createContext({size:"md",color:"primary",readOnly:!1,disabled:!1}),N=
|
|
1
|
+
"use client";import{jsx as e,jsxs as a}from"react/jsx-runtime";import*as r from"react";import{Radio as n}from"@base-ui/react/radio";import{RadioGroup as l}from"@base-ui/react/radio-group";import{Field as i}from"@base-ui/react/field";import{controlTextClasses as o,cx as t,hitAreaClasses as s,metaTextClasses as d,optionGapClasses as c,surfaceClasses as b,tickDotClasses as f,tickRowLeadingClasses as m,tickSizeClasses as h,transitionClasses as p}from"../../internal/styles.js";import{spacingValue as u}from"../../internal/grid.js";import{useStyleDefaults as v}from"../../internal/defaults.js";import{useFieldsetDisabled as g}from"../../internal/fieldset.js";const x=/*@__PURE__*/r.createContext({size:"md",color:"primary",readOnly:!1,disabled:!1}),N="relative inline-flex shrink-0 items-center justify-center rounded-full border "+s+" [-webkit-tap-highlight-color:transparent] [touch-action:manipulation] "+p+" active:[transition-duration:0ms] focus-visible:[outline:2px_solid_var(--n-ring)] focus-visible:outline-offset-2",y=b+" cursor-pointer bg-(--n-panel) [border-color:var(--n-line)] hover:bg-(--n-panel-hover) hover:[border-color:var(--n-line-hover)] data-[checked]:bg-(--n-fill) data-[checked]:text-(--n-on-solid) data-[checked]:[border-color:transparent] data-[checked]:hover:bg-(--n-fill-hover)",k=b+" cursor-default bg-(--n-panel) [border-color:var(--n-line)] [filter:saturate(0.55)] data-[checked]:bg-(--n-fill) data-[checked]:text-(--n-on-solid) data-[checked]:[border-color:transparent]";export const Radio=/*@__PURE__*/r.forwardRef(function Radio({label:l,description:s,disabled:c,className:b,classNames:p,style:u,...v},g){const z=r.useContext(x),R=v.readOnly??z.readOnly,w=c??z.disabled;return e(i.Root,{disabled:w,className:t("flex flex-col",b??""),style:u,children:a("div",{className:`flex items-start gap-2 ${o[z.size]} ${m}`,children:[e("span",{className:"flex h-[1lh] shrink-0 items-center",children:e(n.Root,{ref:g,className:t(N,h[z.size],w?"cursor-not-allowed bg-transparent [border-color:var(--neba-disabled-border)] shadow-none data-[checked]:bg-(--neba-disabled-bg)":R?k:y,p?.control),disabled:w,...v,children:e(n.Indicator,{className:t("neba-radio-dot rounded-full bg-current [transition:width_var(--neba-duration)_var(--neba-ease),height_var(--neba-duration)_var(--neba-ease)] data-[starting-style]:size-0 data-[ending-style]:size-0",f[z.size],p?.indicator)})})}),l||s?a("span",{className:"flex min-w-0 flex-col gap-0.5",children:[l?e(i.Label,{className:t("leading-[1.4]",w?"text-(--neba-disabled-fg)":"cursor-pointer text-(--neba-fg)",p?.label),children:l}):null,s?e(i.Description,{className:t(d[z.size],"text-(--neba-muted-fg)",p?.description),children:s}):null]}):null]})})});export const RadioGroup=/*@__PURE__*/r.forwardRef(function RadioGroup(n,o){const{size:s="md",color:b="primary",orientation:f="vertical",spacing:m,label:h,description:p,error:N,invalid:y,disabled:k,readOnly:z=!1,className:R,classNames:w,style:$,children:j,...O}=v(n,["size"]),_=g(k),G=null!=N&&!1!==N&&""!==N,C=y??G,D=C?"danger":b,L={"--n-fill":`var(--neba-${D}-fill)`,"--n-fill-hover":`var(--neba-${D}-fill-hover)`,"--n-on-solid":`var(--neba-${D}-on-solid)`,"--n-accent":`var(--neba-${D}-accent)`,"--n-panel":"var(--neba-panel)","--n-panel-hover":"var(--neba-panel-hover)","--n-line":`var(--neba-${D}-line)`,"--n-line-hover":`var(--neba-${D}-line-hover)`,"--n-ring":`var(--neba-${D}-ring)`},E=r.useMemo(()=>({size:s,color:D,readOnly:z,disabled:_}),[s,D,z,_]);return e(x.Provider,{value:E,children:a(i.Root,{disabled:_,invalid:C,className:t("flex flex-col gap-1.5",R??""),style:{...L,...$},children:[h?e(i.Label,{className:t(d[s],"font-medium",_?"text-(--neba-disabled-fg)":"text-(--neba-fg)",w?.label),children:h}):null,p?e(i.Description,{className:t(d[s],"text-(--neba-muted-fg)",w?.description),children:p}):null,e(l,{ref:o,disabled:_,readOnly:z,className:t("flex","horizontal"===f?"flex-row flex-wrap":"flex-col",void 0===m?c[f][s]:"",w?.control),style:void 0===m?void 0:{gap:u(m)},...O,children:j}),e(i.Error,G?{match:!0,className:t(d[s],"text-(--n-accent)",w?.error),children:N}:{className:t(d[s],"text-(--n-accent)",w?.error)})]})})});
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export { Radio, RadioGroup } from './RadioGroup.js';
|
|
2
|
-
export type { RadioGroupProps, RadioProps } from './RadioGroup.js';
|
|
2
|
+
export type { RadioGroupProps, RadioGroupSlot, RadioProps, RadioSlot } from './RadioGroup.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{jsx as e,jsxs as a}from"react/jsx-runtime";import*as n from"react";import{StarIcon as r,StarOutlineIcon as t}from"../../internal/icons.js";import{fillMessage as
|
|
1
|
+
"use client";import{jsx as e,jsxs as a}from"react/jsx-runtime";import*as n from"react";import{StarIcon as r,StarOutlineIcon as t}from"../../internal/icons.js";import{fillMessage as l,ratingMessages as i,useMessages as o}from"../../internal/i18n.js";import{controlSlots as s,cx as m,focusWithinRingClasses as d,gapClasses as c,iconSizeClasses as u,radiusClasses as h,srOnlyClasses as f,transitionClasses as b}from"../../internal/styles.js";import{useStyleDefaults as p}from"../../internal/defaults.js";const v="flex items-center justify-center",x={xs:"0.25rem",sm:"0.375rem",md:"0.375rem",lg:"0.5rem",xl:"0.625rem"};export const Rating=/*@__PURE__*/n.forwardRef(function Rating(g,y){const{value:M,defaultValue:N=0,onValueChange:w,count:j=5,precision:k=1,icon:S,emptyIcon:C,clearable:L=!0,readOnly:P=!1,disabled:q=!1,name:I,required:R=!1,size:z="md",color:A="warning",locale:V,label:_,valueLabel:E,className:F,style:O,onPointerLeave:$,...B}=p(g,["size","locale"]),D=o(i,V),G=n.useId(),H=I??G,J=void 0===I?`${G}-no-form`:void 0,[K,Q]=n.useState(N),T=void 0!==M,U=T?M:K,[W,X]=n.useState(null),Y=Math.max(1,Math.floor(j)),Z=k>0&&k<=1?k:1,ee=Math.round(1/Z),ae=Math.max(0,Math.min(Y,W??U)),ne=n.useCallback(e=>E?E(e,Y):e<=0?D.empty:l(D.value,{value:String(Math.round(10*e)/10),max:String(Y)}),[E,Y,D]),re=e=>{T||Q(e),w?.(e)},te=Array.from({length:Y},(n,l)=>{const i=Math.max(0,Math.min(1,ae-l));return a("span",{className:m("relative inline-flex shrink-0",u[z],h.xs,P||q?"":d),children:[e("span",{className:v+" "+u[z]+" "+(q?"text-(--neba-disabled-fg)":"text-(--n-empty)"),children:C??e(t,{})}),e("span",{"aria-hidden":"true",className:m("pointer-events-none absolute inset-y-0 start-0 overflow-hidden","[transition:width_var(--neba-duration)_var(--neba-ease)]"),style:{width:100*i+"%"},children:e("span",{className:v+" "+u[z]+" "+(q?"text-(--neba-disabled-fg)":"text-(--n-fill)")+" "+b,children:S??e(r,{})})}),P?null:Array.from({length:ee},(a,n)=>{const r=Number((l+(n+1)*Z).toFixed(4));return e("label",{className:"neba-hit-row absolute inset-y-0 "+(q?"cursor-not-allowed":"cursor-pointer"),style:{insetInlineStart:100*n/ee+"%",width:100/ee+"%","--n-hit-gap":1===ee?x[z]:void 0},onPointerEnter:()=>{q||X(r)},children:e("input",{type:"radio",className:f,name:H,form:J,value:r,checked:U===r,disabled:q,required:R,"aria-label":ne(r),onChange:()=>re(r),onClick:()=>{L&&U===r&&re(0)}})},r)})]},l)}),le=m("inline-flex items-center align-middle",c[z],q?"cursor-not-allowed":"",F??""),ie={...s(A,0,"solid"),"--n-empty":P?"color-mix(in oklab, var(--neba-muted-fg) 40%, transparent)":"color-mix(in oklab, var(--neba-muted-fg) 80%, transparent)",...O};return e("div",P?{ref:y,role:"img","aria-label":ne(Math.max(0,Math.min(Y,U))),className:le,style:ie,onPointerLeave:$,...B,children:te}:{ref:y,role:"radiogroup","aria-label":_??D.label,"aria-disabled":q||void 0,"aria-required":R||void 0,className:le,style:ie,onPointerLeave:e=>{X(null),$?.(e)},...B,children:te})});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{jsx as e,jsxs as n}from"react/jsx-runtime";import*as t from"react";import{Collapsible as a}from"@base-ui/react/collapsible";import{boxPaddingXClasses as o,boxPaddingYClasses as l}from"../box/Box.js";import{ChevronIcon as r,SpinnerIcon as s}from"../../internal/icons.js";import{formatDuration as i,
|
|
1
|
+
"use client";import{jsx as e,jsxs as n}from"react/jsx-runtime";import*as t from"react";import{Collapsible as a}from"@base-ui/react/collapsible";import{boxPaddingXClasses as o,boxPaddingYClasses as l}from"../box/Box.js";import{ChevronIcon as r,SpinnerIcon as s}from"../../internal/icons.js";import{formatDuration as i,useRunClock as d}from"../../internal/run.js";import{fillMessage as c,reasoningMessages as m,useMessages as u}from"../../internal/i18n.js";import{collapsiblePanelClasses as f,cx as p,gapClasses as b,hasContent as h,iconClasses as x,radiusClasses as v,sheetBodyClasses as g,sheetTitleClasses as j,surfaceClasses as N,surfaceSlots as y,transitionClasses as w,disclosureChevronClasses as C,disclosureTriggerClasses as O}from"../../internal/styles.js";import{useStyleDefaults as R}from"../../internal/defaults.js";const k={solid:N+" text-(--neba-fg) bg-(--n-panel-hover) [box-shadow:var(--n-elev),var(--neba-plate-solid)]",outline:N+" 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"};export const Reasoning=/*@__PURE__*/t.forwardRef(function Reasoning(N,z){const{variant:F="text",size:S="md",color:U="secondary",density:_="default",elevation:B=0,streaming:P=!1,duration:T,open:q,defaultOpen:A=!1,onOpenChange:D,autoOpen:E=!0,autoClose:G=!0,hiddenUntilFound:H=!0,label:I,icon:J,locale:K,labels:L,classNames:M,className:Q,style:V,children:W,...X}=R(N,["size","density","variant","locale"]),Y={...u(m,K),...L},[Z,$]=t.useState(A||E&&P),[ee,ne]=t.useState(P),te=void 0!==q,ae=te?q:Z;ee!==P&&(ne(P),E&&!te&&(P||G)&&$(P));const oe=d(P,T).total,le=null===oe?null:i(oe,K),re=h(I)?I:P?Y.thinking:null===le?Y.done:c(Y.thought,{duration:le}),se=void 0===J?P?e(s,{}):null:J;return n(a.Root,{ref:z,open:ae,onOpenChange:e=>{te||$(e),D?.(e)},"aria-busy":P||void 0,"data-streaming":P||void 0,className:p("flex flex-col overflow-hidden",v[S],k[F],w,x,Q??""),style:{...y(U,B),...V},...X,children:[n(a.Trigger,{className:p("flex w-full cursor-pointer items-center text-start text-(--neba-muted-fg)",O,o[_][S],l[_][S],b[S],j[S],w,"hover:bg-(--n-soft) hover:text-(--n-on-tint)","focus-visible:[outline:2px_solid_var(--n-ring)] focus-visible:[outline-offset:-2px]",M?.header??""),children:[h(se)?e("span",{className:"flex h-[1lh] shrink-0 items-center",children:se}):null,e("span",{className:"min-w-0 flex-1 truncate font-medium",children:re}),e("span",{className:C,children:e(r,{})})]}),e(a.Panel,{hiddenUntilFound:H,className:f,children:e("div",{className:p("min-w-0 border-s-2 text-(--neba-muted-fg) [border-color:var(--n-line)]",o[_][S],"compact"===_?"pb-2":"pb-4",g[S],M?.body??""),children:W})})]})});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{jsx as e,Fragment as r,jsxs as
|
|
1
|
+
"use client";import{jsx as e,Fragment as r,jsxs as t}from"react/jsx-runtime";import*as o from"react";import{CartesianChart as s,chartTableClasses as l,markGroupClasses as a,markTransitionClasses as i,tableRuns as n,useDeferredRows as c}from"../../internal/chart-frame.js";import{bubbleRadius as u,formatCategory as d,markerRadii as m,markGap as h,markOrigin as f,markPath as p,markShapes as v,plotHeights as b,pointX as x}from"../../internal/chart.js";import{numberFormatter as y}from"../../internal/format.js";import{chartMessages as g,useMessages as k}from"../../internal/i18n.js";import{useStyleDefaults as z}from"../../internal/defaults.js";import{useIntlLocale as M}from"../../internal/media.js";export function ScatterChart(r){const{shape:t="auto",pointRadius:l,maxRadius:a,series:i,categories:n,size:c="md",xAxis:d,...h}=z(r,["size","locale"]),f=l??m[c],y=a??Math.max(f+2,("number"==typeof h.height?h.height:b[c])/12),M=i.reduce((e,r)=>r.color?e:e+1,0),j="auto"===t||"varied"===t?"circle":t,w="varied"===t||"auto"===t&&M>3,N=o.useCallback(e=>w?v[e%v.length]:j,[w,j]),S=o.useCallback(e=>{const r=[];let t=0;return e.values.forEach(e=>{e.forEach(e=>{null!==e.value&&void 0!==e.z&&Number.isFinite(e.z)&&(t=Math.max(t,e.z))})}),e.values.forEach((o,s)=>{e.visible[s]&&o.forEach((o,l)=>{if(null===o.value)return;const a=x(o,l,n);null!==a&&r.push({series:s,index:l,x:e.categoryValuePx(a),y:e.valuePx(o.value,s),r:void 0===o.z?f:u(o.z,t,y,2)})})}),r},[n,f,y]),$=k(g,h.locale);return e(s,{...h,series:i,categories:n,size:c,xScale:"value",xAxis:d,brush:void 0,secondaryAxis:void 0,marks:S,markInset:y,includeZero:!1,swatch:(r,t)=>e("svg",{viewBox:"0 0 10 10",className:"size-2.5 overflow-visible","aria-hidden":"true",children:e("path",{d:p(N(r),5,5,4),fill:t})}),exportRows:()=>function(e,r,t,o,s){const l=e.some(e=>e.data.some(e=>"object"==typeof e&&null!==e&&void 0!==e.z));return[["","string"==typeof t?t:"x","string"==typeof o?o:"y",...l?[s]:[]],...e.flatMap((e,t)=>e.data.map((o,s)=>{const a="object"==typeof o&&null!==o?o:null,i=a?a.y:"number"==typeof o?o:null,n=a?.x??r?.[s]??s;return[e.name??`${t+1}`,n,null!==i&&Number.isFinite(i)?i:null,...l?[a?.z??null]:[]]}))]}(i,n,d?.label,h.yAxis?.label,$.size),table:(r,t)=>e(A,{id:r,series:i,categories:n,label:h.label,xLabel:d?.label,yLabel:h.yAxis?.label,locale:h.locale,format:t}),children:r=>e(ScatterMarks,{context:r,shapeOf:N})})}const j=128;function w(e){const r=[];for(let t=0;t<e.length;t+=j)r.push(e.slice(t,t+j));return r}function ScatterMarks({context:r,shapeOf:t}){const{marks:s,values:l,colors:n,hovered:c,activeMark:u}=r,d=o.useMemo(()=>l.some(e=>e.some(e=>void 0!==e.z)),[l]),m=o.useMemo(()=>{const e=[...s].sort((e,r)=>r.r-e.r);if(d)return[{series:-1,blocks:w(e)}];const r=new Map;for(const t of e){const e=r.get(t.series);e?e.push(t):r.set(t.series,[t])}return[...r].map(([e,r])=>({series:e,blocks:w(r)}))},[s,d]),f=o.useMemo(()=>{const e=new Map;for(const r of m)for(const t of r.blocks)for(const r of t)e.set(r,t);return e},[m]),p=u?f.get(u):void 0,v=(r,o)=>r.map((r,s)=>e(S,{marks:r,values:l,colors:n,shapeOf:t,active:r===p?u:null,hovered:o?c:void 0},s));return e("g",{stroke:"var(--neba-chart-gap)",strokeWidth:h,className:a,children:d?v(m[0]?.blocks??[],!0):m.map(r=>e("g",{fill:n[r.series],opacity:null!==c&&c!==r.series?.28:1,className:i,style:N(t(r.series)),children:v(r.blocks,!1)},r.series))})}function N(e){const r=f(e);return void 0===r?void 0:{"--n-origin":r}}const S=/*@__PURE__*/o.memo(function MarkBlock({marks:t,values:o,colors:s,shapeOf:l,active:a,hovered:i}){const n=void 0===i;return e(r,{children:t.map(r=>{const t=o[r.series]?.[r.index],c=a?.series===r.series&&a?.index===r.index,u=l(r.series),d=n?void 0:f(u),m=c&&r.r>0?String((r.r+1)/r.r):void 0;return e("path",{d:p(u,r.x,r.y,r.r),fill:t?.color??(n?void 0:s[r.series]),opacity:n||null===i||i===r.series?void 0:.28,style:void 0===m&&void 0===d?void 0:{scale:m,"--n-origin":d}},`${r.series}-${r.index}`)})})});const A=/*@__PURE__*/o.memo(function ScatterTable({id:r,series:s,categories:a,label:i,xLabel:u,yLabel:m,locale:h,format:f}){const p=k(g,h),v=M(h),b=s.some(e=>e.data.some(e=>"object"==typeof e&&null!==e&&void 0!==e.z)),x=s.reduce((e,r)=>e+r.data.length,0),{shown:z,run:j}=c({rows:x,points:x,columns:b?4:3}),w=o.useCallback((r,o)=>{let l=0;return s.flatMap((s,i)=>{const n=Math.max(0,r-l),c=Math.min(s.data.length,o-l);return l+=s.data.length,s.data.slice(n,Math.max(n,c)).map((r,o)=>{const l=n+o,c="object"==typeof r&&null!==r?r:null,u=c?c.y:"number"==typeof r?r:null,m=c?.x??a?.[l]??l;return t("tr",{children:[e("th",{scope:"row",children:s.name??i+1}),e("td",{children:"number"==typeof m?y(v,{}).format(m):d(m,v)}),e("td",{children:null!==u&&Number.isFinite(u)?f(u):""}),b?e("td",{children:void 0===c?.z?"":y(v,{}).format(c.z)}):null]},`${i}-${l}`)})})},[s,a,b,f,v]);return t("table",{id:r,className:l,"aria-busy":z<x||void 0,children:[i?e("caption",{children:i}):null,e("thead",{children:t("tr",{children:[e("th",{scope:"col"}),e("th",{scope:"col",children:u??"x"}),e("th",{scope:"col",children:m??"y"}),b?e("th",{scope:"col",children:p.size}):null]})}),e("tbody",{children:n(z,j,w)})]})});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{jsx as e,jsxs as r}from"react/jsx-runtime";import*as a from"react";import{ScrollArea as
|
|
1
|
+
"use client";import{jsx as e,jsxs as r}from"react/jsx-runtime";import*as a from"react";import{ScrollArea as l}from"@base-ui/react/scroll-area";import{scrollMessages as n,useMessages as o}from"../../internal/i18n.js";import{cx as t,toLength as i}from"../../internal/styles.js";import{useStyleDefaults as s}from"../../internal/defaults.js";const c={xs:"0.25rem",sm:"0.3125rem",md:"0.375rem",lg:"0.5rem",xl:"0.625rem"},m={xs:"1rem",sm:"1.25rem",md:"1.5rem",lg:"2rem",xl:"2.5rem"},h="flex touch-none select-none rounded-full p-px bg-transparent hover:bg-(--n-soft) opacity-0 transition-[opacity,background-color] duration-(--neba-duration) ease-(--neba-ease) data-[hovering]:opacity-100 data-[scrolling]:opacity-100 data-[scrolling]:duration-0",b="flex-1 rounded-full bg-(--n-thumb) hover:bg-(--n-thumb-hover)";export const ScrollArea=/*@__PURE__*/a.forwardRef(function ScrollArea(a,d){const{orientation:u="vertical",height:f,maxHeight:g,size:p="md",color:x="primary",fade:v=!1,label:y,locale:N,className:j,style:w,children:$,...S}=s(a,["size","locale"]),k=o(n,N),z="vertical"===u||"both"===u,_="horizontal"===u||"both"===u;return r(l.Root,{ref:d,className:t("relative overflow-hidden",j??""),style:{"--n-soft":`var(--neba-${x}-soft)`,"--n-ring":`var(--neba-${x}-ring)`,"--n-thumb":`color-mix(in oklab, var(--neba-${x}-accent) 35%, transparent)`,"--n-thumb-hover":`color-mix(in oklab, var(--neba-${x}-accent) 55%, transparent)`,"--n-rail":c[p],"--n-fade":m[p],height:i(f),maxHeight:i(g),...w},...S,children:[e(l.Viewport,{style:{height:"100%",width:"100%",maxHeight:"inherit"},role:y?"region":"group","aria-label":y??k.label,className:t("overscroll-contain","[outline:0_solid_var(--n-ring)] outline-offset-[-2px] focus-visible:[outline:2px_solid_var(--n-ring)]",v?"neba-scroll-fade":""),children:e(l.Content,{className:"min-w-full",children:$})}),z?e(l.Scrollbar,{orientation:"vertical",className:`${h} w-(--n-rail) [margin-block:2px]`,children:e(l.Thumb,{className:b})}):null,_?e(l.Scrollbar,{orientation:"horizontal",className:`${h} h-(--n-rail) [margin-inline:2px]`,children:e(l.Thumb,{className:b})}):null,z&&_?e(l.Corner,{}):null]})});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{jsx as e,jsxs as t}from"react/jsx-runtime";import*as n from"react";import{
|
|
1
|
+
"use client";import{jsx as e,jsxs as t}from"react/jsx-runtime";import*as n from"react";import{useMergedRef as r}from"../../internal/refs.js";import{IconButton as o}from"../icon-button/IconButton.js";import{drawnScale as l}from"../../internal/drag.js";import{spacingValue as i}from"../../internal/grid.js";import{scrollMessages as s,useMessages as a}from"../../internal/i18n.js";import{ChevronIcon as c}from"../../internal/icons.js";import{useLayoutEffectOnClient as u}from"../../internal/layout-effect.js";import{queryMatches as d,reducedMotionQuery as p}from"../../internal/media.js";import{observeResize as m}from"../../internal/observe.js";import{cx as f}from"../../internal/styles.js";import{bindAxisWheelWhileOverflowing as g}from"../../internal/wheel.js";import{useStyleDefaults as v}from"../../internal/defaults.js";const b={xs:"p-1",sm:"p-1.5",md:"p-2",lg:"p-3",xl:"p-4"},h={xs:"gap-1",sm:"gap-1.5",md:"gap-2",lg:"gap-3",xl:"gap-4"};export const ScrollZone=/*@__PURE__*/n.forwardRef(function ScrollZone(y,w){const{orientation:x="horizontal",lines:k=1,spacing:E=2,buttons:L="auto",buttonPlacement:j="inline",mode:C="item",step:R=1,speed:S=900,snap:P=!1,drag:T=!0,wheel:F=!1,scrollbar:A=!1,variant:M="solid",size:N="md",color:B="primary",density:D="default",locale:W,label:z,previousLabel:H,nextLabel:I,scrollerRef:$,onScroll:q,className:X,style:Y,children:Z,..._}=v(y,["size","density","variant","locale"]),K=a(s,W),V="horizontal"===x,G=Math.max(1,Math.round(k)),J=Math.max(1,Math.round(R)),O=n.useRef(null),Q=n.useRef(null),U=r(O,$),[ee,te]=n.useState(null),[ne,re]=n.useState(null),oe=n.useRef(null),le=n.useCallback(()=>{const e=O.current;if(!e)return;oe.current?.check();const t=V?e.clientWidth:e.clientHeight,n=V?e.scrollWidth:e.scrollHeight,r=Math.abs(V?e.scrollLeft:e.scrollTop),o=t+function(e,t){const n=e.parentElement;if(!n||!e.previousElementSibling?.hasAttribute("data-held"))return 0;const r=getComputedStyle(n),o=t?n.clientWidth-parseFloat(r.paddingLeft)-parseFloat(r.paddingRight):n.clientHeight-parseFloat(r.paddingTop)-parseFloat(r.paddingBottom);return Math.max(0,o-(t?e.offsetWidth:e.offsetHeight))}(e,V);te(e=>{const t=r>1,l=n-o-r>1;return e?.back===t&&e.forward===l?e:{back:t,forward:l}})},[V]);u(()=>{const e=O.current,t=Q.current;if(!e)return;le();const n=[m(e,le),t?m(t,le):null];return()=>{for(const e of n)e?.()}},[le]);const ie=n.useCallback(()=>{const e=O.current;return e&&V&&"rtl"===getComputedStyle(e).direction?-1:1},[V]),se=n.useCallback((e,t)=>{const n=O.current;if(!n)return;const r=t?d(p)?"auto":"smooth":"auto";n.scrollBy(V?{left:e,behavior:r}:{top:e,behavior:r})},[V]),ae=n.useCallback(()=>{const e=O.current,t=Q.current;if(!e||!t)return[];const n=V&&"rtl"===getComputedStyle(e).direction,r=V?n?"right":"left":"top",o=n?-1:1,l=e.getBoundingClientRect()[r],i=[];for(const e of Array.from(t.children)){const t=Math.round((e.getBoundingClientRect()[r]-l)*o);i.includes(t)||i.push(t)}return i.sort((e,t)=>e-t)},[V]),ce=n.useCallback((e,t=C)=>{const n=O.current;if(!n)return;const r=ie(),o=V?n.clientWidth:n.clientHeight;if("page"===t)return void se(o*(e?1:-1)*r,!0);const l=ae(),i=l.filter(e=>e>1),s=l.filter(e=>e<-1),a=e?i[J-1]:s[s.length-J];se(void 0!==a?a*r:o*(e?1:-1)*r,!0)},[ie,V,ae,J,C,se]),ue=n.useRef(null);n.useEffect(()=>()=>ue.current?.(),[]);const de=n.useCallback((e,t)=>{if(ue.current)return;const n=ie(),r=performance.now();let o=r,l=0;const i=t=>{const r=t-o;o=t,se(S*r/1e3*(e?1:-1)*n,!1),l=requestAnimationFrame(i)};l=requestAnimationFrame(i);const s=()=>{cancelAnimationFrame(l),ue.current=null,window.removeEventListener(t,s),window.removeEventListener("pointercancel",s),window.removeEventListener("blur",s),performance.now()-r<140&&ce(e,"item")};ue.current=s,window.addEventListener(t,s),window.addEventListener("pointercancel",s),window.addEventListener("blur",s)},[ce,ie,se,S]),pe=n.useRef(null);function me(e){return"hold"!==C?{onClick:()=>ce(e)}:{onPointerDown:t=>{0===t.button&&de(e,"pointerup")},onKeyDown:t=>{"Enter"!==t.key&&" "!==t.key||(t.preventDefault(),de(e,"keyup"))}}}n.useEffect(()=>()=>pe.current?.(),[]),n.useEffect(()=>{const e=O.current;if(!e||!F||!V)return;const t=g(e);return oe.current=t,()=>{t.stop(),oe.current=null}},[V,F]);const fe="inline"===j,ge=ee?.back??!1,ve=ee?.forward??!1,be=null===ee&&fe&&"auto"===L,he="none"!==L&&("always"===L||be||ge||ve);function ye(t){const n=t?ve:ge,r=t?"forward":"back";if("auto"===L&&!n&&!fe&&ne!==r)return e("span",{});const l=V?t?"-rotate-90 rtl:rotate-90":"rotate-90 rtl:-rotate-90":t?"":"rotate-180",i=e(o,{variant:M,size:N,color:B,density:D,elevation:1,label:t?I??K.next:H??K.previous,disabled:!n,focusableWhenDisabled:!0,onFocus:()=>re(r),onBlur:()=>re(e=>e===r?null:e),className:"pointer-events-auto",icon:e("span",{className:f("flex items-center",l),children:e(c,{})}),...me(t)});return fe?e("span",{"data-held":be?"":void 0,className:"flex shrink-0 items-center justify-center",style:be?{visibility:"hidden"}:void 0,children:i}):i}return t("div",{ref:w,className:f("relative flex min-w-0",fe&&V?"flex-row items-stretch":"flex-col",fe?h[N]:"",X),style:{"--n-ring":`var(--neba-${B}-ring)`,...Y},..._,children:[he&&fe?ye(!1):null,e("div",{ref:U,tabIndex:ge||ve?0:-1,role:"group","aria-label":z??K.label,className:f("min-h-0 min-w-0 grow",V?"overflow-x-auto overflow-y-hidden":"overflow-y-auto overflow-x-hidden","overscroll-contain",P?V?"snap-x snap-mandatory":"snap-y snap-mandatory":"",A?"":"[scrollbar-width:none] [&::-webkit-scrollbar]:hidden",T&&(ge||ve)?"cursor-grab data-[dragging]:cursor-grabbing":"","focus-visible:[outline:2px_solid_var(--n-ring)] focus-visible:[outline-offset:-2px]"),onScroll:e=>{le(),q?.(e)},onPointerDown:function(e){if(!T||"touch"===e.pointerType||0!==e.button)return;pe.current?.();const t=e.currentTarget,n=e.clientX,r=e.clientY,o=t.scrollLeft,i=t.scrollTop,s=l(t);let a=!1;const c=document.body.style.getPropertyValue("-webkit-user-select"),u=e=>{if(0===e.buttons)return void d();const l=e.clientX-n,c=e.clientY-r;if(!a){if(Math.abs(V?l:c)<4)return;a=!0,t.setPointerCapture(e.pointerId),t.dataset.dragging="true",document.body.style.setProperty("-webkit-user-select","none"),P&&(t.style.scrollSnapType="none")}V?t.scrollLeft=o-l/s.x:t.scrollTop=i-c/s.y},d=()=>{pe.current=null,t.removeEventListener("pointermove",u),t.removeEventListener("pointerup",p),t.removeEventListener("pointercancel",d),delete t.dataset.dragging,t.style.removeProperty("scroll-snap-type"),c?document.body.style.setProperty("-webkit-user-select",c):document.body.style.removeProperty("-webkit-user-select")},p=()=>{const e=a;if(d(),!e)return;const n=e=>{e.stopPropagation(),e.preventDefault()};t.addEventListener("click",n,{capture:!0,once:!0}),window.setTimeout(()=>t.removeEventListener("click",n,!0),0)};pe.current=d,t.addEventListener("pointermove",u),t.addEventListener("pointerup",p),t.addEventListener("pointercancel",d)},children:e("div",{ref:Q,className:f(P?"[&>*]:snap-start":""),style:{display:"grid",gap:i(E),gridAutoFlow:V?"column":"row",...V?{width:"max-content",gridTemplateRows:`repeat(${G}, auto)`,gridAutoColumns:"max-content"}:{gridTemplateColumns:`repeat(${G}, minmax(0, 1fr))`,gridAutoRows:"max-content"}},children:Z})}),he&&fe?ye(!0):null,he&&!fe?t("div",{className:f("pointer-events-none absolute inset-0 flex justify-between",V?"items-center":"flex-col items-center",b[N]),children:[ye(!1),ye(!0)]}):null]})});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{jsx as e,jsxs as t}from"react/jsx-runtime";import*as a from"react";import{
|
|
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{glowClasses as s,trackPointer as l}from"../../internal/glow.js";import{Radio as i}from"@base-ui/react/radio";import{RadioGroup as o}from"@base-ui/react/radio-group";import{watchTile as d}from"../../internal/tile.js";import{controlHeightClasses as u,controlSlots as f,controlTextClasses as c,cx as b,gapClasses as p,hasContent as m,iconClasses as h,paddingXClasses as g,surfaceClasses as v,transitionClasses as x}from"../../internal/styles.js";import{useStyleDefaults as y}from"../../internal/defaults.js";const w=/*@__PURE__*/a.createContext({variant:"outline",size:"md",density:"default",fullWidth:!1,disabled:!1,readOnly:!1}),A={solid:`${v} bg-(--n-panel) p-1 [box-shadow:var(--n-elev),var(--neba-plate-glass)]`,outline:`${v} border bg-(--n-panel) p-1 [border-color:var(--n-line)] [box-shadow:var(--n-elev),var(--neba-plate-glass)]`,text:""},$={solid:"bg-transparent p-1",outline:"border bg-transparent p-1 [border-color:var(--neba-disabled-border)]",text:""},j={solid:`${v} bg-(--n-fill) [box-shadow:var(--neba-shadow-1),var(--neba-plate-solid)]`,outline:`${v} bg-(--n-panel-press) [box-shadow:var(--neba-shadow-1),var(--neba-plate-glass)]`,text:`${v} bg-(--n-panel-press) [box-shadow:var(--neba-shadow-1),var(--neba-plate-glass)]`},k={solid:"data-[checked]:text-(--n-on-solid)",outline:"data-[checked]:text-(--n-on-tint)",text:"data-[checked]:text-(--n-on-tint)"};export const Segment=/*@__PURE__*/a.forwardRef(function Segment({value:n,startIcon:r,endIcon:o,disabled:d=!1,className:f,children:v,...y},A){const $=a.useContext(w),{variant:j,size:R,density:N,fullWidth:P}=$,S=d||$.disabled,z=$.readOnly&&!S;return t(i.Root,{ref:A,value:n,disabled:d,"data-segment":"",className:b("neba-segment relative z-10 inline-flex shrink-0 items-center justify-center select-none","whitespace-nowrap font-medium","[-webkit-tap-highlight-color:transparent] [touch-action:manipulation]",u[R],c[R],p[R],g[N][R],"rounded-full",x,h,S?"cursor-not-allowed text-(--neba-disabled-fg)":z?b("cursor-default text-(--neba-muted-fg)",k[j]):b("cursor-pointer text-(--neba-muted-fg) hover:text-(--neba-fg)",k[j],s),"focus-visible:[outline:2px_solid_var(--n-ring)] focus-visible:[outline-offset:-2px]",P?"flex-1":"",f??""),...y,onPointerMove:l(y.onPointerMove,!S&&!z),children:[m(r)?e("span",{className:"flex h-[1lh] shrink-0 items-center",children:r}):null,v,m(o)?e("span",{className:"flex h-[1lh] shrink-0 items-center",children:o}):null]})});export const SegmentedButton=/*@__PURE__*/a.forwardRef(function SegmentedButton(s,l){const{variant:i="outline",size:u="md",color:c="primary",density:b="default",elevation:p=0,value:m,defaultValue:h=null,onValueChange:g,disabled:v=!1,readOnly:k=!1,name:R,fullWidth:N=!1,className:P,style:S,children:z,...C}=y(s,["size","density","variant"]),[W,O]=a.useState(h),B=void 0!==m,M=B?m:W,V=a.useRef(null),q=n(V,l),I=a.useRef(null),_=a.useRef(null),E=a.useCallback(e=>{const t=V.current,a=I.current;if(!t||!a)return;const n=t.querySelector("[data-segment][data-checked]");if(!n)return a.hidden=!0,a.removeAttribute("data-ready"),t.removeAttribute("data-placed"),void(_.current=null);const r=n.offsetLeft,s=n.offsetTop,l=n.offsetWidth,i=n.offsetHeight,o=n.hasAttribute("data-disabled"),d=`${r} ${s} ${l} ${i}`;if(a.hasAttribute("data-off")!==o&&a.toggleAttribute("data-off",o),_.current?.tile===a&&_.current.box===d&&!a.hidden&&a.hasAttribute("data-ready"))return;a.hidden&&(a.hidden=!1);const u=!e||!a.hasAttribute("data-ready");u&&a.removeAttribute("data-ready"),a.style.setProperty("--n-seg-x",`${r}px`),a.style.setProperty("--n-seg-y",`${s}px`),a.style.setProperty("--n-seg-w",`${l}px`),a.style.setProperty("--n-seg-h",`${i}px`),_.current={tile:a,box:d},u&&a.offsetWidth,a.setAttribute("data-ready",""),t.hasAttribute("data-placed")||(t.setAttribute("data-settling",""),t.setAttribute("data-placed",""),getComputedStyle(n,"::before").opacity,requestAnimationFrame(()=>t.removeAttribute("data-settling"))),t.setAttribute("data-placed","")},[]);r(()=>{E(!0)},[E,M,i,u,b,N,v]),a.useEffect(()=>{const e=V.current;if(e)return d(e,"[data-segment]","data-checked",E)},[E]);const F=a.useMemo(()=>({variant:i,size:u,density:b,fullWidth:N,disabled:v,readOnly:k}),[i,u,b,N,v,k]);return e(w.Provider,{value:F,children:t(o,{ref:q,value:M,onValueChange:e=>{const t=e??null;B||O(t),g?.(t)},disabled:v,readOnly:k,name:R,className:["neba-segmented relative items-center rounded-full",v?$[i]:A[i],x,k?"[filter:saturate(0.55)]":"",N?"flex w-full":"inline-flex",P??""].filter(Boolean).join(" "),style:{...f(c,p,i),"--n-seg-bg":"solid"===i?"var(--n-fill)":"var(--n-panel-press)","--n-seg-plate":"solid"===i?"var(--neba-plate-solid)":"var(--neba-plate-glass)",...S},...C,children:[null!=M?e("span",{ref:I,"aria-hidden":"true",className:"pointer-events-none absolute rounded-full left-(--n-seg-x) top-(--n-seg-y) h-(--n-seg-h) w-(--n-seg-w) "+j[i]+" data-[off]:bg-(--neba-disabled-bg) data-[off]:[box-shadow:none] [transition-property:left,top,width,height] [transition-timing-function:var(--neba-ease)] [transition-duration:0ms] data-[ready]:[transition-duration:var(--neba-duration)] invisible data-[ready]:visible"}):null,z]})})});
|
|
@@ -88,6 +88,18 @@ export interface SelectProps extends NebaStyleProps, Omit<React.ComponentPropsWi
|
|
|
88
88
|
required?: boolean;
|
|
89
89
|
/** Identifies the field when a form is submitted. */
|
|
90
90
|
name?: string;
|
|
91
|
+
/**
|
|
92
|
+
* What the browser may fill the select in with, such as `country` or
|
|
93
|
+
* `address-level1`. It is written on the hidden input that submits the
|
|
94
|
+
* value, and an autofilled value that matches an option's value or label
|
|
95
|
+
* chooses that option.
|
|
96
|
+
*/
|
|
97
|
+
autoComplete?: string;
|
|
98
|
+
/** The popup is open. Use with `onOpenChange` for a controlled popup. */
|
|
99
|
+
open?: boolean;
|
|
100
|
+
/** Whether the popup starts open. */
|
|
101
|
+
defaultOpen?: boolean;
|
|
102
|
+
onOpenChange?: (open: boolean) => void;
|
|
91
103
|
id?: string;
|
|
92
104
|
/**
|
|
93
105
|
* Class names for the parts behind the root. `className` is the root — the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{jsx as e,jsxs as a}from"react/jsx-runtime";import*as l from"react";import{Select as t}from"@base-ui/react/select";import{Field as
|
|
1
|
+
"use client";import{jsx as e,jsxs as a}from"react/jsx-runtime";import*as l from"react";import{Select as t}from"@base-ui/react/select";import{Field as n}from"@base-ui/react/field";import{CheckIcon as r,ChevronIcon as s}from"../../internal/icons.js";import{WidthSizer as o,widestSamples as i}from"../../internal/sizer.js";import{controlTextLeadingClasses as d,cx as c,disabledClasses as m,fieldHeightClasses as u,fieldReadOnlyClasses as p,fieldRestClasses as b,fieldRingClasses as f,fieldSheetClasses as h,fieldSheetDisabledClasses as g,fieldSheetReadOnlyClasses as v,gapClasses as x,hasContent as N,metaTextClasses as y,paddingXClasses as w,popupFadeClasses as j,radiusClasses as C,readOnlyFilterClasses as O,stackGapClasses as $,surfaceClasses as z,selectTriggerClasses as I,surfaceSlots as S,transitionClasses as P}from"../../internal/styles.js";import{useStyleDefaults as M}from"../../internal/defaults.js";import{FieldNotch as V,NotchFrame as k}from"../../internal/notch.js";import{fieldSpotlightSlot as R,glowClasses as T,trackPointer as q}from"../../internal/glow.js";import{useFieldsetDisabled as G}from"../../internal/fieldset.js";const L=z+" max-h-[min(20rem,var(--available-height))] overflow-y-auto overscroll-contain min-w-[var(--anchor-width)] border bg-(--n-panel-press) p-1 [border-color:var(--n-line)] [box-shadow:var(--neba-shadow-3),var(--neba-plate-glass)] [outline:none] "+j,W="relative flex cursor-pointer items-center gap-2 select-none rounded-(--neba-radius-xs) py-1.5 pe-2 ps-7 "+P+" data-[highlighted]:bg-(--n-soft-hover) data-[highlighted]:text-(--n-on-tint) data-[selected]:text-(--n-on-tint) data-[selected]:font-medium data-[disabled]:cursor-not-allowed data-[disabled]:text-(--neba-disabled-fg) [outline:none]";export const Select=/*@__PURE__*/l.forwardRef(function Select(j,z){const{variant:P="outline",size:_="md",color:D="primary",density:E="default",elevation:A=0,items:B,value:F,defaultValue:H,onValueChange:J,placeholder:K,label:Q,labelPlacement:U="top",description:X,error:Y,invalid:Z,startIcon:ee,fullWidth:ae=!1,disabled:le,readOnly:te=!1,required:ne=!1,name:re,autoComplete:se,open:oe,defaultOpen:ie,onOpenChange:de,id:ce,className:me,classNames:ue,style:pe,"aria-label":be,"aria-labelledby":fe,...he}=M(j,["size","density","variant","labelPlacement"]),ge=G(le),ve=!ge&&!te,xe=null!=Y&&!1!==Y&&""!==Y,Ne=Z??xe,ye=Ne?"danger":D,we=l.useMemo(()=>B.map(e=>({label:e.label??String(e.value),value:e.value})),[B]),je=l.useMemo(()=>function(e){const a=[];for(const l of e){const e=a.at(-1);e&&e.label===l.group?e.items.push(l):a.push({label:l.group,items:[l]})}return a}(B),[B]),Ce=ue?.item,Oe=l.useMemo(()=>{const l=c(W,Ce);return je.map((n,s)=>{const o=n.items.map(n=>a(t.Item,{value:n.value,disabled:n.disabled,className:l,children:[e(t.ItemIndicator,{className:"absolute start-1.5 flex size-4 items-center justify-center",children:e(r,{})}),e(t.ItemText,{className:"truncate",children:n.label??String(n.value)})]},String(n.value)));return void 0===n.label?o:a(t.Group,{children:[e(t.GroupLabel,{className:`py-1.5 pe-2 ps-7 font-semibold tracking-wide text-(--neba-muted-fg) uppercase ${y[_]}`,children:n.label}),o]},`${n.label}-${s}`)})},[je,Ce,_]),$e="top"!==U&&N(Q),ze=$e&&"float"===U&&!N(ee),Ie=l.useMemo(()=>i([...B.map(e=>e.label??String(e.value)),...N(K)?[K]:[],...ze?[Q]:[]]),[B,K,ze,Q]),Se=a(t.Trigger,{ref:z,onPointerMove:q(void 0,ve),"aria-label":be,"aria-labelledby":fe,className:c(I,u[_],d[_],C[_],x[_],w[E][_],$e?"":f,ge?($e?g:m)[P]:te?$e?`${v[P]} ${O} cursor-default`:`${p[P]} cursor-default`:`${($e?h:b)[P]} ${T}`,ze?"neba-float-control":"",ue?.control),children:[ee?e("span",{className:"flex h-[1lh] shrink-0 items-center text-(--neba-muted-fg)",children:ee}):null,a("span",{className:"flex min-w-0 flex-1 flex-col",children:[e(t.Value,{className:"w-full truncate text-start data-[placeholder]:text-(--neba-muted-fg)",placeholder:K}),e(o,{samples:Ie})]}),e(t.Icon,{className:"flex h-[1lh] shrink-0 items-center text-(--neba-muted-fg) [transition:rotate_var(--neba-duration)_var(--neba-ease)] data-[popup-open]:rotate-180",children:e(s,{})})]});return a(n.Root,{disabled:ge,invalid:Ne,className:c("flex-col align-top",$[_],ae?"flex w-full":"inline-flex",me??""),style:{...S(ye,A),...ve?R:void 0,...pe},...he,children:[Q&&!$e?e(n.Label,{className:c(y[_],"font-medium",ge?"text-(--neba-disabled-fg)":"text-(--neba-fg)",ue?.label),children:Q}):null,a(t.Root,{id:ce,name:re,autoComplete:se,items:we,value:F,defaultValue:H,onValueChange:e=>J?.(e),open:oe,defaultOpen:ie,onOpenChange:e=>de?.(e),disabled:ge,readOnly:te,required:ne,children:[$e?a(k,{label:Q,size:_,density:E,variant:P,labelClassName:ue?.label,className:c(C[_],ge?"cursor-not-allowed":te?"cursor-default":"cursor-pointer"),children:[Se,e(V,{label:Q,variant:P,disabled:ge,readOnly:te,rests:ze,beside:!0,labelClassName:ue?.label})]}):Se,e(t.Portal,{children:e(t.Positioner,{className:"neba-portal z-(--neba-z-portal) [outline:none]",sideOffset:6,alignItemWithTrigger:!1,children:e(t.Popup,{className:c(L,C[_],d[_],ue?.popup),style:S(ye,3),children:Oe})})})]}),X?e(n.Description,{className:c(y[_],"text-(--neba-muted-fg)",ue?.description),children:X}):null,e(n.Error,xe?{match:!0,className:c(y[_],"text-(--n-accent)",ue?.error),children:Y}:{className:c(y[_],"text-(--n-accent)",ue?.error)})]})});
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export { Select } from './Select.js';
|
|
2
|
-
export type { SelectOption, SelectProps, SelectValue } from './Select.js';
|
|
2
|
+
export type { SelectOption, SelectProps, SelectSlot, SelectValue } from './Select.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{jsx as n,Fragment as e,jsxs as a}from"react/jsx-runtime";import*as s from"react";import{controlHeightClasses as
|
|
1
|
+
"use client";import{jsx as n,Fragment as e,jsxs as a}from"react/jsx-runtime";import*as s from"react";import{controlHeightClasses as t,controlSlots as o,controlTextClasses as l,cx as r,paddingXClasses as m,radiusClasses as i,srOnlyClasses as c,surfaceClasses as d,transitionClasses as u}from"../../internal/styles.js";import{canonicalKey as w,readOS as b,tokenize as p}from"../../internal/keys.js";import{useStyleDefaults as x}from"../../internal/defaults.js";const f=n=>({symbol:n,name:n}),y={mod:{mac:{symbol:"⌘",name:"Command"},windows:f("Ctrl"),linux:f("Ctrl")},meta:{mac:{symbol:"⌘",name:"Command"},windows:f("Win"),linux:f("Super")},ctrl:{mac:{symbol:"⌃",name:"Control"},windows:f("Ctrl"),linux:f("Ctrl")},alt:{mac:{symbol:"⌥",name:"Option"},windows:f("Alt"),linux:f("Alt")},shift:{mac:{symbol:"⇧",name:"Shift"},windows:f("Shift"),linux:f("Shift")},enter:{mac:{symbol:"↩",name:"Enter"},windows:f("Enter"),linux:f("Enter")},tab:{mac:{symbol:"⇥",name:"Tab"},windows:f("Tab"),linux:f("Tab")},escape:{mac:{symbol:"⎋",name:"Escape"},windows:f("Esc"),linux:f("Esc")},backspace:{mac:{symbol:"⌫",name:"Backspace"},windows:f("Backspace"),linux:f("Backspace")},delete:{mac:{symbol:"⌦",name:"Delete"},windows:f("Del"),linux:f("Del")},capslock:{mac:{symbol:"⇪",name:"Caps Lock"},windows:f("Caps Lock"),linux:f("Caps Lock")}},h={arrowup:{symbol:"↑",name:"Arrow up"},arrowdown:{symbol:"↓",name:"Arrow down"},arrowleft:{symbol:"←",name:"Arrow left"},arrowright:{symbol:"→",name:"Arrow right"}},g={ctrl:0,alt:1,shift:2,meta:3,mod:3};function k(){return()=>{}}function v(){return"windows"}const C={xs:"xs",sm:"xs",md:"sm",lg:"md",xl:"lg"},S={solid:d+" text-(--n-on-solid) bg-(--n-fill) [box-shadow:var(--n-elev),var(--neba-plate-solid)]",outline:d+" border text-(--n-on-tint) bg-(--n-panel) [border-color:var(--n-line)] [box-shadow:var(--n-elev),var(--neba-plate-glass)]",text:"text-(--n-on-tint) bg-(--n-soft)"},j={xs:"min-w-5.5",sm:"min-w-6.5",md:"min-w-8",lg:"min-w-10",xl:"min-w-12"};export const Shortcut=/*@__PURE__*/s.forwardRef(function Shortcut(d,E){const{variant:A="outline",size:N="md",color:B="secondary",density:D="compact",elevation:L=0,keys:T,os:z="auto",separator:F,className:O,style:R,...U}=x(d,["size","density","variant"]),W=s.useSyncExternalStore(k,b,v),q="auto"===z?W:z,G=C[N],H=("mac"===q?function(n){const e=n.slice(0,-1);return e.every(n=>w(n)in g)?[...e.sort((n,e)=>g[w(n)]-g[w(e)]),...n.slice(-1)]:n}(p(T)):p(T)).map(n=>function(n,e){const a=w(n),s=h[a];if(s)return s;const t=y[a];return t?t[e]:f(1===n.length?n.toUpperCase():n)}(n,q)),I=void 0===F?"mac"===q?null:"+":F,J="inline-flex shrink-0 items-center justify-center font-mono font-medium leading-none whitespace-nowrap tabular-nums "+t[G]+" "+l[G]+" "+j[G]+" "+m[D][G]+" "+i[G]+" "+S[A]+" "+u;return n("span",{ref:E,className:r("inline-flex max-w-full items-center gap-1 align-middle",O??""),style:{...o(B,L,A),...R},...U,children:H.map((t,o)=>a(s.Fragment,{children:[o>0&&null!==I?n("span",{"aria-hidden":"true",className:"text-(--neba-muted-fg)",children:I}):null,n("kbd",{className:J,children:t.symbol===t.name?t.symbol:a(e,{children:[n("span",{"aria-hidden":"true",children:t.symbol}),n("span",{className:c,children:t.name})]})})]},o))})});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{jsx as e,jsxs as t}from"react/jsx-runtime";import*as r from"react";import{boxPaddingXClasses as n,boxPaddingYClasses as o}from"../box/Box.js";import{
|
|
1
|
+
"use client";import{jsx as e,jsxs as t}from"react/jsx-runtime";import*as r from"react";import{boxPaddingXClasses as n,boxPaddingYClasses as o}from"../box/Box.js";import{beginPointerDrag as a,drawnScale as s}from"../../internal/drag.js";import{useMergedRef as l}from"../../internal/refs.js";import{layoutMessages as i,useMessages as c}from"../../internal/i18n.js";import{drawerChunk as u,drawerSide as d,expandedOnlyClasses as f,PageLayoutContext as p,SidebarSideContext as b,useCollapsed as m}from"../../internal/page-layout.js";import{cx as h,surfaceClasses as v,surfaceSlots as g,toLength as w,toPixels as y,transitionClasses as x}from"../../internal/styles.js";import{useStyleDefaults as S}from"../../internal/defaults.js";const R={xs:"11rem",sm:"13rem",md:"16rem",lg:"18rem",xl:"21rem"},j={solid:v+" text-(--neba-fg) bg-(--n-panel-press) [box-shadow:var(--n-elev),var(--neba-plate-solid)]",outline:v+" text-(--neba-fg) bg-(--n-panel) [box-shadow:var(--n-elev),var(--neba-plate-glass)]",text:"text-(--neba-fg) bg-transparent"},z=r.lazy(()=>u.load());export const Sidebar=/*@__PURE__*/r.forwardRef(function Sidebar(v,E){const M=r.useContext(p),{side:k,width:N,minWidth:A=160,maxWidth:B=480,resizable:C=!1,onResize:O,onResizeEnd:W,collapseBelow:D,open:L,defaultOpen:P=!1,onOpenChange:T,keepMounted:I=!1,sticky:$,title:_,variant:X="outline",size:K="md",color:V="primary",density:q="default",elevation:F=0,divider:G=!0,padded:H=!0,label:J,locale:Q,className:U,style:Y,children:Z,...ee}=S(v,["size","density","variant","locale"],{locale:M.locale}),te=r.useContext(b),re=k??te??"start",ne=Q??M.locale,oe=c(i,ne),ae=D??(M.present?M.collapseBelow:"none"),se=m(ae),le=$??M.present;r.useEffect(()=>{"production"!==process.env.NODE_ENV&&M.present&&void 0!==D&&D!==M.collapseBelow&&console.warn(`Neba: a Sidebar collapses below "${D}" and its PageLayout below "${M.collapseBelow}". A SidebarTrigger follows the layout, so between the two widths the drawer has nothing to open it. Set collapseBelow on the PageLayout instead.`)},[M.present,M.collapseBelow,D]);const[ie,ce]=r.useState(P),ue=void 0!==L,de=ue?L:M.present?M.open[re]:ie,fe=e=>{ue||(M.present?M.setOpen(re,e):ce(e)),T?.(e)},pe=r.useRef(de),be=r.useRef(fe),me=r.useRef(se);r.useEffect(()=>{pe.current=de,be.current=fe}),r.useEffect(()=>{me.current&&!se&&pe.current&&be.current(!1),me.current=se},[se]),r.useEffect(()=>{se&&u.load().catch(()=>{})},[se]);const he=r.useMemo(()=>se?d(re):null,[se,re,de]),ve=w(N)??R[K],ge=r.useRef(null),we=l(ge,E),ye=r.useRef(null);r.useEffect(()=>()=>ye.current?.(),[]);const xe=r.useRef(null),Se=(e,t,r)=>null==t?r:"number"==typeof t?t:y(t,{percentOf:"undefined"==typeof window?0:window.innerWidth,relativeTo:e})??r,Re=(e,t)=>{const r=xe.current;r&&(r.setAttribute("aria-valuenow",String(Math.round(t))),r.setAttribute("aria-valuemin",String(Math.round(Se(e,A,160)))),r.setAttribute("aria-valuemax",String(Math.round(Se(e,B,480)))))};r.useEffect(()=>{const e=ge.current;C&&e&&Re(e,e.offsetWidth)},[C,A,B,ve,se]);const je=e=>{const t=ge.current;if(!t)return e;const r=Math.min(Se(t,B,480),Math.max(Se(t,A,160),Math.round(e)));return t.style.setProperty("--n-sidebar-w",`${r}px`),Re(t,r),r},ze=e("div",{className:h("min-h-0 flex-1 overflow-y-auto overscroll-contain",H?h(n[q][K],o[q][K]):""),children:Z});return he?e(r.Suspense,{fallback:null,children:e(z,{ref:we,side:he,mode:"overlay",open:de,onOpenChange:fe,keepMounted:I,title:_,size:K,color:V,density:q,locale:ne,closeLabel:oe.closeSidebar,extent:void 0===N?void 0:ve,"aria-label":_?void 0:J??oe.sidebar,className:U,style:Y,...ee,children:Z})}):t("aside",{ref:we,"aria-label":J??oe.sidebar,className:h("relative flex min-w-0 shrink-0 flex-col","w-(--n-sidebar-w)",j[X],G?h("start"===re?"border-e":"border-s","[border-color:var(--n-line)]"):"","content"===M.scroll?"h-full":le?h("self-start","sticky [top:var(--n-layout-header,0px)]","[height:calc(100dvh-var(--n-layout-header,0px)-var(--n-layout-footer,0px))]"):"",f[ae],x,U),style:{...g(V,F),"--n-sidebar-w":ve,...Y},...ee,children:[ze,C?e("div",{ref:xe,role:"separator","aria-orientation":"vertical","aria-label":oe.resizeSidebar,tabIndex:0,className:h("neba-hit absolute inset-y-0 z-1 w-2 cursor-col-resize touch-none","start"===re?"end-0 -me-1":"start-0 -ms-1","bg-transparent hover:bg-(--n-soft) data-[dragging]:bg-(--n-soft)",x,"focus-visible:[outline:2px_solid_var(--n-ring)] focus-visible:outline-offset-0"),onPointerDown:e=>{const t=ge.current;if(!t||0!==e.button)return;const r=e.currentTarget,n=e.clientX,o=t.offsetWidth,l=s(t).x,i="rtl"===getComputedStyle(t).direction,c="start"===re===i?-1:1;let u=o;ye.current=a({target:r,pointerId:e.pointerId,onMove:e=>{u=je(o+(e.clientX-n)/l*c),O?.(u)},onEnd:()=>{ye.current=null,W?.(u)}})},onKeyDown:e=>{if("ArrowLeft"!==e.key&&"ArrowRight"!==e.key)return;e.preventDefault();const t="rtl"===getComputedStyle(e.currentTarget).direction,r="start"===re===t?-1:1;(e=>{const t=ge.current;if(!t)return;const r=je(t.offsetWidth+e);O?.(r),W?.(r)})(("ArrowRight"===e.key?16:-16)*r)}}):null]})});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{jsx as
|
|
1
|
+
"use client";import{jsx as o}from"react/jsx-runtime";import*as e from"react";import{IconButton as n}from"../icon-button/IconButton.js";import{layoutMessages as r,useMessages as t}from"../../internal/i18n.js";import{collapsedOnlyClasses as a,drawerChunk as i,PageLayoutContext as l}from"../../internal/page-layout.js";import{cx as c}from"../../internal/styles.js";import{useStyleDefaults as s}from"../../internal/defaults.js";function MenuIcon(){return o("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2","aria-hidden":"true",children:o("path",{d:"M4 7h16M4 12h16M4 17h16",strokeLinecap:"round"})})}function u(){i.load().catch(()=>{})}export const SidebarTrigger=/*@__PURE__*/e.forwardRef(function SidebarTrigger(i,p){const m=e.useContext(l),{side:d="start",collapseBelow:f,icon:h,label:b,locale:j,variant:x="text",className:g,onClick:S,onPointerEnter:k,onFocus:v,onTouchStart:M,...w}=s(i,["variant","locale"],{locale:m.locale}),B=j??m.locale,C=t(r,B);if(!m.present)return null;const T=f??m.collapseBelow,I=m.open[d];return o(n,{ref:p,variant:x,icon:h??o(MenuIcon,{}),label:b??(I?C.closeSidebar:C.openSidebar),"aria-expanded":I,className:c(a[T],g),onClick:o=>{m.setOpen(d,!I),S?.(o)},onPointerEnter:o=>{u(),k?.(o)},onFocus:o=>{u(),v?.(o)},onTouchStart:o=>{u(),M?.(o)},...w})});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{jsx as e,Fragment as r,jsxs as
|
|
1
|
+
"use client";import{jsx as e,Fragment as r,jsxs as n}from"react/jsx-runtime";import*as s from"react";import{useRender as l}from"@base-ui/react/use-render";import{controlHeightClasses as t,controlSquareClasses as o,cx as d,srOnlyClasses as a,surfaceSlots as m}from"../../internal/styles.js";import{useStyleDefaults as i}from"../../internal/defaults.js";import{observeVisibility as u}from"../../internal/observe.js";const f={xs:"h-[0.6875rem]",sm:"h-[0.75rem]",md:"h-[0.8125rem]",lg:"h-[0.9375rem]",xl:"h-[1.0625rem]"},c={xs:"gap-[0.3125rem]",sm:"gap-[0.375rem]",md:"gap-[0.5625rem]",lg:"gap-[0.5625rem]",xl:"gap-[0.6875rem]"},h={xs:"rounded-[0.3125rem]",sm:"rounded-[0.3125rem]",md:"rounded-[0.375rem]",lg:"rounded-[0.4375rem]",xl:"rounded-[0.5rem]"},x={xs:"h-12",sm:"h-16",md:"h-20",lg:"h-28",xl:"h-36"},g={xs:"rounded-(--neba-radius-xs)",sm:"rounded-(--neba-radius-sm)",md:"rounded-(--neba-radius-md)",lg:"rounded-(--neba-radius-lg)",xl:"rounded-(--neba-radius-xl)"},p="relative overflow-hidden bg-(--n-soft-hover)";function b(e){if(void 0!==e)return"number"==typeof e?`${e}px`:e}export const Skeleton=/*@__PURE__*/s.forwardRef(function Skeleton(w,v){const{shape:j="line",lines:$=1,size:y="md",color:k="secondary",width:N,height:A,animated:z=!0,label:R,render:S,className:B,style:E,...F}=i(w,["size"]),q=z?"neba-skeleton":"",C=s.useRef(null);s.useEffect(()=>{const e=C.current;if(!z||!e)return;const r=u(e,0,r=>{e.toggleAttribute("data-offscreen",!r)});return()=>{r?.(),e.removeAttribute("data-offscreen")}},[z]);const D="circle"===j?`rounded-full ${t[y]} ${o[y]} shrink-0`:"rect"===j?`w-full ${g[y]} ${void 0===A?x[y]:""}`:`w-full ${h[y]} ${f[y]}`,G=R?{role:"status"}:{"aria-hidden":!0},H=R?e("span",{className:a,children:R}):null,I="line"===j&&$>1;return l({render:S,ref:[v,C],props:{className:(I?["flex w-full flex-col",c[y],B??""]:[p,q,D,B??""]).filter(Boolean).join(" "),style:{...m(k,0),width:b(N),height:b(A),...E},...G,...I?{children:n(r,{children:[H,Array.from({length:$},(r,n)=>e("div",{className:d(p,q,h[y],f[y],n===$-1?"w-3/5":"w-full")},n))]})}:{children:H},...F}})});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{jsx as e,jsxs as l}from"react/jsx-runtime";import*as a from"react";import{Slider as r}from"@base-ui/react/slider";import{cx as n,hasContent as s,metaTextClasses as i,surfaceClasses as t,transitionClasses as o}from"../../internal/styles.js";import{WidthSizer as d}from"../../internal/sizer.js";import{useStyleDefaults as c}from"../../internal/defaults.js";import{useIntlLocale as b}from"../../internal/media.js";const u={xs:"h-1",sm:"h-1.5",md:"h-1.5",lg:"h-2",xl:"h-2.5"},m={xs:"w-1",sm:"w-1.5",md:"w-1.5",lg:"w-2",xl:"w-2.5"},f={xs:"size-3",sm:"size-3.5",md:"size-4",lg:"size-5",xl:"size-6"},h={xs:"h-4",sm:"h-4.5",md:"h-5",lg:"h-6",xl:"h-7"},x={xs:"w-4",sm:"w-4.5",md:"w-5",lg:"w-6",xl:"w-7"},g=`neba-slider-indicator rounded-full bg-(--n-fill) ${o}`,v=
|
|
1
|
+
"use client";import{jsx as e,jsxs as l}from"react/jsx-runtime";import*as a from"react";import{Slider as r}from"@base-ui/react/slider";import{cx as n,hasContent as s,metaTextClasses as i,surfaceClasses as t,transitionClasses as o}from"../../internal/styles.js";import{WidthSizer as d}from"../../internal/sizer.js";import{useStyleDefaults as c}from"../../internal/defaults.js";import{useIntlLocale as b}from"../../internal/media.js";const u={xs:"h-1",sm:"h-1.5",md:"h-1.5",lg:"h-2",xl:"h-2.5"},m={xs:"w-1",sm:"w-1.5",md:"w-1.5",lg:"w-2",xl:"w-2.5"},f={xs:"size-3",sm:"size-3.5",md:"size-4",lg:"size-5",xl:"size-6"},h={xs:"h-4",sm:"h-4.5",md:"h-5",lg:"h-6",xl:"h-7"},x={xs:"w-4",sm:"w-4.5",md:"w-5",lg:"w-6",xl:"w-7"},g=`neba-slider-indicator rounded-full bg-(--n-fill) ${o}`,v="neba-slider-thumb rounded-full border bg-(--neba-surface) "+t+" [border-color:var(--n-line-hover)] [box-shadow:var(--neba-shadow-1),var(--neba-plate-glass)] cursor-grab select-none active:cursor-grabbing "+o+" hover:[box-shadow:var(--neba-shadow-2),0_0_0_4px_var(--n-soft)] focus-visible:[outline:2px_solid_var(--n-ring)] focus-visible:outline-offset-2 data-[dragging]:[box-shadow:var(--neba-shadow-1),0_0_0_6px_var(--n-soft-hover)]",p="neba-slider-thumb rounded-full border bg-(--neba-surface) "+t+" [border-color:var(--neba-disabled-border)] shadow-none";function w(e,l,a,r){const n=(e.value-l)/(a-l)*100;return r?{insetBlockEnd:`${n}%`}:{insetInlineStart:`${n}%`}}function N(e,l,a){return e.value<=l?"min":e.value>=a?"max":"between"}const $={min:["items-start","items-end"],max:["items-end","items-start"],between:["items-center","items-center"]};export const Slider=/*@__PURE__*/a.forwardRef(function Slider(t,o){const{size:y="md",color:_="primary",orientation:j="horizontal",label:z,description:A,showValue:k=!1,marks:V=!1,disabled:S=!1,classNames:T,min:I=0,max:L=100,step:B=1,getAriaLabel:M,getAriaValueText:R,className:C,style:E,"aria-label":q,"aria-labelledby":D,"aria-describedby":F,locale:G,...H}=c(t,["size","locale"]),J=b(void 0),K="vertical"===j,O=a.useId(),P=[F,s(A)?O:void 0].filter(Boolean).join(" ")||void 0,Q=a.useMemo(()=>!0===V?function(e,l,a){const r=l-e;if(!(a>0)||!(r>0)||r/a>100)return[];const n=Math.floor(r/a+1e-9);return Array.from({length:n+1},(l,r)=>({value:e+r*a}))}(I,L,B):!1===V?[]:[...V],[V,I,L,B]),U={"--n-fill":`var(--neba-${_}-fill)`,"--n-accent":`var(--neba-${_}-accent)`,"--n-soft":`var(--neba-${_}-soft)`,"--n-soft-hover":`var(--neba-${_}-soft-hover)`,"--n-line-hover":`var(--neba-${_}-line-hover)`,"--n-ring":`var(--neba-${_}-ring)`},W=H.value??H.defaultValue,X=Array.isArray(W)?W.length:1,Y=e(r.Control,{className:n("flex touch-none select-none items-center justify-center",K?`${x[y]} h-full flex-col`:`w-full ${h[y]}`,T?.control),children:l(r.Track,{className:n(S?"neba-slider-rail rounded-full bg-(--neba-disabled-bg)":"neba-slider-rail rounded-full bg-(--n-soft)",K?`${m[y]} h-full`:`${u[y]} w-full`,T?.track),children:[e(r.Indicator,{className:n(S?"neba-slider-indicator rounded-full bg-(--neba-disabled-fg)":g,T?.indicator)}),Array.from({length:X},(l,a)=>e(r.Thumb,{index:a,"aria-label":q,"aria-labelledby":D,"aria-describedby":P,getAriaLabel:M,getAriaValueText:R,className:n(S?p:v,f[y],T?.thumb)},a))]})}),Z=Q.some(e=>s(e.label)),ee=Q.length>0?l("div",{"aria-hidden":"true",className:n("relative",i[y],K?"h-full ps-3":Z?"h-[calc(1lh+0.375rem)] w-full":"h-1.5 w-full"),children:[Q.map((a,r)=>l("span",{className:n("absolute flex text-(--neba-muted-fg)",K?"start-0 h-0 gap-1.5":"top-0 w-0 flex-col",$[N(a,I,L)][K?1:0],T?.mark),style:w(a,I,L,K),children:[e("span",{className:n("shrink-0 rounded-full bg-(--neba-border)",K?"h-px w-1.5":"h-1.5 w-px")}),s(a.label)?e("span",{className:"whitespace-nowrap",children:a.label}):null]},`${a.value}:${r}`)),K?e(d,{samples:Q.filter(e=>s(e.label)).map(e=>e.label)}):null]}):null;return l(r.Root,{ref:o,locale:G??J,orientation:j,disabled:S,className:n("flex",K?"w-fit flex-col items-center gap-2":"w-full flex-col gap-1.5",S?"[&_*]:cursor-not-allowed":"",C??""),style:{...U,...E},min:I,max:L,step:B,...H,children:[z||k?l("div",{className:`flex w-full items-baseline gap-2 ${i[y]}`,children:[z?e(r.Label,{className:n("font-medium",S?"text-(--neba-disabled-fg)":"text-(--neba-fg)",T?.label),children:z}):null,k?e(r.Value,{className:"ms-auto tabular-nums text-(--neba-muted-fg)",children:"function"==typeof k?k:null}):null]}):null,K?l("div",{className:"flex h-40 items-stretch",children:[Y,ee]}):Y,K?null:ee,A?e("div",{id:O,className:n(i[y],"text-(--neba-muted-fg)",T?.description),children:A}):null]})});
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export { Slider } from './Slider.js';
|
|
2
|
-
export type { SliderProps } from './Slider.js';
|
|
2
|
+
export type { SliderProps, SliderSlot } from './Slider.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{jsx as e,jsxs as n}from"react/jsx-runtime";import*as l from"react";import{Collapsible as s}from"@base-ui/react/collapsible";import{boxPaddingXClasses as t,boxPaddingYClasses as a}from"../box/Box.js";import{ChevronIcon as i}from"../../internal/icons.js";import{TextLink as r}from"../text-link/TextLink.js";import{safeHref as o,safeRel as m}from"../../internal/link.js";import{sourcesMessages as c,useMessages as d}from"../../internal/i18n.js";import{citationMarkClasses as f,collapsiblePanelClasses as p,cx as u,gapClasses as h,hasContent as x,iconClasses as b,metaTextClasses as g,radiusClasses as v,sheetBodyClasses as N,sheetTitleClasses as j,surfaceClasses as w,surfaceSlots as y,transitionClasses as z,disclosureChevronClasses as k,disclosureTriggerClasses as _}from"../../internal/styles.js";import{useStyleDefaults as C}from"../../internal/defaults.js";const O={solid:
|
|
1
|
+
"use client";import{jsx as e,jsxs as n}from"react/jsx-runtime";import*as l from"react";import{Collapsible as s}from"@base-ui/react/collapsible";import{boxPaddingXClasses as t,boxPaddingYClasses as a}from"../box/Box.js";import{ChevronIcon as i}from"../../internal/icons.js";import{TextLink as r}from"../text-link/TextLink.js";import{safeHref as o,safeRel as m}from"../../internal/link.js";import{sourcesMessages as c,useMessages as d}from"../../internal/i18n.js";import{citationMarkClasses as f,collapsiblePanelClasses as p,cx as u,gapClasses as h,hasContent as x,iconClasses as b,metaTextClasses as g,radiusClasses as v,sheetBodyClasses as N,sheetTitleClasses as j,surfaceClasses as w,surfaceSlots as y,transitionClasses as z,disclosureChevronClasses as k,disclosureTriggerClasses as _}from"../../internal/styles.js";import{useStyleDefaults as C}from"../../internal/defaults.js";const O={solid:w+" text-(--neba-fg) bg-(--n-panel-hover) [box-shadow:var(--n-elev),var(--neba-plate-solid)]",outline:w+" 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"},S={xs:"size-3.5",sm:"size-4",md:"size-4.5",lg:"size-5",xl:"size-6"};export const Sources=/*@__PURE__*/l.forwardRef(function Sources(w,$){const{variant:F="text",size:R="md",color:T="primary",density:U="default",elevation:B=0,items:L,title:P,collapsible:q=!0,open:A,defaultOpen:D=!1,onOpenChange:E,hiddenUntilFound:G=!0,numbered:H=!0,locale:I,labels:J,classNames:K,className:M,style:Q,...V}=C(w,["size","density","variant","locale"]),W={...d(c,I),...J},[X,Y]=l.useState(D),Z=void 0!==A,ee=Z?A:X,ne=t[U][R],le=a[U][R],se=x(P)?P:W.title,te=e("ol",{role:"list",className:u("m-0 flex list-none flex-col gap-2 p-0",ne,"compact"===U?"pb-2":"pb-4",N[R],K?.list??""),children:L.map((l,s)=>{const t=l.index??s+1,a=o(l.href),i=n("span",{className:"min-w-0 font-medium",children:[l.title,x(l.site)?e("span",{className:u("ms-2 font-normal text-(--neba-muted-fg)",g[R]),children:l.site}):null]});return n("li",{className:u("flex min-w-0 items-baseline gap-2",K?.item??""),children:[H?e("span",{"aria-hidden":"true",className:f,children:t}):null,x(l.icon)?e("span",{className:u("inline-flex shrink-0 items-center justify-center self-center overflow-hidden","rounded-[0.25rem] [&_img]:size-full [&_img]:object-cover",S[R]),children:l.icon}):null,n("span",{className:"flex min-w-0 flex-col gap-0.5",children:[a?e(r,{href:a,underline:"hover",target:l.target,rel:m(l.target,l.rel),locale:I,className:"min-w-0",children:i}):i,x(l.description)?e("span",{className:u("min-w-0 text-(--neba-muted-fg)",g[R]),children:l.description}):null]})]},`${t}-${a??s}`)})}),ae=u("flex flex-col overflow-hidden",v[R],O[F],z,b,M??""),ie={...y(T,B),...Q};return q?n(s.Root,{ref:$,open:ee,onOpenChange:e=>{Z||Y(e),E?.(e)},className:ae,style:ie,...V,children:[n(s.Trigger,{className:u("flex w-full cursor-pointer items-center text-start font-semibold text-(--neba-fg)",_,ne,le,h[R],j[R],z,"hover:bg-(--n-soft)","focus-visible:[outline:2px_solid_var(--n-ring)] focus-visible:[outline-offset:-2px]",K?.header??""),children:[e("span",{className:"min-w-0 truncate",children:se}),e("span",{className:"shrink-0 font-normal text-(--neba-muted-fg) tabular-nums",children:L.length}),e("span",{className:`${k} ms-auto text-(--neba-muted-fg)`,children:e(i,{})})]}),e(s.Panel,{hiddenUntilFound:G,className:p,children:te})]}):n("div",{ref:$,className:ae,style:ie,...V,children:[n("div",{className:u("flex items-center font-semibold text-(--neba-fg)",ne,le,h[R],j[R],K?.header??""),children:[se,e("span",{className:"text-(--neba-muted-fg) tabular-nums",children:L.length})]}),te]})});
|
|
@@ -60,6 +60,13 @@ export interface SparklineProps extends Omit<React.ComponentPropsWithoutRef<'div
|
|
|
60
60
|
max?: number;
|
|
61
61
|
/** How wide. Fills its container by default. */
|
|
62
62
|
width?: number | string;
|
|
63
|
+
/**
|
|
64
|
+
* The width, in pixels, to draw at before the strip has measured its box: on
|
|
65
|
+
* the server and while the page hydrates. Without it a server-rendered strip
|
|
66
|
+
* is an empty box until the page runs; the measured width replaces it. Not
|
|
67
|
+
* read when `width` is a number, which is drawn from the first render.
|
|
68
|
+
*/
|
|
69
|
+
initialWidth?: number;
|
|
63
70
|
/** A name for the strip, read out in place of it. */
|
|
64
71
|
label?: string;
|
|
65
72
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{jsx as e,jsxs as a,Fragment as l}from"react/jsx-runtime";import*as
|
|
1
|
+
"use client";import{jsx as e,jsxs as a,Fragment as l}from"react/jsx-runtime";import*as t from"react";import{areaPath as r,barMaxThickness as n,barPath as i,barRadius as o,extentOf as s,lineWidths as m,markerRadii as h,markGap as u,resolveColor as c,sparklineHeights as d,toValue as p}from"../../internal/chart.js";import{initialWidthFor as f,useMeasuredWidth as v}from"../../internal/chart-frame.js";import{cx as x,srOnlyClasses as b}from"../../internal/styles.js";import{linePath as g}from"../../internal/chart.js";import{useStyleDefaults as k}from"../../internal/defaults.js";export const Sparkline=/*@__PURE__*/t.forwardRef(function Sparkline(M,y){const{data:j,shape:w="line",curve:$="linear",nulls:N="gap",size:W="md",color:z,endDot:B=!1,baseline:C,min:L,max:R,width:S,initialWidth:D,label:F,className:G,style:I,...q}=k(M,["size"]),A=t.useRef(null),E=v(A,{enabled:"number"!=typeof S,initial:f(D,void 0)}),H=t.useId().replace(/:/g,""),J=t.useMemo(()=>{const e=j.map(p);return"zero"===N?e.map(e=>null===e.value?{...e,value:0}:e):e},[j,N]),K=d[W],O=m[W],P=h[W],Q=s([J],!1),T="bar"===w,U=L??(Q?Math.min(Q.min,C??Q.min,T?0:Q.min):0),V=R??(Q?Math.max(Q.max,C??Q.max,T?0:Q.max):1),X=V-U||1,Y=V===U&&!T,Z=Math.min(Math.max(U,0),V),_="number"==typeof S?S:E,ee=c(z??"var(--neba-chart-1)"),ae="bar"===w?0:O/2+(B?P:0),le=ae,te=Math.max(1,K-2*ae),re=e=>Y?le+te/2:le+(1-(e-U)/X)*te,ne=J.length>1?_/(J.length-1):_,ie=J.map((e,a)=>null===e.value?null:{x:a*ne,y:re(e.value)}),oe="connect"===N?ie.filter(Boolean):ie,se=(()=>{for(let e=J.length-1;e>=0;e--)if(null!==J[e].value)return e;return-1})(),me=Math.min(n[W]/2,Math.max(1,_/Math.max(1,J.length)-u));return a("div",{ref:y,className:x("relative block",G??void 0),style:{width:S??"100%",height:K,...I},...q,children:[e("div",{ref:A,className:"absolute inset-0",role:F?"img":void 0,"aria-label":F,children:_>0&&J.length>0?a("svg",{width:_,height:K,viewBox:`0 0 ${_} ${K}`,"aria-hidden":"true",className:"block overflow-visible",children:["area"===w?a(l,{children:[e("defs",{children:a("linearGradient",{id:`${H}-fill`,x1:"0",y1:"0",x2:"0",y2:"1",children:[e("stop",{offset:"0%",stopColor:`color-mix(in oklab, ${ee} 32%, transparent)`}),e("stop",{offset:"100%",stopColor:`color-mix(in oklab, ${ee} 2%, transparent)`})]})}),e("path",{d:r(oe,K,$),fill:`url(#${H}-fill)`})]}):null,void 0!==C?e("line",{x1:0,x2:_,y1:re(C),y2:re(C),stroke:"var(--neba-chart-baseline)",strokeWidth:1}):null,"bar"===w?J.map((a,l)=>null===a.value?null:e("path",{d:i(l*(_/Math.max(1,J.length))+(_/Math.max(1,J.length)-me)/2,Math.min(re(a.value),re(Z)),me,Math.max(1,Math.abs(re(a.value)-re(Z))),o/2,a.value>=0?"up":"down"),fill:a.color??ee},l)):e("path",{d:g(oe,$),fill:"none",stroke:ee,strokeWidth:O,strokeLinecap:"round",strokeLinejoin:"round"}),B&&se>=0&&"bar"!==w?e("circle",{cx:ie[se].x,cy:ie[se].y,r:P,fill:ee,stroke:"var(--neba-chart-gap)",strokeWidth:u}):null]}):null}),F?e("span",{className:b,children:J.map(e=>null===e.value?"—":e.value).join(", ")}):null]})});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{jsx as e,jsxs as r}from"react/jsx-runtime";import*as
|
|
1
|
+
"use client";import{jsx as e,jsxs as r}from"react/jsx-runtime";import*as t from"react";import{useLayoutEffectOnClient as n}from"../../internal/layout-effect.js";import{Button as i}from"../button/Button.js";import{spoilerMessages as a,useMessages as l}from"../../internal/i18n.js";import{boxPaddingClasses as o,boxPaddingXClasses as s,boxPaddingYClasses as d}from"../box/Box.js";import{cx as c,hasContent as u,metaTextClasses as m,radiusClasses as f,surfaceClasses as v,surfaceSlots as p,transitionClasses as b}from"../../internal/styles.js";import{inertValue as x}from"../../internal/inert.js";import{useStyleDefaults as h}from"../../internal/defaults.js";const g={solid:v+" bg-(--n-panel-hover) [box-shadow:var(--n-elev),var(--neba-plate-solid)]",outline:v+" border bg-(--n-panel) [border-color:var(--n-line)] [box-shadow:var(--n-elev),var(--neba-plate-glass)]",text:"bg-transparent"};export const Spoiler=/*@__PURE__*/t.forwardRef(function Spoiler(v,y){const{revealed:j,defaultRevealed:w=!1,onRevealedChange:R,locale:N,label:z,hideLabel:C,description:S,action:k,reversible:_=!1,maxHeight:E,blur:H=10,padded:T=!0,variant:A="outline",size:B="md",color:I="primary",density:L="default",elevation:$=0,className:q,style:M,children:D,...F}=h(v,["size","density","variant","locale"]),G=l(a,N),J=t.useId(),[K,O]=t.useState(w),P=j??K,Q=e=>{void 0===j&&O(e),R?.(e)},U=!1===S?null:S??G.notice,V=t.useRef(null),W=t.useRef(null);return n(()=>{const e=V.current?.parentElement,r=document.activeElement;if(!(e&&r instanceof HTMLElement&&e.contains(r)))return;if(!r.closest("[inert]"))return;const t=P?V.current:W.current?.querySelector('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');t?.focus({preventScroll:!0})},[P]),r("div",{ref:y,className:c("isolate grid overflow-hidden",f[B],g[A],b,q??""),style:{gridTemplateColumns:"minmax(0, 1fr)",gridTemplateRows:_?"auto auto":"auto",...p(I,$),...M},...F,children:[e("div",{ref:V,id:J,tabIndex:-1,className:c("min-w-0 [outline:none]",T?o[L][B]:"","[transition:filter_var(--neba-duration-fill)_var(--neba-ease)]","motion-reduce:[transition-duration:0ms]",P?"":"select-none"),style:{gridArea:"1 / 1",filter:P?void 0:`blur(${H}px)`,maxHeight:P?void 0:E,overflow:P?void 0:"hidden"},inert:x(!P),children:D}),_?e("div",{className:(P?"":"invisible")+" flex justify-end "+s[L][B]+" "+d[L][B]+" pt-0",style:{gridArea:"2 / 1"},inert:x(!P),children:e(i,{variant:"text",size:B,color:I,density:L,onClick:()=>Q(!1),"aria-expanded":!0,"aria-controls":J,children:C??G.hide})}):null,r("div",{ref:W,className:c("z-10 flex flex-col items-center justify-center gap-2 text-center",o[L][B],P?"invisible":"[background-color:color-mix(in_oklab,var(--neba-surface)_55%,transparent)]"),style:{gridRow:"1 / -1",gridColumn:"1"},inert:x(P),children:[u(U)?e("p",{className:`m-0 text-(--neba-muted-fg) ${m[B]}`,children:U}):null,k??e(i,{size:B,color:I,density:L,onClick:()=>Q(!0),"aria-expanded":!1,"aria-controls":J,children:z??G.reveal})]})]})});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{jsx as e,jsxs as t}from"react/jsx-runtime";import*as l from"react";import{Box as n}from"../box/Box.js";import{Chip as a}from"../chip/Chip.js";import{MinusIcon as s,TrendDownIcon as r,TrendUpIcon as i}from"../../internal/icons.js";import{numberFormatter as m}from"../../internal/format.js";import{cx as o,hasContent as u,metaTextClasses as c,sheetSectionGapClasses as d}from"../../internal/styles.js";import{useStyleDefaults as f}from"../../internal/defaults.js";import{useIntlLocale as x}from"../../internal/media.js";const p={xs:"text-[1.125rem]/[1.375rem]",sm:"text-[1.375rem]/[1.625rem]",md:"text-[1.75rem]/[2rem]",lg:"text-[2.25rem]/[2.5rem]",xl:"text-[2.875rem]/[3.25rem]"},b={xs:"text-[0.75rem]",sm:"text-[0.875rem]",md:"text-[1rem]",lg:"text-[1.25rem]",xl:"text-[1.5rem]"},h={xs:"gap-y-0.5",sm:"gap-y-0.5",md:"gap-y-1",lg:"gap-y-1",xl:"gap-y-1.5"},g={start:"items-start text-start",center:"items-center text-center",end:"items-end text-end"},N={up:e(i,{}),down:e(r,{}),flat:e(s,{})};export const Statistic=/*@__PURE__*/l.forwardRef(function Statistic(l,s){const{size:r="md",color:i="primary",density:
|
|
1
|
+
"use client";import{jsx as e,jsxs as t}from"react/jsx-runtime";import*as l from"react";import{Box as n}from"../box/Box.js";import{Chip as a}from"../chip/Chip.js";import{MinusIcon as s,TrendDownIcon as r,TrendUpIcon as i}from"../../internal/icons.js";import{numberFormatter as m}from"../../internal/format.js";import{cx as o,hasContent as u,metaTextClasses as c,sheetSectionGapClasses as d}from"../../internal/styles.js";import{useStyleDefaults as f}from"../../internal/defaults.js";import{useIntlLocale as x}from"../../internal/media.js";const p={xs:"text-[1.125rem]/[1.375rem]",sm:"text-[1.375rem]/[1.625rem]",md:"text-[1.75rem]/[2rem]",lg:"text-[2.25rem]/[2.5rem]",xl:"text-[2.875rem]/[3.25rem]"},b={xs:"text-[0.75rem]",sm:"text-[0.875rem]",md:"text-[1rem]",lg:"text-[1.25rem]",xl:"text-[1.5rem]"},h={xs:"gap-y-0.5",sm:"gap-y-0.5",md:"gap-y-1",lg:"gap-y-1",xl:"gap-y-1.5"},g={start:"items-start text-start",center:"items-center text-center",end:"items-end text-end"},N={up:e(i,{}),down:e(r,{}),flat:e(s,{})};export const Statistic=/*@__PURE__*/l.forwardRef(function Statistic(l,s){const{size:r="md",color:i="primary",density:w="default",label:y,value:j,format:v,locale:$,prefix:M,unit:z,icon:F,previousValue:k,delta:B="percent",betterWhen:D="up",caption:S,align:C="start",className:I,children:O,...R}=f(l,["size","density","locale"]),V=x($),W="number"==typeof j?j:null,q=null===W?j:m(V,v).format(W),A=null!==W&&Number.isFinite(W)&&void 0!==k&&Number.isFinite(k)?W-k:null,E=null!==A&&0!==k&&void 0!==k?A/Math.abs(k):null,G=m(V,v),H="absolute"!==B&&null!==E,J=H?3:G.resolvedOptions().maximumFractionDigits??0,K=H?E:A,L=null===K||0===Math.round(Math.abs(K)*10**J)?0:Math.sign(K),P=null===A?null:L>0?"up":L<0?"down":"flat";let Q=null;if(null!==A&&null!==P&&"none"!==B){const e="up"===P?"+":"down"===P?"-":"",t=`${e}${G.format(Math.abs(A))}`,l=null===E?null:`${e}${m(V,{style:"percent",maximumFractionDigits:1}).format(Math.abs(E))}`;Q="absolute"===B?t:"both"===B?[l,t].filter(Boolean).join(" · "):l??t}const T=null===P||"flat"===P?"secondary":P===D?"success":"danger",U=null!==Q||u(S);return t(n,{ref:s,size:r,color:i,density:w,className:o("flex flex-col",d[r],g[C],I??""),...R,children:[u(y)||u(F)?t("div",{className:"flex min-w-0 items-center gap-1.5 font-medium text-(--neba-muted-fg) "+c[r],children:[u(F)?e("span",{className:"flex shrink-0 items-center",children:F}):null,u(y)?e("span",{className:"min-w-0 truncate",children:y}):null]}):null,t("div",{className:"flex min-w-0 flex-wrap items-baseline gap-1 font-semibold text-(--neba-fg) tabular-nums "+p[r],children:[u(M)?e("span",{className:`font-medium text-(--neba-muted-fg) ${b[r]}`,children:M}):null,e("span",{className:"min-w-0 break-words",children:q}),u(z)?e("span",{className:`font-medium text-(--neba-muted-fg) ${b[r]}`,children:z}):null]}),U?t("div",{className:`flex min-w-0 flex-wrap items-center gap-x-2 ${h[r]}`,children:[null!==Q&&null!==P?e(a,{size:r,variant:"text",color:T,startIcon:N[P],className:"tabular-nums",children:Q}):null,u(S)?e("span",{className:`min-w-0 text-(--neba-muted-fg) ${c[r]}`,children:S}):null]}):null,O]})});
|