@solace-health/ui 0.10.540 → 0.10.541
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunk-45WK3XAH.js +2 -0
- package/dist/{chunk-N2GXHZUY.js.map → chunk-45WK3XAH.js.map} +1 -1
- package/dist/chunk-CZDRX7IX.cjs +2 -0
- package/dist/chunk-CZDRX7IX.cjs.map +1 -0
- package/dist/chunk-O7F2Q7UO.cjs +2 -0
- package/dist/{chunk-RQS7G3ER.cjs.map → chunk-O7F2Q7UO.cjs.map} +1 -1
- package/dist/chunk-OJLMWCZK.js +2 -0
- package/dist/chunk-OJLMWCZK.js.map +1 -0
- package/dist/metafile-cjs.json +1 -1
- package/dist/metafile-esm.json +1 -1
- package/dist/v2/index.cjs +1 -1
- package/dist/v2/index.d.ts +1 -0
- package/dist/v2/index.js +1 -1
- package/dist/v2/navigation-menu/navigation-menu.cjs +2 -0
- package/dist/v2/navigation-menu/navigation-menu.cjs.map +1 -0
- package/dist/v2/navigation-menu/navigation-menu.d.ts +23 -0
- package/dist/v2/navigation-menu/navigation-menu.js +2 -0
- package/dist/v2/navigation-menu/navigation-menu.js.map +1 -0
- package/dist/v2/navigation-menu/navigation-menu.stories.d.ts +6 -0
- package/dist/v2/time-select/time-select.cjs +1 -1
- package/dist/v2/time-select/time-select.js +1 -1
- package/package.json +2 -1
- package/dist/chunk-N2GXHZUY.js +0 -2
- package/dist/chunk-RQS7G3ER.cjs +0 -2
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {a,d,c,g,i}from'./chunk-YIOPQQWU.js';import {a as a$1}from'./chunk-YTIIAU4W.js';import {DateTime,Duration}from'luxon';import {useMemo}from'react';import {jsxs,jsx}from'react/jsx-runtime';var v="00:00",C="24:00",S=r=>DateTime.fromFormat(r,"HH:mm").isValid,D=({startTime:r=v,endTime:t=C,interval:d$1=30,onChange:T=void 0,className:b="",size:w="default",portal:M=true,...h})=>{S(r)||(console.error(`Invalid startTime: ${r}`),r=v),S(t)||(console.error(`Invalid endTime: ${t}`),t=C);let f=useMemo(()=>{let o=DateTime.fromFormat(t,"HH:mm"),a=Duration.fromObject({minutes:d$1}),n=[],e=DateTime.fromFormat(r,"HH:mm");for(;e<=o;){let i=e.toFormat("HH:mm");i==="00:00"&&e.equals(o)&&(i="24:00"),n.push({label:e.toFormat("h:mm a"),value:{hour:e.toFormat("HH"),min:e.toFormat("mm"),raw:i,formatted:e.toFormat("h:mm a")}}),e=e.plus(a);}return n},[r,t,d$1]),F=f.map(o=>({label:o.label,value:o.value.raw}));return jsxs(a,{onValueChange:o=>{let a=f.find(n=>n.value.raw===o);a&&T?.(a);},...h,children:[jsx(d,{className:a$1("max-w-[240px] md:w-[150px]",b),size:w,children:jsx(c,{placeholder:"Select one"})}),jsx(g,{position:"popper",className:"max-h-90",portal:M,children:F.map(o=>jsx(i,{className:"h-10",value:o.value,children:o.label},o.value))})]})},kr=D;export{D as a,kr as b};//# sourceMappingURL=chunk-45WK3XAH.js.map
|
|
2
|
+
//# sourceMappingURL=chunk-45WK3XAH.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/v2/time-select/time-select.tsx"],"names":["START_TIME_DEFAULT","END_TIME_DEFAULT","isValidTime","time","DateTime","TimeSelect","startTime","endTime","interval","onChange","className","size","portal","inputProps","intervals","useMemo","dtEnd","durationInterval","Duration","res","i","raw","options","jsxs","Select","e","jsx","SelectTrigger","cn","SelectValue","SelectContent","option","SelectItem","time_select_default"],"mappings":"kMA0BA,IAAMA,CAAqB,CAAA,OAAA,CACrBC,CAAmB,CAAA,OAAA,CAEnBC,CAAeC,CAAAA,CAAAA,EACRC,QAAS,CAAA,UAAA,CAAWD,CAAM,CAAA,OAAO,CAClC,CAAA,OAAA,CAGCE,CAAa,CAAA,CAAC,CACzB,SAAA,CAAAC,CAAYN,CAAAA,CAAAA,CACZ,OAAAO,CAAAA,CAAAA,CAAUN,CACV,CAAA,QAAA,CAAAO,
|
|
1
|
+
{"version":3,"sources":["../src/v2/time-select/time-select.tsx"],"names":["START_TIME_DEFAULT","END_TIME_DEFAULT","isValidTime","time","DateTime","TimeSelect","startTime","endTime","interval","onChange","className","size","portal","inputProps","intervals","useMemo","dtEnd","durationInterval","Duration","res","i","raw","options","jsxs","Select","e","jsx","SelectTrigger","cn","SelectValue","SelectContent","option","SelectItem","time_select_default"],"mappings":"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","file":"chunk-45WK3XAH.js","sourcesContent":["import { DateTime, Duration } from 'luxon';\nimport { useMemo } from 'react';\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '@/v2';\nimport { cn } from '@/lib/utils';\n\nexport type Interval = {\n label: string;\n value: {\n hour: string;\n min: string;\n raw: string;\n formatted: string;\n };\n};\n\ntype Props = {\n startTime?: string;\n endTime?: string;\n interval?: number;\n onChange?: (e: Interval) => void;\n className?: string;\n size?: 'default' | 'sm';\n portal?: boolean;\n [inputProps: string]: unknown;\n};\n\nconst START_TIME_DEFAULT = '00:00';\nconst END_TIME_DEFAULT = '24:00';\n\nconst isValidTime = (time: string) => {\n const dt = DateTime.fromFormat(time, 'HH:mm');\n return dt.isValid;\n};\n\nexport const TimeSelect = ({\n startTime = START_TIME_DEFAULT,\n endTime = END_TIME_DEFAULT,\n interval = 30,\n onChange = undefined,\n className = '',\n size = 'default',\n portal = true,\n ...inputProps\n}: Props) => {\n if (!isValidTime(startTime)) {\n console.error(`Invalid startTime: ${startTime}`);\n // eslint-disable-next-line no-param-reassign\n startTime = START_TIME_DEFAULT;\n }\n if (!isValidTime(endTime)) {\n console.error(`Invalid endTime: ${endTime}`);\n // eslint-disable-next-line no-param-reassign\n endTime = END_TIME_DEFAULT;\n }\n\n const intervals = useMemo((): Interval[] => {\n const dtEnd = DateTime.fromFormat(endTime, 'HH:mm');\n const durationInterval = Duration.fromObject({ minutes: interval });\n const res = [];\n let i = DateTime.fromFormat(startTime, 'HH:mm');\n while (i <= dtEnd) {\n let raw = i.toFormat('HH:mm');\n // Avoid duplicate keys for \"00:00\" and \"00:00\" (end of day)\n if (raw === '00:00' && i.equals(dtEnd)) raw = '24:00';\n\n res.push({\n label: i.toFormat('h:mm a'),\n value: {\n hour: i.toFormat('HH'),\n min: i.toFormat('mm'),\n raw,\n formatted: i.toFormat('h:mm a'),\n },\n });\n i = i.plus(durationInterval);\n }\n\n return res;\n }, [startTime, endTime, interval]);\n\n const options = intervals.map((time) => ({\n label: time.label,\n value: time.value.raw,\n }));\n\n const handleOnSelect = (e: unknown) => {\n const interval = intervals.find((time) => time.value.raw === e);\n\n if (!interval) return;\n\n onChange?.(interval);\n };\n\n return (\n <Select onValueChange={handleOnSelect} {...inputProps}>\n <SelectTrigger className={cn('max-w-[240px] md:w-[150px]', className)} size={size}>\n <SelectValue placeholder=\"Select one\" />\n </SelectTrigger>\n <SelectContent position=\"popper\" className=\"max-h-90\" portal={portal}>\n {options.map((option) => (\n // Note that labels and values here may appear to be duplicates\n // For example, \"00:00\" and \"24:00\" will both have the same value \"00:00\"\n <SelectItem className=\"h-10\" key={option.value} value={option.value}>\n {option.label}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n );\n};\n\nexport default TimeSelect;\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use strict';var chunkQRO22BPZ_cjs=require('./chunk-QRO22BPZ.cjs'),n=require('react'),t=require('@radix-ui/react-navigation-menu'),classVarianceAuthority=require('class-variance-authority'),lu=require('react-icons/lu'),jsxRuntime=require('react/jsx-runtime');function _interopNamespace(e){if(e&&e.__esModule)return e;var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var n__namespace=/*#__PURE__*/_interopNamespace(n);var t__namespace=/*#__PURE__*/_interopNamespace(t);var p=classVarianceAuthority.cva("group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-base font-medium hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground disabled:pointer-events-none disabled:opacity-50 data-[state=open]:hover:bg-accent data-[state=open]:text-accent-foreground data-[state=open]:focus:bg-accent data-[state=open]:bg-accent/50 focus-visible:ring-ring/50 outline-none transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1",{variants:{variant:{default:"",appNavigation:chunkQRO22BPZ_cjs.a("bg-transparent hover:bg-green-800 focus:bg-green-800 data-[state=open]:bg-green-800/50 data-[state=open]:hover:bg-green-800 data-[state=open]:focus:bg-green-800","text-lg text-white hover:text-white focus:text-white data-[state=open]:text-white")}}}),g=n__namespace.createContext({variant:"default"});function c({className:e,...a}){return jsxRuntime.jsx("div",{className:chunkQRO22BPZ_cjs.a("absolute top-full left-0 isolate z-50 flex justify-center"),children:jsxRuntime.jsx(t__namespace.Viewport,{"data-slot":"navigation-menu-viewport",className:chunkQRO22BPZ_cjs.a("origin-top-center bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden rounded-md border shadow md:w-[var(--radix-navigation-menu-viewport-width)]",e),...a})})}function x({className:e,children:a,viewport:r=false,variant:s="default",...u}){let d=n__namespace.useMemo(()=>({variant:s}),[s]);return jsxRuntime.jsx(g.Provider,{value:d,children:jsxRuntime.jsxs(t__namespace.Root,{"data-slot":"navigation-menu","data-viewport":r,className:chunkQRO22BPZ_cjs.a("group/navigation-menu relative flex max-w-max flex-1 items-center justify-center",e),...u,children:[a,r&&jsxRuntime.jsx(c,{})]})})}function h({className:e,...a}){return jsxRuntime.jsx(t__namespace.List,{"data-slot":"navigation-menu-list",className:chunkQRO22BPZ_cjs.a("group flex flex-1 list-none items-center justify-center gap-1",e),...a})}function M({className:e,...a}){return jsxRuntime.jsx(t__namespace.Item,{"data-slot":"navigation-menu-item",className:chunkQRO22BPZ_cjs.a("relative",e),...a})}function P({className:e,children:a,highlighted:r=false,...s}){let{variant:u}=n__namespace.useContext(g);return jsxRuntime.jsxs(t__namespace.Trigger,{"data-slot":"navigation-menu-trigger",className:chunkQRO22BPZ_cjs.a(p({variant:u}),"group",e,u==="appNavigation"&&r&&"bg-white/20 font-semibold"),...s,children:[a," ",jsxRuntime.jsx(lu.LuChevronDown,{className:"relative top-[1px] ml-1 size-4 transition duration-300 group-data-[state=open]:rotate-180","aria-hidden":"true"})]})}function y({className:e,...a}){return jsxRuntime.jsx(t__namespace.Content,{"data-slot":"navigation-menu-content",className:chunkQRO22BPZ_cjs.a("data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 top-0 left-0 w-full min-w-56 p-3 md:absolute md:w-auto","group-data-[viewport=false]/navigation-menu:bg-popover group-data-[viewport=false]/navigation-menu:text-popover-foreground group-data-[viewport=false]/navigation-menu:data-[state=open]:animate-in group-data-[viewport=false]/navigation-menu:data-[state=closed]:animate-out group-data-[viewport=false]/navigation-menu:data-[state=closed]:zoom-out-95 group-data-[viewport=false]/navigation-menu:data-[state=open]:zoom-in-95 group-data-[viewport=false]/navigation-menu:data-[state=open]:fade-in-0 group-data-[viewport=false]/navigation-menu:data-[state=closed]:fade-out-0 group-data-[viewport=false]/navigation-menu:top-full group-data-[viewport=false]/navigation-menu:mt-1.5 group-data-[viewport=false]/navigation-menu:overflow-hidden group-data-[viewport=false]/navigation-menu:rounded-md group-data-[viewport=false]/navigation-menu:border group-data-[viewport=false]/navigation-menu:shadow group-data-[viewport=false]/navigation-menu:duration-200 **:data-[slot=navigation-menu-link]:focus:ring-0 **:data-[slot=navigation-menu-link]:focus:outline-none","flex flex-col gap-2",e),...a})}function C({className:e,highlighted:a=false,selected:r=false,...s}){let{variant:u}=n__namespace.useContext(g);return jsxRuntime.jsx(t__namespace.Link,{"data-slot":"navigation-menu-link",className:chunkQRO22BPZ_cjs.a("data-[active=true]:focus:bg-accent data-[active=true]:hover:bg-accent data-[active=true]:bg-accent/50 data-[active=true]:text-accent-foreground hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus-visible:ring-ring/50 [&_svg:not([class*='text-'])]:text-dark-green flex items-center gap-3 rounded-sm p-2 text-base transition-all outline-none focus-visible:ring-[3px] focus-visible:outline-1 [&_svg:not([class*='size-'])]:size-5",e,u==="appNavigation"&&a&&"bg-white/20",r&&"bg-gray-400/20 font-semibold"),...s})}function R({className:e,...a}){return jsxRuntime.jsx(t__namespace.Indicator,{"data-slot":"navigation-menu-indicator",className:chunkQRO22BPZ_cjs.a("data-[state=visible]:animate-in data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:fade-in top-full z-[1] flex h-1.5 items-end justify-center overflow-hidden",e),...a,children:jsxRuntime.jsx("div",{className:"bg-border relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm shadow-md"})})}exports.a=p;exports.b=c;exports.c=x;exports.d=h;exports.e=M;exports.f=P;exports.g=y;exports.h=C;exports.i=R;//# sourceMappingURL=chunk-CZDRX7IX.cjs.map
|
|
2
|
+
//# sourceMappingURL=chunk-CZDRX7IX.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/v2/navigation-menu/navigation-menu.tsx"],"names":["navigationMenuTriggerStyle","cva","cn","NavigationMenuContext","n","NavigationMenuViewport","className","props","jsx","t","NavigationMenu","children","viewport","variant","contextValue","jsxs","NavigationMenuList","NavigationMenuItem","NavigationMenuTrigger","highlighted","LuChevronDown","NavigationMenuContent","NavigationMenuLink","selected","NavigationMenuIndicator"],"mappings":"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","file":"chunk-CZDRX7IX.cjs","sourcesContent":["import * as React from 'react';\nimport * as NavigationMenuPrimitive from '@radix-ui/react-navigation-menu';\nimport { cva, VariantProps } from 'class-variance-authority';\nimport { LuChevronDown } from 'react-icons/lu';\nimport { cn } from '@/lib/utils';\n\nconst navigationMenuTriggerStyle = cva(\n 'group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-base font-medium hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground disabled:pointer-events-none disabled:opacity-50 data-[state=open]:hover:bg-accent data-[state=open]:text-accent-foreground data-[state=open]:focus:bg-accent data-[state=open]:bg-accent/50 focus-visible:ring-ring/50 outline-none transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1',\n {\n variants: {\n variant: {\n default: '',\n appNavigation: cn(\n // background\n 'bg-transparent hover:bg-green-800 focus:bg-green-800 data-[state=open]:bg-green-800/50 data-[state=open]:hover:bg-green-800 data-[state=open]:focus:bg-green-800',\n\n // text\n 'text-lg text-white hover:text-white focus:text-white data-[state=open]:text-white',\n ),\n },\n },\n },\n);\n\nconst NavigationMenuContext = React.createContext<VariantProps<typeof navigationMenuTriggerStyle>>({\n variant: 'default',\n});\n\nfunction NavigationMenuViewport({\n className,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Viewport>) {\n return (\n <div className={cn('absolute top-full left-0 isolate z-50 flex justify-center')}>\n <NavigationMenuPrimitive.Viewport\n data-slot=\"navigation-menu-viewport\"\n className={cn(\n 'origin-top-center bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden rounded-md border shadow md:w-[var(--radix-navigation-menu-viewport-width)]',\n className,\n )}\n {...props}\n />\n </div>\n );\n}\n\ntype NavigationMenuProps = React.ComponentProps<typeof NavigationMenuPrimitive.Root> &\n VariantProps<typeof navigationMenuTriggerStyle> & {\n viewport?: boolean;\n };\n\nfunction NavigationMenu({\n className,\n children,\n viewport = false,\n variant = 'default',\n ...props\n}: NavigationMenuProps) {\n const contextValue = React.useMemo(() => ({ variant }), [variant]);\n return (\n <NavigationMenuContext.Provider value={contextValue}>\n <NavigationMenuPrimitive.Root\n data-slot=\"navigation-menu\"\n data-viewport={viewport}\n className={cn(\n 'group/navigation-menu relative flex max-w-max flex-1 items-center justify-center',\n className,\n )}\n {...props}\n >\n {children}\n {viewport && <NavigationMenuViewport />}\n </NavigationMenuPrimitive.Root>\n </NavigationMenuContext.Provider>\n );\n}\n\nfunction NavigationMenuList({\n className,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.List>) {\n return (\n <NavigationMenuPrimitive.List\n data-slot=\"navigation-menu-list\"\n className={cn('group flex flex-1 list-none items-center justify-center gap-1', className)}\n {...props}\n />\n );\n}\n\nfunction NavigationMenuItem({\n className,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Item>) {\n return (\n <NavigationMenuPrimitive.Item\n data-slot=\"navigation-menu-item\"\n className={cn('relative', className)}\n {...props}\n />\n );\n}\n\nfunction NavigationMenuTrigger({\n className,\n children,\n highlighted = false,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Trigger> & { highlighted?: boolean }) {\n const { variant } = React.useContext(NavigationMenuContext);\n return (\n <NavigationMenuPrimitive.Trigger\n data-slot=\"navigation-menu-trigger\"\n className={cn(\n navigationMenuTriggerStyle({ variant }),\n 'group',\n className,\n variant === 'appNavigation' && highlighted && 'bg-white/20 font-semibold',\n )}\n {...props}\n >\n {children}{' '}\n <LuChevronDown\n className=\"relative top-[1px] ml-1 size-4 transition duration-300 group-data-[state=open]:rotate-180\"\n aria-hidden=\"true\"\n />\n </NavigationMenuPrimitive.Trigger>\n );\n}\n\nfunction NavigationMenuContent({\n className,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Content>) {\n return (\n <NavigationMenuPrimitive.Content\n data-slot=\"navigation-menu-content\"\n className={cn(\n 'data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 top-0 left-0 w-full min-w-56 p-3 md:absolute md:w-auto',\n 'group-data-[viewport=false]/navigation-menu:bg-popover group-data-[viewport=false]/navigation-menu:text-popover-foreground group-data-[viewport=false]/navigation-menu:data-[state=open]:animate-in group-data-[viewport=false]/navigation-menu:data-[state=closed]:animate-out group-data-[viewport=false]/navigation-menu:data-[state=closed]:zoom-out-95 group-data-[viewport=false]/navigation-menu:data-[state=open]:zoom-in-95 group-data-[viewport=false]/navigation-menu:data-[state=open]:fade-in-0 group-data-[viewport=false]/navigation-menu:data-[state=closed]:fade-out-0 group-data-[viewport=false]/navigation-menu:top-full group-data-[viewport=false]/navigation-menu:mt-1.5 group-data-[viewport=false]/navigation-menu:overflow-hidden group-data-[viewport=false]/navigation-menu:rounded-md group-data-[viewport=false]/navigation-menu:border group-data-[viewport=false]/navigation-menu:shadow group-data-[viewport=false]/navigation-menu:duration-200 **:data-[slot=navigation-menu-link]:focus:ring-0 **:data-[slot=navigation-menu-link]:focus:outline-none',\n 'flex flex-col gap-2',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction NavigationMenuLink({\n className,\n highlighted = false,\n selected = false,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Link> & {\n highlighted?: boolean;\n selected?: boolean;\n}) {\n const { variant } = React.useContext(NavigationMenuContext);\n return (\n <NavigationMenuPrimitive.Link\n data-slot=\"navigation-menu-link\"\n className={cn(\n \"data-[active=true]:focus:bg-accent data-[active=true]:hover:bg-accent data-[active=true]:bg-accent/50 data-[active=true]:text-accent-foreground hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus-visible:ring-ring/50 [&_svg:not([class*='text-'])]:text-dark-green flex items-center gap-3 rounded-sm p-2 text-base transition-all outline-none focus-visible:ring-[3px] focus-visible:outline-1 [&_svg:not([class*='size-'])]:size-5\",\n className,\n variant === 'appNavigation' && highlighted && 'bg-white/20',\n selected && 'bg-gray-400/20 font-semibold',\n )}\n {...props}\n />\n );\n}\n\nfunction NavigationMenuIndicator({\n className,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Indicator>) {\n return (\n <NavigationMenuPrimitive.Indicator\n data-slot=\"navigation-menu-indicator\"\n className={cn(\n 'data-[state=visible]:animate-in data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:fade-in top-full z-[1] flex h-1.5 items-end justify-center overflow-hidden',\n className,\n )}\n {...props}\n >\n <div className=\"bg-border relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm shadow-md\" />\n </NavigationMenuPrimitive.Indicator>\n );\n}\n\nexport {\n NavigationMenu,\n NavigationMenuList,\n NavigationMenuItem,\n NavigationMenuContent,\n NavigationMenuTrigger,\n NavigationMenuLink,\n NavigationMenuIndicator,\n NavigationMenuViewport,\n navigationMenuTriggerStyle,\n};\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use strict';var chunk75JCLU5T_cjs=require('./chunk-75JCLU5T.cjs'),chunkQRO22BPZ_cjs=require('./chunk-QRO22BPZ.cjs'),luxon=require('luxon'),react=require('react'),jsxRuntime=require('react/jsx-runtime');var v="00:00",C="24:00",S=r=>luxon.DateTime.fromFormat(r,"HH:mm").isValid,D=({startTime:r=v,endTime:t=C,interval:d=30,onChange:T=void 0,className:b="",size:w="default",portal:M=true,...h})=>{S(r)||(console.error(`Invalid startTime: ${r}`),r=v),S(t)||(console.error(`Invalid endTime: ${t}`),t=C);let f=react.useMemo(()=>{let o=luxon.DateTime.fromFormat(t,"HH:mm"),a=luxon.Duration.fromObject({minutes:d}),n=[],e=luxon.DateTime.fromFormat(r,"HH:mm");for(;e<=o;){let i=e.toFormat("HH:mm");i==="00:00"&&e.equals(o)&&(i="24:00"),n.push({label:e.toFormat("h:mm a"),value:{hour:e.toFormat("HH"),min:e.toFormat("mm"),raw:i,formatted:e.toFormat("h:mm a")}}),e=e.plus(a);}return n},[r,t,d]),F=f.map(o=>({label:o.label,value:o.value.raw}));return jsxRuntime.jsxs(chunk75JCLU5T_cjs.a,{onValueChange:o=>{let a=f.find(n=>n.value.raw===o);a&&T?.(a);},...h,children:[jsxRuntime.jsx(chunk75JCLU5T_cjs.d,{className:chunkQRO22BPZ_cjs.a("max-w-[240px] md:w-[150px]",b),size:w,children:jsxRuntime.jsx(chunk75JCLU5T_cjs.c,{placeholder:"Select one"})}),jsxRuntime.jsx(chunk75JCLU5T_cjs.g,{position:"popper",className:"max-h-90",portal:M,children:F.map(o=>jsxRuntime.jsx(chunk75JCLU5T_cjs.i,{className:"h-10",value:o.value,children:o.label},o.value))})]})},kr=D;exports.a=D;exports.b=kr;//# sourceMappingURL=chunk-O7F2Q7UO.cjs.map
|
|
2
|
+
//# sourceMappingURL=chunk-O7F2Q7UO.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/v2/time-select/time-select.tsx"],"names":["START_TIME_DEFAULT","END_TIME_DEFAULT","isValidTime","time","DateTime","TimeSelect","startTime","endTime","interval","onChange","className","size","portal","inputProps","intervals","useMemo","dtEnd","durationInterval","Duration","res","i","raw","options","jsxs","Select","e","jsx","SelectTrigger","cn","SelectValue","SelectContent","option","SelectItem","time_select_default"],"mappings":"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","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/v2/time-select/time-select.tsx"],"names":["START_TIME_DEFAULT","END_TIME_DEFAULT","isValidTime","time","DateTime","TimeSelect","startTime","endTime","interval","onChange","className","size","portal","inputProps","intervals","useMemo","dtEnd","durationInterval","Duration","res","i","raw","options","jsxs","Select","e","jsx","SelectTrigger","cn","SelectValue","SelectContent","option","SelectItem","time_select_default"],"mappings":"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","file":"chunk-O7F2Q7UO.cjs","sourcesContent":["import { DateTime, Duration } from 'luxon';\nimport { useMemo } from 'react';\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '@/v2';\nimport { cn } from '@/lib/utils';\n\nexport type Interval = {\n label: string;\n value: {\n hour: string;\n min: string;\n raw: string;\n formatted: string;\n };\n};\n\ntype Props = {\n startTime?: string;\n endTime?: string;\n interval?: number;\n onChange?: (e: Interval) => void;\n className?: string;\n size?: 'default' | 'sm';\n portal?: boolean;\n [inputProps: string]: unknown;\n};\n\nconst START_TIME_DEFAULT = '00:00';\nconst END_TIME_DEFAULT = '24:00';\n\nconst isValidTime = (time: string) => {\n const dt = DateTime.fromFormat(time, 'HH:mm');\n return dt.isValid;\n};\n\nexport const TimeSelect = ({\n startTime = START_TIME_DEFAULT,\n endTime = END_TIME_DEFAULT,\n interval = 30,\n onChange = undefined,\n className = '',\n size = 'default',\n portal = true,\n ...inputProps\n}: Props) => {\n if (!isValidTime(startTime)) {\n console.error(`Invalid startTime: ${startTime}`);\n // eslint-disable-next-line no-param-reassign\n startTime = START_TIME_DEFAULT;\n }\n if (!isValidTime(endTime)) {\n console.error(`Invalid endTime: ${endTime}`);\n // eslint-disable-next-line no-param-reassign\n endTime = END_TIME_DEFAULT;\n }\n\n const intervals = useMemo((): Interval[] => {\n const dtEnd = DateTime.fromFormat(endTime, 'HH:mm');\n const durationInterval = Duration.fromObject({ minutes: interval });\n const res = [];\n let i = DateTime.fromFormat(startTime, 'HH:mm');\n while (i <= dtEnd) {\n let raw = i.toFormat('HH:mm');\n // Avoid duplicate keys for \"00:00\" and \"00:00\" (end of day)\n if (raw === '00:00' && i.equals(dtEnd)) raw = '24:00';\n\n res.push({\n label: i.toFormat('h:mm a'),\n value: {\n hour: i.toFormat('HH'),\n min: i.toFormat('mm'),\n raw,\n formatted: i.toFormat('h:mm a'),\n },\n });\n i = i.plus(durationInterval);\n }\n\n return res;\n }, [startTime, endTime, interval]);\n\n const options = intervals.map((time) => ({\n label: time.label,\n value: time.value.raw,\n }));\n\n const handleOnSelect = (e: unknown) => {\n const interval = intervals.find((time) => time.value.raw === e);\n\n if (!interval) return;\n\n onChange?.(interval);\n };\n\n return (\n <Select onValueChange={handleOnSelect} {...inputProps}>\n <SelectTrigger className={cn('max-w-[240px] md:w-[150px]', className)} size={size}>\n <SelectValue placeholder=\"Select one\" />\n </SelectTrigger>\n <SelectContent position=\"popper\" className=\"max-h-90\" portal={portal}>\n {options.map((option) => (\n // Note that labels and values here may appear to be duplicates\n // For example, \"00:00\" and \"24:00\" will both have the same value \"00:00\"\n <SelectItem className=\"h-10\" key={option.value} value={option.value}>\n {option.label}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n );\n};\n\nexport default TimeSelect;\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {a}from'./chunk-YTIIAU4W.js';import*as n from'react';import*as t from'@radix-ui/react-navigation-menu';import {cva}from'class-variance-authority';import {LuChevronDown}from'react-icons/lu';import {jsx,jsxs}from'react/jsx-runtime';var p=cva("group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-base font-medium hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground disabled:pointer-events-none disabled:opacity-50 data-[state=open]:hover:bg-accent data-[state=open]:text-accent-foreground data-[state=open]:focus:bg-accent data-[state=open]:bg-accent/50 focus-visible:ring-ring/50 outline-none transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1",{variants:{variant:{default:"",appNavigation:a("bg-transparent hover:bg-green-800 focus:bg-green-800 data-[state=open]:bg-green-800/50 data-[state=open]:hover:bg-green-800 data-[state=open]:focus:bg-green-800","text-lg text-white hover:text-white focus:text-white data-[state=open]:text-white")}}}),g=n.createContext({variant:"default"});function c({className:e,...a$1}){return jsx("div",{className:a("absolute top-full left-0 isolate z-50 flex justify-center"),children:jsx(t.Viewport,{"data-slot":"navigation-menu-viewport",className:a("origin-top-center bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden rounded-md border shadow md:w-[var(--radix-navigation-menu-viewport-width)]",e),...a$1})})}function x({className:e,children:a$1,viewport:r=false,variant:s="default",...u}){let d=n.useMemo(()=>({variant:s}),[s]);return jsx(g.Provider,{value:d,children:jsxs(t.Root,{"data-slot":"navigation-menu","data-viewport":r,className:a("group/navigation-menu relative flex max-w-max flex-1 items-center justify-center",e),...u,children:[a$1,r&&jsx(c,{})]})})}function h({className:e,...a$1}){return jsx(t.List,{"data-slot":"navigation-menu-list",className:a("group flex flex-1 list-none items-center justify-center gap-1",e),...a$1})}function M({className:e,...a$1}){return jsx(t.Item,{"data-slot":"navigation-menu-item",className:a("relative",e),...a$1})}function P({className:e,children:a$1,highlighted:r=false,...s}){let{variant:u}=n.useContext(g);return jsxs(t.Trigger,{"data-slot":"navigation-menu-trigger",className:a(p({variant:u}),"group",e,u==="appNavigation"&&r&&"bg-white/20 font-semibold"),...s,children:[a$1," ",jsx(LuChevronDown,{className:"relative top-[1px] ml-1 size-4 transition duration-300 group-data-[state=open]:rotate-180","aria-hidden":"true"})]})}function y({className:e,...a$1}){return jsx(t.Content,{"data-slot":"navigation-menu-content",className:a("data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 top-0 left-0 w-full min-w-56 p-3 md:absolute md:w-auto","group-data-[viewport=false]/navigation-menu:bg-popover group-data-[viewport=false]/navigation-menu:text-popover-foreground group-data-[viewport=false]/navigation-menu:data-[state=open]:animate-in group-data-[viewport=false]/navigation-menu:data-[state=closed]:animate-out group-data-[viewport=false]/navigation-menu:data-[state=closed]:zoom-out-95 group-data-[viewport=false]/navigation-menu:data-[state=open]:zoom-in-95 group-data-[viewport=false]/navigation-menu:data-[state=open]:fade-in-0 group-data-[viewport=false]/navigation-menu:data-[state=closed]:fade-out-0 group-data-[viewport=false]/navigation-menu:top-full group-data-[viewport=false]/navigation-menu:mt-1.5 group-data-[viewport=false]/navigation-menu:overflow-hidden group-data-[viewport=false]/navigation-menu:rounded-md group-data-[viewport=false]/navigation-menu:border group-data-[viewport=false]/navigation-menu:shadow group-data-[viewport=false]/navigation-menu:duration-200 **:data-[slot=navigation-menu-link]:focus:ring-0 **:data-[slot=navigation-menu-link]:focus:outline-none","flex flex-col gap-2",e),...a$1})}function C({className:e,highlighted:a$1=false,selected:r=false,...s}){let{variant:u}=n.useContext(g);return jsx(t.Link,{"data-slot":"navigation-menu-link",className:a("data-[active=true]:focus:bg-accent data-[active=true]:hover:bg-accent data-[active=true]:bg-accent/50 data-[active=true]:text-accent-foreground hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus-visible:ring-ring/50 [&_svg:not([class*='text-'])]:text-dark-green flex items-center gap-3 rounded-sm p-2 text-base transition-all outline-none focus-visible:ring-[3px] focus-visible:outline-1 [&_svg:not([class*='size-'])]:size-5",e,u==="appNavigation"&&a$1&&"bg-white/20",r&&"bg-gray-400/20 font-semibold"),...s})}function R({className:e,...a$1}){return jsx(t.Indicator,{"data-slot":"navigation-menu-indicator",className:a("data-[state=visible]:animate-in data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:fade-in top-full z-[1] flex h-1.5 items-end justify-center overflow-hidden",e),...a$1,children:jsx("div",{className:"bg-border relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm shadow-md"})})}export{p as a,c as b,x as c,h as d,M as e,P as f,y as g,C as h,R as i};//# sourceMappingURL=chunk-OJLMWCZK.js.map
|
|
2
|
+
//# sourceMappingURL=chunk-OJLMWCZK.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/v2/navigation-menu/navigation-menu.tsx"],"names":["navigationMenuTriggerStyle","cva","cn","NavigationMenuContext","NavigationMenuViewport","className","props","jsx","NavigationMenu","children","viewport","variant","contextValue","jsxs","NavigationMenuList","NavigationMenuItem","NavigationMenuTrigger","highlighted","LuChevronDown","NavigationMenuContent","NavigationMenuLink","selected","NavigationMenuIndicator"],"mappings":"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","file":"chunk-OJLMWCZK.js","sourcesContent":["import * as React from 'react';\nimport * as NavigationMenuPrimitive from '@radix-ui/react-navigation-menu';\nimport { cva, VariantProps } from 'class-variance-authority';\nimport { LuChevronDown } from 'react-icons/lu';\nimport { cn } from '@/lib/utils';\n\nconst navigationMenuTriggerStyle = cva(\n 'group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-base font-medium hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground disabled:pointer-events-none disabled:opacity-50 data-[state=open]:hover:bg-accent data-[state=open]:text-accent-foreground data-[state=open]:focus:bg-accent data-[state=open]:bg-accent/50 focus-visible:ring-ring/50 outline-none transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1',\n {\n variants: {\n variant: {\n default: '',\n appNavigation: cn(\n // background\n 'bg-transparent hover:bg-green-800 focus:bg-green-800 data-[state=open]:bg-green-800/50 data-[state=open]:hover:bg-green-800 data-[state=open]:focus:bg-green-800',\n\n // text\n 'text-lg text-white hover:text-white focus:text-white data-[state=open]:text-white',\n ),\n },\n },\n },\n);\n\nconst NavigationMenuContext = React.createContext<VariantProps<typeof navigationMenuTriggerStyle>>({\n variant: 'default',\n});\n\nfunction NavigationMenuViewport({\n className,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Viewport>) {\n return (\n <div className={cn('absolute top-full left-0 isolate z-50 flex justify-center')}>\n <NavigationMenuPrimitive.Viewport\n data-slot=\"navigation-menu-viewport\"\n className={cn(\n 'origin-top-center bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden rounded-md border shadow md:w-[var(--radix-navigation-menu-viewport-width)]',\n className,\n )}\n {...props}\n />\n </div>\n );\n}\n\ntype NavigationMenuProps = React.ComponentProps<typeof NavigationMenuPrimitive.Root> &\n VariantProps<typeof navigationMenuTriggerStyle> & {\n viewport?: boolean;\n };\n\nfunction NavigationMenu({\n className,\n children,\n viewport = false,\n variant = 'default',\n ...props\n}: NavigationMenuProps) {\n const contextValue = React.useMemo(() => ({ variant }), [variant]);\n return (\n <NavigationMenuContext.Provider value={contextValue}>\n <NavigationMenuPrimitive.Root\n data-slot=\"navigation-menu\"\n data-viewport={viewport}\n className={cn(\n 'group/navigation-menu relative flex max-w-max flex-1 items-center justify-center',\n className,\n )}\n {...props}\n >\n {children}\n {viewport && <NavigationMenuViewport />}\n </NavigationMenuPrimitive.Root>\n </NavigationMenuContext.Provider>\n );\n}\n\nfunction NavigationMenuList({\n className,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.List>) {\n return (\n <NavigationMenuPrimitive.List\n data-slot=\"navigation-menu-list\"\n className={cn('group flex flex-1 list-none items-center justify-center gap-1', className)}\n {...props}\n />\n );\n}\n\nfunction NavigationMenuItem({\n className,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Item>) {\n return (\n <NavigationMenuPrimitive.Item\n data-slot=\"navigation-menu-item\"\n className={cn('relative', className)}\n {...props}\n />\n );\n}\n\nfunction NavigationMenuTrigger({\n className,\n children,\n highlighted = false,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Trigger> & { highlighted?: boolean }) {\n const { variant } = React.useContext(NavigationMenuContext);\n return (\n <NavigationMenuPrimitive.Trigger\n data-slot=\"navigation-menu-trigger\"\n className={cn(\n navigationMenuTriggerStyle({ variant }),\n 'group',\n className,\n variant === 'appNavigation' && highlighted && 'bg-white/20 font-semibold',\n )}\n {...props}\n >\n {children}{' '}\n <LuChevronDown\n className=\"relative top-[1px] ml-1 size-4 transition duration-300 group-data-[state=open]:rotate-180\"\n aria-hidden=\"true\"\n />\n </NavigationMenuPrimitive.Trigger>\n );\n}\n\nfunction NavigationMenuContent({\n className,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Content>) {\n return (\n <NavigationMenuPrimitive.Content\n data-slot=\"navigation-menu-content\"\n className={cn(\n 'data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 top-0 left-0 w-full min-w-56 p-3 md:absolute md:w-auto',\n 'group-data-[viewport=false]/navigation-menu:bg-popover group-data-[viewport=false]/navigation-menu:text-popover-foreground group-data-[viewport=false]/navigation-menu:data-[state=open]:animate-in group-data-[viewport=false]/navigation-menu:data-[state=closed]:animate-out group-data-[viewport=false]/navigation-menu:data-[state=closed]:zoom-out-95 group-data-[viewport=false]/navigation-menu:data-[state=open]:zoom-in-95 group-data-[viewport=false]/navigation-menu:data-[state=open]:fade-in-0 group-data-[viewport=false]/navigation-menu:data-[state=closed]:fade-out-0 group-data-[viewport=false]/navigation-menu:top-full group-data-[viewport=false]/navigation-menu:mt-1.5 group-data-[viewport=false]/navigation-menu:overflow-hidden group-data-[viewport=false]/navigation-menu:rounded-md group-data-[viewport=false]/navigation-menu:border group-data-[viewport=false]/navigation-menu:shadow group-data-[viewport=false]/navigation-menu:duration-200 **:data-[slot=navigation-menu-link]:focus:ring-0 **:data-[slot=navigation-menu-link]:focus:outline-none',\n 'flex flex-col gap-2',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction NavigationMenuLink({\n className,\n highlighted = false,\n selected = false,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Link> & {\n highlighted?: boolean;\n selected?: boolean;\n}) {\n const { variant } = React.useContext(NavigationMenuContext);\n return (\n <NavigationMenuPrimitive.Link\n data-slot=\"navigation-menu-link\"\n className={cn(\n \"data-[active=true]:focus:bg-accent data-[active=true]:hover:bg-accent data-[active=true]:bg-accent/50 data-[active=true]:text-accent-foreground hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus-visible:ring-ring/50 [&_svg:not([class*='text-'])]:text-dark-green flex items-center gap-3 rounded-sm p-2 text-base transition-all outline-none focus-visible:ring-[3px] focus-visible:outline-1 [&_svg:not([class*='size-'])]:size-5\",\n className,\n variant === 'appNavigation' && highlighted && 'bg-white/20',\n selected && 'bg-gray-400/20 font-semibold',\n )}\n {...props}\n />\n );\n}\n\nfunction NavigationMenuIndicator({\n className,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Indicator>) {\n return (\n <NavigationMenuPrimitive.Indicator\n data-slot=\"navigation-menu-indicator\"\n className={cn(\n 'data-[state=visible]:animate-in data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:fade-in top-full z-[1] flex h-1.5 items-end justify-center overflow-hidden',\n className,\n )}\n {...props}\n >\n <div className=\"bg-border relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm shadow-md\" />\n </NavigationMenuPrimitive.Indicator>\n );\n}\n\nexport {\n NavigationMenu,\n NavigationMenuList,\n NavigationMenuItem,\n NavigationMenuContent,\n NavigationMenuTrigger,\n NavigationMenuLink,\n NavigationMenuIndicator,\n NavigationMenuViewport,\n navigationMenuTriggerStyle,\n};\n"]}
|