@tribepad/themis 1.9.4 → 1.10.0

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 (128) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/dist/elements/AlertDialog/index.js +1 -1
  3. package/dist/elements/AlertDialog/index.js.map +1 -1
  4. package/dist/elements/AlertDialog/index.mjs +1 -1
  5. package/dist/elements/AlertDialog/index.mjs.map +1 -1
  6. package/dist/elements/Breadcrumbs/index.js +1 -1
  7. package/dist/elements/Breadcrumbs/index.js.map +1 -1
  8. package/dist/elements/Breadcrumbs/index.mjs +1 -1
  9. package/dist/elements/Breadcrumbs/index.mjs.map +1 -1
  10. package/dist/elements/Button/index.js +1 -1
  11. package/dist/elements/Button/index.js.map +1 -1
  12. package/dist/elements/Button/index.mjs +1 -1
  13. package/dist/elements/Button/index.mjs.map +1 -1
  14. package/dist/elements/Card/index.js +1 -1
  15. package/dist/elements/Card/index.js.map +1 -1
  16. package/dist/elements/Card/index.mjs +1 -1
  17. package/dist/elements/Card/index.mjs.map +1 -1
  18. package/dist/elements/Carousel/Carousel.d.ts +8 -1
  19. package/dist/elements/Carousel/Carousel.d.ts.map +1 -1
  20. package/dist/elements/Carousel/LazyCarousel.d.ts +1 -1
  21. package/dist/elements/Carousel/LazyCarousel.d.ts.map +1 -1
  22. package/dist/elements/Carousel/index.js +1 -1
  23. package/dist/elements/Carousel/index.js.map +1 -1
  24. package/dist/elements/Carousel/index.mjs +1 -1
  25. package/dist/elements/Carousel/index.mjs.map +1 -1
  26. package/dist/elements/ChatInterface/ChatLiveRegions.d.ts +2 -2
  27. package/dist/elements/ChatInterface/ChatLiveRegions.d.ts.map +1 -1
  28. package/dist/elements/ChatInterface/ChatMessageBubble.d.ts +1 -1
  29. package/dist/elements/ChatInterface/ChatMessageBubble.d.ts.map +1 -1
  30. package/dist/elements/ChatInterface/ChatThinkingDisplay.d.ts +2 -2
  31. package/dist/elements/ChatInterface/ChatThinkingDisplay.d.ts.map +1 -1
  32. package/dist/elements/ChatInterface/ChatTypingIndicator.d.ts +2 -2
  33. package/dist/elements/ChatInterface/ChatTypingIndicator.d.ts.map +1 -1
  34. package/dist/elements/ChatInterface/index.js +1 -1
  35. package/dist/elements/ChatInterface/index.js.map +1 -1
  36. package/dist/elements/ChatInterface/index.mjs +1 -1
  37. package/dist/elements/ChatInterface/index.mjs.map +1 -1
  38. package/dist/elements/FeatureIcon/FeatureIcon.d.ts +3 -0
  39. package/dist/elements/FeatureIcon/FeatureIcon.d.ts.map +1 -0
  40. package/dist/elements/FeatureIcon/FeatureIcon.styles.d.ts +17 -0
  41. package/dist/elements/FeatureIcon/FeatureIcon.styles.d.ts.map +1 -0
  42. package/dist/elements/FeatureIcon/FeatureIcon.types.d.ts +137 -0
  43. package/dist/elements/FeatureIcon/FeatureIcon.types.d.ts.map +1 -0
  44. package/dist/elements/FeatureIcon/index.d.ts +25 -0
  45. package/dist/elements/FeatureIcon/index.d.ts.map +1 -0
  46. package/dist/elements/FeatureIcon/index.js +3 -0
  47. package/dist/elements/FeatureIcon/index.js.map +1 -0
  48. package/dist/elements/FeatureIcon/index.mjs +3 -0
  49. package/dist/elements/FeatureIcon/index.mjs.map +1 -0
  50. package/dist/elements/FileField/index.js +1 -1
  51. package/dist/elements/FileField/index.js.map +1 -1
  52. package/dist/elements/FileField/index.mjs +1 -1
  53. package/dist/elements/FileField/index.mjs.map +1 -1
  54. package/dist/elements/Filters/index.js +1 -1
  55. package/dist/elements/Filters/index.js.map +1 -1
  56. package/dist/elements/Filters/index.mjs +1 -1
  57. package/dist/elements/Filters/index.mjs.map +1 -1
  58. package/dist/elements/Modal/Modal.styles.d.ts +2 -2
  59. package/dist/elements/Modal/Modal.types.d.ts +2 -2
  60. package/dist/elements/NumberField/index.js +1 -1
  61. package/dist/elements/NumberField/index.js.map +1 -1
  62. package/dist/elements/NumberField/index.mjs +1 -1
  63. package/dist/elements/NumberField/index.mjs.map +1 -1
  64. package/dist/elements/PageTitle/index.js +1 -1
  65. package/dist/elements/PageTitle/index.js.map +1 -1
  66. package/dist/elements/PageTitle/index.mjs +1 -1
  67. package/dist/elements/PageTitle/index.mjs.map +1 -1
  68. package/dist/elements/Pagination/index.js +1 -1
  69. package/dist/elements/Pagination/index.js.map +1 -1
  70. package/dist/elements/Pagination/index.mjs +1 -1
  71. package/dist/elements/Pagination/index.mjs.map +1 -1
  72. package/dist/elements/Panel/Panel.d.ts +1 -1
  73. package/dist/elements/Panel/Panel.types.d.ts +2 -2
  74. package/dist/elements/PasswordField/index.js +1 -1
  75. package/dist/elements/PasswordField/index.js.map +1 -1
  76. package/dist/elements/PasswordField/index.mjs +1 -1
  77. package/dist/elements/PasswordField/index.mjs.map +1 -1
  78. package/dist/elements/Resizable/index.js +1 -1
  79. package/dist/elements/Resizable/index.js.map +1 -1
  80. package/dist/elements/Resizable/index.mjs +1 -1
  81. package/dist/elements/Resizable/index.mjs.map +1 -1
  82. package/dist/elements/SearchField/index.js +1 -1
  83. package/dist/elements/SearchField/index.js.map +1 -1
  84. package/dist/elements/SearchField/index.mjs +1 -1
  85. package/dist/elements/SearchField/index.mjs.map +1 -1
  86. package/dist/elements/Select/Select.d.ts +3 -3
  87. package/dist/elements/Select/Select.d.ts.map +1 -1
  88. package/dist/elements/Sidebar/Sidebar.styles.d.ts +1 -1
  89. package/dist/elements/Sidebar/Sidebar.styles.d.ts.map +1 -1
  90. package/dist/elements/Sidebar/Sidebar.types.d.ts +2 -2
  91. package/dist/elements/Sidebar/SidebarRail.d.ts.map +1 -1
  92. package/dist/elements/Sidebar/index.js +1 -1
  93. package/dist/elements/Sidebar/index.js.map +1 -1
  94. package/dist/elements/Sidebar/index.mjs +1 -1
  95. package/dist/elements/Sidebar/index.mjs.map +1 -1
  96. package/dist/elements/Table/index.js +1 -1
  97. package/dist/elements/Table/index.js.map +1 -1
  98. package/dist/elements/Table/index.mjs +1 -1
  99. package/dist/elements/Table/index.mjs.map +1 -1
  100. package/dist/elements/TextField/index.js +1 -1
  101. package/dist/elements/TextField/index.js.map +1 -1
  102. package/dist/elements/TextField/index.mjs +1 -1
  103. package/dist/elements/TextField/index.mjs.map +1 -1
  104. package/dist/elements/Timeline/index.js +1 -1
  105. package/dist/elements/Timeline/index.js.map +1 -1
  106. package/dist/elements/Timeline/index.mjs +1 -1
  107. package/dist/elements/Timeline/index.mjs.map +1 -1
  108. package/dist/elements/Toast/index.js +1 -1
  109. package/dist/elements/Toast/index.js.map +1 -1
  110. package/dist/elements/Toast/index.mjs +1 -1
  111. package/dist/elements/Toast/index.mjs.map +1 -1
  112. package/dist/elements/Wizard/index.js +1 -1
  113. package/dist/elements/Wizard/index.js.map +1 -1
  114. package/dist/elements/Wizard/index.mjs +1 -1
  115. package/dist/elements/Wizard/index.mjs.map +1 -1
  116. package/dist/elements/index.d.ts +2 -0
  117. package/dist/elements/index.d.ts.map +1 -1
  118. package/dist/elements/index.js +1 -1
  119. package/dist/elements/index.js.map +1 -1
  120. package/dist/elements/index.mjs +1 -1
  121. package/dist/elements/index.mjs.map +1 -1
  122. package/dist/index.js +2 -2
  123. package/dist/index.js.map +1 -1
  124. package/dist/index.mjs +2 -2
  125. package/dist/index.mjs.map +1 -1
  126. package/dist/styles/animations.css +15 -0
  127. package/package.json +16 -14
  128. package/src/elements/FeatureIcon/FeatureIcon.stories.tsx +164 -0
package/CHANGELOG.md CHANGED
@@ -5,6 +5,21 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [1.10.0] - 2026-07-07
9
+
10
+ ### Added
11
+ - **`FeatureIcon` — display-only icon in a styled container.** A new non-interactive element that presents a Lucide/custom icon inside a rounded, coloured container to represent a feature, product section, or status. Supports four sizes (`sm`/`default`/`lg`/`xl`), six `background` treatments (`transparent`, `primary`, `pale`, `dark`, `status`, `sidekick` gradient), three `corners` options (`square`/`rounded`/`full`), and an optional subtle idle `animated` state that honours `prefers-reduced-motion`. Eight predefined `section` icons (`jobs`, `candidates`, `interviews`, `messages`, `reports`, `tasks`, `settings`, `notifications`) are available out of the box; a custom `icon` node takes precedence. Accessibility: decorative by default (`aria-hidden`), so it adds no screen-reader noise; supplying `aria-label` and/or `tooltip` gives it `role="img"` with an accessible name. When `tooltip` is set the icon becomes keyboard-focusable (via React Aria `Focusable`) and uses the Themis Tooltip (hoverable + dismissible, WCAG 1.4.13), with placement controlled by `tooltipSide`.
12
+
13
+ ### Changed
14
+ - **Dependency and CI tooling updates.** Bumped dev dependencies including `typescript` (^6.0.3), `eslint` (^10.6.0), `@typescript-eslint/*` (^8.62.1), `vite` (^8.1.3), `vitest`/`@vitest/coverage-v8` (^4.1.10), `@types/node` (^26.1.0), `tsx` (^4.23.0), `@tailwindcss/vite` (^4.3.2), and the `lucide-react` (^1.23.0) and `motion` (^12.42.2) peer/runtime tooling, plus added `undici` and `@babel/core` pnpm overrides. Upgraded the `actions/checkout` GitHub Action from v6 to v7 across the CI, publish, and release workflows. Tooling-only — no component API changes.
15
+
16
+ ## [1.9.5] - 2026-07-07
17
+
18
+ ### Changed
19
+ - **`Button` outline variant: neutral fill + table-consistent hover.** The resting background is now `--content-background` (was `--page-background`), so an outline button reads as a raised surface on a page-tinted background rather than blending into it. Its hover fill changed from the darker `--input-border` to `--accent-background/50` — the same value the `Table` row uses on hover — so outline-button hover is now consistent with tables, cards, and sidebar nav. Visual-only — no API changes.
20
+ - **`Sidebar` rail spacing, active notch, and icon sizing refined.** The rail now pads uniformly (`p-1` instead of `pl-1`) and each rail item gains `px-1`, so items sit inset from the rail edges; the active-item notch is nudged out (`-right-1`) to stay centred on the divider after that inset. Rail icon chips grew from 16px to 20px (`size-4` → `size-5`) for a clearer touch/visual target. Visual-only — no API changes.
21
+ - **`Sidebar` collapse button now matches the other rail items.** The rail's collapse/expand chevron is wrapped in the same icon-chip span as the nav items and picks up the shared rail-item hover, so it aligns and reacts identically instead of being a bare, differently-sized control.
22
+
8
23
  ## [1.9.4] - 2026-06-29
9
24
 
10
25
  ### Fixed
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- 'use strict';var react=require('react'),reactAriaComponents=require('react-aria-components'),lucideReact=require('lucide-react'),clsx=require('clsx'),tailwindMerge=require('tailwind-merge'),classVarianceAuthority=require('class-variance-authority'),jsxRuntime=require('react/jsx-runtime'),zod=require('zod');function c(...e){return tailwindMerge.twMerge(clsx.clsx(e))}function Zt(e){if(!(e instanceof Element))return false;let t=e;for(let r=0;t&&r<100;r++){let i=t.tagName?.toLowerCase()??"";if(i.startsWith("grammarly-")||i.startsWith("lt-")||t.hasAttribute("data-grammarly-shadow-root"))return true;if(t.parentElement)t=t.parentElement;else {let d=t.getRootNode();t=d instanceof ShadowRoot?d.host:null;}}let o=e;for(;o&&!o.tagName.includes("-");)o=o.parentElement;if(!o)return false;let n=o.parentElement;return n===document.body||n===document.documentElement}function ot(e){return t=>!Zt(t)&&(e?.(t)??true)}function at(e){let t=react.useCallback(r=>{let i=window.matchMedia(e);return i.addEventListener("change",r),()=>i.removeEventListener("change",r)},[e]),o=react.useCallback(()=>window.matchMedia(e).matches,[e]),n=react.useCallback(()=>false,[]);return react.useSyncExternalStore(t,o,n)}var nt=["data-[entering]:animate-in","data-[entering]:fade-in-0","data-[entering]:zoom-in-95","data-[entering]:duration-200","data-[entering]:ease-out"],rt=["data-[exiting]:animate-out","data-[exiting]:fade-out-0","data-[exiting]:zoom-out-95","data-[exiting]:duration-150","data-[exiting]:ease-in"],it=["data-[entering]:animate-in","data-[entering]:fade-in-0","data-[entering]:slide-in-from-bottom-4","data-[entering]:duration-200","data-[entering]:ease-out"],st=["data-[exiting]:animate-out","data-[exiting]:fade-out-0","data-[exiting]:slide-out-to-bottom-4","data-[exiting]:duration-150","data-[exiting]:ease-in"],lt=["data-[entering]:animate-in","data-[entering]:slide-in-from-left","data-[entering]:duration-200","data-[entering]:ease-out"],dt=["data-[exiting]:animate-out","data-[exiting]:slide-out-to-left","data-[exiting]:duration-150","data-[exiting]:ease-in"],ct=["data-[entering]:animate-in","data-[entering]:slide-in-from-right","data-[entering]:duration-200","data-[entering]:ease-out"],ut=["data-[exiting]:animate-out","data-[exiting]:slide-out-to-right","data-[exiting]:duration-150","data-[exiting]:ease-in"],pt=["data-[entering]:animate-in","data-[entering]:slide-in-from-top","data-[entering]:duration-200","data-[entering]:ease-out"],mt=["data-[exiting]:animate-out","data-[exiting]:slide-out-to-top","data-[exiting]:duration-150","data-[exiting]:ease-in"],ft=["data-[entering]:animate-in","data-[entering]:slide-in-from-bottom","data-[entering]:duration-200","data-[entering]:ease-out"],gt=["data-[exiting]:animate-out","data-[exiting]:slide-out-to-bottom","data-[exiting]:duration-150","data-[exiting]:ease-in"],L=["data-[entering]:animate-in","data-[entering]:fade-in-0","data-[entering]:duration-200"],P=["data-[exiting]:animate-out","data-[exiting]:fade-out-0","data-[exiting]:duration-150"],R=["motion-reduce:transition-none","motion-reduce:animate-none"];var xt=classVarianceAuthority.cva(["relative","bg-[var(--content-background)]","text-[var(--content-foreground)]","rounded-lg","flex","flex-col","overflow-hidden","w-full","outline-none","mx-4","sm:mx-0",...R],{variants:{size:{sm:"max-w-sm max-h-[85vh]",md:"max-w-md max-h-[85vh]",lg:"max-w-lg max-h-[85vh]",xl:"max-w-2xl max-h-[85vh]",full:"max-w-full min-h-screen max-h-none rounded-none"},animation:{"fade-zoom":[...nt,...rt],fade:["data-[entering]:animate-in","data-[entering]:fade-in-0","data-[entering]:duration-200","data-[entering]:ease-out","data-[exiting]:animate-out","data-[exiting]:fade-out-0","data-[exiting]:duration-150","data-[exiting]:ease-in"],slide:[...it,...st],none:""}},defaultVariants:{size:"md",animation:"fade-zoom"}}),vt=classVarianceAuthority.cva(["fixed","inset-0","z-50","flex","bg-black/50","backdrop-blur-sm",...R],{variants:{animation:{"fade-zoom":[...L,...P],fade:[...L,...P],slide:[...L,...P],none:""},position:{center:"items-center justify-center",left:"items-stretch justify-start",right:"items-stretch justify-end",top:"items-start justify-center",bottom:"items-end justify-center"}},defaultVariants:{animation:"fade-zoom",position:"center"}}),j=classVarianceAuthority.cva(["relative","bg-[var(--content-background)]","text-[var(--content-foreground)]","flex","flex-col","overflow-hidden","outline-none",...R],{variants:{position:{left:"h-full border-r border-[var(--border)] rounded-r-lg",right:"h-full border-l border-[var(--border)] rounded-l-lg",top:"w-full border-b border-[var(--border)] rounded-b-lg",bottom:"w-full border-t border-[var(--border)] rounded-t-lg"},size:{sm:"",md:"",lg:"",xl:"",full:""}},compoundVariants:[{position:["left","right"],size:"sm",class:"w-[300px] max-w-[90vw]"},{position:["left","right"],size:"md",class:"w-[400px] max-w-[90vw]"},{position:["left","right"],size:"lg",class:"w-[500px] max-w-[90vw]"},{position:["left","right"],size:"xl",class:"w-[600px] max-w-[90vw]"},{position:["left","right"],size:"full",class:"w-screen"},{position:["top","bottom"],size:"sm",class:"h-[200px] max-h-[90vh]"},{position:["top","bottom"],size:"md",class:"h-[320px] max-h-[90vh]"},{position:["top","bottom"],size:"lg",class:"h-[440px] max-h-[90vh]"},{position:["top","bottom"],size:"xl",class:"h-[560px] max-h-[90vh]"},{position:["top","bottom"],size:"full",class:"h-screen"}],defaultVariants:{position:"right",size:"md"}}),bt={left:[...lt,...dt],right:[...ct,...ut],top:[...pt,...mt],bottom:[...ft,...gt]},ht=classVarianceAuthority.cva(["px-6","py-4","flex-1","min-h-0","overflow-y-auto"]),Et=classVarianceAuthority.cva(["[&_[role=tablist]]:flex","[&_[role=tablist]]:w-full","[&_[role=tablist]]:px-2"]);var X=react.createContext(void 0);function Mt({children:e,defaultOpen:t,isOpen:o,onOpenChange:n,role:r="dialog"}){let i=react.Children.toArray(e);if(process.env.NODE_ENV!=="production"&&!i.some(u=>react.isValidElement(u)&&(u.type===M||u.type.displayName==="ModalContent")))throw new Error("Modal requires a Modal.Content as a child");let d=i.find(a=>react.isValidElement(a)&&(a.type===T||a.type.displayName==="ModalTrigger")),f=i.find(a=>react.isValidElement(a)&&(a.type===M||a.type.displayName==="ModalContent"));if(!d)return jsxRuntime.jsx(X.Provider,{value:{role:r},children:jsxRuntime.jsx(reactAriaComponents.DialogTrigger,{defaultOpen:t,isOpen:o,onOpenChange:n,children:f})});let g=d,x=react.isValidElement(g)?g.props.children:null;return jsxRuntime.jsx(X.Provider,{value:{role:r},children:jsxRuntime.jsxs(reactAriaComponents.DialogTrigger,{defaultOpen:t,isOpen:o,onOpenChange:n,children:[x,f]})})}Mt.displayName="Modal";function T({children:e}){return e}T.displayName="ModalTrigger";function M({children:e,size:t="md",animation:o="fade-zoom",position:n="center",mobileBreakpoint:r=768,animationDuration:i=250,isDismissable:d=true,isKeyboardDismissDisabled:h=false,shouldCloseOnInteractOutside:f,showClose:g=true,className:x}){let u=react.useContext(X)?.role??"dialog",E=n!=="center",_=at(`(max-width: ${r-1}px)`),v=E&&_?"bottom":n,I=vt({animation:o,position:v}),O;if(E){let p=v,C=_?c(j({position:"bottom",size:t}),"h-auto max-h-[85vh]"):j({position:p,size:t}),F=o==="none"?void 0:bt[p];O=c(C,F,x);}else O=c(xt({size:t,animation:o}),x);return jsxRuntime.jsx(reactAriaComponents.ModalOverlay,{isDismissable:d,isKeyboardDismissDisabled:h,shouldCloseOnInteractOutside:ot(f),className:I,children:jsxRuntime.jsx(reactAriaComponents.Modal,{className:O,style:{transitionDuration:`${i}ms`},children:jsxRuntime.jsx(reactAriaComponents.Dialog,{role:u,className:"flex flex-1 min-h-0 flex-col outline-none",children:({close:p})=>jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[g&&jsxRuntime.jsx(reactAriaComponents.Button,{onPress:p,className:"absolute right-0 top-0 flex items-center justify-center rounded-sm opacity-70 ring-offset-[var(--content-background)] transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-[var(--ring)] focus:ring-offset-2 disabled:pointer-events-none min-h-[44px] min-w-[44px]","aria-label":"Close modal",children:jsxRuntime.jsx(lucideReact.X,{className:"h-4 w-4","aria-hidden":"true"})}),e]})})})})}M.displayName="ModalContent";function yt(e){return null}yt.displayName="ModalOverlay";function w({children:e,className:t}){return jsxRuntime.jsx("div",{className:c("flex flex-col space-y-1.5 px-6 pt-6 pb-4 pr-12 text-center sm:text-left",t),children:e})}w.displayName="ModalHeader";function B({children:e,as:t="h2",className:o}){return jsxRuntime.jsx(reactAriaComponents.Heading,{slot:"title",level:parseInt(t[1]??"2"),className:c("text-lg font-semibold leading-none tracking-tight",o),children:e})}B.displayName="ModalTitle";function z({children:e,className:t}){return jsxRuntime.jsx("p",{slot:"description",className:c("text-sm text-[var(--menu-muted)]",t),children:e})}z.displayName="ModalDescription";function At({children:e,className:t}){return jsxRuntime.jsx("div",{className:c(Et(),t),children:e})}At.displayName="ModalTabs";function Dt({children:e,className:t}){return jsxRuntime.jsx("div",{className:c(ht(),t),children:e})}Dt.displayName="ModalBody";function G({children:e,className:t}){return jsxRuntime.jsx("div",{className:c("flex flex-col-reverse sm:flex-row sm:justify-end gap-2 px-6 pb-6 pt-4",t),children:e})}G.displayName="ModalFooter";function S({children:e}){let t=react.useContext(reactAriaComponents.OverlayTriggerStateContext);if(!t)throw new Error("Modal.Close must be used inside Modal.Content");if(!react.isValidElement(e))throw new Error("Modal.Close requires a valid React element as a child");let o=e,n=()=>{t.close();},r=o.props?.onPress;return react.cloneElement(o,{onPress:r?()=>{r(),n();}:n})}S.displayName="ModalClose";var Tt=Object.assign(Mt,{Trigger:T,Content:M,Overlay:yt,Header:w,Title:B,Description:z,Tabs:At,Body:Dt,Footer:G,Close:S});var It=classVarianceAuthority.cva("inline-flex justify-center min-h-[44px] min-w-[44px] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)] focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:pointer-events-none disabled:opacity-50",{variants:{fullWidth:{true:"w-full",false:""},inVerticalGroup:{true:"items-stretch",false:"items-center"}},defaultVariants:{fullWidth:false,inVerticalGroup:false}}),Ct=classVarianceAuthority.cva("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-normal ring-offset-background motion-safe:transition-transform motion-safe:duration-200 motion-safe:[transition-timing-function:cubic-bezier(0.34,1.56,0.64,1)] motion-reduce:transition-none [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 relative cursor-pointer",{variants:{variant:{default:"bg-[var(--primary-action)] text-[var(--primary-action-foreground)] shadow-md hover:bg-[var(--primary-action-hover)] hover:-translate-y-1",destructive:"bg-[var(--destructive-background)] text-[var(--destructive-foreground)] hover:bg-[var(--destructive-background-hover,var(--destructive-background))] motion-safe:hover:btn-warn-shake",outline:"border border-[var(--input-border)] bg-[var(--page-background)] hover:bg-[var(--input-border)]",secondary:"bg-[var(--secondary)] text-[var(--secondary-foreground)] hover:bg-[var(--secondary-hover,var(--secondary))]",ghost:"hover:bg-[var(--accent)] hover:text-[var(--accent-foreground)]",link:"text-[var(--text-link)] underline underline-offset-4 hover:bg-[var(--accent)] hover:text-[var(--text-link-hover)]"},fullWidth:{true:"w-full",false:""},visualSize:{default:"h-10 px-4 py-2",sm:"h-9 rounded-md px-3 text-xs",lg:"h-11 rounded-md px-6 text-base",icon:"h-10 w-10",dot:"h-5 w-5 rounded-full p-0 min-h-0 min-w-0"},paywall:{true:"!bg-[var(--paywall)] !text-[var(--paywall-foreground)] hover:!bg-[var(--paywall)]/90 !cursor-not-allowed !border-transparent",false:""}},defaultVariants:{variant:"default",visualSize:"default",paywall:false}});var Z="data-[pressed]:scale-[0.97]";var H="hc:data-[hovered]:outline hc:data-[hovered]:outline-2 hc:data-[hovered]:outline-foreground",U="hc:data-[pressed]:outline hc:data-[pressed]:outline-2 hc:data-[pressed]:outline-offset-1 hc:data-[pressed]:outline-foreground";var Rt=react.createContext(null);Rt.displayName="ButtonGroupContext";function wt(){return react.useContext(Rt)}var Bt=react.createContext(null);Bt.displayName="ButtonGroupItemContext";function zt(){return react.useContext(Bt)}classVarianceAuthority.cva("inline-flex items-center gap-0",{variants:{orientation:{horizontal:"flex-row",vertical:"flex-col w-full"}},defaultVariants:{orientation:"horizontal"}});var Gt=classVarianceAuthority.cva("",{variants:{orientation:{horizontal:"min-w-[44px]",vertical:"flex min-h-[44px]"},position:{first:"",middle:"",last:"",only:""}},compoundVariants:[{orientation:"horizontal",position:"first",className:"rounded-r-none border-r-0"},{orientation:"horizontal",position:"middle",className:"rounded-none border-r-0"},{orientation:"horizontal",position:"last",className:"rounded-l-none"},{orientation:"vertical",position:"first",className:"rounded-b-none border-b-0"},{orientation:"vertical",position:"middle",className:"rounded-none border-b-0"},{orientation:"vertical",position:"last",className:"rounded-t-none"}],defaultVariants:{orientation:"horizontal",position:"only"}});classVarianceAuthority.cva("bg-[var(--border)]",{variants:{orientation:{horizontal:"w-px h-6 mx-1",vertical:"h-px w-full my-1"}},defaultVariants:{orientation:"horizontal"}});var k=react.memo(react.forwardRef(({className:e,buttonVisualClassName:t,variant:o,size:n,visualSize:r,fullWidth:i,loading:d=false,loadingText:h="Loading...",shortcut:f,children:g,isDisabled:x,paywall:a=false,paywallRedirect:u,paywallDescription:E,onPress:_,...v},I)=>{let O=react.useId(),p=wt(),C=zt(),F=o??p?.variant??"default",$t=n??p?.size,Yt=x??p?.isDisabled??false,tt=p?.orientation==="vertical",et=i||tt,Wt=C?Gt({orientation:p?.orientation??"horizontal",position:C.position}):"",$=r??$t??"default";return process.env.NODE_ENV!=="production"&&($==="dot"||$==="icon")&&!v["aria-label"]&&!g&&console.warn('[Button] visualSize="dot" or "icon" requires aria-label when no visible text is provided (WCAG 1.1.1)'),jsxRuntime.jsx(reactAriaComponents.Button,{ref:I,isDisabled:Yt||d||void 0,"aria-disabled":a?true:void 0,"aria-describedby":a?O:void 0,onPress:V=>{if(a){u&&window.open(u,"_blank","noopener,noreferrer");return}_?.(V);},className:c(It({fullWidth:et,inVerticalGroup:tt}),e),...v,children:V=>jsxRuntime.jsxs("span",{className:c(Ct({variant:F,visualSize:$,paywall:a,fullWidth:et}),Wt,t,Z,"",H,U),"data-pressed":V.isPressed||void 0,children:[d&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(lucideReact.Loader2,{className:"motion-safe:animate-spin","aria-hidden":"true"}),jsxRuntime.jsx("span",{className:"sr-only","aria-live":"polite",children:h})]}),!d&&g,a&&jsxRuntime.jsx(lucideReact.Zap,{"data-testid":"zap-icon","aria-hidden":"true",className:"ml-1"}),a&&jsxRuntime.jsxs("span",{id:O,className:"sr-only",children:["Premium feature: ",E||"Upgrade required to access this feature"]}),V.isFocusVisible&&f&&jsxRuntime.jsx("kbd",{className:"ml-auto hidden text-xs opacity-60 lg:inline",children:f})]})})}));k.displayName="Button";var J=classVarianceAuthority.cva("border border-[var(--border)]",{variants:{variant:{default:"",destructive:"border-[var(--destructive-background)]"}},defaultVariants:{variant:"default"}});function Ht({trigger:e,isOpen:t,defaultOpen:o=false,onOpenChange:n,title:r,description:i,children:d,variant:h="default",size:f="md",cancelLabel:g="Cancel",cancelIcon:x,actionLabel:a,actionIcon:u,actionVariant:E="destructive",onAction:_,className:v}){return jsxRuntime.jsxs(Tt,{role:"alertdialog",isOpen:t,defaultOpen:o,onOpenChange:n,children:[jsxRuntime.jsx(T,{children:e}),jsxRuntime.jsxs(M,{size:f,isDismissable:false,isKeyboardDismissDisabled:true,showClose:false,animation:"fade-zoom",animationDuration:250,className:J({variant:h})+(v?` ${v}`:""),children:[jsxRuntime.jsxs(w,{children:[jsxRuntime.jsx(B,{as:"h2",children:r}),i&&jsxRuntime.jsx(z,{children:i})]}),d,jsxRuntime.jsxs(G,{children:[jsxRuntime.jsx(S,{children:jsxRuntime.jsxs(k,{variant:"secondary",children:[x&&jsxRuntime.jsx("span",{className:"mr-2","aria-hidden":"true",children:x}),g]})}),jsxRuntime.jsx(S,{children:jsxRuntime.jsxs(k,{variant:E,onPress:_,children:[u&&jsxRuntime.jsx("span",{className:"mr-2","aria-hidden":"true",children:u}),a]})})]})]})]})}Ht.displayName="AlertDialog";var Ut=zod.z.object({className:zod.z.string().optional(),children:zod.z.any().optional(),id:zod.z.string().optional(),"aria-label":zod.z.string().optional(),"aria-labelledby":zod.z.string().optional(),"aria-describedby":zod.z.string().optional(),"aria-live":zod.z.enum(["off","polite","assertive"]).optional(),"aria-hidden":zod.z.boolean().optional(),"data-testid":zod.z.string().optional()});var kt=zod.z.enum(["default","destructive"]),Ft=zod.z.enum(["sm","md","lg"]),ve=Ut.extend({trigger:zod.z.custom(),isOpen:zod.z.boolean().optional(),defaultOpen:zod.z.boolean().optional().default(false),onOpenChange:zod.z.custom().optional(),title:zod.z.string(),description:zod.z.string().optional(),children:zod.z.custom().optional(),variant:kt.optional().default("default"),size:Ft.optional().default("md"),cancelLabel:zod.z.string().optional().default("Cancel"),cancelIcon:zod.z.custom().optional(),actionLabel:zod.z.string(),actionIcon:zod.z.custom().optional(),actionVariant:zod.z.enum(["default","destructive"]).optional().default("destructive"),onAction:zod.z.custom().optional()});exports.AlertDialog=Ht;exports.AlertDialogPropsSchema=ve;exports.AlertDialogSizeSchema=Ft;exports.AlertDialogVariantSchema=kt;exports.alertDialogContentVariants=J;//# sourceMappingURL=index.js.map
2
+ 'use strict';var react=require('react'),reactAriaComponents=require('react-aria-components'),lucideReact=require('lucide-react'),clsx=require('clsx'),tailwindMerge=require('tailwind-merge'),classVarianceAuthority=require('class-variance-authority'),jsxRuntime=require('react/jsx-runtime'),zod=require('zod');function c(...e){return tailwindMerge.twMerge(clsx.clsx(e))}function Zt(e){if(!(e instanceof Element))return false;let t=e;for(let r=0;t&&r<100;r++){let i=t.tagName?.toLowerCase()??"";if(i.startsWith("grammarly-")||i.startsWith("lt-")||t.hasAttribute("data-grammarly-shadow-root"))return true;if(t.parentElement)t=t.parentElement;else {let d=t.getRootNode();t=d instanceof ShadowRoot?d.host:null;}}let o=e;for(;o&&!o.tagName.includes("-");)o=o.parentElement;if(!o)return false;let n=o.parentElement;return n===document.body||n===document.documentElement}function ot(e){return t=>!Zt(t)&&(e?.(t)??true)}function at(e){let t=react.useCallback(r=>{let i=window.matchMedia(e);return i.addEventListener("change",r),()=>i.removeEventListener("change",r)},[e]),o=react.useCallback(()=>window.matchMedia(e).matches,[e]),n=react.useCallback(()=>false,[]);return react.useSyncExternalStore(t,o,n)}var nt=["data-[entering]:animate-in","data-[entering]:fade-in-0","data-[entering]:zoom-in-95","data-[entering]:duration-200","data-[entering]:ease-out"],rt=["data-[exiting]:animate-out","data-[exiting]:fade-out-0","data-[exiting]:zoom-out-95","data-[exiting]:duration-150","data-[exiting]:ease-in"],it=["data-[entering]:animate-in","data-[entering]:fade-in-0","data-[entering]:slide-in-from-bottom-4","data-[entering]:duration-200","data-[entering]:ease-out"],st=["data-[exiting]:animate-out","data-[exiting]:fade-out-0","data-[exiting]:slide-out-to-bottom-4","data-[exiting]:duration-150","data-[exiting]:ease-in"],lt=["data-[entering]:animate-in","data-[entering]:slide-in-from-left","data-[entering]:duration-200","data-[entering]:ease-out"],dt=["data-[exiting]:animate-out","data-[exiting]:slide-out-to-left","data-[exiting]:duration-150","data-[exiting]:ease-in"],ct=["data-[entering]:animate-in","data-[entering]:slide-in-from-right","data-[entering]:duration-200","data-[entering]:ease-out"],ut=["data-[exiting]:animate-out","data-[exiting]:slide-out-to-right","data-[exiting]:duration-150","data-[exiting]:ease-in"],pt=["data-[entering]:animate-in","data-[entering]:slide-in-from-top","data-[entering]:duration-200","data-[entering]:ease-out"],mt=["data-[exiting]:animate-out","data-[exiting]:slide-out-to-top","data-[exiting]:duration-150","data-[exiting]:ease-in"],ft=["data-[entering]:animate-in","data-[entering]:slide-in-from-bottom","data-[entering]:duration-200","data-[entering]:ease-out"],gt=["data-[exiting]:animate-out","data-[exiting]:slide-out-to-bottom","data-[exiting]:duration-150","data-[exiting]:ease-in"],L=["data-[entering]:animate-in","data-[entering]:fade-in-0","data-[entering]:duration-200"],P=["data-[exiting]:animate-out","data-[exiting]:fade-out-0","data-[exiting]:duration-150"],R=["motion-reduce:transition-none","motion-reduce:animate-none"];var xt=classVarianceAuthority.cva(["relative","bg-[var(--content-background)]","text-[var(--content-foreground)]","rounded-lg","flex","flex-col","overflow-hidden","w-full","outline-none","mx-4","sm:mx-0",...R],{variants:{size:{sm:"max-w-sm max-h-[85vh]",md:"max-w-md max-h-[85vh]",lg:"max-w-lg max-h-[85vh]",xl:"max-w-2xl max-h-[85vh]",full:"max-w-full min-h-screen max-h-none rounded-none"},animation:{"fade-zoom":[...nt,...rt],fade:["data-[entering]:animate-in","data-[entering]:fade-in-0","data-[entering]:duration-200","data-[entering]:ease-out","data-[exiting]:animate-out","data-[exiting]:fade-out-0","data-[exiting]:duration-150","data-[exiting]:ease-in"],slide:[...it,...st],none:""}},defaultVariants:{size:"md",animation:"fade-zoom"}}),vt=classVarianceAuthority.cva(["fixed","inset-0","z-50","flex","bg-black/50","backdrop-blur-sm",...R],{variants:{animation:{"fade-zoom":[...L,...P],fade:[...L,...P],slide:[...L,...P],none:""},position:{center:"items-center justify-center",left:"items-stretch justify-start",right:"items-stretch justify-end",top:"items-start justify-center",bottom:"items-end justify-center"}},defaultVariants:{animation:"fade-zoom",position:"center"}}),j=classVarianceAuthority.cva(["relative","bg-[var(--content-background)]","text-[var(--content-foreground)]","flex","flex-col","overflow-hidden","outline-none",...R],{variants:{position:{left:"h-full border-r border-[var(--border)] rounded-r-lg",right:"h-full border-l border-[var(--border)] rounded-l-lg",top:"w-full border-b border-[var(--border)] rounded-b-lg",bottom:"w-full border-t border-[var(--border)] rounded-t-lg"},size:{sm:"",md:"",lg:"",xl:"",full:""}},compoundVariants:[{position:["left","right"],size:"sm",class:"w-[300px] max-w-[90vw]"},{position:["left","right"],size:"md",class:"w-[400px] max-w-[90vw]"},{position:["left","right"],size:"lg",class:"w-[500px] max-w-[90vw]"},{position:["left","right"],size:"xl",class:"w-[600px] max-w-[90vw]"},{position:["left","right"],size:"full",class:"w-screen"},{position:["top","bottom"],size:"sm",class:"h-[200px] max-h-[90vh]"},{position:["top","bottom"],size:"md",class:"h-[320px] max-h-[90vh]"},{position:["top","bottom"],size:"lg",class:"h-[440px] max-h-[90vh]"},{position:["top","bottom"],size:"xl",class:"h-[560px] max-h-[90vh]"},{position:["top","bottom"],size:"full",class:"h-screen"}],defaultVariants:{position:"right",size:"md"}}),bt={left:[...lt,...dt],right:[...ct,...ut],top:[...pt,...mt],bottom:[...ft,...gt]},ht=classVarianceAuthority.cva(["px-6","py-4","flex-1","min-h-0","overflow-y-auto"]),Et=classVarianceAuthority.cva(["[&_[role=tablist]]:flex","[&_[role=tablist]]:w-full","[&_[role=tablist]]:px-2"]);var X=react.createContext(void 0);function Mt({children:e,defaultOpen:t,isOpen:o,onOpenChange:n,role:r="dialog"}){let i=react.Children.toArray(e);if(process.env.NODE_ENV!=="production"&&!i.some(u=>react.isValidElement(u)&&(u.type===M||u.type.displayName==="ModalContent")))throw new Error("Modal requires a Modal.Content as a child");let d=i.find(a=>react.isValidElement(a)&&(a.type===T||a.type.displayName==="ModalTrigger")),f=i.find(a=>react.isValidElement(a)&&(a.type===M||a.type.displayName==="ModalContent"));if(!d)return jsxRuntime.jsx(X.Provider,{value:{role:r},children:jsxRuntime.jsx(reactAriaComponents.DialogTrigger,{defaultOpen:t,isOpen:o,onOpenChange:n,children:f})});let g=d,x=react.isValidElement(g)?g.props.children:null;return jsxRuntime.jsx(X.Provider,{value:{role:r},children:jsxRuntime.jsxs(reactAriaComponents.DialogTrigger,{defaultOpen:t,isOpen:o,onOpenChange:n,children:[x,f]})})}Mt.displayName="Modal";function T({children:e}){return e}T.displayName="ModalTrigger";function M({children:e,size:t="md",animation:o="fade-zoom",position:n="center",mobileBreakpoint:r=768,animationDuration:i=250,isDismissable:d=true,isKeyboardDismissDisabled:h=false,shouldCloseOnInteractOutside:f,showClose:g=true,className:x}){let u=react.useContext(X)?.role??"dialog",E=n!=="center",_=at(`(max-width: ${r-1}px)`),v=E&&_?"bottom":n,I=vt({animation:o,position:v}),O;if(E){let p=v,C=_?c(j({position:"bottom",size:t}),"h-auto max-h-[85vh]"):j({position:p,size:t}),F=o==="none"?void 0:bt[p];O=c(C,F,x);}else O=c(xt({size:t,animation:o}),x);return jsxRuntime.jsx(reactAriaComponents.ModalOverlay,{isDismissable:d,isKeyboardDismissDisabled:h,shouldCloseOnInteractOutside:ot(f),className:I,children:jsxRuntime.jsx(reactAriaComponents.Modal,{className:O,style:{transitionDuration:`${i}ms`},children:jsxRuntime.jsx(reactAriaComponents.Dialog,{role:u,className:"flex flex-1 min-h-0 flex-col outline-none",children:({close:p})=>jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[g&&jsxRuntime.jsx(reactAriaComponents.Button,{onPress:p,className:"absolute right-0 top-0 flex items-center justify-center rounded-sm opacity-70 ring-offset-[var(--content-background)] transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-[var(--ring)] focus:ring-offset-2 disabled:pointer-events-none min-h-[44px] min-w-[44px]","aria-label":"Close modal",children:jsxRuntime.jsx(lucideReact.X,{className:"h-4 w-4","aria-hidden":"true"})}),e]})})})})}M.displayName="ModalContent";function yt(e){return null}yt.displayName="ModalOverlay";function w({children:e,className:t}){return jsxRuntime.jsx("div",{className:c("flex flex-col space-y-1.5 px-6 pt-6 pb-4 pr-12 text-center sm:text-left",t),children:e})}w.displayName="ModalHeader";function B({children:e,as:t="h2",className:o}){return jsxRuntime.jsx(reactAriaComponents.Heading,{slot:"title",level:parseInt(t[1]??"2"),className:c("text-lg font-semibold leading-none tracking-tight",o),children:e})}B.displayName="ModalTitle";function z({children:e,className:t}){return jsxRuntime.jsx("p",{slot:"description",className:c("text-sm text-[var(--menu-muted)]",t),children:e})}z.displayName="ModalDescription";function At({children:e,className:t}){return jsxRuntime.jsx("div",{className:c(Et(),t),children:e})}At.displayName="ModalTabs";function Dt({children:e,className:t}){return jsxRuntime.jsx("div",{className:c(ht(),t),children:e})}Dt.displayName="ModalBody";function G({children:e,className:t}){return jsxRuntime.jsx("div",{className:c("flex flex-col-reverse sm:flex-row sm:justify-end gap-2 px-6 pb-6 pt-4",t),children:e})}G.displayName="ModalFooter";function S({children:e}){let t=react.useContext(reactAriaComponents.OverlayTriggerStateContext);if(!t)throw new Error("Modal.Close must be used inside Modal.Content");if(!react.isValidElement(e))throw new Error("Modal.Close requires a valid React element as a child");let o=e,n=()=>{t.close();},r=o.props?.onPress;return react.cloneElement(o,{onPress:r?()=>{r(),n();}:n})}S.displayName="ModalClose";var Tt=Object.assign(Mt,{Trigger:T,Content:M,Overlay:yt,Header:w,Title:B,Description:z,Tabs:At,Body:Dt,Footer:G,Close:S});var It=classVarianceAuthority.cva("inline-flex justify-center min-h-[44px] min-w-[44px] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)] focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:pointer-events-none disabled:opacity-50",{variants:{fullWidth:{true:"w-full",false:""},inVerticalGroup:{true:"items-stretch",false:"items-center"}},defaultVariants:{fullWidth:false,inVerticalGroup:false}}),Ct=classVarianceAuthority.cva("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-normal ring-offset-background motion-safe:transition-transform motion-safe:duration-200 motion-safe:[transition-timing-function:cubic-bezier(0.34,1.56,0.64,1)] motion-reduce:transition-none [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 relative cursor-pointer",{variants:{variant:{default:"bg-[var(--primary-action)] text-[var(--primary-action-foreground)] shadow-md hover:bg-[var(--primary-action-hover)] hover:-translate-y-1",destructive:"bg-[var(--destructive-background)] text-[var(--destructive-foreground)] hover:bg-[var(--destructive-background-hover,var(--destructive-background))] motion-safe:hover:btn-warn-shake",outline:"border border-[var(--input-border)] bg-[var(--content-background)] hover:bg-[var(--accent-background)]/50",secondary:"bg-[var(--secondary)] text-[var(--secondary-foreground)] hover:bg-[var(--secondary-hover,var(--secondary))]",ghost:"hover:bg-[var(--accent)] hover:text-[var(--accent-foreground)]",link:"text-[var(--text-link)] underline underline-offset-4 hover:bg-[var(--accent)] hover:text-[var(--text-link-hover)]"},fullWidth:{true:"w-full",false:""},visualSize:{default:"h-10 px-4 py-2",sm:"h-9 rounded-md px-3 text-xs",lg:"h-11 rounded-md px-6 text-base",icon:"h-10 w-10",dot:"h-5 w-5 rounded-full p-0 min-h-0 min-w-0"},paywall:{true:"!bg-[var(--paywall)] !text-[var(--paywall-foreground)] hover:!bg-[var(--paywall)]/90 !cursor-not-allowed !border-transparent",false:""}},defaultVariants:{variant:"default",visualSize:"default",paywall:false}});var Z="data-[pressed]:scale-[0.97]";var H="hc:data-[hovered]:outline hc:data-[hovered]:outline-2 hc:data-[hovered]:outline-foreground",U="hc:data-[pressed]:outline hc:data-[pressed]:outline-2 hc:data-[pressed]:outline-offset-1 hc:data-[pressed]:outline-foreground";var Rt=react.createContext(null);Rt.displayName="ButtonGroupContext";function wt(){return react.useContext(Rt)}var Bt=react.createContext(null);Bt.displayName="ButtonGroupItemContext";function zt(){return react.useContext(Bt)}classVarianceAuthority.cva("inline-flex items-center gap-0",{variants:{orientation:{horizontal:"flex-row",vertical:"flex-col w-full"}},defaultVariants:{orientation:"horizontal"}});var Gt=classVarianceAuthority.cva("",{variants:{orientation:{horizontal:"min-w-[44px]",vertical:"flex min-h-[44px]"},position:{first:"",middle:"",last:"",only:""}},compoundVariants:[{orientation:"horizontal",position:"first",className:"rounded-r-none border-r-0"},{orientation:"horizontal",position:"middle",className:"rounded-none border-r-0"},{orientation:"horizontal",position:"last",className:"rounded-l-none"},{orientation:"vertical",position:"first",className:"rounded-b-none border-b-0"},{orientation:"vertical",position:"middle",className:"rounded-none border-b-0"},{orientation:"vertical",position:"last",className:"rounded-t-none"}],defaultVariants:{orientation:"horizontal",position:"only"}});classVarianceAuthority.cva("bg-[var(--border)]",{variants:{orientation:{horizontal:"w-px h-6 mx-1",vertical:"h-px w-full my-1"}},defaultVariants:{orientation:"horizontal"}});var k=react.memo(react.forwardRef(({className:e,buttonVisualClassName:t,variant:o,size:n,visualSize:r,fullWidth:i,loading:d=false,loadingText:h="Loading...",shortcut:f,children:g,isDisabled:x,paywall:a=false,paywallRedirect:u,paywallDescription:E,onPress:_,...v},I)=>{let O=react.useId(),p=wt(),C=zt(),F=o??p?.variant??"default",$t=n??p?.size,Yt=x??p?.isDisabled??false,tt=p?.orientation==="vertical",et=i||tt,Wt=C?Gt({orientation:p?.orientation??"horizontal",position:C.position}):"",$=r??$t??"default";return process.env.NODE_ENV!=="production"&&($==="dot"||$==="icon")&&!v["aria-label"]&&!g&&console.warn('[Button] visualSize="dot" or "icon" requires aria-label when no visible text is provided (WCAG 1.1.1)'),jsxRuntime.jsx(reactAriaComponents.Button,{ref:I,isDisabled:Yt||d||void 0,"aria-disabled":a?true:void 0,"aria-describedby":a?O:void 0,onPress:V=>{if(a){u&&window.open(u,"_blank","noopener,noreferrer");return}_?.(V);},className:c(It({fullWidth:et,inVerticalGroup:tt}),e),...v,children:V=>jsxRuntime.jsxs("span",{className:c(Ct({variant:F,visualSize:$,paywall:a,fullWidth:et}),Wt,t,Z,"",H,U),"data-pressed":V.isPressed||void 0,children:[d&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(lucideReact.Loader2,{className:"motion-safe:animate-spin","aria-hidden":"true"}),jsxRuntime.jsx("span",{className:"sr-only","aria-live":"polite",children:h})]}),!d&&g,a&&jsxRuntime.jsx(lucideReact.Zap,{"data-testid":"zap-icon","aria-hidden":"true",className:"ml-1"}),a&&jsxRuntime.jsxs("span",{id:O,className:"sr-only",children:["Premium feature: ",E||"Upgrade required to access this feature"]}),V.isFocusVisible&&f&&jsxRuntime.jsx("kbd",{className:"ml-auto hidden text-xs opacity-60 lg:inline",children:f})]})})}));k.displayName="Button";var J=classVarianceAuthority.cva("border border-[var(--border)]",{variants:{variant:{default:"",destructive:"border-[var(--destructive-background)]"}},defaultVariants:{variant:"default"}});function Ht({trigger:e,isOpen:t,defaultOpen:o=false,onOpenChange:n,title:r,description:i,children:d,variant:h="default",size:f="md",cancelLabel:g="Cancel",cancelIcon:x,actionLabel:a,actionIcon:u,actionVariant:E="destructive",onAction:_,className:v}){return jsxRuntime.jsxs(Tt,{role:"alertdialog",isOpen:t,defaultOpen:o,onOpenChange:n,children:[jsxRuntime.jsx(T,{children:e}),jsxRuntime.jsxs(M,{size:f,isDismissable:false,isKeyboardDismissDisabled:true,showClose:false,animation:"fade-zoom",animationDuration:250,className:J({variant:h})+(v?` ${v}`:""),children:[jsxRuntime.jsxs(w,{children:[jsxRuntime.jsx(B,{as:"h2",children:r}),i&&jsxRuntime.jsx(z,{children:i})]}),d,jsxRuntime.jsxs(G,{children:[jsxRuntime.jsx(S,{children:jsxRuntime.jsxs(k,{variant:"secondary",children:[x&&jsxRuntime.jsx("span",{className:"mr-2","aria-hidden":"true",children:x}),g]})}),jsxRuntime.jsx(S,{children:jsxRuntime.jsxs(k,{variant:E,onPress:_,children:[u&&jsxRuntime.jsx("span",{className:"mr-2","aria-hidden":"true",children:u}),a]})})]})]})]})}Ht.displayName="AlertDialog";var Ut=zod.z.object({className:zod.z.string().optional(),children:zod.z.any().optional(),id:zod.z.string().optional(),"aria-label":zod.z.string().optional(),"aria-labelledby":zod.z.string().optional(),"aria-describedby":zod.z.string().optional(),"aria-live":zod.z.enum(["off","polite","assertive"]).optional(),"aria-hidden":zod.z.boolean().optional(),"data-testid":zod.z.string().optional()});var kt=zod.z.enum(["default","destructive"]),Ft=zod.z.enum(["sm","md","lg"]),ve=Ut.extend({trigger:zod.z.custom(),isOpen:zod.z.boolean().optional(),defaultOpen:zod.z.boolean().optional().default(false),onOpenChange:zod.z.custom().optional(),title:zod.z.string(),description:zod.z.string().optional(),children:zod.z.custom().optional(),variant:kt.optional().default("default"),size:Ft.optional().default("md"),cancelLabel:zod.z.string().optional().default("Cancel"),cancelIcon:zod.z.custom().optional(),actionLabel:zod.z.string(),actionIcon:zod.z.custom().optional(),actionVariant:zod.z.enum(["default","destructive"]).optional().default("destructive"),onAction:zod.z.custom().optional()});exports.AlertDialog=Ht;exports.AlertDialogPropsSchema=ve;exports.AlertDialogSizeSchema=Ft;exports.AlertDialogVariantSchema=kt;exports.alertDialogContentVariants=J;//# sourceMappingURL=index.js.map
3
3
  //# sourceMappingURL=index.js.map