@commercetools/nimbus 0.0.0-canary-20251015053522 → 0.0.0-canary-20251015171040

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/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # nimbus-v2
1
+ # Nimbus
2
2
 
3
3
  To install dependencies:
4
4
 
@@ -11,3 +11,45 @@ To build:
11
11
  ```bash
12
12
  pnpm run build
13
13
  ```
14
+
15
+ ## Internationalization (i18n) Development
16
+
17
+ ### Workflow
18
+
19
+ - Create a new `.i18n.ts` file in the component's directory and add the new
20
+ message(s) to it.
21
+ - Example: `/components/alert/alert.i18n.ts`
22
+ - The message should follow the pattern: `Nimbus.{ComponentName}.{messageKey}`
23
+ - Be specific with the message description, these are used to help translators
24
+ with context for each message.
25
+ - Use the messages in your component:
26
+ - Example: `/components/alert/components/alert.dismiss-button.tsx`
27
+ - Run `pnpm extract-intl` prior to merging to update the `core.json` file so
28
+ Transifex can detect new translation keys.
29
+ - Test in Storybook to ensure the locale is working as expected.
30
+
31
+ ### Extracting Messages
32
+
33
+ ```bash
34
+ pnpm extract-intl
35
+ ```
36
+
37
+ This command performs two operations:
38
+
39
+ 1. **Extracts** translation messages from all `.i18n.ts` files and saves them to
40
+ `packages/i18n/data/core.json`
41
+ 2. **Compiles** the extracted messages into optimized AST format in
42
+ `compiled-data/` for distribution
43
+
44
+ **Note:** The i18n package also builds automatically during `pnpm build`.
45
+
46
+ > 📦 Translation data is organized in the
47
+ > [`@commercetools/nimbus-i18n`](../i18n/README.md) package.
48
+
49
+ ## Translation Workflow
50
+
51
+ - Notifying Tx, TBD
52
+
53
+ ## Distribution
54
+
55
+ - Describe how i18n will be packaged for appkit to be consumed by mc-apps.
@@ -1,2 +1,2 @@
1
- "use strict";const e=require("react/jsx-runtime"),n=require("react"),B=require("@chakra-ui/react"),E=require("./box-CWni3A32.cjs.js"),T=require("./stack-CIN13EDn.cjs.js"),r=require("@commercetools/nimbus-icons"),q=require("./icon-button-vWPrT-bR.cjs.js"),p=require("react-intl"),{withProvider:I,withContext:l}=B.createSlotRecipeContext({key:"alert"}),R=I("div","root"),b=l("div","title"),y=l("div","description"),S=l("div","icon"),$=l("div","actions"),k=l("div","dismissButton"),w=s=>{switch(s){case"critical":return e.jsx(r.ErrorOutline,{});case"info":return e.jsx(r.Info,{});case"warning":return e.jsx(r.WarningAmber,{});case"positive":return e.jsx(r.CheckCircleOutline,{});default:return null}},c=n.createContext(void 0),a=s=>{const{ref:i,children:t,...o}=s,[u,f]=n.useState(null),[v,D]=n.useState(null),[h,j]=n.useState(null),[C,g]=n.useState(null),N=n.useMemo(()=>({setTitle:f,setDescription:D,setActions:j,setDismiss:g}),[f,D,j,g]);return e.jsx(c.Provider,{value:N,children:e.jsxs(R,{ref:i,...o,role:"alert",children:[e.jsx(S,{alignItems:"flex-start",children:w(o.tone)}),e.jsxs(T.Stack,{flex:"1",gap:"200",children:[e.jsxs(E.Box,{children:[u,v]}),h]}),C,t]})})};a.displayName="Alert.Root";const d=({children:s,...i})=>{const t=n.useContext(c);return n.useEffect(()=>{if(t){const o=e.jsx(b,{...i,fontWeight:"600",children:s});return t.setTitle(o),()=>t.setTitle(null)}},[s,i]),null};d.displayName="Alert.Title";const m=({children:s,...i})=>{const t=n.useContext(c);return n.useEffect(()=>{if(t){const o=e.jsx(y,{...i,children:s});return t.setDescription(o),()=>t.setDescription(null)}},[s,i]),null};m.displayName="Alert.Description";const x=({children:s,...i})=>{const t=n.useContext(c);return n.useEffect(()=>{if(t){const o=e.jsx($,{...i,children:s});return t.setActions(o),()=>t.setActions(null)}},[s,i]),null};x.displayName="Alert.Actions";const M=p.defineMessages({dismiss:{id:"Nimbus.Alert.dismiss",description:"aria-label for dismiss button in alert",defaultMessage:"Dismiss"}}),A=({children:s,...i})=>{const t=n.useContext(c),o=p.useIntl();return n.useEffect(()=>{if(t){const u=e.jsx(k,{children:e.jsx(q.IconButton,{"aria-label":o.formatMessage(M.dismiss),...i,variant:"ghost",size:"2xs",children:e.jsx(r.Clear,{role:"img"})})});return t.setDismiss(u),()=>t.setDismiss(null)}},[s,i]),null};A.displayName="Alert.DismissButton";const P={Root:a,Title:d,Description:m,Actions:x,DismissButton:A};exports.Alert=P;exports.AlertActions=x;exports.AlertDescription=m;exports.AlertDismissButton=A;exports.AlertRoot=a;exports.AlertTitle=d;
2
- //# sourceMappingURL=alert-D-1RFln1.cjs.js.map
1
+ "use strict";const e=require("react/jsx-runtime"),n=require("react"),B=require("@chakra-ui/react"),E=require("./box-CWni3A32.cjs.js"),T=require("./stack-CIN13EDn.cjs.js"),r=require("@commercetools/nimbus-icons"),q=require("./icon-button-vWPrT-bR.cjs.js"),h=require("react-intl"),{withProvider:I,withContext:l}=B.createSlotRecipeContext({key:"alert"}),R=I("div","root"),b=l("div","title"),y=l("div","description"),S=l("div","icon"),$=l("div","actions"),k=l("div","dismissButton"),w=s=>{switch(s){case"critical":return e.jsx(r.ErrorOutline,{});case"info":return e.jsx(r.Info,{});case"warning":return e.jsx(r.WarningAmber,{});case"positive":return e.jsx(r.CheckCircleOutline,{});default:return null}},c=n.createContext(void 0),a=s=>{const{ref:i,children:t,...o}=s,[u,f]=n.useState(null),[p,D]=n.useState(null),[v,j]=n.useState(null),[C,g]=n.useState(null),N=n.useMemo(()=>({setTitle:f,setDescription:D,setActions:j,setDismiss:g}),[f,D,j,g]);return e.jsx(c.Provider,{value:N,children:e.jsxs(R,{ref:i,...o,role:"alert",children:[e.jsx(S,{alignItems:"flex-start",children:w(o.tone)}),e.jsxs(T.Stack,{flex:"1",gap:"200",children:[e.jsxs(E.Box,{children:[u,p]}),v]}),C,t]})})};a.displayName="Alert.Root";const d=({children:s,...i})=>{const t=n.useContext(c);return n.useEffect(()=>{if(t){const o=e.jsx(b,{...i,fontWeight:"600",children:s});return t.setTitle(o),()=>t.setTitle(null)}},[s,i]),null};d.displayName="Alert.Title";const m=({children:s,...i})=>{const t=n.useContext(c);return n.useEffect(()=>{if(t){const o=e.jsx(y,{...i,children:s});return t.setDescription(o),()=>t.setDescription(null)}},[s,i]),null};m.displayName="Alert.Description";const x=({children:s,...i})=>{const t=n.useContext(c);return n.useEffect(()=>{if(t){const o=e.jsx($,{...i,children:s});return t.setActions(o),()=>t.setActions(null)}},[s,i]),null};x.displayName="Alert.Actions";const M=h.defineMessages({dismiss:{id:"Nimbus.Alert.dismiss",description:"aria-label for the dismiss button in an alert",defaultMessage:"Dismiss"}}),A=({children:s,...i})=>{const t=n.useContext(c),o=h.useIntl();return n.useEffect(()=>{if(t){const u=e.jsx(k,{children:e.jsx(q.IconButton,{"aria-label":o.formatMessage(M.dismiss),...i,variant:"ghost",size:"2xs",children:e.jsx(r.Clear,{role:"img"})})});return t.setDismiss(u),()=>t.setDismiss(null)}},[s,i]),null};A.displayName="Alert.DismissButton";const P={Root:a,Title:d,Description:m,Actions:x,DismissButton:A};exports.Alert=P;exports.AlertActions=x;exports.AlertDescription=m;exports.AlertDismissButton=A;exports.AlertRoot=a;exports.AlertTitle=d;
2
+ //# sourceMappingURL=alert-CPHjPe4-.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"alert-D-1RFln1.cjs.js","sources":["../../src/components/alert/alert.slots.tsx","../../src/components/alert/components/alert.root.tsx","../../src/components/alert/components/alert.title.tsx","../../src/components/alert/components/alert.description.tsx","../../src/components/alert/components/alert.actions.tsx","../../src/components/alert/alert.i18n.ts","../../src/components/alert/components/alert.dismiss-button.tsx","../../src/components/alert/alert.tsx"],"sourcesContent":["import { createSlotRecipeContext } from \"@chakra-ui/react\";\nimport type {\n AlertActionsProps,\n AlertDescriptionProps,\n AlertDismissButtonProps,\n AlertIconProps,\n AlertRootProps,\n AlertTitleProps,\n} from \"./alert.types\";\n\nconst { withProvider, withContext } = createSlotRecipeContext({\n key: \"alert\",\n});\n\nexport const AlertRoot = withProvider<HTMLDivElement, AlertRootProps>(\n \"div\",\n \"root\"\n);\n\nexport const AlertTitle = withContext<HTMLDivElement, AlertTitleProps>(\n \"div\",\n \"title\"\n);\n\nexport const AlertDescription = withContext<\n HTMLDivElement,\n AlertDescriptionProps\n>(\"div\", \"description\");\n\nexport const AlertIcon = withContext<HTMLDivElement, AlertIconProps>(\n \"div\",\n \"icon\"\n);\n\nexport const AlertActions = withContext<HTMLDivElement, AlertActionsProps>(\n \"div\",\n \"actions\"\n);\n\n// This is a div wrapper for layout placement - note that we expect it to receive `IconButton` props, but we use a `div`.\n// We then forward the consumer props to the interior `IconButton` component.\nexport const AlertDismissButton = withContext<\n HTMLDivElement,\n AlertDismissButtonProps\n>(\"div\", \"dismissButton\");\n","import { createContext, useMemo, useState, type ReactNode } from \"react\";\nimport { AlertRoot as AlertRootSlot, AlertIcon } from \"../alert.slots\";\nimport type { AlertProps, AlertRootComponent } from \"../alert.types\";\nimport { Box } from \"../../box\";\nimport { Stack } from \"../../stack\";\nimport {\n CheckCircleOutline,\n ErrorOutline,\n Info,\n WarningAmber,\n} from \"@commercetools/nimbus-icons\";\n\nconst getIconFromTone = (tone: AlertProps[\"tone\"]) => {\n switch (tone) {\n case \"critical\":\n return <ErrorOutline />;\n case \"info\":\n return <Info />;\n case \"warning\":\n return <WarningAmber />;\n case \"positive\":\n return <CheckCircleOutline />;\n default:\n return null;\n }\n};\n\ntype AlertContextValue = {\n setTitle: (title: ReactNode) => void;\n setDescription: (description: ReactNode) => void;\n setActions: (actions: ReactNode) => void;\n setDismiss: (dismiss: ReactNode) => void;\n};\n\nexport const AlertContext = createContext<AlertContextValue | undefined>(\n undefined\n);\n\n/**\n * # Alert\n *\n * Provides feedback to the user about the status of an action or system event\n *\n * @see {@link https://nimbus-documentation.vercel.app/components/feedback/alert}\n */\nexport const AlertRoot: AlertRootComponent = (props) => {\n const { ref, children, ...restProps } = props;\n const [titleNode, setTitle] = useState<ReactNode>(null);\n const [descriptionNode, setDescription] = useState<ReactNode>(null);\n const [actionsNode, setActions] = useState<ReactNode>(null);\n const [dismissNode, setDismiss] = useState<ReactNode>(null);\n\n // Memoize the context value so we don't cause unnecessary re-renders\n const contextValue = useMemo(\n () => ({\n setTitle,\n setDescription,\n setActions,\n setDismiss,\n }),\n [setTitle, setDescription, setActions, setDismiss]\n );\n\n return (\n <AlertContext.Provider value={contextValue}>\n <AlertRootSlot ref={ref} {...restProps} role=\"alert\">\n <AlertIcon alignItems=\"flex-start\">\n {getIconFromTone(restProps.tone)}\n </AlertIcon>\n <Stack flex=\"1\" gap=\"200\">\n <Box>\n {titleNode}\n {descriptionNode}\n </Box>\n {actionsNode}\n </Stack>\n {dismissNode}\n\n {children}\n </AlertRootSlot>\n </AlertContext.Provider>\n );\n};\n\nAlertRoot.displayName = \"Alert.Root\";\n","import { useContext, useEffect } from \"react\";\nimport { AlertTitle as AlertTitleSlot } from \"../alert.slots\";\nimport type { AlertTitleProps } from \"../alert.types\";\nimport { AlertContext } from \"./alert.root\";\n\nexport const AlertTitle = ({ children, ...props }: AlertTitleProps) => {\n const context = useContext(AlertContext);\n\n useEffect(() => {\n if (context) {\n const slotElement = (\n <AlertTitleSlot {...props} fontWeight=\"600\">\n {children}\n </AlertTitleSlot>\n );\n // Register it with the parent\n context.setTitle(slotElement);\n\n // On unmount, remove it\n return () => context.setTitle(null);\n }\n }, [children, props]);\n\n return null;\n};\n\nAlertTitle.displayName = \"Alert.Title\";\n","import { useContext, useEffect } from \"react\";\nimport { AlertDescription as AlertDescriptionSlot } from \"../alert.slots\";\nimport type { AlertDescriptionProps } from \"../alert.types\";\nimport { AlertContext } from \"./alert.root\";\n\nexport const AlertDescription = ({\n children,\n ...props\n}: AlertDescriptionProps) => {\n const context = useContext(AlertContext);\n\n useEffect(() => {\n if (context) {\n const slotElement = (\n <AlertDescriptionSlot {...props}>{children}</AlertDescriptionSlot>\n );\n // Register it with the parent\n context.setDescription(slotElement);\n\n // On unmount, remove it\n return () => context.setDescription(null);\n }\n }, [children, props]);\n\n return null;\n};\n\nAlertDescription.displayName = \"Alert.Description\";\n","import { useContext, useEffect } from \"react\";\nimport { AlertActions as AlertActionsSlot } from \"../alert.slots\";\nimport type { AlertActionsProps } from \"../alert.types\";\nimport { AlertContext } from \"./alert.root\";\n\nexport const AlertActions = ({ children, ...props }: AlertActionsProps) => {\n const context = useContext(AlertContext);\n\n useEffect(() => {\n if (context) {\n const slotElement = (\n <AlertActionsSlot {...props}>{children}</AlertActionsSlot>\n );\n // Register it with the parent\n context.setActions(slotElement);\n\n // On unmount, remove it\n return () => context.setActions(null);\n }\n }, [children, props]);\n\n return null;\n};\n\nAlertActions.displayName = \"Alert.Actions\";\n","import { defineMessages } from \"react-intl\";\n\nexport const messages = defineMessages({\n dismiss: {\n id: \"Nimbus.Alert.dismiss\",\n description: \"aria-label for dismiss button in alert\",\n defaultMessage: \"Dismiss\",\n },\n});\n","import { useContext, useEffect } from \"react\";\nimport { AlertDismissButton as AlertDismissButtonSlot } from \"../alert.slots\";\nimport type { AlertDismissButtonProps } from \"../alert.types\";\nimport { Clear } from \"@commercetools/nimbus-icons\";\nimport { IconButton } from \"../../icon-button\";\nimport { AlertContext } from \"./alert.root\";\nimport { useIntl } from \"react-intl\";\nimport { messages } from \"../alert.i18n\";\n\nexport const AlertDismissButton = ({\n children,\n ...props\n}: AlertDismissButtonProps) => {\n const context = useContext(AlertContext);\n const intl = useIntl();\n\n useEffect(() => {\n if (context) {\n const slotElement = (\n <AlertDismissButtonSlot>\n <IconButton\n aria-label={intl.formatMessage(messages.dismiss)}\n {...props}\n variant=\"ghost\"\n size=\"2xs\"\n >\n <Clear role=\"img\" />\n </IconButton>\n </AlertDismissButtonSlot>\n );\n // Register it with the parent\n context.setDismiss(slotElement);\n\n // On unmount, remove it\n return () => context.setDismiss(null);\n }\n }, [children, props]);\n\n return null;\n};\n\nAlertDismissButton.displayName = \"Alert.DismissButton\";\n","import { AlertTitle } from \"./components/alert.title\";\nimport { AlertDescription } from \"./components/alert.description\";\nimport { AlertActions } from \"./components/alert.actions\";\nimport { AlertDismissButton } from \"./components/alert.dismiss-button\";\nimport { AlertRoot } from \"./components/alert.root\";\n\n/**\n * Alert\n * ============================================================\n * Provides feedback to the user about the status of an action or system event\n */\nexport const Alert = {\n Root: AlertRoot,\n Title: AlertTitle,\n Description: AlertDescription,\n Actions: AlertActions,\n DismissButton: AlertDismissButton,\n};\n\n// exports for internal use by react-docgen\nexport {\n AlertRoot as _AlertRoot,\n AlertTitle as _AlertTitle,\n AlertDescription as _AlertDescription,\n AlertActions as _AlertActions,\n AlertDismissButton as _AlertDismissButton,\n};\n"],"names":["withProvider","withContext","createSlotRecipeContext","AlertRoot","AlertTitle","AlertDescription","AlertIcon","AlertActions","AlertDismissButton","getIconFromTone","tone","ErrorOutline","Info","WarningAmber","CheckCircleOutline","AlertContext","createContext","props","ref","children","restProps","titleNode","setTitle","useState","descriptionNode","setDescription","actionsNode","setActions","dismissNode","setDismiss","contextValue","useMemo","jsx","jsxs","AlertRootSlot","Stack","Box","context","useContext","useEffect","slotElement","AlertTitleSlot","AlertDescriptionSlot","AlertActionsSlot","messages","defineMessages","intl","useIntl","AlertDismissButtonSlot","IconButton","Clear","Alert"],"mappings":"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"}
1
+ {"version":3,"file":"alert-CPHjPe4-.cjs.js","sources":["../../src/components/alert/alert.slots.tsx","../../src/components/alert/components/alert.root.tsx","../../src/components/alert/components/alert.title.tsx","../../src/components/alert/components/alert.description.tsx","../../src/components/alert/components/alert.actions.tsx","../../src/components/alert/alert.i18n.ts","../../src/components/alert/components/alert.dismiss-button.tsx","../../src/components/alert/alert.tsx"],"sourcesContent":["import { createSlotRecipeContext } from \"@chakra-ui/react\";\nimport type {\n AlertActionsProps,\n AlertDescriptionProps,\n AlertDismissButtonProps,\n AlertIconProps,\n AlertRootProps,\n AlertTitleProps,\n} from \"./alert.types\";\n\nconst { withProvider, withContext } = createSlotRecipeContext({\n key: \"alert\",\n});\n\nexport const AlertRoot = withProvider<HTMLDivElement, AlertRootProps>(\n \"div\",\n \"root\"\n);\n\nexport const AlertTitle = withContext<HTMLDivElement, AlertTitleProps>(\n \"div\",\n \"title\"\n);\n\nexport const AlertDescription = withContext<\n HTMLDivElement,\n AlertDescriptionProps\n>(\"div\", \"description\");\n\nexport const AlertIcon = withContext<HTMLDivElement, AlertIconProps>(\n \"div\",\n \"icon\"\n);\n\nexport const AlertActions = withContext<HTMLDivElement, AlertActionsProps>(\n \"div\",\n \"actions\"\n);\n\n// This is a div wrapper for layout placement - note that we expect it to receive `IconButton` props, but we use a `div`.\n// We then forward the consumer props to the interior `IconButton` component.\nexport const AlertDismissButton = withContext<\n HTMLDivElement,\n AlertDismissButtonProps\n>(\"div\", \"dismissButton\");\n","import { createContext, useMemo, useState, type ReactNode } from \"react\";\nimport { AlertRoot as AlertRootSlot, AlertIcon } from \"../alert.slots\";\nimport type { AlertProps, AlertRootComponent } from \"../alert.types\";\nimport { Box } from \"../../box\";\nimport { Stack } from \"../../stack\";\nimport {\n CheckCircleOutline,\n ErrorOutline,\n Info,\n WarningAmber,\n} from \"@commercetools/nimbus-icons\";\n\nconst getIconFromTone = (tone: AlertProps[\"tone\"]) => {\n switch (tone) {\n case \"critical\":\n return <ErrorOutline />;\n case \"info\":\n return <Info />;\n case \"warning\":\n return <WarningAmber />;\n case \"positive\":\n return <CheckCircleOutline />;\n default:\n return null;\n }\n};\n\ntype AlertContextValue = {\n setTitle: (title: ReactNode) => void;\n setDescription: (description: ReactNode) => void;\n setActions: (actions: ReactNode) => void;\n setDismiss: (dismiss: ReactNode) => void;\n};\n\nexport const AlertContext = createContext<AlertContextValue | undefined>(\n undefined\n);\n\n/**\n * # Alert\n *\n * Provides feedback to the user about the status of an action or system event\n *\n * @see {@link https://nimbus-documentation.vercel.app/components/feedback/alert}\n */\nexport const AlertRoot: AlertRootComponent = (props) => {\n const { ref, children, ...restProps } = props;\n const [titleNode, setTitle] = useState<ReactNode>(null);\n const [descriptionNode, setDescription] = useState<ReactNode>(null);\n const [actionsNode, setActions] = useState<ReactNode>(null);\n const [dismissNode, setDismiss] = useState<ReactNode>(null);\n\n // Memoize the context value so we don't cause unnecessary re-renders\n const contextValue = useMemo(\n () => ({\n setTitle,\n setDescription,\n setActions,\n setDismiss,\n }),\n [setTitle, setDescription, setActions, setDismiss]\n );\n\n return (\n <AlertContext.Provider value={contextValue}>\n <AlertRootSlot ref={ref} {...restProps} role=\"alert\">\n <AlertIcon alignItems=\"flex-start\">\n {getIconFromTone(restProps.tone)}\n </AlertIcon>\n <Stack flex=\"1\" gap=\"200\">\n <Box>\n {titleNode}\n {descriptionNode}\n </Box>\n {actionsNode}\n </Stack>\n {dismissNode}\n\n {children}\n </AlertRootSlot>\n </AlertContext.Provider>\n );\n};\n\nAlertRoot.displayName = \"Alert.Root\";\n","import { useContext, useEffect } from \"react\";\nimport { AlertTitle as AlertTitleSlot } from \"../alert.slots\";\nimport type { AlertTitleProps } from \"../alert.types\";\nimport { AlertContext } from \"./alert.root\";\n\nexport const AlertTitle = ({ children, ...props }: AlertTitleProps) => {\n const context = useContext(AlertContext);\n\n useEffect(() => {\n if (context) {\n const slotElement = (\n <AlertTitleSlot {...props} fontWeight=\"600\">\n {children}\n </AlertTitleSlot>\n );\n // Register it with the parent\n context.setTitle(slotElement);\n\n // On unmount, remove it\n return () => context.setTitle(null);\n }\n }, [children, props]);\n\n return null;\n};\n\nAlertTitle.displayName = \"Alert.Title\";\n","import { useContext, useEffect } from \"react\";\nimport { AlertDescription as AlertDescriptionSlot } from \"../alert.slots\";\nimport type { AlertDescriptionProps } from \"../alert.types\";\nimport { AlertContext } from \"./alert.root\";\n\nexport const AlertDescription = ({\n children,\n ...props\n}: AlertDescriptionProps) => {\n const context = useContext(AlertContext);\n\n useEffect(() => {\n if (context) {\n const slotElement = (\n <AlertDescriptionSlot {...props}>{children}</AlertDescriptionSlot>\n );\n // Register it with the parent\n context.setDescription(slotElement);\n\n // On unmount, remove it\n return () => context.setDescription(null);\n }\n }, [children, props]);\n\n return null;\n};\n\nAlertDescription.displayName = \"Alert.Description\";\n","import { useContext, useEffect } from \"react\";\nimport { AlertActions as AlertActionsSlot } from \"../alert.slots\";\nimport type { AlertActionsProps } from \"../alert.types\";\nimport { AlertContext } from \"./alert.root\";\n\nexport const AlertActions = ({ children, ...props }: AlertActionsProps) => {\n const context = useContext(AlertContext);\n\n useEffect(() => {\n if (context) {\n const slotElement = (\n <AlertActionsSlot {...props}>{children}</AlertActionsSlot>\n );\n // Register it with the parent\n context.setActions(slotElement);\n\n // On unmount, remove it\n return () => context.setActions(null);\n }\n }, [children, props]);\n\n return null;\n};\n\nAlertActions.displayName = \"Alert.Actions\";\n","import { defineMessages } from \"react-intl\";\n\nexport const messages = defineMessages({\n dismiss: {\n id: \"Nimbus.Alert.dismiss\",\n description: \"aria-label for the dismiss button in an alert\",\n defaultMessage: \"Dismiss\",\n },\n});\n","import { useContext, useEffect } from \"react\";\nimport { AlertDismissButton as AlertDismissButtonSlot } from \"../alert.slots\";\nimport type { AlertDismissButtonProps } from \"../alert.types\";\nimport { Clear } from \"@commercetools/nimbus-icons\";\nimport { IconButton } from \"../../icon-button\";\nimport { AlertContext } from \"./alert.root\";\nimport { useIntl } from \"react-intl\";\nimport { messages } from \"../alert.i18n\";\n\nexport const AlertDismissButton = ({\n children,\n ...props\n}: AlertDismissButtonProps) => {\n const context = useContext(AlertContext);\n const intl = useIntl();\n\n useEffect(() => {\n if (context) {\n const slotElement = (\n <AlertDismissButtonSlot>\n <IconButton\n aria-label={intl.formatMessage(messages.dismiss)}\n {...props}\n variant=\"ghost\"\n size=\"2xs\"\n >\n <Clear role=\"img\" />\n </IconButton>\n </AlertDismissButtonSlot>\n );\n // Register it with the parent\n context.setDismiss(slotElement);\n\n // On unmount, remove it\n return () => context.setDismiss(null);\n }\n }, [children, props]);\n\n return null;\n};\n\nAlertDismissButton.displayName = \"Alert.DismissButton\";\n","import { AlertTitle } from \"./components/alert.title\";\nimport { AlertDescription } from \"./components/alert.description\";\nimport { AlertActions } from \"./components/alert.actions\";\nimport { AlertDismissButton } from \"./components/alert.dismiss-button\";\nimport { AlertRoot } from \"./components/alert.root\";\n\n/**\n * Alert\n * ============================================================\n * Provides feedback to the user about the status of an action or system event\n */\nexport const Alert = {\n Root: AlertRoot,\n Title: AlertTitle,\n Description: AlertDescription,\n Actions: AlertActions,\n DismissButton: AlertDismissButton,\n};\n\n// exports for internal use by react-docgen\nexport {\n AlertRoot as _AlertRoot,\n AlertTitle as _AlertTitle,\n AlertDescription as _AlertDescription,\n AlertActions as _AlertActions,\n AlertDismissButton as _AlertDismissButton,\n};\n"],"names":["withProvider","withContext","createSlotRecipeContext","AlertRoot","AlertTitle","AlertDescription","AlertIcon","AlertActions","AlertDismissButton","getIconFromTone","tone","ErrorOutline","Info","WarningAmber","CheckCircleOutline","AlertContext","createContext","props","ref","children","restProps","titleNode","setTitle","useState","descriptionNode","setDescription","actionsNode","setActions","dismissNode","setDismiss","contextValue","useMemo","jsx","jsxs","AlertRootSlot","Stack","Box","context","useContext","useEffect","slotElement","AlertTitleSlot","AlertDescriptionSlot","AlertActionsSlot","messages","defineMessages","intl","useIntl","AlertDismissButtonSlot","IconButton","Clear","Alert"],"mappings":"uRAUM,CAAE,aAAAA,EAAc,YAAAC,CAAA,EAAgBC,0BAAwB,CAC5D,IAAK,OACP,CAAC,EAEYC,EAAYH,EACvB,MACA,MACF,EAEaI,EAAaH,EACxB,MACA,OACF,EAEaI,EAAmBJ,EAG9B,MAAO,aAAa,EAETK,EAAYL,EACvB,MACA,MACF,EAEaM,EAAeN,EAC1B,MACA,SACF,EAIaO,EAAqBP,EAGhC,MAAO,eAAe,EChClBQ,EAAmBC,GAA6B,CACpD,OAAQA,EAAA,CACN,IAAK,WACH,aAAQC,EAAAA,aAAA,EAAa,EACvB,IAAK,OACH,aAAQC,EAAAA,KAAA,EAAK,EACf,IAAK,UACH,aAAQC,EAAAA,aAAA,EAAa,EACvB,IAAK,WACH,aAAQC,EAAAA,mBAAA,EAAmB,EAC7B,QACE,OAAO,IAAA,CAEb,EASaC,EAAeC,EAAAA,cAC1B,MACF,EASab,EAAiCc,GAAU,CACtD,KAAM,CAAE,IAAAC,EAAK,SAAAC,EAAU,GAAGC,GAAcH,EAClC,CAACI,EAAWC,CAAQ,EAAIC,EAAAA,SAAoB,IAAI,EAChD,CAACC,EAAiBC,CAAc,EAAIF,EAAAA,SAAoB,IAAI,EAC5D,CAACG,EAAaC,CAAU,EAAIJ,EAAAA,SAAoB,IAAI,EACpD,CAACK,EAAaC,CAAU,EAAIN,EAAAA,SAAoB,IAAI,EAGpDO,EAAeC,EAAAA,QACnB,KAAO,CACL,SAAAT,EACA,eAAAG,EACA,WAAAE,EACA,WAAAE,CAAA,GAEF,CAACP,EAAUG,EAAgBE,EAAYE,CAAU,CAAA,EAGnD,OACEG,EAAAA,IAACjB,EAAa,SAAb,CAAsB,MAAOe,EAC5B,SAAAG,EAAAA,KAACC,EAAA,CAAc,IAAAhB,EAAW,GAAGE,EAAW,KAAK,QAC3C,SAAA,CAAAY,MAAC1B,GAAU,WAAW,aACnB,SAAAG,EAAgBW,EAAU,IAAI,EACjC,EACAa,EAAAA,KAACE,EAAAA,MAAA,CAAM,KAAK,IAAI,IAAI,MAClB,SAAA,CAAAF,OAACG,EAAAA,IAAA,CACE,SAAA,CAAAf,EACAG,CAAA,EACH,EACCE,CAAA,EACH,EACCE,EAEAT,CAAA,CAAA,CACH,CAAA,CACF,CAEJ,EAEAhB,EAAU,YAAc,aC/EjB,MAAMC,EAAa,CAAC,CAAE,SAAAe,EAAU,GAAGF,KAA6B,CACrE,MAAMoB,EAAUC,EAAAA,WAAWvB,CAAY,EAEvCwB,OAAAA,EAAAA,UAAU,IAAM,CACd,GAAIF,EAAS,CACX,MAAMG,EACJR,EAAAA,IAACS,EAAA,CAAgB,GAAGxB,EAAO,WAAW,MACnC,SAAAE,EACH,EAGF,OAAAkB,EAAQ,SAASG,CAAW,EAGrB,IAAMH,EAAQ,SAAS,IAAI,CACpC,CACF,EAAG,CAAClB,EAAUF,CAAK,CAAC,EAEb,IACT,EAEAb,EAAW,YAAc,cCrBlB,MAAMC,EAAmB,CAAC,CAC/B,SAAAc,EACA,GAAGF,CACL,IAA6B,CAC3B,MAAMoB,EAAUC,EAAAA,WAAWvB,CAAY,EAEvCwB,OAAAA,EAAAA,UAAU,IAAM,CACd,GAAIF,EAAS,CACX,MAAMG,EACJR,EAAAA,IAACU,EAAA,CAAsB,GAAGzB,EAAQ,SAAAE,EAAS,EAG7C,OAAAkB,EAAQ,eAAeG,CAAW,EAG3B,IAAMH,EAAQ,eAAe,IAAI,CAC1C,CACF,EAAG,CAAClB,EAAUF,CAAK,CAAC,EAEb,IACT,EAEAZ,EAAiB,YAAc,oBCtBxB,MAAME,EAAe,CAAC,CAAE,SAAAY,EAAU,GAAGF,KAA+B,CACzE,MAAMoB,EAAUC,EAAAA,WAAWvB,CAAY,EAEvCwB,OAAAA,EAAAA,UAAU,IAAM,CACd,GAAIF,EAAS,CACX,MAAMG,EACJR,EAAAA,IAACW,EAAA,CAAkB,GAAG1B,EAAQ,SAAAE,EAAS,EAGzC,OAAAkB,EAAQ,WAAWG,CAAW,EAGvB,IAAMH,EAAQ,WAAW,IAAI,CACtC,CACF,EAAG,CAAClB,EAAUF,CAAK,CAAC,EAEb,IACT,EAEAV,EAAa,YAAc,gBCtBpB,MAAMqC,EAAWC,EAAAA,eAAe,CACrC,QAAS,CACP,GAAI,uBACJ,YAAa,gDACb,eAAgB,SAAA,CAEpB,CAAC,ECCYrC,EAAqB,CAAC,CACjC,SAAAW,EACA,GAAGF,CACL,IAA+B,CAC7B,MAAMoB,EAAUC,EAAAA,WAAWvB,CAAY,EACjC+B,EAAOC,EAAAA,QAAA,EAEbR,OAAAA,EAAAA,UAAU,IAAM,CACd,GAAIF,EAAS,CACX,MAAMG,QACHQ,EAAA,CACC,SAAAhB,EAAAA,IAACiB,EAAAA,WAAA,CACC,aAAYH,EAAK,cAAcF,EAAS,OAAO,EAC9C,GAAG3B,EACJ,QAAQ,QACR,KAAK,MAEL,SAAAe,EAAAA,IAACkB,EAAAA,MAAA,CAAM,KAAK,KAAA,CAAM,CAAA,CAAA,EAEtB,EAGF,OAAAb,EAAQ,WAAWG,CAAW,EAGvB,IAAMH,EAAQ,WAAW,IAAI,CACtC,CACF,EAAG,CAAClB,EAAUF,CAAK,CAAC,EAEb,IACT,EAEAT,EAAmB,YAAc,sBC9B1B,MAAM2C,EAAQ,CACnB,KAAMhD,EACN,MAAOC,EACP,YAAaC,EACb,QAASE,EACT,cAAeC,CACjB"}
@@ -1,4 +1,4 @@
1
- import { jsx as i, jsxs as u } from "react/jsx-runtime";
1
+ import { jsx as n, jsxs as u } from "react/jsx-runtime";
2
2
  import { createContext as I, useState as l, useMemo as b, useContext as c, useEffect as a } from "react";
3
3
  import { createSlotRecipeContext as y } from "@chakra-ui/react";
4
4
  import { B as E } from "./box-DuBoAZvq.es.js";
@@ -23,20 +23,20 @@ const { withProvider: W, withContext: o } = /* @__PURE__ */ y({
23
23
  ), H = /* @__PURE__ */ o("div", "dismissButton"), J = (e) => {
24
24
  switch (e) {
25
25
  case "critical":
26
- return /* @__PURE__ */ i(S, {});
26
+ return /* @__PURE__ */ n(S, {});
27
27
  case "info":
28
- return /* @__PURE__ */ i(M, {});
28
+ return /* @__PURE__ */ n(M, {});
29
29
  case "warning":
30
- return /* @__PURE__ */ i(w, {});
30
+ return /* @__PURE__ */ n(w, {});
31
31
  case "positive":
32
- return /* @__PURE__ */ i($, {});
32
+ return /* @__PURE__ */ n($, {});
33
33
  default:
34
34
  return null;
35
35
  }
36
36
  }, r = /* @__PURE__ */ I(
37
37
  void 0
38
38
  ), x = (e) => {
39
- const { ref: s, children: t, ...n } = e, [m, d] = l(null), [N, A] = l(null), [B, f] = l(null), [C, p] = l(null), T = b(
39
+ const { ref: s, children: t, ...i } = e, [m, d] = l(null), [N, A] = l(null), [B, f] = l(null), [C, p] = l(null), T = b(
40
40
  () => ({
41
41
  setTitle: d,
42
42
  setDescription: A,
@@ -45,8 +45,8 @@ const { withProvider: W, withContext: o } = /* @__PURE__ */ y({
45
45
  }),
46
46
  [d, A, f, p]
47
47
  );
48
- return /* @__PURE__ */ i(r.Provider, { value: T, children: /* @__PURE__ */ u(z, { ref: s, ...n, role: "alert", children: [
49
- /* @__PURE__ */ i(q, { alignItems: "flex-start", children: J(n.tone) }),
48
+ return /* @__PURE__ */ n(r.Provider, { value: T, children: /* @__PURE__ */ u(z, { ref: s, ...i, role: "alert", children: [
49
+ /* @__PURE__ */ n(q, { alignItems: "flex-start", children: J(i.tone) }),
50
50
  /* @__PURE__ */ u(R, { flex: "1", gap: "200", children: [
51
51
  /* @__PURE__ */ u(E, { children: [
52
52
  m,
@@ -63,8 +63,8 @@ const D = ({ children: e, ...s }) => {
63
63
  const t = c(r);
64
64
  return a(() => {
65
65
  if (t) {
66
- const n = /* @__PURE__ */ i(F, { ...s, fontWeight: "600", children: e });
67
- return t.setTitle(n), () => t.setTitle(null);
66
+ const i = /* @__PURE__ */ n(F, { ...s, fontWeight: "600", children: e });
67
+ return t.setTitle(i), () => t.setTitle(null);
68
68
  }
69
69
  }, [e, s]), null;
70
70
  };
@@ -76,63 +76,63 @@ const g = ({
76
76
  const t = c(r);
77
77
  return a(() => {
78
78
  if (t) {
79
- const n = /* @__PURE__ */ i(V, { ...s, children: e });
80
- return t.setDescription(n), () => t.setDescription(null);
79
+ const i = /* @__PURE__ */ n(V, { ...s, children: e });
80
+ return t.setDescription(i), () => t.setDescription(null);
81
81
  }
82
82
  }, [e, s]), null;
83
83
  };
84
84
  g.displayName = "Alert.Description";
85
- const v = ({ children: e, ...s }) => {
85
+ const h = ({ children: e, ...s }) => {
86
86
  const t = c(r);
87
87
  return a(() => {
88
88
  if (t) {
89
- const n = /* @__PURE__ */ i(G, { ...s, children: e });
90
- return t.setActions(n), () => t.setActions(null);
89
+ const i = /* @__PURE__ */ n(G, { ...s, children: e });
90
+ return t.setActions(i), () => t.setActions(null);
91
91
  }
92
92
  }, [e, s]), null;
93
93
  };
94
- v.displayName = "Alert.Actions";
94
+ h.displayName = "Alert.Actions";
95
95
  const K = /* @__PURE__ */ j({
96
96
  dismiss: {
97
97
  id: "Nimbus.Alert.dismiss",
98
- description: "aria-label for dismiss button in alert",
98
+ description: "aria-label for the dismiss button in an alert",
99
99
  defaultMessage: "Dismiss"
100
100
  }
101
- }), h = ({
101
+ }), v = ({
102
102
  children: e,
103
103
  ...s
104
104
  }) => {
105
- const t = c(r), n = O();
105
+ const t = c(r), i = O();
106
106
  return a(() => {
107
107
  if (t) {
108
- const m = /* @__PURE__ */ i(H, { children: /* @__PURE__ */ i(
108
+ const m = /* @__PURE__ */ n(H, { children: /* @__PURE__ */ n(
109
109
  P,
110
110
  {
111
- "aria-label": n.formatMessage(K.dismiss),
111
+ "aria-label": i.formatMessage(K.dismiss),
112
112
  ...s,
113
113
  variant: "ghost",
114
114
  size: "2xs",
115
- children: /* @__PURE__ */ i(k, { role: "img" })
115
+ children: /* @__PURE__ */ n(k, { role: "img" })
116
116
  }
117
117
  ) });
118
118
  return t.setDismiss(m), () => t.setDismiss(null);
119
119
  }
120
120
  }, [e, s]), null;
121
121
  };
122
- h.displayName = "Alert.DismissButton";
122
+ v.displayName = "Alert.DismissButton";
123
123
  const et = {
124
124
  Root: x,
125
125
  Title: D,
126
126
  Description: g,
127
- Actions: v,
128
- DismissButton: h
127
+ Actions: h,
128
+ DismissButton: v
129
129
  };
130
130
  export {
131
131
  et as A,
132
132
  x as a,
133
133
  D as b,
134
134
  g as c,
135
- v as d,
136
- h as e
135
+ h as d,
136
+ v as e
137
137
  };
138
- //# sourceMappingURL=alert-u6zzGKKj.es.js.map
138
+ //# sourceMappingURL=alert-lNg0Rz2w.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"alert-u6zzGKKj.es.js","sources":["../../src/components/alert/alert.slots.tsx","../../src/components/alert/components/alert.root.tsx","../../src/components/alert/components/alert.title.tsx","../../src/components/alert/components/alert.description.tsx","../../src/components/alert/components/alert.actions.tsx","../../src/components/alert/alert.i18n.ts","../../src/components/alert/components/alert.dismiss-button.tsx","../../src/components/alert/alert.tsx"],"sourcesContent":["import { createSlotRecipeContext } from \"@chakra-ui/react\";\nimport type {\n AlertActionsProps,\n AlertDescriptionProps,\n AlertDismissButtonProps,\n AlertIconProps,\n AlertRootProps,\n AlertTitleProps,\n} from \"./alert.types\";\n\nconst { withProvider, withContext } = createSlotRecipeContext({\n key: \"alert\",\n});\n\nexport const AlertRoot = withProvider<HTMLDivElement, AlertRootProps>(\n \"div\",\n \"root\"\n);\n\nexport const AlertTitle = withContext<HTMLDivElement, AlertTitleProps>(\n \"div\",\n \"title\"\n);\n\nexport const AlertDescription = withContext<\n HTMLDivElement,\n AlertDescriptionProps\n>(\"div\", \"description\");\n\nexport const AlertIcon = withContext<HTMLDivElement, AlertIconProps>(\n \"div\",\n \"icon\"\n);\n\nexport const AlertActions = withContext<HTMLDivElement, AlertActionsProps>(\n \"div\",\n \"actions\"\n);\n\n// This is a div wrapper for layout placement - note that we expect it to receive `IconButton` props, but we use a `div`.\n// We then forward the consumer props to the interior `IconButton` component.\nexport const AlertDismissButton = withContext<\n HTMLDivElement,\n AlertDismissButtonProps\n>(\"div\", \"dismissButton\");\n","import { createContext, useMemo, useState, type ReactNode } from \"react\";\nimport { AlertRoot as AlertRootSlot, AlertIcon } from \"../alert.slots\";\nimport type { AlertProps, AlertRootComponent } from \"../alert.types\";\nimport { Box } from \"../../box\";\nimport { Stack } from \"../../stack\";\nimport {\n CheckCircleOutline,\n ErrorOutline,\n Info,\n WarningAmber,\n} from \"@commercetools/nimbus-icons\";\n\nconst getIconFromTone = (tone: AlertProps[\"tone\"]) => {\n switch (tone) {\n case \"critical\":\n return <ErrorOutline />;\n case \"info\":\n return <Info />;\n case \"warning\":\n return <WarningAmber />;\n case \"positive\":\n return <CheckCircleOutline />;\n default:\n return null;\n }\n};\n\ntype AlertContextValue = {\n setTitle: (title: ReactNode) => void;\n setDescription: (description: ReactNode) => void;\n setActions: (actions: ReactNode) => void;\n setDismiss: (dismiss: ReactNode) => void;\n};\n\nexport const AlertContext = createContext<AlertContextValue | undefined>(\n undefined\n);\n\n/**\n * # Alert\n *\n * Provides feedback to the user about the status of an action or system event\n *\n * @see {@link https://nimbus-documentation.vercel.app/components/feedback/alert}\n */\nexport const AlertRoot: AlertRootComponent = (props) => {\n const { ref, children, ...restProps } = props;\n const [titleNode, setTitle] = useState<ReactNode>(null);\n const [descriptionNode, setDescription] = useState<ReactNode>(null);\n const [actionsNode, setActions] = useState<ReactNode>(null);\n const [dismissNode, setDismiss] = useState<ReactNode>(null);\n\n // Memoize the context value so we don't cause unnecessary re-renders\n const contextValue = useMemo(\n () => ({\n setTitle,\n setDescription,\n setActions,\n setDismiss,\n }),\n [setTitle, setDescription, setActions, setDismiss]\n );\n\n return (\n <AlertContext.Provider value={contextValue}>\n <AlertRootSlot ref={ref} {...restProps} role=\"alert\">\n <AlertIcon alignItems=\"flex-start\">\n {getIconFromTone(restProps.tone)}\n </AlertIcon>\n <Stack flex=\"1\" gap=\"200\">\n <Box>\n {titleNode}\n {descriptionNode}\n </Box>\n {actionsNode}\n </Stack>\n {dismissNode}\n\n {children}\n </AlertRootSlot>\n </AlertContext.Provider>\n );\n};\n\nAlertRoot.displayName = \"Alert.Root\";\n","import { useContext, useEffect } from \"react\";\nimport { AlertTitle as AlertTitleSlot } from \"../alert.slots\";\nimport type { AlertTitleProps } from \"../alert.types\";\nimport { AlertContext } from \"./alert.root\";\n\nexport const AlertTitle = ({ children, ...props }: AlertTitleProps) => {\n const context = useContext(AlertContext);\n\n useEffect(() => {\n if (context) {\n const slotElement = (\n <AlertTitleSlot {...props} fontWeight=\"600\">\n {children}\n </AlertTitleSlot>\n );\n // Register it with the parent\n context.setTitle(slotElement);\n\n // On unmount, remove it\n return () => context.setTitle(null);\n }\n }, [children, props]);\n\n return null;\n};\n\nAlertTitle.displayName = \"Alert.Title\";\n","import { useContext, useEffect } from \"react\";\nimport { AlertDescription as AlertDescriptionSlot } from \"../alert.slots\";\nimport type { AlertDescriptionProps } from \"../alert.types\";\nimport { AlertContext } from \"./alert.root\";\n\nexport const AlertDescription = ({\n children,\n ...props\n}: AlertDescriptionProps) => {\n const context = useContext(AlertContext);\n\n useEffect(() => {\n if (context) {\n const slotElement = (\n <AlertDescriptionSlot {...props}>{children}</AlertDescriptionSlot>\n );\n // Register it with the parent\n context.setDescription(slotElement);\n\n // On unmount, remove it\n return () => context.setDescription(null);\n }\n }, [children, props]);\n\n return null;\n};\n\nAlertDescription.displayName = \"Alert.Description\";\n","import { useContext, useEffect } from \"react\";\nimport { AlertActions as AlertActionsSlot } from \"../alert.slots\";\nimport type { AlertActionsProps } from \"../alert.types\";\nimport { AlertContext } from \"./alert.root\";\n\nexport const AlertActions = ({ children, ...props }: AlertActionsProps) => {\n const context = useContext(AlertContext);\n\n useEffect(() => {\n if (context) {\n const slotElement = (\n <AlertActionsSlot {...props}>{children}</AlertActionsSlot>\n );\n // Register it with the parent\n context.setActions(slotElement);\n\n // On unmount, remove it\n return () => context.setActions(null);\n }\n }, [children, props]);\n\n return null;\n};\n\nAlertActions.displayName = \"Alert.Actions\";\n","import { defineMessages } from \"react-intl\";\n\nexport const messages = defineMessages({\n dismiss: {\n id: \"Nimbus.Alert.dismiss\",\n description: \"aria-label for dismiss button in alert\",\n defaultMessage: \"Dismiss\",\n },\n});\n","import { useContext, useEffect } from \"react\";\nimport { AlertDismissButton as AlertDismissButtonSlot } from \"../alert.slots\";\nimport type { AlertDismissButtonProps } from \"../alert.types\";\nimport { Clear } from \"@commercetools/nimbus-icons\";\nimport { IconButton } from \"../../icon-button\";\nimport { AlertContext } from \"./alert.root\";\nimport { useIntl } from \"react-intl\";\nimport { messages } from \"../alert.i18n\";\n\nexport const AlertDismissButton = ({\n children,\n ...props\n}: AlertDismissButtonProps) => {\n const context = useContext(AlertContext);\n const intl = useIntl();\n\n useEffect(() => {\n if (context) {\n const slotElement = (\n <AlertDismissButtonSlot>\n <IconButton\n aria-label={intl.formatMessage(messages.dismiss)}\n {...props}\n variant=\"ghost\"\n size=\"2xs\"\n >\n <Clear role=\"img\" />\n </IconButton>\n </AlertDismissButtonSlot>\n );\n // Register it with the parent\n context.setDismiss(slotElement);\n\n // On unmount, remove it\n return () => context.setDismiss(null);\n }\n }, [children, props]);\n\n return null;\n};\n\nAlertDismissButton.displayName = \"Alert.DismissButton\";\n","import { AlertTitle } from \"./components/alert.title\";\nimport { AlertDescription } from \"./components/alert.description\";\nimport { AlertActions } from \"./components/alert.actions\";\nimport { AlertDismissButton } from \"./components/alert.dismiss-button\";\nimport { AlertRoot } from \"./components/alert.root\";\n\n/**\n * Alert\n * ============================================================\n * Provides feedback to the user about the status of an action or system event\n */\nexport const Alert = {\n Root: AlertRoot,\n Title: AlertTitle,\n Description: AlertDescription,\n Actions: AlertActions,\n DismissButton: AlertDismissButton,\n};\n\n// exports for internal use by react-docgen\nexport {\n AlertRoot as _AlertRoot,\n AlertTitle as _AlertTitle,\n AlertDescription as _AlertDescription,\n AlertActions as _AlertActions,\n AlertDismissButton as _AlertDismissButton,\n};\n"],"names":["withProvider","withContext","createSlotRecipeContext","AlertRoot","AlertTitle","AlertDescription","AlertIcon","AlertActions","AlertDismissButton","getIconFromTone","tone","ErrorOutline","Info","WarningAmber","CheckCircleOutline","AlertContext","createContext","props","ref","children","restProps","titleNode","setTitle","useState","descriptionNode","setDescription","actionsNode","setActions","dismissNode","setDismiss","contextValue","useMemo","jsx","jsxs","AlertRootSlot","Stack","Box","context","useContext","useEffect","slotElement","AlertTitleSlot","AlertDescriptionSlot","AlertActionsSlot","messages","defineMessages","intl","useIntl","AlertDismissButtonSlot","IconButton","Clear","Alert"],"mappings":"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"}
1
+ {"version":3,"file":"alert-lNg0Rz2w.es.js","sources":["../../src/components/alert/alert.slots.tsx","../../src/components/alert/components/alert.root.tsx","../../src/components/alert/components/alert.title.tsx","../../src/components/alert/components/alert.description.tsx","../../src/components/alert/components/alert.actions.tsx","../../src/components/alert/alert.i18n.ts","../../src/components/alert/components/alert.dismiss-button.tsx","../../src/components/alert/alert.tsx"],"sourcesContent":["import { createSlotRecipeContext } from \"@chakra-ui/react\";\nimport type {\n AlertActionsProps,\n AlertDescriptionProps,\n AlertDismissButtonProps,\n AlertIconProps,\n AlertRootProps,\n AlertTitleProps,\n} from \"./alert.types\";\n\nconst { withProvider, withContext } = createSlotRecipeContext({\n key: \"alert\",\n});\n\nexport const AlertRoot = withProvider<HTMLDivElement, AlertRootProps>(\n \"div\",\n \"root\"\n);\n\nexport const AlertTitle = withContext<HTMLDivElement, AlertTitleProps>(\n \"div\",\n \"title\"\n);\n\nexport const AlertDescription = withContext<\n HTMLDivElement,\n AlertDescriptionProps\n>(\"div\", \"description\");\n\nexport const AlertIcon = withContext<HTMLDivElement, AlertIconProps>(\n \"div\",\n \"icon\"\n);\n\nexport const AlertActions = withContext<HTMLDivElement, AlertActionsProps>(\n \"div\",\n \"actions\"\n);\n\n// This is a div wrapper for layout placement - note that we expect it to receive `IconButton` props, but we use a `div`.\n// We then forward the consumer props to the interior `IconButton` component.\nexport const AlertDismissButton = withContext<\n HTMLDivElement,\n AlertDismissButtonProps\n>(\"div\", \"dismissButton\");\n","import { createContext, useMemo, useState, type ReactNode } from \"react\";\nimport { AlertRoot as AlertRootSlot, AlertIcon } from \"../alert.slots\";\nimport type { AlertProps, AlertRootComponent } from \"../alert.types\";\nimport { Box } from \"../../box\";\nimport { Stack } from \"../../stack\";\nimport {\n CheckCircleOutline,\n ErrorOutline,\n Info,\n WarningAmber,\n} from \"@commercetools/nimbus-icons\";\n\nconst getIconFromTone = (tone: AlertProps[\"tone\"]) => {\n switch (tone) {\n case \"critical\":\n return <ErrorOutline />;\n case \"info\":\n return <Info />;\n case \"warning\":\n return <WarningAmber />;\n case \"positive\":\n return <CheckCircleOutline />;\n default:\n return null;\n }\n};\n\ntype AlertContextValue = {\n setTitle: (title: ReactNode) => void;\n setDescription: (description: ReactNode) => void;\n setActions: (actions: ReactNode) => void;\n setDismiss: (dismiss: ReactNode) => void;\n};\n\nexport const AlertContext = createContext<AlertContextValue | undefined>(\n undefined\n);\n\n/**\n * # Alert\n *\n * Provides feedback to the user about the status of an action or system event\n *\n * @see {@link https://nimbus-documentation.vercel.app/components/feedback/alert}\n */\nexport const AlertRoot: AlertRootComponent = (props) => {\n const { ref, children, ...restProps } = props;\n const [titleNode, setTitle] = useState<ReactNode>(null);\n const [descriptionNode, setDescription] = useState<ReactNode>(null);\n const [actionsNode, setActions] = useState<ReactNode>(null);\n const [dismissNode, setDismiss] = useState<ReactNode>(null);\n\n // Memoize the context value so we don't cause unnecessary re-renders\n const contextValue = useMemo(\n () => ({\n setTitle,\n setDescription,\n setActions,\n setDismiss,\n }),\n [setTitle, setDescription, setActions, setDismiss]\n );\n\n return (\n <AlertContext.Provider value={contextValue}>\n <AlertRootSlot ref={ref} {...restProps} role=\"alert\">\n <AlertIcon alignItems=\"flex-start\">\n {getIconFromTone(restProps.tone)}\n </AlertIcon>\n <Stack flex=\"1\" gap=\"200\">\n <Box>\n {titleNode}\n {descriptionNode}\n </Box>\n {actionsNode}\n </Stack>\n {dismissNode}\n\n {children}\n </AlertRootSlot>\n </AlertContext.Provider>\n );\n};\n\nAlertRoot.displayName = \"Alert.Root\";\n","import { useContext, useEffect } from \"react\";\nimport { AlertTitle as AlertTitleSlot } from \"../alert.slots\";\nimport type { AlertTitleProps } from \"../alert.types\";\nimport { AlertContext } from \"./alert.root\";\n\nexport const AlertTitle = ({ children, ...props }: AlertTitleProps) => {\n const context = useContext(AlertContext);\n\n useEffect(() => {\n if (context) {\n const slotElement = (\n <AlertTitleSlot {...props} fontWeight=\"600\">\n {children}\n </AlertTitleSlot>\n );\n // Register it with the parent\n context.setTitle(slotElement);\n\n // On unmount, remove it\n return () => context.setTitle(null);\n }\n }, [children, props]);\n\n return null;\n};\n\nAlertTitle.displayName = \"Alert.Title\";\n","import { useContext, useEffect } from \"react\";\nimport { AlertDescription as AlertDescriptionSlot } from \"../alert.slots\";\nimport type { AlertDescriptionProps } from \"../alert.types\";\nimport { AlertContext } from \"./alert.root\";\n\nexport const AlertDescription = ({\n children,\n ...props\n}: AlertDescriptionProps) => {\n const context = useContext(AlertContext);\n\n useEffect(() => {\n if (context) {\n const slotElement = (\n <AlertDescriptionSlot {...props}>{children}</AlertDescriptionSlot>\n );\n // Register it with the parent\n context.setDescription(slotElement);\n\n // On unmount, remove it\n return () => context.setDescription(null);\n }\n }, [children, props]);\n\n return null;\n};\n\nAlertDescription.displayName = \"Alert.Description\";\n","import { useContext, useEffect } from \"react\";\nimport { AlertActions as AlertActionsSlot } from \"../alert.slots\";\nimport type { AlertActionsProps } from \"../alert.types\";\nimport { AlertContext } from \"./alert.root\";\n\nexport const AlertActions = ({ children, ...props }: AlertActionsProps) => {\n const context = useContext(AlertContext);\n\n useEffect(() => {\n if (context) {\n const slotElement = (\n <AlertActionsSlot {...props}>{children}</AlertActionsSlot>\n );\n // Register it with the parent\n context.setActions(slotElement);\n\n // On unmount, remove it\n return () => context.setActions(null);\n }\n }, [children, props]);\n\n return null;\n};\n\nAlertActions.displayName = \"Alert.Actions\";\n","import { defineMessages } from \"react-intl\";\n\nexport const messages = defineMessages({\n dismiss: {\n id: \"Nimbus.Alert.dismiss\",\n description: \"aria-label for the dismiss button in an alert\",\n defaultMessage: \"Dismiss\",\n },\n});\n","import { useContext, useEffect } from \"react\";\nimport { AlertDismissButton as AlertDismissButtonSlot } from \"../alert.slots\";\nimport type { AlertDismissButtonProps } from \"../alert.types\";\nimport { Clear } from \"@commercetools/nimbus-icons\";\nimport { IconButton } from \"../../icon-button\";\nimport { AlertContext } from \"./alert.root\";\nimport { useIntl } from \"react-intl\";\nimport { messages } from \"../alert.i18n\";\n\nexport const AlertDismissButton = ({\n children,\n ...props\n}: AlertDismissButtonProps) => {\n const context = useContext(AlertContext);\n const intl = useIntl();\n\n useEffect(() => {\n if (context) {\n const slotElement = (\n <AlertDismissButtonSlot>\n <IconButton\n aria-label={intl.formatMessage(messages.dismiss)}\n {...props}\n variant=\"ghost\"\n size=\"2xs\"\n >\n <Clear role=\"img\" />\n </IconButton>\n </AlertDismissButtonSlot>\n );\n // Register it with the parent\n context.setDismiss(slotElement);\n\n // On unmount, remove it\n return () => context.setDismiss(null);\n }\n }, [children, props]);\n\n return null;\n};\n\nAlertDismissButton.displayName = \"Alert.DismissButton\";\n","import { AlertTitle } from \"./components/alert.title\";\nimport { AlertDescription } from \"./components/alert.description\";\nimport { AlertActions } from \"./components/alert.actions\";\nimport { AlertDismissButton } from \"./components/alert.dismiss-button\";\nimport { AlertRoot } from \"./components/alert.root\";\n\n/**\n * Alert\n * ============================================================\n * Provides feedback to the user about the status of an action or system event\n */\nexport const Alert = {\n Root: AlertRoot,\n Title: AlertTitle,\n Description: AlertDescription,\n Actions: AlertActions,\n DismissButton: AlertDismissButton,\n};\n\n// exports for internal use by react-docgen\nexport {\n AlertRoot as _AlertRoot,\n AlertTitle as _AlertTitle,\n AlertDescription as _AlertDescription,\n AlertActions as _AlertActions,\n AlertDismissButton as _AlertDismissButton,\n};\n"],"names":["withProvider","withContext","createSlotRecipeContext","AlertRoot","AlertTitle","AlertDescription","AlertIcon","AlertActions","AlertDismissButton","getIconFromTone","tone","ErrorOutline","Info","WarningAmber","CheckCircleOutline","AlertContext","createContext","props","ref","children","restProps","titleNode","setTitle","useState","descriptionNode","setDescription","actionsNode","setActions","dismissNode","setDismiss","contextValue","useMemo","jsx","jsxs","AlertRootSlot","Stack","Box","context","useContext","useEffect","slotElement","AlertTitleSlot","AlertDescriptionSlot","AlertActionsSlot","messages","defineMessages","intl","useIntl","AlertDismissButtonSlot","IconButton","Clear","Alert"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ "use strict";const s=require("react/jsx-runtime"),t=require("@chakra-ui/react"),e=({ref:r,...c})=>s.jsx(t.Box,{ref:r,flexGrow:1,...c});e.displayName="Spacer";exports.Spacer=e;
2
+ //# sourceMappingURL=spacer-BvQD2vU1.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spacer-BvQD2vU1.cjs.js","sources":["../../src/components/spacer/spacer.tsx"],"sourcesContent":["/**\n * Spacer component\n *\n * A simple layout component that occupies leftover available space in flex containers.\n * Uses flexGrow=\"1\" to fill remaining space.\n */\n\nimport { Box } from \"@chakra-ui/react\";\nimport type { SpacerProps } from \"./spacer.types\";\n\n/**\n * Spacer component that fills available space in flex layouts.\n *\n * @example\n * ```tsx\n * <Stack direction=\"row\">\n * <Button>Left</Button>\n * <Spacer />\n * <Button>Right</Button>\n * </Stack>\n * ```\n */\nexport const Spacer = ({ ref, ...props }: SpacerProps) => {\n return <Box ref={ref} flexGrow={1} {...props} />;\n};\n\nSpacer.displayName = \"Spacer\";\n"],"names":["Spacer","ref","props","Box"],"mappings":"gFAsBaA,EAAS,CAAC,CAAE,IAAAC,EAAK,GAAGC,WACvBC,EAAAA,IAAA,CAAI,IAAAF,EAAU,SAAU,EAAI,GAAGC,EAAO,EAGhDF,EAAO,YAAc"}
@@ -0,0 +1,8 @@
1
+ import { jsx as e } from "react/jsx-runtime";
2
+ import { Box as p } from "@chakra-ui/react";
3
+ const a = ({ ref: r, ...o }) => /* @__PURE__ */ e(p, { ref: r, flexGrow: 1, ...o });
4
+ a.displayName = "Spacer";
5
+ export {
6
+ a as S
7
+ };
8
+ //# sourceMappingURL=spacer-pHklG6Ri.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spacer-pHklG6Ri.es.js","sources":["../../src/components/spacer/spacer.tsx"],"sourcesContent":["/**\n * Spacer component\n *\n * A simple layout component that occupies leftover available space in flex containers.\n * Uses flexGrow=\"1\" to fill remaining space.\n */\n\nimport { Box } from \"@chakra-ui/react\";\nimport type { SpacerProps } from \"./spacer.types\";\n\n/**\n * Spacer component that fills available space in flex layouts.\n *\n * @example\n * ```tsx\n * <Stack direction=\"row\">\n * <Button>Left</Button>\n * <Spacer />\n * <Button>Right</Button>\n * </Stack>\n * ```\n */\nexport const Spacer = ({ ref, ...props }: SpacerProps) => {\n return <Box ref={ref} flexGrow={1} {...props} />;\n};\n\nSpacer.displayName = \"Spacer\";\n"],"names":["Spacer","ref","props","Box"],"mappings":";;AAsBO,MAAMA,IAAS,CAAC,EAAE,KAAAC,GAAK,GAAGC,0BACvBC,GAAA,EAAI,KAAAF,GAAU,UAAU,GAAI,GAAGC,GAAO;AAGhDF,EAAO,cAAc;"}
@@ -1,2 +1,2 @@
1
- "use strict";const t=require("../chunks/alert-D-1RFln1.cjs.js");exports.Alert=t.Alert;exports._AlertActions=t.AlertActions;exports._AlertDescription=t.AlertDescription;exports._AlertDismissButton=t.AlertDismissButton;exports._AlertRoot=t.AlertRoot;exports._AlertTitle=t.AlertTitle;
1
+ "use strict";const t=require("../chunks/alert-CPHjPe4-.cjs.js");exports.Alert=t.Alert;exports._AlertActions=t.AlertActions;exports._AlertDescription=t.AlertDescription;exports._AlertDismissButton=t.AlertDismissButton;exports._AlertRoot=t.AlertRoot;exports._AlertTitle=t.AlertTitle;
2
2
  //# sourceMappingURL=alert.cjs.map
@@ -1,4 +1,4 @@
1
- import { A as e, d as r, c as A, e as a, a as l, b as o } from "../chunks/alert-u6zzGKKj.es.js";
1
+ import { A as e, d as r, c as A, e as a, a as l, b as o } from "../chunks/alert-lNg0Rz2w.es.js";
2
2
  export {
3
3
  e as Alert,
4
4
  r as _AlertActions,
@@ -0,0 +1,2 @@
1
+ "use strict";const e=require("../chunks/spacer-BvQD2vU1.cjs.js");exports.Spacer=e.Spacer;
2
+ //# sourceMappingURL=spacer.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spacer.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ import { S as e } from "../chunks/spacer-pHklG6Ri.es.js";
2
+ export {
3
+ e as Spacer
4
+ };
5
+ //# sourceMappingURL=spacer.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spacer.es.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
package/dist/index.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";const ae=require("./chunks/index-CRFg4Mhx.cjs.js"),Q=require("./chunks/rich-text-input-Da5WFZ3l.cjs.js"),m=require("react"),ie=require("./chunks/avatar-_o-uSXYy.cjs.js"),ue=require("./chunks/box-CWni3A32.cjs.js"),ce=require("./chunks/button-B5OOW-2z.cjs.js"),le=require("./chunks/code-q31e3vT2.cjs.js"),x=require("./chunks/combobox-B5UxZWSX.cjs.js"),se=require("./chunks/dialog-CKwC3dk3.cjs.js"),Y=require("./chunks/field-errors-D2re_C_c.cjs.js"),It=require("@chakra-ui/react/flex"),de=require("./chunks/group-BqUFlw5R.cjs.js"),pe=require("./chunks/heading-BTacGwo9.cjs.js"),me=require("./chunks/icon-button-vWPrT-bR.cjs.js"),fe=require("./chunks/icon-toggle-button-eLrsWehe.cjs.js"),ge=require("./chunks/image-CGOYoc2s.cjs.js"),be=require("./chunks/kbd-BaeV_DL-.cjs.js"),ye=require("./chunks/link-DpU4rPCp.cjs.js"),E=require("./chunks/list-DJC9BmoC.cjs.js"),A=require("./chunks/draggable-list-MGvr5-A-.cjs.js"),Ce=require("./chunks/simple-grid-Cd2MJxSX.cjs.js"),Dt=require("@chakra-ui/react/table"),Te=require("./chunks/text-CCW9kDT_.cjs.js"),G=require("./chunks/tooltip-BPTOkK7W.cjs.js"),he=require("./chunks/make-element-focusable-oedzOY_M.cjs.js"),Z=require("./chunks/nimbus-provider-WX_qUCxo.cjs.js"),ve=require("./chunks/checkbox-Dod-yTj4.cjs.js"),qe=require("./chunks/collapsible-motion-C7M_CLNI.cjs.js"),Se=require("./chunks/stack-CIN13EDn.cjs.js"),we=require("./chunks/visually-hidden-tTYCAVoQ.cjs.js"),Ie=require("./chunks/text-input-DZdkCbdd.cjs.js"),De=require("./chunks/number-input-wMW-o4di.cjs.js"),Re=require("./chunks/grid-Chuw1xje.cjs.js"),k=require("./chunks/select-DMsU6bk9.cjs.js"),_e=require("./chunks/separator-CvRn_J0r.cjs.js"),D=require("./chunks/accordion-B2FLWAh5.cjs.js"),R=require("./chunks/alert-D-1RFln1.cjs.js"),ke=require("./chunks/badge-mMpNb3Qj.cjs.js"),F=require("./chunks/card-BPEsGx1J.cjs.js"),w=require("./chunks/form-field-CIGQxVVS.cjs.js"),Le=require("./chunks/icon-D39U--jA.cjs.js"),xe=require("./chunks/inline-svg-Yb2OyzRw.cjs.js"),Ee=require("./chunks/loading-spinner-DQM-6XnY.cjs.js"),Ae=require("./chunks/password-input-6SMjhXSO.cjs.js"),Fe=require("./chunks/search-input-BefkmgPy.cjs.js"),Be=require("./chunks/split-button-BO52sL7h.cjs.js"),Me=require("./chunks/time-input-zXykDANk.cjs.js"),Pe=require("./chunks/multiline-text-input-B9TBDieZ.cjs.js"),Oe=require("./chunks/money-input-Cu_J86Eu.cjs.js"),H=require("./chunks/radio-input-Dp05SXja.cjs.js"),Ke=require("./chunks/switch-CdLhBEPq.cjs.js"),Ge=require("./chunks/tag-group-Btt0egzG.cjs.js"),He=require("./chunks/toggle-button-DxMZsem4.cjs.js"),N=require("./chunks/toggle-button-group-CE2Urvj8.cjs.js"),Ne=require("./chunks/date-input-DvOM0DLT.cjs.js"),Ue=require("./chunks/calendar-V0KeNCQ3.cjs.js"),je=require("./chunks/date-picker-CZAoPNsT.cjs.js"),Ve=require("./chunks/progress-bar-Bhp7W6Eo.cjs.js"),ze=require("./chunks/range-calendar-_dZfAsdG.cjs.js"),q=require("./chunks/menu-DIepV2KZ.cjs.js"),$e=require("./chunks/date-range-picker-iENzosfN.cjs.js"),We=require("./chunks/toolbar-DV0l5MqA.cjs.js"),b=require("./chunks/data-table-C51WU0Cc.cjs.js"),Xe=require("./chunks/pagination-BWdg8s6g.cjs.js"),Qe=require("./chunks/drawer-DzW9wBMk.cjs.js"),_=require("./chunks/tabs-CJ0OAUSR.cjs.js"),Ye=require("./chunks/localized-field-C7Vribb2.cjs.js");require("react/jsx-runtime");const J=["shift","alt","meta","mod","ctrl","control"],Ze={esc:"escape",return:"enter",left:"arrowleft",right:"arrowright",up:"arrowup",down:"arrowdown",ShiftLeft:"shift",ShiftRight:"shift",AltLeft:"alt",AltRight:"alt",MetaLeft:"meta",MetaRight:"meta",OSLeft:"meta",OSRight:"meta",ControlLeft:"ctrl",ControlRight:"ctrl"};function I(e){return(Ze[e.trim()]||e.trim()).toLowerCase().replace(/key|digit|numpad/,"")}function ee(e){return J.includes(e)}function M(e,t=","){return e.toLowerCase().split(t)}function P(e,t="+",o=">",i=!1,u){let n=[],a=!1;e=e.trim(),e.includes(o)?(a=!0,n=e.toLocaleLowerCase().split(o).map(g=>I(g))):n=e.toLocaleLowerCase().split(t).map(g=>I(g));const d={alt:n.includes("alt"),ctrl:n.includes("ctrl")||n.includes("control"),shift:n.includes("shift"),meta:n.includes("meta"),mod:n.includes("mod"),useKey:i},l=n.filter(g=>!J.includes(g));return{...d,keys:l,description:u,isSequence:a,hotkey:e}}const S=new Set;function U(e){return Array.isArray(e)}function Je(e,t=","){return(U(e)?e:e.split(t)).every(o=>S.has(o.trim().toLowerCase()))}function et(e){const t=Array.isArray(e)?e:[e];S.has("meta")&&S.forEach(o=>!ee(o)&&S.delete(o.toLowerCase())),t.forEach(o=>S.add(o.toLowerCase()))}function tt(e){const t=Array.isArray(e)?e:[e];e==="meta"?S.clear():t.forEach(o=>S.delete(o.toLowerCase()))}function ot(e,t,o){(typeof o=="function"&&o(e,t)||o===!0)&&e.preventDefault()}function rt(e,t,o){return typeof o=="function"?o(e,t):o===!0||o===void 0}const nt=["input","textarea","select","searchbox","slider","spinbutton","menuitem","menuitemcheckbox","menuitemradio","option","radio","textbox"];function at(e){return te(e,nt)}function te(e,t=!1){const{target:o,composed:i}=e;let u,n;return it(o)&&i?(u=e.composedPath()[0]&&e.composedPath()[0].tagName,n=e.composedPath()[0]&&e.composedPath()[0].role):(u=o&&o.tagName,n=o&&o.role),U(t)?!!(u&&t&&t.some(a=>a.toLowerCase()===u.toLowerCase()||a===n)):!!(u&&t&&t)}function it(e){return!!e.tagName&&!e.tagName.startsWith("-")&&e.tagName.includes("-")}function ut(e,t){return e.length===0&&t?(console.warn('A hotkey has the "scopes" option set, however no active scopes were found. If you want to use the global scopes feature, you need to wrap your app in a <HotkeysProvider>'),!0):t?e.some(o=>t.includes(o))||e.includes("*"):!0}const ct=(e,t,o=!1)=>{const{alt:i,meta:u,mod:n,shift:a,ctrl:d,keys:l,useKey:g}=t,{code:y,key:r,ctrlKey:s,metaKey:C,shiftKey:T,altKey:p}=e,f=I(y);if(g&&l?.length===1&&l.includes(r))return!0;if(!l?.includes(f)&&!["ctrl","control","unknown","meta","alt","shift","os"].includes(f))return!1;if(!o){if(i!==p&&f!=="alt"||a!==T&&f!=="shift")return!1;if(n){if(!C&&!s)return!1}else if(u!==C&&f!=="meta"&&f!=="os"||d!==s&&f!=="ctrl"&&f!=="control")return!1}return l&&l.length===1&&l.includes(f)?!0:l?Je(l):!l},lt=m.createContext(void 0),st=()=>m.useContext(lt);function oe(e,t){return e&&t&&typeof e=="object"&&typeof t=="object"?Object.keys(e).length===Object.keys(t).length&&Object.keys(e).reduce((o,i)=>o&&oe(e[i],t[i]),!0):e===t}const dt=m.createContext({hotkeys:[],activeScopes:[],toggleScope:()=>{},enableScope:()=>{},disableScope:()=>{}}),pt=()=>m.useContext(dt);function mt(e){const t=m.useRef(void 0);return oe(t.current,e)||(t.current=e),t.current}const $=e=>{e.stopPropagation(),e.preventDefault(),e.stopImmediatePropagation()},ft=typeof window<"u"?m.useLayoutEffect:m.useEffect;function gt(e,t,o,i){const u=m.useRef(null),n=m.useRef(!1),a=Array.isArray(o)?Array.isArray(i)?void 0:i:o,d=U(e)?e.join(a?.delimiter):e,l=Array.isArray(o)?o:Array.isArray(i)?i:void 0,g=m.useCallback(t,l??[]),y=m.useRef(g);l?y.current=g:y.current=t;const r=mt(a),{activeScopes:s}=pt(),C=st();return ft(()=>{if(r?.enabled===!1||!ut(s,r?.scopes))return;let T=[],p;const f=(c,z=!1)=>{if(!(at(c)&&!te(c,r?.enableOnFormTags))){if(u.current!==null){const v=u.current.getRootNode();if((v instanceof Document||v instanceof ShadowRoot)&&v.activeElement!==u.current&&!u.current.contains(v.activeElement)){$(c);return}}c.target?.isContentEditable&&!r?.enableOnContentEditable||M(d,r?.delimiter).forEach(v=>{if(v.includes(r?.splitKey??"+")&&v.includes(r?.sequenceSplitKey??">")){console.warn(`Hotkey ${v} contains both ${r?.splitKey??"+"} and ${r?.sequenceSplitKey??">"} which is not supported.`);return}const h=P(v,r?.splitKey,r?.sequenceSplitKey,r?.useKey,r?.description);if(h.isSequence){p=setTimeout(()=>{T=[]},r?.sequenceTimeoutMs??1e3);const B=h.useKey?c.key:I(c.code);if(ee(B.toLowerCase()))return;T.push(B);const ne=h.keys?.[T.length-1];if(B!==ne){T=[],p&&clearTimeout(p);return}T.length===h.keys?.length&&(y.current(c,h),p&&clearTimeout(p),T=[])}else if(ct(c,h,r?.ignoreModifiers)||h.keys?.includes("*")){if(r?.ignoreEventWhen?.(c)||z&&n.current)return;if(ot(c,h,r?.preventDefault),!rt(c,h,r?.enabled)){$(c);return}y.current(c,h),z||(n.current=!0)}})}},j=c=>{c.code!==void 0&&(et(I(c.code)),(r?.keydown===void 0&&r?.keyup!==!0||r?.keydown)&&f(c))},V=c=>{c.code!==void 0&&(tt(I(c.code)),n.current=!1,r?.keyup&&f(c,!0))},L=u.current||a?.document||document;return L.addEventListener("keyup",V,a?.eventListenerOptions),L.addEventListener("keydown",j,a?.eventListenerOptions),C&&M(d,r?.delimiter).forEach(c=>C.addHotkey(P(c,r?.splitKey,r?.sequenceSplitKey,r?.useKey,r?.description))),()=>{L.removeEventListener("keyup",V,a?.eventListenerOptions),L.removeEventListener("keydown",j,a?.eventListenerOptions),C&&M(d,r?.delimiter).forEach(c=>C.removeHotkey(P(c,r?.splitKey,r?.sequenceSplitKey,r?.useKey,r?.description))),T=[],p&&clearTimeout(p)}},[d,r,s]),u}function bt(){var e=m.useRef(!1),t=m.useCallback(function(){return e.current},[]);return m.useEffect(function(){return e.current=!0,function(){e.current=!1}},[]),t}var yt=function(e){e===void 0&&(e={});var t=m.useState(e),o=t[0],i=t[1],u=m.useCallback(function(n){i(function(a){return Object.assign({},a,n instanceof Function?n(a):n)})},[]);return[o,u]},O,W;function Ct(){return W||(W=1,O=function(){var e=document.getSelection();if(!e.rangeCount)return function(){};for(var t=document.activeElement,o=[],i=0;i<e.rangeCount;i++)o.push(e.getRangeAt(i));switch(t.tagName.toUpperCase()){case"INPUT":case"TEXTAREA":t.blur();break;default:t=null;break}return e.removeAllRanges(),function(){e.type==="Caret"&&e.removeAllRanges(),e.rangeCount||o.forEach(function(u){e.addRange(u)}),t&&t.focus()}}),O}var K,X;function Tt(){if(X)return K;X=1;var e=Ct(),t={"text/plain":"Text","text/html":"Url",default:"Text"},o="Copy to clipboard: #{key}, Enter";function i(n){var a=(/mac os x/i.test(navigator.userAgent)?"⌘":"Ctrl")+"+C";return n.replace(/#{\s*key\s*}/g,a)}function u(n,a){var d,l,g,y,r,s,C=!1;a||(a={}),d=a.debug||!1;try{g=e(),y=document.createRange(),r=document.getSelection(),s=document.createElement("span"),s.textContent=n,s.ariaHidden="true",s.style.all="unset",s.style.position="fixed",s.style.top=0,s.style.clip="rect(0, 0, 0, 0)",s.style.whiteSpace="pre",s.style.webkitUserSelect="text",s.style.MozUserSelect="text",s.style.msUserSelect="text",s.style.userSelect="text",s.addEventListener("copy",function(p){if(p.stopPropagation(),a.format)if(p.preventDefault(),typeof p.clipboardData>"u"){d&&console.warn("unable to use e.clipboardData"),d&&console.warn("trying IE specific stuff"),window.clipboardData.clearData();var f=t[a.format]||t.default;window.clipboardData.setData(f,n)}else p.clipboardData.clearData(),p.clipboardData.setData(a.format,n);a.onCopy&&(p.preventDefault(),a.onCopy(p.clipboardData))}),document.body.appendChild(s),y.selectNodeContents(s),r.addRange(y);var T=document.execCommand("copy");if(!T)throw new Error("copy command was unsuccessful");C=!0}catch(p){d&&console.error("unable to copy using execCommand: ",p),d&&console.warn("trying IE specific stuff");try{window.clipboardData.setData(a.format||"text",n),a.onCopy&&a.onCopy(window.clipboardData),C=!0}catch(f){d&&console.error("unable to copy using clipboardData: ",f),d&&console.error("falling back to prompt"),l=i("message"in a?a.message:o),window.prompt(l,n)}}finally{r&&(typeof r.removeRange=="function"?r.removeRange(y):r.removeAllRanges()),s&&document.body.removeChild(s),g()}return C}return K=u,K}var ht=Tt();const vt=Q.getDefaultExportFromCjs(ht);var qt=function(){var e=bt(),t=yt({value:void 0,error:void 0,noUserInteraction:!0}),o=t[0],i=t[1],u=m.useCallback(function(n){if(e()){var a,d;try{if(typeof n!="string"&&typeof n!="number"){var l=new Error("Cannot copy typeof "+typeof n+" to clipboard, must be a string");process.env.NODE_ENV==="development"&&console.error(l),i({value:n,error:l,noUserInteraction:!0});return}else if(n===""){var l=new Error("Cannot copy empty string to clipboard.");process.env.NODE_ENV==="development"&&console.error(l),i({value:n,error:l,noUserInteraction:!0});return}d=n.toString(),a=vt(d),i({value:d,error:void 0,noUserInteraction:a})}catch(g){i({value:d,error:g,noUserInteraction:a})}}},[]);return[o,u]};function St(){const[e,t]=m.useState(o());function o(){return document.documentElement.style.getPropertyValue("color-scheme")||localStorage.getItem("theme")||"light"}return m.useEffect(()=>{const i=document.documentElement,u=new MutationObserver(()=>{const n=o();t(n)});return u.observe(i,{attributes:!0,attributeFilter:["style"]}),()=>u.disconnect()},[]),e}function re(){const{resolvedTheme:e,setTheme:t}=Z.z();return{colorMode:e,setColorMode:t,toggleColorMode:()=>{t(e==="light"?"dark":"light")}}}function wt(e,t){const{colorMode:o}=re();return o==="light"?e:t}exports.system=ae.system;exports.RichTextInput=Q.RichTextInput;exports.Avatar=ie.Avatar;exports.Box=ue.Box;exports.Button=ce.Button;exports.Code=le.Code;exports.ComboBox=x.ComboBox;exports._ComboBoxOption=x.ComboBoxOption;exports._ComboBoxOptionGroup=x.ComboBoxOptionGroup;exports._ComboBoxRoot=x.ComboBoxRoot;exports.Dialog=se.Dialog;exports.FieldErrorTypes=Y.FieldErrorTypes;exports.FieldErrors=Y.FieldErrors;exports.Group=de.Group;exports.Heading=pe.Heading;exports.IconButton=me.IconButton;exports.IconToggleButton=fe.IconToggleButton;exports.Image=ge.Image;exports.Kbd=be.Kbd;exports.Link=ye.Link;exports.List=E.List;exports._ListIndicator=E.ListIndicator;exports._ListItem=E.ListItem;exports._ListRoot=E.ListRoot;exports.DraggableList=A.DraggableList;exports._DraggableListField=A.DraggableListField;exports._DraggableListItem=A.DraggableListItem;exports._DraggableListRoot=A.DraggableListRoot;exports.SimpleGrid=Ce.SimpleGrid;exports.Text=Te.Text;exports.Tooltip=G.Tooltip;exports._TooltipContent=G.TooltipContent;exports._TooltipRoot=G.TooltipRoot;exports.MakeElementFocusable=he.MakeElementFocusable;exports.NimbusProvider=Z.NimbusProvider;exports.Checkbox=ve.Checkbox;exports.CollapsibleMotion=qe.CollapsibleMotion;exports.Stack=Se.Stack;exports.VisuallyHidden=we.VisuallyHidden;exports.TextInput=Ie.TextInput;exports.NumberInput=De.NumberInput;exports.Grid=Re.Grid;exports.Select=k.Select;exports._SelectOption=k.SelectOption;exports._SelectOptionGroup=k.SelectOptionGroup;exports._SelectOptions=k.SelectOptions;exports._SelectRoot=k.SelectRoot;exports.Separator=_e.Separator;exports.Accordion=D.Accordion;exports._AccordionContent=D.AccordionContent;exports._AccordionHeader=D.AccordionHeader;exports._AccordionHeaderRightContent=D.AccordionHeaderRightContentSlot;exports._AccordionItem=D.AccordionItem;exports._AccordionRoot=D.AccordionRoot;exports.Alert=R.Alert;exports._AlertActions=R.AlertActions;exports._AlertDescription=R.AlertDescription;exports._AlertDismissButton=R.AlertDismissButton;exports._AlertRoot=R.AlertRoot;exports._AlertTitle=R.AlertTitle;exports.Badge=ke.Badge;exports.Card=F.Card;exports._CardContent=F.CardContent;exports._CardHeader=F.CardHeader;exports._CardRoot=F.CardRoot;exports.FormField=w.FormField;exports._FormFieldDescription=w.FormFieldDescription;exports._FormFieldError=w.FormFieldError;exports._FormFieldInfoBox=w.FormFieldInfoBox;exports._FormFieldInput=w.FormFieldInput;exports._FormFieldLabel=w.FormFieldLabel;exports._FormFieldRoot=w.FormFieldRoot;exports.Icon=Le.Icon;exports.InlineSvg=xe.InlineSvg;exports.LoadingSpinner=Ee.LoadingSpinner;exports.PasswordInput=Ae.PasswordInput;exports.SearchInput=Fe.SearchInput;exports.SplitButton=Be.SplitButton;exports.TimeInput=Me.TimeInput;exports.MultilineTextInput=Pe.MultilineTextInput;exports.MoneyInput=Oe.MoneyInput;exports.RadioInput=H.RadioInput;exports._RadioInputOption=H.RadioInputOption;exports._RadioInputRoot=H.RadioInputRoot;exports.Switch=Ke.Switch;exports.TagGroup=Ge.TagGroup;exports.ToggleButton=He.ToggleButton;exports.ToggleButtonGroup=N.ToggleButtonGroup;exports._ToggleButtonGroupButton=N.ToggleButtonGroupButton;exports._ToggleButtonGroupRoot=N.ToggleButtonGroupRoot;exports.DateInput=Ne.DateInput;exports.Calendar=Ue.Calendar;exports.DatePicker=je.DatePicker;exports.ProgressBar=Ve.ProgressBar;exports.RangeCalendar=ze.RangeCalendar;exports.Menu=q.Menu;exports._MenuContent=q.MenuContent;exports._MenuItem=q.MenuItem;exports._MenuRoot=q.MenuRoot;exports._MenuSection=q.MenuSection;exports._MenuSubmenu=q.MenuSubmenu;exports._MenuSubmenuTrigger=q.MenuSubmenuTrigger;exports._MenuTrigger=q.MenuTrigger;exports.DateRangePicker=$e.DateRangePicker;exports.Toolbar=We.Toolbar;exports.DataTable=b.DataTable;exports._DataTableBody=b.DataTableBody;exports._DataTableCell=b.DataTableCell;exports._DataTableColumn=b.DataTableColumn;exports._DataTableExpandButton=b.DataTableExpandButton;exports._DataTableFooter=b.DataTableFooter;exports._DataTableHeader=b.DataTableHeader;exports._DataTableNestedIcon=b.DataTableNestedIcon;exports._DataTableRoot=b.DataTableRoot;exports._DataTableRow=b.DataTableRow;exports._DataTableSelectionCell=b.DataTableSelectionCell;exports._DataTableTable=b.DataTableTable;exports.Pagination=Xe.Pagination;exports.Drawer=Qe.Drawer;exports.Tabs=_.Tabs;exports._Tab=_.Tab;exports._TabList=_.TabList;exports._TabPanel=_.TabPanel;exports._TabPanels=_.TabPanels;exports._TabsRoot=_.TabsRoot;exports.LocalizedField=Ye.LocalizedField;exports.useColorMode=re;exports.useColorModeValue=wt;exports.useColorScheme=St;exports.useCopyToClipboard=qt;exports.useHotkeys=gt;
1
+ "use strict";const ae=require("./chunks/index-CRFg4Mhx.cjs.js"),Q=require("./chunks/rich-text-input-Da5WFZ3l.cjs.js"),m=require("react"),ie=require("./chunks/avatar-_o-uSXYy.cjs.js"),ue=require("./chunks/box-CWni3A32.cjs.js"),ce=require("./chunks/button-B5OOW-2z.cjs.js"),le=require("./chunks/code-q31e3vT2.cjs.js"),x=require("./chunks/combobox-B5UxZWSX.cjs.js"),se=require("./chunks/dialog-CKwC3dk3.cjs.js"),Y=require("./chunks/field-errors-D2re_C_c.cjs.js"),Dt=require("@chakra-ui/react/flex"),de=require("./chunks/group-BqUFlw5R.cjs.js"),pe=require("./chunks/heading-BTacGwo9.cjs.js"),me=require("./chunks/icon-button-vWPrT-bR.cjs.js"),fe=require("./chunks/icon-toggle-button-eLrsWehe.cjs.js"),ge=require("./chunks/image-CGOYoc2s.cjs.js"),be=require("./chunks/kbd-BaeV_DL-.cjs.js"),ye=require("./chunks/link-DpU4rPCp.cjs.js"),E=require("./chunks/list-DJC9BmoC.cjs.js"),A=require("./chunks/draggable-list-MGvr5-A-.cjs.js"),Ce=require("./chunks/simple-grid-Cd2MJxSX.cjs.js"),Rt=require("@chakra-ui/react/table"),Te=require("./chunks/text-CCW9kDT_.cjs.js"),G=require("./chunks/tooltip-BPTOkK7W.cjs.js"),he=require("./chunks/make-element-focusable-oedzOY_M.cjs.js"),Z=require("./chunks/nimbus-provider-WX_qUCxo.cjs.js"),ve=require("./chunks/checkbox-Dod-yTj4.cjs.js"),qe=require("./chunks/collapsible-motion-C7M_CLNI.cjs.js"),Se=require("./chunks/stack-CIN13EDn.cjs.js"),we=require("./chunks/visually-hidden-tTYCAVoQ.cjs.js"),Ie=require("./chunks/text-input-DZdkCbdd.cjs.js"),De=require("./chunks/number-input-wMW-o4di.cjs.js"),Re=require("./chunks/grid-Chuw1xje.cjs.js"),k=require("./chunks/select-DMsU6bk9.cjs.js"),_e=require("./chunks/separator-CvRn_J0r.cjs.js"),ke=require("./chunks/spacer-BvQD2vU1.cjs.js"),D=require("./chunks/accordion-B2FLWAh5.cjs.js"),R=require("./chunks/alert-CPHjPe4-.cjs.js"),Le=require("./chunks/badge-mMpNb3Qj.cjs.js"),F=require("./chunks/card-BPEsGx1J.cjs.js"),w=require("./chunks/form-field-CIGQxVVS.cjs.js"),xe=require("./chunks/icon-D39U--jA.cjs.js"),Ee=require("./chunks/inline-svg-Yb2OyzRw.cjs.js"),Ae=require("./chunks/loading-spinner-DQM-6XnY.cjs.js"),Fe=require("./chunks/password-input-6SMjhXSO.cjs.js"),Be=require("./chunks/search-input-BefkmgPy.cjs.js"),Me=require("./chunks/split-button-BO52sL7h.cjs.js"),Pe=require("./chunks/time-input-zXykDANk.cjs.js"),Oe=require("./chunks/multiline-text-input-B9TBDieZ.cjs.js"),Ke=require("./chunks/money-input-Cu_J86Eu.cjs.js"),H=require("./chunks/radio-input-Dp05SXja.cjs.js"),Ge=require("./chunks/switch-CdLhBEPq.cjs.js"),He=require("./chunks/tag-group-Btt0egzG.cjs.js"),Ne=require("./chunks/toggle-button-DxMZsem4.cjs.js"),N=require("./chunks/toggle-button-group-CE2Urvj8.cjs.js"),Ue=require("./chunks/date-input-DvOM0DLT.cjs.js"),je=require("./chunks/calendar-V0KeNCQ3.cjs.js"),Ve=require("./chunks/date-picker-CZAoPNsT.cjs.js"),ze=require("./chunks/progress-bar-Bhp7W6Eo.cjs.js"),$e=require("./chunks/range-calendar-_dZfAsdG.cjs.js"),q=require("./chunks/menu-DIepV2KZ.cjs.js"),We=require("./chunks/date-range-picker-iENzosfN.cjs.js"),Xe=require("./chunks/toolbar-DV0l5MqA.cjs.js"),b=require("./chunks/data-table-C51WU0Cc.cjs.js"),Qe=require("./chunks/pagination-BWdg8s6g.cjs.js"),Ye=require("./chunks/drawer-DzW9wBMk.cjs.js"),_=require("./chunks/tabs-CJ0OAUSR.cjs.js"),Ze=require("./chunks/localized-field-C7Vribb2.cjs.js");require("react/jsx-runtime");const J=["shift","alt","meta","mod","ctrl","control"],Je={esc:"escape",return:"enter",left:"arrowleft",right:"arrowright",up:"arrowup",down:"arrowdown",ShiftLeft:"shift",ShiftRight:"shift",AltLeft:"alt",AltRight:"alt",MetaLeft:"meta",MetaRight:"meta",OSLeft:"meta",OSRight:"meta",ControlLeft:"ctrl",ControlRight:"ctrl"};function I(e){return(Je[e.trim()]||e.trim()).toLowerCase().replace(/key|digit|numpad/,"")}function ee(e){return J.includes(e)}function M(e,t=","){return e.toLowerCase().split(t)}function P(e,t="+",o=">",i=!1,u){let n=[],a=!1;e=e.trim(),e.includes(o)?(a=!0,n=e.toLocaleLowerCase().split(o).map(g=>I(g))):n=e.toLocaleLowerCase().split(t).map(g=>I(g));const d={alt:n.includes("alt"),ctrl:n.includes("ctrl")||n.includes("control"),shift:n.includes("shift"),meta:n.includes("meta"),mod:n.includes("mod"),useKey:i},l=n.filter(g=>!J.includes(g));return{...d,keys:l,description:u,isSequence:a,hotkey:e}}const S=new Set;function U(e){return Array.isArray(e)}function et(e,t=","){return(U(e)?e:e.split(t)).every(o=>S.has(o.trim().toLowerCase()))}function tt(e){const t=Array.isArray(e)?e:[e];S.has("meta")&&S.forEach(o=>!ee(o)&&S.delete(o.toLowerCase())),t.forEach(o=>S.add(o.toLowerCase()))}function ot(e){const t=Array.isArray(e)?e:[e];e==="meta"?S.clear():t.forEach(o=>S.delete(o.toLowerCase()))}function rt(e,t,o){(typeof o=="function"&&o(e,t)||o===!0)&&e.preventDefault()}function nt(e,t,o){return typeof o=="function"?o(e,t):o===!0||o===void 0}const at=["input","textarea","select","searchbox","slider","spinbutton","menuitem","menuitemcheckbox","menuitemradio","option","radio","textbox"];function it(e){return te(e,at)}function te(e,t=!1){const{target:o,composed:i}=e;let u,n;return ut(o)&&i?(u=e.composedPath()[0]&&e.composedPath()[0].tagName,n=e.composedPath()[0]&&e.composedPath()[0].role):(u=o&&o.tagName,n=o&&o.role),U(t)?!!(u&&t&&t.some(a=>a.toLowerCase()===u.toLowerCase()||a===n)):!!(u&&t&&t)}function ut(e){return!!e.tagName&&!e.tagName.startsWith("-")&&e.tagName.includes("-")}function ct(e,t){return e.length===0&&t?(console.warn('A hotkey has the "scopes" option set, however no active scopes were found. If you want to use the global scopes feature, you need to wrap your app in a <HotkeysProvider>'),!0):t?e.some(o=>t.includes(o))||e.includes("*"):!0}const lt=(e,t,o=!1)=>{const{alt:i,meta:u,mod:n,shift:a,ctrl:d,keys:l,useKey:g}=t,{code:y,key:r,ctrlKey:s,metaKey:C,shiftKey:T,altKey:p}=e,f=I(y);if(g&&l?.length===1&&l.includes(r))return!0;if(!l?.includes(f)&&!["ctrl","control","unknown","meta","alt","shift","os"].includes(f))return!1;if(!o){if(i!==p&&f!=="alt"||a!==T&&f!=="shift")return!1;if(n){if(!C&&!s)return!1}else if(u!==C&&f!=="meta"&&f!=="os"||d!==s&&f!=="ctrl"&&f!=="control")return!1}return l&&l.length===1&&l.includes(f)?!0:l?et(l):!l},st=m.createContext(void 0),dt=()=>m.useContext(st);function oe(e,t){return e&&t&&typeof e=="object"&&typeof t=="object"?Object.keys(e).length===Object.keys(t).length&&Object.keys(e).reduce((o,i)=>o&&oe(e[i],t[i]),!0):e===t}const pt=m.createContext({hotkeys:[],activeScopes:[],toggleScope:()=>{},enableScope:()=>{},disableScope:()=>{}}),mt=()=>m.useContext(pt);function ft(e){const t=m.useRef(void 0);return oe(t.current,e)||(t.current=e),t.current}const $=e=>{e.stopPropagation(),e.preventDefault(),e.stopImmediatePropagation()},gt=typeof window<"u"?m.useLayoutEffect:m.useEffect;function bt(e,t,o,i){const u=m.useRef(null),n=m.useRef(!1),a=Array.isArray(o)?Array.isArray(i)?void 0:i:o,d=U(e)?e.join(a?.delimiter):e,l=Array.isArray(o)?o:Array.isArray(i)?i:void 0,g=m.useCallback(t,l??[]),y=m.useRef(g);l?y.current=g:y.current=t;const r=ft(a),{activeScopes:s}=mt(),C=dt();return gt(()=>{if(r?.enabled===!1||!ct(s,r?.scopes))return;let T=[],p;const f=(c,z=!1)=>{if(!(it(c)&&!te(c,r?.enableOnFormTags))){if(u.current!==null){const v=u.current.getRootNode();if((v instanceof Document||v instanceof ShadowRoot)&&v.activeElement!==u.current&&!u.current.contains(v.activeElement)){$(c);return}}c.target?.isContentEditable&&!r?.enableOnContentEditable||M(d,r?.delimiter).forEach(v=>{if(v.includes(r?.splitKey??"+")&&v.includes(r?.sequenceSplitKey??">")){console.warn(`Hotkey ${v} contains both ${r?.splitKey??"+"} and ${r?.sequenceSplitKey??">"} which is not supported.`);return}const h=P(v,r?.splitKey,r?.sequenceSplitKey,r?.useKey,r?.description);if(h.isSequence){p=setTimeout(()=>{T=[]},r?.sequenceTimeoutMs??1e3);const B=h.useKey?c.key:I(c.code);if(ee(B.toLowerCase()))return;T.push(B);const ne=h.keys?.[T.length-1];if(B!==ne){T=[],p&&clearTimeout(p);return}T.length===h.keys?.length&&(y.current(c,h),p&&clearTimeout(p),T=[])}else if(lt(c,h,r?.ignoreModifiers)||h.keys?.includes("*")){if(r?.ignoreEventWhen?.(c)||z&&n.current)return;if(rt(c,h,r?.preventDefault),!nt(c,h,r?.enabled)){$(c);return}y.current(c,h),z||(n.current=!0)}})}},j=c=>{c.code!==void 0&&(tt(I(c.code)),(r?.keydown===void 0&&r?.keyup!==!0||r?.keydown)&&f(c))},V=c=>{c.code!==void 0&&(ot(I(c.code)),n.current=!1,r?.keyup&&f(c,!0))},L=u.current||a?.document||document;return L.addEventListener("keyup",V,a?.eventListenerOptions),L.addEventListener("keydown",j,a?.eventListenerOptions),C&&M(d,r?.delimiter).forEach(c=>C.addHotkey(P(c,r?.splitKey,r?.sequenceSplitKey,r?.useKey,r?.description))),()=>{L.removeEventListener("keyup",V,a?.eventListenerOptions),L.removeEventListener("keydown",j,a?.eventListenerOptions),C&&M(d,r?.delimiter).forEach(c=>C.removeHotkey(P(c,r?.splitKey,r?.sequenceSplitKey,r?.useKey,r?.description))),T=[],p&&clearTimeout(p)}},[d,r,s]),u}function yt(){var e=m.useRef(!1),t=m.useCallback(function(){return e.current},[]);return m.useEffect(function(){return e.current=!0,function(){e.current=!1}},[]),t}var Ct=function(e){e===void 0&&(e={});var t=m.useState(e),o=t[0],i=t[1],u=m.useCallback(function(n){i(function(a){return Object.assign({},a,n instanceof Function?n(a):n)})},[]);return[o,u]},O,W;function Tt(){return W||(W=1,O=function(){var e=document.getSelection();if(!e.rangeCount)return function(){};for(var t=document.activeElement,o=[],i=0;i<e.rangeCount;i++)o.push(e.getRangeAt(i));switch(t.tagName.toUpperCase()){case"INPUT":case"TEXTAREA":t.blur();break;default:t=null;break}return e.removeAllRanges(),function(){e.type==="Caret"&&e.removeAllRanges(),e.rangeCount||o.forEach(function(u){e.addRange(u)}),t&&t.focus()}}),O}var K,X;function ht(){if(X)return K;X=1;var e=Tt(),t={"text/plain":"Text","text/html":"Url",default:"Text"},o="Copy to clipboard: #{key}, Enter";function i(n){var a=(/mac os x/i.test(navigator.userAgent)?"⌘":"Ctrl")+"+C";return n.replace(/#{\s*key\s*}/g,a)}function u(n,a){var d,l,g,y,r,s,C=!1;a||(a={}),d=a.debug||!1;try{g=e(),y=document.createRange(),r=document.getSelection(),s=document.createElement("span"),s.textContent=n,s.ariaHidden="true",s.style.all="unset",s.style.position="fixed",s.style.top=0,s.style.clip="rect(0, 0, 0, 0)",s.style.whiteSpace="pre",s.style.webkitUserSelect="text",s.style.MozUserSelect="text",s.style.msUserSelect="text",s.style.userSelect="text",s.addEventListener("copy",function(p){if(p.stopPropagation(),a.format)if(p.preventDefault(),typeof p.clipboardData>"u"){d&&console.warn("unable to use e.clipboardData"),d&&console.warn("trying IE specific stuff"),window.clipboardData.clearData();var f=t[a.format]||t.default;window.clipboardData.setData(f,n)}else p.clipboardData.clearData(),p.clipboardData.setData(a.format,n);a.onCopy&&(p.preventDefault(),a.onCopy(p.clipboardData))}),document.body.appendChild(s),y.selectNodeContents(s),r.addRange(y);var T=document.execCommand("copy");if(!T)throw new Error("copy command was unsuccessful");C=!0}catch(p){d&&console.error("unable to copy using execCommand: ",p),d&&console.warn("trying IE specific stuff");try{window.clipboardData.setData(a.format||"text",n),a.onCopy&&a.onCopy(window.clipboardData),C=!0}catch(f){d&&console.error("unable to copy using clipboardData: ",f),d&&console.error("falling back to prompt"),l=i("message"in a?a.message:o),window.prompt(l,n)}}finally{r&&(typeof r.removeRange=="function"?r.removeRange(y):r.removeAllRanges()),s&&document.body.removeChild(s),g()}return C}return K=u,K}var vt=ht();const qt=Q.getDefaultExportFromCjs(vt);var St=function(){var e=yt(),t=Ct({value:void 0,error:void 0,noUserInteraction:!0}),o=t[0],i=t[1],u=m.useCallback(function(n){if(e()){var a,d;try{if(typeof n!="string"&&typeof n!="number"){var l=new Error("Cannot copy typeof "+typeof n+" to clipboard, must be a string");process.env.NODE_ENV==="development"&&console.error(l),i({value:n,error:l,noUserInteraction:!0});return}else if(n===""){var l=new Error("Cannot copy empty string to clipboard.");process.env.NODE_ENV==="development"&&console.error(l),i({value:n,error:l,noUserInteraction:!0});return}d=n.toString(),a=qt(d),i({value:d,error:void 0,noUserInteraction:a})}catch(g){i({value:d,error:g,noUserInteraction:a})}}},[]);return[o,u]};function wt(){const[e,t]=m.useState(o());function o(){return document.documentElement.style.getPropertyValue("color-scheme")||localStorage.getItem("theme")||"light"}return m.useEffect(()=>{const i=document.documentElement,u=new MutationObserver(()=>{const n=o();t(n)});return u.observe(i,{attributes:!0,attributeFilter:["style"]}),()=>u.disconnect()},[]),e}function re(){const{resolvedTheme:e,setTheme:t}=Z.z();return{colorMode:e,setColorMode:t,toggleColorMode:()=>{t(e==="light"?"dark":"light")}}}function It(e,t){const{colorMode:o}=re();return o==="light"?e:t}exports.system=ae.system;exports.RichTextInput=Q.RichTextInput;exports.Avatar=ie.Avatar;exports.Box=ue.Box;exports.Button=ce.Button;exports.Code=le.Code;exports.ComboBox=x.ComboBox;exports._ComboBoxOption=x.ComboBoxOption;exports._ComboBoxOptionGroup=x.ComboBoxOptionGroup;exports._ComboBoxRoot=x.ComboBoxRoot;exports.Dialog=se.Dialog;exports.FieldErrorTypes=Y.FieldErrorTypes;exports.FieldErrors=Y.FieldErrors;exports.Group=de.Group;exports.Heading=pe.Heading;exports.IconButton=me.IconButton;exports.IconToggleButton=fe.IconToggleButton;exports.Image=ge.Image;exports.Kbd=be.Kbd;exports.Link=ye.Link;exports.List=E.List;exports._ListIndicator=E.ListIndicator;exports._ListItem=E.ListItem;exports._ListRoot=E.ListRoot;exports.DraggableList=A.DraggableList;exports._DraggableListField=A.DraggableListField;exports._DraggableListItem=A.DraggableListItem;exports._DraggableListRoot=A.DraggableListRoot;exports.SimpleGrid=Ce.SimpleGrid;exports.Text=Te.Text;exports.Tooltip=G.Tooltip;exports._TooltipContent=G.TooltipContent;exports._TooltipRoot=G.TooltipRoot;exports.MakeElementFocusable=he.MakeElementFocusable;exports.NimbusProvider=Z.NimbusProvider;exports.Checkbox=ve.Checkbox;exports.CollapsibleMotion=qe.CollapsibleMotion;exports.Stack=Se.Stack;exports.VisuallyHidden=we.VisuallyHidden;exports.TextInput=Ie.TextInput;exports.NumberInput=De.NumberInput;exports.Grid=Re.Grid;exports.Select=k.Select;exports._SelectOption=k.SelectOption;exports._SelectOptionGroup=k.SelectOptionGroup;exports._SelectOptions=k.SelectOptions;exports._SelectRoot=k.SelectRoot;exports.Separator=_e.Separator;exports.Spacer=ke.Spacer;exports.Accordion=D.Accordion;exports._AccordionContent=D.AccordionContent;exports._AccordionHeader=D.AccordionHeader;exports._AccordionHeaderRightContent=D.AccordionHeaderRightContentSlot;exports._AccordionItem=D.AccordionItem;exports._AccordionRoot=D.AccordionRoot;exports.Alert=R.Alert;exports._AlertActions=R.AlertActions;exports._AlertDescription=R.AlertDescription;exports._AlertDismissButton=R.AlertDismissButton;exports._AlertRoot=R.AlertRoot;exports._AlertTitle=R.AlertTitle;exports.Badge=Le.Badge;exports.Card=F.Card;exports._CardContent=F.CardContent;exports._CardHeader=F.CardHeader;exports._CardRoot=F.CardRoot;exports.FormField=w.FormField;exports._FormFieldDescription=w.FormFieldDescription;exports._FormFieldError=w.FormFieldError;exports._FormFieldInfoBox=w.FormFieldInfoBox;exports._FormFieldInput=w.FormFieldInput;exports._FormFieldLabel=w.FormFieldLabel;exports._FormFieldRoot=w.FormFieldRoot;exports.Icon=xe.Icon;exports.InlineSvg=Ee.InlineSvg;exports.LoadingSpinner=Ae.LoadingSpinner;exports.PasswordInput=Fe.PasswordInput;exports.SearchInput=Be.SearchInput;exports.SplitButton=Me.SplitButton;exports.TimeInput=Pe.TimeInput;exports.MultilineTextInput=Oe.MultilineTextInput;exports.MoneyInput=Ke.MoneyInput;exports.RadioInput=H.RadioInput;exports._RadioInputOption=H.RadioInputOption;exports._RadioInputRoot=H.RadioInputRoot;exports.Switch=Ge.Switch;exports.TagGroup=He.TagGroup;exports.ToggleButton=Ne.ToggleButton;exports.ToggleButtonGroup=N.ToggleButtonGroup;exports._ToggleButtonGroupButton=N.ToggleButtonGroupButton;exports._ToggleButtonGroupRoot=N.ToggleButtonGroupRoot;exports.DateInput=Ue.DateInput;exports.Calendar=je.Calendar;exports.DatePicker=Ve.DatePicker;exports.ProgressBar=ze.ProgressBar;exports.RangeCalendar=$e.RangeCalendar;exports.Menu=q.Menu;exports._MenuContent=q.MenuContent;exports._MenuItem=q.MenuItem;exports._MenuRoot=q.MenuRoot;exports._MenuSection=q.MenuSection;exports._MenuSubmenu=q.MenuSubmenu;exports._MenuSubmenuTrigger=q.MenuSubmenuTrigger;exports._MenuTrigger=q.MenuTrigger;exports.DateRangePicker=We.DateRangePicker;exports.Toolbar=Xe.Toolbar;exports.DataTable=b.DataTable;exports._DataTableBody=b.DataTableBody;exports._DataTableCell=b.DataTableCell;exports._DataTableColumn=b.DataTableColumn;exports._DataTableExpandButton=b.DataTableExpandButton;exports._DataTableFooter=b.DataTableFooter;exports._DataTableHeader=b.DataTableHeader;exports._DataTableNestedIcon=b.DataTableNestedIcon;exports._DataTableRoot=b.DataTableRoot;exports._DataTableRow=b.DataTableRow;exports._DataTableSelectionCell=b.DataTableSelectionCell;exports._DataTableTable=b.DataTableTable;exports.Pagination=Qe.Pagination;exports.Drawer=Ye.Drawer;exports.Tabs=_.Tabs;exports._Tab=_.Tab;exports._TabList=_.TabList;exports._TabPanel=_.TabPanel;exports._TabPanels=_.TabPanels;exports._TabsRoot=_.TabsRoot;exports.LocalizedField=Ze.LocalizedField;exports.useColorMode=re;exports.useColorModeValue=It;exports.useColorScheme=wt;exports.useCopyToClipboard=St;exports.useHotkeys=bt;
2
2
  //# sourceMappingURL=index.cjs.map