minerva-design 1.0.0 → 1.0.2
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/CHANGELOG.md +12 -0
- package/custom-elements.json +663 -0
- package/dist/angular/fesm2022/minerva-angular.mjs +1163 -34
- package/dist/angular/fesm2022/minerva-angular.mjs.map +1 -1
- package/dist/angular/types/minerva-angular.d.ts +237 -1
- package/dist/core/calendar-date.d.cts +5 -0
- package/dist/core/calendar-date.d.ts +5 -0
- package/dist/core/contracts.cjs +1 -1
- package/dist/core/contracts.cjs.map +1 -1
- package/dist/core/contracts.js +1 -1
- package/dist/core/contracts.js.map +1 -1
- package/dist/core/index.cjs +6 -6
- package/dist/core/index.cjs.map +1 -1
- package/dist/core/index.js +671 -630
- package/dist/core/index.js.map +1 -1
- package/dist/core/styling-hooks/components/date-picker.d.cts +45 -0
- package/dist/core/styling-hooks/components/date-picker.d.ts +45 -0
- package/dist/core/styling-hooks/manifest.d.cts +44 -0
- package/dist/core/styling-hooks/manifest.d.ts +44 -0
- package/dist/core/styling-hooks.cjs +1 -1
- package/dist/core/styling-hooks.cjs.map +1 -1
- package/dist/core/styling-hooks.js +62 -0
- package/dist/core/styling-hooks.js.map +1 -1
- package/dist/native/components/Calendar/Calendar.cjs +1 -1
- package/dist/native/components/Calendar/Calendar.cjs.map +1 -1
- package/dist/native/components/Calendar/Calendar.d.cts +2 -0
- package/dist/native/components/Calendar/Calendar.d.ts +2 -0
- package/dist/native/components/Calendar/Calendar.js +115 -112
- package/dist/native/components/Calendar/Calendar.js.map +1 -1
- package/dist/native/components/Checkbox/Checkbox.cjs +1 -1
- package/dist/native/components/Checkbox/Checkbox.cjs.map +1 -1
- package/dist/native/components/Checkbox/Checkbox.js +8 -8
- package/dist/native/components/Checkbox/CheckboxGroup.cjs +1 -1
- package/dist/native/components/Checkbox/CheckboxGroup.cjs.map +1 -1
- package/dist/native/components/Checkbox/CheckboxGroup.js +6 -6
- package/dist/native/components/DatePicker/DatePicker.cjs +2 -0
- package/dist/native/components/DatePicker/DatePicker.cjs.map +1 -0
- package/dist/native/components/DatePicker/DatePicker.d.cts +40 -0
- package/dist/native/components/DatePicker/DatePicker.d.ts +40 -0
- package/dist/native/components/DatePicker/DatePicker.js +110 -0
- package/dist/native/components/DatePicker/DatePicker.js.map +1 -0
- package/dist/native/components/DatePicker/index.cjs +1 -0
- package/dist/native/components/DatePicker/index.d.cts +2 -0
- package/dist/native/components/DatePicker/index.d.ts +2 -0
- package/dist/native/components/DatePicker/index.js +2 -0
- package/dist/native/components/Radio/RadioGroup.cjs +1 -1
- package/dist/native/components/Radio/RadioGroup.cjs.map +1 -1
- package/dist/native/components/Radio/RadioGroup.js +9 -9
- package/dist/native/components/Switch/Switch.cjs +1 -1
- package/dist/native/components/Switch/Switch.cjs.map +1 -1
- package/dist/native/components/Switch/Switch.js +23 -23
- package/dist/native/components/Switch/Switch.js.map +1 -1
- package/dist/native/index.cjs +1 -1
- package/dist/native/index.d.cts +1 -0
- package/dist/native/index.d.ts +1 -0
- package/dist/native/index.js +70 -68
- package/dist/native/source/components/Calendar/Calendar.tsx +14 -6
- package/dist/native/source/components/DatePicker/DatePicker.tsx +201 -0
- package/dist/native/source/components/DatePicker/index.ts +2 -0
- package/dist/native/source/index.ts +1 -0
- package/dist/native/source/manifest.ts +6 -0
- package/dist/react/components/DatePicker/DatePicker.cjs +2 -0
- package/dist/react/components/DatePicker/DatePicker.cjs.map +1 -0
- package/dist/react/components/DatePicker/DatePicker.d.cts +13 -0
- package/dist/react/components/DatePicker/DatePicker.d.ts +13 -0
- package/dist/react/components/DatePicker/DatePicker.js +315 -0
- package/dist/react/components/DatePicker/DatePicker.js.map +1 -0
- package/dist/react/components/DatePicker/datePicker.module.scss.cjs +2 -0
- package/dist/react/components/DatePicker/datePicker.module.scss.cjs.map +1 -0
- package/dist/react/components/DatePicker/datePicker.module.scss.js +23 -0
- package/dist/react/components/DatePicker/datePicker.module.scss.js.map +1 -0
- package/dist/react/components/DatePicker/index.cjs +1 -0
- package/dist/react/components/DatePicker/index.d.cts +5 -0
- package/dist/react/components/DatePicker/index.d.ts +5 -0
- package/dist/react/components/DatePicker/index.js +3 -0
- package/dist/react/components/DatePicker/types.d.cts +97 -0
- package/dist/react/components/DatePicker/types.d.ts +97 -0
- package/dist/react/components/Tooltip/Tooltip.cjs +1 -1
- package/dist/react/components/Tooltip/Tooltip.cjs.map +1 -1
- package/dist/react/components/Tooltip/Tooltip.js +5 -5
- package/dist/react/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/react/components/index.cjs +1 -1
- package/dist/react/components/index.d.cts +1 -0
- package/dist/react/components/index.d.ts +1 -0
- package/dist/react/components/index.js +3 -1
- package/dist/react/index.cjs +1 -1
- package/dist/react/index.js +7 -6
- package/dist/react/style.css +1 -0
- package/dist/react/styles/date-picker.css +7 -0
- package/dist/taro/date-picker.d.ts +20 -0
- package/dist/taro/index.d.ts +1 -0
- package/dist/taro/index.js +1155 -990
- package/dist/uni/DatePicker.vue +225 -0
- package/dist/uni/DatePicker.vue.d.ts +36 -0
- package/dist/uni/MonthCalendar.vue +2 -0
- package/dist/uni/MonthCalendar.vue.d.ts +2 -0
- package/dist/uni/index.d.ts +1 -0
- package/dist/uni/index.js +1 -0
- package/dist/uni/manifest.d.ts +7 -0
- package/dist/uni/manifest.js +8 -0
- package/dist/vue/components/DatePicker/DatePicker.vue.d.ts +36 -0
- package/dist/vue/components/DatePicker/DatePicker.vue.js +7 -0
- package/dist/vue/components/DatePicker/DatePicker.vue.js.map +1 -0
- package/dist/vue/components/DatePicker/DatePicker.vue_vue_type_script_setup_true_lang.js +380 -0
- package/dist/vue/components/DatePicker/DatePicker.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/DatePicker/index.d.ts +2 -0
- package/dist/vue/components/DatePicker/index.js +2 -0
- package/dist/vue/components/DatePicker/types.d.ts +26 -0
- package/dist/vue/components/MonthCalendar/MonthCalendar.vue.d.ts +1 -1
- package/dist/vue/global.d.ts +108 -0
- package/dist/vue/groups/forms-pickers.d.ts +1 -0
- package/dist/vue/groups/forms-pickers.js +5 -2
- package/dist/vue/groups/forms-pickers.js.map +1 -1
- package/dist/vue/index.js +95 -94
- package/dist/weapp/controls.js +259 -76
- package/dist/weapp/date-picker/index.js +1 -0
- package/dist/weapp/date-picker/index.json +1 -0
- package/dist/weapp/date-picker/index.wxml +1 -0
- package/dist/weapp/date-picker/index.wxss +1 -0
- package/dist/weapp/types.d.ts +19 -0
- package/dist/web-components/cdn/minerva.js +461 -335
- package/dist/web-components/cdn/minerva.js.map +1 -1
- package/dist/web-components/components/date-picker/date-picker.d.ts +110 -0
- package/dist/web-components/components/date-picker/date-picker.js +378 -0
- package/dist/web-components/components/date-picker/date-picker.js.map +1 -0
- package/dist/web-components/elements/date-picker.d.ts +1 -0
- package/dist/web-components/elements/date-picker.js +8 -0
- package/dist/web-components/elements/date-picker.js.map +1 -0
- package/dist/web-components/html-custom-data.json +85 -0
- package/dist/web-components/index.d.ts +1 -0
- package/dist/web-components/index.js +8 -6
- package/dist/web-components/styles/DatePicker/datePicker.css.js +6 -0
- package/dist/web-components/styles/DatePicker/datePicker.css.js.map +1 -0
- package/dist/web-components/types/react.d.ts +12 -0
- package/dist/web-components/types/solid.d.ts +9 -0
- package/dist/web-components/types/svelte.d.ts +9 -0
- package/dist/web-components/types/vue.d.ts +10 -0
- package/package.json +9 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use client";const e=require("../../_virtual/_rolldown/runtime.cjs");require("../../utils/cn.cjs");const t=require("../../internal/stylingHooks.cjs"),n=require("../../internal/devWarnings.cjs"),ee=require("../../internal/mergeRefs.cjs"),te=require("../../internal/useControllableState.cjs"),ne=require("../../internal/Slot.cjs"),r=require("../../internal/Portal.cjs"),re=require("../../internal/useDismissableLayer.cjs"),i=require("../../internal/FloatingPanel.cjs"),a=require("./TooltipProvider.cjs"),o=require("./tooltip.module.scss.cjs");let s=require("react");s=e.__toESM(s,1);let c=require("react/jsx-runtime"),l=require("../../../dom/index.cjs"),u=require("../../../core/index.cjs");var ie=6,ae=300,d=s.default.memo(({ref:e,content:d,children:f,open:p,defaultOpen:m,onOpenChange:oe,placement:h=`top`,color:g=`neutral`,variant:_=`solid`,shape:v=`default`,animation:se=`fade`,enterDelay:ce,leaveDelay:le,offset:y,disabled:b=!1,followCursor:x=!1,className:S=``,zIndex:ue=1500,arrow:C=!1,onOpen:de,onClose:fe,"aria-label":pe,asChild:me=!1,contentClassName:he,contentRef:ge})=>{let w=a.useTooltipConfig(),T=ce??w?.enterDelay??200,E=le??w?.leaveDelay??0;process.env.NODE_ENV!==`production`&&n.warnControlledProps(`Tooltip`,{prop:`open`,value:p,defaultProp:`defaultOpen`,defaultValue:m});let[D,O]=te.useControllableState({value:p,defaultValue:m??!1,onChange:oe,name:`Tooltip`,prop:`open`}),[k,A]=(0,s.useState)(null),[_e,ve]=(0,s.useState)(null),[j,M]=(0,s.useState)(null),N=(0,s.useRef)(void 0),P=(0,s.useRef)(void 0),F=`tooltip-${(0,s.useId)().replace(/:/g,``)}`,[I]=(0,s.useState)(()=>(0,l.createPointerGrace)({timeout:0})),L=()=>{clearTimeout(N.current),clearTimeout(P.current),I.clear()};(0,s.useEffect)(()=>()=>{clearTimeout(N.current),clearTimeout(P.current)},[]);let R=()=>{D||(O(!0),de?.())},z=()=>{D&&(w?.markClosed(),O(!1),fe?.())};(0,s.useImperativeHandle)(e,()=>({open:()=>O(!0),close:()=>O(!1),toggle:()=>O(e=>!e)}),[O]);let ye=(0,s.useMemo)(()=>x&&j?{getBoundingClientRect:()=>DOMRect.fromRect({x:j.x,y:j.y,width:0,height:0})}:null,[x,j]),B=h.startsWith(`top`)||h.startsWith(`bottom`),V=C?ie:0,H=D&&!b,U=i.useFloatingLayer({open:H,anchor:ye??k,placement:h,offset:y?{mainAxis:(B?y[1]:y[0])+V,crossAxis:B?y[0]:y[1]}:{mainAxis:8+V},arrowElement:C?_e:null,branches:()=>[k],dismissOnPointerDownOutside:!1,dismissOnFocusOutside:!1,onDismiss:()=>{L(),z()}}),{floatingStyles:be,placement:W,isPositioned:xe,arrowStyles:Se}=U,Ce=ee.useMergedRefs(U.ref,ge);(0,s.useEffect)(()=>{if(!x||!D)return;let e=e=>M({x:e.clientX,y:e.clientY});return document.addEventListener(`mousemove`,e),()=>document.removeEventListener(`mousemove`,e)},[x,D]);let G=()=>{clearTimeout(P.current),P.current=setTimeout(z,E)};(0,s.useEffect)(()=>{if(!D||x)return;let e=e=>{if(!I.getArea())return;let t=e.target,n=U.element;t&&(k?.contains(t)||n?.contains(t))||I.isInGraceArea({x:e.clientX,y:e.clientY})||(I.clear(),G())};return document.addEventListener(`pointermove`,e),()=>document.removeEventListener(`pointermove`,e)});let K=e=>{if(!b){if(x&&M({x:e.clientX,y:e.clientY}),L(),T<=0||w?.shouldSkipDelay()){R();return}N.current=setTimeout(R,T)}},q=e=>{if(b)return;L();let t=U.element?.getBoundingClientRect();if(D&&!x&&t&&t.width>0&&t.height>0){I.start({x:e.clientX,y:e.clientY},t,(0,l.parsePlacement)(W).side),P.current=setTimeout(z,Math.max(E,ae));return}G()},we=()=>{b||L()},J=()=>{b||(L(),R())},Y=()=>{b||(L(),z())},X=H?F:void 0,Z=(0,s.isValidElement)(f),Q=[(Z?f.props:{})[`aria-describedby`],X].filter(Boolean).join(` `)||void 0,Te=me&&Z,Ee=t.hooks(`tooltip`,`trigger`,{state:H?`open`:`closed`,disabled:b}),$;return $=Te?
|
|
1
|
+
"use client";const e=require("../../_virtual/_rolldown/runtime.cjs");require("../../utils/cn.cjs");const t=require("../../internal/stylingHooks.cjs"),n=require("../../internal/devWarnings.cjs"),ee=require("../../internal/mergeRefs.cjs"),te=require("../../internal/useControllableState.cjs"),ne=require("../../internal/Slot.cjs"),r=require("../../internal/Portal.cjs"),re=require("../../internal/useDismissableLayer.cjs"),i=require("../../internal/FloatingPanel.cjs"),a=require("./TooltipProvider.cjs"),o=require("./tooltip.module.scss.cjs");let s=require("react");s=e.__toESM(s,1);let c=require("react/jsx-runtime"),l=require("../../../dom/index.cjs"),u=require("../../../core/index.cjs");var ie=6,ae=300,d=s.default.memo(({ref:e,content:d,children:f,open:p,defaultOpen:m,onOpenChange:oe,placement:h=`top`,color:g=`neutral`,variant:_=`solid`,shape:v=`default`,animation:se=`fade`,enterDelay:ce,leaveDelay:le,offset:y,disabled:b=!1,followCursor:x=!1,className:S=``,zIndex:ue=1500,arrow:C=!1,onOpen:de,onClose:fe,"aria-label":pe,asChild:me=!1,contentClassName:he,contentRef:ge})=>{let w=a.useTooltipConfig(),T=ce??w?.enterDelay??200,E=le??w?.leaveDelay??0;process.env.NODE_ENV!==`production`&&n.warnControlledProps(`Tooltip`,{prop:`open`,value:p,defaultProp:`defaultOpen`,defaultValue:m});let[D,O]=te.useControllableState({value:p,defaultValue:m??!1,onChange:oe,name:`Tooltip`,prop:`open`}),[k,A]=(0,s.useState)(null),[_e,ve]=(0,s.useState)(null),[j,M]=(0,s.useState)(null),N=(0,s.useRef)(void 0),P=(0,s.useRef)(void 0),F=`tooltip-${(0,s.useId)().replace(/:/g,``)}`,[I]=(0,s.useState)(()=>(0,l.createPointerGrace)({timeout:0})),L=()=>{clearTimeout(N.current),clearTimeout(P.current),I.clear()};(0,s.useEffect)(()=>()=>{clearTimeout(N.current),clearTimeout(P.current)},[]);let R=()=>{D||(O(!0),de?.())},z=()=>{D&&(w?.markClosed(),O(!1),fe?.())};(0,s.useImperativeHandle)(e,()=>({open:()=>O(!0),close:()=>O(!1),toggle:()=>O(e=>!e)}),[O]);let ye=(0,s.useMemo)(()=>x&&j?{getBoundingClientRect:()=>DOMRect.fromRect({x:j.x,y:j.y,width:0,height:0})}:null,[x,j]),B=h.startsWith(`top`)||h.startsWith(`bottom`),V=C?ie:0,H=D&&!b,U=i.useFloatingLayer({open:H,anchor:ye??k,placement:h,offset:y?{mainAxis:(B?y[1]:y[0])+V,crossAxis:B?y[0]:y[1]}:{mainAxis:8+V},arrowElement:C?_e:null,branches:()=>[k],dismissOnPointerDownOutside:!1,dismissOnFocusOutside:!1,onDismiss:()=>{L(),z()}}),{floatingStyles:be,placement:W,isPositioned:xe,arrowStyles:Se}=U,Ce=ee.useMergedRefs(U.ref,ge);(0,s.useEffect)(()=>{if(!x||!D)return;let e=e=>M({x:e.clientX,y:e.clientY});return document.addEventListener(`mousemove`,e),()=>document.removeEventListener(`mousemove`,e)},[x,D]);let G=()=>{clearTimeout(P.current),P.current=setTimeout(z,E)};(0,s.useEffect)(()=>{if(!D||x)return;let e=e=>{if(!I.getArea())return;let t=e.target,n=U.element;t&&(k?.contains(t)||n?.contains(t))||I.isInGraceArea({x:e.clientX,y:e.clientY})||(I.clear(),G())};return document.addEventListener(`pointermove`,e),()=>document.removeEventListener(`pointermove`,e)});let K=e=>{if(!b){if(x&&M({x:e.clientX,y:e.clientY}),L(),T<=0||w?.shouldSkipDelay()){R();return}N.current=setTimeout(R,T)}},q=e=>{if(b)return;L();let t=U.element?.getBoundingClientRect();if(D&&!x&&t&&t.width>0&&t.height>0){I.start({x:e.clientX,y:e.clientY},t,(0,l.parsePlacement)(W).side),P.current=setTimeout(z,Math.max(E,ae));return}G()},we=()=>{b||L()},J=()=>{b||(L(),R())},Y=()=>{b||(L(),z())},X=H?F:void 0,Z=(0,s.isValidElement)(f),Q=[(Z?f.props:{})[`aria-describedby`],X].filter(Boolean).join(` `)||void 0,Te=me&&Z,Ee=t.hooks(`tooltip`,`trigger`,{state:H?`open`:`closed`,disabled:b}),$;return $=Te?(0,c.jsx)(ne.Slot,{ref:A,className:S||void 0,onMouseEnter:b?void 0:K,onMouseLeave:b?void 0:q,onFocus:b?void 0:J,onBlur:b?void 0:Y,children:(0,s.cloneElement)(f,{"aria-describedby":Q})}):(0,c.jsx)(`div`,{ref:A,className:(0,u.cn)(o.default.tooltipTrigger,S),onMouseEnter:K,onMouseLeave:q,onFocus:J,onBlur:Y,"aria-describedby":Z?void 0:X,...Ee,children:Z?(0,s.cloneElement)(f,{"aria-describedby":Q}):f}),(0,c.jsxs)(c.Fragment,{children:[$,H&&(0,c.jsx)(r.Portal,{children:(0,c.jsxs)(`div`,{ref:Ce,dir:U.dir,id:F,role:`tooltip`,"aria-label":pe,...t.hooks(`tooltip`,`content`,{state:`open`,color:g,variant:_,shape:v,...(0,l.parsePlacement)(W),placement:W}),onMouseEnter:we,onMouseLeave:x||b?void 0:G,className:(0,u.cn)(o.default.tooltip,o.default[g],o.default[_],o.default[v],o.default[`animation-${se}`],x&&o.default.followCursor,C&&o.default.arrow,xe&&o.default.show,he),style:{...be,zIndex:ue},children:[(0,c.jsx)(re.LayerContext.Provider,{value:U.element,children:d}),C&&(0,c.jsx)(`div`,{ref:ve,className:o.default.tooltipArrow,style:Se,...t.hooks(`tooltip`,`arrow`)})]})})]})});exports.default=d;
|
|
2
2
|
//# sourceMappingURL=Tooltip.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tooltip.cjs","names":["useTooltipConfig","useControllableState","useState","useRef","useId","createPointerGrace","useMemo","useFloatingLayer","useMergedRefs","parsePlacement","isValidElement","hooks","Slot","cloneElement","cn","styles","_Fragment","Portal","LayerContext","React","require_runtime","require_stylingHooks","require_devWarnings","require_mergeRefs","require_useControllableState","require_Slot","require_Portal","require_useDismissableLayer","require_FloatingPanel","require_TooltipProvider","require_tooltip_module","react","react_jsx_runtime","_minerva_dom","_minerva_core","ARROW_GAP","HOVER_GRACE_MS","Tooltip_default","openProp","enterDelayProp","leaveDelayProp","ariaLabel","config","enterDelay","leaveDelay","defaultOpen","open","setOpen","onOpenChange","triggerEl","setTriggerEl","arrowEl","setArrowEl","cursor","setCursor","enterTimeoutRef","leaveTimeoutRef","tooltipId","grace","clearTimers","show","onOpen","hide","onClose","ref","prev","cursorAnchor","followCursor","isVertical","placement","gap","arrow","visible","disabled","layer","offset","finalPlacement","setContentRef","contentRef","handleMouseMove","scheduleHide","handlePointerMove","target","floating","handleMouseEnter","handleMouseLeave","rect","handleContentMouseEnter","handleFocus","handleBlur","describedBy","isElementChild","children","childDescribedBy","useChildAsTrigger","asChild","triggerHooks","triggerNode","className","color","variant","shape","animation","isPositioned","contentClassName","floatingStyles","content","arrowStyles"],"sources":["../../../../../react/src/components/Tooltip/Tooltip.tsx"],"sourcesContent":["import React, {\n cloneElement,\n isValidElement,\n useEffect,\n useId,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { createPointerGrace, parsePlacement } from \"@minerva/dom\";\nimport { cn } from \"../../utils/cn\";\nimport { hooks } from \"../../internal/stylingHooks\";\nimport { Slot } from \"../../internal/Slot\";\nimport type { TooltipProps } from \"./types\";\nimport { useFloatingLayer } from \"../../internal/FloatingPanel\";\nimport { Portal } from \"../../internal/Portal\";\nimport type { VirtualElement } from \"../../internal/useAnchoredPosition\";\nimport { LayerContext } from \"../../internal/useDismissableLayer\";\nimport { useControllableState } from \"../../internal/useControllableState\";\nimport { warnControlledProps } from \"../../internal/devWarnings\";\nimport { useMergedRefs } from \"../../internal/mergeRefs\";\nimport { useTooltipConfig } from \"./TooltipProvider\";\nimport styles from \"./tooltip.module.scss\";\n\n/** Extra gap so the arrow does not overlap the trigger. */\nconst ARROW_GAP = 6;\n/**\n * How long the pointer may travel from the trigger to the tooltip (through\n * the gap between them) before the tooltip closes (WCAG 1.4.13 hoverable).\n */\nconst HOVER_GRACE_MS = 300;\n\ntype TriggerChildProps = {\n \"aria-describedby\"?: string;\n};\n\n/**\n * Tooltip: shows informative content when the wrapped element is hovered or\n * focused. Flips / shifts to stay inside the viewport.\n *\n * WCAG 1.4.13: dismissable with Escape (a non-modal layer: only when it is\n * the topmost one, so in an open Popover the first Escape closes the\n * tooltip only), hoverable (the pointer can move from the trigger onto the\n * tooltip through the gap between them) and persistent.\n */\nconst Tooltip = ({\n ref,\n content,\n children,\n open: openProp,\n defaultOpen,\n onOpenChange,\n placement = \"top\",\n color = \"neutral\",\n variant = \"solid\",\n shape = \"default\",\n animation = \"fade\",\n enterDelay: enterDelayProp,\n leaveDelay: leaveDelayProp,\n offset,\n disabled = false,\n followCursor = false,\n className = \"\",\n zIndex = 1500,\n arrow = false,\n onOpen,\n onClose,\n \"aria-label\": ariaLabel,\n asChild = false,\n contentClassName,\n contentRef,\n}: TooltipProps) => {\n const config = useTooltipConfig();\n const enterDelay = enterDelayProp ?? config?.enterDelay ?? 200;\n const leaveDelay = leaveDelayProp ?? config?.leaveDelay ?? 0;\n if (process.env.NODE_ENV !== \"production\") {\n warnControlledProps(\"Tooltip\", {\n prop: \"open\",\n value: openProp,\n defaultProp: \"defaultOpen\",\n defaultValue: defaultOpen,\n });\n }\n const [open, setOpen] = useControllableState({\n value: openProp,\n defaultValue: defaultOpen ?? false,\n onChange: onOpenChange,\n name: \"Tooltip\",\n prop: \"open\",\n });\n const [triggerEl, setTriggerEl] = useState<HTMLElement | null>(null);\n const [arrowEl, setArrowEl] = useState<HTMLDivElement | null>(null);\n const [cursor, setCursor] = useState<{ x: number; y: number } | null>(null);\n const enterTimeoutRef = useRef<ReturnType<typeof setTimeout> | undefined>(\n undefined,\n );\n const leaveTimeoutRef = useRef<ReturnType<typeof setTimeout> | undefined>(\n undefined,\n );\n const tooltipId = `tooltip-${useId().replace(/:/g, \"\")}`;\n\n // Pointer travelling from the trigger towards the tooltip\n const [grace] = useState(() => createPointerGrace({ timeout: 0 }));\n\n const clearTimers = () => {\n clearTimeout(enterTimeoutRef.current);\n clearTimeout(leaveTimeoutRef.current);\n grace.clear();\n };\n useEffect(\n () => () => {\n clearTimeout(enterTimeoutRef.current);\n clearTimeout(leaveTimeoutRef.current);\n },\n [],\n );\n\n const show = () => {\n if (open) return;\n setOpen(true);\n onOpen?.();\n };\n const hide = () => {\n if (!open) return;\n config?.markClosed();\n setOpen(false);\n onClose?.();\n };\n\n useImperativeHandle(\n ref,\n () => ({\n open: () => setOpen(true),\n close: () => setOpen(false),\n toggle: () => setOpen((prev) => !prev),\n }),\n [setOpen],\n );\n\n // A virtual element at the cursor position when following the cursor\n const cursorAnchor = useMemo<VirtualElement | null>(\n () =>\n followCursor && cursor\n ? {\n getBoundingClientRect: () =>\n DOMRect.fromRect({\n x: cursor.x,\n y: cursor.y,\n width: 0,\n height: 0,\n }),\n }\n : null,\n [followCursor, cursor],\n );\n\n const isVertical =\n placement.startsWith(\"top\") || placement.startsWith(\"bottom\");\n const gap = arrow ? ARROW_GAP : 0;\n const visible = open && !disabled;\n const layer = useFloatingLayer({\n open: visible,\n anchor: cursorAnchor ?? triggerEl,\n placement,\n offset: offset\n ? {\n mainAxis: (isVertical ? offset[1] : offset[0]) + gap,\n crossAxis: isVertical ? offset[0] : offset[1],\n }\n : { mainAxis: 8 + gap },\n arrowElement: arrow ? arrowEl : null,\n branches: () => [triggerEl],\n // Escape only (topmost layer); hover / focus handle the rest\n dismissOnPointerDownOutside: false,\n dismissOnFocusOutside: false,\n onDismiss: () => {\n clearTimers();\n hide();\n },\n });\n const {\n floatingStyles,\n placement: finalPlacement,\n isPositioned,\n arrowStyles,\n } = layer;\n const setContentRef = useMergedRefs<HTMLElement>(\n layer.ref,\n contentRef as React.Ref<HTMLElement>,\n );\n\n // Track the cursor while open (followCursor)\n useEffect(() => {\n if (!followCursor || !open) return;\n const handleMouseMove = (e: MouseEvent) =>\n setCursor({ x: e.clientX, y: e.clientY });\n document.addEventListener(\"mousemove\", handleMouseMove);\n return () => document.removeEventListener(\"mousemove\", handleMouseMove);\n }, [followCursor, open]);\n\n const scheduleHide = () => {\n clearTimeout(leaveTimeoutRef.current);\n leaveTimeoutRef.current = setTimeout(hide, leaveDelay);\n };\n\n // Hoverable (WCAG 1.4.13): while the pointer heads from the trigger to the\n // tooltip through the gap between them, keep it open.\n useEffect(() => {\n if (!open || followCursor) return;\n const handlePointerMove = (e: PointerEvent) => {\n if (!grace.getArea()) return;\n const target = e.target as Node | null;\n const floating = layer.element;\n if (\n target &&\n (triggerEl?.contains(target) || floating?.contains(target))\n ) {\n return;\n }\n if (grace.isInGraceArea({ x: e.clientX, y: e.clientY })) return;\n grace.clear();\n scheduleHide();\n };\n document.addEventListener(\"pointermove\", handlePointerMove);\n return () => document.removeEventListener(\"pointermove\", handlePointerMove);\n });\n\n const handleMouseEnter = (e: React.MouseEvent) => {\n if (disabled) return;\n if (followCursor) setCursor({ x: e.clientX, y: e.clientY });\n clearTimers();\n // Within a provider, moving quickly between tooltips skips the delay\n if (enterDelay <= 0 || config?.shouldSkipDelay()) {\n show();\n return;\n }\n enterTimeoutRef.current = setTimeout(show, enterDelay);\n };\n\n const handleMouseLeave = (e: React.MouseEvent) => {\n if (disabled) return;\n clearTimers();\n const rect = layer.element?.getBoundingClientRect();\n if (open && !followCursor && rect && rect.width > 0 && rect.height > 0) {\n // Heading for the tooltip: keep it open while the pointer crosses the\n // gap (pointermove above), at most HOVER_GRACE_MS.\n grace.start(\n { x: e.clientX, y: e.clientY },\n rect,\n parsePlacement(finalPlacement).side,\n );\n leaveTimeoutRef.current = setTimeout(\n hide,\n Math.max(leaveDelay, HOVER_GRACE_MS),\n );\n return;\n }\n scheduleHide();\n };\n\n // The pointer reached the tooltip: stay open until it leaves it\n const handleContentMouseEnter = () => {\n if (disabled) return;\n clearTimers();\n };\n\n // Keyboard users get the tooltip when the wrapped (interactive) child\n // receives focus. Activation keys are left alone so they still reach it.\n const handleFocus = () => {\n if (disabled) return;\n clearTimers();\n show();\n };\n\n const handleBlur = () => {\n if (disabled) return;\n clearTimers();\n hide();\n };\n\n const describedBy = visible ? tooltipId : undefined;\n\n // Point the interactive child at the tooltip; fall back to the wrapper\n // when children is not a single element (e.g. plain text).\n const isElementChild = isValidElement<TriggerChildProps>(children);\n const childProps: TriggerChildProps = isElementChild\n ? (children.props as TriggerChildProps)\n : {};\n const childDescribedBy =\n [childProps[\"aria-describedby\"], describedBy].filter(Boolean).join(\" \") ||\n undefined;\n const useChildAsTrigger = asChild && isElementChild;\n\n // The wrapper only: with asChild the child keeps its own hooks.\n const triggerHooks = hooks(\"tooltip\", \"trigger\", {\n state: visible ? \"open\" : \"closed\",\n disabled,\n });\n\n let triggerNode: React.ReactNode;\n if (useChildAsTrigger) {\n // Disabled: render the child untouched (no handlers, no state hooks)\n triggerNode = disabled ? (\n children\n ) : (\n <Slot\n ref={setTriggerEl}\n className={className || undefined}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n onFocus={handleFocus}\n onBlur={handleBlur}\n >\n {cloneElement(children, { \"aria-describedby\": childDescribedBy })}\n </Slot>\n );\n } else {\n triggerNode = (\n <div\n ref={setTriggerEl}\n className={cn(styles.tooltipTrigger, className)}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n onFocus={handleFocus}\n onBlur={handleBlur}\n aria-describedby={isElementChild ? undefined : describedBy}\n {...triggerHooks}\n >\n {isElementChild\n ? cloneElement(children, { \"aria-describedby\": childDescribedBy })\n : children}\n </div>\n );\n }\n\n return (\n <>\n {triggerNode}\n {visible && (\n <Portal>\n <div\n ref={setContentRef}\n dir={layer.dir}\n id={tooltipId}\n role=\"tooltip\"\n aria-label={ariaLabel}\n {...hooks(\"tooltip\", \"content\", {\n state: \"open\",\n color,\n variant,\n shape,\n ...parsePlacement(finalPlacement),\n placement: finalPlacement,\n })}\n onMouseEnter={handleContentMouseEnter}\n onMouseLeave={followCursor || disabled ? undefined : scheduleHide}\n className={cn(\n styles.tooltip,\n styles[color],\n styles[variant],\n styles[shape],\n styles[`animation-${animation}`],\n followCursor && styles.followCursor,\n arrow && styles.arrow,\n isPositioned && styles.show,\n contentClassName,\n )}\n style={{\n ...floatingStyles,\n zIndex,\n }}\n >\n <LayerContext.Provider value={layer.element}>\n {content}\n </LayerContext.Provider>\n {arrow && (\n <div\n ref={setArrowEl}\n className={styles.tooltipArrow}\n style={arrowStyles}\n {...hooks(\"tooltip\", \"arrow\")}\n />\n )}\n </div>\n </Portal>\n )}\n </>\n );\n};\n\nexport default React.memo(Tooltip);\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Tooltip.cjs","names":["useTooltipConfig","useControllableState","useState","useRef","useId","createPointerGrace","useMemo","useFloatingLayer","useMergedRefs","parsePlacement","isValidElement","hooks","Slot","cloneElement","cn","styles","_Fragment","Portal","LayerContext","React","require_runtime","require_stylingHooks","require_devWarnings","require_mergeRefs","require_useControllableState","require_Slot","require_Portal","require_useDismissableLayer","require_FloatingPanel","require_TooltipProvider","require_tooltip_module","react","react_jsx_runtime","_minerva_dom","_minerva_core","ARROW_GAP","HOVER_GRACE_MS","Tooltip_default","openProp","enterDelayProp","leaveDelayProp","ariaLabel","config","enterDelay","leaveDelay","defaultOpen","open","setOpen","onOpenChange","triggerEl","setTriggerEl","arrowEl","setArrowEl","cursor","setCursor","enterTimeoutRef","leaveTimeoutRef","tooltipId","grace","clearTimers","show","onOpen","hide","onClose","ref","prev","cursorAnchor","followCursor","isVertical","placement","gap","arrow","visible","disabled","layer","offset","finalPlacement","setContentRef","contentRef","handleMouseMove","scheduleHide","handlePointerMove","target","floating","handleMouseEnter","handleMouseLeave","rect","handleContentMouseEnter","handleFocus","handleBlur","describedBy","isElementChild","children","childDescribedBy","useChildAsTrigger","asChild","triggerHooks","triggerNode","className","color","variant","shape","animation","isPositioned","contentClassName","floatingStyles","content","arrowStyles"],"sources":["../../../../../react/src/components/Tooltip/Tooltip.tsx"],"sourcesContent":["import React, {\n cloneElement,\n isValidElement,\n useEffect,\n useId,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { createPointerGrace, parsePlacement } from \"@minerva/dom\";\nimport { cn } from \"../../utils/cn\";\nimport { hooks } from \"../../internal/stylingHooks\";\nimport { Slot } from \"../../internal/Slot\";\nimport type { TooltipProps } from \"./types\";\nimport { useFloatingLayer } from \"../../internal/FloatingPanel\";\nimport { Portal } from \"../../internal/Portal\";\nimport type { VirtualElement } from \"../../internal/useAnchoredPosition\";\nimport { LayerContext } from \"../../internal/useDismissableLayer\";\nimport { useControllableState } from \"../../internal/useControllableState\";\nimport { warnControlledProps } from \"../../internal/devWarnings\";\nimport { useMergedRefs } from \"../../internal/mergeRefs\";\nimport { useTooltipConfig } from \"./TooltipProvider\";\nimport styles from \"./tooltip.module.scss\";\n\n/** Extra gap so the arrow does not overlap the trigger. */\nconst ARROW_GAP = 6;\n/**\n * How long the pointer may travel from the trigger to the tooltip (through\n * the gap between them) before the tooltip closes (WCAG 1.4.13 hoverable).\n */\nconst HOVER_GRACE_MS = 300;\n\ntype TriggerChildProps = {\n \"aria-describedby\"?: string;\n};\n\n/**\n * Tooltip: shows informative content when the wrapped element is hovered or\n * focused. Flips / shifts to stay inside the viewport.\n *\n * WCAG 1.4.13: dismissable with Escape (a non-modal layer: only when it is\n * the topmost one, so in an open Popover the first Escape closes the\n * tooltip only), hoverable (the pointer can move from the trigger onto the\n * tooltip through the gap between them) and persistent.\n */\nconst Tooltip = ({\n ref,\n content,\n children,\n open: openProp,\n defaultOpen,\n onOpenChange,\n placement = \"top\",\n color = \"neutral\",\n variant = \"solid\",\n shape = \"default\",\n animation = \"fade\",\n enterDelay: enterDelayProp,\n leaveDelay: leaveDelayProp,\n offset,\n disabled = false,\n followCursor = false,\n className = \"\",\n zIndex = 1500,\n arrow = false,\n onOpen,\n onClose,\n \"aria-label\": ariaLabel,\n asChild = false,\n contentClassName,\n contentRef,\n}: TooltipProps) => {\n const config = useTooltipConfig();\n const enterDelay = enterDelayProp ?? config?.enterDelay ?? 200;\n const leaveDelay = leaveDelayProp ?? config?.leaveDelay ?? 0;\n if (process.env.NODE_ENV !== \"production\") {\n warnControlledProps(\"Tooltip\", {\n prop: \"open\",\n value: openProp,\n defaultProp: \"defaultOpen\",\n defaultValue: defaultOpen,\n });\n }\n const [open, setOpen] = useControllableState({\n value: openProp,\n defaultValue: defaultOpen ?? false,\n onChange: onOpenChange,\n name: \"Tooltip\",\n prop: \"open\",\n });\n const [triggerEl, setTriggerEl] = useState<HTMLElement | null>(null);\n const [arrowEl, setArrowEl] = useState<HTMLDivElement | null>(null);\n const [cursor, setCursor] = useState<{ x: number; y: number } | null>(null);\n const enterTimeoutRef = useRef<ReturnType<typeof setTimeout> | undefined>(\n undefined,\n );\n const leaveTimeoutRef = useRef<ReturnType<typeof setTimeout> | undefined>(\n undefined,\n );\n const tooltipId = `tooltip-${useId().replace(/:/g, \"\")}`;\n\n // Pointer travelling from the trigger towards the tooltip\n const [grace] = useState(() => createPointerGrace({ timeout: 0 }));\n\n const clearTimers = () => {\n clearTimeout(enterTimeoutRef.current);\n clearTimeout(leaveTimeoutRef.current);\n grace.clear();\n };\n useEffect(\n () => () => {\n clearTimeout(enterTimeoutRef.current);\n clearTimeout(leaveTimeoutRef.current);\n },\n [],\n );\n\n const show = () => {\n if (open) return;\n setOpen(true);\n onOpen?.();\n };\n const hide = () => {\n if (!open) return;\n config?.markClosed();\n setOpen(false);\n onClose?.();\n };\n\n useImperativeHandle(\n ref,\n () => ({\n open: () => setOpen(true),\n close: () => setOpen(false),\n toggle: () => setOpen((prev) => !prev),\n }),\n [setOpen],\n );\n\n // A virtual element at the cursor position when following the cursor\n const cursorAnchor = useMemo<VirtualElement | null>(\n () =>\n followCursor && cursor\n ? {\n getBoundingClientRect: () =>\n DOMRect.fromRect({\n x: cursor.x,\n y: cursor.y,\n width: 0,\n height: 0,\n }),\n }\n : null,\n [followCursor, cursor],\n );\n\n const isVertical =\n placement.startsWith(\"top\") || placement.startsWith(\"bottom\");\n const gap = arrow ? ARROW_GAP : 0;\n const visible = open && !disabled;\n const layer = useFloatingLayer({\n open: visible,\n anchor: cursorAnchor ?? triggerEl,\n placement,\n offset: offset\n ? {\n mainAxis: (isVertical ? offset[1] : offset[0]) + gap,\n crossAxis: isVertical ? offset[0] : offset[1],\n }\n : { mainAxis: 8 + gap },\n arrowElement: arrow ? arrowEl : null,\n branches: () => [triggerEl],\n // Escape only (topmost layer); hover / focus handle the rest\n dismissOnPointerDownOutside: false,\n dismissOnFocusOutside: false,\n onDismiss: () => {\n clearTimers();\n hide();\n },\n });\n const {\n floatingStyles,\n placement: finalPlacement,\n isPositioned,\n arrowStyles,\n } = layer;\n const setContentRef = useMergedRefs<HTMLElement>(\n layer.ref,\n contentRef as React.Ref<HTMLElement>,\n );\n\n // Track the cursor while open (followCursor)\n useEffect(() => {\n if (!followCursor || !open) return;\n const handleMouseMove = (e: MouseEvent) =>\n setCursor({ x: e.clientX, y: e.clientY });\n document.addEventListener(\"mousemove\", handleMouseMove);\n return () => document.removeEventListener(\"mousemove\", handleMouseMove);\n }, [followCursor, open]);\n\n const scheduleHide = () => {\n clearTimeout(leaveTimeoutRef.current);\n leaveTimeoutRef.current = setTimeout(hide, leaveDelay);\n };\n\n // Hoverable (WCAG 1.4.13): while the pointer heads from the trigger to the\n // tooltip through the gap between them, keep it open.\n useEffect(() => {\n if (!open || followCursor) return;\n const handlePointerMove = (e: PointerEvent) => {\n if (!grace.getArea()) return;\n const target = e.target as Node | null;\n const floating = layer.element;\n if (\n target &&\n (triggerEl?.contains(target) || floating?.contains(target))\n ) {\n return;\n }\n if (grace.isInGraceArea({ x: e.clientX, y: e.clientY })) return;\n grace.clear();\n scheduleHide();\n };\n document.addEventListener(\"pointermove\", handlePointerMove);\n return () => document.removeEventListener(\"pointermove\", handlePointerMove);\n });\n\n const handleMouseEnter = (e: React.MouseEvent) => {\n if (disabled) return;\n if (followCursor) setCursor({ x: e.clientX, y: e.clientY });\n clearTimers();\n // Within a provider, moving quickly between tooltips skips the delay\n if (enterDelay <= 0 || config?.shouldSkipDelay()) {\n show();\n return;\n }\n enterTimeoutRef.current = setTimeout(show, enterDelay);\n };\n\n const handleMouseLeave = (e: React.MouseEvent) => {\n if (disabled) return;\n clearTimers();\n const rect = layer.element?.getBoundingClientRect();\n if (open && !followCursor && rect && rect.width > 0 && rect.height > 0) {\n // Heading for the tooltip: keep it open while the pointer crosses the\n // gap (pointermove above), at most HOVER_GRACE_MS.\n grace.start(\n { x: e.clientX, y: e.clientY },\n rect,\n parsePlacement(finalPlacement).side,\n );\n leaveTimeoutRef.current = setTimeout(\n hide,\n Math.max(leaveDelay, HOVER_GRACE_MS),\n );\n return;\n }\n scheduleHide();\n };\n\n // The pointer reached the tooltip: stay open until it leaves it\n const handleContentMouseEnter = () => {\n if (disabled) return;\n clearTimers();\n };\n\n // Keyboard users get the tooltip when the wrapped (interactive) child\n // receives focus. Activation keys are left alone so they still reach it.\n const handleFocus = () => {\n if (disabled) return;\n clearTimers();\n show();\n };\n\n const handleBlur = () => {\n if (disabled) return;\n clearTimers();\n hide();\n };\n\n const describedBy = visible ? tooltipId : undefined;\n\n // Point the interactive child at the tooltip; fall back to the wrapper\n // when children is not a single element (e.g. plain text).\n const isElementChild = isValidElement<TriggerChildProps>(children);\n const childProps: TriggerChildProps = isElementChild\n ? (children.props as TriggerChildProps)\n : {};\n const childDescribedBy =\n [childProps[\"aria-describedby\"], describedBy].filter(Boolean).join(\" \") ||\n undefined;\n const useChildAsTrigger = asChild && isElementChild;\n\n // The wrapper only: with asChild the child keeps its own hooks.\n const triggerHooks = hooks(\"tooltip\", \"trigger\", {\n state: visible ? \"open\" : \"closed\",\n disabled,\n });\n\n let triggerNode: React.ReactNode;\n if (useChildAsTrigger) {\n // Always render through the Slot, even when disabled: swapping between the\n // bare child and a Slot changes the element type at this position, which\n // remounts the child and drops its focus, pointer capture and any click in\n // progress (e.g. toggling `disabled` on pointerdown).\n triggerNode = (\n <Slot\n ref={setTriggerEl}\n className={className || undefined}\n onMouseEnter={disabled ? undefined : handleMouseEnter}\n onMouseLeave={disabled ? undefined : handleMouseLeave}\n onFocus={disabled ? undefined : handleFocus}\n onBlur={disabled ? undefined : handleBlur}\n >\n {cloneElement(children, { \"aria-describedby\": childDescribedBy })}\n </Slot>\n );\n } else {\n triggerNode = (\n <div\n ref={setTriggerEl}\n className={cn(styles.tooltipTrigger, className)}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n onFocus={handleFocus}\n onBlur={handleBlur}\n aria-describedby={isElementChild ? undefined : describedBy}\n {...triggerHooks}\n >\n {isElementChild\n ? cloneElement(children, { \"aria-describedby\": childDescribedBy })\n : children}\n </div>\n );\n }\n\n return (\n <>\n {triggerNode}\n {visible && (\n <Portal>\n <div\n ref={setContentRef}\n dir={layer.dir}\n id={tooltipId}\n role=\"tooltip\"\n aria-label={ariaLabel}\n {...hooks(\"tooltip\", \"content\", {\n state: \"open\",\n color,\n variant,\n shape,\n ...parsePlacement(finalPlacement),\n placement: finalPlacement,\n })}\n onMouseEnter={handleContentMouseEnter}\n onMouseLeave={followCursor || disabled ? undefined : scheduleHide}\n className={cn(\n styles.tooltip,\n styles[color],\n styles[variant],\n styles[shape],\n styles[`animation-${animation}`],\n followCursor && styles.followCursor,\n arrow && styles.arrow,\n isPositioned && styles.show,\n contentClassName,\n )}\n style={{\n ...floatingStyles,\n zIndex,\n }}\n >\n <LayerContext.Provider value={layer.element}>\n {content}\n </LayerContext.Provider>\n {arrow && (\n <div\n ref={setArrowEl}\n className={styles.tooltipArrow}\n style={arrowStyles}\n {...hooks(\"tooltip\", \"arrow\")}\n />\n )}\n </div>\n </Portal>\n )}\n </>\n );\n};\n\nexport default React.memo(Tooltip);\n"],"mappings":"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"}
|
|
@@ -121,13 +121,13 @@ var pe = 6, me = 300, f = i.memo(({ ref: i, content: f, children: p, open: he, d
|
|
|
121
121
|
state: H ? "open" : "closed",
|
|
122
122
|
disabled: b
|
|
123
123
|
}), $;
|
|
124
|
-
return $ = Fe ?
|
|
124
|
+
return $ = Fe ? /* @__PURE__ */ l(ne, {
|
|
125
125
|
ref: A,
|
|
126
126
|
className: S || void 0,
|
|
127
|
-
onMouseEnter: K,
|
|
128
|
-
onMouseLeave: q,
|
|
129
|
-
onFocus: J,
|
|
130
|
-
onBlur: Y,
|
|
127
|
+
onMouseEnter: b ? void 0 : K,
|
|
128
|
+
onMouseLeave: b ? void 0 : q,
|
|
129
|
+
onFocus: b ? void 0 : J,
|
|
130
|
+
onBlur: b ? void 0 : Y,
|
|
131
131
|
children: a(p, { "aria-describedby": Q })
|
|
132
132
|
}) : /* @__PURE__ */ l("div", {
|
|
133
133
|
ref: A,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tooltip.js","names":["styles","_Fragment","tooltip_module_default","React","Fragment$1","ARROW_GAP","HOVER_GRACE_MS","Tooltip_default","openProp","enterDelayProp","leaveDelayProp","ariaLabel","config","useTooltipConfig","enterDelay","leaveDelay","warnControlledProps","defaultOpen","open","setOpen","useControllableState","onOpenChange","triggerEl","setTriggerEl","useState","arrowEl","setArrowEl","cursor","setCursor","enterTimeoutRef","useRef","leaveTimeoutRef","tooltipId","useId","grace","createPointerGrace","clearTimers","show","onOpen","hide","onClose","ref","prev","cursorAnchor","useMemo","followCursor","isVertical","placement","gap","arrow","visible","disabled","layer","useFloatingLayer","offset","finalPlacement","setContentRef","useMergedRefs","contentRef","handleMouseMove","scheduleHide","handlePointerMove","target","floating","handleMouseEnter","handleMouseLeave","rect","parsePlacement","handleContentMouseEnter","handleFocus","handleBlur","describedBy","isElementChild","isValidElement","children","childDescribedBy","useChildAsTrigger","asChild","triggerHooks","hooks","triggerNode","Slot","className","cloneElement","cn","Portal","color","variant","shape","animation","isPositioned","contentClassName","floatingStyles","LayerContext","content","arrowStyles"],"sources":["../../../../../react/src/components/Tooltip/Tooltip.tsx"],"sourcesContent":["import React, {\n cloneElement,\n isValidElement,\n useEffect,\n useId,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { createPointerGrace, parsePlacement } from \"@minerva/dom\";\nimport { cn } from \"../../utils/cn\";\nimport { hooks } from \"../../internal/stylingHooks\";\nimport { Slot } from \"../../internal/Slot\";\nimport type { TooltipProps } from \"./types\";\nimport { useFloatingLayer } from \"../../internal/FloatingPanel\";\nimport { Portal } from \"../../internal/Portal\";\nimport type { VirtualElement } from \"../../internal/useAnchoredPosition\";\nimport { LayerContext } from \"../../internal/useDismissableLayer\";\nimport { useControllableState } from \"../../internal/useControllableState\";\nimport { warnControlledProps } from \"../../internal/devWarnings\";\nimport { useMergedRefs } from \"../../internal/mergeRefs\";\nimport { useTooltipConfig } from \"./TooltipProvider\";\nimport styles from \"./tooltip.module.scss\";\n\n/** Extra gap so the arrow does not overlap the trigger. */\nconst ARROW_GAP = 6;\n/**\n * How long the pointer may travel from the trigger to the tooltip (through\n * the gap between them) before the tooltip closes (WCAG 1.4.13 hoverable).\n */\nconst HOVER_GRACE_MS = 300;\n\ntype TriggerChildProps = {\n \"aria-describedby\"?: string;\n};\n\n/**\n * Tooltip: shows informative content when the wrapped element is hovered or\n * focused. Flips / shifts to stay inside the viewport.\n *\n * WCAG 1.4.13: dismissable with Escape (a non-modal layer: only when it is\n * the topmost one, so in an open Popover the first Escape closes the\n * tooltip only), hoverable (the pointer can move from the trigger onto the\n * tooltip through the gap between them) and persistent.\n */\nconst Tooltip = ({\n ref,\n content,\n children,\n open: openProp,\n defaultOpen,\n onOpenChange,\n placement = \"top\",\n color = \"neutral\",\n variant = \"solid\",\n shape = \"default\",\n animation = \"fade\",\n enterDelay: enterDelayProp,\n leaveDelay: leaveDelayProp,\n offset,\n disabled = false,\n followCursor = false,\n className = \"\",\n zIndex = 1500,\n arrow = false,\n onOpen,\n onClose,\n \"aria-label\": ariaLabel,\n asChild = false,\n contentClassName,\n contentRef,\n}: TooltipProps) => {\n const config = useTooltipConfig();\n const enterDelay = enterDelayProp ?? config?.enterDelay ?? 200;\n const leaveDelay = leaveDelayProp ?? config?.leaveDelay ?? 0;\n if (process.env.NODE_ENV !== \"production\") {\n warnControlledProps(\"Tooltip\", {\n prop: \"open\",\n value: openProp,\n defaultProp: \"defaultOpen\",\n defaultValue: defaultOpen,\n });\n }\n const [open, setOpen] = useControllableState({\n value: openProp,\n defaultValue: defaultOpen ?? false,\n onChange: onOpenChange,\n name: \"Tooltip\",\n prop: \"open\",\n });\n const [triggerEl, setTriggerEl] = useState<HTMLElement | null>(null);\n const [arrowEl, setArrowEl] = useState<HTMLDivElement | null>(null);\n const [cursor, setCursor] = useState<{ x: number; y: number } | null>(null);\n const enterTimeoutRef = useRef<ReturnType<typeof setTimeout> | undefined>(\n undefined,\n );\n const leaveTimeoutRef = useRef<ReturnType<typeof setTimeout> | undefined>(\n undefined,\n );\n const tooltipId = `tooltip-${useId().replace(/:/g, \"\")}`;\n\n // Pointer travelling from the trigger towards the tooltip\n const [grace] = useState(() => createPointerGrace({ timeout: 0 }));\n\n const clearTimers = () => {\n clearTimeout(enterTimeoutRef.current);\n clearTimeout(leaveTimeoutRef.current);\n grace.clear();\n };\n useEffect(\n () => () => {\n clearTimeout(enterTimeoutRef.current);\n clearTimeout(leaveTimeoutRef.current);\n },\n [],\n );\n\n const show = () => {\n if (open) return;\n setOpen(true);\n onOpen?.();\n };\n const hide = () => {\n if (!open) return;\n config?.markClosed();\n setOpen(false);\n onClose?.();\n };\n\n useImperativeHandle(\n ref,\n () => ({\n open: () => setOpen(true),\n close: () => setOpen(false),\n toggle: () => setOpen((prev) => !prev),\n }),\n [setOpen],\n );\n\n // A virtual element at the cursor position when following the cursor\n const cursorAnchor = useMemo<VirtualElement | null>(\n () =>\n followCursor && cursor\n ? {\n getBoundingClientRect: () =>\n DOMRect.fromRect({\n x: cursor.x,\n y: cursor.y,\n width: 0,\n height: 0,\n }),\n }\n : null,\n [followCursor, cursor],\n );\n\n const isVertical =\n placement.startsWith(\"top\") || placement.startsWith(\"bottom\");\n const gap = arrow ? ARROW_GAP : 0;\n const visible = open && !disabled;\n const layer = useFloatingLayer({\n open: visible,\n anchor: cursorAnchor ?? triggerEl,\n placement,\n offset: offset\n ? {\n mainAxis: (isVertical ? offset[1] : offset[0]) + gap,\n crossAxis: isVertical ? offset[0] : offset[1],\n }\n : { mainAxis: 8 + gap },\n arrowElement: arrow ? arrowEl : null,\n branches: () => [triggerEl],\n // Escape only (topmost layer); hover / focus handle the rest\n dismissOnPointerDownOutside: false,\n dismissOnFocusOutside: false,\n onDismiss: () => {\n clearTimers();\n hide();\n },\n });\n const {\n floatingStyles,\n placement: finalPlacement,\n isPositioned,\n arrowStyles,\n } = layer;\n const setContentRef = useMergedRefs<HTMLElement>(\n layer.ref,\n contentRef as React.Ref<HTMLElement>,\n );\n\n // Track the cursor while open (followCursor)\n useEffect(() => {\n if (!followCursor || !open) return;\n const handleMouseMove = (e: MouseEvent) =>\n setCursor({ x: e.clientX, y: e.clientY });\n document.addEventListener(\"mousemove\", handleMouseMove);\n return () => document.removeEventListener(\"mousemove\", handleMouseMove);\n }, [followCursor, open]);\n\n const scheduleHide = () => {\n clearTimeout(leaveTimeoutRef.current);\n leaveTimeoutRef.current = setTimeout(hide, leaveDelay);\n };\n\n // Hoverable (WCAG 1.4.13): while the pointer heads from the trigger to the\n // tooltip through the gap between them, keep it open.\n useEffect(() => {\n if (!open || followCursor) return;\n const handlePointerMove = (e: PointerEvent) => {\n if (!grace.getArea()) return;\n const target = e.target as Node | null;\n const floating = layer.element;\n if (\n target &&\n (triggerEl?.contains(target) || floating?.contains(target))\n ) {\n return;\n }\n if (grace.isInGraceArea({ x: e.clientX, y: e.clientY })) return;\n grace.clear();\n scheduleHide();\n };\n document.addEventListener(\"pointermove\", handlePointerMove);\n return () => document.removeEventListener(\"pointermove\", handlePointerMove);\n });\n\n const handleMouseEnter = (e: React.MouseEvent) => {\n if (disabled) return;\n if (followCursor) setCursor({ x: e.clientX, y: e.clientY });\n clearTimers();\n // Within a provider, moving quickly between tooltips skips the delay\n if (enterDelay <= 0 || config?.shouldSkipDelay()) {\n show();\n return;\n }\n enterTimeoutRef.current = setTimeout(show, enterDelay);\n };\n\n const handleMouseLeave = (e: React.MouseEvent) => {\n if (disabled) return;\n clearTimers();\n const rect = layer.element?.getBoundingClientRect();\n if (open && !followCursor && rect && rect.width > 0 && rect.height > 0) {\n // Heading for the tooltip: keep it open while the pointer crosses the\n // gap (pointermove above), at most HOVER_GRACE_MS.\n grace.start(\n { x: e.clientX, y: e.clientY },\n rect,\n parsePlacement(finalPlacement).side,\n );\n leaveTimeoutRef.current = setTimeout(\n hide,\n Math.max(leaveDelay, HOVER_GRACE_MS),\n );\n return;\n }\n scheduleHide();\n };\n\n // The pointer reached the tooltip: stay open until it leaves it\n const handleContentMouseEnter = () => {\n if (disabled) return;\n clearTimers();\n };\n\n // Keyboard users get the tooltip when the wrapped (interactive) child\n // receives focus. Activation keys are left alone so they still reach it.\n const handleFocus = () => {\n if (disabled) return;\n clearTimers();\n show();\n };\n\n const handleBlur = () => {\n if (disabled) return;\n clearTimers();\n hide();\n };\n\n const describedBy = visible ? tooltipId : undefined;\n\n // Point the interactive child at the tooltip; fall back to the wrapper\n // when children is not a single element (e.g. plain text).\n const isElementChild = isValidElement<TriggerChildProps>(children);\n const childProps: TriggerChildProps = isElementChild\n ? (children.props as TriggerChildProps)\n : {};\n const childDescribedBy =\n [childProps[\"aria-describedby\"], describedBy].filter(Boolean).join(\" \") ||\n undefined;\n const useChildAsTrigger = asChild && isElementChild;\n\n // The wrapper only: with asChild the child keeps its own hooks.\n const triggerHooks = hooks(\"tooltip\", \"trigger\", {\n state: visible ? \"open\" : \"closed\",\n disabled,\n });\n\n let triggerNode: React.ReactNode;\n if (useChildAsTrigger) {\n // Disabled: render the child untouched (no handlers, no state hooks)\n triggerNode = disabled ? (\n children\n ) : (\n <Slot\n ref={setTriggerEl}\n className={className || undefined}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n onFocus={handleFocus}\n onBlur={handleBlur}\n >\n {cloneElement(children, { \"aria-describedby\": childDescribedBy })}\n </Slot>\n );\n } else {\n triggerNode = (\n <div\n ref={setTriggerEl}\n className={cn(styles.tooltipTrigger, className)}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n onFocus={handleFocus}\n onBlur={handleBlur}\n aria-describedby={isElementChild ? undefined : describedBy}\n {...triggerHooks}\n >\n {isElementChild\n ? cloneElement(children, { \"aria-describedby\": childDescribedBy })\n : children}\n </div>\n );\n }\n\n return (\n <>\n {triggerNode}\n {visible && (\n <Portal>\n <div\n ref={setContentRef}\n dir={layer.dir}\n id={tooltipId}\n role=\"tooltip\"\n aria-label={ariaLabel}\n {...hooks(\"tooltip\", \"content\", {\n state: \"open\",\n color,\n variant,\n shape,\n ...parsePlacement(finalPlacement),\n placement: finalPlacement,\n })}\n onMouseEnter={handleContentMouseEnter}\n onMouseLeave={followCursor || disabled ? undefined : scheduleHide}\n className={cn(\n styles.tooltip,\n styles[color],\n styles[variant],\n styles[shape],\n styles[`animation-${animation}`],\n followCursor && styles.followCursor,\n arrow && styles.arrow,\n isPositioned && styles.show,\n contentClassName,\n )}\n style={{\n ...floatingStyles,\n zIndex,\n }}\n >\n <LayerContext.Provider value={layer.element}>\n {content}\n </LayerContext.Provider>\n {arrow && (\n <div\n ref={setArrowEl}\n className={styles.tooltipArrow}\n style={arrowStyles}\n {...hooks(\"tooltip\", \"arrow\")}\n />\n )}\n </div>\n </Portal>\n )}\n </>\n );\n};\n\nexport default React.memo(Tooltip);\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Tooltip.js","names":["styles","_Fragment","tooltip_module_default","React","Fragment$1","ARROW_GAP","HOVER_GRACE_MS","Tooltip_default","openProp","enterDelayProp","leaveDelayProp","ariaLabel","config","useTooltipConfig","enterDelay","leaveDelay","warnControlledProps","defaultOpen","open","setOpen","useControllableState","onOpenChange","triggerEl","setTriggerEl","useState","arrowEl","setArrowEl","cursor","setCursor","enterTimeoutRef","useRef","leaveTimeoutRef","tooltipId","useId","grace","createPointerGrace","clearTimers","show","onOpen","hide","onClose","ref","prev","cursorAnchor","useMemo","followCursor","isVertical","placement","gap","arrow","visible","disabled","layer","useFloatingLayer","offset","finalPlacement","setContentRef","useMergedRefs","contentRef","handleMouseMove","scheduleHide","handlePointerMove","target","floating","handleMouseEnter","handleMouseLeave","rect","parsePlacement","handleContentMouseEnter","handleFocus","handleBlur","describedBy","isElementChild","isValidElement","children","childDescribedBy","useChildAsTrigger","asChild","triggerHooks","hooks","triggerNode","Slot","className","cloneElement","cn","Portal","color","variant","shape","animation","isPositioned","contentClassName","floatingStyles","LayerContext","content","arrowStyles"],"sources":["../../../../../react/src/components/Tooltip/Tooltip.tsx"],"sourcesContent":["import React, {\n cloneElement,\n isValidElement,\n useEffect,\n useId,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { createPointerGrace, parsePlacement } from \"@minerva/dom\";\nimport { cn } from \"../../utils/cn\";\nimport { hooks } from \"../../internal/stylingHooks\";\nimport { Slot } from \"../../internal/Slot\";\nimport type { TooltipProps } from \"./types\";\nimport { useFloatingLayer } from \"../../internal/FloatingPanel\";\nimport { Portal } from \"../../internal/Portal\";\nimport type { VirtualElement } from \"../../internal/useAnchoredPosition\";\nimport { LayerContext } from \"../../internal/useDismissableLayer\";\nimport { useControllableState } from \"../../internal/useControllableState\";\nimport { warnControlledProps } from \"../../internal/devWarnings\";\nimport { useMergedRefs } from \"../../internal/mergeRefs\";\nimport { useTooltipConfig } from \"./TooltipProvider\";\nimport styles from \"./tooltip.module.scss\";\n\n/** Extra gap so the arrow does not overlap the trigger. */\nconst ARROW_GAP = 6;\n/**\n * How long the pointer may travel from the trigger to the tooltip (through\n * the gap between them) before the tooltip closes (WCAG 1.4.13 hoverable).\n */\nconst HOVER_GRACE_MS = 300;\n\ntype TriggerChildProps = {\n \"aria-describedby\"?: string;\n};\n\n/**\n * Tooltip: shows informative content when the wrapped element is hovered or\n * focused. Flips / shifts to stay inside the viewport.\n *\n * WCAG 1.4.13: dismissable with Escape (a non-modal layer: only when it is\n * the topmost one, so in an open Popover the first Escape closes the\n * tooltip only), hoverable (the pointer can move from the trigger onto the\n * tooltip through the gap between them) and persistent.\n */\nconst Tooltip = ({\n ref,\n content,\n children,\n open: openProp,\n defaultOpen,\n onOpenChange,\n placement = \"top\",\n color = \"neutral\",\n variant = \"solid\",\n shape = \"default\",\n animation = \"fade\",\n enterDelay: enterDelayProp,\n leaveDelay: leaveDelayProp,\n offset,\n disabled = false,\n followCursor = false,\n className = \"\",\n zIndex = 1500,\n arrow = false,\n onOpen,\n onClose,\n \"aria-label\": ariaLabel,\n asChild = false,\n contentClassName,\n contentRef,\n}: TooltipProps) => {\n const config = useTooltipConfig();\n const enterDelay = enterDelayProp ?? config?.enterDelay ?? 200;\n const leaveDelay = leaveDelayProp ?? config?.leaveDelay ?? 0;\n if (process.env.NODE_ENV !== \"production\") {\n warnControlledProps(\"Tooltip\", {\n prop: \"open\",\n value: openProp,\n defaultProp: \"defaultOpen\",\n defaultValue: defaultOpen,\n });\n }\n const [open, setOpen] = useControllableState({\n value: openProp,\n defaultValue: defaultOpen ?? false,\n onChange: onOpenChange,\n name: \"Tooltip\",\n prop: \"open\",\n });\n const [triggerEl, setTriggerEl] = useState<HTMLElement | null>(null);\n const [arrowEl, setArrowEl] = useState<HTMLDivElement | null>(null);\n const [cursor, setCursor] = useState<{ x: number; y: number } | null>(null);\n const enterTimeoutRef = useRef<ReturnType<typeof setTimeout> | undefined>(\n undefined,\n );\n const leaveTimeoutRef = useRef<ReturnType<typeof setTimeout> | undefined>(\n undefined,\n );\n const tooltipId = `tooltip-${useId().replace(/:/g, \"\")}`;\n\n // Pointer travelling from the trigger towards the tooltip\n const [grace] = useState(() => createPointerGrace({ timeout: 0 }));\n\n const clearTimers = () => {\n clearTimeout(enterTimeoutRef.current);\n clearTimeout(leaveTimeoutRef.current);\n grace.clear();\n };\n useEffect(\n () => () => {\n clearTimeout(enterTimeoutRef.current);\n clearTimeout(leaveTimeoutRef.current);\n },\n [],\n );\n\n const show = () => {\n if (open) return;\n setOpen(true);\n onOpen?.();\n };\n const hide = () => {\n if (!open) return;\n config?.markClosed();\n setOpen(false);\n onClose?.();\n };\n\n useImperativeHandle(\n ref,\n () => ({\n open: () => setOpen(true),\n close: () => setOpen(false),\n toggle: () => setOpen((prev) => !prev),\n }),\n [setOpen],\n );\n\n // A virtual element at the cursor position when following the cursor\n const cursorAnchor = useMemo<VirtualElement | null>(\n () =>\n followCursor && cursor\n ? {\n getBoundingClientRect: () =>\n DOMRect.fromRect({\n x: cursor.x,\n y: cursor.y,\n width: 0,\n height: 0,\n }),\n }\n : null,\n [followCursor, cursor],\n );\n\n const isVertical =\n placement.startsWith(\"top\") || placement.startsWith(\"bottom\");\n const gap = arrow ? ARROW_GAP : 0;\n const visible = open && !disabled;\n const layer = useFloatingLayer({\n open: visible,\n anchor: cursorAnchor ?? triggerEl,\n placement,\n offset: offset\n ? {\n mainAxis: (isVertical ? offset[1] : offset[0]) + gap,\n crossAxis: isVertical ? offset[0] : offset[1],\n }\n : { mainAxis: 8 + gap },\n arrowElement: arrow ? arrowEl : null,\n branches: () => [triggerEl],\n // Escape only (topmost layer); hover / focus handle the rest\n dismissOnPointerDownOutside: false,\n dismissOnFocusOutside: false,\n onDismiss: () => {\n clearTimers();\n hide();\n },\n });\n const {\n floatingStyles,\n placement: finalPlacement,\n isPositioned,\n arrowStyles,\n } = layer;\n const setContentRef = useMergedRefs<HTMLElement>(\n layer.ref,\n contentRef as React.Ref<HTMLElement>,\n );\n\n // Track the cursor while open (followCursor)\n useEffect(() => {\n if (!followCursor || !open) return;\n const handleMouseMove = (e: MouseEvent) =>\n setCursor({ x: e.clientX, y: e.clientY });\n document.addEventListener(\"mousemove\", handleMouseMove);\n return () => document.removeEventListener(\"mousemove\", handleMouseMove);\n }, [followCursor, open]);\n\n const scheduleHide = () => {\n clearTimeout(leaveTimeoutRef.current);\n leaveTimeoutRef.current = setTimeout(hide, leaveDelay);\n };\n\n // Hoverable (WCAG 1.4.13): while the pointer heads from the trigger to the\n // tooltip through the gap between them, keep it open.\n useEffect(() => {\n if (!open || followCursor) return;\n const handlePointerMove = (e: PointerEvent) => {\n if (!grace.getArea()) return;\n const target = e.target as Node | null;\n const floating = layer.element;\n if (\n target &&\n (triggerEl?.contains(target) || floating?.contains(target))\n ) {\n return;\n }\n if (grace.isInGraceArea({ x: e.clientX, y: e.clientY })) return;\n grace.clear();\n scheduleHide();\n };\n document.addEventListener(\"pointermove\", handlePointerMove);\n return () => document.removeEventListener(\"pointermove\", handlePointerMove);\n });\n\n const handleMouseEnter = (e: React.MouseEvent) => {\n if (disabled) return;\n if (followCursor) setCursor({ x: e.clientX, y: e.clientY });\n clearTimers();\n // Within a provider, moving quickly between tooltips skips the delay\n if (enterDelay <= 0 || config?.shouldSkipDelay()) {\n show();\n return;\n }\n enterTimeoutRef.current = setTimeout(show, enterDelay);\n };\n\n const handleMouseLeave = (e: React.MouseEvent) => {\n if (disabled) return;\n clearTimers();\n const rect = layer.element?.getBoundingClientRect();\n if (open && !followCursor && rect && rect.width > 0 && rect.height > 0) {\n // Heading for the tooltip: keep it open while the pointer crosses the\n // gap (pointermove above), at most HOVER_GRACE_MS.\n grace.start(\n { x: e.clientX, y: e.clientY },\n rect,\n parsePlacement(finalPlacement).side,\n );\n leaveTimeoutRef.current = setTimeout(\n hide,\n Math.max(leaveDelay, HOVER_GRACE_MS),\n );\n return;\n }\n scheduleHide();\n };\n\n // The pointer reached the tooltip: stay open until it leaves it\n const handleContentMouseEnter = () => {\n if (disabled) return;\n clearTimers();\n };\n\n // Keyboard users get the tooltip when the wrapped (interactive) child\n // receives focus. Activation keys are left alone so they still reach it.\n const handleFocus = () => {\n if (disabled) return;\n clearTimers();\n show();\n };\n\n const handleBlur = () => {\n if (disabled) return;\n clearTimers();\n hide();\n };\n\n const describedBy = visible ? tooltipId : undefined;\n\n // Point the interactive child at the tooltip; fall back to the wrapper\n // when children is not a single element (e.g. plain text).\n const isElementChild = isValidElement<TriggerChildProps>(children);\n const childProps: TriggerChildProps = isElementChild\n ? (children.props as TriggerChildProps)\n : {};\n const childDescribedBy =\n [childProps[\"aria-describedby\"], describedBy].filter(Boolean).join(\" \") ||\n undefined;\n const useChildAsTrigger = asChild && isElementChild;\n\n // The wrapper only: with asChild the child keeps its own hooks.\n const triggerHooks = hooks(\"tooltip\", \"trigger\", {\n state: visible ? \"open\" : \"closed\",\n disabled,\n });\n\n let triggerNode: React.ReactNode;\n if (useChildAsTrigger) {\n // Always render through the Slot, even when disabled: swapping between the\n // bare child and a Slot changes the element type at this position, which\n // remounts the child and drops its focus, pointer capture and any click in\n // progress (e.g. toggling `disabled` on pointerdown).\n triggerNode = (\n <Slot\n ref={setTriggerEl}\n className={className || undefined}\n onMouseEnter={disabled ? undefined : handleMouseEnter}\n onMouseLeave={disabled ? undefined : handleMouseLeave}\n onFocus={disabled ? undefined : handleFocus}\n onBlur={disabled ? undefined : handleBlur}\n >\n {cloneElement(children, { \"aria-describedby\": childDescribedBy })}\n </Slot>\n );\n } else {\n triggerNode = (\n <div\n ref={setTriggerEl}\n className={cn(styles.tooltipTrigger, className)}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n onFocus={handleFocus}\n onBlur={handleBlur}\n aria-describedby={isElementChild ? undefined : describedBy}\n {...triggerHooks}\n >\n {isElementChild\n ? cloneElement(children, { \"aria-describedby\": childDescribedBy })\n : children}\n </div>\n );\n }\n\n return (\n <>\n {triggerNode}\n {visible && (\n <Portal>\n <div\n ref={setContentRef}\n dir={layer.dir}\n id={tooltipId}\n role=\"tooltip\"\n aria-label={ariaLabel}\n {...hooks(\"tooltip\", \"content\", {\n state: \"open\",\n color,\n variant,\n shape,\n ...parsePlacement(finalPlacement),\n placement: finalPlacement,\n })}\n onMouseEnter={handleContentMouseEnter}\n onMouseLeave={followCursor || disabled ? undefined : scheduleHide}\n className={cn(\n styles.tooltip,\n styles[color],\n styles[variant],\n styles[shape],\n styles[`animation-${animation}`],\n followCursor && styles.followCursor,\n arrow && styles.arrow,\n isPositioned && styles.show,\n contentClassName,\n )}\n style={{\n ...floatingStyles,\n zIndex,\n }}\n >\n <LayerContext.Provider value={layer.element}>\n {content}\n </LayerContext.Provider>\n {arrow && (\n <div\n ref={setArrowEl}\n className={styles.tooltipArrow}\n style={arrowStyles}\n {...hooks(\"tooltip\", \"arrow\")}\n />\n )}\n </div>\n </Portal>\n )}\n </>\n );\n};\n\nexport default React.memo(Tooltip);\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";const e=require("./Avatar/Avatar.cjs"),t=require("./Avatar/AvatarGroup.cjs");require("./Avatar/index.cjs");const n=require("./Badge/Badge.cjs");require("./Badge/index.cjs");const r=require("./Button/Button.cjs");require("./Button/index.cjs");const i=require("./Card/Card.cjs");require("./Card/index.cjs");const a=require("./ProgressIndicator/ProgressIndicator.cjs");require("./ProgressIndicator/index.cjs");const o=require("./FormControl/context.cjs"),s=require("./Checkbox/Checkbox.cjs");require("./Checkbox/index.cjs");const c=require("./Tooltip/TooltipProvider.cjs"),l=require("./Tooltip/Tooltip.cjs");require("./Tooltip/index.cjs");const u=require("./IconButton/IconButton.cjs");require("./IconButton/index.cjs");const d=require("./Input/Input.cjs");require("./Input/index.cjs");const
|
|
1
|
+
"use client";const e=require("./Avatar/Avatar.cjs"),t=require("./Avatar/AvatarGroup.cjs");require("./Avatar/index.cjs");const n=require("./Badge/Badge.cjs");require("./Badge/index.cjs");const r=require("./Button/Button.cjs");require("./Button/index.cjs");const i=require("./Card/Card.cjs");require("./Card/index.cjs");const a=require("./ProgressIndicator/ProgressIndicator.cjs");require("./ProgressIndicator/index.cjs");const o=require("./FormControl/context.cjs"),s=require("./Checkbox/Checkbox.cjs");require("./Checkbox/index.cjs");const c=require("./Tooltip/TooltipProvider.cjs"),l=require("./Tooltip/Tooltip.cjs");require("./Tooltip/index.cjs");const u=require("./IconButton/IconButton.cjs");require("./IconButton/index.cjs");const d=require("./Input/Input.cjs");require("./Input/index.cjs");const ee=require("./TimePicker/TimePicker.cjs");require("./TimePicker/index.cjs");const te=require("./Radio/RadioGroup.cjs"),ne=require("./Radio/Radio.cjs");require("./Radio/index.cjs");const re=require("./VirtualList/VirtualList.cjs");require("./VirtualList/index.cjs");const ie=require("./Empty/Empty.cjs");require("./Empty/index.cjs");const ae=require("./AutoComplete/AutoComplete.cjs");require("./AutoComplete/index.cjs");const f=require("./Cascader/Cascader.cjs");require("./Cascader/index.cjs");const p=require("./Skeleton/Skeleton.cjs"),m=require("./Skeleton/SkeletonText.cjs");require("./Skeleton/index.cjs");const h=require("./Alert/Alert.cjs");require("./Alert/index.cjs");const g=require("./Divider/Divider.cjs");require("./Divider/index.cjs");const _=require("./Tag/Tag.cjs");require("./Tag/index.cjs");const v=require("./Switch/Switch.cjs");require("./Switch/index.cjs");const y=require("./Pagination/Pagination.cjs");require("./Pagination/index.cjs");const b=require("./ThemeToggle/ThemeToggle.cjs"),x=require("./ThemeToggle/PaletteToggle.cjs");require("./ThemeToggle/index.cjs");const S=require("./Modal/Modal.cjs");require("./Modal/index.cjs");const C=require("./Confirm/Confirm.cjs");require("./Confirm/index.cjs");const w=require("./Drawer/Drawer.cjs");require("./Drawer/index.cjs");const T=require("./Command/Command.cjs");require("./Command/index.cjs");const E=require("./Popover/Popover.cjs");require("./Popover/index.cjs");const D=require("./Box/Box.cjs");require("./Box/index.cjs");const O=require("./Stack/Stack.cjs");require("./Stack/index.cjs");const k=require("./ResponsiveGrid/ResponsiveGrid.cjs"),A=require("./ResponsiveGrid/GridItem.cjs");require("./ResponsiveGrid/index.cjs");const j=require("./SplitLayout/SplitLayout.cjs");require("./SplitLayout/index.cjs");const M=require("./Page/Page.cjs");require("./Page/index.cjs");const N=require("./AppShell/AppShell.cjs");require("./AppShell/index.cjs");const P=require("./Menu/Menu.cjs"),F=require("./Menu/ContextMenu.cjs");require("./Menu/index.cjs");const I=require("./Toast/store.cjs"),L=require("./Toast/Toast.cjs");require("./Toast/index.cjs");const R=require("./PageTabs/PageTabs.cjs");require("./PageTabs/index.cjs");const z=require("./FormControl/FormControl.cjs");require("./FormControl/index.cjs");const B=require("./FormLayout/FormLayout.cjs");require("./FormLayout/index.cjs");const V=require("./Textarea/Textarea.cjs");require("./Textarea/index.cjs");const H=require("./NumberInput/NumberInput.cjs");require("./NumberInput/index.cjs");const U=require("./JsonField/JsonField.cjs");require("./JsonField/index.cjs");const W=require("./KeyValueEditor/KeyValueEditor.cjs");require("./KeyValueEditor/index.cjs");const G=require("./TagInput/TagInput.cjs");require("./TagInput/index.cjs");const K=require("./LoadingState/LoadingState.cjs");require("./LoadingState/index.cjs");const q=require("./TextLink/TextLink.cjs");require("./TextLink/index.cjs");const J=require("./DescriptionList/DescriptionList.cjs");require("./DescriptionList/index.cjs");const oe=require("./List/List.cjs"),se=require("./List/ListItem.cjs");require("./List/index.cjs");const ce=require("./CodeBlock/CodeBlock.cjs");require("./CodeBlock/index.cjs");const le=require("./Prose/Prose.cjs");require("./Prose/index.cjs");const ue=require("./Table/fixedColumns.cjs"),Y=require("./Table/Table.cjs"),de=require("./Table/DataTable.cjs"),fe=require("./Table/TableCellContent.cjs");require("./Table/index.cjs");const pe=require("./NavTree/NavTree.cjs");require("./NavTree/index.cjs");const X=require("./Tabs/Tabs.cjs");require("./Tabs/index.cjs");const me=require("./HtmlPreview/HtmlPreview.cjs");require("./HtmlPreview/index.cjs");const he=require("./Steps/Steps.cjs");require("./Steps/index.cjs");const ge=require("./Upload/Upload.cjs");require("./Upload/index.cjs");const Z=require("./Select/Select.cjs");require("./Select/index.cjs");const Q=require("./Rating/Rating.cjs");require("./Rating/index.cjs");const _e=require("./MonthCalendar/MonthCalendar.cjs");require("./MonthCalendar/index.cjs");const ve=require("./DatePicker/DatePicker.cjs");require("./DatePicker/index.cjs");let $=require("../../core/index.cjs");exports.Alert=h.default,exports.AppShell=N.default,exports.AutoComplete=ae.default,exports.Avatar=e.default,exports.AvatarGroup=t.default,exports.Badge=n.Badge,exports.Box=D.default,exports.Button=r.default,exports.Card=i.Card,exports.CardContent=i.CardContent,exports.CardDescription=i.CardDescription,exports.CardFooter=i.CardFooter,exports.CardHeader=i.CardHeader,exports.CardTitle=i.CardTitle,exports.Cascader=f.default,exports.Checkbox=s.default,exports.CodeBlock=ce.CodeBlock,exports.CommandDialog=T.CommandDialog,exports.ConfirmDialog=C.ConfirmDialog,exports.ConfirmProvider=C.ConfirmProvider,exports.ContextMenu=F.default,exports.DataTable=de.DataTable,exports.DatePicker=ve.default,exports.DescriptionList=J.DescriptionList,exports.Divider=g.default,exports.Drawer=w.Drawer,exports.DrawerBody=w.DrawerBody,exports.DrawerClose=w.DrawerClose,exports.DrawerContent=w.DrawerContent,exports.DrawerFooter=w.DrawerFooter,exports.DrawerHeader=w.DrawerHeader,exports.DrawerRoot=w.DrawerRoot,exports.DrawerTrigger=w.DrawerTrigger,exports.Empty=ie.default,exports.FormControl=z.FormControl,exports.FormErrorMessage=z.FormErrorMessage,exports.FormField=z.FormField,exports.FormHelperText=z.FormHelperText,exports.FormLabel=z.FormLabel,exports.FormLayout=B.FormLayout,exports.GridItem=A.default,exports.HStack=O.HStack,exports.HtmlPreview=me.HtmlPreview,exports.IconButton=u.default,exports.Input=d.Input,exports.JsonField=U.JsonField,exports.KeyValueEditor=W.KeyValueEditor,exports.List=oe.List,exports.ListItem=se.ListItem,exports.LoadingState=K.LoadingState,exports.Menu=P.default,exports.Modal=S.Modal,exports.ModalBody=S.ModalBody,exports.ModalClose=S.ModalClose,exports.ModalContent=S.ModalContent,exports.ModalFooter=S.ModalFooter,exports.ModalHeader=S.ModalHeader,exports.ModalRoot=S.ModalRoot,exports.ModalTrigger=S.ModalTrigger,exports.MonthCalendar=_e.MonthCalendar,exports.NavTree=pe.NavTree,exports.NumberInput=H.NumberInput,exports.Page=M.Page,exports.PageHeader=M.PageHeader,exports.PageSection=M.PageSection,exports.PageTab=R.PageTab,exports.PageTabs=R.PageTabs,exports.Pagination=y.default,exports.PaletteToggle=x.default,exports.Popover=E.Popover,exports.PopoverAnchor=E.PopoverAnchor,exports.PopoverClose=E.PopoverClose,exports.PopoverContent=E.PopoverContent,exports.PopoverTrigger=E.PopoverTrigger,exports.ProgressIndicator=a.default,exports.Prose=le.Prose,exports.Radio=ne.default,exports.RadioGroup=te.default,exports.Rating=Q.Rating,exports.RatingScale=Q.RatingScale,exports.ResponsiveGrid=k.default,exports.Select=Z.Select,exports.SelectGroup=Z.SelectGroup,exports.SelectItem=Z.SelectItem,exports.SelectLabel=Z.SelectLabel,exports.SelectSeparator=Z.SelectSeparator,exports.Skeleton=p.default,exports.SkeletonText=m.SkeletonText,exports.SplitLayout=j.default,exports.Stack=O.Stack,exports.StatCard=M.StatCard,exports.Steps=he.default,exports.Switch=v.default,exports.Tab=X.Tab,exports.TabList=X.TabList,exports.TabPanel=X.TabPanel,exports.Table=Y.Table,exports.TableBody=Y.TableBody,exports.TableCell=Y.TableCell,exports.TableCellContent=fe.TableCellContent,exports.TableHead=Y.TableHead,exports.TableHeader=Y.TableHeader,exports.TableRoot=Y.TableRoot,exports.TableRow=Y.TableRow,exports.Tabs=X.Tabs,exports.Tag=_.default,exports.TagInput=G.TagInput,exports.TextLink=q.TextLink,exports.Textarea=V.Textarea,exports.ThemeToggle=b.default,exports.TimePicker=ee.default,exports.ToastProvider=L.default,exports.Toolbar=M.Toolbar,exports.Tooltip=l.default,exports.TooltipProvider=c.default,exports.Upload=ge.default,exports.VStack=O.VStack,exports.VirtualList=re.default,exports.computeFixedColumnLayout=ue.computeFixedColumnLayout,exports.confirm=C.confirm,exports.matchesShortcut=$.matchesShortcut,exports.normalizeShortcuts=$.normalizeShortcuts,exports.toast=I.toast,exports.useConfirm=C.useConfirm,exports.useFormControlContext=o.useFormControlContext,exports.useFormControlProps=o.useFormControlProps,exports.useToast=L.useToast;
|
|
@@ -128,4 +128,6 @@ import { Rating as ht, RatingScale as gt } from "./Rating/Rating.js";
|
|
|
128
128
|
import "./Rating/index.js";
|
|
129
129
|
import { MonthCalendar as _t } from "./MonthCalendar/MonthCalendar.js";
|
|
130
130
|
import "./MonthCalendar/index.js";
|
|
131
|
-
|
|
131
|
+
import vt from "./DatePicker/DatePicker.js";
|
|
132
|
+
import "./DatePicker/index.js";
|
|
133
|
+
export { D as Alert, be as AppShell, C as AutoComplete, e as Avatar, t as AvatarGroup, n as Badge, ce as Box, r as Button, i as Card, a as CardContent, o as CardDescription, s as CardFooter, c as CardHeader, l as CardTitle, w as Cascader, p as Checkbox, We as CodeBlock, ee as CommandDialog, H as ConfirmDialog, U as ConfirmProvider, Se as ContextMenu, et as DataTable, vt as DatePicker, Ve as DescriptionList, O as Divider, K as Drawer, q as DrawerBody, J as DrawerClose, Y as DrawerContent, X as DrawerFooter, Z as DrawerHeader, Q as DrawerRoot, $ as DrawerTrigger, S as Empty, Oe as FormControl, ke as FormErrorMessage, Ae as FormField, je as FormHelperText, Me as FormLabel, Ne as FormLayout, pe as GridItem, le as HStack, st as HtmlPreview, g as IconButton, _ as Input, Ie as JsonField, Le as KeyValueEditor, He as List, Ue as ListItem, ze as LoadingState, xe as Menu, P as Modal, F as ModalBody, I as ModalClose, L as ModalContent, R as ModalFooter, z as ModalHeader, B as ModalRoot, V as ModalTrigger, _t as MonthCalendar, nt as NavTree, Fe as NumberInput, he as Page, ge as PageHeader, _e as PageSection, Ee as PageTab, De as PageTabs, j as Pagination, N as PaletteToggle, re as Popover, ie as PopoverAnchor, ae as PopoverClose, oe as PopoverContent, se as PopoverTrigger, u as ProgressIndicator, Ge as Prose, b as Radio, y as RadioGroup, ht as Rating, gt as RatingScale, fe as ResponsiveGrid, ut as Select, dt as SelectGroup, ft as SelectItem, pt as SelectLabel, mt as SelectSeparator, T as Skeleton, E as SkeletonText, me as SplitLayout, ue as Stack, ve as StatCard, ct as Steps, A as Switch, rt as Tab, it as TabList, at as TabPanel, qe as Table, Je as TableBody, Ye as TableCell, tt as TableCellContent, Xe as TableHead, Ze as TableHeader, Qe as TableRoot, $e as TableRow, ot as Tabs, k as Tag, Re as TagInput, Be as TextLink, Pe as Textarea, M as ThemeToggle, v as TimePicker, we as ToastProvider, ye as Toolbar, h as Tooltip, m as TooltipProvider, lt as Upload, de as VStack, x as VirtualList, Ke as computeFixedColumnLayout, W as confirm, te as matchesShortcut, ne as normalizeShortcuts, Ce as toast, G as useConfirm, d as useFormControlContext, f as useFormControlProps, Te as useToast };
|
package/dist/react/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});/* empty css */const e=require("./hooks/useI18n.cjs"),t=require("./components/Avatar/Avatar.cjs"),n=require("./components/Avatar/AvatarGroup.cjs"),r=require("./components/Badge/Badge.cjs"),i=require("./components/Button/Button.cjs"),a=require("./components/Card/Card.cjs"),o=require("./components/ProgressIndicator/ProgressIndicator.cjs"),s=require("./components/FormControl/context.cjs"),c=require("./components/Checkbox/Checkbox.cjs"),l=require("./components/Tooltip/TooltipProvider.cjs"),u=require("./components/Tooltip/Tooltip.cjs"),d=require("./components/IconButton/IconButton.cjs"),f=require("./components/Input/Input.cjs"),p=require("./components/TimePicker/TimePicker.cjs"),ee=require("./components/Radio/RadioGroup.cjs"),te=require("./components/Radio/Radio.cjs"),ne=require("./components/VirtualList/VirtualList.cjs"),re=require("./components/Empty/Empty.cjs"),ie=require("./components/AutoComplete/AutoComplete.cjs"),ae=require("./components/Cascader/Cascader.cjs"),oe=require("./components/Skeleton/Skeleton.cjs"),m=require("./components/Skeleton/SkeletonText.cjs"),h=require("./components/Alert/Alert.cjs"),g=require("./components/Divider/Divider.cjs"),_=require("./components/Tag/Tag.cjs"),v=require("./components/Switch/Switch.cjs"),y=require("./components/Pagination/Pagination.cjs"),b=require("./contexts/ConfigProvider.cjs"),x=require("./contexts/ThemeProvider.cjs"),S=require("./components/ThemeToggle/ThemeToggle.cjs"),C=require("./components/ThemeToggle/PaletteToggle.cjs"),w=require("./components/Modal/Modal.cjs"),T=require("./components/Confirm/Confirm.cjs"),E=require("./components/Drawer/Drawer.cjs"),D=require("./components/Command/Command.cjs"),O=require("./components/Popover/Popover.cjs"),k=require("./components/Box/Box.cjs"),A=require("./components/Stack/Stack.cjs"),j=require("./components/ResponsiveGrid/ResponsiveGrid.cjs"),M=require("./components/ResponsiveGrid/GridItem.cjs"),N=require("./components/SplitLayout/SplitLayout.cjs"),P=require("./components/Page/Page.cjs"),F=require("./components/AppShell/AppShell.cjs"),I=require("./components/Menu/Menu.cjs"),L=require("./components/Menu/ContextMenu.cjs"),R=require("./components/Toast/store.cjs"),z=require("./components/Toast/Toast.cjs"),B=require("./components/PageTabs/PageTabs.cjs"),V=require("./components/FormControl/FormControl.cjs"),H=require("./components/FormLayout/FormLayout.cjs"),U=require("./components/Textarea/Textarea.cjs"),W=require("./components/NumberInput/NumberInput.cjs"),G=require("./components/JsonField/JsonField.cjs"),K=require("./components/KeyValueEditor/KeyValueEditor.cjs"),q=require("./components/TagInput/TagInput.cjs"),se=require("./components/LoadingState/LoadingState.cjs"),ce=require("./components/TextLink/TextLink.cjs"),le=require("./components/DescriptionList/DescriptionList.cjs"),ue=require("./components/List/List.cjs"),de=require("./components/List/ListItem.cjs"),fe=require("./components/CodeBlock/CodeBlock.cjs"),pe=require("./components/Prose/Prose.cjs"),me=require("./components/Table/fixedColumns.cjs"),J=require("./components/Table/Table.cjs"),he=require("./components/Table/DataTable.cjs"),ge=require("./components/Table/TableCellContent.cjs"),_e=require("./components/NavTree/NavTree.cjs"),Y=require("./components/Tabs/Tabs.cjs"),ve=require("./components/HtmlPreview/HtmlPreview.cjs"),ye=require("./components/Steps/Steps.cjs"),be=require("./components/Upload/Upload.cjs"),X=require("./components/Select/Select.cjs"),Z=require("./components/Rating/Rating.cjs"),xe=require("./components/MonthCalendar/MonthCalendar.cjs");require("./components/index.cjs"),require("./contexts/index.cjs");const
|
|
1
|
+
"use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});/* empty css */const e=require("./hooks/useI18n.cjs"),t=require("./components/Avatar/Avatar.cjs"),n=require("./components/Avatar/AvatarGroup.cjs"),r=require("./components/Badge/Badge.cjs"),i=require("./components/Button/Button.cjs"),a=require("./components/Card/Card.cjs"),o=require("./components/ProgressIndicator/ProgressIndicator.cjs"),s=require("./components/FormControl/context.cjs"),c=require("./components/Checkbox/Checkbox.cjs"),l=require("./components/Tooltip/TooltipProvider.cjs"),u=require("./components/Tooltip/Tooltip.cjs"),d=require("./components/IconButton/IconButton.cjs"),f=require("./components/Input/Input.cjs"),p=require("./components/TimePicker/TimePicker.cjs"),ee=require("./components/Radio/RadioGroup.cjs"),te=require("./components/Radio/Radio.cjs"),ne=require("./components/VirtualList/VirtualList.cjs"),re=require("./components/Empty/Empty.cjs"),ie=require("./components/AutoComplete/AutoComplete.cjs"),ae=require("./components/Cascader/Cascader.cjs"),oe=require("./components/Skeleton/Skeleton.cjs"),m=require("./components/Skeleton/SkeletonText.cjs"),h=require("./components/Alert/Alert.cjs"),g=require("./components/Divider/Divider.cjs"),_=require("./components/Tag/Tag.cjs"),v=require("./components/Switch/Switch.cjs"),y=require("./components/Pagination/Pagination.cjs"),b=require("./contexts/ConfigProvider.cjs"),x=require("./contexts/ThemeProvider.cjs"),S=require("./components/ThemeToggle/ThemeToggle.cjs"),C=require("./components/ThemeToggle/PaletteToggle.cjs"),w=require("./components/Modal/Modal.cjs"),T=require("./components/Confirm/Confirm.cjs"),E=require("./components/Drawer/Drawer.cjs"),D=require("./components/Command/Command.cjs"),O=require("./components/Popover/Popover.cjs"),k=require("./components/Box/Box.cjs"),A=require("./components/Stack/Stack.cjs"),j=require("./components/ResponsiveGrid/ResponsiveGrid.cjs"),M=require("./components/ResponsiveGrid/GridItem.cjs"),N=require("./components/SplitLayout/SplitLayout.cjs"),P=require("./components/Page/Page.cjs"),F=require("./components/AppShell/AppShell.cjs"),I=require("./components/Menu/Menu.cjs"),L=require("./components/Menu/ContextMenu.cjs"),R=require("./components/Toast/store.cjs"),z=require("./components/Toast/Toast.cjs"),B=require("./components/PageTabs/PageTabs.cjs"),V=require("./components/FormControl/FormControl.cjs"),H=require("./components/FormLayout/FormLayout.cjs"),U=require("./components/Textarea/Textarea.cjs"),W=require("./components/NumberInput/NumberInput.cjs"),G=require("./components/JsonField/JsonField.cjs"),K=require("./components/KeyValueEditor/KeyValueEditor.cjs"),q=require("./components/TagInput/TagInput.cjs"),se=require("./components/LoadingState/LoadingState.cjs"),ce=require("./components/TextLink/TextLink.cjs"),le=require("./components/DescriptionList/DescriptionList.cjs"),ue=require("./components/List/List.cjs"),de=require("./components/List/ListItem.cjs"),fe=require("./components/CodeBlock/CodeBlock.cjs"),pe=require("./components/Prose/Prose.cjs"),me=require("./components/Table/fixedColumns.cjs"),J=require("./components/Table/Table.cjs"),he=require("./components/Table/DataTable.cjs"),ge=require("./components/Table/TableCellContent.cjs"),_e=require("./components/NavTree/NavTree.cjs"),Y=require("./components/Tabs/Tabs.cjs"),ve=require("./components/HtmlPreview/HtmlPreview.cjs"),ye=require("./components/Steps/Steps.cjs"),be=require("./components/Upload/Upload.cjs"),X=require("./components/Select/Select.cjs"),Z=require("./components/Rating/Rating.cjs"),xe=require("./components/MonthCalendar/MonthCalendar.cjs"),Se=require("./components/DatePicker/DatePicker.cjs");require("./components/index.cjs"),require("./contexts/index.cjs");const Ce=require("./hooks/useAutoTheme.cjs"),we=require("./hooks/useLocale.cjs"),Te=require("./hooks/useDisclosure.cjs");require("./hooks/index.cjs"),require("./utils/index.cjs");let Q=require("../core/index.cjs"),$=require("../dom/index.cjs");exports.Alert=h.default,exports.AppShell=F.default,exports.AutoComplete=ie.default,exports.Avatar=t.default,exports.AvatarGroup=n.default,exports.Badge=r.Badge,exports.Box=k.default,exports.Button=i.default,exports.Card=a.Card,exports.CardContent=a.CardContent,exports.CardDescription=a.CardDescription,exports.CardFooter=a.CardFooter,exports.CardHeader=a.CardHeader,exports.CardTitle=a.CardTitle,exports.Cascader=ae.default,exports.Checkbox=c.default,exports.CodeBlock=fe.CodeBlock,exports.CommandDialog=D.CommandDialog,exports.ConfigContext=b.ConfigContext,exports.ConfigProvider=b.ConfigProvider,exports.ConfirmDialog=T.ConfirmDialog,exports.ConfirmProvider=T.ConfirmProvider,exports.ContextMenu=L.default,exports.DataTable=he.DataTable,exports.DatePicker=Se.default,exports.DescriptionList=le.DescriptionList,exports.Divider=g.default,exports.Drawer=E.Drawer,exports.DrawerBody=E.DrawerBody,exports.DrawerClose=E.DrawerClose,exports.DrawerContent=E.DrawerContent,exports.DrawerFooter=E.DrawerFooter,exports.DrawerHeader=E.DrawerHeader,exports.DrawerRoot=E.DrawerRoot,exports.DrawerTrigger=E.DrawerTrigger,exports.Empty=re.default,exports.FormControl=V.FormControl,exports.FormErrorMessage=V.FormErrorMessage,exports.FormField=V.FormField,exports.FormHelperText=V.FormHelperText,exports.FormLabel=V.FormLabel,exports.FormLayout=H.FormLayout,exports.GridItem=M.default,exports.HStack=A.HStack,exports.HtmlPreview=ve.HtmlPreview,exports.IconButton=d.default,exports.Input=f.Input,exports.JsonField=G.JsonField,exports.KeyValueEditor=K.KeyValueEditor,exports.List=ue.List,exports.ListItem=de.ListItem,exports.LoadingState=se.LoadingState,exports.Menu=I.default,exports.Modal=w.Modal,exports.ModalBody=w.ModalBody,exports.ModalClose=w.ModalClose,exports.ModalContent=w.ModalContent,exports.ModalFooter=w.ModalFooter,exports.ModalHeader=w.ModalHeader,exports.ModalRoot=w.ModalRoot,exports.ModalTrigger=w.ModalTrigger,exports.MonthCalendar=xe.MonthCalendar,exports.NavTree=_e.NavTree,exports.NumberInput=W.NumberInput,exports.Page=P.Page,exports.PageHeader=P.PageHeader,exports.PageSection=P.PageSection,exports.PageTab=B.PageTab,exports.PageTabs=B.PageTabs,exports.Pagination=y.default,exports.PaletteToggle=C.default,exports.Popover=O.Popover,exports.PopoverAnchor=O.PopoverAnchor,exports.PopoverClose=O.PopoverClose,exports.PopoverContent=O.PopoverContent,exports.PopoverTrigger=O.PopoverTrigger,exports.ProgressIndicator=o.default,exports.Prose=pe.Prose,exports.Radio=te.default,exports.RadioGroup=ee.default,exports.Rating=Z.Rating,exports.RatingScale=Z.RatingScale,exports.ResponsiveGrid=j.default,exports.Select=X.Select,exports.SelectGroup=X.SelectGroup,exports.SelectItem=X.SelectItem,exports.SelectLabel=X.SelectLabel,exports.SelectSeparator=X.SelectSeparator,exports.Skeleton=oe.default,exports.SkeletonText=m.SkeletonText,exports.SplitLayout=N.default,exports.Stack=A.Stack,exports.StatCard=P.StatCard,exports.Steps=ye.default,exports.Switch=v.default,exports.Tab=Y.Tab,exports.TabList=Y.TabList,exports.TabPanel=Y.TabPanel,exports.Table=J.Table,exports.TableBody=J.TableBody,exports.TableCell=J.TableCell,exports.TableCellContent=ge.TableCellContent,exports.TableHead=J.TableHead,exports.TableHeader=J.TableHeader,exports.TableRoot=J.TableRoot,exports.TableRow=J.TableRow,exports.Tabs=Y.Tabs,exports.Tag=_.default,exports.TagInput=q.TagInput,exports.TextLink=ce.TextLink,exports.Textarea=U.Textarea,exports.ThemeProvider=x.ThemeProvider,exports.ThemeToggle=S.default,exports.TimePicker=p.default,exports.ToastProvider=z.default,exports.Toolbar=P.Toolbar,exports.Tooltip=u.default,exports.TooltipProvider=l.default,exports.Upload=be.default,exports.VStack=A.VStack,exports.VirtualList=ne.default,Object.defineProperty(exports,"applyThemeStyles",{enumerable:!0,get:function(){return $.applyThemeStyles}}),Object.defineProperty(exports,"cn",{enumerable:!0,get:function(){return Q.cn}}),exports.computeFixedColumnLayout=me.computeFixedColumnLayout,exports.confirm=T.confirm,Object.defineProperty(exports,"dark",{enumerable:!0,get:function(){return Q.dark}}),Object.defineProperty(exports,"generateCSSVariables",{enumerable:!0,get:function(){return $.generateCSSVariables}}),Object.defineProperty(exports,"getSystemTheme",{enumerable:!0,get:function(){return $.getSystemTheme}}),Object.defineProperty(exports,"githubDark",{enumerable:!0,get:function(){return Q.githubDark}}),Object.defineProperty(exports,"isBilingualTheme",{enumerable:!0,get:function(){return $.isBilingualTheme}}),Object.defineProperty(exports,"light",{enumerable:!0,get:function(){return Q.light}}),exports.matchesShortcut=Q.matchesShortcut,exports.normalizeShortcuts=Q.normalizeShortcuts,Object.defineProperty(exports,"palettes",{enumerable:!0,get:function(){return Q.palettes}}),Object.defineProperty(exports,"resolveTheme",{enumerable:!0,get:function(){return $.resolveTheme}}),Object.defineProperty(exports,"themes",{enumerable:!0,get:function(){return Q.themes}}),exports.toast=R.toast,exports.useAutoTheme=Ce.default,exports.useConfig=b.useConfig,exports.useConfirm=T.useConfirm,exports.useDisclosure=Te.default,exports.useFormControlContext=s.useFormControlContext,exports.useFormControlProps=s.useFormControlProps,exports.useI18n=e.default,exports.useLocale=we.default,exports.useTheme=x.useTheme,exports.useToast=z.useToast;
|
package/dist/react/index.js
CHANGED
|
@@ -75,12 +75,13 @@ import gt from "./components/Upload/Upload.js";
|
|
|
75
75
|
import { Select as _t, SelectGroup as vt, SelectItem as yt, SelectLabel as bt, SelectSeparator as xt } from "./components/Select/Select.js";
|
|
76
76
|
import { Rating as St, RatingScale as Ct } from "./components/Rating/Rating.js";
|
|
77
77
|
import { MonthCalendar as wt } from "./components/MonthCalendar/MonthCalendar.js";
|
|
78
|
+
import Tt from "./components/DatePicker/DatePicker.js";
|
|
78
79
|
import "./components/index.js";
|
|
79
80
|
import "./contexts/index.js";
|
|
80
|
-
import
|
|
81
|
-
import
|
|
82
|
-
import
|
|
81
|
+
import Et from "./hooks/useAutoTheme.js";
|
|
82
|
+
import Dt from "./hooks/useLocale.js";
|
|
83
|
+
import Ot from "./hooks/useDisclosure.js";
|
|
83
84
|
import "./hooks/index.js";
|
|
84
|
-
import { applyThemeStyles as
|
|
85
|
-
import { dark as
|
|
86
|
-
export { k as Alert, De as AppShell, T as AutoComplete, n as Avatar, r as AvatarGroup, i as Badge, he as Box, a as Button, o as Card, s as CardContent, c as CardDescription, l as CardFooter, u as CardHeader, d as CardTitle, E as Cascader, h as Checkbox, Ze as CodeBlock, se as CommandDialog, P as ConfigContext, F as ConfigProvider, Y as ConfirmDialog, X as ConfirmProvider, ke as ContextMenu, st as DataTable, Je as DescriptionList, A as Divider, $ as Drawer, ee as DrawerBody, te as DrawerClose, ne as DrawerContent, re as DrawerFooter, ie as DrawerHeader, ae as DrawerRoot, oe as DrawerTrigger, w as Empty, Fe as FormControl, Ie as FormErrorMessage, Le as FormField, Re as FormHelperText, ze as FormLabel, Be as FormLayout, be as GridItem, ge as HStack, mt as HtmlPreview, v as IconButton, y as Input, Ue as JsonField, We as KeyValueEditor, Ye as List, Xe as ListItem, Ke as LoadingState, Oe as Menu, V as Modal, H as ModalBody, U as ModalClose, W as ModalContent, G as ModalFooter, K as ModalHeader, q as ModalRoot, J as ModalTrigger, wt as MonthCalendar, lt as NavTree, He as NumberInput, Se as Page, Ce as PageHeader, we as PageSection, Ne as PageTab, Pe as PageTabs, N as Pagination, B as PaletteToggle, ue as Popover, de as PopoverAnchor, fe as PopoverClose, pe as PopoverContent, me as PopoverTrigger, f as ProgressIndicator, Qe as Prose, S as Radio, x as RadioGroup, St as Rating, Ct as RatingScale, ye as ResponsiveGrid, _t as Select, vt as SelectGroup, yt as SelectItem, bt as SelectLabel, xt as SelectSeparator, D as Skeleton, O as SkeletonText, xe as SplitLayout, _e as Stack, Te as StatCard, ht as Steps, M as Switch, ut as Tab, dt as TabList, ft as TabPanel, et as Table, tt as TableBody, nt as TableCell, ct as TableCellContent, rt as TableHead, it as TableHeader, at as TableRoot, ot as TableRow, pt as Tabs, j as Tag, Ge as TagInput, qe as TextLink, Ve as Textarea, L as ThemeProvider, z as ThemeToggle, b as TimePicker, je as ToastProvider, Ee as Toolbar, _ as Tooltip, g as TooltipProvider, gt as Upload, ve as VStack, C as VirtualList,
|
|
85
|
+
import { applyThemeStyles as kt, generateCSSVariables as At, getSystemTheme as jt, isBilingualTheme as Mt, resolveTheme as Nt } from "./utils/index.js";
|
|
86
|
+
import { dark as Pt, githubDark as Ft, light as It, palettes as Lt, themes as Rt } from "../core/index.js";
|
|
87
|
+
export { k as Alert, De as AppShell, T as AutoComplete, n as Avatar, r as AvatarGroup, i as Badge, he as Box, a as Button, o as Card, s as CardContent, c as CardDescription, l as CardFooter, u as CardHeader, d as CardTitle, E as Cascader, h as Checkbox, Ze as CodeBlock, se as CommandDialog, P as ConfigContext, F as ConfigProvider, Y as ConfirmDialog, X as ConfirmProvider, ke as ContextMenu, st as DataTable, Tt as DatePicker, Je as DescriptionList, A as Divider, $ as Drawer, ee as DrawerBody, te as DrawerClose, ne as DrawerContent, re as DrawerFooter, ie as DrawerHeader, ae as DrawerRoot, oe as DrawerTrigger, w as Empty, Fe as FormControl, Ie as FormErrorMessage, Le as FormField, Re as FormHelperText, ze as FormLabel, Be as FormLayout, be as GridItem, ge as HStack, mt as HtmlPreview, v as IconButton, y as Input, Ue as JsonField, We as KeyValueEditor, Ye as List, Xe as ListItem, Ke as LoadingState, Oe as Menu, V as Modal, H as ModalBody, U as ModalClose, W as ModalContent, G as ModalFooter, K as ModalHeader, q as ModalRoot, J as ModalTrigger, wt as MonthCalendar, lt as NavTree, He as NumberInput, Se as Page, Ce as PageHeader, we as PageSection, Ne as PageTab, Pe as PageTabs, N as Pagination, B as PaletteToggle, ue as Popover, de as PopoverAnchor, fe as PopoverClose, pe as PopoverContent, me as PopoverTrigger, f as ProgressIndicator, Qe as Prose, S as Radio, x as RadioGroup, St as Rating, Ct as RatingScale, ye as ResponsiveGrid, _t as Select, vt as SelectGroup, yt as SelectItem, bt as SelectLabel, xt as SelectSeparator, D as Skeleton, O as SkeletonText, xe as SplitLayout, _e as Stack, Te as StatCard, ht as Steps, M as Switch, ut as Tab, dt as TabList, ft as TabPanel, et as Table, tt as TableBody, nt as TableCell, ct as TableCellContent, rt as TableHead, it as TableHeader, at as TableRoot, ot as TableRow, pt as Tabs, j as Tag, Ge as TagInput, qe as TextLink, Ve as Textarea, L as ThemeProvider, z as ThemeToggle, b as TimePicker, je as ToastProvider, Ee as Toolbar, _ as Tooltip, g as TooltipProvider, gt as Upload, ve as VStack, C as VirtualList, kt as applyThemeStyles, e as cn, $e as computeFixedColumnLayout, Z as confirm, Pt as dark, At as generateCSSVariables, jt as getSystemTheme, Ft as githubDark, Mt as isBilingualTheme, It as light, ce as matchesShortcut, le as normalizeShortcuts, Lt as palettes, Nt as resolveTheme, Rt as themes, Ae as toast, Et as useAutoTheme, I as useConfig, Q as useConfirm, Ot as useDisclosure, p as useFormControlContext, m as useFormControlProps, t as useI18n, Dt as useLocale, R as useTheme, Me as useToast };
|
package/dist/react/style.css
CHANGED
|
@@ -60,5 +60,6 @@
|
|
|
60
60
|
._trigger_em05l_1{--_select-border:var(--select-border-color,var(--border-color));justify-content:space-between;align-items:center;gap:var(--space-2);background-color:var(--surface-color);border-radius:var(--select-radius,var(--radius-lg));width:100%;min-width:0;max-width:100%;box-shadow:inset 0 0 0 1px var(--_select-border);color:var(--text-color);cursor:pointer;text-align:start;transition:box-shadow var(--transition-fast), background-color var(--transition-fast);border:1px solid #0000;font-family:inherit;display:inline-flex}._trigger_em05l_1:hover:not(:disabled){--_select-border:var(--primary-color)}._trigger_em05l_1:focus-visible,._trigger_em05l_1[data-state=open]{--_select-border:var(--minerva-focus-border-color,var(--primary-color));box-shadow:inset 0 0 0 1px var(--_select-border), 0 0 0 var(--minerva-focus-ring-width,3px) var(--minerva-focus-ring-color,var(--focus-ring-color));outline-offset:1px;outline:2px solid #0000}._trigger_em05l_1[data-placeholder]{color:var(--text-muted-color)}._trigger_em05l_1:disabled{background-color:var(--surface-subtle-color);cursor:not-allowed;opacity:.6}._value_em05l_38{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}._small_em05l_46{height:var(--select-height,var(--control-height-sm));padding:0 var(--select-padding-x,var(--control-padding-x-sm));font-size:var(--select-font-size,var(--font-size-sm))}._medium_em05l_52{height:var(--select-height,var(--control-height-md));padding:0 var(--select-padding-x,var(--control-padding-x-sm));font-size:var(--select-font-size,var(--font-size-md))}._large_em05l_58{height:var(--select-height,var(--control-height-lg));padding:0 var(--select-padding-x,var(--control-padding-x-md));font-size:var(--select-font-size,var(--font-size-lg))}._invalid_em05l_64,._invalid_em05l_64:hover:not(:disabled){--_select-border:var(--danger-color)}._invalid_em05l_64:focus-visible,._invalid_em05l_64[data-state=open]{--_select-border:var(--danger-color);box-shadow:inset 0 0 0 1px var(--_select-border), 0 0 0 var(--minerva-focus-ring-width,3px) color-mix(in srgb, var(--danger-color) 40%, transparent);outline-offset:1px;outline:2px solid #0000}._icon_em05l_77{color:var(--text-secondary-color);transition:transform var(--transition-fast);flex-shrink:0;display:inline-flex}._trigger_em05l_1[data-state=open] ._icon_em05l_77{transform:rotate(180deg)}._positioner_em05l_87{z-index:var(--z-popover);flex-direction:column;display:flex}._content_em05l_93{box-sizing:border-box;min-height:0;padding:var(--space-2);background-color:var(--surface-elevated-color);border:1px solid var(--border-color);border-radius:var(--select-radius,var(--radius-lg));box-shadow:var(--shadow-lg);max-width:32rem;max-height:var(--select-dropdown-max-height,320px);overscroll-behavior:contain;color:var(--text-color);animation:_selectFadeIn_em05l_1 var(--transition-fast);outline:none;overflow-y:auto}@keyframes _selectFadeIn_em05l_1{0%{opacity:0;transform:translateY(-6px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}._content_em05l_93[data-side=top]{animation-name:_selectFadeInUp_em05l_1}@keyframes _selectFadeInUp_em05l_1{0%{opacity:0;transform:translateY(6px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@media (prefers-reduced-motion:reduce){._content_em05l_93{animation:none}}._item_em05l_139{align-items:center;gap:var(--space-2);padding:var(--select-option-padding-y,var(--row-padding-y)) var(--select-option-padding-x,var(--row-padding-x));border-radius:var(--radius-md);font-family:inherit;font-size:var(--font-size-md);color:var(--text-color);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color var(--transition-fast), color var(--transition-fast);outline:none;display:flex;position:relative}._item_em05l_139[data-highlighted]{background-color:var(--hover-color)}._item_em05l_139[data-selected]{color:var(--primary-color-text);font-weight:var(--font-weight-medium);background-color:var(--primary-color-subtle)}._item_em05l_139[data-selected][data-highlighted]{background-color:color-mix(in srgb, var(--primary-color) 18%, var(--surface-color))}._item_em05l_139[data-disabled]{color:var(--text-disabled-color);cursor:not-allowed}._itemText_em05l_170{overflow-wrap:anywhere;white-space:normal;flex:1;min-width:0}._itemIndicator_em05l_177{flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;display:inline-flex}._label_em05l_186{padding:var(--select-option-padding-y,var(--row-padding-y)) var(--select-option-padding-x,var(--row-padding-x));font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--text-muted-color);text-transform:uppercase;letter-spacing:.05em}._separator_em05l_195{height:1px;margin:var(--space-1) calc(-1 * var(--space-1));background-color:var(--border-color)}@media (forced-colors:active){._trigger_em05l_1:focus-visible,._trigger_em05l_1[data-state=open]{outline-offset:1px;outline:2px solid highlight}._item_em05l_139[data-selected]{outline-offset:-1px;outline:1px solid canvastext}._item_em05l_139[data-highlighted]{outline-offset:-2px;outline:2px solid highlight}}
|
|
61
61
|
._rating_1wtkq_1{align-items:center;gap:var(--rating-gap,var(--space-2));color:var(--rating-color,var(--accent-color));font-family:var(--font-family-sans);vertical-align:middle;display:inline-flex}._stars_1wtkq_10{gap:var(--rating-star-gap,1px);line-height:0;display:inline-flex}._star_1wtkq_10{flex-shrink:0;display:inline-block}._empty_1wtkq_21{color:var(--rating-empty-color,var(--border-strong-color))}._empty_1wtkq_21,._empty_1wtkq_21 svg,._halfBase_1wtkq_27,._halfBase_1wtkq_27 svg{fill:var(--rating-empty-fill,var(--surface-muted-color))}._half_1wtkq_27{position:relative}._halfBase_1wtkq_27{color:var(--rating-empty-color,var(--border-strong-color));position:absolute;inset:0}._halfFill_1wtkq_42{position:absolute;inset:0}[dir=rtl] ._halfFill_1wtkq_42,._halfFill_1wtkq_42:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){transform:scaleX(-1)}._interactive_1wtkq_55{border-radius:var(--radius-sm);outline:none}._interactive_1wtkq_55:focus-visible{outline-offset:2px;box-shadow:0 0 0 var(--minerva-focus-ring-width,3px) var(--minerva-focus-ring-color,var(--focus-ring-color));outline:2px solid #0000}._starButton_1wtkq_65{cursor:pointer;color:inherit;transition:transform var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;margin:0;padding:0;display:inline-flex}._starButton_1wtkq_65:hover{transform:scale(var(--rating-hover-scale,1.15))}._starButton_1wtkq_65:active{transform:scale(.92)}@media (prefers-reduced-motion:reduce){._starButton_1wtkq_65:hover,._starButton_1wtkq_65:active{transform:none}}._value_1wtkq_90{align-items:baseline;gap:var(--space-1);color:var(--text-color);font-size:var(--rating-value-font-size,var(--font-size-sm));display:inline-flex}._value_1wtkq_90 strong{font-weight:var(--font-weight-semibold);color:var(--warning-color-text)}._small_1wtkq_101 ._value_1wtkq_90{font-size:var(--rating-value-font-size,var(--font-size-xs))}._large_1wtkq_104 ._value_1wtkq_90{font-size:var(--rating-value-font-size,var(--font-size-md))}._count_1wtkq_108{color:var(--text-muted-color);font-size:var(--font-size-xs)}._scale_1wtkq_113{gap:var(--rating-scale-gap,var(--space-3));font-family:var(--font-family-sans);flex-direction:column;display:flex}._scaleRow_1wtkq_120{align-items:center;gap:var(--space-4);grid-template-columns:minmax(64px,auto) 1fr;display:grid}._scaleLabel_1wtkq_127{color:var(--text-secondary-color);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}@media (forced-colors:active){._star_1wtkq_10{forced-color-adjust:none;color:highlight}._empty_1wtkq_21,._halfBase_1wtkq_27{color:canvastext}._empty_1wtkq_21,._empty_1wtkq_21 svg,._halfBase_1wtkq_27,._halfBase_1wtkq_27 svg{fill:canvas}._interactive_1wtkq_55:focus-visible{outline-offset:2px;outline:2px solid highlight}}
|
|
62
62
|
._monthCalendar_v6erv_1{width:100%;min-width:0;color:var(--text-color);font-family:var(--font-family-sans);font-size:var(--month-calendar-font-size,var(--font-size-sm))}._toolbar_v6erv_9{justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}._heading_v6erv_18{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);letter-spacing:-.01em;line-height:var(--line-height-tight);margin:0}._navigation_v6erv_26{align-items:center;gap:var(--space-1);display:flex}._eventButton_v6erv_32:focus-visible,._day_v6erv_32:focus-visible,._navButton_v6erv_32:focus-visible{outline-offset:2px;border-color:var(--primary-color);box-shadow:0 0 0 var(--focus-ring-width,2px) var(--focus-ring-color);outline:2px solid #0000}._eventButton_v6erv_32,._day_v6erv_32,._navButton_v6erv_32{justify-content:center;align-items:center;gap:var(--space-1);border-radius:var(--month-calendar-radius,var(--radius-md));color:inherit;font:inherit;cursor:pointer;transition:background-color var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast), color var(--transition-fast);background:0 0;border:1px solid #0000;display:inline-flex}._eventButton_v6erv_32:hover:not(:disabled),._day_v6erv_32:hover:not(:disabled),._navButton_v6erv_32:hover:not(:disabled){background-color:var(--month-calendar-hover-background,var(--hover-color))}._eventButton_v6erv_32:disabled,._day_v6erv_32:disabled,._navButton_v6erv_32:disabled{cursor:not-allowed;opacity:.5}._navButton_v6erv_32{height:var(--month-calendar-nav-height,var(--control-height-sm));padding:0 var(--space-2-5);border-color:var(--border-color);background:var(--surface-color);font-weight:var(--font-weight-medium)}._navButton_v6erv_32:hover:not(:disabled){border-color:var(--border-strong-color)}._iconButton_v6erv_71{width:var(--month-calendar-nav-height,var(--control-height-sm));padding:0}[dir=rtl] ._iconButton_v6erv_71 svg,._iconButton_v6erv_71:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)) svg{transform:scaleX(-1)}._grid_v6erv_82{width:100%;min-width:0}._week_v6erv_87{gap:var(--month-calendar-gap,var(--space-1));margin-bottom:var(--space-1);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}._weekday_v6erv_94{padding-block:var(--space-1-5);text-align:center;color:var(--month-calendar-weekday-color,var(--text-muted-color));font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);letter-spacing:.06em;text-transform:uppercase}._day_v6erv_32{width:100%;min-width:0;height:var(--month-calendar-day-height,4rem);padding:var(--space-1);font-variant-numeric:tabular-nums;flex-direction:column}._day_v6erv_32[data-outside]{color:var(--month-calendar-outside-color,var(--text-disabled-color))}._day_v6erv_32[aria-current=date]{border-color:var(--month-calendar-today-color,var(--primary-color))}._day_v6erv_32[aria-current=date] ._dayNumber_v6erv_118{color:var(--month-calendar-today-color,var(--primary-color-text));font-weight:var(--font-weight-semibold)}._day_v6erv_32[aria-selected=true]{border-color:var(--primary-color-border);background:var(--month-calendar-selected-background,var(--selected-color));color:var(--month-calendar-selected-color,var(--text-color))}._day_v6erv_32[aria-selected=true]:hover{background:var(--month-calendar-selected-background,var(--selected-color))}._day_v6erv_32[aria-selected=true] ._dayNumber_v6erv_118{font-weight:var(--font-weight-semibold)}._day_v6erv_32[aria-selected=true][aria-current=date]{border-color:var(--month-calendar-today-color,var(--primary-color))}._day_v6erv_32._inRange_v6erv_136{background:var(--month-calendar-range-background,var(--primary-color-subtle))}._day_v6erv_32._rangeStart_v6erv_139,._day_v6erv_32._rangeEnd_v6erv_139{background:var(--month-calendar-range-edge-background,var(--primary-color));color:var(--month-calendar-range-edge-color,var(--text-inverse-color))}._day_v6erv_32._rangeStart_v6erv_139:hover,._day_v6erv_32._rangeEnd_v6erv_139:hover{background:var(--month-calendar-range-edge-background,var(--primary-color-hover))}._day_v6erv_32._rangeStart_v6erv_139 ._dayNumber_v6erv_118,._day_v6erv_32._rangeEnd_v6erv_139 ._dayNumber_v6erv_118{color:inherit}._day_v6erv_32._rangeStart_v6erv_139 ._count_v6erv_149._hasEvents_v6erv_149,._day_v6erv_32._rangeEnd_v6erv_139 ._count_v6erv_149._hasEvents_v6erv_149{background:color-mix(in srgb, currentColor 22%, transparent);color:inherit}._day_v6erv_32:focus-visible{outline-offset:-2px}._day_v6erv_32[aria-disabled=true]{cursor:not-allowed;opacity:.5}._day_v6erv_32[aria-disabled=true]:hover{background-color:#0000}._day_v6erv_32[aria-disabled=true][aria-selected=true]{background:var(--month-calendar-selected-background,var(--selected-color))}._dayNumber_v6erv_118{line-height:1.25rem}._count_v6erv_149{min-width:1rem;height:1rem;line-height:1rem;font-size:var(--font-size-xs);color:var(--text-muted-color);justify-content:center;align-items:center;display:inline-flex}._hasEvents_v6erv_149{padding:0 var(--space-1-5);border-radius:var(--radius-full);background:var(--month-calendar-event-background,var(--primary-color-subtle));color:var(--month-calendar-event-color,var(--primary-color-text));font-weight:var(--font-weight-medium)}[data-outside]>._hasEvents_v6erv_149{opacity:.65}._events_v6erv_193{margin-top:var(--space-3);padding:var(--space-3);border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--month-calendar-events-background,var(--surface-subtle-color));overflow-wrap:anywhere}._eventsHeading_v6erv_202{margin:0 0 var(--space-2);color:var(--text-secondary-color);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);font-variant-numeric:tabular-nums;letter-spacing:.04em;text-transform:uppercase}._eventList_v6erv_212{gap:var(--space-0-5);margin:0;padding:0;list-style:none;display:grid}._eventItem_v6erv_220{align-items:center;gap:var(--space-2);min-height:var(--control-height-sm);display:flex}._eventItem_v6erv_220:before{content:"";border-radius:var(--radius-full);background:var(--month-calendar-event-color,var(--primary-color));flex:none;width:.375rem;height:.375rem}._eventButton_v6erv_32{min-width:0;padding:var(--space-1) var(--space-2);text-align:start;white-space:normal;overflow-wrap:anywhere;flex:1;justify-content:flex-start;margin-inline-start:calc(-1 * var(--space-2))}._empty_v6erv_246{color:var(--text-muted-color);margin:0}._small_v6erv_251 ._week_v6erv_87{gap:var(--month-calendar-gap,var(--space-0-5))}._small_v6erv_251 ._day_v6erv_32{height:var(--month-calendar-day-height,2.5rem);flex-direction:row;padding:0;position:relative}._small_v6erv_251 ._count_v6erv_149{width:0;min-width:0;height:0;position:absolute;inset-block-end:var(--space-1);inset-inline-start:50%;overflow:hidden;transform:translate(-50%)}._small_v6erv_251 ._hasEvents_v6erv_149{background:var(--month-calendar-event-color,var(--primary-color));color:#0000;width:.3125rem;height:.3125rem;padding:0}._small_v6erv_251 ._day_v6erv_32._rangeStart_v6erv_139 ._count_v6erv_149._hasEvents_v6erv_149,._small_v6erv_251 ._day_v6erv_32._rangeEnd_v6erv_139 ._count_v6erv_149._hasEvents_v6erv_149{background:currentColor}._large_v6erv_282 ._day_v6erv_32{height:var(--month-calendar-day-height,5.5rem);padding:var(--space-2);justify-content:space-between;align-items:flex-start}._large_v6erv_282 ._dayNumber_v6erv_118{font-size:var(--font-size-md)}@media (width<=32rem){._day_v6erv_32{height:var(--month-calendar-day-height,3.25rem)}._small_v6erv_251 ._day_v6erv_32{height:var(--month-calendar-day-height,2.25rem)}._large_v6erv_282 ._day_v6erv_32{height:var(--month-calendar-day-height,4rem);padding:var(--space-1)}}@media (forced-colors:active){._day_v6erv_32[aria-current=date]{border-width:2px}._day_v6erv_32[aria-selected=true],._day_v6erv_32._rangeStart_v6erv_139,._day_v6erv_32._rangeEnd_v6erv_139{outline-offset:-2px;outline:2px solid highlight}._hasEvents_v6erv_149{border:1px solid canvastext}}
|
|
63
|
+
._datePicker_6el17_1{width:var(--date-picker-width,100%);display:inline-block;position:relative}._datePicker_6el17_1 ._clearButton_6el17_6{opacity:.45;transition:opacity var(--transition-base);color:var(--text-secondary-color)}._datePicker_6el17_1 ._clearButton_6el17_6:hover,._datePicker_6el17_1 ._clearButton_6el17_6:focus-visible{opacity:1;color:var(--text-color)}._datePicker_6el17_1 ._clearButton_6el17_6:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px}._datePicker_6el17_1:hover ._clearButton_6el17_6{opacity:.8}._datePicker_6el17_1 ._calendarIcon_6el17_22{padding:0 var(--space-1-5);color:var(--text-secondary-color);align-items:center;display:inline-flex}._popup_6el17_29{z-index:var(--z-dropdown);outline:none}._panel_6el17_34{width:var(--date-picker-panel-width,17.5rem);padding:var(--date-picker-panel-padding,var(--space-3));border:1px solid var(--border-color);border-radius:var(--date-picker-panel-radius,var(--radius-lg));background:var(--surface-elevated-color,var(--surface-color));box-shadow:var(--shadow-lg);color:var(--text-color);font-family:var(--font-family-sans);font-size:var(--font-size-sm)}._header_6el17_46{justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);display:flex}._heading_6el17_54{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);margin:0}._navGroup_6el17_61{align-items:center;gap:var(--space-1);display:flex}._navButton_6el17_67{width:var(--control-height-sm,1.75rem);height:var(--control-height-sm,1.75rem);border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--surface-color);color:var(--text-color);cursor:pointer;transition:background-color var(--transition-fast), border-color var(--transition-fast);justify-content:center;align-items:center;padding:0;display:inline-flex}._navButton_6el17_67:hover:not(:disabled){background:var(--hover-color);border-color:var(--border-strong-color)}._navButton_6el17_67:focus-visible{outline-offset:2px;border-color:var(--primary-color);box-shadow:0 0 0 var(--focus-ring-width,2px) var(--focus-ring-color);outline:2px solid #0000}._grid_6el17_92{width:100%}._week_6el17_96{grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;margin-bottom:2px;display:grid}._weekday_6el17_103{padding-block:var(--space-1);text-align:center;color:var(--text-muted-color);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}._day_6el17_111{width:100%;height:var(--date-picker-cell-size,2rem);border-radius:var(--radius-md);color:var(--text-color);font:inherit;font-variant-numeric:tabular-nums;cursor:pointer;transition:background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0;display:inline-flex}._day_6el17_111:hover:not([aria-disabled=true]){background:var(--hover-color)}._day_6el17_111[data-outside]{color:var(--text-disabled-color)}._day_6el17_111[aria-current=date]{border-color:var(--primary-color);font-weight:var(--font-weight-semibold)}._day_6el17_111[aria-selected=true]{border-color:var(--primary-color);background:var(--primary-color);color:var(--text-inverse-color);font-weight:var(--font-weight-semibold)}._day_6el17_111[aria-selected=true]:hover{background:var(--primary-color-hover,var(--primary-color))}._day_6el17_111[aria-disabled=true]{cursor:not-allowed;opacity:.4}._day_6el17_111:focus-visible{outline-offset:-2px;border-color:var(--primary-color);box-shadow:0 0 0 var(--focus-ring-width,2px) var(--focus-ring-color);outline:2px solid #0000}._footer_6el17_157{justify-content:space-between;align-items:center;gap:var(--space-2);margin-top:var(--space-2);display:flex}._footerButton_6el17_165{height:var(--control-height-sm,1.75rem);padding:0 var(--space-2-5);border-radius:var(--radius-md);color:var(--primary-color-text,var(--primary-color));font:inherit;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);cursor:pointer;transition:background-color var(--transition-fast);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;display:inline-flex}._footerButton_6el17_165:hover:not(:disabled){background:var(--hover-color)}._footerButton_6el17_165:focus-visible{outline-offset:2px;box-shadow:0 0 0 var(--focus-ring-width,2px) var(--focus-ring-color);outline:2px solid #0000}@media (prefers-reduced-motion:reduce){._navButton_6el17_67,._day_6el17_111,._footerButton_6el17_165{transition:none}}@media (forced-colors:active){._day_6el17_111[aria-selected=true]{outline-offset:-2px;outline:2px solid highlight}}
|
|
63
64
|
._root_1gy0w_1{width:100%;min-width:0;font-family:var(--font-family-sans);color:var(--text-color);font-size:var(--monaco-code-editor-font-size,var(--font-size-sm))}._label_1gy0w_9{margin-bottom:var(--monaco-code-editor-label-gap,var(--space-2));font-weight:var(--font-weight-medium);overflow-wrap:anywhere;display:block}._surface_1gy0w_16{border:1px solid var(--monaco-code-editor-border-color,var(--border-color));border-radius:var(--monaco-code-editor-radius,var(--radius-md));background:var(--monaco-code-editor-bg,var(--surface-color));flex-direction:column;min-width:0;display:flex;position:relative;overflow:hidden}._loading_1gy0w_27{place-items:center;display:grid;position:absolute;inset:0}._error_1gy0w_34{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-2);background:var(--warning-color-subtle);overflow-wrap:anywhere;flex-wrap:wrap;display:flex}._message_1gy0w_45{min-width:0;padding:var(--space-1) var(--space-2);color:var(--warning-color-text);flex:1}._retryIcon_1gy0w_52{vertical-align:-.125em;margin-inline-end:var(--space-1-5)}._fallback_1gy0w_57{width:100%;min-height:0;padding:var(--space-3);resize:none;background:var(--control-color,var(--surface-color));color:var(--text-color);font-family:var(--font-family-mono);font-size:var(--monaco-code-editor-font-size,var(--font-size-sm));line-height:var(--line-height-base);border:0;border-radius:0;flex:1;margin:0}._fallback_1gy0w_57:focus-visible{outline:var(--focus-ring-width) solid var(--primary-color);outline-offset:-2px}._fallback_1gy0w_57:disabled{color:var(--text-disabled-color);cursor:not-allowed}
|
|
64
65
|
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
@layer minerva {
|
|
2
|
+
._progressIndicator_148vu_1{--progress-indicator-color:var(--primary-color);justify-content:center;align-items:center;gap:var(--space-2);vertical-align:middle;display:inline-flex;position:relative}._progressIndicator_148vu_1 ._icon_148vu_10{display:inline-flex}._progressIndicator_148vu_1._defaultWidth_148vu_13{width:var(--progress-width,200px)}._progressIndicator_148vu_1._fullWidth_148vu_16{width:100%}._primary_148vu_20{--progress-indicator-color:var(--primary-color)}._neutral_148vu_24{--progress-indicator-color:var(--text-muted-color)}._current_148vu_28{--progress-indicator-color:currentColor}._label_148vu_32{overflow-wrap:anywhere;min-width:0}._spinner_148vu_37,._circle_148vu_38,._waveContainer_148vu_39{color:var(--progress-indicator-color);flex-shrink:0}._spinner_148vu_37._xsmall_148vu_43,._circle_148vu_38._xsmall_148vu_43,._waveContainer_148vu_39._xsmall_148vu_43{font-size:var(--progress-size,12px)}._spinner_148vu_37._small_148vu_48,._circle_148vu_38._small_148vu_48,._waveContainer_148vu_39._small_148vu_48{font-size:var(--progress-size,16px)}._spinner_148vu_37._medium_148vu_53,._circle_148vu_38._medium_148vu_53,._waveContainer_148vu_39._medium_148vu_53{font-size:var(--progress-size,24px)}._spinner_148vu_37._large_148vu_58,._circle_148vu_38._large_148vu_58,._waveContainer_148vu_39._large_148vu_58{font-size:var(--progress-size,32px)}._spinner_148vu_37._xlarge_148vu_63,._circle_148vu_38._xlarge_148vu_63,._waveContainer_148vu_39._xlarge_148vu_63{font-size:var(--progress-size,48px)}._spinner_148vu_37,._circle_148vu_38{animation:1s linear infinite _spin_148vu_37}@keyframes _spin_148vu_37{0%{transform:rotate(0)}to{transform:rotate(360deg)}}._barContainer_148vu_82,._dottedBarContainer_148vu_83{width:100%;height:var(--progress-bar-height,.5rem);background-color:var(--progress-track-color,var(--surface-muted-color));border-radius:var(--progress-radius,var(--radius-sm));flex:auto;position:relative;overflow:hidden}._barContainer_148vu_82._xsmall_148vu_43,._dottedBarContainer_148vu_83._xsmall_148vu_43{height:var(--progress-bar-height,2px)}._barContainer_148vu_82._small_148vu_48,._dottedBarContainer_148vu_83._small_148vu_48{height:var(--progress-bar-height,4px)}._barContainer_148vu_82._medium_148vu_53,._dottedBarContainer_148vu_83._medium_148vu_53{height:var(--progress-bar-height,.5rem)}._barContainer_148vu_82._large_148vu_58,._dottedBarContainer_148vu_83._large_148vu_58{height:var(--progress-bar-height,12px)}._barContainer_148vu_82._xlarge_148vu_63,._dottedBarContainer_148vu_83._xlarge_148vu_63{height:var(--progress-bar-height,16px)}[dir=rtl] ._barContainer_148vu_82 ._bar_148vu_82,[dir=rtl] ._barContainer_148vu_82 ._dottedBar_148vu_83,[dir=rtl] ._dottedBarContainer_148vu_83 ._bar_148vu_82,[dir=rtl] ._dottedBarContainer_148vu_83 ._dottedBar_148vu_83{animation-direction:reverse}@media (forced-colors:active){._barContainer_148vu_82,._dottedBarContainer_148vu_83{--progress-indicator-color:Highlight;forced-color-adjust:none;background-color:canvas;outline:1px solid canvastext}}._barContainer_148vu_82 ._bar_148vu_82,._dottedBarContainer_148vu_83 ._bar_148vu_82{background-color:var(--progress-indicator-color);width:50%;height:100%;animation:2s linear infinite _barAnimation_148vu_1}._barContainer_148vu_82 ._dottedBar_148vu_83,._dottedBarContainer_148vu_83 ._dottedBar_148vu_83{background:repeating-linear-gradient(90deg, var(--progress-indicator-color), var(--progress-indicator-color) 10px, transparent 10px, transparent 20px);width:100%;height:100%;animation:2s linear infinite _dottedBarAnimation_148vu_1}@keyframes _barAnimation_148vu_1{0%{transform:translate(-100%)}to{transform:translate(100%)}}._waveContainer_148vu_39{background-color:#0000;justify-content:center;align-items:center;display:flex}._waveContainer_148vu_39 ._wave_148vu_39{animation:1.5s ease-in-out infinite _waveAnimation_148vu_1}@keyframes _waveAnimation_148vu_1{0%{transform:translateY(0)}50%{transform:translateY(-10px)}to{transform:translateY(0)}}@keyframes _dottedBarAnimation_148vu_1{0%{background-position:0 0}to{background-position:20px 0}}@media (prefers-reduced-motion:reduce){._spinner_148vu_37,._circle_148vu_38{animation-duration:2.4s}._bar_148vu_82,._dottedBar_148vu_83,._wave_148vu_39{animation-duration:6s}}
|
|
3
|
+
._tooltipTrigger_3rd49_1{justify-content:center;align-items:center;display:inline-flex}._tooltip_3rd49_1{max-width:min(var(--tooltip-max-width,300px), 100vw - 16px);overflow-wrap:anywhere;padding:var(--tooltip-padding,var(--space-2) var(--space-4));border-radius:var(--tooltip-radius,var(--radius-sm));font-size:var(--tooltip-font-size,var(--font-size-md));z-index:var(--tooltip-z-index,var(--z-popover));pointer-events:auto;box-shadow:var(--tooltip-shadow,var(--shadow-md));opacity:0;line-height:1.5;transition:opacity .2s ease-in-out;position:fixed;top:0;left:0;transform:translate(0,0)}._tooltip_3rd49_1:before{content:"";background:color-mix(in srgb, var(--text-inverse-color) 60%, transparent);pointer-events:none;opacity:0;width:0;height:100%;position:absolute;top:0;left:50%;transform:translate(-50%)}._tooltip_3rd49_1:focus:not(:active):before{animation:.6s ease-out forwards _rippleRect_3rd49_1}@keyframes _rippleRect_3rd49_1{0%{opacity:.6;width:0}to{opacity:0;width:200%}}._tooltip_3rd49_1._show_3rd49_49{opacity:1}._tooltip_3rd49_1._animation-fade_3rd49_52{transition:opacity .2s ease-in-out}._tooltip_3rd49_1._animation-scale_3rd49_55{transition:opacity .2s ease-in-out,transform .2s ease-in-out;transform:scale(.9)}._tooltip_3rd49_1._animation-scale_3rd49_55._show_3rd49_49{transform:scale(1)}._tooltip_3rd49_1._neutral_3rd49_62{--_tooltip-solid-bg:color-mix(in srgb, var(--foreground-color) 90%, var(--background-color));--_tooltip-solid-fg:var(--background-color);--_tooltip-subtle-bg:var(--surface-elevated-color);--_tooltip-subtle-fg:var(--text-color);--_tooltip-subtle-border:var(--border-color);--_tooltip-glass-border:color-mix(in srgb, var(--foreground-color) 14%, transparent)}._tooltip_3rd49_1._info_3rd49_70{--_tooltip-solid-bg:var(--info-color);--_tooltip-solid-fg:var(--text-inverse-color);--_tooltip-subtle-bg:var(--info-color-subtle);--_tooltip-subtle-fg:var(--info-color-text);--_tooltip-subtle-border:var(--info-color-border);--_tooltip-glass-border:color-mix(in srgb, var(--info-color) 45%, transparent)}._tooltip_3rd49_1._success_3rd49_78{--_tooltip-solid-bg:var(--success-color);--_tooltip-solid-fg:var(--text-inverse-color);--_tooltip-subtle-bg:var(--success-color-subtle);--_tooltip-subtle-fg:var(--success-color-text);--_tooltip-subtle-border:var(--success-color-border);--_tooltip-glass-border:color-mix(in srgb, var(--success-color) 45%, transparent)}._tooltip_3rd49_1._warning_3rd49_86{--_tooltip-solid-bg:var(--warning-color);--_tooltip-solid-fg:var(--text-inverse-color);--_tooltip-subtle-bg:var(--warning-color-subtle);--_tooltip-subtle-fg:var(--warning-color-text);--_tooltip-subtle-border:var(--warning-color-border);--_tooltip-glass-border:color-mix(in srgb, var(--warning-color) 45%, transparent)}._tooltip_3rd49_1._danger_3rd49_94{--_tooltip-solid-bg:var(--danger-color);--_tooltip-solid-fg:var(--text-inverse-color);--_tooltip-subtle-bg:var(--danger-color-subtle);--_tooltip-subtle-fg:var(--danger-color-text);--_tooltip-subtle-border:var(--danger-color-border);--_tooltip-glass-border:color-mix(in srgb, var(--danger-color) 45%, transparent)}._tooltip_3rd49_1._solid_3rd49_102{background:var(--tooltip-bg,var(--_tooltip-solid-bg));color:var(--tooltip-color,var(--_tooltip-solid-fg))}._tooltip_3rd49_1._subtle_3rd49_106{background:var(--tooltip-bg,var(--_tooltip-subtle-bg));color:var(--tooltip-color,var(--_tooltip-subtle-fg));border:1px solid var(--_tooltip-subtle-border)}._tooltip_3rd49_1._glass_3rd49_111{background:var(--tooltip-bg,color-mix(in srgb, var(--surface-elevated-color) 96%, transparent));color:var(--tooltip-color,var(--text-color));border:1px solid var(--_tooltip-glass-border);box-shadow:var(--tooltip-shadow,var(--shadow-lg));-webkit-backdrop-filter:blur(14px)saturate(1.12);backdrop-filter:blur(14px)saturate(1.12);font-weight:var(--font-weight-medium)}._tooltip_3rd49_1._glass_3rd49_111._arrow_3rd49_119 ._tooltipArrow_3rd49_119{background:var(--tooltip-bg,var(--surface-elevated-color))}._tooltip_3rd49_1._default_3rd49_122{border-radius:var(--tooltip-radius,var(--radius-sm))}._tooltip_3rd49_1._rounded_3rd49_125{border-radius:var(--tooltip-radius,var(--radius-2xl));padding:var(--tooltip-padding,var(--space-3) var(--space-6))}._tooltip_3rd49_1._thought_3rd49_129{border-radius:var(--tooltip-radius,calc(var(--radius-2xl) * 1.25))}._tooltip_3rd49_1._thought_3rd49_129:before{content:"";background:inherit;border-radius:50%;width:15px;height:15px;position:absolute;bottom:-15px;left:20px}._tooltip_3rd49_1._thought_3rd49_129:after{content:"";background:inherit;border-radius:50%;width:10px;height:10px;position:absolute;bottom:-25px;left:15px}._tooltip_3rd49_1._square_3rd49_152{border-radius:0}._tooltip_3rd49_1._followCursor_3rd49_155{pointer-events:none;transition:none}._tooltip_3rd49_1._arrow_3rd49_119 ._tooltipArrow_3rd49_119{background:inherit;width:12px;height:12px;position:absolute;transform:rotate(45deg)}._tooltip_3rd49_1._arrow_3rd49_119[data-placement^=top] ._tooltipArrow_3rd49_119{border-bottom:1px solid color-mix(in srgb, var(--foreground-color) 10%, transparent);border-right:1px solid color-mix(in srgb, var(--foreground-color) 10%, transparent);bottom:-6px;left:calc(50% - 6px)}._tooltip_3rd49_1._arrow_3rd49_119[data-placement^=bottom] ._tooltipArrow_3rd49_119{border-top:1px solid color-mix(in srgb, var(--foreground-color) 10%, transparent);border-left:1px solid color-mix(in srgb, var(--foreground-color) 10%, transparent);top:-6px;left:calc(50% - 6px)}._tooltip_3rd49_1._arrow_3rd49_119[data-placement^=left] ._tooltipArrow_3rd49_119{border-top:1px solid color-mix(in srgb, var(--foreground-color) 10%, transparent);border-right:1px solid color-mix(in srgb, var(--foreground-color) 10%, transparent);top:calc(50% - 6px);right:-6px}._tooltip_3rd49_1._arrow_3rd49_119[data-placement^=right] ._tooltipArrow_3rd49_119{border-bottom:1px solid color-mix(in srgb, var(--foreground-color) 10%, transparent);border-left:1px solid color-mix(in srgb, var(--foreground-color) 10%, transparent);top:calc(50% - 6px);left:-6px}@media (prefers-reduced-motion:reduce){._tooltip_3rd49_1,._tooltip_3rd49_1._animation-fade_3rd49_52,._tooltip_3rd49_1._animation-scale_3rd49_55{transition:none}._tooltip_3rd49_1._animation-scale_3rd49_55{transform:none}}@media (forced-colors:active){._tooltip_3rd49_1{border:1px solid canvastext}}@media print{._tooltip_3rd49_1{display:none}}
|
|
4
|
+
._iconButton_syaw4_1{cursor:pointer;transition:all var(--transition-base);background-color:#0000;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative;overflow:hidden}._iconButton_syaw4_1:before{content:"";background:color-mix(in srgb, var(--text-inverse-color) 60%, transparent);pointer-events:none;opacity:0;width:0;height:100%;position:absolute;top:0;left:50%;transform:translate(-50%)}._iconButton_syaw4_1:focus:not(:active):before{animation:.6s ease-out forwards _rippleRect_syaw4_1}@keyframes _rippleRect_syaw4_1{0%{opacity:.6;width:0}to{opacity:0;width:200%}}._iconButton_syaw4_1._xsmall_syaw4_38{width:var(--icon-button-size,var(--control-height-xs));height:var(--icon-button-size,var(--control-height-xs));font-size:var(--icon-button-icon-size,.875rem)}._iconButton_syaw4_1._small_syaw4_43{width:var(--icon-button-size,calc(var(--control-height-sm) + var(--space-1)));height:var(--icon-button-size,calc(var(--control-height-sm) + var(--space-1)));font-size:var(--icon-button-icon-size,1.125rem)}._iconButton_syaw4_1._medium_syaw4_48{width:var(--icon-button-size,calc(var(--control-height-md) + var(--space-1)));height:var(--icon-button-size,calc(var(--control-height-md) + var(--space-1)));font-size:var(--icon-button-icon-size,1.375rem)}._iconButton_syaw4_1._large_syaw4_53{width:var(--icon-button-size,calc(var(--control-height-lg) + var(--space-1)));height:var(--icon-button-size,calc(var(--control-height-lg) + var(--space-1)));font-size:var(--icon-button-icon-size,1.625rem)}._iconButton_syaw4_1._circle_syaw4_58{border-radius:50%}._iconButton_syaw4_1._square_syaw4_61{border-radius:var(--icon-button-radius,var(--radius-lg))}._iconButton_syaw4_1._neutral_syaw4_64{--_ib-tone:color-mix(in srgb, var(--text-color) 80%, var(--background-color));--_ib-tone-hover:color-mix(in srgb, var(--text-color) 88%, var(--background-color));--_ib-tone-active:color-mix(in srgb, var(--text-color) 96%, var(--background-color));--_ib-border:var(--border-strong-color);--_ib-text:var(--text-secondary-color);--_ib-text-pressed:var(--text-color);--_ib-subtle:color-mix(in srgb, var(--text-color) 8%, transparent);--_ib-subtle-pressed:color-mix(in srgb, var(--text-color) 12%, transparent)}._iconButton_syaw4_1._primary_syaw4_74{--_ib-tone:var(--primary-color);--_ib-tone-hover:var(--primary-color-hover);--_ib-tone-active:var(--primary-color-active);--_ib-border:var(--primary-color);--_ib-text:var(--primary-color-text);--_ib-text-pressed:var(--primary-color-active);--_ib-subtle:var(--primary-color-subtle);--_ib-subtle-pressed:color-mix(in srgb, var(--primary-color) 16%, transparent)}._iconButton_syaw4_1._success_syaw4_84{--_ib-tone:var(--success-color);--_ib-tone-hover:var(--success-color-hover);--_ib-tone-active:var(--success-color-active);--_ib-border:var(--success-color);--_ib-text:var(--success-color-text);--_ib-text-pressed:var(--success-color-active);--_ib-subtle:var(--success-color-subtle);--_ib-subtle-pressed:color-mix(in srgb, var(--success-color) 16%, transparent)}._iconButton_syaw4_1._warning_syaw4_94{--_ib-tone:var(--warning-color);--_ib-tone-hover:var(--warning-color-hover);--_ib-tone-active:var(--warning-color-active);--_ib-border:var(--warning-color);--_ib-text:var(--warning-color-text);--_ib-text-pressed:var(--warning-color-active);--_ib-subtle:var(--warning-color-subtle);--_ib-subtle-pressed:color-mix(in srgb, var(--warning-color) 16%, transparent)}._iconButton_syaw4_1._danger_syaw4_104{--_ib-tone:var(--danger-color);--_ib-tone-hover:var(--danger-color-hover);--_ib-tone-active:var(--danger-color-active);--_ib-border:var(--danger-color);--_ib-text:var(--danger-color-text);--_ib-text-pressed:var(--danger-color-active);--_ib-subtle:var(--danger-color-subtle);--_ib-subtle-pressed:color-mix(in srgb, var(--danger-color) 16%, transparent)}._iconButton_syaw4_1._info_syaw4_114{--_ib-tone:var(--info-color);--_ib-tone-hover:var(--info-color-hover);--_ib-tone-active:var(--info-color-active);--_ib-border:var(--info-color);--_ib-text:var(--info-color-text);--_ib-text-pressed:var(--info-color-active);--_ib-subtle:var(--info-color-subtle);--_ib-subtle-pressed:color-mix(in srgb, var(--info-color) 16%, transparent)}._iconButton_syaw4_1._variant-ghost_syaw4_124,._iconButton_syaw4_1._variant-outline_syaw4_124{color:var(--icon-button-color,var(--_ib-text))}._iconButton_syaw4_1._variant-ghost_syaw4_124:hover:not(._disabled_syaw4_127):not(._loading_syaw4_127),._iconButton_syaw4_1._variant-outline_syaw4_124:hover:not(._disabled_syaw4_127):not(._loading_syaw4_127){background-color:var(--icon-button-hover-bg,var(--_ib-subtle))}._iconButton_syaw4_1._variant-ghost_syaw4_124._pressed_syaw4_130,._iconButton_syaw4_1._variant-outline_syaw4_124._pressed_syaw4_130{color:var(--icon-button-pressed-color,var(--_ib-text-pressed));background-color:var(--icon-button-pressed-bg,var(--_ib-subtle-pressed))}._iconButton_syaw4_1._variant-solid_syaw4_134{background-color:var(--_ib-tone);color:var(--icon-button-color,var(--text-inverse-color))}._iconButton_syaw4_1._variant-solid_syaw4_134:hover:not(._disabled_syaw4_127):not(._loading_syaw4_127){background-color:var(--icon-button-hover-bg,var(--_ib-tone-hover))}._iconButton_syaw4_1._variant-solid_syaw4_134._pressed_syaw4_130{color:var(--icon-button-pressed-color,var(--text-inverse-color));background-color:var(--icon-button-pressed-bg,var(--_ib-tone-active))}._iconButton_syaw4_1 ._glyph_syaw4_145{justify-content:center;align-items:center;display:inline-flex}._iconButton_syaw4_1 svg{transition:color var(--transition-base)}._iconButton_syaw4_1:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px}._iconButton_syaw4_1:hover:not(._disabled_syaw4_127):not(._loading_syaw4_127){box-shadow:var(--shadow-sm)}._iconButton_syaw4_1:active:not(._disabled_syaw4_127):not(._loading_syaw4_127),._iconButton_syaw4_1._pressed_syaw4_130{box-shadow:var(--shadow-md)}._iconButton_syaw4_1._variant-outline_syaw4_124{box-shadow:inset 0 0 0 1px var(--_ib-border)}._iconButton_syaw4_1._variant-outline_syaw4_124:hover:not(._disabled_syaw4_127):not(._loading_syaw4_127){box-shadow:inset 0 0 0 1px var(--_ib-border), var(--shadow-sm)}._iconButton_syaw4_1._variant-outline_syaw4_124:active:not(._disabled_syaw4_127):not(._loading_syaw4_127),._iconButton_syaw4_1._variant-outline_syaw4_124._pressed_syaw4_130{box-shadow:inset 0 0 0 1px var(--_ib-border), var(--shadow-md)}._iconButton_syaw4_1._disabled_syaw4_127{opacity:.5;cursor:not-allowed!important}._iconButton_syaw4_1._loading_syaw4_127{pointer-events:none;cursor:wait!important}@media (prefers-reduced-motion:reduce){._iconButton_syaw4_1:before{animation:none!important}}@media (forced-colors:active){._iconButton_syaw4_1._pressed_syaw4_130{forced-color-adjust:none;color:highlighttext;background-color:highlight}._iconButton_syaw4_1._variant-outline_syaw4_124:not(:focus-visible){outline-offset:-1px;outline:1px solid buttontext}}
|
|
5
|
+
._root_yd6w8_1{--_input-border:var(--input-border-color,var(--border-color));--_input-pad-x:var(--input-padding-x,var(--control-padding-x-sm));background-color:var(--input-background,var(--surface-color));border-radius:var(--input-radius,var(--radius-lg));width:100%;min-width:0;box-shadow:inset 0 0 0 1px var(--_input-border);color:var(--text-color);transition:box-shadow var(--transition-fast), background-color var(--transition-fast);border:1px solid #0000;align-items:center;display:inline-flex;position:relative}._root_yd6w8_1:hover:not(._disabled_yd6w8_16){--_input-border:var(--input-focus-color,var(--primary-color))}._root_yd6w8_1:focus-within{--_input-border:var(--input-focus-color,var(--minerva-focus-border-color,var(--primary-color)));box-shadow:inset 0 0 0 1px var(--_input-border), 0 0 0 var(--minerva-focus-ring-width,3px) var(--minerva-focus-ring-color,var(--focus-ring-color));outline-offset:1px;outline:2px solid #0000}._small_yd6w8_26{min-height:var(--input-height,var(--control-height-sm));font-size:var(--input-font-size,var(--font-size-sm))}._medium_yd6w8_31{min-height:var(--input-height,var(--control-height-md));font-size:var(--input-font-size,var(--font-size-md))}._large_yd6w8_36{min-height:var(--input-height,var(--control-height-lg));font-size:var(--input-font-size,var(--font-size-lg));--_input-pad-x:var(--input-padding-x,var(--control-padding-x-md))}._outline_yd6w8_42{min-width:0}._filled_yd6w8_46{--_input-border:transparent;background-color:var(--surface-muted-color)}._filled_yd6w8_46:focus-within{background-color:var(--surface-color)}._unstyled_yd6w8_54{--_input-border:transparent;box-shadow:none;background:0 0}._unstyled_yd6w8_54:hover:not(._disabled_yd6w8_16){--_input-border:transparent}._unstyled_yd6w8_54:focus-within{box-shadow:none}._invalid_yd6w8_66,._invalid_yd6w8_66:hover:not(._disabled_yd6w8_16){--_input-border:var(--danger-color)}._invalid_yd6w8_66:focus-within{--_input-border:var(--danger-color);box-shadow:inset 0 0 0 1px var(--_input-border), 0 0 0 var(--minerva-focus-ring-width,3px) color-mix(in srgb, var(--danger-color) 40%, transparent);outline-offset:1px;outline:2px solid #0000}._disabled_yd6w8_16{background-color:var(--surface-subtle-color);cursor:not-allowed;opacity:.6}._field_yd6w8_85{min-width:0;padding:0 var(--_input-pad-x);font:inherit;color:inherit;background:0 0;border:none;outline:none;flex:1;align-self:stretch}._field_yd6w8_85::placeholder{color:var(--text-muted-color)}._field_yd6w8_85:disabled{cursor:not-allowed}._addon_yd6w8_103{padding:0 var(--space-3);color:var(--text-secondary-color);flex-shrink:0;justify-content:center;align-items:center;font-size:1em;display:inline-flex}._action_yd6w8_113{width:1.75em;height:1.75em;border-radius:var(--radius-sm);color:var(--text-secondary-color);cursor:pointer;background:0 0;border:0;flex-shrink:0;justify-content:center;align-items:center;margin-inline-start:var(--space-1);padding:0;font-size:1em;display:inline-flex}._action_yd6w8_113:hover:not(:disabled){color:var(--text-color);background-color:color-mix(in srgb, var(--text-color) 8%, transparent)}._action_yd6w8_113:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:1px}._action_yd6w8_113:disabled{cursor:not-allowed}._action_yd6w8_113:last-child{margin-inline-end:calc(var(--_input-pad-x) - var(--space-1))}._count_yd6w8_144{padding:0;color:var(--text-muted-color);font-size:var(--font-size-sm);font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0;padding-inline-start:var(--space-2)}._count_yd6w8_144:last-child{padding-inline-end:var(--_input-pad-x)}._start_yd6w8_157+._field_yd6w8_85{padding-inline-start:0}:is(._field_yd6w8_85:has(+._end_yd6w8_161),._field_yd6w8_85:has(+._action_yd6w8_113),._field_yd6w8_85:has(+._count_yd6w8_144)){padding-inline-end:0}@media (forced-colors:active){._root_yd6w8_1:focus-within{outline-offset:1px;outline:2px solid highlight}}
|
|
6
|
+
._datePicker_6el17_1{width:var(--date-picker-width,100%);display:inline-block;position:relative}._datePicker_6el17_1 ._clearButton_6el17_6{opacity:.45;transition:opacity var(--transition-base);color:var(--text-secondary-color)}._datePicker_6el17_1 ._clearButton_6el17_6:hover,._datePicker_6el17_1 ._clearButton_6el17_6:focus-visible{opacity:1;color:var(--text-color)}._datePicker_6el17_1 ._clearButton_6el17_6:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px}._datePicker_6el17_1:hover ._clearButton_6el17_6{opacity:.8}._datePicker_6el17_1 ._calendarIcon_6el17_22{padding:0 var(--space-1-5);color:var(--text-secondary-color);align-items:center;display:inline-flex}._popup_6el17_29{z-index:var(--z-dropdown);outline:none}._panel_6el17_34{width:var(--date-picker-panel-width,17.5rem);padding:var(--date-picker-panel-padding,var(--space-3));border:1px solid var(--border-color);border-radius:var(--date-picker-panel-radius,var(--radius-lg));background:var(--surface-elevated-color,var(--surface-color));box-shadow:var(--shadow-lg);color:var(--text-color);font-family:var(--font-family-sans);font-size:var(--font-size-sm)}._header_6el17_46{justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);display:flex}._heading_6el17_54{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);margin:0}._navGroup_6el17_61{align-items:center;gap:var(--space-1);display:flex}._navButton_6el17_67{width:var(--control-height-sm,1.75rem);height:var(--control-height-sm,1.75rem);border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--surface-color);color:var(--text-color);cursor:pointer;transition:background-color var(--transition-fast), border-color var(--transition-fast);justify-content:center;align-items:center;padding:0;display:inline-flex}._navButton_6el17_67:hover:not(:disabled){background:var(--hover-color);border-color:var(--border-strong-color)}._navButton_6el17_67:focus-visible{outline-offset:2px;border-color:var(--primary-color);box-shadow:0 0 0 var(--focus-ring-width,2px) var(--focus-ring-color);outline:2px solid #0000}._grid_6el17_92{width:100%}._week_6el17_96{grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;margin-bottom:2px;display:grid}._weekday_6el17_103{padding-block:var(--space-1);text-align:center;color:var(--text-muted-color);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}._day_6el17_111{width:100%;height:var(--date-picker-cell-size,2rem);border-radius:var(--radius-md);color:var(--text-color);font:inherit;font-variant-numeric:tabular-nums;cursor:pointer;transition:background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0;display:inline-flex}._day_6el17_111:hover:not([aria-disabled=true]){background:var(--hover-color)}._day_6el17_111[data-outside]{color:var(--text-disabled-color)}._day_6el17_111[aria-current=date]{border-color:var(--primary-color);font-weight:var(--font-weight-semibold)}._day_6el17_111[aria-selected=true]{border-color:var(--primary-color);background:var(--primary-color);color:var(--text-inverse-color);font-weight:var(--font-weight-semibold)}._day_6el17_111[aria-selected=true]:hover{background:var(--primary-color-hover,var(--primary-color))}._day_6el17_111[aria-disabled=true]{cursor:not-allowed;opacity:.4}._day_6el17_111:focus-visible{outline-offset:-2px;border-color:var(--primary-color);box-shadow:0 0 0 var(--focus-ring-width,2px) var(--focus-ring-color);outline:2px solid #0000}._footer_6el17_157{justify-content:space-between;align-items:center;gap:var(--space-2);margin-top:var(--space-2);display:flex}._footerButton_6el17_165{height:var(--control-height-sm,1.75rem);padding:0 var(--space-2-5);border-radius:var(--radius-md);color:var(--primary-color-text,var(--primary-color));font:inherit;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);cursor:pointer;transition:background-color var(--transition-fast);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;display:inline-flex}._footerButton_6el17_165:hover:not(:disabled){background:var(--hover-color)}._footerButton_6el17_165:focus-visible{outline-offset:2px;box-shadow:0 0 0 var(--focus-ring-width,2px) var(--focus-ring-color);outline:2px solid #0000}@media (prefers-reduced-motion:reduce){._navButton_6el17_67,._day_6el17_111,._footerButton_6el17_165{transition:none}}@media (forced-colors:active){._day_6el17_111[aria-selected=true]{outline-offset:-2px;outline:2px solid highlight}}
|
|
7
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { NativeProps } from './shared.js';
|
|
2
|
+
export interface DatePickerProps extends NativeProps {
|
|
3
|
+
value?: string | null;
|
|
4
|
+
defaultValue?: string;
|
|
5
|
+
onChange?: (value: string) => void;
|
|
6
|
+
onOpenChange?: (open: boolean) => void;
|
|
7
|
+
minDate?: string;
|
|
8
|
+
maxDate?: string;
|
|
9
|
+
disabled?: boolean;
|
|
10
|
+
readOnly?: boolean;
|
|
11
|
+
required?: boolean;
|
|
12
|
+
invalid?: boolean;
|
|
13
|
+
clearable?: boolean;
|
|
14
|
+
placeholder?: string;
|
|
15
|
+
label?: string;
|
|
16
|
+
name?: string;
|
|
17
|
+
locale?: string;
|
|
18
|
+
size?: "small" | "medium" | "large";
|
|
19
|
+
}
|
|
20
|
+
export declare function DatePicker({ value, defaultValue, onChange, onOpenChange, minDate, maxDate, disabled, readOnly, required, invalid, clearable, placeholder, label, name, locale, size, ...props }: DatePickerProps): import('react').JSX.Element;
|
package/dist/taro/index.d.ts
CHANGED