@alfadocs/ui-kit 0.1.3 → 0.1.4

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.
@@ -1,6 +1,6 @@
1
- import { jsxs as s, jsx as e } from "react/jsx-runtime";
2
- import { forwardRef as K, useState as q, useCallback as f } from "react";
3
- import { useTranslation as F } from "react-i18next";
1
+ import { jsxs as a, jsx as t } from "react/jsx-runtime";
2
+ import { forwardRef as F, useState as K, useCallback as f } from "react";
3
+ import { useTranslation as q } from "react-i18next";
4
4
  import * as r from "@radix-ui/react-dialog";
5
5
  import { B as d } from "./button-7dTew-IV.js";
6
6
  import { I as G } from "./icon-button-CNjWCD1X.js";
@@ -8,14 +8,14 @@ import { L as H } from "./logo-BpFoCL-s.js";
8
8
  import { E as v } from "./eye-off-xEXDAh5z.js";
9
9
  import { U as J } from "./user-CPxpqFjJ.js";
10
10
  import { L as M } from "./log-out-616hnn2-.js";
11
- const Q = K(
11
+ const Q = F(
12
12
  ({
13
13
  open: l,
14
14
  defaultOpen: y = !1,
15
- onOpenChange: a,
15
+ onOpenChange: s,
16
16
  onUnlock: g,
17
17
  onAccountPage: p,
18
- onSignOut: m,
18
+ onSignOut: u,
19
19
  triggerIcon: L,
20
20
  triggerAriaLabel: k,
21
21
  triggerTooltip: h,
@@ -27,35 +27,35 @@ const Q = K(
27
27
  className: P,
28
28
  ...w
29
29
  }, I) => {
30
- const { t: o } = F(), [O, j] = q(y), i = l !== void 0, z = i ? l : O, n = f(
31
- (t) => {
32
- i || j(t), a == null || a(t);
30
+ const { t: o } = q(), [O, j] = K(y), i = l !== void 0, z = i ? l : O, n = f(
31
+ (e) => {
32
+ i || j(e), s == null || s(e);
33
33
  },
34
- [i, a]
34
+ [i, s]
35
35
  ), c = f(
36
- (t) => (S) => {
37
- t == null || t(), S.defaultPrevented || n(!1);
36
+ (e) => (S) => {
37
+ e == null || e(), S.defaultPrevented || n(!1);
38
38
  },
39
39
  [n]
40
- ), U = k ?? o("privacyLock.triggerAriaLabel", "Lock screen for privacy"), A = h ?? o("privacyLock.triggerTooltip", "Lock screen"), u = x ?? o("privacyLock.title", "Screen locked for privacy"), B = b ?? o(
40
+ ), A = k ?? o("privacyLock.triggerAriaLabel", "Lock screen for privacy"), U = h ?? o("privacyLock.triggerTooltip", "Lock screen"), m = x ?? o("privacyLock.title", "Screen locked for privacy"), C = b ?? o(
41
41
  "privacyLock.description",
42
42
  "Locking the screen helps protect the privacy of your data."
43
- ), C = D ?? o("privacyLock.unlock", "Unlock screen"), E = T ?? o("privacyLock.accountPage", "Account page"), R = N ?? o("privacyLock.signOut", "Log out");
44
- return /* @__PURE__ */ s(r.Root, { open: z, onOpenChange: n, children: [
45
- /* @__PURE__ */ e(r.Trigger, { asChild: !0, children: /* @__PURE__ */ e(
43
+ ), B = D ?? o("privacyLock.unlock", "Unlock screen"), E = T ?? o("privacyLock.accountPage", "Account page"), R = N ?? o("privacyLock.signOut", "Log out");
44
+ return /* @__PURE__ */ a(r.Root, { open: z, onOpenChange: n, children: [
45
+ /* @__PURE__ */ t(r.Trigger, { asChild: !0, children: /* @__PURE__ */ t(
46
46
  G,
47
47
  {
48
48
  ref: I,
49
- icon: L ?? /* @__PURE__ */ e(v, { "aria-hidden": !0 }),
50
- "aria-label": U,
51
- tooltip: A,
49
+ icon: L ?? /* @__PURE__ */ t(v, { "aria-hidden": !0 }),
50
+ "aria-label": A,
51
+ tooltip: U,
52
52
  className: P,
53
53
  "data-component": "privacy-lock",
54
54
  ...w
55
55
  }
56
56
  ) }),
57
- /* @__PURE__ */ s(r.Portal, { children: [
58
- /* @__PURE__ */ e(
57
+ /* @__PURE__ */ a(r.Portal, { children: [
58
+ /* @__PURE__ */ t(
59
59
  r.Overlay,
60
60
  {
61
61
  className: [
@@ -69,13 +69,14 @@ const Q = K(
69
69
  ].join(" ")
70
70
  }
71
71
  ),
72
- /* @__PURE__ */ e(
72
+ /* @__PURE__ */ t(
73
73
  r.Content,
74
74
  {
75
- "aria-label": u,
76
- onEscapeKeyDown: (t) => t.preventDefault(),
77
- onPointerDownOutside: (t) => t.preventDefault(),
78
- onInteractOutside: (t) => t.preventDefault(),
75
+ "aria-label": m,
76
+ onEscapeKeyDown: (e) => e.preventDefault(),
77
+ onPointerDownOutside: (e) => e.preventDefault(),
78
+ onInteractOutside: (e) => e.preventDefault(),
79
+ onCloseAutoFocus: (e) => e.preventDefault(),
79
80
  className: [
80
81
  "ds:fixed ds:inset-0 ds:z-[var(--z-modal)]",
81
82
  "ds:flex ds:items-center ds:justify-center",
@@ -84,39 +85,39 @@ const Q = K(
84
85
  "ds:data-[state=open]:animate-in ds:data-[state=open]:fade-in",
85
86
  "ds:motion-reduce:animate-none"
86
87
  ].join(" "),
87
- children: /* @__PURE__ */ s("div", { className: "ds:flex ds:flex-col ds:items-center ds:gap-[var(--spacing-lg)] ds:w-[min(22rem,calc(100vw-var(--spacing-xl)))] ds:text-center", children: [
88
- /* @__PURE__ */ e(H, { size: "xl", decorative: !0 }),
89
- /* @__PURE__ */ e(r.Title, { className: "ds:sr-only", children: u }),
90
- /* @__PURE__ */ s("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-xs)] ds:w-full", children: [
91
- /* @__PURE__ */ e(
88
+ children: /* @__PURE__ */ a("div", { className: "ds:flex ds:flex-col ds:items-center ds:gap-[var(--spacing-lg)] ds:w-[min(22rem,calc(100vw-var(--spacing-xl)))] ds:text-center", children: [
89
+ /* @__PURE__ */ t(H, { size: "xl", decorative: !0 }),
90
+ /* @__PURE__ */ t(r.Title, { className: "ds:sr-only", children: m }),
91
+ /* @__PURE__ */ a("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-xs)] ds:w-full", children: [
92
+ /* @__PURE__ */ t(
92
93
  d,
93
94
  {
94
95
  intent: "primary",
95
- startIcon: /* @__PURE__ */ e(v, { "aria-hidden": !0 }),
96
+ startIcon: /* @__PURE__ */ t(v, { "aria-hidden": !0 }),
96
97
  onClick: c(g),
97
- children: C
98
+ children: B
98
99
  }
99
100
  ),
100
- p ? /* @__PURE__ */ e(
101
+ p ? /* @__PURE__ */ t(
101
102
  d,
102
103
  {
103
104
  intent: "outline",
104
- startIcon: /* @__PURE__ */ e(J, { "aria-hidden": !0 }),
105
+ startIcon: /* @__PURE__ */ t(J, { "aria-hidden": !0 }),
105
106
  onClick: c(p),
106
107
  children: E
107
108
  }
108
109
  ) : null,
109
- m ? /* @__PURE__ */ e(
110
+ u ? /* @__PURE__ */ t(
110
111
  d,
111
112
  {
112
113
  intent: "outline",
113
- startIcon: /* @__PURE__ */ e(M, { "aria-hidden": !0 }),
114
- onClick: c(m),
114
+ startIcon: /* @__PURE__ */ t(M, { "aria-hidden": !0 }),
115
+ onClick: c(u),
115
116
  children: R
116
117
  }
117
118
  ) : null
118
119
  ] }),
119
- /* @__PURE__ */ e(r.Description, { className: "type-body-sm ds:opacity-90", children: B })
120
+ /* @__PURE__ */ t(r.Description, { className: "type-body-sm ds:opacity-90", children: C })
120
121
  ] })
121
122
  }
122
123
  )
@@ -128,4 +129,4 @@ Q.displayName = "PrivacyLock";
128
129
  export {
129
130
  Q as P
130
131
  };
131
- //# sourceMappingURL=privacy-lock-KEruBpM1.js.map
132
+ //# sourceMappingURL=privacy-lock-up2ervfF.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"privacy-lock-KEruBpM1.js","sources":["../../src/components/privacy-lock/privacy-lock.tsx"],"sourcesContent":["/* -------------------------------------------------------------------- */\n/* PrivacyLock — a one-click \"lock my screen\" dialog for operator */\n/* workstations on shared clinic hardware. Clicking the trigger paints */\n/* a full-viewport privacy overlay (blurred backdrop + centred card); */\n/* the only ways out are the three action buttons the consumer wires. */\n/* */\n/* Composed of one `IconButton` trigger and a Radix Dialog overlay. The */\n/* dialog is intentionally *not* dismissible via Escape or outside-click */\n/* — the whole point is to make the screen unreadable until the user */\n/* takes an explicit action. */\n/* */\n/* See `src/components/privacy-lock/privacy-lock.mdx` for usage. */\n/* -------------------------------------------------------------------- */\n\nimport {\n forwardRef,\n useCallback,\n useState,\n type MouseEvent,\n type ReactNode,\n} from 'react';\nimport { useTranslation } from 'react-i18next';\nimport * as RadixDialog from '@radix-ui/react-dialog';\nimport { EyeOff, LogOut, User } from 'lucide-react';\nimport { Button } from '../button';\nimport { IconButton } from '../button/icon-button';\nimport { Logo } from '../logo';\n\n/* ------------------------------------------------------------------ */\n/* Props */\n/* ------------------------------------------------------------------ */\n\nexport interface PrivacyLockProps {\n /** Controlled open state. Pair with `onOpenChange`. */\n open?: boolean;\n /** Uncontrolled initial state. Ignored when `open` is provided. */\n defaultOpen?: boolean;\n /** Fires whenever the dialog opens or closes — trigger click, action button, etc. */\n onOpenChange?: (open: boolean) => void;\n\n /** Fires when the \"Unlock screen\" button is activated. Dialog closes automatically. */\n onUnlock?: () => void;\n /** Fires when \"Account page\" is activated. Button is omitted when undefined. Dialog closes automatically. */\n onAccountPage?: () => void;\n /** Fires when \"Log out\" is activated. Button is omitted when undefined. Dialog closes automatically. */\n onSignOut?: () => void;\n\n /** Override the trigger icon. Default: `lucide-react` `<EyeOff />`. */\n triggerIcon?: ReactNode;\n /** Accessible name for the trigger. Default: t('privacyLock.triggerAriaLabel'). */\n triggerAriaLabel?: string;\n /** Tooltip for the trigger. Default: t('privacyLock.triggerTooltip'). */\n triggerTooltip?: string;\n\n /** Accessible title of the dialog (visually hidden). Default: t('privacyLock.title'). */\n title?: string;\n /** Visible supporting text under the action buttons. Default: t('privacyLock.description'). */\n description?: string;\n /** Label for the \"Unlock screen\" button. Default: t('privacyLock.unlock'). */\n unlockLabel?: string;\n /** Label for the \"Account page\" button. Default: t('privacyLock.accountPage'). */\n accountPageLabel?: string;\n /** Label for the \"Log out\" button. Default: t('privacyLock.signOut'). */\n signOutLabel?: string;\n\n /** Extra classes on the trigger `IconButton`. */\n className?: string;\n}\n\n/* ------------------------------------------------------------------ */\n/* Root */\n/* ------------------------------------------------------------------ */\n\nexport const PrivacyLock = forwardRef<HTMLButtonElement, PrivacyLockProps>(\n (\n {\n open,\n defaultOpen = false,\n onOpenChange,\n onUnlock,\n onAccountPage,\n onSignOut,\n triggerIcon,\n triggerAriaLabel,\n triggerTooltip,\n title,\n description,\n unlockLabel,\n accountPageLabel,\n signOutLabel,\n className,\n ...rest\n },\n ref,\n ) => {\n const { t } = useTranslation();\n const [uncontrolledOpen, setUncontrolledOpen] = useState(defaultOpen);\n const isControlled = open !== undefined;\n const isOpen = isControlled ? open : uncontrolledOpen;\n\n const setOpen = useCallback(\n (next: boolean) => {\n if (!isControlled) setUncontrolledOpen(next);\n onOpenChange?.(next);\n },\n [isControlled, onOpenChange],\n );\n\n // Every action closes the dialog after firing the consumer's\n // callback. Consumers that need to keep the dialog open (e.g.\n // confirmation step) should control `open` themselves and skip the\n // close on the relevant callback.\n const handleAction = useCallback(\n (callback?: () => void) => (event: MouseEvent<HTMLButtonElement>) => {\n callback?.();\n // Only close if the consumer didn't preventDefault — lets a\n // controlled consumer stop the auto-close for guarded actions.\n if (!event.defaultPrevented) setOpen(false);\n },\n [setOpen],\n );\n\n const resolvedTriggerAriaLabel =\n triggerAriaLabel ?? t('privacyLock.triggerAriaLabel', 'Lock screen for privacy');\n const resolvedTriggerTooltip =\n triggerTooltip ?? t('privacyLock.triggerTooltip', 'Lock screen');\n const resolvedTitle =\n title ?? t('privacyLock.title', 'Screen locked for privacy');\n const resolvedDescription =\n description ??\n t(\n 'privacyLock.description',\n 'Locking the screen helps protect the privacy of your data.',\n );\n const resolvedUnlockLabel =\n unlockLabel ?? t('privacyLock.unlock', 'Unlock screen');\n const resolvedAccountPageLabel =\n accountPageLabel ?? t('privacyLock.accountPage', 'Account page');\n const resolvedSignOutLabel =\n signOutLabel ?? t('privacyLock.signOut', 'Log out');\n\n return (\n <RadixDialog.Root open={isOpen} onOpenChange={setOpen}>\n <RadixDialog.Trigger asChild>\n <IconButton\n ref={ref}\n icon={triggerIcon ?? <EyeOff aria-hidden />}\n aria-label={resolvedTriggerAriaLabel}\n tooltip={resolvedTriggerTooltip}\n className={className}\n data-component=\"privacy-lock\"\n {...rest}\n />\n </RadixDialog.Trigger>\n <RadixDialog.Portal>\n <RadixDialog.Overlay\n className={[\n 'ds:fixed ds:inset-0 ds:z-[var(--z-modal-backdrop)]',\n 'ds:bg-[var(--background)]/40 ds:backdrop-blur-xl',\n // Fade-in / fade-out via Radix data-state. Gated on\n // motion-reduce per accessibility requirements.\n 'ds:data-[state=open]:animate-in ds:data-[state=open]:fade-in',\n 'ds:data-[state=closed]:animate-out ds:data-[state=closed]:fade-out',\n 'ds:motion-reduce:animate-none',\n ].join(' ')}\n />\n <RadixDialog.Content\n aria-label={resolvedTitle}\n // Make the overlay non-dismissible by ambient input. The only\n // way out is an explicit action button — preserving the\n // \"locked\" contract. Screen readers + assistive tech still\n // reach the buttons via Tab.\n onEscapeKeyDown={(event) => event.preventDefault()}\n onPointerDownOutside={(event) => event.preventDefault()}\n onInteractOutside={(event) => event.preventDefault()}\n className={[\n 'ds:fixed ds:inset-0 ds:z-[var(--z-modal)]',\n 'ds:flex ds:items-center ds:justify-center',\n 'ds:focus:outline-none',\n 'ds:text-[color:var(--foreground)]',\n 'ds:data-[state=open]:animate-in ds:data-[state=open]:fade-in',\n 'ds:motion-reduce:animate-none',\n ].join(' ')}\n >\n <div className=\"ds:flex ds:flex-col ds:items-center ds:gap-[var(--spacing-lg)] ds:w-[min(22rem,calc(100vw-var(--spacing-xl)))] ds:text-center\">\n <Logo size=\"xl\" decorative />\n <RadixDialog.Title className=\"ds:sr-only\">\n {resolvedTitle}\n </RadixDialog.Title>\n <div className=\"ds:flex ds:flex-col ds:gap-[var(--spacing-xs)] ds:w-full\">\n <Button\n intent=\"primary\"\n startIcon={<EyeOff aria-hidden />}\n onClick={handleAction(onUnlock)}\n >\n {resolvedUnlockLabel}\n </Button>\n {onAccountPage ? (\n <Button\n intent=\"outline\"\n startIcon={<User aria-hidden />}\n onClick={handleAction(onAccountPage)}\n >\n {resolvedAccountPageLabel}\n </Button>\n ) : null}\n {onSignOut ? (\n <Button\n intent=\"outline\"\n startIcon={<LogOut aria-hidden />}\n onClick={handleAction(onSignOut)}\n >\n {resolvedSignOutLabel}\n </Button>\n ) : null}\n </div>\n <RadixDialog.Description className=\"type-body-sm ds:opacity-90\">\n {resolvedDescription}\n </RadixDialog.Description>\n </div>\n </RadixDialog.Content>\n </RadixDialog.Portal>\n </RadixDialog.Root>\n );\n },\n);\nPrivacyLock.displayName = 'PrivacyLock';\n"],"names":["PrivacyLock","forwardRef","open","defaultOpen","onOpenChange","onUnlock","onAccountPage","onSignOut","triggerIcon","triggerAriaLabel","triggerTooltip","title","description","unlockLabel","accountPageLabel","signOutLabel","className","rest","ref","t","useTranslation","uncontrolledOpen","setUncontrolledOpen","useState","isControlled","isOpen","setOpen","useCallback","next","handleAction","callback","event","resolvedTriggerAriaLabel","resolvedTriggerTooltip","resolvedTitle","resolvedDescription","resolvedUnlockLabel","resolvedAccountPageLabel","resolvedSignOutLabel","RadixDialog","jsx","IconButton","EyeOff","jsxs","Logo","Button","User","LogOut"],"mappings":"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"}
1
+ {"version":3,"file":"privacy-lock-up2ervfF.js","sources":["../../src/components/privacy-lock/privacy-lock.tsx"],"sourcesContent":["/* -------------------------------------------------------------------- */\n/* PrivacyLock — a one-click \"lock my screen\" dialog for operator */\n/* workstations on shared clinic hardware. Clicking the trigger paints */\n/* a full-viewport privacy overlay (blurred backdrop + centred card); */\n/* the only ways out are the three action buttons the consumer wires. */\n/* */\n/* Composed of one `IconButton` trigger and a Radix Dialog overlay. The */\n/* dialog is intentionally *not* dismissible via Escape or outside-click */\n/* — the whole point is to make the screen unreadable until the user */\n/* takes an explicit action. */\n/* */\n/* See `src/components/privacy-lock/privacy-lock.mdx` for usage. */\n/* -------------------------------------------------------------------- */\n\nimport {\n forwardRef,\n useCallback,\n useState,\n type MouseEvent,\n type ReactNode,\n} from 'react';\nimport { useTranslation } from 'react-i18next';\nimport * as RadixDialog from '@radix-ui/react-dialog';\nimport { EyeOff, LogOut, User } from 'lucide-react';\nimport { Button } from '../button';\nimport { IconButton } from '../button/icon-button';\nimport { Logo } from '../logo';\n\n/* ------------------------------------------------------------------ */\n/* Props */\n/* ------------------------------------------------------------------ */\n\nexport interface PrivacyLockProps {\n /** Controlled open state. Pair with `onOpenChange`. */\n open?: boolean;\n /** Uncontrolled initial state. Ignored when `open` is provided. */\n defaultOpen?: boolean;\n /** Fires whenever the dialog opens or closes — trigger click, action button, etc. */\n onOpenChange?: (open: boolean) => void;\n\n /** Fires when the \"Unlock screen\" button is activated. Dialog closes automatically. */\n onUnlock?: () => void;\n /** Fires when \"Account page\" is activated. Button is omitted when undefined. Dialog closes automatically. */\n onAccountPage?: () => void;\n /** Fires when \"Log out\" is activated. Button is omitted when undefined. Dialog closes automatically. */\n onSignOut?: () => void;\n\n /** Override the trigger icon. Default: `lucide-react` `<EyeOff />`. */\n triggerIcon?: ReactNode;\n /** Accessible name for the trigger. Default: t('privacyLock.triggerAriaLabel'). */\n triggerAriaLabel?: string;\n /** Tooltip for the trigger. Default: t('privacyLock.triggerTooltip'). */\n triggerTooltip?: string;\n\n /** Accessible title of the dialog (visually hidden). Default: t('privacyLock.title'). */\n title?: string;\n /** Visible supporting text under the action buttons. Default: t('privacyLock.description'). */\n description?: string;\n /** Label for the \"Unlock screen\" button. Default: t('privacyLock.unlock'). */\n unlockLabel?: string;\n /** Label for the \"Account page\" button. Default: t('privacyLock.accountPage'). */\n accountPageLabel?: string;\n /** Label for the \"Log out\" button. Default: t('privacyLock.signOut'). */\n signOutLabel?: string;\n\n /** Extra classes on the trigger `IconButton`. */\n className?: string;\n}\n\n/* ------------------------------------------------------------------ */\n/* Root */\n/* ------------------------------------------------------------------ */\n\nexport const PrivacyLock = forwardRef<HTMLButtonElement, PrivacyLockProps>(\n (\n {\n open,\n defaultOpen = false,\n onOpenChange,\n onUnlock,\n onAccountPage,\n onSignOut,\n triggerIcon,\n triggerAriaLabel,\n triggerTooltip,\n title,\n description,\n unlockLabel,\n accountPageLabel,\n signOutLabel,\n className,\n ...rest\n },\n ref,\n ) => {\n const { t } = useTranslation();\n const [uncontrolledOpen, setUncontrolledOpen] = useState(defaultOpen);\n const isControlled = open !== undefined;\n const isOpen = isControlled ? open : uncontrolledOpen;\n\n const setOpen = useCallback(\n (next: boolean) => {\n if (!isControlled) setUncontrolledOpen(next);\n onOpenChange?.(next);\n },\n [isControlled, onOpenChange],\n );\n\n // Every action closes the dialog after firing the consumer's\n // callback. Consumers that need to keep the dialog open (e.g.\n // confirmation step) should control `open` themselves and skip the\n // close on the relevant callback.\n const handleAction = useCallback(\n (callback?: () => void) => (event: MouseEvent<HTMLButtonElement>) => {\n callback?.();\n // Only close if the consumer didn't preventDefault — lets a\n // controlled consumer stop the auto-close for guarded actions.\n if (!event.defaultPrevented) setOpen(false);\n },\n [setOpen],\n );\n\n const resolvedTriggerAriaLabel =\n triggerAriaLabel ?? t('privacyLock.triggerAriaLabel', 'Lock screen for privacy');\n const resolvedTriggerTooltip =\n triggerTooltip ?? t('privacyLock.triggerTooltip', 'Lock screen');\n const resolvedTitle =\n title ?? t('privacyLock.title', 'Screen locked for privacy');\n const resolvedDescription =\n description ??\n t(\n 'privacyLock.description',\n 'Locking the screen helps protect the privacy of your data.',\n );\n const resolvedUnlockLabel =\n unlockLabel ?? t('privacyLock.unlock', 'Unlock screen');\n const resolvedAccountPageLabel =\n accountPageLabel ?? t('privacyLock.accountPage', 'Account page');\n const resolvedSignOutLabel =\n signOutLabel ?? t('privacyLock.signOut', 'Log out');\n\n return (\n <RadixDialog.Root open={isOpen} onOpenChange={setOpen}>\n <RadixDialog.Trigger asChild>\n <IconButton\n ref={ref}\n icon={triggerIcon ?? <EyeOff aria-hidden />}\n aria-label={resolvedTriggerAriaLabel}\n tooltip={resolvedTriggerTooltip}\n className={className}\n data-component=\"privacy-lock\"\n {...rest}\n />\n </RadixDialog.Trigger>\n <RadixDialog.Portal>\n <RadixDialog.Overlay\n className={[\n 'ds:fixed ds:inset-0 ds:z-[var(--z-modal-backdrop)]',\n 'ds:bg-[var(--background)]/40 ds:backdrop-blur-xl',\n // Fade-in / fade-out via Radix data-state. Gated on\n // motion-reduce per accessibility requirements.\n 'ds:data-[state=open]:animate-in ds:data-[state=open]:fade-in',\n 'ds:data-[state=closed]:animate-out ds:data-[state=closed]:fade-out',\n 'ds:motion-reduce:animate-none',\n ].join(' ')}\n />\n <RadixDialog.Content\n aria-label={resolvedTitle}\n // Make the overlay non-dismissible by ambient input. The only\n // way out is an explicit action button — preserving the\n // \"locked\" contract. Screen readers + assistive tech still\n // reach the buttons via Tab.\n onEscapeKeyDown={(event) => event.preventDefault()}\n onPointerDownOutside={(event) => event.preventDefault()}\n onInteractOutside={(event) => event.preventDefault()}\n // Radix's default closes the dialog and returns focus to the\n // trigger (per the WAI-ARIA Dialog pattern). Stacked with\n // Radix Tooltip — which opens on focus per the WAI-ARIA\n // Tooltip pattern — that produces a tooltip stuck on the\n // lock icon every time the user unlocks. PrivacyLock's UX\n // contract is \"unlock and get out of the user's way\" (cf.\n // macOS / Windows / 1Password unlock flows: focus returns to\n // the page, not the unlock control), so we opt out of\n // Radix's auto-focus return and let focus fall to the body.\n onCloseAutoFocus={(event) => event.preventDefault()}\n className={[\n 'ds:fixed ds:inset-0 ds:z-[var(--z-modal)]',\n 'ds:flex ds:items-center ds:justify-center',\n 'ds:focus:outline-none',\n 'ds:text-[color:var(--foreground)]',\n 'ds:data-[state=open]:animate-in ds:data-[state=open]:fade-in',\n 'ds:motion-reduce:animate-none',\n ].join(' ')}\n >\n <div className=\"ds:flex ds:flex-col ds:items-center ds:gap-[var(--spacing-lg)] ds:w-[min(22rem,calc(100vw-var(--spacing-xl)))] ds:text-center\">\n <Logo size=\"xl\" decorative />\n <RadixDialog.Title className=\"ds:sr-only\">\n {resolvedTitle}\n </RadixDialog.Title>\n <div className=\"ds:flex ds:flex-col ds:gap-[var(--spacing-xs)] ds:w-full\">\n <Button\n intent=\"primary\"\n startIcon={<EyeOff aria-hidden />}\n onClick={handleAction(onUnlock)}\n >\n {resolvedUnlockLabel}\n </Button>\n {onAccountPage ? (\n <Button\n intent=\"outline\"\n startIcon={<User aria-hidden />}\n onClick={handleAction(onAccountPage)}\n >\n {resolvedAccountPageLabel}\n </Button>\n ) : null}\n {onSignOut ? (\n <Button\n intent=\"outline\"\n startIcon={<LogOut aria-hidden />}\n onClick={handleAction(onSignOut)}\n >\n {resolvedSignOutLabel}\n </Button>\n ) : null}\n </div>\n <RadixDialog.Description className=\"type-body-sm ds:opacity-90\">\n {resolvedDescription}\n </RadixDialog.Description>\n </div>\n </RadixDialog.Content>\n </RadixDialog.Portal>\n </RadixDialog.Root>\n );\n },\n);\nPrivacyLock.displayName = 'PrivacyLock';\n"],"names":["PrivacyLock","forwardRef","open","defaultOpen","onOpenChange","onUnlock","onAccountPage","onSignOut","triggerIcon","triggerAriaLabel","triggerTooltip","title","description","unlockLabel","accountPageLabel","signOutLabel","className","rest","ref","t","useTranslation","uncontrolledOpen","setUncontrolledOpen","useState","isControlled","isOpen","setOpen","useCallback","next","handleAction","callback","event","resolvedTriggerAriaLabel","resolvedTriggerTooltip","resolvedTitle","resolvedDescription","resolvedUnlockLabel","resolvedAccountPageLabel","resolvedSignOutLabel","RadixDialog","jsx","IconButton","EyeOff","jsxs","Logo","Button","User","LogOut"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
- "packageVersion": "0.1.2",
3
+ "packageVersion": "0.1.4",
4
4
  "components": [
5
5
  {
6
6
  "kind": "component",
@@ -1,4 +1,4 @@
1
- import { P as a } from "../../_chunks/privacy-lock-KEruBpM1.js";
1
+ import { P as a } from "../../_chunks/privacy-lock-up2ervfF.js";
2
2
  export {
3
3
  a as PrivacyLock
4
4
  };
@@ -1 +1 @@
1
- {"version":3,"file":"privacy-lock.d.ts","sourceRoot":"","sources":["../../../src/components/privacy-lock/privacy-lock.tsx"],"names":[],"mappings":"AAcA,OAAO,EAKL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAYf,MAAM,WAAW,gBAAgB;IAC/B,uDAAuD;IACvD,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,mEAAmE;IACnE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,qFAAqF;IACrF,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAEvC,uFAAuF;IACvF,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,6GAA6G;IAC7G,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,wGAAwG;IACxG,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IAEvB,uEAAuE;IACvE,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,mFAAmF;IACnF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,yEAAyE;IACzE,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,yFAAyF;IACzF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+FAA+F;IAC/F,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8EAA8E;IAC9E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kFAAkF;IAClF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,yEAAyE;IACzE,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,iDAAiD;IACjD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAMD,eAAO,MAAM,WAAW,gHAwJvB,CAAC"}
1
+ {"version":3,"file":"privacy-lock.d.ts","sourceRoot":"","sources":["../../../src/components/privacy-lock/privacy-lock.tsx"],"names":[],"mappings":"AAcA,OAAO,EAKL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAYf,MAAM,WAAW,gBAAgB;IAC/B,uDAAuD;IACvD,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,mEAAmE;IACnE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,qFAAqF;IACrF,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAEvC,uFAAuF;IACvF,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,6GAA6G;IAC7G,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,wGAAwG;IACxG,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IAEvB,uEAAuE;IACvE,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,mFAAmF;IACnF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,yEAAyE;IACzE,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,yFAAyF;IACzF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+FAA+F;IAC/F,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8EAA8E;IAC9E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kFAAkF;IAClF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,yEAAyE;IACzE,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,iDAAiD;IACjD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAMD,eAAO,MAAM,WAAW,gHAkKvB,CAAC"}
package/dist/index.js CHANGED
@@ -81,7 +81,7 @@ import { N as ut, i as gt } from "./_chunks/notification-card-DgW-vVg-.js";
81
81
  import { N as Ct } from "./_chunks/notification-tray-CKUgl2jc.js";
82
82
  import { P as At } from "./_chunks/popover-Ds1iOdiv.js";
83
83
  import { p as It } from "./_chunks/popover.agent-C0qOx9WT.js";
84
- import { P as Rt } from "./_chunks/privacy-lock-KEruBpM1.js";
84
+ import { P as Rt } from "./_chunks/privacy-lock-up2ervfF.js";
85
85
  import { P as Lt } from "./_chunks/progress-D4ELgHG3.js";
86
86
  import { p as Ft } from "./_chunks/progress.agent-CXkHURjX.js";
87
87
  import { S as Mt } from "./_chunks/sheet-D7GRhnWw.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alfadocs/ui-kit",
3
- "version": "0.1.3",
3
+ "version": "0.1.4",
4
4
  "type": "module",
5
5
  "description": "AlfaDocs shared design system — tokens, components, patterns, and translations for platform, booking, and alfascribe.",
6
6
  "license": "BUSL-1.1",
@@ -43,107 +43,410 @@
43
43
  "types": "./dist/hooks/index.d.ts",
44
44
  "import": "./dist/hooks/index.js"
45
45
  },
46
- "./accordion": { "types": "./dist/components/accordion/index.d.ts", "import": "./dist/components/accordion/index.js" },
47
- "./ai-prompt-input": { "types": "./dist/components/ai-prompt-input/index.d.ts", "import": "./dist/components/ai-prompt-input/index.js" },
48
- "./alert": { "types": "./dist/components/alert/index.d.ts", "import": "./dist/components/alert/index.js" },
49
- "./app-frame": { "types": "./dist/components/app-frame/index.d.ts", "import": "./dist/components/app-frame/index.js" },
50
- "./aspect-ratio": { "types": "./dist/components/aspect-ratio/index.d.ts", "import": "./dist/components/aspect-ratio/index.js" },
51
- "./audio-recorder": { "types": "./dist/components/audio-recorder/index.d.ts", "import": "./dist/components/audio-recorder/index.js" },
52
- "./audio-visualiser": { "types": "./dist/components/audio-visualiser/index.d.ts", "import": "./dist/components/audio-visualiser/index.js" },
53
- "./autocomplete": { "types": "./dist/components/autocomplete/index.d.ts", "import": "./dist/components/autocomplete/index.js" },
54
- "./avatar": { "types": "./dist/components/avatar/index.d.ts", "import": "./dist/components/avatar/index.js" },
55
- "./badge": { "types": "./dist/components/badge/index.d.ts", "import": "./dist/components/badge/index.js" },
56
- "./breadcrumb": { "types": "./dist/components/breadcrumb/index.d.ts", "import": "./dist/components/breadcrumb/index.js" },
57
- "./button": { "types": "./dist/components/button/index.d.ts", "import": "./dist/components/button/index.js" },
58
- "./button-group": { "types": "./dist/components/button-group/index.d.ts", "import": "./dist/components/button-group/index.js" },
59
- "./calendar": { "types": "./dist/components/calendar/index.d.ts", "import": "./dist/components/calendar/index.js" },
60
- "./card": { "types": "./dist/components/card/index.d.ts", "import": "./dist/components/card/index.js" },
61
- "./chart": { "types": "./dist/components/chart/index.d.ts", "import": "./dist/components/chart/index.js" },
62
- "./chat-container": { "types": "./dist/components/chat-container/index.d.ts", "import": "./dist/components/chat-container/index.js" },
63
- "./chat-input": { "types": "./dist/components/chat-input/index.d.ts", "import": "./dist/components/chat-input/index.js" },
64
- "./chat-message": { "types": "./dist/components/chat-message/index.d.ts", "import": "./dist/components/chat-message/index.js" },
65
- "./checkbox": { "types": "./dist/components/checkbox/index.d.ts", "import": "./dist/components/checkbox/index.js" },
66
- "./checkbox-group": { "types": "./dist/components/checkbox-group/index.d.ts", "import": "./dist/components/checkbox-group/index.js" },
67
- "./collapsible": { "types": "./dist/components/collapsible/index.d.ts", "import": "./dist/components/collapsible/index.js" },
68
- "./color-picker": { "types": "./dist/components/color-picker/index.d.ts", "import": "./dist/components/color-picker/index.js" },
69
- "./combobox": { "types": "./dist/components/combobox/index.d.ts", "import": "./dist/components/combobox/index.js" },
70
- "./command-palette": { "types": "./dist/components/command-palette/index.d.ts", "import": "./dist/components/command-palette/index.js" },
71
- "./data-table": { "types": "./dist/components/data-table/index.d.ts", "import": "./dist/components/data-table/index.js" },
72
- "./date-picker": { "types": "./dist/components/date-picker/index.d.ts", "import": "./dist/components/date-picker/index.js" },
73
- "./date-range-picker": { "types": "./dist/components/date-range-picker/index.d.ts", "import": "./dist/components/date-range-picker/index.js" },
74
- "./date-time-picker": { "types": "./dist/components/date-time-picker/index.d.ts", "import": "./dist/components/date-time-picker/index.js" },
75
- "./description-list": { "types": "./dist/components/description-list/index.d.ts", "import": "./dist/components/description-list/index.js" },
76
- "./dialog": { "types": "./dist/components/dialog/index.d.ts", "import": "./dist/components/dialog/index.js" },
77
- "./dropdown-menu": { "types": "./dist/components/dropdown-menu/index.d.ts", "import": "./dist/components/dropdown-menu/index.js" },
78
- "./empty-state": { "types": "./dist/components/empty-state/index.d.ts", "import": "./dist/components/empty-state/index.js" },
79
- "./file-upload": { "types": "./dist/components/file-upload/index.d.ts", "import": "./dist/components/file-upload/index.js" },
80
- "./flag": { "types": "./dist/components/flag/index.d.ts", "import": "./dist/components/flag/index.js" },
81
- "./floating-action-button": { "types": "./dist/components/floating-action-button/index.d.ts", "import": "./dist/components/floating-action-button/index.js" },
82
- "./form-field": { "types": "./dist/components/form-field/index.d.ts", "import": "./dist/components/form-field/index.js" },
83
- "./freemium-paywall": { "types": "./dist/components/freemium-paywall/index.d.ts", "import": "./dist/components/freemium-paywall/index.js" },
84
- "./header": { "types": "./dist/components/header/index.d.ts", "import": "./dist/components/header/index.js" },
85
- "./icon-button-group": { "types": "./dist/components/icon-button-group/index.d.ts", "import": "./dist/components/icon-button-group/index.js" },
86
- "./kbd": { "types": "./dist/components/kbd/index.d.ts", "import": "./dist/components/kbd/index.js" },
87
- "./key-value-pair": { "types": "./dist/components/key-value-pair/index.d.ts", "import": "./dist/components/key-value-pair/index.js" },
88
- "./list": { "types": "./dist/components/list/index.d.ts", "import": "./dist/components/list/index.js" },
89
- "./logo": { "types": "./dist/components/logo/index.d.ts", "import": "./dist/components/logo/index.js" },
90
- "./matrix-rain": { "types": "./dist/components/matrix-rain/index.d.ts", "import": "./dist/components/matrix-rain/index.js" },
91
- "./message-card": { "types": "./dist/components/message-card/index.d.ts", "import": "./dist/components/message-card/index.js" },
92
- "./message-tray": { "types": "./dist/components/message-tray/index.d.ts", "import": "./dist/components/message-tray/index.js" },
93
- "./multi-select": { "types": "./dist/components/multi-select/index.d.ts", "import": "./dist/components/multi-select/index.js" },
94
- "./navigation-menu": { "types": "./dist/components/navigation-menu/index.d.ts", "import": "./dist/components/navigation-menu/index.js" },
95
- "./notification-card": { "types": "./dist/components/notification-card/index.d.ts", "import": "./dist/components/notification-card/index.js" },
96
- "./notification-tray": { "types": "./dist/components/notification-tray/index.d.ts", "import": "./dist/components/notification-tray/index.js" },
97
- "./number-input": { "types": "./dist/components/number-input/index.d.ts", "import": "./dist/components/number-input/index.js" },
98
- "./otp-input": { "types": "./dist/components/otp-input/index.d.ts", "import": "./dist/components/otp-input/index.js" },
99
- "./pagination": { "types": "./dist/components/pagination/index.d.ts", "import": "./dist/components/pagination/index.js" },
100
- "./password-input": { "types": "./dist/components/password-input/index.d.ts", "import": "./dist/components/password-input/index.js" },
101
- "./payment-form": { "types": "./dist/components/payment-form/index.d.ts", "import": "./dist/components/payment-form/index.js" },
102
- "./pdf-viewer": { "types": "./dist/components/pdf-viewer/index.d.ts", "import": "./dist/components/pdf-viewer/index.js" },
103
- "./phone-input": { "types": "./dist/components/phone-input/index.d.ts", "import": "./dist/components/phone-input/index.js" },
104
- "./popover": { "types": "./dist/components/popover/index.d.ts", "import": "./dist/components/popover/index.js" },
105
- "./privacy-lock": { "types": "./dist/components/privacy-lock/index.d.ts", "import": "./dist/components/privacy-lock/index.js" },
106
- "./progress": { "types": "./dist/components/progress/index.d.ts", "import": "./dist/components/progress/index.js" },
107
- "./radio-group": { "types": "./dist/components/radio-group/index.d.ts", "import": "./dist/components/radio-group/index.js" },
108
- "./resizable": { "types": "./dist/components/resizable/index.d.ts", "import": "./dist/components/resizable/index.js" },
109
- "./rich-text-editor": { "types": "./dist/components/rich-text-editor/index.d.ts", "import": "./dist/components/rich-text-editor/index.js" },
110
- "./scroll-area": { "types": "./dist/components/scroll-area/index.d.ts", "import": "./dist/components/scroll-area/index.js" },
111
- "./search-bar": { "types": "./dist/components/search-bar/index.d.ts", "import": "./dist/components/search-bar/index.js" },
112
- "./search-input": { "types": "./dist/components/search-input/index.d.ts", "import": "./dist/components/search-input/index.js" },
113
- "./select": { "types": "./dist/components/select/index.d.ts", "import": "./dist/components/select/index.js" },
114
- "./separator": { "types": "./dist/components/separator/index.d.ts", "import": "./dist/components/separator/index.js" },
115
- "./sheet": { "types": "./dist/components/sheet/index.d.ts", "import": "./dist/components/sheet/index.js" },
116
- "./sidebar": { "types": "./dist/components/sidebar/index.d.ts", "import": "./dist/components/sidebar/index.js" },
117
- "./sign-in-with-alfadocs-button": { "types": "./dist/components/sign-in-with-alfadocs-button/index.d.ts", "import": "./dist/components/sign-in-with-alfadocs-button/index.js" },
118
- "./signature-capture": { "types": "./dist/components/signature-capture/index.d.ts", "import": "./dist/components/signature-capture/index.js" },
119
- "./skeleton": { "types": "./dist/components/skeleton/index.d.ts", "import": "./dist/components/skeleton/index.js" },
120
- "./slider": { "types": "./dist/components/slider/index.d.ts", "import": "./dist/components/slider/index.js" },
121
- "./slot-grid": { "types": "./dist/components/slot-grid/index.d.ts", "import": "./dist/components/slot-grid/index.js" },
122
- "./sparkline": { "types": "./dist/components/sparkline/index.d.ts", "import": "./dist/components/sparkline/index.js" },
123
- "./spinner": { "types": "./dist/components/spinner/index.d.ts", "import": "./dist/components/spinner/index.js" },
124
- "./stat": { "types": "./dist/components/stat/index.d.ts", "import": "./dist/components/stat/index.js" },
125
- "./stepper-accordion": { "types": "./dist/components/stepper-accordion/index.d.ts", "import": "./dist/components/stepper-accordion/index.js" },
126
- "./stepper-progress": { "types": "./dist/components/stepper-progress/index.d.ts", "import": "./dist/components/stepper-progress/index.js" },
127
- "./streaming-text": { "types": "./dist/components/streaming-text/index.d.ts", "import": "./dist/components/streaming-text/index.js" },
128
- "./suggestion-chip": { "types": "./dist/components/suggestion-chip/index.d.ts", "import": "./dist/components/suggestion-chip/index.js" },
129
- "./switch": { "types": "./dist/components/switch/index.d.ts", "import": "./dist/components/switch/index.js" },
130
- "./tabs": { "types": "./dist/components/tabs/index.d.ts", "import": "./dist/components/tabs/index.js" },
131
- "./tag": { "types": "./dist/components/tag/index.d.ts", "import": "./dist/components/tag/index.js" },
132
- "./text-area": { "types": "./dist/components/text-area/index.d.ts", "import": "./dist/components/text-area/index.js" },
133
- "./text-input": { "types": "./dist/components/text-input/index.d.ts", "import": "./dist/components/text-input/index.js" },
134
- "./theme-root": { "types": "./dist/components/theme-root/index.d.ts", "import": "./dist/components/theme-root/index.js" },
135
- "./time-picker": { "types": "./dist/components/time-picker/index.d.ts", "import": "./dist/components/time-picker/index.js" },
136
- "./timeline": { "types": "./dist/components/timeline/index.d.ts", "import": "./dist/components/timeline/index.js" },
137
- "./timestamp": { "types": "./dist/components/timestamp/index.d.ts", "import": "./dist/components/timestamp/index.js" },
138
- "./toast": { "types": "./dist/components/toast/index.d.ts", "import": "./dist/components/toast/index.js" },
139
- "./tooltip": { "types": "./dist/components/tooltip/index.d.ts", "import": "./dist/components/tooltip/index.js" },
140
- "./tooth-scheme": { "types": "./dist/components/tooth-scheme/index.d.ts", "import": "./dist/components/tooth-scheme/index.js" },
141
- "./transcript-panel": { "types": "./dist/components/transcript-panel/index.d.ts", "import": "./dist/components/transcript-panel/index.js" },
142
- "./typing-indicator": { "types": "./dist/components/typing-indicator/index.d.ts", "import": "./dist/components/typing-indicator/index.js" },
143
- "./warning-stack": { "types": "./dist/components/warning-stack/index.d.ts", "import": "./dist/components/warning-stack/index.js" },
144
- "./workflow": { "types": "./dist/components/workflow/index.d.ts", "import": "./dist/components/workflow/index.js" },
145
- "./patterns/leo-assistant": { "types": "./dist/patterns/leo-assistant/index.d.ts", "import": "./dist/patterns/leo-assistant/index.js" },
146
- "./patterns/patient-shell": { "types": "./dist/patterns/patient-shell/index.d.ts", "import": "./dist/patterns/patient-shell/index.js" }
46
+ "./accordion": {
47
+ "types": "./dist/components/accordion/index.d.ts",
48
+ "import": "./dist/components/accordion/index.js"
49
+ },
50
+ "./ai-prompt-input": {
51
+ "types": "./dist/components/ai-prompt-input/index.d.ts",
52
+ "import": "./dist/components/ai-prompt-input/index.js"
53
+ },
54
+ "./alert": {
55
+ "types": "./dist/components/alert/index.d.ts",
56
+ "import": "./dist/components/alert/index.js"
57
+ },
58
+ "./app-frame": {
59
+ "types": "./dist/components/app-frame/index.d.ts",
60
+ "import": "./dist/components/app-frame/index.js"
61
+ },
62
+ "./aspect-ratio": {
63
+ "types": "./dist/components/aspect-ratio/index.d.ts",
64
+ "import": "./dist/components/aspect-ratio/index.js"
65
+ },
66
+ "./audio-recorder": {
67
+ "types": "./dist/components/audio-recorder/index.d.ts",
68
+ "import": "./dist/components/audio-recorder/index.js"
69
+ },
70
+ "./audio-visualiser": {
71
+ "types": "./dist/components/audio-visualiser/index.d.ts",
72
+ "import": "./dist/components/audio-visualiser/index.js"
73
+ },
74
+ "./autocomplete": {
75
+ "types": "./dist/components/autocomplete/index.d.ts",
76
+ "import": "./dist/components/autocomplete/index.js"
77
+ },
78
+ "./avatar": {
79
+ "types": "./dist/components/avatar/index.d.ts",
80
+ "import": "./dist/components/avatar/index.js"
81
+ },
82
+ "./badge": {
83
+ "types": "./dist/components/badge/index.d.ts",
84
+ "import": "./dist/components/badge/index.js"
85
+ },
86
+ "./breadcrumb": {
87
+ "types": "./dist/components/breadcrumb/index.d.ts",
88
+ "import": "./dist/components/breadcrumb/index.js"
89
+ },
90
+ "./button": {
91
+ "types": "./dist/components/button/index.d.ts",
92
+ "import": "./dist/components/button/index.js"
93
+ },
94
+ "./button-group": {
95
+ "types": "./dist/components/button-group/index.d.ts",
96
+ "import": "./dist/components/button-group/index.js"
97
+ },
98
+ "./calendar": {
99
+ "types": "./dist/components/calendar/index.d.ts",
100
+ "import": "./dist/components/calendar/index.js"
101
+ },
102
+ "./card": {
103
+ "types": "./dist/components/card/index.d.ts",
104
+ "import": "./dist/components/card/index.js"
105
+ },
106
+ "./chart": {
107
+ "types": "./dist/components/chart/index.d.ts",
108
+ "import": "./dist/components/chart/index.js"
109
+ },
110
+ "./chat-container": {
111
+ "types": "./dist/components/chat-container/index.d.ts",
112
+ "import": "./dist/components/chat-container/index.js"
113
+ },
114
+ "./chat-input": {
115
+ "types": "./dist/components/chat-input/index.d.ts",
116
+ "import": "./dist/components/chat-input/index.js"
117
+ },
118
+ "./chat-message": {
119
+ "types": "./dist/components/chat-message/index.d.ts",
120
+ "import": "./dist/components/chat-message/index.js"
121
+ },
122
+ "./checkbox": {
123
+ "types": "./dist/components/checkbox/index.d.ts",
124
+ "import": "./dist/components/checkbox/index.js"
125
+ },
126
+ "./checkbox-group": {
127
+ "types": "./dist/components/checkbox-group/index.d.ts",
128
+ "import": "./dist/components/checkbox-group/index.js"
129
+ },
130
+ "./collapsible": {
131
+ "types": "./dist/components/collapsible/index.d.ts",
132
+ "import": "./dist/components/collapsible/index.js"
133
+ },
134
+ "./color-picker": {
135
+ "types": "./dist/components/color-picker/index.d.ts",
136
+ "import": "./dist/components/color-picker/index.js"
137
+ },
138
+ "./combobox": {
139
+ "types": "./dist/components/combobox/index.d.ts",
140
+ "import": "./dist/components/combobox/index.js"
141
+ },
142
+ "./command-palette": {
143
+ "types": "./dist/components/command-palette/index.d.ts",
144
+ "import": "./dist/components/command-palette/index.js"
145
+ },
146
+ "./data-table": {
147
+ "types": "./dist/components/data-table/index.d.ts",
148
+ "import": "./dist/components/data-table/index.js"
149
+ },
150
+ "./date-picker": {
151
+ "types": "./dist/components/date-picker/index.d.ts",
152
+ "import": "./dist/components/date-picker/index.js"
153
+ },
154
+ "./date-range-picker": {
155
+ "types": "./dist/components/date-range-picker/index.d.ts",
156
+ "import": "./dist/components/date-range-picker/index.js"
157
+ },
158
+ "./date-time-picker": {
159
+ "types": "./dist/components/date-time-picker/index.d.ts",
160
+ "import": "./dist/components/date-time-picker/index.js"
161
+ },
162
+ "./description-list": {
163
+ "types": "./dist/components/description-list/index.d.ts",
164
+ "import": "./dist/components/description-list/index.js"
165
+ },
166
+ "./dialog": {
167
+ "types": "./dist/components/dialog/index.d.ts",
168
+ "import": "./dist/components/dialog/index.js"
169
+ },
170
+ "./dropdown-menu": {
171
+ "types": "./dist/components/dropdown-menu/index.d.ts",
172
+ "import": "./dist/components/dropdown-menu/index.js"
173
+ },
174
+ "./empty-state": {
175
+ "types": "./dist/components/empty-state/index.d.ts",
176
+ "import": "./dist/components/empty-state/index.js"
177
+ },
178
+ "./file-upload": {
179
+ "types": "./dist/components/file-upload/index.d.ts",
180
+ "import": "./dist/components/file-upload/index.js"
181
+ },
182
+ "./flag": {
183
+ "types": "./dist/components/flag/index.d.ts",
184
+ "import": "./dist/components/flag/index.js"
185
+ },
186
+ "./floating-action-button": {
187
+ "types": "./dist/components/floating-action-button/index.d.ts",
188
+ "import": "./dist/components/floating-action-button/index.js"
189
+ },
190
+ "./form-field": {
191
+ "types": "./dist/components/form-field/index.d.ts",
192
+ "import": "./dist/components/form-field/index.js"
193
+ },
194
+ "./freemium-paywall": {
195
+ "types": "./dist/components/freemium-paywall/index.d.ts",
196
+ "import": "./dist/components/freemium-paywall/index.js"
197
+ },
198
+ "./header": {
199
+ "types": "./dist/components/header/index.d.ts",
200
+ "import": "./dist/components/header/index.js"
201
+ },
202
+ "./icon-button-group": {
203
+ "types": "./dist/components/icon-button-group/index.d.ts",
204
+ "import": "./dist/components/icon-button-group/index.js"
205
+ },
206
+ "./kbd": {
207
+ "types": "./dist/components/kbd/index.d.ts",
208
+ "import": "./dist/components/kbd/index.js"
209
+ },
210
+ "./key-value-pair": {
211
+ "types": "./dist/components/key-value-pair/index.d.ts",
212
+ "import": "./dist/components/key-value-pair/index.js"
213
+ },
214
+ "./list": {
215
+ "types": "./dist/components/list/index.d.ts",
216
+ "import": "./dist/components/list/index.js"
217
+ },
218
+ "./logo": {
219
+ "types": "./dist/components/logo/index.d.ts",
220
+ "import": "./dist/components/logo/index.js"
221
+ },
222
+ "./matrix-rain": {
223
+ "types": "./dist/components/matrix-rain/index.d.ts",
224
+ "import": "./dist/components/matrix-rain/index.js"
225
+ },
226
+ "./message-card": {
227
+ "types": "./dist/components/message-card/index.d.ts",
228
+ "import": "./dist/components/message-card/index.js"
229
+ },
230
+ "./message-tray": {
231
+ "types": "./dist/components/message-tray/index.d.ts",
232
+ "import": "./dist/components/message-tray/index.js"
233
+ },
234
+ "./multi-select": {
235
+ "types": "./dist/components/multi-select/index.d.ts",
236
+ "import": "./dist/components/multi-select/index.js"
237
+ },
238
+ "./navigation-menu": {
239
+ "types": "./dist/components/navigation-menu/index.d.ts",
240
+ "import": "./dist/components/navigation-menu/index.js"
241
+ },
242
+ "./notification-card": {
243
+ "types": "./dist/components/notification-card/index.d.ts",
244
+ "import": "./dist/components/notification-card/index.js"
245
+ },
246
+ "./notification-tray": {
247
+ "types": "./dist/components/notification-tray/index.d.ts",
248
+ "import": "./dist/components/notification-tray/index.js"
249
+ },
250
+ "./number-input": {
251
+ "types": "./dist/components/number-input/index.d.ts",
252
+ "import": "./dist/components/number-input/index.js"
253
+ },
254
+ "./otp-input": {
255
+ "types": "./dist/components/otp-input/index.d.ts",
256
+ "import": "./dist/components/otp-input/index.js"
257
+ },
258
+ "./pagination": {
259
+ "types": "./dist/components/pagination/index.d.ts",
260
+ "import": "./dist/components/pagination/index.js"
261
+ },
262
+ "./password-input": {
263
+ "types": "./dist/components/password-input/index.d.ts",
264
+ "import": "./dist/components/password-input/index.js"
265
+ },
266
+ "./payment-form": {
267
+ "types": "./dist/components/payment-form/index.d.ts",
268
+ "import": "./dist/components/payment-form/index.js"
269
+ },
270
+ "./pdf-viewer": {
271
+ "types": "./dist/components/pdf-viewer/index.d.ts",
272
+ "import": "./dist/components/pdf-viewer/index.js"
273
+ },
274
+ "./phone-input": {
275
+ "types": "./dist/components/phone-input/index.d.ts",
276
+ "import": "./dist/components/phone-input/index.js"
277
+ },
278
+ "./popover": {
279
+ "types": "./dist/components/popover/index.d.ts",
280
+ "import": "./dist/components/popover/index.js"
281
+ },
282
+ "./privacy-lock": {
283
+ "types": "./dist/components/privacy-lock/index.d.ts",
284
+ "import": "./dist/components/privacy-lock/index.js"
285
+ },
286
+ "./progress": {
287
+ "types": "./dist/components/progress/index.d.ts",
288
+ "import": "./dist/components/progress/index.js"
289
+ },
290
+ "./radio-group": {
291
+ "types": "./dist/components/radio-group/index.d.ts",
292
+ "import": "./dist/components/radio-group/index.js"
293
+ },
294
+ "./resizable": {
295
+ "types": "./dist/components/resizable/index.d.ts",
296
+ "import": "./dist/components/resizable/index.js"
297
+ },
298
+ "./rich-text-editor": {
299
+ "types": "./dist/components/rich-text-editor/index.d.ts",
300
+ "import": "./dist/components/rich-text-editor/index.js"
301
+ },
302
+ "./scroll-area": {
303
+ "types": "./dist/components/scroll-area/index.d.ts",
304
+ "import": "./dist/components/scroll-area/index.js"
305
+ },
306
+ "./search-bar": {
307
+ "types": "./dist/components/search-bar/index.d.ts",
308
+ "import": "./dist/components/search-bar/index.js"
309
+ },
310
+ "./search-input": {
311
+ "types": "./dist/components/search-input/index.d.ts",
312
+ "import": "./dist/components/search-input/index.js"
313
+ },
314
+ "./select": {
315
+ "types": "./dist/components/select/index.d.ts",
316
+ "import": "./dist/components/select/index.js"
317
+ },
318
+ "./separator": {
319
+ "types": "./dist/components/separator/index.d.ts",
320
+ "import": "./dist/components/separator/index.js"
321
+ },
322
+ "./sheet": {
323
+ "types": "./dist/components/sheet/index.d.ts",
324
+ "import": "./dist/components/sheet/index.js"
325
+ },
326
+ "./sidebar": {
327
+ "types": "./dist/components/sidebar/index.d.ts",
328
+ "import": "./dist/components/sidebar/index.js"
329
+ },
330
+ "./sign-in-with-alfadocs-button": {
331
+ "types": "./dist/components/sign-in-with-alfadocs-button/index.d.ts",
332
+ "import": "./dist/components/sign-in-with-alfadocs-button/index.js"
333
+ },
334
+ "./signature-capture": {
335
+ "types": "./dist/components/signature-capture/index.d.ts",
336
+ "import": "./dist/components/signature-capture/index.js"
337
+ },
338
+ "./skeleton": {
339
+ "types": "./dist/components/skeleton/index.d.ts",
340
+ "import": "./dist/components/skeleton/index.js"
341
+ },
342
+ "./slider": {
343
+ "types": "./dist/components/slider/index.d.ts",
344
+ "import": "./dist/components/slider/index.js"
345
+ },
346
+ "./slot-grid": {
347
+ "types": "./dist/components/slot-grid/index.d.ts",
348
+ "import": "./dist/components/slot-grid/index.js"
349
+ },
350
+ "./sparkline": {
351
+ "types": "./dist/components/sparkline/index.d.ts",
352
+ "import": "./dist/components/sparkline/index.js"
353
+ },
354
+ "./spinner": {
355
+ "types": "./dist/components/spinner/index.d.ts",
356
+ "import": "./dist/components/spinner/index.js"
357
+ },
358
+ "./stat": {
359
+ "types": "./dist/components/stat/index.d.ts",
360
+ "import": "./dist/components/stat/index.js"
361
+ },
362
+ "./stepper-accordion": {
363
+ "types": "./dist/components/stepper-accordion/index.d.ts",
364
+ "import": "./dist/components/stepper-accordion/index.js"
365
+ },
366
+ "./stepper-progress": {
367
+ "types": "./dist/components/stepper-progress/index.d.ts",
368
+ "import": "./dist/components/stepper-progress/index.js"
369
+ },
370
+ "./streaming-text": {
371
+ "types": "./dist/components/streaming-text/index.d.ts",
372
+ "import": "./dist/components/streaming-text/index.js"
373
+ },
374
+ "./suggestion-chip": {
375
+ "types": "./dist/components/suggestion-chip/index.d.ts",
376
+ "import": "./dist/components/suggestion-chip/index.js"
377
+ },
378
+ "./switch": {
379
+ "types": "./dist/components/switch/index.d.ts",
380
+ "import": "./dist/components/switch/index.js"
381
+ },
382
+ "./tabs": {
383
+ "types": "./dist/components/tabs/index.d.ts",
384
+ "import": "./dist/components/tabs/index.js"
385
+ },
386
+ "./tag": {
387
+ "types": "./dist/components/tag/index.d.ts",
388
+ "import": "./dist/components/tag/index.js"
389
+ },
390
+ "./text-area": {
391
+ "types": "./dist/components/text-area/index.d.ts",
392
+ "import": "./dist/components/text-area/index.js"
393
+ },
394
+ "./text-input": {
395
+ "types": "./dist/components/text-input/index.d.ts",
396
+ "import": "./dist/components/text-input/index.js"
397
+ },
398
+ "./theme-root": {
399
+ "types": "./dist/components/theme-root/index.d.ts",
400
+ "import": "./dist/components/theme-root/index.js"
401
+ },
402
+ "./time-picker": {
403
+ "types": "./dist/components/time-picker/index.d.ts",
404
+ "import": "./dist/components/time-picker/index.js"
405
+ },
406
+ "./timeline": {
407
+ "types": "./dist/components/timeline/index.d.ts",
408
+ "import": "./dist/components/timeline/index.js"
409
+ },
410
+ "./timestamp": {
411
+ "types": "./dist/components/timestamp/index.d.ts",
412
+ "import": "./dist/components/timestamp/index.js"
413
+ },
414
+ "./toast": {
415
+ "types": "./dist/components/toast/index.d.ts",
416
+ "import": "./dist/components/toast/index.js"
417
+ },
418
+ "./tooltip": {
419
+ "types": "./dist/components/tooltip/index.d.ts",
420
+ "import": "./dist/components/tooltip/index.js"
421
+ },
422
+ "./tooth-scheme": {
423
+ "types": "./dist/components/tooth-scheme/index.d.ts",
424
+ "import": "./dist/components/tooth-scheme/index.js"
425
+ },
426
+ "./transcript-panel": {
427
+ "types": "./dist/components/transcript-panel/index.d.ts",
428
+ "import": "./dist/components/transcript-panel/index.js"
429
+ },
430
+ "./typing-indicator": {
431
+ "types": "./dist/components/typing-indicator/index.d.ts",
432
+ "import": "./dist/components/typing-indicator/index.js"
433
+ },
434
+ "./warning-stack": {
435
+ "types": "./dist/components/warning-stack/index.d.ts",
436
+ "import": "./dist/components/warning-stack/index.js"
437
+ },
438
+ "./workflow": {
439
+ "types": "./dist/components/workflow/index.d.ts",
440
+ "import": "./dist/components/workflow/index.js"
441
+ },
442
+ "./patterns/leo-assistant": {
443
+ "types": "./dist/patterns/leo-assistant/index.d.ts",
444
+ "import": "./dist/patterns/leo-assistant/index.js"
445
+ },
446
+ "./patterns/patient-shell": {
447
+ "types": "./dist/patterns/patient-shell/index.d.ts",
448
+ "import": "./dist/patterns/patient-shell/index.js"
449
+ }
147
450
  },
148
451
  "publishConfig": {
149
452
  "access": "public",
@@ -203,39 +506,105 @@
203
506
  "tiptap-markdown": "^0.9.0"
204
507
  },
205
508
  "peerDependenciesMeta": {
206
- "react": { "optional": false },
207
- "react-dom": { "optional": false },
208
- "i18next": { "optional": false },
209
- "react-i18next": { "optional": false },
210
- "@fullcalendar/core": { "optional": true },
211
- "@fullcalendar/daygrid": { "optional": true },
212
- "@fullcalendar/interaction": { "optional": true },
213
- "@fullcalendar/list": { "optional": true },
214
- "@fullcalendar/react": { "optional": true },
215
- "@fullcalendar/resource": { "optional": true },
216
- "@fullcalendar/resource-timegrid": { "optional": true },
217
- "@fullcalendar/resource-timeline": { "optional": true },
218
- "@fullcalendar/timegrid": { "optional": true },
219
- "@fullcalendar/timeline": { "optional": true },
220
- "@stripe/react-stripe-js": { "optional": true },
221
- "@stripe/stripe-js": { "optional": true },
222
- "@tiptap/extension-image": { "optional": true },
223
- "@tiptap/extension-link": { "optional": true },
224
- "@tiptap/extension-table": { "optional": true },
225
- "@tiptap/extension-table-cell": { "optional": true },
226
- "@tiptap/extension-table-header": { "optional": true },
227
- "@tiptap/extension-table-row": { "optional": true },
228
- "@tiptap/pm": { "optional": true },
229
- "@tiptap/react": { "optional": true },
230
- "@tiptap/starter-kit": { "optional": true },
231
- "ag-grid-community": { "optional": true },
232
- "ag-grid-react": { "optional": true },
233
- "apexcharts": { "optional": true },
234
- "libphonenumber-js": { "optional": true },
235
- "pdfjs-dist": { "optional": true },
236
- "react-apexcharts": { "optional": true },
237
- "signature_pad": { "optional": true },
238
- "tiptap-markdown": { "optional": true }
509
+ "react": {
510
+ "optional": false
511
+ },
512
+ "react-dom": {
513
+ "optional": false
514
+ },
515
+ "i18next": {
516
+ "optional": false
517
+ },
518
+ "react-i18next": {
519
+ "optional": false
520
+ },
521
+ "@fullcalendar/core": {
522
+ "optional": true
523
+ },
524
+ "@fullcalendar/daygrid": {
525
+ "optional": true
526
+ },
527
+ "@fullcalendar/interaction": {
528
+ "optional": true
529
+ },
530
+ "@fullcalendar/list": {
531
+ "optional": true
532
+ },
533
+ "@fullcalendar/react": {
534
+ "optional": true
535
+ },
536
+ "@fullcalendar/resource": {
537
+ "optional": true
538
+ },
539
+ "@fullcalendar/resource-timegrid": {
540
+ "optional": true
541
+ },
542
+ "@fullcalendar/resource-timeline": {
543
+ "optional": true
544
+ },
545
+ "@fullcalendar/timegrid": {
546
+ "optional": true
547
+ },
548
+ "@fullcalendar/timeline": {
549
+ "optional": true
550
+ },
551
+ "@stripe/react-stripe-js": {
552
+ "optional": true
553
+ },
554
+ "@stripe/stripe-js": {
555
+ "optional": true
556
+ },
557
+ "@tiptap/extension-image": {
558
+ "optional": true
559
+ },
560
+ "@tiptap/extension-link": {
561
+ "optional": true
562
+ },
563
+ "@tiptap/extension-table": {
564
+ "optional": true
565
+ },
566
+ "@tiptap/extension-table-cell": {
567
+ "optional": true
568
+ },
569
+ "@tiptap/extension-table-header": {
570
+ "optional": true
571
+ },
572
+ "@tiptap/extension-table-row": {
573
+ "optional": true
574
+ },
575
+ "@tiptap/pm": {
576
+ "optional": true
577
+ },
578
+ "@tiptap/react": {
579
+ "optional": true
580
+ },
581
+ "@tiptap/starter-kit": {
582
+ "optional": true
583
+ },
584
+ "ag-grid-community": {
585
+ "optional": true
586
+ },
587
+ "ag-grid-react": {
588
+ "optional": true
589
+ },
590
+ "apexcharts": {
591
+ "optional": true
592
+ },
593
+ "libphonenumber-js": {
594
+ "optional": true
595
+ },
596
+ "pdfjs-dist": {
597
+ "optional": true
598
+ },
599
+ "react-apexcharts": {
600
+ "optional": true
601
+ },
602
+ "signature_pad": {
603
+ "optional": true
604
+ },
605
+ "tiptap-markdown": {
606
+ "optional": true
607
+ }
239
608
  },
240
609
  "dependencies": {
241
610
  "@radix-ui/react-accordion": "^1.2.12",