@box-kite/react 2.4.0 → 2.4.1
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/.claude/rules/box-kite-rules.md +1 -1
- package/.claude/skills/box-kite/SKILL.md +1 -1
- package/.claude/skills/box-kite/references/components.md +7 -0
- package/.claude/skills/box-kite/references/rules.md +2 -2
- package/.claude/skills/box-kite/references/styling.md +5 -3
- package/.cursor/rules/box-kite.mdc +1 -1
- package/AGENTS.md +1 -1
- package/BOX_AI_CONTEXT.md +77 -7
- package/BOX_KITE_AI_CONTEXT.md +77 -7
- package/box.cjs +1 -1
- package/box.d.ts +5 -0
- package/box.mjs +5 -5
- package/catalog.cjs +1 -1
- package/catalog.mjs +53 -18
- package/client.cjs +1 -1
- package/client.mjs +7 -7
- package/components/accordion.cjs +1 -1
- package/components/accordion.mjs +1 -1
- package/components/button.cjs +1 -1
- package/components/button.mjs +1 -1
- package/components/calendar.cjs +1 -1
- package/components/calendar.mjs +1 -1
- package/components/chart.cjs +1 -1
- package/components/chart.mjs +3 -3
- package/components/checkbox.cjs +1 -1
- package/components/checkbox.mjs +1 -1
- package/components/combobox.cjs +1 -1
- package/components/combobox.mjs +70 -70
- package/components/dashboard.cjs +1 -1
- package/components/dashboard.mjs +1 -1
- package/components/dateField.cjs +1 -1
- package/components/dateField.mjs +16 -16
- package/components/datePicker.cjs +1 -1
- package/components/datePicker.mjs +1 -1
- package/components/dateTime.cjs +1 -1
- package/components/dateTime.mjs +1 -1
- package/components/dialog.cjs +1 -1
- package/components/dialog.mjs +1 -1
- package/components/flex.cjs +1 -1
- package/components/flex.mjs +1 -1
- package/components/flow.cjs +1 -0
- package/components/flow.d.ts +56 -0
- package/components/flow.mjs +98 -0
- package/components/form.cjs +1 -1
- package/components/form.mjs +1 -1
- package/components/grid.cjs +1 -1
- package/components/grid.mjs +1 -1
- package/components/icon.cjs +1 -1
- package/components/icon.mjs +1 -1
- package/components/list.cjs +1 -1
- package/components/list.mjs +1 -1
- package/components/menu.cjs +1 -1
- package/components/menu.mjs +1 -1
- package/components/popover.cjs +1 -1
- package/components/popover.mjs +1 -1
- package/components/radioButton.cjs +1 -1
- package/components/radioButton.mjs +1 -1
- package/components/radioGroup.cjs +1 -1
- package/components/radioGroup.mjs +1 -1
- package/components/semantics.cjs +1 -1
- package/components/semantics.d.ts +32 -30
- package/components/semantics.mjs +3 -3
- package/components/skeleton.cjs +1 -1
- package/components/skeleton.mjs +1 -0
- package/components/slider.cjs +1 -1
- package/components/slider.mjs +1 -1
- package/components/sortableList.cjs +1 -1
- package/components/sortableList.mjs +1 -1
- package/components/svg.cjs +1 -1
- package/components/svg.mjs +14 -14
- package/components/swipeItem.cjs +1 -1
- package/components/swipeItem.mjs +1 -1
- package/components/tabs.cjs +1 -1
- package/components/tabs.mjs +1 -1
- package/components/textarea.cjs +1 -1
- package/components/textarea.mjs +1 -1
- package/components/textbox.cjs +1 -1
- package/components/textbox.mjs +1 -1
- package/components/toaster.cjs +1 -1
- package/components/toaster.mjs +1 -1
- package/components/tooltip.cjs +1 -1
- package/components/tooltip.mjs +1 -1
- package/components/virtualList.cjs +1 -1
- package/components/virtualList.mjs +1 -1
- package/components/visuallyHidden.cjs +1 -1
- package/components/visuallyHidden.mjs +1 -1
- package/docs/components.md +1 -0
- package/docs/props.md +1 -1
- package/package.json +43 -29
- package/react/boxClassNames.d.ts +2 -2
- package/react-shared.cjs +1 -1
- package/react-shared.mjs +42 -3
- package/rsc.cjs +1 -1
- package/rsc.d.ts +1 -0
- package/rsc.mjs +2 -2
- package/utils/catalog/catalogContracts.d.ts +0 -10
- package/utils/flow/flowPalette.d.ts +17 -0
- package/utils/flow/flowUtils.d.ts +47 -0
package/components/dialog.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("../react-shared.cjs"),t=require("../platform.cjs"),n=require("../client.cjs"),r=require("../effects.cjs"),i=require("../box.cjs"),a=require("../behavior.cjs"),o=require("../identity.cjs"),s=require("../reporting.cjs"),c=require("../motion.cjs"),l=require("./semantics.cjs");let u=require("react"),d=require("react/jsx-runtime");var f=0;function p(e){let{classNames:i,styleElements:a}=n.i({overflow:`hidden`},!1),o=i.slice(1).join(` `);return r.n(()=>{let n=t.n();if(!(!e||!n||!o))return f+=1,n.classList.add(o),()=>{--f,f===0&&n.classList.remove(o)}},[e,o]),a}var m=(0,u.createContext)(null);function h(e){let t=(0,u.useContext)(m);if(!t)throw Error(`<${e}> must be rendered inside a <Dialog>.`);return t}function g(e,t){return(0,d.jsx)(v,{role:`dialog`,...e,elementRef:t})}function _(e,t){return(0,d.jsx)(v,{role:`alertdialog`,...e,modal:!0,dismissible:!1,elementRef:t})}function v(e){let{role:n,trigger:l,children:f,open:h,defaultOpen:g=!1,onOpenChange:_,label:v,labelledBy:b,describedBy:x,modal:S=!0,dismissible:C=!0,lockScroll:w=S,initialFocus:T,elementRef:E,props:D,...O}=e,k=o.t(`dialog`),A=O.id??k,[j,M]=s.a({value:h,defaultValue:g,onChange:_,interaction:{component:n===`alertdialog`?`alertDialog`:`dialog`,type:`openChange`}}),[N,P]=(0,u.useState)(null),F=(0,u.useCallback)(e=>{P(e),t.d(E,e)},[E]),[I,L]=(0,u.useState)(null),[R,z]=(0,u.useState)(!1),[B,V]=(0,u.useState)({title:0,description:0}),H=p(j&&w);a.n({enabled:j,returnTo:I});let U=c.t(f,j,N),W=(0,u.useCallback)(e=>(V(t=>({...t,[e]:t[e]+1})),()=>V(t=>({...t,[e]:t[e]-1}))),[]),G=(0,u.useMemo)(()=>({titleId:`${A}-title`,descriptionId:`${A}-description`,register:W}),[A,W]);y({dialog:N,isOpen:j,domOpen:R,setDomOpen:z,setOpen:M,modal:S,dismissible:C,triggerElement:I}),r.n(()=>{let e=t.h(T);!j||!e||e.focus()},[j,T]);let K=a.a(e=>{M(e=>!e,{reason:`trigger`,event:e})}),q=(0,u.useMemo)(()=>({ref:L,props:{"aria-expanded":j,"aria-haspopup":`dialog`,"aria-controls":j?A:void 0,onClick:K}}),[A,K,j]),J=O;return(0,d.jsxs)(d.Fragment,{children:[H,l?.(q),(0,d.jsx)(m.Provider,{value:G,children:(0,d.jsx)(i.default,{ref:F,tag:`dialog`,component:`dialog`,...J,id:A,props:{role:n,"aria-label":B.title||b?void 0:v,"aria-labelledby":b??(B.title?G.titleId:void 0),"aria-describedby":x??(B.description?G.descriptionId:void 0),...D},children:U})})]})}function y(e){let{dialog:n,isOpen:i,domOpen:o,setDomOpen:s,setOpen:c,modal:l,dismissible:d,triggerElement:f}=e,p=(0,u.useRef)(`imperative`),m=t.s(),h=d?`any`:`closerequest`;r.n(()=>{!n||i===o||(s(i),i?l?n.showModal():n.show():n.close())},[n,i,o,l,s]),r.n(()=>{if(!(!n||!i||!l))return t.u(n,!0),()=>t.u(n,!1)},[n,i,l]),r.n(()=>{if(!n)return;let e=new AbortController;return n.addEventListener(`close`,e=>{s(!1),c(!1,{reason:p.current,event:e}),p.current=`imperative`},{signal:e.signal}),()=>e.abort()},[n,s,c]),r.n(()=>{if(!(!n||!m))return n.setAttribute(`closedby`,h),()=>n.removeAttribute(`closedby`)},[n,m,h]),r.n(()=>{if(!i||!n)return;let e=new AbortController,r=(t,n)=>document.addEventListener(t,n,{signal:e.signal,capture:!0});return r(`keydown`,e=>{e.key===`Escape`&&(p.current=`escape`)}),r(`pointerdown`,e=>{t.g(e,[f])?p.current=`trigger`:!t.g(e,[n])||b(n,e)?p.current=`outside-pointer`:p.current=`imperative`}),()=>e.abort()},[i,n,f]),a.r({enabled:i&&!l&&!m,inside:[n],escapeKey:!0,outsidePointer:!1,onDismiss:(e,t)=>c(!1,{reason:`escape`,event:t})}),r.n(()=>{if(!n||!i||!d||m)return;let e=new AbortController;return document.addEventListener(`pointerdown`,e=>{t.g(e,[f])||t.g(e,[n])&&!b(n,e)||c(!1,{reason:`outside-pointer`,event:e})},{signal:e.signal,capture:!0}),()=>e.abort()},[n,i,d,m,f,c])}function b(e,t){if(t.target!==e)return!1;let n=e.getBoundingClientRect();return t.clientX<n.left||t.clientX>n.right||t.clientY<n.top||t.clientY>n.bottom}function x(e){let t=h(`Dialog.Title`);return r.n(()=>t.register(`title`),[t]),(0,d.jsx)(l.H2,{id:t.titleId,component:`dialog.title`,...e})}function S(e){let t=h(`Dialog.Description`);return r.n(()=>t.register(`description`),[t]),(0,d.jsx)(l.P,{id:t.descriptionId,component:`dialog.description`,...e})}x.displayName=`Dialog.Title`,S.displayName=`Dialog.Description`;var C={Title:x,Description:S},w=Object.assign(e.
|
|
1
|
+
"use client";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("../react-shared.cjs"),t=require("../platform.cjs"),n=require("../client.cjs"),r=require("../effects.cjs"),i=require("../box.cjs"),a=require("../behavior.cjs"),o=require("../identity.cjs"),s=require("../reporting.cjs"),c=require("../motion.cjs"),l=require("./semantics.cjs");let u=require("react"),d=require("react/jsx-runtime");var f=0;function p(e){let{classNames:i,styleElements:a}=n.i({overflow:`hidden`},!1),o=i.slice(1).join(` `);return r.n(()=>{let n=t.n();if(!(!e||!n||!o))return f+=1,n.classList.add(o),()=>{--f,f===0&&n.classList.remove(o)}},[e,o]),a}var m=(0,u.createContext)(null);function h(e){let t=(0,u.useContext)(m);if(!t)throw Error(`<${e}> must be rendered inside a <Dialog>.`);return t}function g(e,t){return(0,d.jsx)(v,{role:`dialog`,...e,elementRef:t})}function _(e,t){return(0,d.jsx)(v,{role:`alertdialog`,...e,modal:!0,dismissible:!1,elementRef:t})}function v(e){let{role:n,trigger:l,children:f,open:h,defaultOpen:g=!1,onOpenChange:_,label:v,labelledBy:b,describedBy:x,modal:S=!0,dismissible:C=!0,lockScroll:w=S,initialFocus:T,elementRef:E,props:D,...O}=e,k=o.t(`dialog`),A=O.id??k,[j,M]=s.a({value:h,defaultValue:g,onChange:_,interaction:{component:n===`alertdialog`?`alertDialog`:`dialog`,type:`openChange`}}),[N,P]=(0,u.useState)(null),F=(0,u.useCallback)(e=>{P(e),t.d(E,e)},[E]),[I,L]=(0,u.useState)(null),[R,z]=(0,u.useState)(!1),[B,V]=(0,u.useState)({title:0,description:0}),H=p(j&&w);a.n({enabled:j,returnTo:I});let U=c.t(f,j,N),W=(0,u.useCallback)(e=>(V(t=>({...t,[e]:t[e]+1})),()=>V(t=>({...t,[e]:t[e]-1}))),[]),G=(0,u.useMemo)(()=>({titleId:`${A}-title`,descriptionId:`${A}-description`,register:W}),[A,W]);y({dialog:N,isOpen:j,domOpen:R,setDomOpen:z,setOpen:M,modal:S,dismissible:C,triggerElement:I}),r.n(()=>{let e=t.h(T);!j||!e||e.focus()},[j,T]);let K=a.a(e=>{M(e=>!e,{reason:`trigger`,event:e})}),q=(0,u.useMemo)(()=>({ref:L,props:{"aria-expanded":j,"aria-haspopup":`dialog`,"aria-controls":j?A:void 0,onClick:K}}),[A,K,j]),J=O;return(0,d.jsxs)(d.Fragment,{children:[H,l?.(q),(0,d.jsx)(m.Provider,{value:G,children:(0,d.jsx)(i.default,{ref:F,tag:`dialog`,component:`dialog`,...J,id:A,props:{role:n,"aria-label":B.title||b?void 0:v,"aria-labelledby":b??(B.title?G.titleId:void 0),"aria-describedby":x??(B.description?G.descriptionId:void 0),...D},children:U})})]})}function y(e){let{dialog:n,isOpen:i,domOpen:o,setDomOpen:s,setOpen:c,modal:l,dismissible:d,triggerElement:f}=e,p=(0,u.useRef)(`imperative`),m=t.s(),h=d?`any`:`closerequest`;r.n(()=>{!n||i===o||(s(i),i?l?n.showModal():n.show():n.close())},[n,i,o,l,s]),r.n(()=>{if(!(!n||!i||!l))return t.u(n,!0),()=>t.u(n,!1)},[n,i,l]),r.n(()=>{if(!n)return;let e=new AbortController;return n.addEventListener(`close`,e=>{s(!1),c(!1,{reason:p.current,event:e}),p.current=`imperative`},{signal:e.signal}),()=>e.abort()},[n,s,c]),r.n(()=>{if(!(!n||!m))return n.setAttribute(`closedby`,h),()=>n.removeAttribute(`closedby`)},[n,m,h]),r.n(()=>{if(!i||!n)return;let e=new AbortController,r=(t,n)=>document.addEventListener(t,n,{signal:e.signal,capture:!0});return r(`keydown`,e=>{e.key===`Escape`&&(p.current=`escape`)}),r(`pointerdown`,e=>{t.g(e,[f])?p.current=`trigger`:!t.g(e,[n])||b(n,e)?p.current=`outside-pointer`:p.current=`imperative`}),()=>e.abort()},[i,n,f]),a.r({enabled:i&&!l&&!m,inside:[n],escapeKey:!0,outsidePointer:!1,onDismiss:(e,t)=>c(!1,{reason:`escape`,event:t})}),r.n(()=>{if(!n||!i||!d||m)return;let e=new AbortController;return document.addEventListener(`pointerdown`,e=>{t.g(e,[f])||t.g(e,[n])&&!b(n,e)||c(!1,{reason:`outside-pointer`,event:e})},{signal:e.signal,capture:!0}),()=>e.abort()},[n,i,d,m,f,c])}function b(e,t){if(t.target!==e)return!1;let n=e.getBoundingClientRect();return t.clientX<n.left||t.clientX>n.right||t.clientY<n.top||t.clientY>n.bottom}function x(e){let t=h(`Dialog.Title`);return r.n(()=>t.register(`title`),[t]),(0,d.jsx)(l.H2,{id:t.titleId,component:`dialog.title`,...e})}function S(e){let t=h(`Dialog.Description`);return r.n(()=>t.register(`description`),[t]),(0,d.jsx)(l.P,{id:t.descriptionId,component:`dialog.description`,...e})}x.displayName=`Dialog.Title`,S.displayName=`Dialog.Description`;var C={Title:x,Description:S},w=Object.assign(e._(g,`Dialog`),C),T=Object.assign(e._(_,`AlertDialog`),C);exports.AlertDialog=T,exports.default=w;
|
package/components/dialog.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import {
|
|
2
|
+
import { _ as e } from "../react-shared.mjs";
|
|
3
3
|
import { d as t, g as n, h as r, n as i, s as a, u as o } from "../platform.mjs";
|
|
4
4
|
import { i as s } from "../client.mjs";
|
|
5
5
|
import { n as c } from "../effects.mjs";
|
package/components/flex.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("../react-shared.cjs");let t=require("@box-kite/react");function n(e,n){let{inline:r,...i}=e;return(0,t.useBoxElement)({display:r?`inline-flex`:`flex`,...i},n)}var r=e.
|
|
1
|
+
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("../react-shared.cjs");let t=require("@box-kite/react");function n(e,n){let{inline:r,...i}=e;return(0,t.useBoxElement)({display:r?`inline-flex`:`flex`,...i},n)}var r=e._(n,`Flex`);exports.default=r;
|
package/components/flex.mjs
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../rolldown-runtime.cjs"),t=require("../react-shared.cjs");let n=require("react"),r=require("@box-kite/core"),i=require("react/jsx-runtime"),a=require("@box-kite/react");a=e.t(a,1);var o;(function(e){let n=e.ROLES=t.r,r=e.LIGHT=t.n,i=e.DARK=t.t,a=e.roleVariable=t.a,o=e=>`var(${a(e)})`,s=(e,t,n=`transparent`)=>`color-mix(in oklab, ${o(e)} ${t}%, ${n})`;e.VARIABLES={"xy-background-color":o(`surface`),"xy-background-pattern-color":o(`grid`),"xy-attribution-background-color":s(`surface`,50),"xy-edge-stroke":o(`edge`),"xy-edge-stroke-selected":o(`selection`),"xy-connectionline-stroke":o(`selection`),"xy-edge-label-background-color":o(`surface`),"xy-edge-label-color":o(`text`),"xy-handle-background-color":o(`handle`),"xy-handle-border-color":o(`panel`),"xy-node-color":o(`text`),"xy-node-background-color":o(`panel`),"xy-node-border":`1px solid ${o(`border`)}`,"xy-node-group-background-color":s(`border`,25),"xy-node-boxshadow-hover":`0 1px 4px 1px ${s(`text`,8)}`,"xy-node-boxshadow-selected":`0 0 0 1px ${o(`selection`)}`,"xy-selection-background-color":s(`selection`,8),"xy-selection-border":`1px dotted ${s(`selection`,80)}`,"xy-resize-background-color":o(`selection`),"xy-controls-button-background-color":o(`panel`),"xy-controls-button-background-color-hover":s(`text`,6,o(`panel`)),"xy-controls-button-border-color":o(`border`),"xy-controls-button-color":o(`text`),"xy-controls-button-color-hover":o(`text`),"xy-controls-box-shadow":`0 0 2px 1px ${s(`text`,8)}`,"xy-minimap-background-color":o(`panel`),"xy-minimap-mask-background-color":s(`border`,60),"xy-minimap-node-background-color":o(`border`)},e.UNMAPPED=[`xy-edge-stroke-width`,`xy-connectionline-stroke-width`,`xy-node-border-radius`,`xy-minimap-mask-stroke-color`,`xy-minimap-mask-stroke-width`,`xy-minimap-node-stroke-color`,`xy-minimap-node-stroke-width`];function c(e,n={}){return{...t.i(e===`dark`?i:r),...l(e,n)}}e.roleVariables=c;function l(e,r={}){let i={};for(let t of n){let n=r[t],a=typeof n==`string`?n:n?.[e];a!==void 0&&(i[t]=a)}return t.i(i)}e.overrideVariables=l;function u(e){return e===`dark`?`dark`:`light`}e.colorMode=u,e.OUTLINE={outlineColor:o(`selection`)},e.STATIC_MOTION={transitionTime:`0s`,svgTransitionTime:`0s`}})(o||={});var s=o;function c(e,t){let{tokens:n,motion:o,vars:c,theme:l,...u}=e,d=n,f={...s.VARIABLES,...s.OUTLINE,...s.overrideVariables(`light`,d),...o===`static`?s.STATIC_MOTION:{},...c},p=s.overrideVariables(`dark`,d),m=Object.keys(p).length?{dark:{vars:p}}:void 0,h=m&&l?(0,r.mergeDeep)(m,l):m??l;return(0,i.jsx)(a.default,{ref:t,component:`flowContainer`,vars:f,theme:h,...u})}var l=(0,n.forwardRef)(c);l.displayName=`FlowContainer`;var u=l,d=s.colorMode,f={group:{"react-flow__node/focusVisible":{outline:2,outlineOffset:2}}},p={outline:1},m={group:{"react-flow__edge/focusVisible":{strokeWidth:2}}};exports.FlowContainer=u,exports.flowColorMode=d,exports.flowEdgeStyles=m,exports.flowNodeSelectedStyles=p,exports.flowNodeStyles=f;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { RefAttributes } from 'react';
|
|
2
|
+
import { BoxProps } from '../box';
|
|
3
|
+
import { ExtractElementFromTag } from '../react/reactTypes';
|
|
4
|
+
import { BoxStyleProps, ComponentsAndVariants } from '@box-kite/core/types';
|
|
5
|
+
import { default as FlowUtils } from '../utils/flow/flowUtils';
|
|
6
|
+
/** A role's paint: a palette token, an alias (`accent-500`), one with an alpha, or a `Box.extend()` colour. */
|
|
7
|
+
export type FlowPaint = NonNullable<BoxStyleProps['bgColor']>;
|
|
8
|
+
/** The roles a canvas is painted from, each one token for both themes or one per theme. */
|
|
9
|
+
export type FlowTokens = Partial<Record<FlowUtils.Role, FlowPaint | {
|
|
10
|
+
light?: FlowPaint;
|
|
11
|
+
dark?: FlowPaint;
|
|
12
|
+
}>>;
|
|
13
|
+
export interface FlowContainerProps<TTag extends keyof React.JSX.IntrinsicElements = 'div', TKey extends keyof ComponentsAndVariants = never> extends BoxProps<TTag, TKey> {
|
|
14
|
+
/**
|
|
15
|
+
* The canvas's roles — `surface`, `panel`, `text`, `border`, `grid`, `edge`, `selection`, `handle` — each a token for
|
|
16
|
+
* both themes (`{ selection: 'sky-500' }`) or one per theme (`{ surface: { light: 'base-50', dark: 'base-950' } }`).
|
|
17
|
+
* One `--xy-*` variable is plain `vars`, because the container is a Box.
|
|
18
|
+
*/
|
|
19
|
+
tokens?: FlowTokens;
|
|
20
|
+
/**
|
|
21
|
+
* `'static'` zeroes every Box transition inside the canvas, layers' entrances included — for a canvas whose nodes
|
|
22
|
+
* are Boxes moved or resized every frame, which the default `transition: all` would make trail the pointer.
|
|
23
|
+
*/
|
|
24
|
+
motion?: 'static';
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* A React Flow canvas themed by the palette: `<FlowContainer height={120}><ReactFlow colorMode={flowColorMode(theme)} …/></FlowContainer>`.
|
|
28
|
+
* Server-safe; its role defaults are the `flowContainer` style node, so `Box.components()` repaints every canvas at once.
|
|
29
|
+
*/
|
|
30
|
+
export declare const FlowContainer: <TTag extends keyof React.JSX.IntrinsicElements = "div", TKey extends keyof ComponentsAndVariants = never>(props: FlowContainerProps<TTag, TKey> & RefAttributes<ExtractElementFromTag<TTag>>) => React.ReactNode;
|
|
31
|
+
/** `<ReactFlow colorMode>` from `Box.useTheme()`'s theme, so the canvas's own `.dark` class agrees with the page. */
|
|
32
|
+
export declare const flowColorMode: typeof FlowUtils.colorMode;
|
|
33
|
+
/**
|
|
34
|
+
* Spread on a custom node's root: a visible focus ring under Tab, which xyflow removes from every node and gives back
|
|
35
|
+
* only to its four built-in types. An outline, so it survives forced colours; its colour is the container's `selection`.
|
|
36
|
+
*/
|
|
37
|
+
export declare const flowNodeStyles: {
|
|
38
|
+
group: {
|
|
39
|
+
'react-flow__node/focusVisible': {
|
|
40
|
+
outline: number;
|
|
41
|
+
outlineOffset: number;
|
|
42
|
+
};
|
|
43
|
+
};
|
|
44
|
+
};
|
|
45
|
+
/** Spread on a custom node's root when its `selected` prop is true — xyflow marks selection with a class no prop can address. */
|
|
46
|
+
export declare const flowNodeSelectedStyles: {
|
|
47
|
+
outline: number;
|
|
48
|
+
};
|
|
49
|
+
/** Spread on a custom edge's path: a wider stroke under Tab. The colour is xyflow's own focus rule, which reads the `selection` role. */
|
|
50
|
+
export declare const flowEdgeStyles: {
|
|
51
|
+
group: {
|
|
52
|
+
'react-flow__edge/focusVisible': {
|
|
53
|
+
strokeWidth: number;
|
|
54
|
+
};
|
|
55
|
+
};
|
|
56
|
+
};
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import { a as e, i as t, n, r, t as i } from "../react-shared.mjs";
|
|
2
|
+
import { forwardRef as a } from "react";
|
|
3
|
+
import { mergeDeep as o } from "@box-kite/core";
|
|
4
|
+
import { jsx as s } from "react/jsx-runtime";
|
|
5
|
+
import c from "@box-kite/react";
|
|
6
|
+
//#region src/utils/flow/flowUtils.ts
|
|
7
|
+
var l;
|
|
8
|
+
(function(a) {
|
|
9
|
+
let o = a.ROLES = r, s = a.LIGHT = n, c = a.DARK = i, l = a.roleVariable = e, u = (e) => `var(${l(e)})`, d = (e, t, n = "transparent") => `color-mix(in oklab, ${u(e)} ${t}%, ${n})`;
|
|
10
|
+
a.VARIABLES = {
|
|
11
|
+
"xy-background-color": u("surface"),
|
|
12
|
+
"xy-background-pattern-color": u("grid"),
|
|
13
|
+
"xy-attribution-background-color": d("surface", 50),
|
|
14
|
+
"xy-edge-stroke": u("edge"),
|
|
15
|
+
"xy-edge-stroke-selected": u("selection"),
|
|
16
|
+
"xy-connectionline-stroke": u("selection"),
|
|
17
|
+
"xy-edge-label-background-color": u("surface"),
|
|
18
|
+
"xy-edge-label-color": u("text"),
|
|
19
|
+
"xy-handle-background-color": u("handle"),
|
|
20
|
+
"xy-handle-border-color": u("panel"),
|
|
21
|
+
"xy-node-color": u("text"),
|
|
22
|
+
"xy-node-background-color": u("panel"),
|
|
23
|
+
"xy-node-border": `1px solid ${u("border")}`,
|
|
24
|
+
"xy-node-group-background-color": d("border", 25),
|
|
25
|
+
"xy-node-boxshadow-hover": `0 1px 4px 1px ${d("text", 8)}`,
|
|
26
|
+
"xy-node-boxshadow-selected": `0 0 0 1px ${u("selection")}`,
|
|
27
|
+
"xy-selection-background-color": d("selection", 8),
|
|
28
|
+
"xy-selection-border": `1px dotted ${d("selection", 80)}`,
|
|
29
|
+
"xy-resize-background-color": u("selection"),
|
|
30
|
+
"xy-controls-button-background-color": u("panel"),
|
|
31
|
+
"xy-controls-button-background-color-hover": d("text", 6, u("panel")),
|
|
32
|
+
"xy-controls-button-border-color": u("border"),
|
|
33
|
+
"xy-controls-button-color": u("text"),
|
|
34
|
+
"xy-controls-button-color-hover": u("text"),
|
|
35
|
+
"xy-controls-box-shadow": `0 0 2px 1px ${d("text", 8)}`,
|
|
36
|
+
"xy-minimap-background-color": u("panel"),
|
|
37
|
+
"xy-minimap-mask-background-color": d("border", 60),
|
|
38
|
+
"xy-minimap-node-background-color": u("border")
|
|
39
|
+
}, a.UNMAPPED = [
|
|
40
|
+
"xy-edge-stroke-width",
|
|
41
|
+
"xy-connectionline-stroke-width",
|
|
42
|
+
"xy-node-border-radius",
|
|
43
|
+
"xy-minimap-mask-stroke-color",
|
|
44
|
+
"xy-minimap-mask-stroke-width",
|
|
45
|
+
"xy-minimap-node-stroke-color",
|
|
46
|
+
"xy-minimap-node-stroke-width"
|
|
47
|
+
];
|
|
48
|
+
function f(e, n = {}) {
|
|
49
|
+
return {
|
|
50
|
+
...t(e === "dark" ? c : s),
|
|
51
|
+
...p(e, n)
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
a.roleVariables = f;
|
|
55
|
+
function p(e, n = {}) {
|
|
56
|
+
let r = {};
|
|
57
|
+
for (let t of o) {
|
|
58
|
+
let i = n[t], a = typeof i == "string" ? i : i?.[e];
|
|
59
|
+
a !== void 0 && (r[t] = a);
|
|
60
|
+
}
|
|
61
|
+
return t(r);
|
|
62
|
+
}
|
|
63
|
+
a.overrideVariables = p;
|
|
64
|
+
function m(e) {
|
|
65
|
+
return e === "dark" ? "dark" : "light";
|
|
66
|
+
}
|
|
67
|
+
a.colorMode = m, a.OUTLINE = { outlineColor: u("selection") }, a.STATIC_MOTION = {
|
|
68
|
+
transitionTime: "0s",
|
|
69
|
+
svgTransitionTime: "0s"
|
|
70
|
+
};
|
|
71
|
+
})(l ||= {});
|
|
72
|
+
var u = l;
|
|
73
|
+
//#endregion
|
|
74
|
+
//#region src/components/flow.tsx
|
|
75
|
+
function d(e, t) {
|
|
76
|
+
let { tokens: n, motion: r, vars: i, theme: a, ...l } = e, d = n, f = {
|
|
77
|
+
...u.VARIABLES,
|
|
78
|
+
...u.OUTLINE,
|
|
79
|
+
...u.overrideVariables("light", d),
|
|
80
|
+
...r === "static" ? u.STATIC_MOTION : {},
|
|
81
|
+
...i
|
|
82
|
+
}, p = u.overrideVariables("dark", d), m = Object.keys(p).length ? { dark: { vars: p } } : void 0, h = m && a ? o(m, a) : m ?? a;
|
|
83
|
+
return /* @__PURE__ */ s(c, {
|
|
84
|
+
ref: t,
|
|
85
|
+
component: "flowContainer",
|
|
86
|
+
vars: f,
|
|
87
|
+
theme: h,
|
|
88
|
+
...l
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
var f = a(d);
|
|
92
|
+
f.displayName = "FlowContainer";
|
|
93
|
+
var p = f, m = u.colorMode, h = { group: { "react-flow__node/focusVisible": {
|
|
94
|
+
outline: 2,
|
|
95
|
+
outlineOffset: 2
|
|
96
|
+
} } }, g = { outline: 1 }, _ = { group: { "react-flow__edge/focusVisible": { strokeWidth: 2 } } };
|
|
97
|
+
//#endregion
|
|
98
|
+
export { p as FlowContainer, m as flowColorMode, _ as flowEdgeStyles, g as flowNodeSelectedStyles, h as flowNodeStyles };
|
package/components/form.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("../react-shared.cjs"),t=require("../platform.cjs"),n=require("../box.cjs"),r=require("../reporting.cjs");let i=require("react");var a;(function(e){function t(e){if(!e)throw Error(`[box-kite] <Form> read its entries with no <form> element: its ref never reached the element.`);let t=Array.from(e.elements).reduce((e,t)=>{let n=t.name;return n?(e[n]||(e[n]=[]),e[n].push(t),e):e},{});return Object.entries(t).reduce((e,[t,r])=>{if(r.length===1){let i=r[0];n(e,t,i.type===`checkbox`||i.type===`radio`?i.checked:i.value)}else n(e,t,r.reduce((e,t)=>(t.type===`checkbox`||t.type===`radio`?t.checked&&e.push(t.value):e.push(t.value),e),[]));return e},{})}e.getFormEntries=t;function n(e,t,n){if(t.includes(`.`)){let r=t.split(`.`),i=e;r.forEach((e,t)=>{if(r.length>t+1){let t=e.match(/^(.+)\[(\d)\]$/);if(t){let[,e,n]=t;i[e]=i[e]||[],i[e][n]=i[e][n]||{},i=i[e][n]}else i[e]=i[e]||{},i=i[e]}else i[e]=n})}else e[t]=n}})(a||={});var o=a;function s(e,a){let{onSubmit:s,props:c,...l}=e,u=(0,i.useRef)(null),d=r.i(`form`),{ref:f,...p}=c??{},m=(0,i.useCallback)(e=>{u.current=e,t.d(a,e),t.d(f,e)},[a,f]),h=(0,i.useCallback)(e=>{e.preventDefault();let t=o.getFormEntries(u.current??e.currentTarget);s(t,e),d(`submit`,Object.keys(t),{reason:`submit`,event:e})},[s,d]);return n.useBoxElement({tag:`form`,...l,props:{...p,onSubmit:h}},m)}var c=e.
|
|
1
|
+
"use client";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("../react-shared.cjs"),t=require("../platform.cjs"),n=require("../box.cjs"),r=require("../reporting.cjs");let i=require("react");var a;(function(e){function t(e){if(!e)throw Error(`[box-kite] <Form> read its entries with no <form> element: its ref never reached the element.`);let t=Array.from(e.elements).reduce((e,t)=>{let n=t.name;return n?(e[n]||(e[n]=[]),e[n].push(t),e):e},{});return Object.entries(t).reduce((e,[t,r])=>{if(r.length===1){let i=r[0];n(e,t,i.type===`checkbox`||i.type===`radio`?i.checked:i.value)}else n(e,t,r.reduce((e,t)=>(t.type===`checkbox`||t.type===`radio`?t.checked&&e.push(t.value):e.push(t.value),e),[]));return e},{})}e.getFormEntries=t;function n(e,t,n){if(t.includes(`.`)){let r=t.split(`.`),i=e;r.forEach((e,t)=>{if(r.length>t+1){let t=e.match(/^(.+)\[(\d)\]$/);if(t){let[,e,n]=t;i[e]=i[e]||[],i[e][n]=i[e][n]||{},i=i[e][n]}else i[e]=i[e]||{},i=i[e]}else i[e]=n})}else e[t]=n}})(a||={});var o=a;function s(e,a){let{onSubmit:s,props:c,...l}=e,u=(0,i.useRef)(null),d=r.i(`form`),{ref:f,...p}=c??{},m=(0,i.useCallback)(e=>{u.current=e,t.d(a,e),t.d(f,e)},[a,f]),h=(0,i.useCallback)(e=>{e.preventDefault();let t=o.getFormEntries(u.current??e.currentTarget);s(t,e),d(`submit`,Object.keys(t),{reason:`submit`,event:e})},[s,d]);return n.useBoxElement({tag:`form`,...l,props:{...p,onSubmit:h}},m)}var c=e._(s,`Form`);exports.default=c;
|
package/components/form.mjs
CHANGED
package/components/grid.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("../react-shared.cjs");let t=require("@box-kite/react");function n(e,n){let{inline:r,...i}=e;return(0,t.useBoxElement)({display:r?`inline-grid`:`grid`,...i},n)}var r=e.
|
|
1
|
+
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("../react-shared.cjs");let t=require("@box-kite/react");function n(e,n){let{inline:r,...i}=e;return(0,t.useBoxElement)({display:r?`inline-grid`:`grid`,...i},n)}var r=e._(n,`Grid`);exports.default=r;
|
package/components/grid.mjs
CHANGED
package/components/icon.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("../react-shared.cjs");let t=require("react"),n=require("react/jsx-runtime"),r=require("@box-kite/react");var i=6;function a(a,o){let{children:s,label:c,size:l,props:u,style:d,...f}=a,p=l===void 0?void 0:{width:l,height:l},{className:m,styles:h}=(0,r.useClassNames)({width:i,height:i,...f,...p},{svg:!0});if(!(0,t.isValidElement)(s))throw Error(`[box-kite] <Icon> takes exactly one element — the icon to style. For SVG of your own, use <Svg> from components/svg.`);let g=e.
|
|
1
|
+
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("../react-shared.cjs");let t=require("react"),n=require("react/jsx-runtime"),r=require("@box-kite/react");var i=6;function a(a,o){let{children:s,label:c,size:l,props:u,style:d,...f}=a,p=l===void 0?void 0:{width:l,height:l},{className:m,styles:h}=(0,r.useClassNames)({width:i,height:i,...f,...p},{svg:!0});if(!(0,t.isValidElement)(s))throw Error(`[box-kite] <Icon> takes exactly one element — the icon to style. For SVG of your own, use <Svg> from components/svg.`);let g=e.f(s.type),_=s.props,v=(g?_.props:s.props)??{},y=g&&_.label!==void 0?{...v,"aria-label":_.label}:v,b={...u,...e.d(c,{...y,...u})},x={...g?{props:{...v,...b}}:b,...d?{style:d}:void 0,ref:o,className:s.props.className?`${s.props.className} ${m}`:m};return(0,n.jsxs)(n.Fragment,{children:[h,(0,t.cloneElement)(s,x)]})}var o=(0,t.forwardRef)(a);o.displayName=`Icon`,exports.default=o;
|
package/components/icon.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { d as e, f as t } from "../react-shared.mjs";
|
|
2
2
|
import { cloneElement as n, forwardRef as r, isValidElement as i } from "react";
|
|
3
3
|
import { Fragment as a, jsxs as o } from "react/jsx-runtime";
|
|
4
4
|
import { useClassNames as s } from "@box-kite/react";
|
package/components/list.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("../react-shared.cjs"),t=require("./svg.cjs");let n=require("@box-kite/core"),r=require("react/jsx-runtime"),i=require("@box-kite/react");var a={position:`relative`,css:{borderRadius:`var(--list-item-radius, 0)`},before:{position:`absolute`,top:0,insetEnd:0,css:{insetInlineStart:`var(--list-divider-inset, 0px)`,height:`1px`}},after:{position:`absolute`,inset:0,pointerEvents:`none`,css:{border:`var(--list-item-frame, none)`,borderRadius:`inherit`}},nth:{first:{before:{css:{display:`var(--list-first-divider, none)`}}}}},o={display:`flex`,ai:`center`,gap:3,px:4,py:3,minHeight:14},s={sm:{gap:2,py:2,minHeight:11},md:{},lg:{gap:4,py:4,minHeight:18}},c=[`css`,`before`,`after`,`nth`];function l(e,t){let r={...e,...t},i=e;for(let e of c){let a=t[e];i[e]&&a&&(r[e]=(0,n.mergeDeep)(i[e],a))}return r}var u=[`h1`,`h2`,`h3`,`h4`,`h5`,`h6`],d={fontVariantNumeric:`tabular-nums`},f={display:`flex`,ai:`center`,jc:`center`,flexShrink:0},p={icon:{width:10,height:10,borderRadius:2},avatar:{width:10,height:10,borderRadius:999,overflow:`hidden`,fontSize:14,fontWeight:600},image:{width:16,height:16,borderRadius:2,overflow:`hidden`}},m={display:`flex`,ai:`baseline`,jc:`space-between`,gap:2,minWidth:0},h={flexWrap:`wrap`,jc:`start`,rowGap:1},g={fontSize:14,lineHeight:20},_={"list.title":{display:`block`,minWidth:0,fontSize:16,lineHeight:22,fontWeight:500},"list.description":{display:`block`,minWidth:0,fontSize:14,lineHeight:20},"list.overline":{display:`block`,minWidth:0,fontSize:12,lineHeight:16,fontWeight:500}},v={color:`currentColor`,textDecoration:`none`,cursor:`pointer`,css:{display:`inherit`,font:`inherit`,textAlign:`inherit`,overflow:`inherit`,textOverflow:`inherit`,WebkitLineClamp:`inherit`,WebkitBoxOrient:`inherit`},after:{position:`absolute`,inset:0,css:{borderRadius:`var(--list-item-radius, 0)`}}},y={1:{overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},2:{overflow:`hidden`,css:{display:`-webkit-box`,WebkitBoxOrient:`vertical`,WebkitLineClamp:2}},3:{overflow:`hidden`,css:{display:`-webkit-box`,WebkitBoxOrient:`vertical`,WebkitLineClamp:3}}},b={content:{display:`flex`,d:`column`,gap:.5,flex1:!0,minWidth:0},meta:{flexShrink:0,fontSize:13,lineHeight:18,whiteSpace:`nowrap`,css:d},end:{display:`flex`,d:`column`,ai:`end`,gap:.5,flexShrink:0,maxWidth:`1/2`,textAlign:`end`,css:d},actions:{display:`flex`,ai:`center`,gap:1,flexShrink:0,position:`relative`,zIndex:1},fields:{display:`grid`,columnGap:4,rowGap:2,mt:1,css:{gridTemplateColumns:`repeat(auto-fill, minmax(min(8rem, 100%), 1fr))`}}};function x(e,t){let{props:n,...r}=e;return(0,i.useBoxElement)({tag:`ul`,component:`list`,...r,props:{role:`list`,...n}},t)}function S(e,t){let{size:n=`md`,wrap:c=!1,selected:u=!1,chevron:d=!1,variant:f,children:p,...m}=e;return(0,i.useBoxElement)({tag:`li`,component:`list.item`,...l({...a,...o,...s[n],...c?{flexWrap:`wrap`}:{}},m),variant:[f,{selected:u}],children:d?(0,r.jsxs)(r.Fragment,{children:[p,(0,r.jsx)(w,{})]}):p},t)}function C(e,n){return(0,i.useBoxElement)({tag:`span`,component:`list.muted`,display:`flex`,flexShrink:0,alignSelf:`center`,rtl:{flip:`xAxis`},...e,props:{"aria-hidden":!0,...e.props},children:(0,r.jsx)(t.Svg,{viewBox:`0 0 16 16`,width:`1rem`,fill:`none`,stroke:`currentColor`,strokeWidth:1.75,children:(0,r.jsx)(t.Path,{d:`M6 3.5 10.5 8 6 12.5`,strokeLinecap:`round`,strokeLinejoin:`round`})})},n)}var w=e.
|
|
1
|
+
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("../react-shared.cjs"),t=require("./svg.cjs");let n=require("@box-kite/core"),r=require("react/jsx-runtime"),i=require("@box-kite/react");var a={position:`relative`,css:{borderRadius:`var(--list-item-radius, 0)`},before:{position:`absolute`,top:0,insetEnd:0,css:{insetInlineStart:`var(--list-divider-inset, 0px)`,height:`1px`}},after:{position:`absolute`,inset:0,pointerEvents:`none`,css:{border:`var(--list-item-frame, none)`,borderRadius:`inherit`}},nth:{first:{before:{css:{display:`var(--list-first-divider, none)`}}}}},o={display:`flex`,ai:`center`,gap:3,px:4,py:3,minHeight:14},s={sm:{gap:2,py:2,minHeight:11},md:{},lg:{gap:4,py:4,minHeight:18}},c=[`css`,`before`,`after`,`nth`];function l(e,t){let r={...e,...t},i=e;for(let e of c){let a=t[e];i[e]&&a&&(r[e]=(0,n.mergeDeep)(i[e],a))}return r}var u=[`h1`,`h2`,`h3`,`h4`,`h5`,`h6`],d={fontVariantNumeric:`tabular-nums`},f={display:`flex`,ai:`center`,jc:`center`,flexShrink:0},p={icon:{width:10,height:10,borderRadius:2},avatar:{width:10,height:10,borderRadius:999,overflow:`hidden`,fontSize:14,fontWeight:600},image:{width:16,height:16,borderRadius:2,overflow:`hidden`}},m={display:`flex`,ai:`baseline`,jc:`space-between`,gap:2,minWidth:0},h={flexWrap:`wrap`,jc:`start`,rowGap:1},g={fontSize:14,lineHeight:20},_={"list.title":{display:`block`,minWidth:0,fontSize:16,lineHeight:22,fontWeight:500},"list.description":{display:`block`,minWidth:0,fontSize:14,lineHeight:20},"list.overline":{display:`block`,minWidth:0,fontSize:12,lineHeight:16,fontWeight:500}},v={color:`currentColor`,textDecoration:`none`,cursor:`pointer`,css:{display:`inherit`,font:`inherit`,textAlign:`inherit`,overflow:`inherit`,textOverflow:`inherit`,WebkitLineClamp:`inherit`,WebkitBoxOrient:`inherit`},after:{position:`absolute`,inset:0,css:{borderRadius:`var(--list-item-radius, 0)`}}},y={1:{overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},2:{overflow:`hidden`,css:{display:`-webkit-box`,WebkitBoxOrient:`vertical`,WebkitLineClamp:2}},3:{overflow:`hidden`,css:{display:`-webkit-box`,WebkitBoxOrient:`vertical`,WebkitLineClamp:3}}},b={content:{display:`flex`,d:`column`,gap:.5,flex1:!0,minWidth:0},meta:{flexShrink:0,fontSize:13,lineHeight:18,whiteSpace:`nowrap`,css:d},end:{display:`flex`,d:`column`,ai:`end`,gap:.5,flexShrink:0,maxWidth:`1/2`,textAlign:`end`,css:d},actions:{display:`flex`,ai:`center`,gap:1,flexShrink:0,position:`relative`,zIndex:1},fields:{display:`grid`,columnGap:4,rowGap:2,mt:1,css:{gridTemplateColumns:`repeat(auto-fill, minmax(min(8rem, 100%), 1fr))`}}};function x(e,t){let{props:n,...r}=e;return(0,i.useBoxElement)({tag:`ul`,component:`list`,...r,props:{role:`list`,...n}},t)}function S(e,t){let{size:n=`md`,wrap:c=!1,selected:u=!1,chevron:d=!1,variant:f,children:p,...m}=e;return(0,i.useBoxElement)({tag:`li`,component:`list.item`,...l({...a,...o,...s[n],...c?{flexWrap:`wrap`}:{}},m),variant:[f,{selected:u}],children:d?(0,r.jsxs)(r.Fragment,{children:[p,(0,r.jsx)(w,{})]}):p},t)}function C(e,n){return(0,i.useBoxElement)({tag:`span`,component:`list.muted`,display:`flex`,flexShrink:0,alignSelf:`center`,rtl:{flip:`xAxis`},...e,props:{"aria-hidden":!0,...e.props},children:(0,r.jsx)(t.Svg,{viewBox:`0 0 16 16`,width:`1rem`,fill:`none`,stroke:`currentColor`,strokeWidth:1.75,children:(0,r.jsx)(t.Path,{d:`M6 3.5 10.5 8 6 12.5`,strokeLinecap:`round`,strokeLinejoin:`round`})})},n)}var w=e._(C,`List.Chevron`);function T(e,t){let r=(0,n.classNames)(e.variant).find(e=>e in p);return(0,i.useBoxElement)({component:`list.media`,...f,...r?p[r]:{},...e},t)}function E(e,t){let{wrap:n=!1,secondary:r=!1,...a}=e;return(0,i.useBoxElement)({...r?{component:`list.muted`,...g}:{},...m,...n?h:{},...a},t)}function D(t,n){let r=t!==`list.title`;return e._((e,n)=>{let{lines:a,...o}=e,s=a?l(_[t],y[a]):_[t];return(0,i.useBoxElement)({tag:`span`,...r?{component:`list.muted`}:{},...l(s,o)},n)},n)}function O(e,t){let{props:n,tag:r,onClick:a,...o}=e,s=r??(n?.href===void 0?n?.htmlFor===void 0?`button`:`label`:`a`);return(0,i.useBoxElement)({tag:s,component:`list.action`,...l(v,o),props:{...s===`button`?{type:`button`}:{},"data-list-action":``,...n,...a?{onClick:a}:{}}},t)}function k(e,t){let{label:n,children:a,...o}=e;return(0,i.useBoxElement)({minWidth:0,...o,children:(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(A,{children:n}),(0,r.jsx)(j,{children:a})]})},t)}function A({children:e}){return(0,i.useBoxElement)({tag:`dt`,component:`list.muted`,fontSize:12,lineHeight:16,children:e})}function j({children:e}){return(0,i.useBoxElement)({tag:`dd`,minWidth:0,fontSize:14,lineHeight:20,css:{overflowWrap:`anywhere`,...d},children:e})}function M(e,t){let{label:n,level:a,sticky:o=!1,children:s,...c}=e;return(0,i.useBoxElement)({tag:`li`,...c,children:(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(N,{level:a,sticky:o,children:n}),(0,r.jsx)(P,{children:s})]})},t)}function N({level:e,sticky:t,children:n}){return(0,i.useBoxElement)({tag:e?u[e-1]:`div`,component:`list.label`,px:4,py:1.5,fontSize:13,lineHeight:18,fontWeight:600,...t?{position:`sticky`,zIndex:2,css:{top:`var(--list-sticky-top, 0)`}}:{},children:n})}function P({children:e}){return(0,i.useBoxElement)({tag:`ul`,props:{role:`list`},children:e})}function F(t,n,r,a=!1){return e._((e,r)=>(0,i.useBoxElement)({tag:t,...a?{component:`list.muted`}:{},...l(n,e)},r),r)}var I=e._(T,`List.Media`),L=F(`div`,b.content,`List.Content`),R=D(`list.overline`,`List.Overline`),z=D(`list.title`,`List.Title`),B=D(`list.description`,`List.Description`),V=F(`span`,b.meta,`List.Meta`,!0),H=F(`div`,b.end,`List.End`),U=F(`div`,b.actions,`List.Actions`),W=F(`dl`,b.fields,`List.Fields`),G=e._(x,`List`);G.Item=e._(S,`List.Item`),G.Media=I,G.Content=L,G.Row=e._(E,`List.Row`),G.Overline=R,G.Title=z,G.Description=B,G.Meta=V,G.End=H,G.Actions=U,G.Action=e._(O,`List.Action`),G.Fields=W,G.Field=e._(k,`List.Field`),G.Group=e._(M,`List.Group`),G.Chevron=w,exports.default=G,exports.i=l,exports.n=o,exports.r=s,exports.t=a;
|
package/components/list.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { _ as e } from "../react-shared.mjs";
|
|
2
2
|
import { Path as t, Svg as n } from "./svg.mjs";
|
|
3
3
|
import { classNames as r, mergeDeep as i } from "@box-kite/core";
|
|
4
4
|
import { Fragment as a, jsx as o, jsxs as s } from "react/jsx-runtime";
|
package/components/menu.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("../react-shared.cjs"),t=require("../platform.cjs"),n=require("../effects.cjs"),r=require("../box.cjs"),i=require("../behavior.cjs"),a=require("../identity.cjs"),o=require("../keyboard.cjs"),s=require("../placement.cjs"),c=require("../reporting.cjs"),l=require("../layer.cjs"),u=require("./overlay.cjs"),d=require("../motion.cjs");let f=require("react"),p=require("react/jsx-runtime");var m;(function(e){let t=e.ITEM_SELECTOR=`[role="menuitem"],[role="menuitemcheckbox"],[role="menuitemradio"]`;function n(e,t){return t instanceof Element&&t.closest(`[role="menu"]`)===e}e.owns=n;function r(e){return[...e.querySelectorAll(t)].filter(t=>n(e,t))}e.items=r;function i(e){return e.getAttribute(`aria-disabled`)===`true`}e.isDisabled=i;function a(e){return e.getAttribute(`aria-haspopup`)===`menu`}e.isSubTrigger=a;function s(e,t,n){if(e.length!==0)return e[t<0?n>0?0:e.length-1:((t+n)%e.length+e.length)%e.length]}e.step=s;function c(e,t,n){let r=o.t.target(t,n,e.length,t=>e[t].textContent??``);return r<0?void 0:e[r]}e.typeaheadTarget=c})(m||={});var h=m,g=(0,f.createContext)(null);function _(e){let t=(0,f.useContext)(g);if(!t)throw Error(`<${e}> must be rendered inside a <Menu>.`);return t}function v(e){let[t,n]=(0,f.useState)([]);return{panels:t,registerLayer:(0,f.useCallback)(t=>{n(e=>[...e,t]);let r=e?.(t);return()=>{n(e=>e.filter(e=>e!==t)),r?.()}},[e])}}var y=(0,f.createContext)(null);function b(e,t){let{trigger:n,children:r,open:a,defaultOpen:o=!1,onOpenChange:s,label:c,labelledBy:u,side:d=`bottom`,align:m=`start`,offset:_=1,flip:y=!0,matchWidth:b=!1,props:S,...C}=e,w=(0,f.useRef)(`first`),T=i.a(e=>{let t=h.items(e),n=w.current===`last`?t[t.length-1]:t[0];w.current=`first`,(n??e).focus()}),{panels:E,registerLayer:D}=v(),O=l.t({haspopup:`menu`,idPrefix:`menu`,id:C.id,open:a,defaultOpen:o,onOpenChange:s,interaction:{component:`menu`,type:`openChange`},onOpened:T,inside:E}),k=i.a(e=>{(e.key===`ArrowDown`||e.key===`ArrowUp`)&&(e.preventDefault(),w.current=e.key===`ArrowUp`?`last`:`first`,O.isOpen&&O.panelElement?T(O.panelElement):O.setOpen(!0,{reason:`trigger`,event:e}))}),A=(0,f.useMemo)(()=>({ref:O.trigger.ref,props:{...O.trigger.props,onKeyDown:k}}),[k,O.trigger]),j=i.a(e=>O.setOpen(!1,e)),M=(0,f.useMemo)(()=>({open:O.isOpen,closeAll:j,registerLayer:D}),[j,O.isOpen,D]);return(0,p.jsxs)(p.Fragment,{children:[n(A),(0,p.jsx)(g.Provider,{value:M,children:(0,p.jsx)(x,{layer:O,side:d,align:m,offset:_,flip:y,matchWidth:b,label:c,labelledBy:u??(c?void 0:O.triggerId),contentProps:S,...C,elementRef:t,children:r})})]})}function x(e){let{layer:n,side:a,align:c,offset:l,flip:m,matchWidth:g,label:v,labelledBy:y,contentProps:b,closeSelf:x,elementRef:S,children:C,...w}=e,{platform:T,isOpen:E,id:D,triggerElement:O,setPanel:k}=n,A=(0,f.useCallback)(e=>{k(e),t.d(S,e)},[k,S]),j=_(`Menu`),M=(0,f.useRef)({query:``,at:0}),N=s.t({side:a,align:c,offset:l,flip:m,matchWidth:g,anchor:O}),P=d.t(C,E,n.panelElement),F={role:`menu`,"aria-label":v,"aria-labelledby":y,tabIndex:-1,onKeyDown:i.a(e=>{let n=e.currentTarget;if(!h.owns(n,e.target))return;let r=h.items(n),i=r.indexOf(document.activeElement),a=t=>{t&&(e.preventDefault(),t.focus())},s=t._(n)?`ArrowRight`:`ArrowLeft`;switch(e.key){case`ArrowDown`:return a(h.step(r,i,1));case`ArrowUp`:return a(h.step(r,i,-1));case`Home`:return a(r[0]);case`End`:return a(r[r.length-1]);case`Tab`:return j.closeAll({reason:`tab`,event:e});case s:return x?(e.preventDefault(),x({reason:`trigger`,event:e})):void 0}if(o.t.isPrintable(e)){let t=o.t.push(M.current,e.key,e.timeStamp);a(h.typeaheadTarget(r,t,i))}}),onPointerOver:i.a(e=>{let t=e.currentTarget,n=e.target?.closest(h.ITEM_SELECTOR);!n||!h.owns(t,n)||n===document.activeElement||n.focus()}),...b};return T?(0,p.jsx)(r.default,{ref:A,component:`menu`,...w,variant:[w.variant,{topLayer:!0}],...N.layerProps,id:D,props:{popover:`auto`,...F},children:P}):E?(0,p.jsx)(u.default,{contentRef:A,anchor:O,side:a,align:c,offset:l,flip:m,matchWidth:g,component:`menu`,...w,id:D,props:F,children:C}):null}function S(e,o){let{label:s,children:u,disabled:d,side:m=`end`,align:y=`start`,offset:b=0,flip:S=!0,itemProps:w,props:T,...E}=e,D=_(`Menu.Sub`),O=a.t(`menu-sub`),k=i.a(e=>{(h.items(e)[0]??e).focus()}),A=i.a((e,t)=>{e&&t?.focus()}),{panels:j,registerLayer:M}=v(D.registerLayer),N=c.i(`menu.sub`),P=l.t({haspopup:`menu`,idPrefix:`menu-sub`,id:E.id,onOpened:k,onClosing:A,inside:j});n.n(()=>{if(!(!P.isOpen||!P.panelElement))return D.registerLayer(P.panelElement)},[P.isOpen,P.panelElement,D.registerLayer]),n.n(()=>{D.open||P.setOpen(!1,{reason:`imperative`})},[D.open,P.setOpen]),n.n(()=>{if(!P.isOpen)return;let e=new AbortController;return document.addEventListener(`focusin`,e=>{t.g(e,[P.panelElement,P.triggerElement])||P.setOpen(!1,{reason:`imperative`,event:e})},{signal:e.signal}),()=>e.abort()},[P.isOpen,P.panelElement,P.triggerElement,P.setOpen]);let F=i.a(e=>{let n=t._(e.currentTarget)?`ArrowLeft`:`ArrowRight`;d||e.key!==n||(e.preventDefault(),P.setOpen(!0,{reason:`trigger`,event:e}),N(`openChange`,!0,{reason:`keyboard`,event:e,item:C(s)}))}),I=i.a(e=>{d||P.setOpen(!0,{reason:`trigger`,event:e})}),L=(0,f.useMemo)(()=>({open:P.isOpen,closeAll:D.closeAll,registerLayer:M}),[P.isOpen,D.closeAll,M]);return(0,p.jsxs)(p.Fragment,{children:[(0,p.jsxs)(r.default,{tag:`button`,ref:d?void 0:P.trigger.ref,component:`menu.item`,variant:{sub:!0},id:O,props:{type:`button`,role:`menuitem`,tabIndex:-1,"aria-disabled":d||void 0,...P.trigger.props,...w,onKeyDown:F,onPointerEnter:I},children:[s,(0,p.jsx)(r.default,{component:`menu.arrow`})]}),!d&&(0,p.jsx)(g.Provider,{value:L,children:(0,p.jsx)(x,{layer:P,side:m,align:y,offset:b,flip:S,matchWidth:!1,labelledBy:O,contentProps:T,closeSelf:e=>P.setOpen(!1,e),...E,elementRef:o,children:u})})]})}var C=(e,t)=>t??(typeof e==`string`?e:void 0);function w(e){let{onSelect:t,disabled:n,closeOnSelect:a=!0,value:o,props:s,children:l,...u}=e,d=_(`Menu.Item`),f=c.i(`menu.item`),m=i.a(e=>{n||(t?.(e),f(`select`,C(l,o),{reason:`select`,event:e}),a&&d.closeAll({reason:`select`,event:e}))});return(0,p.jsx)(r.default,{tag:`button`,component:`menu.item`,...u,props:{type:`button`,role:`menuitem`,tabIndex:-1,"aria-disabled":n||void 0,...s,onClick:m},children:l})}function T(e){let{checked:t,defaultChecked:n=!1,onCheckedChange:a,disabled:o,closeOnSelect:s=!1,value:l,props:u,children:d,...f}=e,m=_(`Menu.CheckboxItem`),[h,g]=i.i({value:t,defaultValue:n,onChange:a}),v=c.i(`menu.checkboxItem`),y=i.a(e=>{o||(g(!h,{reason:`select`,event:e}),v(`checkedChange`,!h,{reason:`select`,event:e,item:C(d,l)}),s&&m.closeAll({reason:`select`,event:e}))});return(0,p.jsxs)(r.default,{tag:`button`,component:`menu.item`,...f,props:{type:`button`,role:`menuitemcheckbox`,tabIndex:-1,"aria-checked":h,"aria-disabled":o||void 0,...u,onClick:y},children:[(0,p.jsx)(r.default,{component:`menu.indicator`,children:h&&(0,p.jsx)(r.default,{component:`menu.check`})}),d]})}function E(e){let{label:t,value:n,defaultValue:r=``,onValueChange:a,children:o,...s}=e,[l,u]=c.a({value:n,defaultValue:r,onChange:a,interaction:{component:`menu.radioGroup`,type:`valueChange`}}),d=i.a((e,t)=>u(e,{reason:`select`,event:t})),m=(0,f.useMemo)(()=>({value:l,select:d}),[l,d]);return(0,p.jsx)(y.Provider,{value:m,children:(0,p.jsx)(O,{label:t,...s,children:o})})}function D(e){let{value:t,disabled:n,closeOnSelect:a=!1,props:o,children:s,...c}=e,l=_(`Menu.RadioItem`),u=(0,f.useContext)(y);if(!u)throw Error(`<Menu.RadioItem> must be rendered inside a <Menu.RadioGroup>.`);let d=u.value===t,m=i.a(e=>{n||(u.select(t,e),a&&l.closeAll({reason:`select`,event:e}))});return(0,p.jsxs)(r.default,{tag:`button`,component:`menu.item`,...c,props:{type:`button`,role:`menuitemradio`,tabIndex:-1,"aria-checked":d,"aria-disabled":n||void 0,...o,onClick:m},children:[(0,p.jsx)(r.default,{component:`menu.indicator`,children:d&&(0,p.jsx)(r.default,{component:`menu.dot`})}),s]})}function O(e){let{label:t,props:n,children:i,...o}=e,s=a.t(`menu-group`);return(0,p.jsxs)(r.default,{component:`menu.group`,...o,props:{role:`group`,"aria-labelledby":t?s:void 0,...n},children:[t&&(0,p.jsx)(r.default,{component:`menu.label`,id:s,props:{role:`presentation`},children:t}),i]})}function k(e){let{props:t,...n}=e;return(0,p.jsx)(r.default,{component:`menu.separator`,...n,props:{role:`separator`,...t}})}w.displayName=`Menu.Item`,T.displayName=`Menu.CheckboxItem`,E.displayName=`Menu.RadioGroup`,D.displayName=`Menu.RadioItem`,O.displayName=`Menu.Group`,k.displayName=`Menu.Separator`;var A=Object.assign(e.
|
|
1
|
+
"use client";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("../react-shared.cjs"),t=require("../platform.cjs"),n=require("../effects.cjs"),r=require("../box.cjs"),i=require("../behavior.cjs"),a=require("../identity.cjs"),o=require("../keyboard.cjs"),s=require("../placement.cjs"),c=require("../reporting.cjs"),l=require("../layer.cjs"),u=require("./overlay.cjs"),d=require("../motion.cjs");let f=require("react"),p=require("react/jsx-runtime");var m;(function(e){let t=e.ITEM_SELECTOR=`[role="menuitem"],[role="menuitemcheckbox"],[role="menuitemradio"]`;function n(e,t){return t instanceof Element&&t.closest(`[role="menu"]`)===e}e.owns=n;function r(e){return[...e.querySelectorAll(t)].filter(t=>n(e,t))}e.items=r;function i(e){return e.getAttribute(`aria-disabled`)===`true`}e.isDisabled=i;function a(e){return e.getAttribute(`aria-haspopup`)===`menu`}e.isSubTrigger=a;function s(e,t,n){if(e.length!==0)return e[t<0?n>0?0:e.length-1:((t+n)%e.length+e.length)%e.length]}e.step=s;function c(e,t,n){let r=o.t.target(t,n,e.length,t=>e[t].textContent??``);return r<0?void 0:e[r]}e.typeaheadTarget=c})(m||={});var h=m,g=(0,f.createContext)(null);function _(e){let t=(0,f.useContext)(g);if(!t)throw Error(`<${e}> must be rendered inside a <Menu>.`);return t}function v(e){let[t,n]=(0,f.useState)([]);return{panels:t,registerLayer:(0,f.useCallback)(t=>{n(e=>[...e,t]);let r=e?.(t);return()=>{n(e=>e.filter(e=>e!==t)),r?.()}},[e])}}var y=(0,f.createContext)(null);function b(e,t){let{trigger:n,children:r,open:a,defaultOpen:o=!1,onOpenChange:s,label:c,labelledBy:u,side:d=`bottom`,align:m=`start`,offset:_=1,flip:y=!0,matchWidth:b=!1,props:S,...C}=e,w=(0,f.useRef)(`first`),T=i.a(e=>{let t=h.items(e),n=w.current===`last`?t[t.length-1]:t[0];w.current=`first`,(n??e).focus()}),{panels:E,registerLayer:D}=v(),O=l.t({haspopup:`menu`,idPrefix:`menu`,id:C.id,open:a,defaultOpen:o,onOpenChange:s,interaction:{component:`menu`,type:`openChange`},onOpened:T,inside:E}),k=i.a(e=>{(e.key===`ArrowDown`||e.key===`ArrowUp`)&&(e.preventDefault(),w.current=e.key===`ArrowUp`?`last`:`first`,O.isOpen&&O.panelElement?T(O.panelElement):O.setOpen(!0,{reason:`trigger`,event:e}))}),A=(0,f.useMemo)(()=>({ref:O.trigger.ref,props:{...O.trigger.props,onKeyDown:k}}),[k,O.trigger]),j=i.a(e=>O.setOpen(!1,e)),M=(0,f.useMemo)(()=>({open:O.isOpen,closeAll:j,registerLayer:D}),[j,O.isOpen,D]);return(0,p.jsxs)(p.Fragment,{children:[n(A),(0,p.jsx)(g.Provider,{value:M,children:(0,p.jsx)(x,{layer:O,side:d,align:m,offset:_,flip:y,matchWidth:b,label:c,labelledBy:u??(c?void 0:O.triggerId),contentProps:S,...C,elementRef:t,children:r})})]})}function x(e){let{layer:n,side:a,align:c,offset:l,flip:m,matchWidth:g,label:v,labelledBy:y,contentProps:b,closeSelf:x,elementRef:S,children:C,...w}=e,{platform:T,isOpen:E,id:D,triggerElement:O,setPanel:k}=n,A=(0,f.useCallback)(e=>{k(e),t.d(S,e)},[k,S]),j=_(`Menu`),M=(0,f.useRef)({query:``,at:0}),N=s.t({side:a,align:c,offset:l,flip:m,matchWidth:g,anchor:O}),P=d.t(C,E,n.panelElement),F={role:`menu`,"aria-label":v,"aria-labelledby":y,tabIndex:-1,onKeyDown:i.a(e=>{let n=e.currentTarget;if(!h.owns(n,e.target))return;let r=h.items(n),i=r.indexOf(document.activeElement),a=t=>{t&&(e.preventDefault(),t.focus())},s=t._(n)?`ArrowRight`:`ArrowLeft`;switch(e.key){case`ArrowDown`:return a(h.step(r,i,1));case`ArrowUp`:return a(h.step(r,i,-1));case`Home`:return a(r[0]);case`End`:return a(r[r.length-1]);case`Tab`:return j.closeAll({reason:`tab`,event:e});case s:return x?(e.preventDefault(),x({reason:`trigger`,event:e})):void 0}if(o.t.isPrintable(e)){let t=o.t.push(M.current,e.key,e.timeStamp);a(h.typeaheadTarget(r,t,i))}}),onPointerOver:i.a(e=>{let t=e.currentTarget,n=e.target?.closest(h.ITEM_SELECTOR);!n||!h.owns(t,n)||n===document.activeElement||n.focus()}),...b};return T?(0,p.jsx)(r.default,{ref:A,component:`menu`,...w,variant:[w.variant,{topLayer:!0}],...N.layerProps,id:D,props:{popover:`auto`,...F},children:P}):E?(0,p.jsx)(u.default,{contentRef:A,anchor:O,side:a,align:c,offset:l,flip:m,matchWidth:g,component:`menu`,...w,id:D,props:F,children:C}):null}function S(e,o){let{label:s,children:u,disabled:d,side:m=`end`,align:y=`start`,offset:b=0,flip:S=!0,itemProps:w,props:T,...E}=e,D=_(`Menu.Sub`),O=a.t(`menu-sub`),k=i.a(e=>{(h.items(e)[0]??e).focus()}),A=i.a((e,t)=>{e&&t?.focus()}),{panels:j,registerLayer:M}=v(D.registerLayer),N=c.i(`menu.sub`),P=l.t({haspopup:`menu`,idPrefix:`menu-sub`,id:E.id,onOpened:k,onClosing:A,inside:j});n.n(()=>{if(!(!P.isOpen||!P.panelElement))return D.registerLayer(P.panelElement)},[P.isOpen,P.panelElement,D.registerLayer]),n.n(()=>{D.open||P.setOpen(!1,{reason:`imperative`})},[D.open,P.setOpen]),n.n(()=>{if(!P.isOpen)return;let e=new AbortController;return document.addEventListener(`focusin`,e=>{t.g(e,[P.panelElement,P.triggerElement])||P.setOpen(!1,{reason:`imperative`,event:e})},{signal:e.signal}),()=>e.abort()},[P.isOpen,P.panelElement,P.triggerElement,P.setOpen]);let F=i.a(e=>{let n=t._(e.currentTarget)?`ArrowLeft`:`ArrowRight`;d||e.key!==n||(e.preventDefault(),P.setOpen(!0,{reason:`trigger`,event:e}),N(`openChange`,!0,{reason:`keyboard`,event:e,item:C(s)}))}),I=i.a(e=>{d||P.setOpen(!0,{reason:`trigger`,event:e})}),L=(0,f.useMemo)(()=>({open:P.isOpen,closeAll:D.closeAll,registerLayer:M}),[P.isOpen,D.closeAll,M]);return(0,p.jsxs)(p.Fragment,{children:[(0,p.jsxs)(r.default,{tag:`button`,ref:d?void 0:P.trigger.ref,component:`menu.item`,variant:{sub:!0},id:O,props:{type:`button`,role:`menuitem`,tabIndex:-1,"aria-disabled":d||void 0,...P.trigger.props,...w,onKeyDown:F,onPointerEnter:I},children:[s,(0,p.jsx)(r.default,{component:`menu.arrow`})]}),!d&&(0,p.jsx)(g.Provider,{value:L,children:(0,p.jsx)(x,{layer:P,side:m,align:y,offset:b,flip:S,matchWidth:!1,labelledBy:O,contentProps:T,closeSelf:e=>P.setOpen(!1,e),...E,elementRef:o,children:u})})]})}var C=(e,t)=>t??(typeof e==`string`?e:void 0);function w(e){let{onSelect:t,disabled:n,closeOnSelect:a=!0,value:o,props:s,children:l,...u}=e,d=_(`Menu.Item`),f=c.i(`menu.item`),m=i.a(e=>{n||(t?.(e),f(`select`,C(l,o),{reason:`select`,event:e}),a&&d.closeAll({reason:`select`,event:e}))});return(0,p.jsx)(r.default,{tag:`button`,component:`menu.item`,...u,props:{type:`button`,role:`menuitem`,tabIndex:-1,"aria-disabled":n||void 0,...s,onClick:m},children:l})}function T(e){let{checked:t,defaultChecked:n=!1,onCheckedChange:a,disabled:o,closeOnSelect:s=!1,value:l,props:u,children:d,...f}=e,m=_(`Menu.CheckboxItem`),[h,g]=i.i({value:t,defaultValue:n,onChange:a}),v=c.i(`menu.checkboxItem`),y=i.a(e=>{o||(g(!h,{reason:`select`,event:e}),v(`checkedChange`,!h,{reason:`select`,event:e,item:C(d,l)}),s&&m.closeAll({reason:`select`,event:e}))});return(0,p.jsxs)(r.default,{tag:`button`,component:`menu.item`,...f,props:{type:`button`,role:`menuitemcheckbox`,tabIndex:-1,"aria-checked":h,"aria-disabled":o||void 0,...u,onClick:y},children:[(0,p.jsx)(r.default,{component:`menu.indicator`,children:h&&(0,p.jsx)(r.default,{component:`menu.check`})}),d]})}function E(e){let{label:t,value:n,defaultValue:r=``,onValueChange:a,children:o,...s}=e,[l,u]=c.a({value:n,defaultValue:r,onChange:a,interaction:{component:`menu.radioGroup`,type:`valueChange`}}),d=i.a((e,t)=>u(e,{reason:`select`,event:t})),m=(0,f.useMemo)(()=>({value:l,select:d}),[l,d]);return(0,p.jsx)(y.Provider,{value:m,children:(0,p.jsx)(O,{label:t,...s,children:o})})}function D(e){let{value:t,disabled:n,closeOnSelect:a=!1,props:o,children:s,...c}=e,l=_(`Menu.RadioItem`),u=(0,f.useContext)(y);if(!u)throw Error(`<Menu.RadioItem> must be rendered inside a <Menu.RadioGroup>.`);let d=u.value===t,m=i.a(e=>{n||(u.select(t,e),a&&l.closeAll({reason:`select`,event:e}))});return(0,p.jsxs)(r.default,{tag:`button`,component:`menu.item`,...c,props:{type:`button`,role:`menuitemradio`,tabIndex:-1,"aria-checked":d,"aria-disabled":n||void 0,...o,onClick:m},children:[(0,p.jsx)(r.default,{component:`menu.indicator`,children:d&&(0,p.jsx)(r.default,{component:`menu.dot`})}),s]})}function O(e){let{label:t,props:n,children:i,...o}=e,s=a.t(`menu-group`);return(0,p.jsxs)(r.default,{component:`menu.group`,...o,props:{role:`group`,"aria-labelledby":t?s:void 0,...n},children:[t&&(0,p.jsx)(r.default,{component:`menu.label`,id:s,props:{role:`presentation`},children:t}),i]})}function k(e){let{props:t,...n}=e;return(0,p.jsx)(r.default,{component:`menu.separator`,...n,props:{role:`separator`,...t}})}w.displayName=`Menu.Item`,T.displayName=`Menu.CheckboxItem`,E.displayName=`Menu.RadioGroup`,D.displayName=`Menu.RadioItem`,O.displayName=`Menu.Group`,k.displayName=`Menu.Separator`;var A=Object.assign(e._(b,`Menu`),{Item:w,CheckboxItem:T,RadioGroup:E,RadioItem:D,Group:O,Separator:k,Sub:e._(S,`Menu.Sub`)});exports.default=A;
|
package/components/menu.mjs
CHANGED
package/components/popover.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("../react-shared.cjs"),t=require("../platform.cjs"),n=require("../box.cjs"),r=require("../behavior.cjs"),i=require("../placement.cjs"),a=require("../layer.cjs"),o=require("./overlay.cjs"),s=require("../motion.cjs");let c=require("react"),l=require("react/jsx-runtime");function u(e,u){let{trigger:d,children:f,open:p,defaultOpen:m=!1,onOpenChange:h,label:g,labelledBy:_,side:v=`bottom`,align:y=`center`,offset:b=2,flip:x=!0,matchWidth:S=!1,autoFocus:C=!0,initialFocus:w,props:T,...E}=e,D=r.a(e=>{if(!C)return;let n=t.h(w);if(n)return n.focus();e.contains(document.activeElement)||(t.m(e)??e).focus()}),{platform:O,isOpen:k,id:A,trigger:j,triggerElement:M,setPanel:N,panelElement:P}=a.t({haspopup:`dialog`,idPrefix:`popover`,id:E.id,interaction:{component:`popover`,type:`openChange`},open:p,defaultOpen:m,onOpenChange:h,onOpened:D}),F=i.t({side:v,align:y,offset:b,flip:x,matchWidth:S,anchor:M}),I=s.t(f,k,P),L=(0,c.useCallback)(e=>{N(e),t.d(u,e)},[N,u]),R={"aria-label":g,"aria-labelledby":_},z=E;return O?(0,l.jsxs)(l.Fragment,{children:[d(j),(0,l.jsx)(n.default,{ref:L,component:`popover`,...z,variant:[z.variant,{topLayer:!0}],...F.layerProps,id:A,props:{popover:`auto`,role:`dialog`,...R,tabIndex:-1,...T},children:I})]}):(0,l.jsxs)(l.Fragment,{children:[d(j),k&&(0,l.jsx)(o.default,{contentRef:L,anchor:M,side:v,align:y,offset:b,flip:x,matchWidth:S,component:`popover`,...z,id:A,props:{role:`dialog`,...R,tabIndex:-1,...T},children:f})]})}var d=e.
|
|
1
|
+
"use client";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("../react-shared.cjs"),t=require("../platform.cjs"),n=require("../box.cjs"),r=require("../behavior.cjs"),i=require("../placement.cjs"),a=require("../layer.cjs"),o=require("./overlay.cjs"),s=require("../motion.cjs");let c=require("react"),l=require("react/jsx-runtime");function u(e,u){let{trigger:d,children:f,open:p,defaultOpen:m=!1,onOpenChange:h,label:g,labelledBy:_,side:v=`bottom`,align:y=`center`,offset:b=2,flip:x=!0,matchWidth:S=!1,autoFocus:C=!0,initialFocus:w,props:T,...E}=e,D=r.a(e=>{if(!C)return;let n=t.h(w);if(n)return n.focus();e.contains(document.activeElement)||(t.m(e)??e).focus()}),{platform:O,isOpen:k,id:A,trigger:j,triggerElement:M,setPanel:N,panelElement:P}=a.t({haspopup:`dialog`,idPrefix:`popover`,id:E.id,interaction:{component:`popover`,type:`openChange`},open:p,defaultOpen:m,onOpenChange:h,onOpened:D}),F=i.t({side:v,align:y,offset:b,flip:x,matchWidth:S,anchor:M}),I=s.t(f,k,P),L=(0,c.useCallback)(e=>{N(e),t.d(u,e)},[N,u]),R={"aria-label":g,"aria-labelledby":_},z=E;return O?(0,l.jsxs)(l.Fragment,{children:[d(j),(0,l.jsx)(n.default,{ref:L,component:`popover`,...z,variant:[z.variant,{topLayer:!0}],...F.layerProps,id:A,props:{popover:`auto`,role:`dialog`,...R,tabIndex:-1,...T},children:I})]}):(0,l.jsxs)(l.Fragment,{children:[d(j),k&&(0,l.jsx)(o.default,{contentRef:L,anchor:M,side:v,align:y,offset:b,flip:x,matchWidth:S,component:`popover`,...z,id:A,props:{role:`dialog`,...R,tabIndex:-1,...T},children:f})]})}var d=e._(u,`Popover`);exports.default=d;
|
package/components/popover.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("../rolldown-runtime.cjs"),t=require("../react-shared.cjs"),n=require("../forms.cjs");let r=require("react"),i=require("react/jsx-runtime"),a=require("@box-kite/react");a=e.t(a,1);var o=[`name`,`onInput`,`onChange`,`value`,`autoFocus`,`readOnly`,`defaultChecked`];function s(e,r){let{label:s,labelProps:c,...l}=e,u=t.
|
|
1
|
+
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("../rolldown-runtime.cjs"),t=require("../react-shared.cjs"),n=require("../forms.cjs");let r=require("react"),i=require("react/jsx-runtime"),a=require("@box-kite/react");a=e.t(a,1);var o=[`name`,`onInput`,`onChange`,`value`,`autoFocus`,`readOnly`,`defaultChecked`];function s(e,r){let{label:s,labelProps:c,...l}=e,u=t.l.buildProps(l,o,{type:`radio`});return(0,i.jsx)(n.n,{label:s,labelProps:c,children:(0,i.jsx)(a.default,{ref:r,tag:`input`,component:`radioButton`,...u})})}var c=(0,r.forwardRef)(s);c.displayName=`RadioButton`,exports.default=c;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("../react-shared.cjs"),t=require("../platform.cjs"),n=require("../behavior.cjs"),r=require("../identity.cjs"),i=require("../reporting.cjs"),a=require("./flex.cjs"),o=require("./semantics.cjs"),s=require("./radioButton.cjs");let c=require("react"),l=require("react/jsx-runtime");var u=(0,c.createContext)(null);function d(e){return[...e?.querySelectorAll(`input[type="radio"]`)??[]].filter(e=>!e.disabled)}function f(e){return e===`ArrowDown`||e===`ArrowRight`?1:e===`ArrowUp`||e===`ArrowLeft`?-1:0}function p(e,s){let{label:p,name:m,value:h,defaultValue:g,onValueChange:_,onChange:v,orientation:y=`vertical`,children:b,props:x,...S}=e,C=r.t(`radiogroup`),w=(0,c.useRef)(null),T=(0,c.useCallback)(e=>{w.current=e,t.d(s,e)},[s]),E=(0,c.useRef)(`click`),D=n.a((e,t)=>{_?.(e,t),v?.(e,t)}),[O,k]=i.a({value:h,defaultValue:g,onChange:D,interaction:{component:`radioGroup`,type:`valueChange`}}),A=n.a(e=>{let t=f(e.key);if(t===0||e.defaultPrevented)return;let n=d(w.current),r=n.indexOf(document.activeElement);if(r===-1)return;e.preventDefault();let i=n[(r+t+n.length)%n.length];i!==n[r]&&(E.current=`keyboard`,i.focus(),i.click(),E.current=`click`)}),j=`${C}-label`,M=p!=null,N=(0,c.useMemo)(()=>({name:m??C,value:O,select:(e,t)=>k(e,{reason:E.current,event:t})}),[C,m,O,k]);return(0,l.jsx)(u.Provider,{value:N,children:(0,l.jsxs)(a.default,{ref:T,component:`radioGroup`,variant:{horizontal:y===`horizontal`},...S,props:{role:`radiogroup`,"aria-labelledby":M?j:void 0,...x,onKeyDown:A},children:[M&&(0,l.jsx)(o.Span,{component:`radioGroup.label`,variant:{horizontal:y===`horizontal`},id:j,children:p}),b]})})}function m(e){let t=(0,c.useContext)(u),{value:r,...i}=e,a=n.a(e=>t?.select(r,e));return t?(0,l.jsx)(s.default,{name:t.name,value:r,checked:t.value===r,onChange:a,...i}):(0,l.jsx)(s.default,{value:r,...i})}m.displayName=`RadioGroup.Item`;var h=e.
|
|
1
|
+
"use client";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("../react-shared.cjs"),t=require("../platform.cjs"),n=require("../behavior.cjs"),r=require("../identity.cjs"),i=require("../reporting.cjs"),a=require("./flex.cjs"),o=require("./semantics.cjs"),s=require("./radioButton.cjs");let c=require("react"),l=require("react/jsx-runtime");var u=(0,c.createContext)(null);function d(e){return[...e?.querySelectorAll(`input[type="radio"]`)??[]].filter(e=>!e.disabled)}function f(e){return e===`ArrowDown`||e===`ArrowRight`?1:e===`ArrowUp`||e===`ArrowLeft`?-1:0}function p(e,s){let{label:p,name:m,value:h,defaultValue:g,onValueChange:_,onChange:v,orientation:y=`vertical`,children:b,props:x,...S}=e,C=r.t(`radiogroup`),w=(0,c.useRef)(null),T=(0,c.useCallback)(e=>{w.current=e,t.d(s,e)},[s]),E=(0,c.useRef)(`click`),D=n.a((e,t)=>{_?.(e,t),v?.(e,t)}),[O,k]=i.a({value:h,defaultValue:g,onChange:D,interaction:{component:`radioGroup`,type:`valueChange`}}),A=n.a(e=>{let t=f(e.key);if(t===0||e.defaultPrevented)return;let n=d(w.current),r=n.indexOf(document.activeElement);if(r===-1)return;e.preventDefault();let i=n[(r+t+n.length)%n.length];i!==n[r]&&(E.current=`keyboard`,i.focus(),i.click(),E.current=`click`)}),j=`${C}-label`,M=p!=null,N=(0,c.useMemo)(()=>({name:m??C,value:O,select:(e,t)=>k(e,{reason:E.current,event:t})}),[C,m,O,k]);return(0,l.jsx)(u.Provider,{value:N,children:(0,l.jsxs)(a.default,{ref:T,component:`radioGroup`,variant:{horizontal:y===`horizontal`},...S,props:{role:`radiogroup`,"aria-labelledby":M?j:void 0,...x,onKeyDown:A},children:[M&&(0,l.jsx)(o.Span,{component:`radioGroup.label`,variant:{horizontal:y===`horizontal`},id:j,children:p}),b]})})}function m(e){let t=(0,c.useContext)(u),{value:r,...i}=e,a=n.a(e=>t?.select(r,e));return t?(0,l.jsx)(s.default,{name:t.name,value:r,checked:t.value===r,onChange:a,...i}):(0,l.jsx)(s.default,{value:r,...i})}m.displayName=`RadioGroup.Item`;var h=e._(p,`RadioGroup`);h.Item=m,h.displayName=`RadioGroup`,exports.default=h;
|
package/components/semantics.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../react-shared.cjs");let t=require("@box-kite/react");function n(n){return e.
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../react-shared.cjs");let t=require("@box-kite/react");function n(n){return e._((e,r)=>(0,t.useBoxElement)({tag:n,component:n,...e},r),e.u.capitalize(n))}var r=n(`label`),i=n(`span`),a=n(`article`),o=n(`aside`),s=n(`details`),c=n(`figcaption`),l=n(`figure`),u=n(`footer`),d=n(`header`),f=n(`main`),p=n(`mark`),m=n(`nav`),h=n(`menu`),g=h,_=n(`section`),v=n(`summary`),y=n(`time`),b=n(`p`),x=n(`ul`),S=n(`ol`),C=n(`li`),w=n(`h1`),T=n(`h2`),E=n(`h3`),D=n(`h4`),O=n(`h5`),k=n(`h6`),A=n(`a`),j=n(`img`);exports.Article=a,exports.Aside=o,exports.Details=s,exports.Figcaption=c,exports.Figure=l,exports.Footer=u,exports.H1=w,exports.H2=T,exports.H3=E,exports.H4=D,exports.H5=O,exports.H6=k,exports.Header=d,exports.Img=j,exports.Label=r,exports.Li=C,exports.Link=A,exports.Main=f,exports.Mark=p,exports.Menu=g,exports.MenuList=h,exports.Nav=m,exports.Ol=S,exports.P=b,exports.Section=_,exports.Span=i,exports.Summary=v,exports.Time=y,exports.Ul=x;
|