@cryptlex/web-components 6.6.6-alpha51 → 6.6.6-alpha54

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.
Files changed (35) hide show
  1. package/dist/components/checkbox.js +1 -1
  2. package/dist/components/checkbox.js.map +1 -1
  3. package/dist/components/data-table-filter.d.ts +1 -1
  4. package/dist/components/data-table-filter.js +1 -1
  5. package/dist/components/data-table.d.ts +11 -24
  6. package/dist/components/data-table.js +1 -1
  7. package/dist/components/data-table.js.map +1 -1
  8. package/dist/components/date-picker.js +1 -1
  9. package/dist/components/date-picker.js.map +1 -1
  10. package/dist/components/duration-field.js +1 -1
  11. package/dist/components/duration-field.js.map +1 -1
  12. package/dist/components/id-search.d.ts +4 -4
  13. package/dist/components/id-search.js +1 -1
  14. package/dist/components/id-search.js.map +1 -1
  15. package/dist/components/multi-select.js +1 -1
  16. package/dist/components/multi-select.js.map +1 -1
  17. package/dist/components/numberfield.js +1 -1
  18. package/dist/components/numberfield.js.map +1 -1
  19. package/dist/components/select-options.d.ts +1 -0
  20. package/dist/components/select-options.js +1 -1
  21. package/dist/components/select-options.js.map +1 -1
  22. package/dist/components/select.js +1 -1
  23. package/dist/components/select.js.map +1 -1
  24. package/dist/components/textfield.js +1 -1
  25. package/dist/components/textfield.js.map +1 -1
  26. package/dist/components/toast.d.ts +4 -8
  27. package/dist/components/toast.js +1 -1
  28. package/dist/components/toast.js.map +1 -1
  29. package/dist/utilities/form-context.d.ts +3 -1
  30. package/dist/utilities/form-context.js +1 -1
  31. package/dist/utilities/form-context.js.map +1 -1
  32. package/dist/utilities/resources.d.ts +10 -7
  33. package/dist/utilities/resources.js +1 -1
  34. package/dist/utilities/resources.js.map +1 -1
  35. package/package.json +1 -1
@@ -1,2 +1,2 @@
1
- "use client";import{jsx as i}from"react/jsx-runtime";import{TextField as c,composeRenderProps as o,TextArea as x,Input as g}from"react-aria-components";import{getFieldErrorMessage as m}from"../utilities/form.js";import{useFieldContext as F}from"../utilities/form-context.js";import{classNames as n}from"../utilities/theme.js";import{FormField as T,fieldGroupVariants as s}from"./form.js";import"@tanstack/react-form";import"react";import"clsx";import"class-variance-authority";import"./icons.js";const h=c;function b({className:r,...t}){return i(g,{className:o(r,e=>n(s(),"file:border-0 file:bg-transparent file:body-sm file:font-medium","disabled-muted","focus-ring",e)),...t})}function N({className:r,...t}){return i(x,{className:o(r,e=>n(s(),"h-full min-h-32",e)),...t})}function A({label:r,description:t,errorMessage:e,textArea:l,className:d,inputClassName:a,requiredIndicator:f,...u}){return i(h,{className:o(d,p=>n("group form-field",p)),...u,children:i(T,{label:r,description:t,errorMessage:e,requiredIndicator:f,children:l?i(N,{className:a}):i(b,{className:a})})})}function R({isDisabled:r,...t}){const e=F({disabled:r});return i(A,{isDisabled:r||e.form.state.isSubmitting,value:e.state.value,id:e.name,name:e.name,onBlur:e.handleBlur,onChange:e.handleChange,isInvalid:!!m(e),errorMessage:m(e),...t})}export{A as TextField,R as TfTextField};
1
+ "use client";import{jsx as t}from"react/jsx-runtime";import{TextField as c,composeRenderProps as o,TextArea as x,Input as g}from"react-aria-components";import{getFieldErrorMessage as s}from"../utilities/form.js";import{useFieldContext as F}from"../utilities/form-context.js";import{classNames as n}from"../utilities/theme.js";import{FormField as T,fieldGroupVariants as m}from"./form.js";import"@tanstack/react-form";import"react";import"clsx";import"class-variance-authority";import"./icons.js";const h=c;function b({className:r,...i}){return t(g,{className:o(r,e=>n(m(),"file:border-0 file:bg-transparent file:body-sm file:font-medium","disabled-muted","focus-ring",e)),...i})}function I({className:r,...i}){return t(x,{className:o(r,e=>n(m(),"h-full min-h-32",e)),...i})}function N({label:r,description:i,errorMessage:e,textArea:l,className:d,inputClassName:a,requiredIndicator:u,...f}){return t(h,{className:o(d,p=>n("group form-field",p)),...f,children:t(T,{label:r,description:i,errorMessage:e,requiredIndicator:u,children:l?t(I,{className:a}):t(b,{className:a})})})}function G({isDisabled:r,...i}){const e=F({disabled:r});return t(N,{isDisabled:r||e.form.state.isSubmitting,value:e.state.value,id:e.name,name:e.name,onBlur:e.handleBlur,onChange:e.handleChange,isInvalid:!!s(e),errorMessage:s(e),requiredIndicator:e.isRequired,...i})}export{N as TextField,G as TfTextField};
2
2
  //# sourceMappingURL=textfield.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"textfield.js","sources":["../../lib/components/textfield.tsx"],"sourcesContent":["'use client';\nimport {\n Input as AriaInput,\n InputProps as AriaInputProps,\n TextArea as AriaTextArea,\n TextAreaProps as AriaTextAreaProps,\n TextField as AriaTextField,\n TextFieldProps as AriaTextFieldProps,\n composeRenderProps,\n} from 'react-aria-components';\nimport { getFieldErrorMessage } from '../utilities/form';\nimport { useFieldContext } from '../utilities/form-context';\nimport { classNames } from '../utilities/theme';\nimport { fieldGroupVariants, FormField, type FormFieldProps } from './form';\n\nconst ATextField = AriaTextField;\n\nfunction Input({ className, ...props }: AriaInputProps) {\n return (\n <AriaInput\n className={composeRenderProps(className, className =>\n classNames(\n fieldGroupVariants(),\n 'file:border-0 file:bg-transparent file:body-sm file:font-medium',\n /* Disabled */\n 'disabled-muted',\n /* Focused */\n 'focus-ring',\n className\n )\n )}\n {...props}\n />\n );\n}\n\nfunction TextArea({ className, ...props }: AriaTextAreaProps) {\n return (\n <AriaTextArea\n className={composeRenderProps(className, className =>\n classNames(fieldGroupVariants(), 'h-full min-h-32', className)\n )}\n {...props}\n />\n );\n}\n\nexport interface TextFieldProps extends AriaTextFieldProps, FormFieldProps {\n textArea?: boolean;\n inputClassName?: string;\n}\n\nexport function TextField({\n label,\n description,\n errorMessage,\n textArea,\n className,\n inputClassName,\n requiredIndicator,\n ...props\n}: TextFieldProps) {\n return (\n <ATextField\n className={composeRenderProps(className, className => classNames('group form-field', className))}\n {...props}\n >\n <FormField {...{ label, description, errorMessage, requiredIndicator }}>\n {textArea ? <TextArea className={inputClassName} /> : <Input className={inputClassName} />}\n </FormField>\n </ATextField>\n );\n}\n\nexport function TfTextField({\n isDisabled,\n ...props\n}: Omit<React.ComponentProps<typeof TextField>, 'onBlur' | 'onChange'>) {\n const field = useFieldContext<string>({ disabled: isDisabled });\n\n return (\n <TextField\n isDisabled={isDisabled || field.form.state.isSubmitting}\n value={field.state.value}\n id={field.name}\n name={field.name}\n onBlur={field.handleBlur}\n onChange={field.handleChange}\n isInvalid={!!getFieldErrorMessage(field)}\n errorMessage={getFieldErrorMessage(field)}\n {...props}\n />\n );\n}\n"],"names":["ATextField","AriaTextField","Input","className","props","jsx","AriaInput","composeRenderProps","classNames","fieldGroupVariants","TextArea","AriaTextArea","TextField","label","description","errorMessage","textArea","inputClassName","requiredIndicator","FormField","TfTextField","isDisabled","field","useFieldContext","getFieldErrorMessage"],"mappings":"gfAeA,MAAMA,EAAaC,EAEnB,SAASC,EAAM,CAAE,UAAAC,EAAW,GAAGC,GAAyB,CACpD,OACIC,EAACC,EAAA,CACG,UAAWC,EAAmBJ,EAAWA,GACrCK,EACIC,EAAA,EACA,kEAEA,iBAEA,aACAN,CAAA,CACJ,EAEH,GAAGC,CAAA,CAAA,CAGhB,CAEA,SAASM,EAAS,CAAE,UAAAP,EAAW,GAAGC,GAA4B,CAC1D,OACIC,EAACM,EAAA,CACG,UAAWJ,EAAmBJ,EAAWA,GACrCK,EAAWC,EAAA,EAAsB,kBAAmBN,CAAS,CAAA,EAEhE,GAAGC,CAAA,CAAA,CAGhB,CAOO,SAASQ,EAAU,CACtB,MAAAC,EACA,YAAAC,EACA,aAAAC,EACA,SAAAC,EACA,UAAAb,EACA,eAAAc,EACA,kBAAAC,EACA,GAAGd,CACP,EAAmB,CACf,OACIC,EAACL,EAAA,CACG,UAAWO,EAAmBJ,EAAWA,GAAaK,EAAW,mBAAoBL,CAAS,CAAC,EAC9F,GAAGC,EAEJ,WAACe,EAAA,CAAgB,MAAAN,EAAO,YAAAC,EAAa,aAAAC,EAAc,kBAAAG,EAC9C,WAAWb,EAACK,EAAA,CAAS,UAAWO,EAAgB,IAAMf,EAAA,CAAM,UAAWe,EAAgB,CAAA,CAC5F,CAAA,CAAA,CAGZ,CAEO,SAASG,EAAY,CACxB,WAAAC,EACA,GAAGjB,CACP,EAAwE,CACpE,MAAMkB,EAAQC,EAAwB,CAAE,SAAUF,EAAY,EAE9D,OACIhB,EAACO,EAAA,CACG,WAAYS,GAAcC,EAAM,KAAK,MAAM,aAC3C,MAAOA,EAAM,MAAM,MACnB,GAAIA,EAAM,KACV,KAAMA,EAAM,KACZ,OAAQA,EAAM,WACd,SAAUA,EAAM,aAChB,UAAW,CAAC,CAACE,EAAqBF,CAAK,EACvC,aAAcE,EAAqBF,CAAK,EACvC,GAAGlB,CAAA,CAAA,CAGhB"}
1
+ {"version":3,"file":"textfield.js","sources":["../../lib/components/textfield.tsx"],"sourcesContent":["'use client';\nimport {\n Input as AriaInput,\n InputProps as AriaInputProps,\n TextArea as AriaTextArea,\n TextAreaProps as AriaTextAreaProps,\n TextField as AriaTextField,\n TextFieldProps as AriaTextFieldProps,\n composeRenderProps,\n} from 'react-aria-components';\nimport { getFieldErrorMessage } from '../utilities/form';\nimport { useFieldContext } from '../utilities/form-context';\nimport { classNames } from '../utilities/theme';\nimport { fieldGroupVariants, FormField, type FormFieldProps } from './form';\n\nconst ATextField = AriaTextField;\n\nfunction Input({ className, ...props }: AriaInputProps) {\n return (\n <AriaInput\n className={composeRenderProps(className, className =>\n classNames(\n fieldGroupVariants(),\n 'file:border-0 file:bg-transparent file:body-sm file:font-medium',\n /* Disabled */\n 'disabled-muted',\n /* Focused */\n 'focus-ring',\n className\n )\n )}\n {...props}\n />\n );\n}\n\nfunction TextArea({ className, ...props }: AriaTextAreaProps) {\n return (\n <AriaTextArea\n className={composeRenderProps(className, className =>\n classNames(fieldGroupVariants(), 'h-full min-h-32', className)\n )}\n {...props}\n />\n );\n}\n\nexport interface TextFieldProps extends AriaTextFieldProps, FormFieldProps {\n textArea?: boolean;\n inputClassName?: string;\n}\n\nexport function TextField({\n label,\n description,\n errorMessage,\n textArea,\n className,\n inputClassName,\n requiredIndicator,\n ...props\n}: TextFieldProps) {\n return (\n <ATextField\n className={composeRenderProps(className, className => classNames('group form-field', className))}\n {...props}\n >\n <FormField {...{ label, description, errorMessage, requiredIndicator }}>\n {textArea ? <TextArea className={inputClassName} /> : <Input className={inputClassName} />}\n </FormField>\n </ATextField>\n );\n}\n\nexport function TfTextField({\n isDisabled,\n ...props\n}: Omit<React.ComponentProps<typeof TextField>, 'onBlur' | 'onChange'>) {\n const field = useFieldContext<string>({ disabled: isDisabled });\n\n return (\n <TextField\n isDisabled={isDisabled || field.form.state.isSubmitting}\n value={field.state.value}\n id={field.name}\n name={field.name}\n onBlur={field.handleBlur}\n onChange={field.handleChange}\n isInvalid={!!getFieldErrorMessage(field)}\n errorMessage={getFieldErrorMessage(field)}\n requiredIndicator={field.isRequired}\n {...props}\n />\n );\n}\n"],"names":["ATextField","AriaTextField","Input","className","props","jsx","AriaInput","composeRenderProps","classNames","fieldGroupVariants","TextArea","AriaTextArea","TextField","label","description","errorMessage","textArea","inputClassName","requiredIndicator","FormField","TfTextField","isDisabled","field","useFieldContext","getFieldErrorMessage"],"mappings":"gfAeA,MAAMA,EAAaC,EAEnB,SAASC,EAAM,CAAE,UAAAC,EAAW,GAAGC,GAAyB,CACpD,OACIC,EAACC,EAAA,CACG,UAAWC,EAAmBJ,EAAWA,GACrCK,EACIC,EAAA,EACA,kEAEA,iBAEA,aACAN,CAAA,CACJ,EAEH,GAAGC,CAAA,CAAA,CAGhB,CAEA,SAASM,EAAS,CAAE,UAAAP,EAAW,GAAGC,GAA4B,CAC1D,OACIC,EAACM,EAAA,CACG,UAAWJ,EAAmBJ,EAAWA,GACrCK,EAAWC,EAAA,EAAsB,kBAAmBN,CAAS,CAAA,EAEhE,GAAGC,CAAA,CAAA,CAGhB,CAOO,SAASQ,EAAU,CACtB,MAAAC,EACA,YAAAC,EACA,aAAAC,EACA,SAAAC,EACA,UAAAb,EACA,eAAAc,EACA,kBAAAC,EACA,GAAGd,CACP,EAAmB,CACf,OACIC,EAACL,EAAA,CACG,UAAWO,EAAmBJ,EAAWA,GAAaK,EAAW,mBAAoBL,CAAS,CAAC,EAC9F,GAAGC,EAEJ,WAACe,EAAA,CAAgB,MAAAN,EAAO,YAAAC,EAAa,aAAAC,EAAc,kBAAAG,EAC9C,WAAWb,EAACK,EAAA,CAAS,UAAWO,EAAgB,IAAMf,EAAA,CAAM,UAAWe,EAAgB,CAAA,CAC5F,CAAA,CAAA,CAGZ,CAEO,SAASG,EAAY,CACxB,WAAAC,EACA,GAAGjB,CACP,EAAwE,CACpE,MAAMkB,EAAQC,EAAwB,CAAE,SAAUF,EAAY,EAE9D,OACIhB,EAACO,EAAA,CACG,WAAYS,GAAcC,EAAM,KAAK,MAAM,aAC3C,MAAOA,EAAM,MAAM,MACnB,GAAIA,EAAM,KACV,KAAMA,EAAM,KACZ,OAAQA,EAAM,WACd,SAAUA,EAAM,aAChB,UAAW,CAAC,CAACE,EAAqBF,CAAK,EACvC,aAAcE,EAAqBF,CAAK,EACxC,kBAAmBA,EAAM,WACxB,GAAGlB,CAAA,CAAA,CAGhB"}
@@ -5,7 +5,8 @@ export interface ToastProps {
5
5
  description?: string;
6
6
  variant: VariantProps<typeof alertVariants>['variant'];
7
7
  action?: () => void;
8
- timeout?: number;
8
+ actionLabel?: string;
9
+ autoDismiss?: boolean;
9
10
  }
10
11
  /**
11
12
  * Toast provider.
@@ -17,11 +18,6 @@ export declare function ToastProvider(): import("react/jsx-runtime").JSX.Element
17
18
  * @param title - The title of the toast.
18
19
  * @param description - The description of the toast.
19
20
  * @param variant - The variant of the toast.
20
- * @param timeout - The timeout of the toast.
21
+ * @param autoDismiss - Whether to automatically dismiss the toast.
21
22
  */
22
- export declare function toast({ title, description, variant, timeout, }: {
23
- title: string;
24
- description?: string;
25
- variant: ToastProps['variant'];
26
- timeout?: number;
27
- }): void;
23
+ export declare function toast({ title, description, variant, autoDismiss, action, actionLabel }: ToastProps): void;
@@ -1,2 +1,2 @@
1
- import{jsx as t,jsxs as r}from"react/jsx-runtime";import{UNSTABLE_ToastQueue as a,UNSTABLE_ToastRegion as l,UNSTABLE_Toast as m,UNSTABLE_ToastContent as d}from"react-aria-components";import{flushSync as u}from"react-dom";import{classNames as p}from"../utilities/theme.js";import{alertVariants as f}from"./alert.js";import{Button as h}from"./button.js";import{IcInfo as i,IcCheck as T,IcError as v}from"./icons.js";import"clsx";import"class-variance-authority";import"react";import"./loader.js";const n=new a({wrapUpdate(e){"startViewTransition"in document?document.startViewTransition(()=>{u(e)}):e()}});function _(){return t(l,{queue:n,className:"fixed z-50 top-4 right-4 flex flex-col-reverse justify-end gap-2",children:({toast:e})=>t(m,{style:{viewTransitionName:e.key},toast:e,children:r(d,{className:p(f({variant:e.content.variant}),"flex flex-row items-center gap-2 w-full"),children:[t("div",{className:"shrink-0",children:N(e.content.variant)}),r("div",{className:"flex-1 min-w-0",children:[t("p",{slot:"title",children:e.content.title}),e.content.description&&t("p",{slot:"description",children:e.content.description})]}),t(h,{slot:"close",variant:"neutral",children:"Close"})]})})})}function N(e){switch(e){case"destructive":return t(v,{});case"success":return t(T,{});case"muted":return t(i,{});default:return t(i,{})}}function j({title:e,description:o,variant:s,timeout:c}){n.add({title:e,description:o,variant:s},{timeout:c??2e3})}export{_ as ToastProvider,j as toast};
1
+ import{jsx as t,jsxs as n}from"react/jsx-runtime";import{UNSTABLE_ToastQueue as u,UNSTABLE_ToastRegion as f,UNSTABLE_Toast as p,UNSTABLE_ToastContent as h}from"react-aria-components";import{flushSync as N}from"react-dom";import{classNames as x}from"../utilities/theme.js";import{alertVariants as T}from"./alert.js";import{Button as r}from"./button.js";import{IcClose as v,IcInfo as o,IcCheck as w,IcError as g}from"./icons.js";import"clsx";import"class-variance-authority";import"react";import"./loader.js";const a=new u({wrapUpdate(e){"startViewTransition"in document?document.startViewTransition(()=>{N(e)}):e()}});function z(){return t(f,{queue:a,className:"fixed z-50 top-4 right-4 flex flex-col-reverse justify-end gap-2",children:({toast:e})=>t(p,{style:{viewTransitionName:e.key},toast:e,className:"animate-in fade-in-0 slide-in-from-right duration-300 ease-out",children:n(h,{className:x(T({variant:e.content.variant}),"flex flex-col items-stretch max-w-sm gap-2 w-full min-w-sm"),children:[n("div",{className:"flex flex-row items-start gap-3",children:[t("span",{className:"shrink-0",children:y(e.content.variant)}),n("div",{className:"flex-1 min-w-0",children:[t("p",{slot:"title",className:"font-medium text-sm",children:e.content.title}),e.content.description&&t("p",{slot:"description",className:"text-xs",children:e.content.description})]}),!e.content.autoDismiss&&n(r,{slot:"close",size:"icon",variant:"neutral",className:"rounded-full shrink-0 -mr-1 -mt-1",children:[t(v,{className:"size-4"}),t("span",{className:"sr-only",children:"Close"})]})]}),e.content.action&&t("div",{className:"flex w-full justify-end gap-2 mt-1",children:t(r,{slot:"close",onPress:()=>{e.content.action?.()},variant:"neutral",className:"shrink-0",children:e.content.actionLabel||"Action"})})]})})})}function y(e){switch(e){case"destructive":return t(g,{});case"success":return t(w,{});case"muted":return t(o,{});default:return t(o,{})}}function V({title:e,description:c,variant:l,autoDismiss:i=!0,action:s,actionLabel:m}){const d=i&&!s?{timeout:3e3}:{};a.add({title:e,description:c,variant:l,autoDismiss:i,action:s,actionLabel:m},d)}export{z as ToastProvider,V as toast};
2
2
  //# sourceMappingURL=toast.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"toast.js","sources":["../../lib/components/toast.tsx"],"sourcesContent":["import type { VariantProps } from 'class-variance-authority';\nimport {\n UNSTABLE_Toast as AriaToast,\n UNSTABLE_ToastContent as AriaToastContent,\n UNSTABLE_ToastQueue as AriaToastQueue,\n UNSTABLE_ToastRegion as AriaToastRegion,\n} from 'react-aria-components';\nimport { flushSync } from 'react-dom';\nimport { classNames } from '../utilities/theme';\nimport { alertVariants } from './alert';\nimport { Button } from './button';\nimport { IcCheck, IcError, IcInfo } from './icons';\n\nexport interface ToastProps {\n title: string;\n description?: string;\n variant: VariantProps<typeof alertVariants>['variant'];\n action?: () => void;\n timeout?: number;\n}\n\n/**\n * Toast queue.\n * @returns The toast queue.\n */\nconst queue = new AriaToastQueue<ToastProps>({\n wrapUpdate(fn) {\n if ('startViewTransition' in document) {\n document.startViewTransition(() => {\n flushSync(fn);\n });\n } else {\n fn();\n }\n },\n});\n\n/**\n * Toast provider.\n * @returns The toast provider.\n */\nexport function ToastProvider() {\n return (\n <AriaToastRegion queue={queue} className=\"fixed z-50 top-4 right-4 flex flex-col-reverse justify-end gap-2\">\n {({ toast }) => (\n <AriaToast style={{ viewTransitionName: toast.key }} toast={toast}>\n <AriaToastContent\n className={classNames(\n alertVariants({ variant: toast.content.variant }),\n 'flex flex-row items-center gap-2 w-full'\n )}\n >\n <div className=\"shrink-0\">{getToastIcon(toast.content.variant)}</div>\n <div className=\"flex-1 min-w-0\">\n <p slot=\"title\">{toast.content.title}</p>\n {toast.content.description && <p slot=\"description\">{toast.content.description}</p>}\n </div>\n <Button slot=\"close\" variant=\"neutral\">\n Close\n </Button>\n </AriaToastContent>\n </AriaToast>\n )}\n </AriaToastRegion>\n );\n}\n\n/**\n * Get the icon for a toast notification.\n * @param variant - The variant of the toast.\n * @returns The icon for the toast.\n */\nfunction getToastIcon(variant: ToastProps['variant']) {\n switch (variant) {\n case 'destructive':\n return <IcError />;\n case 'success':\n return <IcCheck />;\n case 'muted':\n return <IcInfo />;\n default:\n return <IcInfo />;\n }\n}\n\n/**\n * Show a toast notification.\n * @param title - The title of the toast.\n * @param description - The description of the toast.\n * @param variant - The variant of the toast.\n * @param timeout - The timeout of the toast.\n */\nexport function toast({\n title,\n description,\n variant,\n timeout,\n}: {\n title: string;\n description?: string;\n variant: ToastProps['variant'];\n timeout?: number;\n}) {\n queue.add({ title, description, variant }, { timeout: timeout ?? 2000 });\n}\n"],"names":["queue","AriaToastQueue","fn","flushSync","ToastProvider","AriaToastRegion","toast","jsx","AriaToast","jsxs","AriaToastContent","classNames","alertVariants","Button","getToastIcon","variant","IcError","IcCheck","IcInfo","title","description","timeout"],"mappings":"8eAyBA,MAAMA,EAAQ,IAAIC,EAA2B,CACzC,WAAWC,EAAI,CACP,wBAAyB,SACzB,SAAS,oBAAoB,IAAM,CAC/BC,EAAUD,CAAE,CAChB,CAAC,EAEDA,EAAA,CAER,CACJ,CAAC,EAMM,SAASE,GAAgB,CAC5B,SACKC,EAAA,CAAgB,MAAAL,EAAc,UAAU,mEACpC,SAAA,CAAC,CAAE,MAAAM,CAAAA,IACAC,EAACC,EAAA,CAAU,MAAO,CAAE,mBAAoBF,EAAM,GAAA,EAAO,MAAOA,EACxD,SAAAG,EAACC,EAAA,CACG,UAAWC,EACPC,EAAc,CAAE,QAASN,EAAM,QAAQ,QAAS,EAChD,yCAAA,EAGJ,SAAA,CAAAC,EAAC,OAAI,UAAU,WAAY,WAAaD,EAAM,QAAQ,OAAO,EAAE,EAC/DG,EAAC,MAAA,CAAI,UAAU,iBACX,SAAA,CAAAF,EAAC,KAAE,KAAK,QAAS,SAAAD,EAAM,QAAQ,MAAM,EACpCA,EAAM,QAAQ,aAAeC,EAAC,IAAA,CAAE,KAAK,cAAe,SAAAD,EAAM,QAAQ,WAAA,CAAY,CAAA,EACnF,IACCO,EAAA,CAAO,KAAK,QAAQ,QAAQ,UAAU,SAAA,OAAA,CAEvC,CAAA,CAAA,CAAA,EAER,CAAA,CAER,CAER,CAOA,SAASC,EAAaC,EAAgC,CAClD,OAAQA,EAAA,CACJ,IAAK,cACD,SAAQC,EAAA,EAAQ,EACpB,IAAK,UACD,SAAQC,EAAA,EAAQ,EACpB,IAAK,QACD,SAAQC,EAAA,EAAO,EACnB,QACI,SAAQA,EAAA,EAAO,CAAA,CAE3B,CASO,SAASZ,EAAM,CAClB,MAAAa,EACA,YAAAC,EACA,QAAAL,EACA,QAAAM,CACJ,EAKG,CACCrB,EAAM,IAAI,CAAE,MAAAmB,EAAO,YAAAC,EAAa,QAAAL,CAAA,EAAW,CAAE,QAASM,GAAW,IAAM,CAC3E"}
1
+ {"version":3,"file":"toast.js","sources":["../../lib/components/toast.tsx"],"sourcesContent":["import type { VariantProps } from 'class-variance-authority';\nimport {\n UNSTABLE_Toast as AriaToast,\n UNSTABLE_ToastContent as AriaToastContent,\n UNSTABLE_ToastQueue as AriaToastQueue,\n UNSTABLE_ToastRegion as AriaToastRegion,\n} from 'react-aria-components';\nimport { flushSync } from 'react-dom';\nimport { classNames } from '../utilities/theme';\nimport { alertVariants } from './alert';\nimport { Button } from './button';\nimport { IcCheck, IcClose, IcError, IcInfo } from './icons';\n\nexport interface ToastProps {\n title: string;\n description?: string;\n variant: VariantProps<typeof alertVariants>['variant'];\n action?: () => void;\n actionLabel?: string;\n autoDismiss?: boolean;\n}\n\n/**\n * Toast queue.\n * @returns The toast queue.\n */\nconst queue = new AriaToastQueue<ToastProps>({\n wrapUpdate(fn) {\n if ('startViewTransition' in document) {\n document.startViewTransition(() => {\n flushSync(fn);\n });\n } else {\n fn();\n }\n },\n});\n\n/**\n * Toast provider.\n * @returns The toast provider.\n */\nexport function ToastProvider() {\n return (\n <AriaToastRegion queue={queue} className=\"fixed z-50 top-4 right-4 flex flex-col-reverse justify-end gap-2\">\n {({ toast }) => (\n <AriaToast\n style={{ viewTransitionName: toast.key }}\n toast={toast}\n className=\"animate-in fade-in-0 slide-in-from-right duration-300 ease-out\"\n >\n <AriaToastContent\n className={classNames(\n alertVariants({ variant: toast.content.variant }),\n 'flex flex-col items-stretch max-w-sm gap-2 w-full min-w-sm'\n )}\n >\n <div className=\"flex flex-row items-start gap-3\">\n <span className=\"shrink-0\">{getToastIcon(toast.content.variant)}</span>\n <div className=\"flex-1 min-w-0\">\n <p slot=\"title\" className=\"font-medium text-sm\">\n {toast.content.title}\n </p>\n {toast.content.description && (\n <p slot=\"description\" className=\"text-xs\">\n {toast.content.description}\n </p>\n )}\n </div>\n {!toast.content.autoDismiss && (\n <Button\n slot=\"close\"\n size=\"icon\"\n variant=\"neutral\"\n className=\"rounded-full shrink-0 -mr-1 -mt-1\"\n >\n <IcClose className=\"size-4\" />\n <span className=\"sr-only\">Close</span>\n </Button>\n )}\n </div>\n {toast.content.action && (\n <div className=\"flex w-full justify-end gap-2 mt-1\">\n <Button\n slot=\"close\"\n onPress={() => {\n toast.content.action?.();\n }}\n variant=\"neutral\"\n className=\"shrink-0\"\n >\n {toast.content.actionLabel || 'Action'}\n </Button>\n </div>\n )}\n </AriaToastContent>\n </AriaToast>\n )}\n </AriaToastRegion>\n );\n}\n\n/**\n * Get the icon for a toast notification.\n * @param variant - The variant of the toast.\n * @returns The icon for the toast.\n */\nfunction getToastIcon(variant: ToastProps['variant']) {\n switch (variant) {\n case 'destructive':\n return <IcError />;\n case 'success':\n return <IcCheck />;\n case 'muted':\n return <IcInfo />;\n default:\n return <IcInfo />;\n }\n}\n\n/**\n * Show a toast notification.\n * @param title - The title of the toast.\n * @param description - The description of the toast.\n * @param variant - The variant of the toast.\n * @param autoDismiss - Whether to automatically dismiss the toast.\n */\nexport function toast({ title, description, variant, autoDismiss = true, action, actionLabel }: ToastProps) {\n const options = autoDismiss && !action ? { timeout: 3000 } : {};\n queue.add({ title, description, variant, autoDismiss, action, actionLabel }, options);\n}\n"],"names":["queue","AriaToastQueue","fn","flushSync","ToastProvider","jsx","AriaToastRegion","toast","AriaToast","jsxs","AriaToastContent","classNames","alertVariants","Button","IcClose","getToastIcon","variant","IcError","IcCheck","IcInfo","title","description","autoDismiss","action","actionLabel","options"],"mappings":"2fA0BA,MAAMA,EAAQ,IAAIC,EAA2B,CACzC,WAAWC,EAAI,CACP,wBAAyB,SACzB,SAAS,oBAAoB,IAAM,CAC/BC,EAAUD,CAAE,CAChB,CAAC,EAEDA,EAAA,CAER,CACJ,CAAC,EAMM,SAASE,GAAgB,CAC5B,OACIC,EAACC,GAAgB,MAAAN,EAAc,UAAU,mEACpC,SAAA,CAAC,CAAE,MAAAO,CAAAA,IACAF,EAACG,EAAA,CACG,MAAO,CAAE,mBAAoBD,EAAM,GAAA,EACnC,MAAOA,EACP,UAAU,iEAEV,SAAAE,EAACC,EAAA,CACG,UAAWC,EACPC,EAAc,CAAE,QAASL,EAAM,QAAQ,QAAS,EAChD,4DAAA,EAGJ,SAAA,CAAAE,EAAC,MAAA,CAAI,UAAU,kCACX,SAAA,CAAAJ,EAAC,QAAK,UAAU,WAAY,WAAaE,EAAM,QAAQ,OAAO,EAAE,EAChEE,EAAC,MAAA,CAAI,UAAU,iBACX,SAAA,CAAAJ,EAAC,IAAA,CAAE,KAAK,QAAQ,UAAU,sBACrB,SAAAE,EAAM,QAAQ,KAAA,CACnB,EACCA,EAAM,QAAQ,aACXF,EAAC,IAAA,CAAE,KAAK,cAAc,UAAU,UAC3B,SAAAE,EAAM,QAAQ,WAAA,CACnB,CAAA,EAER,EACC,CAACA,EAAM,QAAQ,aACZE,EAACI,EAAA,CACG,KAAK,QACL,KAAK,OACL,QAAQ,UACR,UAAU,oCAEV,SAAA,CAAAR,EAACS,EAAA,CAAQ,UAAU,QAAA,CAAS,EAC5BT,EAAC,OAAA,CAAK,UAAU,UAAU,SAAA,OAAA,CAAK,CAAA,CAAA,CAAA,CACnC,EAER,EACCE,EAAM,QAAQ,QACXF,EAAC,MAAA,CAAI,UAAU,qCACX,SAAAA,EAACQ,EAAA,CACG,KAAK,QACL,QAAS,IAAM,CACXN,EAAM,QAAQ,SAAA,CAClB,EACA,QAAQ,UACR,UAAU,WAET,SAAAA,EAAM,QAAQ,aAAe,QAAA,CAAA,CAClC,CACJ,CAAA,CAAA,CAAA,CAER,CAAA,EAGZ,CAER,CAOA,SAASQ,EAAaC,EAAgC,CAClD,OAAQA,EAAA,CACJ,IAAK,cACD,SAAQC,EAAA,EAAQ,EACpB,IAAK,UACD,SAAQC,EAAA,EAAQ,EACpB,IAAK,QACD,SAAQC,EAAA,EAAO,EACnB,QACI,SAAQA,EAAA,EAAO,CAAA,CAE3B,CASO,SAASZ,EAAM,CAAE,MAAAa,EAAO,YAAAC,EAAa,QAAAL,EAAS,YAAAM,EAAc,GAAM,OAAAC,EAAQ,YAAAC,GAA2B,CACxG,MAAMC,EAAUH,GAAe,CAACC,EAAS,CAAE,QAAS,GAAA,EAAS,CAAA,EAC7DvB,EAAM,IAAI,CAAE,MAAAoB,EAAO,YAAAC,EAAa,QAAAL,EAAS,YAAAM,EAAa,OAAAC,EAAQ,YAAAC,CAAA,EAAeC,CAAO,CACxF"}
@@ -21,4 +21,6 @@ export { fieldContext, formContext };
21
21
  */
22
22
  export declare function useFieldContext<T>({ disabled }: {
23
23
  disabled?: boolean;
24
- }): import('@tanstack/react-form').FieldApi<any, string, T, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any>;
24
+ }): import('@tanstack/react-form').FieldApi<any, string, T, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any> & {
25
+ isRequired: boolean;
26
+ };
@@ -1,2 +1,2 @@
1
- import{createFormHookContexts as n}from"@tanstack/react-form";import{useEffect as r}from"react";const{fieldContext:x,formContext:m,useFieldContext:f}=n();function u({disabled:e}){const t=f();return r(()=>{t.setMeta(o=>({...o,disabled:!!e}))},[e,t]),t}export{x as fieldContext,m as formContext,u as useFieldContext};
1
+ import{createFormHookContexts as r}from"@tanstack/react-form";import{useEffect as a}from"react";const{fieldContext:d,formContext:p,useFieldContext:l}=r();function x({disabled:e}){const o=l();a(()=>{o.setMeta(t=>({...t,disabled:!!e}))},[e,o]);const s=o.options?.validators?.onBlur||o.options?.validators?.onChange||o.options?.validators?.onMount,i=!!s&&!(t=>{if(!t||typeof t!="object"||typeof t.safeParse!="function")return!1;const n=t;return n.safeParse(void 0).success||n.safeParse(null).success})(s);return Object.assign(o,{isRequired:i})}export{d as fieldContext,p as formContext,x as useFieldContext};
2
2
  //# sourceMappingURL=form-context.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"form-context.js","sources":["../../lib/utilities/form-context.tsx"],"sourcesContent":["import { createFormHookContexts } from '@tanstack/react-form';\nimport { useEffect } from 'react';\n\n/**\n * Exports contexts and hooks used by all form-related field components.\n *\n * These contexts come from @tanstack/react-form's createFormHookContexts helper\n * and provide a lightweight, strongly-typed way for nested field components\n * (text inputs, selects, checkboxes, etc.) to access the current field\n * and form instances.\n *\n * Usage example:\n * ```ts\n * import { useFieldContext } from './form-context';\n * const field = useFieldContext<MyFieldType>();\n * ```\n */\nconst { fieldContext, formContext, useFieldContext: _useFieldContext } = createFormHookContexts();\n\nexport { fieldContext, formContext };\n/**\n * Custom hook to handle disabled state for form fields\n * @param {boolean} disabled - The disabled prop passed to the component\n * @returns The field context with disabled state properly managed\n */\nexport function useFieldContext<T>({ disabled }: { disabled?: boolean }) {\n const field = _useFieldContext<T>();\n\n useEffect(() => {\n field.setMeta(meta => ({\n ...meta,\n disabled: !!disabled,\n }));\n }, [disabled, field]);\n\n return field;\n}\n"],"names":["fieldContext","formContext","_useFieldContext","createFormHookContexts","useFieldContext","disabled","field","useEffect","meta"],"mappings":"gGAiBA,KAAM,CAAE,aAAAA,EAAc,YAAAC,EAAa,gBAAiBC,CAAA,EAAqBC,EAAA,EAQlE,SAASC,EAAmB,CAAE,SAAAC,GAAoC,CACrE,MAAMC,EAAQJ,EAAA,EAEd,OAAAK,EAAU,IAAM,CACZD,EAAM,QAAQE,IAAS,CACnB,GAAGA,EACH,SAAU,CAAC,CAACH,CAAA,EACd,CACN,EAAG,CAACA,EAAUC,CAAK,CAAC,EAEbA,CACX"}
1
+ {"version":3,"file":"form-context.js","sources":["../../lib/utilities/form-context.tsx"],"sourcesContent":["import { createFormHookContexts } from '@tanstack/react-form';\nimport { useEffect } from 'react';\n\ntype ZodLikeSchema = {\n safeParse: (input: unknown) => { success: boolean };\n};\n\n/**\n * Exports contexts and hooks used by all form-related field components.\n *\n * These contexts come from @tanstack/react-form's createFormHookContexts helper\n * and provide a lightweight, strongly-typed way for nested field components\n * (text inputs, selects, checkboxes, etc.) to access the current field\n * and form instances.\n *\n * Usage example:\n * ```ts\n * import { useFieldContext } from './form-context';\n * const field = useFieldContext<MyFieldType>();\n * ```\n */\nconst { fieldContext, formContext, useFieldContext: _useFieldContext } = createFormHookContexts();\n\nexport { fieldContext, formContext };\n/**\n * Custom hook to handle disabled state for form fields\n * @param {boolean} disabled - The disabled prop passed to the component\n * @returns The field context with disabled state properly managed\n */\nexport function useFieldContext<T>({ disabled }: { disabled?: boolean }) {\n const field = _useFieldContext<T>();\n\n useEffect(() => {\n field.setMeta(meta => ({\n ...meta,\n disabled: !!disabled,\n }));\n }, [disabled, field]);\n\n // Detect if field is required based on validators\n const validator =\n field.options?.validators?.onBlur || field.options?.validators?.onChange || field.options?.validators?.onMount;\n\n // Check if the validator allows missing values (undefined/null)\n const allowsMissingValue = (schema: unknown): boolean => {\n // Type guard: ensure it's a Zod-like schema with safeParse method\n if (!schema || typeof schema !== 'object' || typeof (schema as any).safeParse !== 'function') {\n return false;\n }\n\n const zodSchema = schema as ZodLikeSchema;\n\n // Check if undefined or null are valid inputs\n return zodSchema.safeParse(undefined).success || zodSchema.safeParse(null).success;\n };\n\n const isRequired = !!validator && !allowsMissingValue(validator);\n\n return Object.assign(field, { isRequired });\n}\n"],"names":["fieldContext","formContext","_useFieldContext","createFormHookContexts","useFieldContext","disabled","field","useEffect","meta","validator","isRequired","schema","zodSchema"],"mappings":"gGAqBA,KAAM,CAAE,aAAAA,EAAc,YAAAC,EAAa,gBAAiBC,CAAA,EAAqBC,EAAA,EAQlE,SAASC,EAAmB,CAAE,SAAAC,GAAoC,CACrE,MAAMC,EAAQJ,EAAA,EAEdK,EAAU,IAAM,CACZD,EAAM,QAAQE,IAAS,CACnB,GAAGA,EACH,SAAU,CAAC,CAACH,CAAA,EACd,CACN,EAAG,CAACA,EAAUC,CAAK,CAAC,EAGpB,MAAMG,EACFH,EAAM,SAAS,YAAY,QAAUA,EAAM,SAAS,YAAY,UAAYA,EAAM,SAAS,YAAY,QAerGI,EAAa,CAAC,CAACD,GAAa,EAZNE,GAA6B,CAErD,GAAI,CAACA,GAAU,OAAOA,GAAW,UAAY,OAAQA,EAAe,WAAc,WAC9E,MAAO,GAGX,MAAMC,EAAYD,EAGlB,OAAOC,EAAU,UAAU,MAAS,EAAE,SAAWA,EAAU,UAAU,IAAI,EAAE,OAC/E,GAEsDH,CAAS,EAE/D,OAAO,OAAO,OAAOH,EAAO,CAAE,WAAAI,EAAY,CAC9C"}
@@ -1,8 +1,16 @@
1
1
  import { components, operations } from '@cryptlex/web-api-types/develop';
2
- import { ClientPathsWithMethod } from 'openapi-fetch';
3
- import { CtxClientType } from './ctx-client';
4
2
  export type ApiSchema<T extends keyof components['schemas']> = components['schemas'][T];
3
+ export type ApiResponseBody<T extends keyof operations> = operations[T] extends {
4
+ responses: {
5
+ 200: {
6
+ content: {
7
+ 'application/json': infer R;
8
+ };
9
+ };
10
+ };
11
+ } ? R extends Array<infer U> ? U : R : never;
5
12
  export type ApiQuery<T extends keyof operations> = NonNullable<operations[T]['parameters']['query']>;
13
+ export type ApiPathParameters<T extends keyof operations> = operations[T]['parameters']['path'];
6
14
  export type ApiFilter<T extends keyof operations> = Omit<ApiQuery<T>, 'page' | 'limit' | 'sort' | 'search'>;
7
15
  export type ApiFilters<T extends keyof operations> = NonNullable<ApiFilter<T>>;
8
16
  export type CtxPortals = 'customer-portal' | 'system-portal' | 'reseller-portal' | 'admin-portal';
@@ -14,11 +22,6 @@ export declare function ProjectProvider({ projectName, children }: {
14
22
  children: React.ReactNode;
15
23
  }): import("react/jsx-runtime").JSX.Element;
16
24
  export declare function useProjectName(): CtxPortals;
17
- /**
18
- * Mapping from resource names to their API endpoint paths.
19
- * Based on the OpenAPI spec paths.
20
- */
21
- export declare const RESOURCE_ENDPOINT_MAP: Record<CtxResourceName, ClientPathsWithMethod<CtxClientType, 'get'>>;
22
25
  export declare function useResourceFormatter(): (resourceName: string) => string;
23
26
  /**
24
27
  * Format multiple license parameters (expired, suspended, revoked) into a single status
@@ -1,2 +1,2 @@
1
- import{jsx as s}from"react/jsx-runtime";import{createContext as i,use as r}from"react";import{toTitleCase as l}from"./string.js";import"lodash-es";const t={"product.displayName":"Product",product_displayName:"Product"},g=["access-token","account","activation","activation-log","admin-role","audit-log","automated-email","automated-email-event-log","card","entitlement-set","feature-flag","feature","invoice","license","license-template","maintenance-policy","organization","plan","product","product-version","profile","release","release-channel","release-file","release-platform","role","role-claim","saml-configuration","segment","sending-domain","tag","trial","trial-policy","user","user-group","webhook","webhook-event-log","webhook-event","reseller","oidc-configuration","tenant-database-cluster"],a={id:"ID",createdAt:"Creation Date",scopes:"Permissions",updatedAt:"Last Updated",expiresAt:"Expiration Date",lastSeenAt:"Last Seen",os:"OS",osVersion:"OS Version",key:"License Key",vmName:"VM Name",container:"Container",allowedIpRange:"Allowed IP Range",allowedIpRanges:"Allowed IP Ranges",allowedIpAddresses:"Allowed IP Addresses",disallowedIpAddresses:"Disallowed IP Addresses",allowVmActivation:"Allow VM Activation",disableGeoLocation:"Disable Geolocation","user.id":"User ID",userId:"User",productId:"Product",downloads:"Total Downloads",claims:"Permissions",googleSsoEnabled:"Google Login Enabled",lastAttemptedAt:"Last Attempt Date",url:"URL","trialPolicy.name":"Trial Policy Name","licensePolicy.name":"License Template Name",licensePolicy:"License Template",eventLog:"Audit Log",cc:"CC Recepients",bcc:"BCC Recepients",ipAddress:"IP Address",resellerId:"Reseller",productVersionId:"Product Version",releaseId:"Release",maintenancePolicyId:"Maintenance Policy",webhookId:"Webhook",automatedEmailId:"Automated Email","location.countryName":"Country","location.ipAddress":"IP Address","location.countryCode":"Country",organizationId:"Organization","address.country":"Country","address.addressLine1":"Address Line 1","address.addressLine2":"Address Line 2",responseStatusCode:"HTTP Status Code",resourceId:"Resource ID",Sso:"SAML SSO 2.0","reseller.name":"Reseller",sendingDomain:"Email Sending Domain"};function d(e,o){return o!=="admin-portal"&&e in t?t[e]:e in a?a[e]:l(e)}const n=i("admin-portal");function A({projectName:e,children:o}){return s(n.Provider,{value:e,children:o})}function c(){return r(n)}const f={"access-token":"/v3/personal-access-tokens",account:"/v3/admin/accounts",activation:"/v3/activations","activation-log":"/v3/activation-logs","admin-role":"/v3/roles","audit-log":"/v3/event-logs","automated-email":"/v3/automated-emails","automated-email-event-log":"/v3/automated-email-event-logs","entitlement-set":"/v3/entitlement-sets","feature-flag":"/v3/feature-flags",feature:"/v3/features",license:"/v3/licenses","license-template":"/v3/license-templates","maintenance-policy":"/v3/maintenance-policies",organization:"/v3/organizations",plan:"/v3/plans",product:"/v3/products","product-version":"/v3/product-versions",release:"/v3/releases","release-channel":"/v3/release-channels","release-file":"/v3/release-files","release-platform":"/v3/release-platforms",reseller:"/v3/resellers",role:"/v3/roles",segment:"/v3/segments","sending-domain":"/v3/sending-domains",tag:"/v3/tags",trial:"/v3/trial-activations","trial-policy":"/v3/trial-policies",user:"/v3/users","user-group":"/v3/organizations/{organizationId}/user-groups",webhook:"/v3/webhooks","webhook-event-log":"/v3/webhook-event-logs",card:"/v3/billing/payment-methods/cards",invoice:"/v3/billing/invoices",profile:"/v3/me","role-claim":"/v3/roles/claims","saml-configuration":"/v3/accounts/{id}/saml-configuration","webhook-event":"/v3/webhooks/events","oidc-configuration":"/v3/accounts/{id}/oidc-configuration","tenant-database-cluster":"/v3/admin/tenant-database-clusters"};function P(){const e=c();return o=>d(o,e)}function w(e){const o=e.expiresAt&&new Date(e.expiresAt)<new Date;switch(!0){case(e.revoked&&e.suspended&&o):return"Revoked, Suspended, Expired";case(e.revoked&&e.suspended):return"Revoked, Suspended";case(e.revoked&&o):return"Revoked, Expired";case(e.suspended&&o):return"Suspended, Expired";case e.suspended:return"Suspended";case e.revoked:return"Revoked";case o:return"Expired";default:return"Active"}}const S={windows:"Windows",macos:"macOS",linux:"Linux",ios:"iOS",android:"Android"};export{S as ALL_OS,A as ProjectProvider,f as RESOURCE_ENDPOINT_MAP,g as RESOURCE_NAMES,w as getLicenseStatus,c as useProjectName,P as useResourceFormatter};
1
+ import{jsx as r}from"react/jsx-runtime";import{createContext as s,use as d}from"react";import{toTitleCase as i}from"./string.js";import"lodash-es";const t={"product.displayName":"Product",product_displayName:"Product"},g=["access-token","account","activation","activation-log","admin-role","audit-log","automated-email","automated-email-event-log","card","entitlement-set","feature-flag","feature","invoice","license","license-template","maintenance-policy","organization","plan","product","product-version","profile","release","release-channel","release-file","release-platform","role","role-claim","saml-configuration","segment","sending-domain","tag","trial","trial-policy","user","user-group","webhook","webhook-event-log","webhook-event","reseller","oidc-configuration","tenant-database-cluster"],a={id:"ID",createdAt:"Creation Date",scopes:"Permissions",updatedAt:"Last Updated",expiresAt:"Expiration Date",lastSeenAt:"Last Seen",os:"OS",osVersion:"OS Version",key:"License Key",vmName:"VM Name",container:"Container",allowedIpRange:"Allowed IP Range",allowedIpRanges:"Allowed IP Ranges",allowedIpAddresses:"Allowed IP Addresses",disallowedIpAddresses:"Disallowed IP Addresses",allowVmActivation:"Allow VM Activation",disableGeoLocation:"Disable Geolocation","user.id":"User ID",userId:"User",productId:"Product",downloads:"Total Downloads",claims:"Permissions",googleSsoEnabled:"Google Login Enabled",lastAttemptedAt:"Last Attempt Date",url:"URL","trialPolicy.name":"Trial Policy Name","licensePolicy.name":"License Template Name",licensePolicy:"License Template",eventLog:"Audit Log",cc:"CC Recepients",bcc:"BCC Recepients",ipAddress:"IP Address",resellerId:"Reseller",productVersionId:"Product Version",releaseId:"Release",maintenancePolicyId:"Maintenance Policy",webhookId:"Webhook",automatedEmailId:"Automated Email","location.countryName":"Country","location.ipAddress":"IP Address","location.countryCode":"Country",organizationId:"Organization","address.country":"Country","address.addressLine1":"Address Line 1","address.addressLine2":"Address Line 2",responseStatusCode:"HTTP Status Code",resourceId:"Resource ID",Sso:"SAML SSO 2.0","reseller.name":"Reseller",sendingDomain:"Email Sending Domain"};function l(e,o){return o!=="admin-portal"&&e in t?t[e]:e in a?a[e]:i(e)}const n=s("admin-portal");function P({projectName:e,children:o}){return r(n.Provider,{value:e,children:o})}function c(){return d(n)}function S(){const e=c();return o=>l(o,e)}function I(e){const o=e.expiresAt&&new Date(e.expiresAt)<new Date;switch(!0){case(e.revoked&&e.suspended&&o):return"Revoked, Suspended, Expired";case(e.revoked&&e.suspended):return"Revoked, Suspended";case(e.revoked&&o):return"Revoked, Expired";case(e.suspended&&o):return"Suspended, Expired";case e.suspended:return"Suspended";case e.revoked:return"Revoked";case o:return"Expired";default:return"Active"}}const v={windows:"Windows",macos:"macOS",linux:"Linux",ios:"iOS",android:"Android"};export{v as ALL_OS,P as ProjectProvider,g as RESOURCE_NAMES,I as getLicenseStatus,c as useProjectName,S as useResourceFormatter};
2
2
  //# sourceMappingURL=resources.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"resources.js","sources":["../../lib/utilities/resources.tsx"],"sourcesContent":["import type { components, operations } from '@cryptlex/web-api-types/develop';\nimport type { ClientPathsWithMethod } from 'openapi-fetch';\nimport { createContext, use } from 'react';\nimport type { CtxClientType } from './ctx-client';\nimport { toTitleCase } from './string';\n\nexport type ApiSchema<T extends keyof components['schemas']> = components['schemas'][T];\nexport type ApiQuery<T extends keyof operations> = NonNullable<operations[T]['parameters']['query']>;\nexport type ApiFilter<T extends keyof operations> = Omit<ApiQuery<T>, 'page' | 'limit' | 'sort' | 'search'>;\nexport type ApiFilters<T extends keyof operations> = NonNullable<ApiFilter<T>>;\nexport type CtxPortals = 'customer-portal' | 'system-portal' | 'reseller-portal' | 'admin-portal';\n// Display names specific to customer and reseller portal\nconst OTHER_PORTALS_DISPLAY_NAME: Record<string, string> = {\n 'product.displayName': 'Product',\n // TanStack Table converts . -> _ TODO\n product_displayName: 'Product',\n};\n\n// TODO, this drifts quite a lot from the API, should be updated\n/** Resource Name should ALWAYS be in singular form */\nexport const RESOURCE_NAMES = [\n 'access-token',\n 'account',\n 'activation',\n 'activation-log',\n 'admin-role',\n 'audit-log',\n 'automated-email',\n 'automated-email-event-log',\n 'card',\n 'entitlement-set',\n 'feature-flag',\n 'feature',\n 'invoice',\n 'license',\n 'license-template',\n 'maintenance-policy',\n 'organization',\n 'plan',\n 'product',\n 'product-version',\n 'profile',\n 'release',\n 'release-channel',\n 'release-file',\n 'release-platform',\n 'role',\n 'role-claim',\n 'saml-configuration',\n 'segment',\n 'sending-domain',\n 'tag',\n 'trial',\n 'trial-policy',\n 'user',\n 'user-group',\n 'webhook',\n 'webhook-event-log',\n 'webhook-event',\n 'reseller',\n 'oidc-configuration',\n 'tenant-database-cluster',\n] as const;\nexport type CtxResourceName = (typeof RESOURCE_NAMES)[number];\n\n// TODO, use OpenAPI spec for resource definitions\n\nconst RESOURCE_DISPLAY_NAMES: Record<string, string> = {\n id: 'ID',\n createdAt: 'Creation Date',\n scopes: 'Permissions',\n updatedAt: 'Last Updated',\n expiresAt: 'Expiration Date',\n lastSeenAt: 'Last Seen',\n os: 'OS',\n osVersion: 'OS Version',\n key: 'License Key',\n vmName: 'VM Name',\n container: 'Container',\n allowedIpRange: 'Allowed IP Range',\n allowedIpRanges: 'Allowed IP Ranges',\n allowedIpAddresses: 'Allowed IP Addresses',\n disallowedIpAddresses: 'Disallowed IP Addresses',\n allowVmActivation: 'Allow VM Activation',\n disableGeoLocation: 'Disable Geolocation',\n 'user.id': 'User ID',\n userId: 'User',\n productId: 'Product',\n downloads: 'Total Downloads',\n claims: 'Permissions',\n googleSsoEnabled: 'Google Login Enabled',\n lastAttemptedAt: 'Last Attempt Date',\n url: 'URL',\n 'trialPolicy.name': 'Trial Policy Name',\n 'licensePolicy.name': 'License Template Name',\n licensePolicy: 'License Template',\n eventLog: 'Audit Log',\n cc: 'CC Recepients',\n bcc: 'BCC Recepients',\n ipAddress: 'IP Address',\n resellerId: 'Reseller',\n productVersionId: 'Product Version',\n releaseId: 'Release',\n maintenancePolicyId: 'Maintenance Policy',\n webhookId: 'Webhook',\n automatedEmailId: 'Automated Email',\n 'location.countryName': 'Country',\n 'location.ipAddress': 'IP Address',\n 'location.countryCode': 'Country',\n organizationId: 'Organization',\n 'address.country': 'Country',\n 'address.addressLine1': 'Address Line 1',\n 'address.addressLine2': 'Address Line 2',\n responseStatusCode: 'HTTP Status Code',\n resourceId: 'Resource ID',\n Sso: 'SAML SSO 2.0',\n 'reseller.name': 'Reseller',\n sendingDomain: 'Email Sending Domain',\n};\n\nfunction getResourceDisplayName(resourceName: string, portal: CtxPortals) {\n if (portal !== 'admin-portal' && resourceName in OTHER_PORTALS_DISPLAY_NAME) {\n return OTHER_PORTALS_DISPLAY_NAME[resourceName];\n } else if (resourceName in RESOURCE_DISPLAY_NAMES) {\n return RESOURCE_DISPLAY_NAMES[resourceName];\n } else {\n return toTitleCase(resourceName);\n }\n}\n\nconst ProjectContext = createContext<CtxPortals>('admin-portal');\n\nexport function ProjectProvider({ projectName, children }: { projectName: CtxPortals; children: React.ReactNode }) {\n return <ProjectContext.Provider value={projectName}>{children}</ProjectContext.Provider>;\n}\n\nexport function useProjectName(): CtxPortals {\n const projectName = use(ProjectContext);\n return projectName;\n}\n\n/**\n * Mapping from resource names to their API endpoint paths.\n * Based on the OpenAPI spec paths.\n */\nexport const RESOURCE_ENDPOINT_MAP: Record<CtxResourceName, ClientPathsWithMethod<CtxClientType, 'get'>> = {\n 'access-token': '/v3/personal-access-tokens',\n account: '/v3/admin/accounts',\n activation: '/v3/activations',\n 'activation-log': '/v3/activation-logs',\n 'admin-role': '/v3/roles',\n 'audit-log': '/v3/event-logs',\n 'automated-email': '/v3/automated-emails',\n 'automated-email-event-log': '/v3/automated-email-event-logs',\n 'entitlement-set': '/v3/entitlement-sets',\n 'feature-flag': '/v3/feature-flags',\n feature: '/v3/features',\n license: '/v3/licenses',\n 'license-template': '/v3/license-templates',\n 'maintenance-policy': '/v3/maintenance-policies',\n organization: '/v3/organizations',\n plan: '/v3/plans',\n product: '/v3/products',\n 'product-version': '/v3/product-versions',\n release: '/v3/releases',\n 'release-channel': '/v3/release-channels',\n 'release-file': '/v3/release-files',\n 'release-platform': '/v3/release-platforms',\n reseller: '/v3/resellers',\n role: '/v3/roles',\n segment: '/v3/segments',\n 'sending-domain': '/v3/sending-domains',\n tag: '/v3/tags',\n trial: '/v3/trial-activations',\n 'trial-policy': '/v3/trial-policies',\n user: '/v3/users',\n 'user-group': '/v3/organizations/{organizationId}/user-groups',\n webhook: '/v3/webhooks',\n 'webhook-event-log': '/v3/webhook-event-logs',\n card: '/v3/billing/payment-methods/cards',\n invoice: '/v3/billing/invoices',\n /** This one is an exception, it does not return an array. DO NOT USE WITH IdSearch. */\n profile: '/v3/me',\n 'role-claim': '/v3/roles/claims',\n 'saml-configuration': '/v3/accounts/{id}/saml-configuration',\n 'webhook-event': '/v3/webhooks/events',\n 'oidc-configuration': '/v3/accounts/{id}/oidc-configuration',\n 'tenant-database-cluster': '/v3/admin/tenant-database-clusters',\n};\n\nexport function useResourceFormatter(): (resourceName: string) => string {\n const portal = useProjectName();\n return (resourceName: string) => getResourceDisplayName(resourceName, portal);\n}\n\n/**\n * Format multiple license parameters (expired, suspended, revoked) into a single status\n */\nexport function getLicenseStatus(license: any): string {\n const licenseExpired = license.expiresAt && new Date(license.expiresAt) < new Date();\n // Status Column\n switch (true) {\n case license.revoked && license.suspended && licenseExpired:\n return 'Revoked, Suspended, Expired';\n case license.revoked && license.suspended:\n return 'Revoked, Suspended';\n case license.revoked && licenseExpired:\n return 'Revoked, Expired';\n case license.suspended && licenseExpired:\n return 'Suspended, Expired';\n case license.suspended:\n return 'Suspended';\n case license.revoked:\n return 'Revoked';\n case licenseExpired:\n return 'Expired';\n default:\n return 'Active';\n }\n}\ntype OsType = ApiSchema<'ActivationCreateRequestModel'>['os'];\nexport const ALL_OS: Record<OsType, string> = {\n windows: 'Windows',\n macos: 'macOS',\n linux: 'Linux',\n ios: 'iOS',\n android: 'Android',\n};\n"],"names":["OTHER_PORTALS_DISPLAY_NAME","RESOURCE_NAMES","RESOURCE_DISPLAY_NAMES","getResourceDisplayName","resourceName","portal","toTitleCase","ProjectContext","createContext","ProjectProvider","projectName","children","useProjectName","use","RESOURCE_ENDPOINT_MAP","useResourceFormatter","getLicenseStatus","license","licenseExpired","ALL_OS"],"mappings":"mJAYA,MAAMA,EAAqD,CACvD,sBAAuB,UAEvB,oBAAqB,SACzB,EAIaC,EAAiB,CAC1B,eACA,UACA,aACA,iBACA,aACA,YACA,kBACA,4BACA,OACA,kBACA,eACA,UACA,UACA,UACA,mBACA,qBACA,eACA,OACA,UACA,kBACA,UACA,UACA,kBACA,eACA,mBACA,OACA,aACA,qBACA,UACA,iBACA,MACA,QACA,eACA,OACA,aACA,UACA,oBACA,gBACA,WACA,qBACA,yBACJ,EAKMC,EAAiD,CACnD,GAAI,KACJ,UAAW,gBACX,OAAQ,cACR,UAAW,eACX,UAAW,kBACX,WAAY,YACZ,GAAI,KACJ,UAAW,aACX,IAAK,cACL,OAAQ,UACR,UAAW,YACX,eAAgB,mBAChB,gBAAiB,oBACjB,mBAAoB,uBACpB,sBAAuB,0BACvB,kBAAmB,sBACnB,mBAAoB,sBACpB,UAAW,UACX,OAAQ,OACR,UAAW,UACX,UAAW,kBACX,OAAQ,cACR,iBAAkB,uBAClB,gBAAiB,oBACjB,IAAK,MACL,mBAAoB,oBACpB,qBAAsB,wBACtB,cAAe,mBACf,SAAU,YACV,GAAI,gBACJ,IAAK,iBACL,UAAW,aACX,WAAY,WACZ,iBAAkB,kBAClB,UAAW,UACX,oBAAqB,qBACrB,UAAW,UACX,iBAAkB,kBAClB,uBAAwB,UACxB,qBAAsB,aACtB,uBAAwB,UACxB,eAAgB,eAChB,kBAAmB,UACnB,uBAAwB,iBACxB,uBAAwB,iBACxB,mBAAoB,mBACpB,WAAY,cACZ,IAAK,eACL,gBAAiB,WACjB,cAAe,sBACnB,EAEA,SAASC,EAAuBC,EAAsBC,EAAoB,CACtE,OAAIA,IAAW,gBAAkBD,KAAgBJ,EACtCA,EAA2BI,CAAY,EACvCA,KAAgBF,EAChBA,EAAuBE,CAAY,EAEnCE,EAAYF,CAAY,CAEvC,CAEA,MAAMG,EAAiBC,EAA0B,cAAc,EAExD,SAASC,EAAgB,CAAE,YAAAC,EAAa,SAAAC,GAAoE,CAC/G,SAAQJ,EAAe,SAAf,CAAwB,MAAOG,EAAc,SAAAC,EAAS,CAClE,CAEO,SAASC,GAA6B,CAEzC,OADoBC,EAAIN,CAAc,CAE1C,CAMO,MAAMO,EAA8F,CACvG,eAAgB,6BAChB,QAAS,qBACT,WAAY,kBACZ,iBAAkB,sBAClB,aAAc,YACd,YAAa,iBACb,kBAAmB,uBACnB,4BAA6B,iCAC7B,kBAAmB,uBACnB,eAAgB,oBAChB,QAAS,eACT,QAAS,eACT,mBAAoB,wBACpB,qBAAsB,2BACtB,aAAc,oBACd,KAAM,YACN,QAAS,eACT,kBAAmB,uBACnB,QAAS,eACT,kBAAmB,uBACnB,eAAgB,oBAChB,mBAAoB,wBACpB,SAAU,gBACV,KAAM,YACN,QAAS,eACT,iBAAkB,sBAClB,IAAK,WACL,MAAO,wBACP,eAAgB,qBAChB,KAAM,YACN,aAAc,iDACd,QAAS,eACT,oBAAqB,yBACrB,KAAM,oCACN,QAAS,uBAET,QAAS,SACT,aAAc,mBACd,qBAAsB,uCACtB,gBAAiB,sBACjB,qBAAsB,uCACtB,0BAA2B,oCAC/B,EAEO,SAASC,GAAyD,CACrE,MAAMV,EAASO,EAAA,EACf,OAAQR,GAAyBD,EAAuBC,EAAcC,CAAM,CAChF,CAKO,SAASW,EAAiBC,EAAsB,CACnD,MAAMC,EAAiBD,EAAQ,WAAa,IAAI,KAAKA,EAAQ,SAAS,EAAI,IAAI,KAE9E,OAAQ,GAAA,CACJ,KAAKA,EAAQ,SAAWA,EAAQ,WAAaC,GACzC,MAAO,8BACX,KAAKD,EAAQ,SAAWA,EAAQ,WAC5B,MAAO,qBACX,KAAKA,EAAQ,SAAWC,GACpB,MAAO,mBACX,KAAKD,EAAQ,WAAaC,GACtB,MAAO,qBACX,KAAKD,EAAQ,UACT,MAAO,YACX,KAAKA,EAAQ,QACT,MAAO,UACX,KAAKC,EACD,MAAO,UACX,QACI,MAAO,QAAA,CAEnB,CAEO,MAAMC,EAAiC,CAC1C,QAAS,UACT,MAAO,QACP,MAAO,QACP,IAAK,MACL,QAAS,SACb"}
1
+ {"version":3,"file":"resources.js","sources":["../../lib/utilities/resources.tsx"],"sourcesContent":["import type { components, operations } from '@cryptlex/web-api-types/develop';\nimport { createContext, use } from 'react';\nimport { toTitleCase } from './string';\n\nexport type ApiSchema<T extends keyof components['schemas']> = components['schemas'][T];\nexport type ApiResponseBody<T extends keyof operations> = operations[T] extends {\n responses: { 200: { content: { 'application/json': infer R } } };\n}\n ? R extends Array<infer U>\n ? U\n : R\n : never;\nexport type ApiQuery<T extends keyof operations> = NonNullable<operations[T]['parameters']['query']>;\nexport type ApiPathParameters<T extends keyof operations> = operations[T]['parameters']['path'];\nexport type ApiFilter<T extends keyof operations> = Omit<ApiQuery<T>, 'page' | 'limit' | 'sort' | 'search'>;\nexport type ApiFilters<T extends keyof operations> = NonNullable<ApiFilter<T>>;\nexport type CtxPortals = 'customer-portal' | 'system-portal' | 'reseller-portal' | 'admin-portal';\n// Display names specific to customer and reseller portal\nconst OTHER_PORTALS_DISPLAY_NAME: Record<string, string> = {\n 'product.displayName': 'Product',\n // TanStack Table converts . -> _ TODO\n product_displayName: 'Product',\n};\n\n// TODO, delegate to openapi.json\n// TODO, this drifts quite a lot from the API, should be updated\n/** Resource Name should ALWAYS be in singular form */\nexport const RESOURCE_NAMES = [\n 'access-token',\n 'account',\n 'activation',\n 'activation-log',\n 'admin-role',\n 'audit-log',\n 'automated-email',\n 'automated-email-event-log',\n 'card',\n 'entitlement-set',\n 'feature-flag',\n 'feature',\n 'invoice',\n 'license',\n 'license-template',\n 'maintenance-policy',\n 'organization',\n 'plan',\n 'product',\n 'product-version',\n 'profile',\n 'release',\n 'release-channel',\n 'release-file',\n 'release-platform',\n 'role',\n 'role-claim',\n 'saml-configuration',\n 'segment',\n 'sending-domain',\n 'tag',\n 'trial',\n 'trial-policy',\n 'user',\n 'user-group',\n 'webhook',\n 'webhook-event-log',\n 'webhook-event',\n 'reseller',\n 'oidc-configuration',\n 'tenant-database-cluster',\n] as const;\nexport type CtxResourceName = (typeof RESOURCE_NAMES)[number];\n\n// TODO, use OpenAPI spec for resource definitions\n\nconst RESOURCE_DISPLAY_NAMES: Record<string, string> = {\n id: 'ID',\n createdAt: 'Creation Date',\n scopes: 'Permissions',\n updatedAt: 'Last Updated',\n expiresAt: 'Expiration Date',\n lastSeenAt: 'Last Seen',\n os: 'OS',\n osVersion: 'OS Version',\n key: 'License Key',\n vmName: 'VM Name',\n container: 'Container',\n allowedIpRange: 'Allowed IP Range',\n allowedIpRanges: 'Allowed IP Ranges',\n allowedIpAddresses: 'Allowed IP Addresses',\n disallowedIpAddresses: 'Disallowed IP Addresses',\n allowVmActivation: 'Allow VM Activation',\n disableGeoLocation: 'Disable Geolocation',\n 'user.id': 'User ID',\n userId: 'User',\n productId: 'Product',\n downloads: 'Total Downloads',\n claims: 'Permissions',\n googleSsoEnabled: 'Google Login Enabled',\n lastAttemptedAt: 'Last Attempt Date',\n url: 'URL',\n 'trialPolicy.name': 'Trial Policy Name',\n 'licensePolicy.name': 'License Template Name',\n licensePolicy: 'License Template',\n eventLog: 'Audit Log',\n cc: 'CC Recepients',\n bcc: 'BCC Recepients',\n ipAddress: 'IP Address',\n resellerId: 'Reseller',\n productVersionId: 'Product Version',\n releaseId: 'Release',\n maintenancePolicyId: 'Maintenance Policy',\n webhookId: 'Webhook',\n automatedEmailId: 'Automated Email',\n 'location.countryName': 'Country',\n 'location.ipAddress': 'IP Address',\n 'location.countryCode': 'Country',\n organizationId: 'Organization',\n 'address.country': 'Country',\n 'address.addressLine1': 'Address Line 1',\n 'address.addressLine2': 'Address Line 2',\n responseStatusCode: 'HTTP Status Code',\n resourceId: 'Resource ID',\n Sso: 'SAML SSO 2.0',\n 'reseller.name': 'Reseller',\n sendingDomain: 'Email Sending Domain',\n};\n\nfunction getResourceDisplayName(resourceName: string, portal: CtxPortals) {\n if (portal !== 'admin-portal' && resourceName in OTHER_PORTALS_DISPLAY_NAME) {\n return OTHER_PORTALS_DISPLAY_NAME[resourceName];\n } else if (resourceName in RESOURCE_DISPLAY_NAMES) {\n return RESOURCE_DISPLAY_NAMES[resourceName];\n } else {\n return toTitleCase(resourceName);\n }\n}\n\nconst ProjectContext = createContext<CtxPortals>('admin-portal');\n\nexport function ProjectProvider({ projectName, children }: { projectName: CtxPortals; children: React.ReactNode }) {\n return <ProjectContext.Provider value={projectName}>{children}</ProjectContext.Provider>;\n}\n\nexport function useProjectName(): CtxPortals {\n const projectName = use(ProjectContext);\n return projectName;\n}\n\nexport function useResourceFormatter(): (resourceName: string) => string {\n const portal = useProjectName();\n return (resourceName: string) => getResourceDisplayName(resourceName, portal);\n}\n\n/**\n * Format multiple license parameters (expired, suspended, revoked) into a single status\n */\nexport function getLicenseStatus(license: any): string {\n const licenseExpired = license.expiresAt && new Date(license.expiresAt) < new Date();\n // Status Column\n switch (true) {\n case license.revoked && license.suspended && licenseExpired:\n return 'Revoked, Suspended, Expired';\n case license.revoked && license.suspended:\n return 'Revoked, Suspended';\n case license.revoked && licenseExpired:\n return 'Revoked, Expired';\n case license.suspended && licenseExpired:\n return 'Suspended, Expired';\n case license.suspended:\n return 'Suspended';\n case license.revoked:\n return 'Revoked';\n case licenseExpired:\n return 'Expired';\n default:\n return 'Active';\n }\n}\ntype OsType = ApiSchema<'ActivationCreateRequestModel'>['os'];\nexport const ALL_OS: Record<OsType, string> = {\n windows: 'Windows',\n macos: 'macOS',\n linux: 'Linux',\n ios: 'iOS',\n android: 'Android',\n};\n"],"names":["OTHER_PORTALS_DISPLAY_NAME","RESOURCE_NAMES","RESOURCE_DISPLAY_NAMES","getResourceDisplayName","resourceName","portal","toTitleCase","ProjectContext","createContext","ProjectProvider","projectName","children","useProjectName","use","useResourceFormatter","getLicenseStatus","license","licenseExpired","ALL_OS"],"mappings":"mJAkBA,MAAMA,EAAqD,CACvD,sBAAuB,UAEvB,oBAAqB,SACzB,EAKaC,EAAiB,CAC1B,eACA,UACA,aACA,iBACA,aACA,YACA,kBACA,4BACA,OACA,kBACA,eACA,UACA,UACA,UACA,mBACA,qBACA,eACA,OACA,UACA,kBACA,UACA,UACA,kBACA,eACA,mBACA,OACA,aACA,qBACA,UACA,iBACA,MACA,QACA,eACA,OACA,aACA,UACA,oBACA,gBACA,WACA,qBACA,yBACJ,EAKMC,EAAiD,CACnD,GAAI,KACJ,UAAW,gBACX,OAAQ,cACR,UAAW,eACX,UAAW,kBACX,WAAY,YACZ,GAAI,KACJ,UAAW,aACX,IAAK,cACL,OAAQ,UACR,UAAW,YACX,eAAgB,mBAChB,gBAAiB,oBACjB,mBAAoB,uBACpB,sBAAuB,0BACvB,kBAAmB,sBACnB,mBAAoB,sBACpB,UAAW,UACX,OAAQ,OACR,UAAW,UACX,UAAW,kBACX,OAAQ,cACR,iBAAkB,uBAClB,gBAAiB,oBACjB,IAAK,MACL,mBAAoB,oBACpB,qBAAsB,wBACtB,cAAe,mBACf,SAAU,YACV,GAAI,gBACJ,IAAK,iBACL,UAAW,aACX,WAAY,WACZ,iBAAkB,kBAClB,UAAW,UACX,oBAAqB,qBACrB,UAAW,UACX,iBAAkB,kBAClB,uBAAwB,UACxB,qBAAsB,aACtB,uBAAwB,UACxB,eAAgB,eAChB,kBAAmB,UACnB,uBAAwB,iBACxB,uBAAwB,iBACxB,mBAAoB,mBACpB,WAAY,cACZ,IAAK,eACL,gBAAiB,WACjB,cAAe,sBACnB,EAEA,SAASC,EAAuBC,EAAsBC,EAAoB,CACtE,OAAIA,IAAW,gBAAkBD,KAAgBJ,EACtCA,EAA2BI,CAAY,EACvCA,KAAgBF,EAChBA,EAAuBE,CAAY,EAEnCE,EAAYF,CAAY,CAEvC,CAEA,MAAMG,EAAiBC,EAA0B,cAAc,EAExD,SAASC,EAAgB,CAAE,YAAAC,EAAa,SAAAC,GAAoE,CAC/G,SAAQJ,EAAe,SAAf,CAAwB,MAAOG,EAAc,SAAAC,EAAS,CAClE,CAEO,SAASC,GAA6B,CAEzC,OADoBC,EAAIN,CAAc,CAE1C,CAEO,SAASO,GAAyD,CACrE,MAAMT,EAASO,EAAA,EACf,OAAQR,GAAyBD,EAAuBC,EAAcC,CAAM,CAChF,CAKO,SAASU,EAAiBC,EAAsB,CACnD,MAAMC,EAAiBD,EAAQ,WAAa,IAAI,KAAKA,EAAQ,SAAS,EAAI,IAAI,KAE9E,OAAQ,GAAA,CACJ,KAAKA,EAAQ,SAAWA,EAAQ,WAAaC,GACzC,MAAO,8BACX,KAAKD,EAAQ,SAAWA,EAAQ,WAC5B,MAAO,qBACX,KAAKA,EAAQ,SAAWC,GACpB,MAAO,mBACX,KAAKD,EAAQ,WAAaC,GACtB,MAAO,qBACX,KAAKD,EAAQ,UACT,MAAO,YACX,KAAKA,EAAQ,QACT,MAAO,UACX,KAAKC,EACD,MAAO,UACX,QACI,MAAO,QAAA,CAEnB,CAEO,MAAMC,EAAiC,CAC1C,QAAS,UACT,MAAO,QACP,MAAO,QACP,IAAK,MACL,QAAS,SACb"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cryptlex/web-components",
3
- "version": "6.6.6-alpha51",
3
+ "version": "6.6.6-alpha54",
4
4
  "description": "React component library for Cryptlex web applications",
5
5
  "author": "Cryptlex",
6
6
  "type": "module",