@code-sherpas/pharos-react 0.20.3 → 0.21.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.
- package/dist/components/Toast.d.ts +134 -0
- package/dist/components/Toast.d.ts.map +1 -0
- package/dist/components/Toast.js +173 -0
- package/dist/components/Toast.js.map +1 -0
- package/dist/components/Toast.module.js +16 -0
- package/dist/components/Toast.module.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/styles.css +1 -1
- package/package.json +5 -1
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
import { ComponentProps, ComponentPropsWithoutRef, ReactNode } from 'react';
|
|
2
|
+
import { Toast as BaseToast } from '@base-ui/react/toast';
|
|
3
|
+
/**
|
|
4
|
+
* A brief, non-blocking message about something that just happened — "Settings
|
|
5
|
+
* saved", "Couldn't send the invitation" — shown in a corner of the screen and
|
|
6
|
+
* gone on its own (Decision D30). Wraps Base UI's `Toast`, which provides the
|
|
7
|
+
* accessibility contract:
|
|
8
|
+
*
|
|
9
|
+
* - the toasts live in a **`region` landmark that is a live region from the
|
|
10
|
+
* start**, so a toast is announced when it appears (politely; urgently with
|
|
11
|
+
* `priority: 'high'`) without the consumer adding one;
|
|
12
|
+
* - **F6** moves focus into that region and Tab walks its toasts and buttons;
|
|
13
|
+
* - a toast **pauses its timer** while the pointer is over the region or focus
|
|
14
|
+
* is inside it, so nobody loses a message while reading or reaching it;
|
|
15
|
+
* - it can be swiped away, and the close button is the single-pointer
|
|
16
|
+
* alternative to the swipe (WCAG 2.5.7).
|
|
17
|
+
*
|
|
18
|
+
* The API follows shadcn's `Toaster` + a hook, over Base UI's provider and
|
|
19
|
+
* manager: `ToastProvider` at the root, one `Toaster` where the toasts render,
|
|
20
|
+
* and `useToast()` wherever one is raised. Pharos owns no text (quality
|
|
21
|
+
* standard § 5): the region's name and the close button's name are required
|
|
22
|
+
* props of `Toaster`, localised by the consumer.
|
|
23
|
+
*
|
|
24
|
+
* A toast is for feedback that can be missed. A message the person must act on,
|
|
25
|
+
* or one that blocks the flow, is a `Dialog`; an error tied to a field is shown
|
|
26
|
+
* next to the field.
|
|
27
|
+
*
|
|
28
|
+
* @example
|
|
29
|
+
* <ToastProvider>
|
|
30
|
+
* <App />
|
|
31
|
+
* <Toaster position="top-center" label="Notifications" closeLabel="Close" />
|
|
32
|
+
* </ToastProvider>
|
|
33
|
+
*
|
|
34
|
+
* const toast = useToast();
|
|
35
|
+
* toast.add({ title: 'Settings saved', variant: 'success' });
|
|
36
|
+
*/
|
|
37
|
+
/** What a toast is about. Mirrors `Badge`'s semantic variants. */
|
|
38
|
+
export type ToastVariant = 'default' | 'success' | 'info' | 'warning' | 'destructive';
|
|
39
|
+
export interface ToastOptions {
|
|
40
|
+
/**
|
|
41
|
+
* Identifies the toast. Adding one with the id of a toast still on screen
|
|
42
|
+
* replaces it in place and restarts its timer — the way to avoid stacking
|
|
43
|
+
* the same message twice.
|
|
44
|
+
*/
|
|
45
|
+
id?: string;
|
|
46
|
+
/** The message. Also what assistive technology announces. */
|
|
47
|
+
title?: ReactNode;
|
|
48
|
+
/** Detail under the title. */
|
|
49
|
+
description?: ReactNode;
|
|
50
|
+
/**
|
|
51
|
+
* What the toast is about. Every variant but `default` adds an icon, so the
|
|
52
|
+
* meaning never rests on colour alone.
|
|
53
|
+
* @default 'default'
|
|
54
|
+
*/
|
|
55
|
+
variant?: ToastVariant;
|
|
56
|
+
/**
|
|
57
|
+
* Milliseconds before it closes on its own; `0` keeps it until closed. A
|
|
58
|
+
* toast with an `action` defaults to `0`: a control that disappears on a
|
|
59
|
+
* timer is a control some people never reach (WCAG 2.2.1).
|
|
60
|
+
* @default the provider's `timeout`
|
|
61
|
+
*/
|
|
62
|
+
timeout?: number;
|
|
63
|
+
/**
|
|
64
|
+
* `high` announces it at once, interrupting; reserve it for what genuinely
|
|
65
|
+
* cannot wait. Everything else is announced when the screen reader is idle.
|
|
66
|
+
* @default 'low'
|
|
67
|
+
*/
|
|
68
|
+
priority?: 'low' | 'high';
|
|
69
|
+
/**
|
|
70
|
+
* One button in the toast — "Undo", "Retry". Its `children` are its label;
|
|
71
|
+
* clicking it runs `onClick` and closes the toast.
|
|
72
|
+
*/
|
|
73
|
+
action?: ComponentPropsWithoutRef<'button'>;
|
|
74
|
+
/** Called when the toast starts closing, whatever closed it. */
|
|
75
|
+
onClose?: () => void;
|
|
76
|
+
}
|
|
77
|
+
export interface UseToastReturnValue {
|
|
78
|
+
/** Shows a toast and returns its id. */
|
|
79
|
+
add: (options: ToastOptions) => string;
|
|
80
|
+
/** Closes one toast by id, or every toast when called without one. */
|
|
81
|
+
close: (id?: string) => void;
|
|
82
|
+
/** Changes a toast that is on screen. */
|
|
83
|
+
update: (id: string, options: Omit<ToastOptions, 'id'>) => void;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Raises, updates and closes toasts. Must be called inside a `ToastProvider`.
|
|
87
|
+
*/
|
|
88
|
+
export declare function useToast(): UseToastReturnValue;
|
|
89
|
+
export interface ToastProviderProps {
|
|
90
|
+
children?: ReactNode;
|
|
91
|
+
/**
|
|
92
|
+
* Default milliseconds before a toast closes on its own. Seven seconds is
|
|
93
|
+
* enough to read two lines at a relaxed pace; the timer also pauses while
|
|
94
|
+
* the pointer or focus is on the toasts.
|
|
95
|
+
* @default 7000
|
|
96
|
+
*/
|
|
97
|
+
timeout?: number;
|
|
98
|
+
/**
|
|
99
|
+
* How many toasts are on screen at once; adding one more closes the oldest.
|
|
100
|
+
* @default 3
|
|
101
|
+
*/
|
|
102
|
+
limit?: number;
|
|
103
|
+
}
|
|
104
|
+
/** Holds the toasts of the whole app. Place it once, near the root. */
|
|
105
|
+
export declare function ToastProvider({ timeout, limit, children }: ToastProviderProps): import("react").JSX.Element;
|
|
106
|
+
export declare namespace ToastProvider {
|
|
107
|
+
var displayName: string;
|
|
108
|
+
}
|
|
109
|
+
/** Where on the screen the toasts appear. Logical: `start` is left in LTR. */
|
|
110
|
+
export type ToasterPosition = 'top-start' | 'top-center' | 'top-end' | 'bottom-start' | 'bottom-center' | 'bottom-end';
|
|
111
|
+
export interface ToasterProps extends Omit<ComponentProps<typeof BaseToast.Viewport>, 'children' | 'aria-label'> {
|
|
112
|
+
/**
|
|
113
|
+
* Where the toasts appear. The newest is always the one nearest the edge.
|
|
114
|
+
* @default 'bottom-end'
|
|
115
|
+
*/
|
|
116
|
+
position?: ToasterPosition;
|
|
117
|
+
/** Name of the region that holds the toasts, e.g. "Notifications". */
|
|
118
|
+
label: string;
|
|
119
|
+
/** Name of each toast's close button, e.g. "Close". */
|
|
120
|
+
closeLabel: string;
|
|
121
|
+
/**
|
|
122
|
+
* Distance from the edge the toasts sit on: a number of pixels or any CSS
|
|
123
|
+
* length, `var()` included. For a layout whose top or bottom is taken by
|
|
124
|
+
* its own bars, so the toasts appear below or above them, not over them.
|
|
125
|
+
* @default 16px (`--pharos-spacing-4`)
|
|
126
|
+
*/
|
|
127
|
+
offset?: number | string;
|
|
128
|
+
}
|
|
129
|
+
/** Renders the toasts. Place it once, inside `ToastProvider`. */
|
|
130
|
+
export declare function Toaster({ position, label, closeLabel, offset, className, style, ...rest }: ToasterProps): import("react").JSX.Element;
|
|
131
|
+
export declare namespace Toaster {
|
|
132
|
+
var displayName: string;
|
|
133
|
+
}
|
|
134
|
+
//# sourceMappingURL=Toast.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Toast.d.ts","sourceRoot":"","sources":["../../src/components/Toast.tsx"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,wBAAwB,EAE7B,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAM1D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,kEAAkE;AAClE,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,aAAa,CAAC;AAEtF,MAAM,WAAW,YAAY;IAC3B;;;;OAIG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,6DAA6D;IAC7D,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,8BAA8B;IAC9B,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB;;;;OAIG;IACH,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IAC1B;;;OAGG;IACH,MAAM,CAAC,EAAE,wBAAwB,CAAC,QAAQ,CAAC,CAAC;IAC5C,gEAAgE;IAChE,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,mBAAmB;IAClC,wCAAwC;IACxC,GAAG,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,MAAM,CAAC;IACvC,sEAAsE;IACtE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,yCAAyC;IACzC,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,KAAK,IAAI,CAAC;CACjE;AAYD;;GAEG;AACH,wBAAgB,QAAQ,IAAI,mBAAmB,CAe9C;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,uEAAuE;AACvE,wBAAgB,aAAa,CAAC,EAAE,OAAc,EAAE,KAAS,EAAE,QAAQ,EAAE,EAAE,kBAAkB,+BAMxF;yBANe,aAAa;;;AAU7B,8EAA8E;AAC9E,MAAM,MAAM,eAAe,GACvB,WAAW,GACX,YAAY,GACZ,SAAS,GACT,cAAc,GACd,eAAe,GACf,YAAY,CAAC;AAEjB,MAAM,WAAW,YAAa,SAAQ,IAAI,CACxC,cAAc,CAAC,OAAO,SAAS,CAAC,QAAQ,CAAC,EACzC,UAAU,GAAG,YAAY,CAC1B;IACC;;;OAGG;IACH,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,sEAAsE;IACtE,KAAK,EAAE,MAAM,CAAC;IACd,uDAAuD;IACvD,UAAU,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC1B;AAED,iEAAiE;AACjE,wBAAgB,OAAO,CAAC,EACtB,QAAuB,EACvB,KAAK,EACL,UAAU,EACV,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,IAAI,EACR,EAAE,YAAY,+BA6Dd;yBArEe,OAAO"}
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { cn as e } from "../lib/cn.js";
|
|
3
|
+
import { Button as t } from "./Button.js";
|
|
4
|
+
import { IconButton as n } from "./IconButton.js";
|
|
5
|
+
import r from "./Toast.module.js";
|
|
6
|
+
import { jsx as i, jsxs as a } from "react/jsx-runtime";
|
|
7
|
+
import { useMemo as o } from "react";
|
|
8
|
+
import { Toast as s } from "@base-ui/react/toast";
|
|
9
|
+
//#region src/components/Toast.tsx
|
|
10
|
+
function c({ variant: e, action: t, timeout: n, ...r }) {
|
|
11
|
+
return {
|
|
12
|
+
...r,
|
|
13
|
+
type: e,
|
|
14
|
+
actionProps: t,
|
|
15
|
+
timeout: n ?? (t === void 0 ? void 0 : 0)
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
function l() {
|
|
19
|
+
let { add: e, close: t, update: n } = s.useToastManager();
|
|
20
|
+
return o(() => ({
|
|
21
|
+
add: function({ id: t, ...n }) {
|
|
22
|
+
return e({
|
|
23
|
+
id: t,
|
|
24
|
+
...c(n)
|
|
25
|
+
});
|
|
26
|
+
},
|
|
27
|
+
close: t,
|
|
28
|
+
update: function(e, t) {
|
|
29
|
+
n(e, c(t));
|
|
30
|
+
}
|
|
31
|
+
}), [
|
|
32
|
+
e,
|
|
33
|
+
t,
|
|
34
|
+
n
|
|
35
|
+
]);
|
|
36
|
+
}
|
|
37
|
+
function u({ timeout: e = 7e3, limit: t = 3, children: n }) {
|
|
38
|
+
return /* @__PURE__ */ i(s.Provider, {
|
|
39
|
+
timeout: e,
|
|
40
|
+
limit: t,
|
|
41
|
+
children: n
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
u.displayName = "ToastProvider";
|
|
45
|
+
function d({ position: o = "bottom-end", label: c, closeLabel: l, offset: u, className: d, style: p, ...h }) {
|
|
46
|
+
let { toasts: g, close: _ } = s.useToastManager(), [v] = o.split("-"), y = u === void 0 ? void 0 : { "--pharos-toast-offset": typeof u == "number" ? `${u}px` : u };
|
|
47
|
+
return /* @__PURE__ */ i(s.Portal, { children: /* @__PURE__ */ i(s.Viewport, {
|
|
48
|
+
"aria-label": c,
|
|
49
|
+
"data-pharos-position": o,
|
|
50
|
+
className: e(r.viewport, d),
|
|
51
|
+
style: typeof p == "function" ? (e) => ({
|
|
52
|
+
...p(e),
|
|
53
|
+
...y
|
|
54
|
+
}) : {
|
|
55
|
+
...p,
|
|
56
|
+
...y
|
|
57
|
+
},
|
|
58
|
+
...h,
|
|
59
|
+
children: g.map((e) => /* @__PURE__ */ i(s.Root, {
|
|
60
|
+
toast: e,
|
|
61
|
+
swipeDirection: v === "top" ? [
|
|
62
|
+
"up",
|
|
63
|
+
"right",
|
|
64
|
+
"left"
|
|
65
|
+
] : [
|
|
66
|
+
"down",
|
|
67
|
+
"right",
|
|
68
|
+
"left"
|
|
69
|
+
],
|
|
70
|
+
"data-pharos-slot": "toast",
|
|
71
|
+
"data-pharos-variant": e.type ?? "default",
|
|
72
|
+
className: r.toast,
|
|
73
|
+
children: /* @__PURE__ */ a(s.Content, {
|
|
74
|
+
className: r.content,
|
|
75
|
+
children: [
|
|
76
|
+
/* @__PURE__ */ i(f, { variant: e.type }),
|
|
77
|
+
/* @__PURE__ */ a("div", {
|
|
78
|
+
className: r.text,
|
|
79
|
+
children: [
|
|
80
|
+
/* @__PURE__ */ i(s.Title, { className: r.title }),
|
|
81
|
+
/* @__PURE__ */ i(s.Description, { className: r.description }),
|
|
82
|
+
e.actionProps && /* @__PURE__ */ i(s.Action, {
|
|
83
|
+
className: r.action,
|
|
84
|
+
render: /* @__PURE__ */ i(t, {
|
|
85
|
+
intent: "secondary",
|
|
86
|
+
size: "sm"
|
|
87
|
+
}),
|
|
88
|
+
onClick: function() {
|
|
89
|
+
_(e.id);
|
|
90
|
+
}
|
|
91
|
+
})
|
|
92
|
+
]
|
|
93
|
+
}),
|
|
94
|
+
/* @__PURE__ */ i(s.Close, {
|
|
95
|
+
className: r.close,
|
|
96
|
+
render: /* @__PURE__ */ i(n, {
|
|
97
|
+
intent: "ghost",
|
|
98
|
+
size: "sm",
|
|
99
|
+
"aria-label": l
|
|
100
|
+
}),
|
|
101
|
+
children: /* @__PURE__ */ i(m, {})
|
|
102
|
+
})
|
|
103
|
+
]
|
|
104
|
+
})
|
|
105
|
+
}, e.id))
|
|
106
|
+
}) });
|
|
107
|
+
}
|
|
108
|
+
d.displayName = "Toaster";
|
|
109
|
+
function f({ variant: e }) {
|
|
110
|
+
switch (e) {
|
|
111
|
+
case "success": return /* @__PURE__ */ a(p, { children: [/* @__PURE__ */ i("circle", {
|
|
112
|
+
cx: "12",
|
|
113
|
+
cy: "12",
|
|
114
|
+
r: "10"
|
|
115
|
+
}), /* @__PURE__ */ i("path", { d: "m9 12 2 2 4-4" })] });
|
|
116
|
+
case "info": return /* @__PURE__ */ a(p, { children: [
|
|
117
|
+
/* @__PURE__ */ i("circle", {
|
|
118
|
+
cx: "12",
|
|
119
|
+
cy: "12",
|
|
120
|
+
r: "10"
|
|
121
|
+
}),
|
|
122
|
+
/* @__PURE__ */ i("path", { d: "M12 16v-4" }),
|
|
123
|
+
/* @__PURE__ */ i("path", { d: "M12 8h.01" })
|
|
124
|
+
] });
|
|
125
|
+
case "warning": return /* @__PURE__ */ a(p, { children: [
|
|
126
|
+
/* @__PURE__ */ i("path", {
|
|
127
|
+
className: r.warningFill,
|
|
128
|
+
d: "m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3"
|
|
129
|
+
}),
|
|
130
|
+
/* @__PURE__ */ i("path", { d: "M12 9v4" }),
|
|
131
|
+
/* @__PURE__ */ i("path", { d: "M12 17h.01" })
|
|
132
|
+
] });
|
|
133
|
+
case "destructive": return /* @__PURE__ */ a(p, { children: [
|
|
134
|
+
/* @__PURE__ */ i("circle", {
|
|
135
|
+
cx: "12",
|
|
136
|
+
cy: "12",
|
|
137
|
+
r: "10"
|
|
138
|
+
}),
|
|
139
|
+
/* @__PURE__ */ i("path", { d: "M12 8v4" }),
|
|
140
|
+
/* @__PURE__ */ i("path", { d: "M12 16h.01" })
|
|
141
|
+
] });
|
|
142
|
+
default: return null;
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
function p({ children: e }) {
|
|
146
|
+
return /* @__PURE__ */ i("svg", {
|
|
147
|
+
className: r.icon,
|
|
148
|
+
viewBox: "0 0 24 24",
|
|
149
|
+
fill: "none",
|
|
150
|
+
stroke: "currentColor",
|
|
151
|
+
strokeWidth: "2",
|
|
152
|
+
strokeLinecap: "round",
|
|
153
|
+
strokeLinejoin: "round",
|
|
154
|
+
"aria-hidden": "true",
|
|
155
|
+
children: e
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
function m() {
|
|
159
|
+
return /* @__PURE__ */ a("svg", {
|
|
160
|
+
viewBox: "0 0 24 24",
|
|
161
|
+
fill: "none",
|
|
162
|
+
stroke: "currentColor",
|
|
163
|
+
strokeWidth: "2",
|
|
164
|
+
strokeLinecap: "round",
|
|
165
|
+
strokeLinejoin: "round",
|
|
166
|
+
"aria-hidden": "true",
|
|
167
|
+
children: [/* @__PURE__ */ i("path", { d: "M18 6 6 18" }), /* @__PURE__ */ i("path", { d: "m6 6 12 12" })]
|
|
168
|
+
});
|
|
169
|
+
}
|
|
170
|
+
//#endregion
|
|
171
|
+
export { u as ToastProvider, d as Toaster, l as useToast };
|
|
172
|
+
|
|
173
|
+
//# sourceMappingURL=Toast.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Toast.js","names":[],"sources":["../../src/components/Toast.tsx"],"sourcesContent":["'use client';\n\nimport {\n useMemo,\n type ComponentProps,\n type ComponentPropsWithoutRef,\n type CSSProperties,\n type ReactNode,\n} from 'react';\nimport { Toast as BaseToast } from '@base-ui/react/toast';\nimport { cn } from '../lib/cn';\nimport { Button } from './Button';\nimport { IconButton } from './IconButton';\nimport styles from './Toast.module.css';\n\n/**\n * A brief, non-blocking message about something that just happened — \"Settings\n * saved\", \"Couldn't send the invitation\" — shown in a corner of the screen and\n * gone on its own (Decision D30). Wraps Base UI's `Toast`, which provides the\n * accessibility contract:\n *\n * - the toasts live in a **`region` landmark that is a live region from the\n * start**, so a toast is announced when it appears (politely; urgently with\n * `priority: 'high'`) without the consumer adding one;\n * - **F6** moves focus into that region and Tab walks its toasts and buttons;\n * - a toast **pauses its timer** while the pointer is over the region or focus\n * is inside it, so nobody loses a message while reading or reaching it;\n * - it can be swiped away, and the close button is the single-pointer\n * alternative to the swipe (WCAG 2.5.7).\n *\n * The API follows shadcn's `Toaster` + a hook, over Base UI's provider and\n * manager: `ToastProvider` at the root, one `Toaster` where the toasts render,\n * and `useToast()` wherever one is raised. Pharos owns no text (quality\n * standard § 5): the region's name and the close button's name are required\n * props of `Toaster`, localised by the consumer.\n *\n * A toast is for feedback that can be missed. A message the person must act on,\n * or one that blocks the flow, is a `Dialog`; an error tied to a field is shown\n * next to the field.\n *\n * @example\n * <ToastProvider>\n * <App />\n * <Toaster position=\"top-center\" label=\"Notifications\" closeLabel=\"Close\" />\n * </ToastProvider>\n *\n * const toast = useToast();\n * toast.add({ title: 'Settings saved', variant: 'success' });\n */\n\n/** What a toast is about. Mirrors `Badge`'s semantic variants. */\nexport type ToastVariant = 'default' | 'success' | 'info' | 'warning' | 'destructive';\n\nexport interface ToastOptions {\n /**\n * Identifies the toast. Adding one with the id of a toast still on screen\n * replaces it in place and restarts its timer — the way to avoid stacking\n * the same message twice.\n */\n id?: string;\n /** The message. Also what assistive technology announces. */\n title?: ReactNode;\n /** Detail under the title. */\n description?: ReactNode;\n /**\n * What the toast is about. Every variant but `default` adds an icon, so the\n * meaning never rests on colour alone.\n * @default 'default'\n */\n variant?: ToastVariant;\n /**\n * Milliseconds before it closes on its own; `0` keeps it until closed. A\n * toast with an `action` defaults to `0`: a control that disappears on a\n * timer is a control some people never reach (WCAG 2.2.1).\n * @default the provider's `timeout`\n */\n timeout?: number;\n /**\n * `high` announces it at once, interrupting; reserve it for what genuinely\n * cannot wait. Everything else is announced when the screen reader is idle.\n * @default 'low'\n */\n priority?: 'low' | 'high';\n /**\n * One button in the toast — \"Undo\", \"Retry\". Its `children` are its label;\n * clicking it runs `onClick` and closes the toast.\n */\n action?: ComponentPropsWithoutRef<'button'>;\n /** Called when the toast starts closing, whatever closed it. */\n onClose?: () => void;\n}\n\nexport interface UseToastReturnValue {\n /** Shows a toast and returns its id. */\n add: (options: ToastOptions) => string;\n /** Closes one toast by id, or every toast when called without one. */\n close: (id?: string) => void;\n /** Changes a toast that is on screen. */\n update: (id: string, options: Omit<ToastOptions, 'id'>) => void;\n}\n\n/** Translates Pharos's options to Base UI's: `variant` travels as its `type`. */\nfunction toBaseOptions({ variant, action, timeout, ...rest }: Omit<ToastOptions, 'id'>) {\n return {\n ...rest,\n type: variant,\n actionProps: action,\n timeout: timeout ?? (action === undefined ? undefined : 0),\n };\n}\n\n/**\n * Raises, updates and closes toasts. Must be called inside a `ToastProvider`.\n */\nexport function useToast(): UseToastReturnValue {\n const { add, close, update } = BaseToast.useToastManager();\n // Base UI's methods are stable, so this is too: safe in an effect's deps.\n return useMemo(\n () => ({\n add: function addToast({ id, ...options }) {\n return add({ id, ...toBaseOptions(options) });\n },\n close,\n update: function updateToast(id, options) {\n update(id, toBaseOptions(options));\n },\n }),\n [add, close, update],\n );\n}\n\nexport interface ToastProviderProps {\n children?: ReactNode;\n /**\n * Default milliseconds before a toast closes on its own. Seven seconds is\n * enough to read two lines at a relaxed pace; the timer also pauses while\n * the pointer or focus is on the toasts.\n * @default 7000\n */\n timeout?: number;\n /**\n * How many toasts are on screen at once; adding one more closes the oldest.\n * @default 3\n */\n limit?: number;\n}\n\n/** Holds the toasts of the whole app. Place it once, near the root. */\nexport function ToastProvider({ timeout = 7000, limit = 3, children }: ToastProviderProps) {\n return (\n <BaseToast.Provider timeout={timeout} limit={limit}>\n {children}\n </BaseToast.Provider>\n );\n}\n\nToastProvider.displayName = 'ToastProvider';\n\n/** Where on the screen the toasts appear. Logical: `start` is left in LTR. */\nexport type ToasterPosition =\n | 'top-start'\n | 'top-center'\n | 'top-end'\n | 'bottom-start'\n | 'bottom-center'\n | 'bottom-end';\n\nexport interface ToasterProps extends Omit<\n ComponentProps<typeof BaseToast.Viewport>,\n 'children' | 'aria-label'\n> {\n /**\n * Where the toasts appear. The newest is always the one nearest the edge.\n * @default 'bottom-end'\n */\n position?: ToasterPosition;\n /** Name of the region that holds the toasts, e.g. \"Notifications\". */\n label: string;\n /** Name of each toast's close button, e.g. \"Close\". */\n closeLabel: string;\n /**\n * Distance from the edge the toasts sit on: a number of pixels or any CSS\n * length, `var()` included. For a layout whose top or bottom is taken by\n * its own bars, so the toasts appear below or above them, not over them.\n * @default 16px (`--pharos-spacing-4`)\n */\n offset?: number | string;\n}\n\n/** Renders the toasts. Place it once, inside `ToastProvider`. */\nexport function Toaster({\n position = 'bottom-end',\n label,\n closeLabel,\n offset,\n className,\n style,\n ...rest\n}: ToasterProps) {\n const { toasts, close } = BaseToast.useToastManager();\n const [edge] = position.split('-');\n const offsetStyle =\n offset === undefined\n ? undefined\n : ({\n '--pharos-toast-offset': typeof offset === 'number' ? `${offset}px` : offset,\n } as CSSProperties);\n return (\n <BaseToast.Portal>\n <BaseToast.Viewport\n aria-label={label}\n data-pharos-position={position}\n className={cn(styles.viewport, className)}\n style={\n typeof style === 'function'\n ? (state) => ({ ...style(state), ...offsetStyle })\n : { ...style, ...offsetStyle }\n }\n {...rest}\n >\n {toasts.map((toast) => (\n <BaseToast.Root\n key={toast.id}\n toast={toast}\n swipeDirection={edge === 'top' ? ['up', 'right', 'left'] : ['down', 'right', 'left']}\n data-pharos-slot=\"toast\"\n data-pharos-variant={(toast.type as ToastVariant | undefined) ?? 'default'}\n className={styles.toast}\n >\n <BaseToast.Content className={styles.content}>\n <VariantIcon variant={toast.type as ToastVariant | undefined} />\n <div className={styles.text}>\n <BaseToast.Title className={styles.title} />\n <BaseToast.Description className={styles.description} />\n {/* Under the text, so the message keeps the whole width at\n * any size. Base UI runs the action and leaves the toast;\n * once acted on, it has said what it had to say. */}\n {toast.actionProps && (\n <BaseToast.Action\n className={styles.action}\n render={<Button intent=\"secondary\" size=\"sm\" />}\n onClick={function closeOnceActedOn() {\n close(toast.id);\n }}\n />\n )}\n </div>\n <BaseToast.Close\n className={styles.close}\n render={<IconButton intent=\"ghost\" size=\"sm\" aria-label={closeLabel} />}\n >\n <XIcon />\n </BaseToast.Close>\n </BaseToast.Content>\n </BaseToast.Root>\n ))}\n </BaseToast.Viewport>\n </BaseToast.Portal>\n );\n}\n\nToaster.displayName = 'Toaster';\n\n/**\n * The variant's icon, inlined from Lucide's path data so the bundle pulls no\n * icon dependency (D4, as in `Select`). Decorative to assistive technology:\n * the title says what happened.\n */\nfunction VariantIcon({ variant }: { variant: ToastVariant | undefined }) {\n switch (variant) {\n case 'success':\n return (\n <Glyph>\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n <path d=\"m9 12 2 2 4-4\" />\n </Glyph>\n );\n case 'info':\n return (\n <Glyph>\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n <path d=\"M12 16v-4\" />\n <path d=\"M12 8h.01\" />\n </Glyph>\n );\n case 'warning':\n return (\n <Glyph>\n <path\n className={styles.warningFill}\n d=\"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3\"\n />\n <path d=\"M12 9v4\" />\n <path d=\"M12 17h.01\" />\n </Glyph>\n );\n case 'destructive':\n return (\n <Glyph>\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n <path d=\"M12 8v4\" />\n <path d=\"M12 16h.01\" />\n </Glyph>\n );\n default:\n return null;\n }\n}\n\nfunction Glyph({ children }: { children: ReactNode }) {\n return (\n <svg\n className={styles.icon}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden=\"true\"\n >\n {children}\n </svg>\n );\n}\n\nfunction XIcon() {\n return (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden=\"true\"\n >\n <path d=\"M18 6 6 18\" />\n <path d=\"m6 6 12 12\" />\n </svg>\n );\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
var e = {
|
|
2
|
+
viewport: "_viewport_b05po_18",
|
|
3
|
+
toast: "_toast_b05po_61",
|
|
4
|
+
content: "_content_b05po_128",
|
|
5
|
+
icon: "_icon_b05po_137",
|
|
6
|
+
text: "_text_b05po_143",
|
|
7
|
+
warningFill: "_warningFill_b05po_170",
|
|
8
|
+
title: "_title_b05po_177",
|
|
9
|
+
description: "_description_b05po_184",
|
|
10
|
+
action: "_action_b05po_191",
|
|
11
|
+
close: "_close_b05po_198"
|
|
12
|
+
};
|
|
13
|
+
//#endregion
|
|
14
|
+
export { e as default };
|
|
15
|
+
|
|
16
|
+
//# sourceMappingURL=Toast.module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Toast.module.js","names":[],"sources":["../../src/components/Toast.module.css"],"sourcesContent":["/* Toast.module.css\n *\n * Per-component CSS Modules definition (Decision D9). Hashed into\n * `dist/styles.css`. Styles the toasts over Base UI's `Toast`: a fixed region\n * in one corner (or centred on one edge), holding a column of cards.\n *\n * z-index: the region sits on the toast layer (decision D29, 1700): above\n * modals and popovers, so a toast raised from inside a dialog is not hidden by\n * it, and below tooltips. The fallbacks are D29's and the current palette's\n * values, for a consumer whose pharos-tokens predates them.\n *\n * Layout uses logical properties only, so `start`/`end` follow the writing\n * direction. Motion comes from Base UI's `data-starting-style` /\n * `data-ending-style`, and collapses to a fade under reduced motion.\n */\n\n/* === Region (Toast.Viewport) === */\n.viewport {\n /* The inline gap, and the block one unless `offset` sets\n * `--pharos-toast-offset`. */\n --pharos-toast-edge-gap: var(--pharos-spacing-4);\n\n position: fixed;\n z-index: var(--pharos-z-index-toast, 1700);\n box-sizing: border-box;\n inline-size: min(22.5rem, calc(100% - 2 * var(--pharos-toast-edge-gap)));\n\n display: flex;\n flex-direction: column;\n gap: var(--pharos-spacing-2);\n\n /* The region itself never blocks the page under its empty area. */\n pointer-events: none;\n outline: none;\n}\n\n/* Newest first (Base UI's order), so the newest is nearest the edge. */\n.viewport[data-pharos-position^='top'] {\n inset-block-start: var(--pharos-toast-offset, var(--pharos-toast-edge-gap));\n}\n\n.viewport[data-pharos-position^='bottom'] {\n inset-block-end: var(--pharos-toast-offset, var(--pharos-toast-edge-gap));\n flex-direction: column-reverse;\n}\n\n.viewport[data-pharos-position$='start'] {\n inset-inline-start: var(--pharos-toast-edge-gap);\n}\n\n.viewport[data-pharos-position$='end'] {\n inset-inline-end: var(--pharos-toast-edge-gap);\n}\n\n.viewport[data-pharos-position$='center'] {\n inset-inline: 0;\n margin-inline: auto;\n}\n\n/* === Toast (Toast.Root) === */\n.toast {\n --pharos-toast-enter-shift: calc(-1 * var(--pharos-spacing-4));\n\n box-sizing: border-box;\n pointer-events: auto;\n\n background-color: var(--pharos-color-surface-card, var(--pharos-color-base-white));\n border: 1px solid var(--pharos-color-border-subtle, var(--pharos-color-neutral-200));\n border-radius: var(--pharos-radius-lg);\n box-shadow: var(--pharos-shadow-lg);\n\n font-family: var(--pharos-font-family-sans);\n font-size: var(--pharos-font-size-sm);\n line-height: 1.43; /* 14 / 20, D3 */\n color: var(--pharos-color-neutral-900);\n\n /* Swiping moves it with the finger. */\n transform: translate(var(--toast-swipe-movement-x, 0), var(--toast-swipe-movement-y, 0));\n transition-property: opacity, transform;\n transition-duration: var(--pharos-duration-normal);\n transition-timing-function: var(--pharos-easing-out);\n}\n\n.viewport[data-pharos-position^='bottom'] .toast {\n --pharos-toast-enter-shift: var(--pharos-spacing-4);\n}\n\n/* Arrives from, and leaves towards, the edge it sits on. */\n.toast[data-starting-style],\n.toast[data-ending-style] {\n opacity: 0;\n transform: translateY(var(--pharos-toast-enter-shift));\n}\n\n/* Swiped away: keeps going the way the finger went. */\n.toast[data-ending-style][data-swipe-direction='left'] {\n transform: translateX(calc(var(--toast-swipe-movement-x, 0) - 100%));\n}\n\n.toast[data-ending-style][data-swipe-direction='right'] {\n transform: translateX(calc(var(--toast-swipe-movement-x, 0) + 100%));\n}\n\n.toast[data-limited] {\n opacity: 0;\n}\n\n/* The system's focus ring (as Button): a white halo, then the accent. Kept as\n * box-shadow plus the card's own shadow, so the ring is not lost under it. */\n.toast:focus-visible {\n outline: none;\n box-shadow:\n 0 0 0 2px var(--pharos-color-base-white),\n 0 0 0 4px var(--pharos-color-primary-600),\n var(--pharos-shadow-lg);\n}\n\n@media (prefers-reduced-motion: reduce) {\n .toast,\n .toast[data-starting-style],\n .toast[data-ending-style] {\n transform: none;\n transition-property: opacity;\n }\n}\n\n/* === Content (Toast.Content) === */\n.content {\n display: flex;\n align-items: flex-start;\n gap: var(--pharos-spacing-3);\n padding-block: var(--pharos-spacing-3);\n padding-inline: var(--pharos-spacing-4) var(--pharos-spacing-2);\n}\n\n/* 20 px, the height of the title's first line, so the two line up. */\n.icon {\n flex-shrink: 0;\n inline-size: var(--pharos-spacing-5);\n block-size: var(--pharos-spacing-5);\n}\n\n.text {\n display: flex;\n flex: 1;\n flex-direction: column;\n gap: var(--pharos-spacing-0-5);\n min-inline-size: 0;\n overflow-wrap: anywhere;\n}\n\n.toast[data-pharos-variant='success'] .icon {\n color: var(--pharos-color-semantic-success-fg);\n}\n\n.toast[data-pharos-variant='info'] .icon {\n color: var(--pharos-color-semantic-info-fg);\n}\n\n.toast[data-pharos-variant='destructive'] .icon {\n color: var(--pharos-color-semantic-error-fg);\n}\n\n/* Amber does not reach 3:1 on white as a stroke, so warning is a filled\n * triangle with the glyph in its on-colour, the way a warning sign reads. */\n.toast[data-pharos-variant='warning'] .icon {\n color: var(--pharos-color-semantic-warning-on);\n}\n\n.warningFill {\n fill: var(--pharos-color-semantic-warning-fg);\n stroke: var(--pharos-color-semantic-warning-fg);\n}\n\n/* Base UI renders the title as an `<h2>`: its size and line come from here,\n * not from the browser's or the page's heading styles. */\n.title {\n margin: 0;\n font-size: var(--pharos-font-size-sm);\n line-height: inherit;\n font-weight: var(--pharos-font-weight-semibold);\n}\n\n.description {\n margin: 0;\n font-size: var(--pharos-font-size-sm);\n line-height: inherit;\n color: var(--pharos-color-neutral-600);\n}\n\n.action {\n align-self: flex-start;\n margin-block-start: var(--pharos-spacing-2);\n}\n\n/* The 32 px button is centred on the title's first 20 px line: it rises 6 px\n * into the padding instead of pushing the card taller. */\n.close {\n flex-shrink: 0;\n margin-block: calc(-1 * var(--pharos-spacing-1-5)) calc(-1 * var(--pharos-spacing-1-5));\n}\n"],"mappings":""}
|
package/dist/index.d.ts
CHANGED
|
@@ -34,5 +34,7 @@ export { Switch } from './components/Switch';
|
|
|
34
34
|
export type { SwitchProps } from './components/Switch';
|
|
35
35
|
export { RadioGroup, RadioGroupItem } from './components/RadioGroup';
|
|
36
36
|
export type { RadioGroupProps, RadioGroupItemProps } from './components/RadioGroup';
|
|
37
|
+
export { ToastProvider, Toaster, useToast } from './components/Toast';
|
|
38
|
+
export type { ToastProviderProps, ToasterProps, ToasterPosition, ToastOptions, ToastVariant, UseToastReturnValue, } from './components/Toast';
|
|
37
39
|
export { cn } from './lib/cn';
|
|
38
40
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -17,4 +17,5 @@ import { Dialog as ge, DialogClose as _e, DialogContent as ve, DialogDescription
|
|
|
17
17
|
import { Checkbox as we } from "./components/Checkbox.js";
|
|
18
18
|
import { Switch as Te } from "./components/Switch.js";
|
|
19
19
|
import { RadioGroup as Ee, RadioGroupItem as De } from "./components/RadioGroup.js";
|
|
20
|
-
|
|
20
|
+
import { ToastProvider as Oe, Toaster as ke, useToast as Ae } from "./components/Toast.js";
|
|
21
|
+
export { x as Avatar, S as AvatarFallback, C as AvatarGroup, w as AvatarImage, s as Badge, t as Button, m as Card, h as CardContent, g as CardDescription, _ as CardFooter, v as CardHeader, y as CardTitle, we as Checkbox, K as Combobox, q as ComboboxChip, J as ComboboxChipRemove, Y as ComboboxChips, X as ComboboxClear, Z as ComboboxContent, Q as ComboboxControl, $ as ComboboxEmpty, ee as ComboboxGroup, te as ComboboxGroupLabel, ne as ComboboxInput, re as ComboboxItem, ie as ComboboxList, ae as ComboboxSeparator, oe as ComboboxTrigger, ge as Dialog, _e as DialogClose, ve as DialogContent, ye as DialogDescription, be as DialogFooter, xe as DialogHeader, Se as DialogTitle, Ce as DialogTrigger, T as DropdownMenu, E as DropdownMenuContent, D as DropdownMenuGroup, O as DropdownMenuItem, k as DropdownMenuLabel, A as DropdownMenuSeparator, j as DropdownMenuTrigger, a as IconButton, l as Input, M as Popover, N as PopoverClose, P as PopoverContent, F as PopoverDescription, I as PopoverTitle, L as PopoverTrigger, Ee as RadioGroup, De as RadioGroupItem, R as Select, z as SelectContent, B as SelectGroup, V as SelectItem, H as SelectLabel, U as SelectSeparator, W as SelectTrigger, G as SelectValue, p as Separator, se as Sheet, ce as SheetClose, le as SheetContent, ue as SheetDescription, de as SheetFooter, fe as SheetHeader, pe as SheetTitle, me as SheetTrigger, r as Spinner, Te as Switch, d as Textarea, Oe as ToastProvider, ke as Toaster, c as badgeVariants, n as buttonVariants, b as cardVariants, e as cn, o as iconButtonVariants, u as inputVariants, he as sheetVariants, i as spinnerVariants, f as textareaVariants, Ae as useToast };
|
package/dist/styles.css
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
._root_1xx27_21{box-sizing:border-box;background-color:var(--pharos-color-neutral-100);color:var(--pharos-color-neutral-700);font-family:var(--pharos-font-family-sans);-webkit-user-select:none;user-select:none;--pharos-avatar-overlap:calc(var(--pharos-spacing-2) * -1);flex-shrink:0;justify-content:center;align-items:center;font-weight:500;line-height:1;display:inline-flex;position:relative;overflow:hidden}._shapeCircle_1xx27_63{border-radius:var(--pharos-radius-full)}._shapeSquare_1xx27_67{border-radius:var(--pharos-radius-md)}._sizeSm_1xx27_86{width:var(--pharos-spacing-8);height:var(--pharos-spacing-8);--pharos-avatar-overlap:calc(var(--pharos-spacing-2) * -.75);font-size:.75rem}._sizeMd_1xx27_93{width:var(--pharos-spacing-10);height:var(--pharos-spacing-10);--pharos-avatar-overlap:calc(var(--pharos-spacing-2) * -1);font-size:.875rem}._sizeLg_1xx27_100{width:var(--pharos-spacing-12);height:var(--pharos-spacing-12);--pharos-avatar-overlap:calc(var(--pharos-spacing-2) * -1.25);font-size:1rem}._image_1xx27_118{object-fit:cover;border-radius:inherit;width:100%;height:100%;display:block;position:absolute;inset:0}._fallback_1xx27_134{text-align:center;width:100%;height:100%;font:inherit;color:inherit;justify-content:center;align-items:center;display:inline-flex}._sizeSm_1xx27_86 ._fallback_1xx27_134>svg{width:var(--pharos-spacing-5);height:var(--pharos-spacing-5)}._sizeMd_1xx27_93 ._fallback_1xx27_134>svg{width:var(--pharos-spacing-6);height:var(--pharos-spacing-6)}._sizeLg_1xx27_100 ._fallback_1xx27_134>svg{width:var(--pharos-spacing-7);height:var(--pharos-spacing-7)}._group_1xx27_175{align-items:center;display:inline-flex}._group_1xx27_175>._root_1xx27_21{box-shadow:0 0 0 2px var(--pharos-avatar-group-ring,var(--pharos-color-base-white));position:relative}._group_1xx27_175>._root_1xx27_21+._root_1xx27_21{margin-left:var(--pharos-avatar-overlap)}._badge_zrawy_5{align-items:center;gap:var(--pharos-spacing-1);padding:0 var(--pharos-spacing-2);height:var(--pharos-spacing-5);border-radius:var(--pharos-radius-full);font-family:var(--pharos-font-family-sans);font-size:var(--pharos-font-size-xs);font-weight:var(--pharos-font-weight-medium);white-space:nowrap;text-box-trim:trim-both;text-box-edge:cap alphabetic;border:1px solid #0000;width:fit-content;line-height:1;display:inline-flex}._badge_zrawy_5>svg{pointer-events:none;flex:none;width:.75em;height:.75em}._default_zrawy_30{background:var(--pharos-color-neutral-900);color:var(--pharos-color-base-white)}._secondary_zrawy_35{background:var(--pharos-color-neutral-100);color:var(--pharos-color-neutral-900)}._destructive_zrawy_40{background:var(--pharos-color-semantic-error-fg);color:var(--pharos-color-semantic-error-on)}._outline_zrawy_45{color:var(--pharos-color-neutral-900);border-color:var(--pharos-color-neutral-500);background:0 0}._success_zrawy_55{background:var(--pharos-color-semantic-success-fg);color:var(--pharos-color-semantic-success-on)}._warning_zrawy_60{background:var(--pharos-color-semantic-warning-fg);color:var(--pharos-color-semantic-warning-on)}._info_zrawy_65{background:var(--pharos-color-semantic-info-fg);color:var(--pharos-color-semantic-info-on)}._button_iu0wg_18{appearance:none;box-sizing:border-box;border-radius:var(--pharos-radius-full);white-space:nowrap;text-box-trim:trim-both;text-box-edge:cap alphabetic;font-family:var(--pharos-font-family-sans);font-style:normal;font-weight:var(--pharos-font-weight-medium);font-variant:normal;font-kerning:auto;font-optical-sizing:auto;font-size-adjust:none;font-feature-settings:normal;font-variation-settings:normal;letter-spacing:normal;text-transform:none;font-stretch:100%;font-size:var(--pharos-font-size-sm);-webkit-user-select:none;user-select:none;cursor:pointer;color:inherit;transition-property:color,background-color,border-color,box-shadow;transition-duration:var(--pharos-duration-normal);transition-timing-function:var(--pharos-easing-out);background-color:#0000;border:0 solid #0000;justify-content:center;align-items:center;margin:0;padding-top:0;padding-bottom:0;line-height:1.5;text-decoration:none;display:inline-flex}._button_iu0wg_18:focus-visible{box-shadow:0 0 0 2px var(--pharos-color-base-white), 0 0 0 4px var(--button-focus-ring,var(--pharos-color-primary-600));outline:none}._button_iu0wg_18:disabled{pointer-events:none;cursor:not-allowed;opacity:.5}._primary_iu0wg_127{background-color:var(--pharos-color-neutral-900);color:var(--pharos-color-base-white);--button-focus-ring:var(--pharos-color-primary-600)}._primary_iu0wg_127:hover{background-color:var(--pharos-color-neutral-700)}._primary_iu0wg_127:active{background-color:var(--pharos-color-neutral-950)}._secondary_iu0wg_141{background-color:var(--pharos-color-base-white);color:var(--pharos-color-neutral-900);border:1px solid var(--pharos-color-neutral-500);--button-focus-ring:var(--pharos-color-primary-600)}._secondary_iu0wg_141:hover{background-color:var(--pharos-color-neutral-50)}._secondary_iu0wg_141:active{background-color:var(--pharos-color-neutral-100)}._ghost_iu0wg_161{color:var(--pharos-color-neutral-900);--button-focus-ring:var(--pharos-color-primary-600);background-color:#0000}._ghost_iu0wg_161:hover{background-color:var(--pharos-color-neutral-100)}._ghost_iu0wg_161:active{background-color:var(--pharos-color-neutral-200)}._destructive_iu0wg_175{background-color:var(--pharos-color-semantic-error-fg);color:var(--pharos-color-semantic-error-on);--button-focus-ring:var(--pharos-color-semantic-error-fg)}._destructive_iu0wg_175:hover{background-color:var(--pharos-color-semantic-error-fg-hover)}._destructive_iu0wg_175:active{background-color:var(--pharos-color-semantic-error-fg-active)}._sizeSm_iu0wg_197{height:var(--pharos-spacing-8);gap:var(--pharos-spacing-1-5);padding:0 var(--pharos-spacing-3);font-size:var(--pharos-font-size-sm);line-height:1.42857}._sizeMd_iu0wg_205{height:var(--pharos-spacing-10);gap:var(--pharos-spacing-2);padding:0 var(--pharos-spacing-4);font-size:var(--pharos-font-size-sm);line-height:1.42857}._sizeLg_iu0wg_213{height:var(--pharos-spacing-12);gap:var(--pharos-spacing-2);padding:0 var(--pharos-spacing-6);font-size:var(--pharos-font-size-base);line-height:1.5}._card_yxgwa_10{background-color:var(--pharos-color-base-white);border-radius:var(--pharos-radius-2xl);gap:var(--pharos-spacing-6);font-family:var(--pharos-font-family-sans);color:var(--pharos-color-neutral-900);transition-property:border-color,box-shadow;transition-duration:var(--pharos-duration-normal);transition-timing-function:var(--pharos-easing-out);border:0 solid #0000;flex-direction:column;display:flex}._default_yxgwa_42{border:1px solid var(--pharos-color-neutral-200)}._elevated_yxgwa_46{box-shadow:var(--pharos-shadow-md);border:0 solid #0000}._outlined_yxgwa_51{border:1px solid var(--pharos-color-neutral-300)}._header_yxgwa_62{gap:var(--pharos-spacing-1-5);padding:var(--pharos-spacing-6) var(--pharos-spacing-6) 0;flex-direction:column;display:flex}._title_yxgwa_69{font-size:var(--pharos-font-size-base);font-weight:var(--pharos-font-weight-semibold);color:var(--pharos-color-neutral-900);margin:0;line-height:1.25}._description_yxgwa_77{font-size:var(--pharos-font-size-sm);font-weight:var(--pharos-font-weight-regular);color:var(--pharos-color-neutral-500);margin:0;line-height:1.5}._content_yxgwa_85{padding:0 var(--pharos-spacing-6)}._footer_yxgwa_95{align-items:center;gap:var(--pharos-spacing-3);padding:0 var(--pharos-spacing-6) var(--pharos-spacing-6);display:flex}._root_1v9tz_14{box-sizing:border-box;width:var(--pharos-spacing-5);height:var(--pharos-spacing-5);border:1px solid var(--pharos-color-neutral-500);border-radius:var(--pharos-radius-sm);background-color:var(--pharos-color-base-white);color:var(--pharos-color-base-white);cursor:pointer;transition-property:background-color,border-color,box-shadow;transition-duration:var(--pharos-duration-fast);transition-timing-function:var(--pharos-easing-out);flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}._root_1v9tz_14:hover:not([data-disabled]):not([data-checked]):not([data-indeterminate]){border-color:var(--pharos-color-neutral-700)}._root_1v9tz_14[data-checked],._root_1v9tz_14[data-indeterminate]{background-color:var(--pharos-color-neutral-900);border-color:var(--pharos-color-neutral-900)}._root_1v9tz_14[aria-invalid=true]{border-color:var(--pharos-color-semantic-error-fg)}._root_1v9tz_14:focus-visible{box-shadow:0 0 0 2px var(--pharos-color-base-white), 0 0 0 4px var(--pharos-color-primary-600);outline:none}._root_1v9tz_14[data-disabled]{cursor:not-allowed;opacity:.5}._indicator_1v9tz_65{color:var(--pharos-color-base-white);justify-content:center;align-items:center;display:inline-flex}._icon_1v9tz_72{width:var(--pharos-spacing-3);height:var(--pharos-spacing-3)}._iconIndeterminate_1v9tz_79,._indicator_1v9tz_65[data-indeterminate] ._iconCheck_1v9tz_83{display:none}._indicator_1v9tz_65[data-indeterminate] ._iconIndeterminate_1v9tz_79{display:block}._control_1owey_5{box-sizing:border-box;align-items:center;gap:var(--pharos-spacing-2);border:1px solid var(--pharos-color-neutral-500);border-radius:var(--pharos-radius-md);background-color:var(--pharos-color-base-white);width:100%;font-family:var(--pharos-font-family-sans);transition-property:border-color,box-shadow;transition-duration:var(--pharos-duration-normal);transition-timing-function:var(--pharos-easing-out);display:flex}._control_1owey_5:focus-within{border-color:var(--pharos-color-primary-600);box-shadow:0 0 0 2px var(--pharos-color-base-white), 0 0 0 4px var(--pharos-color-primary-600)}._control_1owey_5[aria-invalid=true]{border-color:var(--pharos-color-semantic-error-fg)}._control_1owey_5:has([aria-invalid=true]){border-color:var(--pharos-color-semantic-error-fg)}._chips_1owey_61{gap:var(--pharos-spacing-1);padding:var(--pharos-spacing-1) var(--pharos-spacing-2);flex-wrap:wrap}._input_1owey_70{appearance:none;min-width:0;color:var(--pharos-color-neutral-900);font-family:var(--pharos-font-family-sans);font-size:var(--pharos-font-size-sm);font-weight:var(--pharos-font-weight-regular);background:0 0;border:none;outline:none;flex:auto;margin:0;line-height:1.25}._input_1owey_70::placeholder{color:var(--pharos-color-neutral-500);opacity:1}._input_1owey_70:disabled{cursor:not-allowed}._inputSizeSm_1owey_99{height:var(--pharos-spacing-8);padding:0 var(--pharos-spacing-3)}._inputSizeMd_1owey_104{height:var(--pharos-spacing-10);padding:0 var(--pharos-spacing-4)}._inputSizeLg_1owey_109{height:var(--pharos-spacing-12);padding:0 var(--pharos-spacing-6);font-size:var(--pharos-font-size-base)}._chipsInput_1owey_117{height:var(--pharos-spacing-7);padding:0 var(--pharos-spacing-1);flex:4rem}._trigger_1owey_124,._clear_1owey_125{width:var(--pharos-spacing-6);height:var(--pharos-spacing-6);color:var(--pharos-color-neutral-500);cursor:default;background:0 0;border:none;flex:none;justify-content:center;align-items:center;margin-inline-end:var(--pharos-spacing-1);padding:0;display:inline-flex}._trigger_1owey_124 svg,._clear_1owey_125 svg{width:1rem;height:1rem}._trigger_1owey_124[data-popup-open] svg{transition:transform var(--pharos-duration-fast) var(--pharos-easing-out);transform:rotate(180deg)}._chip_1owey_61{align-items:center;gap:var(--pharos-spacing-1);padding:0 var(--pharos-spacing-1) 0 var(--pharos-spacing-2);height:var(--pharos-spacing-6);border-radius:var(--pharos-radius-sm);background-color:var(--pharos-color-neutral-100);color:var(--pharos-color-neutral-900);font-size:var(--pharos-font-size-xs);display:inline-flex}._chip_1owey_61[data-highlighted]{background-color:var(--pharos-color-neutral-200)}._chipRemove_1owey_169{width:var(--pharos-spacing-4);height:var(--pharos-spacing-4);border-radius:var(--pharos-radius-sm);color:var(--pharos-color-neutral-500);cursor:default;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex}._chipRemove_1owey_169:hover{color:var(--pharos-color-neutral-900)}._chipRemove_1owey_169 svg{width:.875rem;height:.875rem}._positioner_1owey_204{z-index:var(--pharos-z-index-popover,1500)}._content_1owey_193{box-sizing:border-box;width:var(--anchor-width);max-height:var(--available-height);padding:var(--pharos-spacing-1);background-color:var(--pharos-color-base-white);border:1px solid var(--pharos-color-neutral-200);border-radius:var(--pharos-radius-md);box-shadow:var(--pharos-shadow-lg);font-family:var(--pharos-font-family-sans);font-size:var(--pharos-font-size-sm);color:var(--pharos-color-neutral-900);transform-origin:var(--transform-origin);transition-property:opacity,transform;transition-duration:var(--pharos-duration-fast);transition-timing-function:var(--pharos-easing-out);outline:none;overflow-y:auto}._content_1owey_193[data-starting-style],._content_1owey_193[data-ending-style]{opacity:0;transform:scale(.96)}._item_1owey_14{align-items:flex-start;gap:var(--pharos-spacing-2);padding:var(--pharos-spacing-2) var(--pharos-spacing-3);border-radius:var(--pharos-radius-sm);color:var(--pharos-color-neutral-900);cursor:default;-webkit-user-select:none;user-select:none;scroll-margin:var(--pharos-spacing-1);outline:none;display:flex;position:relative}._item_1owey_14[data-highlighted]{background-color:var(--pharos-color-neutral-100)}._item_1owey_14[data-disabled]{color:var(--pharos-color-neutral-400);pointer-events:none}._itemText_1owey_14{overflow-wrap:anywhere;white-space:normal;flex:auto;min-width:0}._itemIndicator_1owey_275{block-size:1lh;color:var(--pharos-color-primary-600);flex:none;justify-content:center;align-items:center;display:inline-flex}._itemIndicator_1owey_275 svg{width:1rem;height:1rem}._empty_1owey_299{color:var(--pharos-color-neutral-500);text-align:center}._empty_1owey_299:not(:empty){padding:var(--pharos-spacing-3)}._label_1owey_309{padding:var(--pharos-spacing-2) var(--pharos-spacing-3) var(--pharos-spacing-1);font-size:var(--pharos-font-size-xs);font-weight:var(--pharos-font-weight-semibold);color:var(--pharos-color-neutral-600)}._separator_1owey_316{height:1px;margin:var(--pharos-spacing-1) 0;background-color:var(--pharos-color-neutral-200)}@media (pointer:coarse){._input_1owey_70{font-size:var(--pharos-font-size-base)}}._backdrop_1gqfj_20{z-index:var(--pharos-z-index-modal,1400);background-color:color-mix(in srgb, var(--pharos-color-base-black) 50%, transparent);transition:opacity var(--pharos-duration-normal) var(--pharos-easing-out);position:fixed;inset:0}._backdrop_1gqfj_20[data-starting-style],._backdrop_1gqfj_20[data-ending-style]{opacity:0}._content_1gqfj_34{transform-origin:50%;z-index:var(--pharos-z-index-modal,1400);box-sizing:border-box;width:calc(100% - 2 * var(--pharos-spacing-4));max-width:32rem;max-height:calc(100dvh - 2 * var(--pharos-spacing-6));gap:var(--pharos-spacing-4);padding:var(--pharos-spacing-6);background-color:var(--pharos-color-base-white);border-radius:var(--pharos-radius-lg);box-shadow:var(--pharos-shadow-xl);font-family:var(--pharos-font-family-sans);font-size:var(--pharos-font-size-sm);color:var(--pharos-color-neutral-900);transition-property:opacity,transform;transition-duration:var(--pharos-duration-fast);transition-timing-function:var(--pharos-easing-out);outline:none;flex-direction:column;display:flex;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}._content_1gqfj_34[data-starting-style],._content_1gqfj_34[data-ending-style]{opacity:0;transform:translate(-50%,-50%)scale(.96)}._header_1gqfj_77{gap:var(--pharos-spacing-1);flex-direction:column;display:flex}._title_1gqfj_83{font-size:var(--pharos-font-size-lg);font-weight:var(--pharos-font-weight-semibold);color:var(--pharos-color-neutral-900);margin:0;line-height:1.4}._description_1gqfj_91{font-size:var(--pharos-font-size-sm);color:var(--pharos-color-neutral-600);margin:0;line-height:1.5}._footer_1gqfj_98{gap:var(--pharos-spacing-2);justify-content:flex-end;margin-top:auto;display:flex}._positioner_yfokk_9{z-index:var(--pharos-z-index-popover,1500)}._content_yfokk_4{box-sizing:border-box;min-width:12rem;padding:var(--pharos-spacing-1);background-color:var(--pharos-color-base-white);border:1px solid var(--pharos-color-neutral-200);border-radius:var(--pharos-radius-md);box-shadow:var(--pharos-shadow-lg);font-family:var(--pharos-font-family-sans);color:var(--pharos-color-neutral-900);transform-origin:var(--transform-origin);transition-property:opacity,transform;transition-duration:var(--pharos-duration-fast);transition-timing-function:var(--pharos-easing-out)}._content_yfokk_4[data-starting-style],._content_yfokk_4[data-ending-style]{opacity:0;transform:scale(.96)}._item_yfokk_5{box-sizing:border-box;align-items:center;gap:var(--pharos-spacing-2);width:100%;padding:var(--pharos-spacing-1-5) var(--pharos-spacing-2);border-radius:var(--pharos-radius-sm);font-size:var(--pharos-font-size-sm);font-weight:var(--pharos-font-weight-medium);color:var(--pharos-color-neutral-700);cursor:default;-webkit-user-select:none;user-select:none;scroll-margin:var(--pharos-spacing-1);transition-property:background-color,color;transition-duration:var(--pharos-duration-fast);transition-timing-function:var(--pharos-easing-out);outline:none;line-height:1.25;display:flex}._item_yfokk_5[data-highlighted]{background-color:var(--pharos-color-neutral-100);color:var(--pharos-color-neutral-900)}._item_yfokk_5[data-disabled]{color:var(--pharos-color-neutral-500);opacity:.6;pointer-events:none}._item_yfokk_5>svg{flex-shrink:0;width:1rem;height:1rem}._itemDestructive_yfokk_114{color:var(--pharos-color-semantic-error-fg)}._itemDestructive_yfokk_114[data-highlighted]{background-color:var(--pharos-color-semantic-error-bg);color:var(--pharos-color-semantic-error-fg-hover)}._separator_yfokk_6{height:1px;margin:var(--pharos-spacing-1) calc(var(--pharos-spacing-1) * -1);background-color:var(--pharos-color-neutral-200)}._label_yfokk_6{padding:var(--pharos-spacing-1-5) var(--pharos-spacing-2);font-size:var(--pharos-font-size-sm);font-weight:var(--pharos-font-weight-semibold);color:var(--pharos-color-neutral-500)}._button_ltuh2_14{appearance:none;box-sizing:border-box;border-radius:var(--pharos-radius-full);-webkit-user-select:none;user-select:none;cursor:pointer;color:inherit;font-family:var(--pharos-font-family-sans);transition-property:color,background-color,border-color,box-shadow;transition-duration:var(--pharos-duration-normal);transition-timing-function:var(--pharos-easing-out);background-color:#0000;border:0 solid #0000;flex-shrink:0;justify-content:center;align-items:center;margin:0;padding:0;display:inline-flex}._button_ltuh2_14:focus-visible{box-shadow:0 0 0 2px var(--pharos-color-base-white), 0 0 0 4px var(--icon-button-focus-ring,var(--pharos-color-primary-600));outline:none}._button_ltuh2_14:disabled{pointer-events:none;cursor:not-allowed;opacity:.5}._primary_ltuh2_74{background-color:var(--pharos-color-neutral-900);color:var(--pharos-color-base-white);--icon-button-focus-ring:var(--pharos-color-primary-600)}._primary_ltuh2_74:hover{background-color:var(--pharos-color-neutral-700)}._primary_ltuh2_74:active{background-color:var(--pharos-color-neutral-950)}._secondary_ltuh2_88{background-color:var(--pharos-color-base-white);color:var(--pharos-color-neutral-900);border:1px solid var(--pharos-color-neutral-500);--icon-button-focus-ring:var(--pharos-color-primary-600)}._secondary_ltuh2_88:hover{background-color:var(--pharos-color-neutral-50)}._secondary_ltuh2_88:active{background-color:var(--pharos-color-neutral-100)}._ghost_ltuh2_107{color:var(--pharos-color-neutral-900);--icon-button-focus-ring:var(--pharos-color-primary-600);background-color:#0000}._ghost_ltuh2_107:hover{background-color:var(--pharos-color-neutral-100)}._ghost_ltuh2_107:active{background-color:var(--pharos-color-neutral-200)}._destructive_ltuh2_121{background-color:var(--pharos-color-semantic-error-fg);color:var(--pharos-color-semantic-error-on);--icon-button-focus-ring:var(--pharos-color-semantic-error-fg)}._destructive_ltuh2_121:hover{background-color:var(--pharos-color-semantic-error-fg-hover)}._destructive_ltuh2_121:active{background-color:var(--pharos-color-semantic-error-fg-active)}._sizeSm_ltuh2_150{width:var(--pharos-spacing-8);height:var(--pharos-spacing-8)}._sizeSm_ltuh2_150>svg{width:var(--pharos-spacing-4);height:var(--pharos-spacing-4)}._sizeMd_ltuh2_160{width:var(--pharos-spacing-10);height:var(--pharos-spacing-10)}._sizeMd_ltuh2_160>svg{width:var(--pharos-spacing-5);height:var(--pharos-spacing-5)}._sizeLg_ltuh2_170{width:var(--pharos-spacing-12);height:var(--pharos-spacing-12)}._sizeLg_ltuh2_170>svg{width:var(--pharos-spacing-6);height:var(--pharos-spacing-6)}@keyframes _pharos-spinner-spin_gg970_1{0%{transform:rotate(0)}to{transform:rotate(360deg)}}._spinner_gg970_28{color:currentColor;vertical-align:middle;justify-content:center;align-items:center;display:inline-flex}._icon_gg970_46{width:100%;height:100%;animation:_pharos-spinner-spin_gg970_1 var(--pharos-duration-slow,1s) linear infinite}@media (prefers-reduced-motion:reduce){._icon_gg970_46{animation-duration:4s}}._sizeSm_gg970_69{width:var(--pharos-spacing-4);height:var(--pharos-spacing-4)}._sizeMd_gg970_74{width:var(--pharos-spacing-5);height:var(--pharos-spacing-5)}._sizeLg_gg970_79{width:var(--pharos-spacing-6);height:var(--pharos-spacing-6)}._srOnly_gg970_87{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}._input_1ueoc_14{appearance:none;box-sizing:border-box;border:1px solid var(--pharos-color-neutral-500);border-radius:var(--pharos-radius-md);background-color:var(--pharos-color-base-white);width:100%;color:var(--pharos-color-neutral-900);font-family:var(--pharos-font-family-sans);font-size:var(--pharos-font-size-sm);font-weight:var(--pharos-font-weight-regular);transition-property:border-color,box-shadow;transition-duration:var(--pharos-duration-normal);transition-timing-function:var(--pharos-easing-out);margin:0;line-height:1.25}._input_1ueoc_14::placeholder{color:var(--pharos-color-neutral-500);opacity:1}._input_1ueoc_14:focus-visible{border-color:var(--pharos-color-primary-600);box-shadow:0 0 0 2px var(--pharos-color-base-white), 0 0 0 4px var(--pharos-color-primary-600);outline:none}._input_1ueoc_14:disabled{cursor:not-allowed;opacity:.5}._input_1ueoc_14[aria-invalid=true]{border-color:var(--pharos-color-semantic-error-fg)}._input_1ueoc_14[aria-invalid=true]:focus-visible{border-color:var(--pharos-color-semantic-error-fg);box-shadow:0 0 0 2px var(--pharos-color-base-white), 0 0 0 4px var(--pharos-color-semantic-error-fg)}._sizeSm_1ueoc_97{height:var(--pharos-spacing-8);padding:0 var(--pharos-spacing-3);font-size:var(--pharos-font-size-sm)}._sizeMd_1ueoc_103{height:var(--pharos-spacing-10);padding:0 var(--pharos-spacing-4);font-size:var(--pharos-font-size-sm)}._sizeLg_1ueoc_109{height:var(--pharos-spacing-12);padding:0 var(--pharos-spacing-6);font-size:var(--pharos-font-size-base)}@media (pointer:coarse){._input_1ueoc_14,._sizeSm_1ueoc_97,._sizeMd_1ueoc_103{font-size:var(--pharos-font-size-base)}}._positioner_1mqln_15{z-index:var(--pharos-z-index-popover,1500)}._content_1mqln_4{box-sizing:border-box;max-width:20rem;padding:var(--pharos-spacing-4);background-color:var(--pharos-color-base-white);border:1px solid var(--pharos-color-neutral-200);border-radius:var(--pharos-radius-md);box-shadow:var(--pharos-shadow-lg);font-family:var(--pharos-font-family-sans);font-size:var(--pharos-font-size-sm);color:var(--pharos-color-neutral-900);transform-origin:var(--transform-origin);transition-property:opacity,transform;transition-duration:var(--pharos-duration-fast);transition-timing-function:var(--pharos-easing-out);outline:none}._content_1mqln_4[data-starting-style],._content_1mqln_4[data-ending-style]{opacity:0;transform:scale(.96)}._title_1mqln_5{font-size:var(--pharos-font-size-base);font-weight:var(--pharos-font-weight-semibold);color:var(--pharos-color-neutral-900);margin:0;line-height:1.4}._description_1mqln_5{margin:var(--pharos-spacing-1) 0 0;font-size:var(--pharos-font-size-sm);color:var(--pharos-color-neutral-600);line-height:1.5}._group_rsllu_18{gap:var(--pharos-spacing-2);flex-direction:column;display:flex}._item_rsllu_24{box-sizing:border-box;width:var(--pharos-spacing-5);height:var(--pharos-spacing-5);border:1px solid var(--pharos-color-neutral-500);border-radius:var(--pharos-radius-full);background-color:var(--pharos-color-base-white);cursor:pointer;transition-property:background-color,border-color,box-shadow;transition-duration:var(--pharos-duration-fast);transition-timing-function:var(--pharos-easing-out);flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}._item_rsllu_24:hover:not([data-disabled]):not([data-checked]){border-color:var(--pharos-color-neutral-700)}._item_rsllu_24[data-checked]{border-color:var(--pharos-color-neutral-900)}._group_rsllu_18[aria-invalid=true] ._item_rsllu_24{border-color:var(--pharos-color-semantic-error-fg)}._item_rsllu_24:focus-visible{box-shadow:0 0 0 2px var(--pharos-color-base-white), 0 0 0 4px var(--pharos-color-primary-600);outline:none}._item_rsllu_24[data-disabled]{cursor:not-allowed;opacity:.5}._indicator_rsllu_75{width:var(--pharos-spacing-2);height:var(--pharos-spacing-2);border-radius:var(--pharos-radius-full);background-color:var(--pharos-color-neutral-900);display:inline-flex}._trigger_1qe34_35{appearance:none;box-sizing:border-box;justify-content:space-between;align-items:center;gap:var(--pharos-spacing-2);border:1px solid var(--pharos-color-neutral-500);border-radius:var(--pharos-radius-md);background-color:var(--pharos-color-base-white);width:100%;color:var(--pharos-color-neutral-900);font-family:var(--pharos-font-family-sans);font-size:var(--pharos-font-size-sm);font-weight:var(--pharos-font-weight-regular);text-align:start;cursor:default;transition-property:border-color,box-shadow;transition-duration:var(--pharos-duration-normal);transition-timing-function:var(--pharos-easing-out);margin:0;line-height:1.25;display:inline-flex}._trigger_1qe34_35:focus-visible{border-color:var(--pharos-color-primary-600);box-shadow:0 0 0 2px var(--pharos-color-base-white), 0 0 0 4px var(--pharos-color-primary-600);outline:none}._trigger_1qe34_35:disabled,._trigger_1qe34_35[data-disabled]{cursor:not-allowed;opacity:.5}._trigger_1qe34_35[aria-invalid=true]{border-color:var(--pharos-color-semantic-error-fg)}._trigger_1qe34_35[aria-invalid=true]:focus-visible{border-color:var(--pharos-color-semantic-error-fg);box-shadow:0 0 0 2px var(--pharos-color-base-white), 0 0 0 4px var(--pharos-color-semantic-error-fg)}._sizeSm_1qe34_92{height:var(--pharos-spacing-8);padding:0 var(--pharos-spacing-3);font-size:var(--pharos-font-size-sm)}._sizeMd_1qe34_98{height:var(--pharos-spacing-10);padding:0 var(--pharos-spacing-4);font-size:var(--pharos-font-size-sm)}._sizeLg_1qe34_104{height:var(--pharos-spacing-12);padding:0 var(--pharos-spacing-6);font-size:var(--pharos-font-size-base)}._value_1qe34_113{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}._value_1qe34_113[data-placeholder]{color:var(--pharos-color-neutral-500)}._icon_1qe34_127{color:var(--pharos-color-neutral-500);transition:transform var(--pharos-duration-fast) var(--pharos-easing-out);flex:none;justify-content:center;align-items:center;display:inline-flex}._icon_1qe34_127 svg{width:1rem;height:1rem}._icon_1qe34_127[data-popup-open]{transform:rotate(180deg)}._positioner_1qe34_24{z-index:var(--pharos-z-index-popover,1500)}._content_1qe34_146{box-sizing:border-box;width:var(--anchor-width);max-height:var(--available-height);padding:var(--pharos-spacing-1);background-color:var(--pharos-color-base-white);border:1px solid var(--pharos-color-neutral-200);border-radius:var(--pharos-radius-md);box-shadow:var(--pharos-shadow-lg);font-family:var(--pharos-font-family-sans);font-size:var(--pharos-font-size-sm);color:var(--pharos-color-neutral-900);transform-origin:var(--transform-origin);transition-property:opacity,transform;transition-duration:var(--pharos-duration-fast);transition-timing-function:var(--pharos-easing-out);outline:none;overflow-y:auto}._content_1qe34_146[data-starting-style],._content_1qe34_146[data-ending-style]{opacity:0;transform:scale(.96)}._item_1qe34_17{align-items:flex-start;gap:var(--pharos-spacing-2);padding:var(--pharos-spacing-2) var(--pharos-spacing-3);border-radius:var(--pharos-radius-sm);color:var(--pharos-color-neutral-900);cursor:default;-webkit-user-select:none;user-select:none;scroll-margin:var(--pharos-spacing-1);outline:none;display:flex;position:relative}._item_1qe34_17[data-highlighted]{background-color:var(--pharos-color-neutral-100)}._item_1qe34_17[data-disabled]{color:var(--pharos-color-neutral-400);pointer-events:none}._itemText_1qe34_17{overflow-wrap:anywhere;white-space:normal;flex:auto;min-width:0}._itemIndicator_1qe34_231{block-size:1lh;color:var(--pharos-color-primary-600);flex:none;justify-content:center;align-items:center;display:inline-flex}._itemIndicator_1qe34_231 svg{width:1rem;height:1rem}._label_1qe34_247{padding:var(--pharos-spacing-2) var(--pharos-spacing-3) var(--pharos-spacing-1);font-size:var(--pharos-font-size-xs);font-weight:var(--pharos-font-weight-semibold);color:var(--pharos-color-neutral-600)}._separator_1qe34_255{height:1px;margin:var(--pharos-spacing-1) 0;background-color:var(--pharos-color-neutral-200)}._separator_da90p_13{background-color:var(--pharos-color-neutral-200);border:0;flex-shrink:0;margin:0}._horizontal_da90p_29{width:100%;height:1px}._vertical_da90p_34{width:1px;height:100%}._backdrop_titsa_18{z-index:var(--pharos-z-index-modal,1400);background-color:color-mix(in srgb, var(--pharos-color-base-black) 50%, transparent);transition:opacity var(--pharos-duration-normal) var(--pharos-easing-out);position:fixed;inset:0}._backdrop_titsa_18[data-starting-style],._backdrop_titsa_18[data-ending-style]{opacity:0}._content_titsa_34{z-index:var(--pharos-z-index-modal,1400);box-sizing:border-box;gap:var(--pharos-spacing-4);padding:var(--pharos-spacing-6);background-color:var(--pharos-color-base-white);box-shadow:var(--pharos-shadow-xl);font-family:var(--pharos-font-family-sans);font-size:var(--pharos-font-size-sm);color:var(--pharos-color-neutral-900);transition:transform var(--pharos-duration-normal) var(--pharos-easing-out);outline:none;flex-direction:column;display:flex;position:fixed;overflow-y:auto}._sideRight_titsa_57{border-left:1px solid var(--pharos-color-neutral-200);width:min(24rem,100vw);height:100dvh;top:0;bottom:0;right:0}._sideRight_titsa_57[data-starting-style],._sideRight_titsa_57[data-ending-style]{transform:translate(100%)}._sideLeft_titsa_70{border-right:1px solid var(--pharos-color-neutral-200);width:min(24rem,100vw);height:100dvh;top:0;bottom:0;left:0}._sideLeft_titsa_70[data-starting-style],._sideLeft_titsa_70[data-ending-style]{transform:translate(-100%)}._sideTop_titsa_83{border-bottom:1px solid var(--pharos-color-neutral-200);width:100vw;max-height:100dvh;top:0;left:0;right:0}._sideTop_titsa_83[data-starting-style],._sideTop_titsa_83[data-ending-style]{transform:translateY(-100%)}._sideBottom_titsa_96{border-top:1px solid var(--pharos-color-neutral-200);width:100vw;max-height:100dvh;bottom:0;left:0;right:0}._sideBottom_titsa_96[data-starting-style],._sideBottom_titsa_96[data-ending-style]{transform:translateY(100%)}._header_titsa_110{gap:var(--pharos-spacing-1);flex-direction:column;display:flex}._title_titsa_116{font-size:var(--pharos-font-size-lg);font-weight:var(--pharos-font-weight-semibold);color:var(--pharos-color-neutral-900);margin:0;line-height:1.4}._description_titsa_124{font-size:var(--pharos-font-size-sm);color:var(--pharos-color-neutral-600);margin:0;line-height:1.5}._footer_titsa_131{gap:var(--pharos-spacing-2);justify-content:flex-end;margin-top:auto;display:flex}._root_5v2er_17{box-sizing:border-box;width:var(--pharos-spacing-10);height:var(--pharos-spacing-6);padding:var(--pharos-spacing-1);border-radius:var(--pharos-radius-full);background-color:var(--pharos-color-neutral-300);cursor:pointer;transition-property:background-color,box-shadow;transition-duration:var(--pharos-duration-fast);transition-timing-function:var(--pharos-easing-out);border:none;flex-shrink:0;align-items:center;display:inline-flex}._root_5v2er_17:hover:not([data-disabled]):not([data-checked]){background-color:var(--pharos-color-neutral-400)}._root_5v2er_17[data-checked]{background-color:var(--pharos-color-neutral-900)}._root_5v2er_17[data-checked]:hover:not([data-disabled]){background-color:var(--pharos-color-neutral-700)}._root_5v2er_17[aria-invalid=true]{box-shadow:inset 0 0 0 1px var(--pharos-color-semantic-error-fg)}._root_5v2er_17:focus-visible{box-shadow:0 0 0 2px var(--pharos-color-base-white), 0 0 0 4px var(--pharos-color-primary-600);outline:none}._root_5v2er_17[data-disabled]{cursor:not-allowed;opacity:.5}._thumb_5v2er_72{box-sizing:border-box;width:var(--pharos-spacing-4);height:var(--pharos-spacing-4);border:1px solid var(--pharos-color-neutral-500);border-radius:var(--pharos-radius-full);background-color:var(--pharos-color-base-white);transition-property:transform;transition-duration:var(--pharos-duration-fast);transition-timing-function:var(--pharos-easing-out)}._root_5v2er_17[data-checked] ._thumb_5v2er_72{transform:translateX(var(--pharos-spacing-4))}._textarea_145hb_21{appearance:none;box-sizing:border-box;border:1px solid var(--pharos-color-neutral-500);border-radius:var(--pharos-radius-md);background-color:var(--pharos-color-base-white);width:100%;color:var(--pharos-color-neutral-900);resize:vertical;font-family:var(--pharos-font-family-sans);font-size:var(--pharos-font-size-sm);font-weight:var(--pharos-font-weight-regular);transition-property:border-color,box-shadow;transition-duration:var(--pharos-duration-normal);transition-timing-function:var(--pharos-easing-out);margin:0;line-height:1.5}._textarea_145hb_21::placeholder{color:var(--pharos-color-neutral-500);opacity:1}._textarea_145hb_21:focus-visible{border-color:var(--pharos-color-primary-600);box-shadow:0 0 0 2px var(--pharos-color-base-white), 0 0 0 4px var(--pharos-color-primary-600);outline:none}._textarea_145hb_21:disabled{cursor:not-allowed;opacity:.5;resize:none}._textarea_145hb_21[aria-invalid=true]{border-color:var(--pharos-color-semantic-error-fg)}._textarea_145hb_21[aria-invalid=true]:focus-visible{border-color:var(--pharos-color-semantic-error-fg);box-shadow:0 0 0 2px var(--pharos-color-base-white), 0 0 0 4px var(--pharos-color-semantic-error-fg)}._sizeSm_145hb_113{min-height:var(--pharos-spacing-16);padding:var(--pharos-spacing-2) var(--pharos-spacing-3);font-size:var(--pharos-font-size-sm)}._sizeMd_145hb_119{min-height:var(--pharos-spacing-20);padding:var(--pharos-spacing-2-5) var(--pharos-spacing-4);font-size:var(--pharos-font-size-sm)}._sizeLg_145hb_125{min-height:var(--pharos-spacing-24);padding:var(--pharos-spacing-3) var(--pharos-spacing-6);font-size:var(--pharos-font-size-base)}@media (pointer:coarse){._textarea_145hb_21,._sizeSm_145hb_113,._sizeMd_145hb_119{font-size:var(--pharos-font-size-base)}}
|
|
1
|
+
._root_1xx27_21{box-sizing:border-box;background-color:var(--pharos-color-neutral-100);color:var(--pharos-color-neutral-700);font-family:var(--pharos-font-family-sans);-webkit-user-select:none;user-select:none;--pharos-avatar-overlap:calc(var(--pharos-spacing-2) * -1);flex-shrink:0;justify-content:center;align-items:center;font-weight:500;line-height:1;display:inline-flex;position:relative;overflow:hidden}._shapeCircle_1xx27_63{border-radius:var(--pharos-radius-full)}._shapeSquare_1xx27_67{border-radius:var(--pharos-radius-md)}._sizeSm_1xx27_86{width:var(--pharos-spacing-8);height:var(--pharos-spacing-8);--pharos-avatar-overlap:calc(var(--pharos-spacing-2) * -.75);font-size:.75rem}._sizeMd_1xx27_93{width:var(--pharos-spacing-10);height:var(--pharos-spacing-10);--pharos-avatar-overlap:calc(var(--pharos-spacing-2) * -1);font-size:.875rem}._sizeLg_1xx27_100{width:var(--pharos-spacing-12);height:var(--pharos-spacing-12);--pharos-avatar-overlap:calc(var(--pharos-spacing-2) * -1.25);font-size:1rem}._image_1xx27_118{object-fit:cover;border-radius:inherit;width:100%;height:100%;display:block;position:absolute;inset:0}._fallback_1xx27_134{text-align:center;width:100%;height:100%;font:inherit;color:inherit;justify-content:center;align-items:center;display:inline-flex}._sizeSm_1xx27_86 ._fallback_1xx27_134>svg{width:var(--pharos-spacing-5);height:var(--pharos-spacing-5)}._sizeMd_1xx27_93 ._fallback_1xx27_134>svg{width:var(--pharos-spacing-6);height:var(--pharos-spacing-6)}._sizeLg_1xx27_100 ._fallback_1xx27_134>svg{width:var(--pharos-spacing-7);height:var(--pharos-spacing-7)}._group_1xx27_175{align-items:center;display:inline-flex}._group_1xx27_175>._root_1xx27_21{box-shadow:0 0 0 2px var(--pharos-avatar-group-ring,var(--pharos-color-base-white));position:relative}._group_1xx27_175>._root_1xx27_21+._root_1xx27_21{margin-left:var(--pharos-avatar-overlap)}._badge_zrawy_5{align-items:center;gap:var(--pharos-spacing-1);padding:0 var(--pharos-spacing-2);height:var(--pharos-spacing-5);border-radius:var(--pharos-radius-full);font-family:var(--pharos-font-family-sans);font-size:var(--pharos-font-size-xs);font-weight:var(--pharos-font-weight-medium);white-space:nowrap;text-box-trim:trim-both;text-box-edge:cap alphabetic;border:1px solid #0000;width:fit-content;line-height:1;display:inline-flex}._badge_zrawy_5>svg{pointer-events:none;flex:none;width:.75em;height:.75em}._default_zrawy_30{background:var(--pharos-color-neutral-900);color:var(--pharos-color-base-white)}._secondary_zrawy_35{background:var(--pharos-color-neutral-100);color:var(--pharos-color-neutral-900)}._destructive_zrawy_40{background:var(--pharos-color-semantic-error-fg);color:var(--pharos-color-semantic-error-on)}._outline_zrawy_45{color:var(--pharos-color-neutral-900);border-color:var(--pharos-color-neutral-500);background:0 0}._success_zrawy_55{background:var(--pharos-color-semantic-success-fg);color:var(--pharos-color-semantic-success-on)}._warning_zrawy_60{background:var(--pharos-color-semantic-warning-fg);color:var(--pharos-color-semantic-warning-on)}._info_zrawy_65{background:var(--pharos-color-semantic-info-fg);color:var(--pharos-color-semantic-info-on)}._button_iu0wg_18{appearance:none;box-sizing:border-box;border-radius:var(--pharos-radius-full);white-space:nowrap;text-box-trim:trim-both;text-box-edge:cap alphabetic;font-family:var(--pharos-font-family-sans);font-style:normal;font-weight:var(--pharos-font-weight-medium);font-variant:normal;font-kerning:auto;font-optical-sizing:auto;font-size-adjust:none;font-feature-settings:normal;font-variation-settings:normal;letter-spacing:normal;text-transform:none;font-stretch:100%;font-size:var(--pharos-font-size-sm);-webkit-user-select:none;user-select:none;cursor:pointer;color:inherit;transition-property:color,background-color,border-color,box-shadow;transition-duration:var(--pharos-duration-normal);transition-timing-function:var(--pharos-easing-out);background-color:#0000;border:0 solid #0000;justify-content:center;align-items:center;margin:0;padding-top:0;padding-bottom:0;line-height:1.5;text-decoration:none;display:inline-flex}._button_iu0wg_18:focus-visible{box-shadow:0 0 0 2px var(--pharos-color-base-white), 0 0 0 4px var(--button-focus-ring,var(--pharos-color-primary-600));outline:none}._button_iu0wg_18:disabled{pointer-events:none;cursor:not-allowed;opacity:.5}._primary_iu0wg_127{background-color:var(--pharos-color-neutral-900);color:var(--pharos-color-base-white);--button-focus-ring:var(--pharos-color-primary-600)}._primary_iu0wg_127:hover{background-color:var(--pharos-color-neutral-700)}._primary_iu0wg_127:active{background-color:var(--pharos-color-neutral-950)}._secondary_iu0wg_141{background-color:var(--pharos-color-base-white);color:var(--pharos-color-neutral-900);border:1px solid var(--pharos-color-neutral-500);--button-focus-ring:var(--pharos-color-primary-600)}._secondary_iu0wg_141:hover{background-color:var(--pharos-color-neutral-50)}._secondary_iu0wg_141:active{background-color:var(--pharos-color-neutral-100)}._ghost_iu0wg_161{color:var(--pharos-color-neutral-900);--button-focus-ring:var(--pharos-color-primary-600);background-color:#0000}._ghost_iu0wg_161:hover{background-color:var(--pharos-color-neutral-100)}._ghost_iu0wg_161:active{background-color:var(--pharos-color-neutral-200)}._destructive_iu0wg_175{background-color:var(--pharos-color-semantic-error-fg);color:var(--pharos-color-semantic-error-on);--button-focus-ring:var(--pharos-color-semantic-error-fg)}._destructive_iu0wg_175:hover{background-color:var(--pharos-color-semantic-error-fg-hover)}._destructive_iu0wg_175:active{background-color:var(--pharos-color-semantic-error-fg-active)}._sizeSm_iu0wg_197{height:var(--pharos-spacing-8);gap:var(--pharos-spacing-1-5);padding:0 var(--pharos-spacing-3);font-size:var(--pharos-font-size-sm);line-height:1.42857}._sizeMd_iu0wg_205{height:var(--pharos-spacing-10);gap:var(--pharos-spacing-2);padding:0 var(--pharos-spacing-4);font-size:var(--pharos-font-size-sm);line-height:1.42857}._sizeLg_iu0wg_213{height:var(--pharos-spacing-12);gap:var(--pharos-spacing-2);padding:0 var(--pharos-spacing-6);font-size:var(--pharos-font-size-base);line-height:1.5}._card_yxgwa_10{background-color:var(--pharos-color-base-white);border-radius:var(--pharos-radius-2xl);gap:var(--pharos-spacing-6);font-family:var(--pharos-font-family-sans);color:var(--pharos-color-neutral-900);transition-property:border-color,box-shadow;transition-duration:var(--pharos-duration-normal);transition-timing-function:var(--pharos-easing-out);border:0 solid #0000;flex-direction:column;display:flex}._default_yxgwa_42{border:1px solid var(--pharos-color-neutral-200)}._elevated_yxgwa_46{box-shadow:var(--pharos-shadow-md);border:0 solid #0000}._outlined_yxgwa_51{border:1px solid var(--pharos-color-neutral-300)}._header_yxgwa_62{gap:var(--pharos-spacing-1-5);padding:var(--pharos-spacing-6) var(--pharos-spacing-6) 0;flex-direction:column;display:flex}._title_yxgwa_69{font-size:var(--pharos-font-size-base);font-weight:var(--pharos-font-weight-semibold);color:var(--pharos-color-neutral-900);margin:0;line-height:1.25}._description_yxgwa_77{font-size:var(--pharos-font-size-sm);font-weight:var(--pharos-font-weight-regular);color:var(--pharos-color-neutral-500);margin:0;line-height:1.5}._content_yxgwa_85{padding:0 var(--pharos-spacing-6)}._footer_yxgwa_95{align-items:center;gap:var(--pharos-spacing-3);padding:0 var(--pharos-spacing-6) var(--pharos-spacing-6);display:flex}._root_1v9tz_14{box-sizing:border-box;width:var(--pharos-spacing-5);height:var(--pharos-spacing-5);border:1px solid var(--pharos-color-neutral-500);border-radius:var(--pharos-radius-sm);background-color:var(--pharos-color-base-white);color:var(--pharos-color-base-white);cursor:pointer;transition-property:background-color,border-color,box-shadow;transition-duration:var(--pharos-duration-fast);transition-timing-function:var(--pharos-easing-out);flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}._root_1v9tz_14:hover:not([data-disabled]):not([data-checked]):not([data-indeterminate]){border-color:var(--pharos-color-neutral-700)}._root_1v9tz_14[data-checked],._root_1v9tz_14[data-indeterminate]{background-color:var(--pharos-color-neutral-900);border-color:var(--pharos-color-neutral-900)}._root_1v9tz_14[aria-invalid=true]{border-color:var(--pharos-color-semantic-error-fg)}._root_1v9tz_14:focus-visible{box-shadow:0 0 0 2px var(--pharos-color-base-white), 0 0 0 4px var(--pharos-color-primary-600);outline:none}._root_1v9tz_14[data-disabled]{cursor:not-allowed;opacity:.5}._indicator_1v9tz_65{color:var(--pharos-color-base-white);justify-content:center;align-items:center;display:inline-flex}._icon_1v9tz_72{width:var(--pharos-spacing-3);height:var(--pharos-spacing-3)}._iconIndeterminate_1v9tz_79,._indicator_1v9tz_65[data-indeterminate] ._iconCheck_1v9tz_83{display:none}._indicator_1v9tz_65[data-indeterminate] ._iconIndeterminate_1v9tz_79{display:block}._control_1owey_5{box-sizing:border-box;align-items:center;gap:var(--pharos-spacing-2);border:1px solid var(--pharos-color-neutral-500);border-radius:var(--pharos-radius-md);background-color:var(--pharos-color-base-white);width:100%;font-family:var(--pharos-font-family-sans);transition-property:border-color,box-shadow;transition-duration:var(--pharos-duration-normal);transition-timing-function:var(--pharos-easing-out);display:flex}._control_1owey_5:focus-within{border-color:var(--pharos-color-primary-600);box-shadow:0 0 0 2px var(--pharos-color-base-white), 0 0 0 4px var(--pharos-color-primary-600)}._control_1owey_5[aria-invalid=true]{border-color:var(--pharos-color-semantic-error-fg)}._control_1owey_5:has([aria-invalid=true]){border-color:var(--pharos-color-semantic-error-fg)}._chips_1owey_61{gap:var(--pharos-spacing-1);padding:var(--pharos-spacing-1) var(--pharos-spacing-2);flex-wrap:wrap}._input_1owey_70{appearance:none;min-width:0;color:var(--pharos-color-neutral-900);font-family:var(--pharos-font-family-sans);font-size:var(--pharos-font-size-sm);font-weight:var(--pharos-font-weight-regular);background:0 0;border:none;outline:none;flex:auto;margin:0;line-height:1.25}._input_1owey_70::placeholder{color:var(--pharos-color-neutral-500);opacity:1}._input_1owey_70:disabled{cursor:not-allowed}._inputSizeSm_1owey_99{height:var(--pharos-spacing-8);padding:0 var(--pharos-spacing-3)}._inputSizeMd_1owey_104{height:var(--pharos-spacing-10);padding:0 var(--pharos-spacing-4)}._inputSizeLg_1owey_109{height:var(--pharos-spacing-12);padding:0 var(--pharos-spacing-6);font-size:var(--pharos-font-size-base)}._chipsInput_1owey_117{height:var(--pharos-spacing-7);padding:0 var(--pharos-spacing-1);flex:4rem}._trigger_1owey_124,._clear_1owey_125{width:var(--pharos-spacing-6);height:var(--pharos-spacing-6);color:var(--pharos-color-neutral-500);cursor:default;background:0 0;border:none;flex:none;justify-content:center;align-items:center;margin-inline-end:var(--pharos-spacing-1);padding:0;display:inline-flex}._trigger_1owey_124 svg,._clear_1owey_125 svg{width:1rem;height:1rem}._trigger_1owey_124[data-popup-open] svg{transition:transform var(--pharos-duration-fast) var(--pharos-easing-out);transform:rotate(180deg)}._chip_1owey_61{align-items:center;gap:var(--pharos-spacing-1);padding:0 var(--pharos-spacing-1) 0 var(--pharos-spacing-2);height:var(--pharos-spacing-6);border-radius:var(--pharos-radius-sm);background-color:var(--pharos-color-neutral-100);color:var(--pharos-color-neutral-900);font-size:var(--pharos-font-size-xs);display:inline-flex}._chip_1owey_61[data-highlighted]{background-color:var(--pharos-color-neutral-200)}._chipRemove_1owey_169{width:var(--pharos-spacing-4);height:var(--pharos-spacing-4);border-radius:var(--pharos-radius-sm);color:var(--pharos-color-neutral-500);cursor:default;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex}._chipRemove_1owey_169:hover{color:var(--pharos-color-neutral-900)}._chipRemove_1owey_169 svg{width:.875rem;height:.875rem}._positioner_1owey_204{z-index:var(--pharos-z-index-popover,1500)}._content_1owey_193{box-sizing:border-box;width:var(--anchor-width);max-height:var(--available-height);padding:var(--pharos-spacing-1);background-color:var(--pharos-color-base-white);border:1px solid var(--pharos-color-neutral-200);border-radius:var(--pharos-radius-md);box-shadow:var(--pharos-shadow-lg);font-family:var(--pharos-font-family-sans);font-size:var(--pharos-font-size-sm);color:var(--pharos-color-neutral-900);transform-origin:var(--transform-origin);transition-property:opacity,transform;transition-duration:var(--pharos-duration-fast);transition-timing-function:var(--pharos-easing-out);outline:none;overflow-y:auto}._content_1owey_193[data-starting-style],._content_1owey_193[data-ending-style]{opacity:0;transform:scale(.96)}._item_1owey_14{align-items:flex-start;gap:var(--pharos-spacing-2);padding:var(--pharos-spacing-2) var(--pharos-spacing-3);border-radius:var(--pharos-radius-sm);color:var(--pharos-color-neutral-900);cursor:default;-webkit-user-select:none;user-select:none;scroll-margin:var(--pharos-spacing-1);outline:none;display:flex;position:relative}._item_1owey_14[data-highlighted]{background-color:var(--pharos-color-neutral-100)}._item_1owey_14[data-disabled]{color:var(--pharos-color-neutral-400);pointer-events:none}._itemText_1owey_14{overflow-wrap:anywhere;white-space:normal;flex:auto;min-width:0}._itemIndicator_1owey_275{block-size:1lh;color:var(--pharos-color-primary-600);flex:none;justify-content:center;align-items:center;display:inline-flex}._itemIndicator_1owey_275 svg{width:1rem;height:1rem}._empty_1owey_299{color:var(--pharos-color-neutral-500);text-align:center}._empty_1owey_299:not(:empty){padding:var(--pharos-spacing-3)}._label_1owey_309{padding:var(--pharos-spacing-2) var(--pharos-spacing-3) var(--pharos-spacing-1);font-size:var(--pharos-font-size-xs);font-weight:var(--pharos-font-weight-semibold);color:var(--pharos-color-neutral-600)}._separator_1owey_316{height:1px;margin:var(--pharos-spacing-1) 0;background-color:var(--pharos-color-neutral-200)}@media (pointer:coarse){._input_1owey_70{font-size:var(--pharos-font-size-base)}}._backdrop_1gqfj_20{z-index:var(--pharos-z-index-modal,1400);background-color:color-mix(in srgb, var(--pharos-color-base-black) 50%, transparent);transition:opacity var(--pharos-duration-normal) var(--pharos-easing-out);position:fixed;inset:0}._backdrop_1gqfj_20[data-starting-style],._backdrop_1gqfj_20[data-ending-style]{opacity:0}._content_1gqfj_34{transform-origin:50%;z-index:var(--pharos-z-index-modal,1400);box-sizing:border-box;width:calc(100% - 2 * var(--pharos-spacing-4));max-width:32rem;max-height:calc(100dvh - 2 * var(--pharos-spacing-6));gap:var(--pharos-spacing-4);padding:var(--pharos-spacing-6);background-color:var(--pharos-color-base-white);border-radius:var(--pharos-radius-lg);box-shadow:var(--pharos-shadow-xl);font-family:var(--pharos-font-family-sans);font-size:var(--pharos-font-size-sm);color:var(--pharos-color-neutral-900);transition-property:opacity,transform;transition-duration:var(--pharos-duration-fast);transition-timing-function:var(--pharos-easing-out);outline:none;flex-direction:column;display:flex;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}._content_1gqfj_34[data-starting-style],._content_1gqfj_34[data-ending-style]{opacity:0;transform:translate(-50%,-50%)scale(.96)}._header_1gqfj_77{gap:var(--pharos-spacing-1);flex-direction:column;display:flex}._title_1gqfj_83{font-size:var(--pharos-font-size-lg);font-weight:var(--pharos-font-weight-semibold);color:var(--pharos-color-neutral-900);margin:0;line-height:1.4}._description_1gqfj_91{font-size:var(--pharos-font-size-sm);color:var(--pharos-color-neutral-600);margin:0;line-height:1.5}._footer_1gqfj_98{gap:var(--pharos-spacing-2);justify-content:flex-end;margin-top:auto;display:flex}._positioner_yfokk_9{z-index:var(--pharos-z-index-popover,1500)}._content_yfokk_4{box-sizing:border-box;min-width:12rem;padding:var(--pharos-spacing-1);background-color:var(--pharos-color-base-white);border:1px solid var(--pharos-color-neutral-200);border-radius:var(--pharos-radius-md);box-shadow:var(--pharos-shadow-lg);font-family:var(--pharos-font-family-sans);color:var(--pharos-color-neutral-900);transform-origin:var(--transform-origin);transition-property:opacity,transform;transition-duration:var(--pharos-duration-fast);transition-timing-function:var(--pharos-easing-out)}._content_yfokk_4[data-starting-style],._content_yfokk_4[data-ending-style]{opacity:0;transform:scale(.96)}._item_yfokk_5{box-sizing:border-box;align-items:center;gap:var(--pharos-spacing-2);width:100%;padding:var(--pharos-spacing-1-5) var(--pharos-spacing-2);border-radius:var(--pharos-radius-sm);font-size:var(--pharos-font-size-sm);font-weight:var(--pharos-font-weight-medium);color:var(--pharos-color-neutral-700);cursor:default;-webkit-user-select:none;user-select:none;scroll-margin:var(--pharos-spacing-1);transition-property:background-color,color;transition-duration:var(--pharos-duration-fast);transition-timing-function:var(--pharos-easing-out);outline:none;line-height:1.25;display:flex}._item_yfokk_5[data-highlighted]{background-color:var(--pharos-color-neutral-100);color:var(--pharos-color-neutral-900)}._item_yfokk_5[data-disabled]{color:var(--pharos-color-neutral-500);opacity:.6;pointer-events:none}._item_yfokk_5>svg{flex-shrink:0;width:1rem;height:1rem}._itemDestructive_yfokk_114{color:var(--pharos-color-semantic-error-fg)}._itemDestructive_yfokk_114[data-highlighted]{background-color:var(--pharos-color-semantic-error-bg);color:var(--pharos-color-semantic-error-fg-hover)}._separator_yfokk_6{height:1px;margin:var(--pharos-spacing-1) calc(var(--pharos-spacing-1) * -1);background-color:var(--pharos-color-neutral-200)}._label_yfokk_6{padding:var(--pharos-spacing-1-5) var(--pharos-spacing-2);font-size:var(--pharos-font-size-sm);font-weight:var(--pharos-font-weight-semibold);color:var(--pharos-color-neutral-500)}._button_ltuh2_14{appearance:none;box-sizing:border-box;border-radius:var(--pharos-radius-full);-webkit-user-select:none;user-select:none;cursor:pointer;color:inherit;font-family:var(--pharos-font-family-sans);transition-property:color,background-color,border-color,box-shadow;transition-duration:var(--pharos-duration-normal);transition-timing-function:var(--pharos-easing-out);background-color:#0000;border:0 solid #0000;flex-shrink:0;justify-content:center;align-items:center;margin:0;padding:0;display:inline-flex}._button_ltuh2_14:focus-visible{box-shadow:0 0 0 2px var(--pharos-color-base-white), 0 0 0 4px var(--icon-button-focus-ring,var(--pharos-color-primary-600));outline:none}._button_ltuh2_14:disabled{pointer-events:none;cursor:not-allowed;opacity:.5}._primary_ltuh2_74{background-color:var(--pharos-color-neutral-900);color:var(--pharos-color-base-white);--icon-button-focus-ring:var(--pharos-color-primary-600)}._primary_ltuh2_74:hover{background-color:var(--pharos-color-neutral-700)}._primary_ltuh2_74:active{background-color:var(--pharos-color-neutral-950)}._secondary_ltuh2_88{background-color:var(--pharos-color-base-white);color:var(--pharos-color-neutral-900);border:1px solid var(--pharos-color-neutral-500);--icon-button-focus-ring:var(--pharos-color-primary-600)}._secondary_ltuh2_88:hover{background-color:var(--pharos-color-neutral-50)}._secondary_ltuh2_88:active{background-color:var(--pharos-color-neutral-100)}._ghost_ltuh2_107{color:var(--pharos-color-neutral-900);--icon-button-focus-ring:var(--pharos-color-primary-600);background-color:#0000}._ghost_ltuh2_107:hover{background-color:var(--pharos-color-neutral-100)}._ghost_ltuh2_107:active{background-color:var(--pharos-color-neutral-200)}._destructive_ltuh2_121{background-color:var(--pharos-color-semantic-error-fg);color:var(--pharos-color-semantic-error-on);--icon-button-focus-ring:var(--pharos-color-semantic-error-fg)}._destructive_ltuh2_121:hover{background-color:var(--pharos-color-semantic-error-fg-hover)}._destructive_ltuh2_121:active{background-color:var(--pharos-color-semantic-error-fg-active)}._sizeSm_ltuh2_150{width:var(--pharos-spacing-8);height:var(--pharos-spacing-8)}._sizeSm_ltuh2_150>svg{width:var(--pharos-spacing-4);height:var(--pharos-spacing-4)}._sizeMd_ltuh2_160{width:var(--pharos-spacing-10);height:var(--pharos-spacing-10)}._sizeMd_ltuh2_160>svg{width:var(--pharos-spacing-5);height:var(--pharos-spacing-5)}._sizeLg_ltuh2_170{width:var(--pharos-spacing-12);height:var(--pharos-spacing-12)}._sizeLg_ltuh2_170>svg{width:var(--pharos-spacing-6);height:var(--pharos-spacing-6)}@keyframes _pharos-spinner-spin_gg970_1{0%{transform:rotate(0)}to{transform:rotate(360deg)}}._spinner_gg970_28{color:currentColor;vertical-align:middle;justify-content:center;align-items:center;display:inline-flex}._icon_gg970_46{width:100%;height:100%;animation:_pharos-spinner-spin_gg970_1 var(--pharos-duration-slow,1s) linear infinite}@media (prefers-reduced-motion:reduce){._icon_gg970_46{animation-duration:4s}}._sizeSm_gg970_69{width:var(--pharos-spacing-4);height:var(--pharos-spacing-4)}._sizeMd_gg970_74{width:var(--pharos-spacing-5);height:var(--pharos-spacing-5)}._sizeLg_gg970_79{width:var(--pharos-spacing-6);height:var(--pharos-spacing-6)}._srOnly_gg970_87{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}._input_1ueoc_14{appearance:none;box-sizing:border-box;border:1px solid var(--pharos-color-neutral-500);border-radius:var(--pharos-radius-md);background-color:var(--pharos-color-base-white);width:100%;color:var(--pharos-color-neutral-900);font-family:var(--pharos-font-family-sans);font-size:var(--pharos-font-size-sm);font-weight:var(--pharos-font-weight-regular);transition-property:border-color,box-shadow;transition-duration:var(--pharos-duration-normal);transition-timing-function:var(--pharos-easing-out);margin:0;line-height:1.25}._input_1ueoc_14::placeholder{color:var(--pharos-color-neutral-500);opacity:1}._input_1ueoc_14:focus-visible{border-color:var(--pharos-color-primary-600);box-shadow:0 0 0 2px var(--pharos-color-base-white), 0 0 0 4px var(--pharos-color-primary-600);outline:none}._input_1ueoc_14:disabled{cursor:not-allowed;opacity:.5}._input_1ueoc_14[aria-invalid=true]{border-color:var(--pharos-color-semantic-error-fg)}._input_1ueoc_14[aria-invalid=true]:focus-visible{border-color:var(--pharos-color-semantic-error-fg);box-shadow:0 0 0 2px var(--pharos-color-base-white), 0 0 0 4px var(--pharos-color-semantic-error-fg)}._sizeSm_1ueoc_97{height:var(--pharos-spacing-8);padding:0 var(--pharos-spacing-3);font-size:var(--pharos-font-size-sm)}._sizeMd_1ueoc_103{height:var(--pharos-spacing-10);padding:0 var(--pharos-spacing-4);font-size:var(--pharos-font-size-sm)}._sizeLg_1ueoc_109{height:var(--pharos-spacing-12);padding:0 var(--pharos-spacing-6);font-size:var(--pharos-font-size-base)}@media (pointer:coarse){._input_1ueoc_14,._sizeSm_1ueoc_97,._sizeMd_1ueoc_103{font-size:var(--pharos-font-size-base)}}._positioner_1mqln_15{z-index:var(--pharos-z-index-popover,1500)}._content_1mqln_4{box-sizing:border-box;max-width:20rem;padding:var(--pharos-spacing-4);background-color:var(--pharos-color-base-white);border:1px solid var(--pharos-color-neutral-200);border-radius:var(--pharos-radius-md);box-shadow:var(--pharos-shadow-lg);font-family:var(--pharos-font-family-sans);font-size:var(--pharos-font-size-sm);color:var(--pharos-color-neutral-900);transform-origin:var(--transform-origin);transition-property:opacity,transform;transition-duration:var(--pharos-duration-fast);transition-timing-function:var(--pharos-easing-out);outline:none}._content_1mqln_4[data-starting-style],._content_1mqln_4[data-ending-style]{opacity:0;transform:scale(.96)}._title_1mqln_5{font-size:var(--pharos-font-size-base);font-weight:var(--pharos-font-weight-semibold);color:var(--pharos-color-neutral-900);margin:0;line-height:1.4}._description_1mqln_5{margin:var(--pharos-spacing-1) 0 0;font-size:var(--pharos-font-size-sm);color:var(--pharos-color-neutral-600);line-height:1.5}._group_rsllu_18{gap:var(--pharos-spacing-2);flex-direction:column;display:flex}._item_rsllu_24{box-sizing:border-box;width:var(--pharos-spacing-5);height:var(--pharos-spacing-5);border:1px solid var(--pharos-color-neutral-500);border-radius:var(--pharos-radius-full);background-color:var(--pharos-color-base-white);cursor:pointer;transition-property:background-color,border-color,box-shadow;transition-duration:var(--pharos-duration-fast);transition-timing-function:var(--pharos-easing-out);flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}._item_rsllu_24:hover:not([data-disabled]):not([data-checked]){border-color:var(--pharos-color-neutral-700)}._item_rsllu_24[data-checked]{border-color:var(--pharos-color-neutral-900)}._group_rsllu_18[aria-invalid=true] ._item_rsllu_24{border-color:var(--pharos-color-semantic-error-fg)}._item_rsllu_24:focus-visible{box-shadow:0 0 0 2px var(--pharos-color-base-white), 0 0 0 4px var(--pharos-color-primary-600);outline:none}._item_rsllu_24[data-disabled]{cursor:not-allowed;opacity:.5}._indicator_rsllu_75{width:var(--pharos-spacing-2);height:var(--pharos-spacing-2);border-radius:var(--pharos-radius-full);background-color:var(--pharos-color-neutral-900);display:inline-flex}._trigger_1qe34_35{appearance:none;box-sizing:border-box;justify-content:space-between;align-items:center;gap:var(--pharos-spacing-2);border:1px solid var(--pharos-color-neutral-500);border-radius:var(--pharos-radius-md);background-color:var(--pharos-color-base-white);width:100%;color:var(--pharos-color-neutral-900);font-family:var(--pharos-font-family-sans);font-size:var(--pharos-font-size-sm);font-weight:var(--pharos-font-weight-regular);text-align:start;cursor:default;transition-property:border-color,box-shadow;transition-duration:var(--pharos-duration-normal);transition-timing-function:var(--pharos-easing-out);margin:0;line-height:1.25;display:inline-flex}._trigger_1qe34_35:focus-visible{border-color:var(--pharos-color-primary-600);box-shadow:0 0 0 2px var(--pharos-color-base-white), 0 0 0 4px var(--pharos-color-primary-600);outline:none}._trigger_1qe34_35:disabled,._trigger_1qe34_35[data-disabled]{cursor:not-allowed;opacity:.5}._trigger_1qe34_35[aria-invalid=true]{border-color:var(--pharos-color-semantic-error-fg)}._trigger_1qe34_35[aria-invalid=true]:focus-visible{border-color:var(--pharos-color-semantic-error-fg);box-shadow:0 0 0 2px var(--pharos-color-base-white), 0 0 0 4px var(--pharos-color-semantic-error-fg)}._sizeSm_1qe34_92{height:var(--pharos-spacing-8);padding:0 var(--pharos-spacing-3);font-size:var(--pharos-font-size-sm)}._sizeMd_1qe34_98{height:var(--pharos-spacing-10);padding:0 var(--pharos-spacing-4);font-size:var(--pharos-font-size-sm)}._sizeLg_1qe34_104{height:var(--pharos-spacing-12);padding:0 var(--pharos-spacing-6);font-size:var(--pharos-font-size-base)}._value_1qe34_113{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}._value_1qe34_113[data-placeholder]{color:var(--pharos-color-neutral-500)}._icon_1qe34_127{color:var(--pharos-color-neutral-500);transition:transform var(--pharos-duration-fast) var(--pharos-easing-out);flex:none;justify-content:center;align-items:center;display:inline-flex}._icon_1qe34_127 svg{width:1rem;height:1rem}._icon_1qe34_127[data-popup-open]{transform:rotate(180deg)}._positioner_1qe34_24{z-index:var(--pharos-z-index-popover,1500)}._content_1qe34_146{box-sizing:border-box;width:var(--anchor-width);max-height:var(--available-height);padding:var(--pharos-spacing-1);background-color:var(--pharos-color-base-white);border:1px solid var(--pharos-color-neutral-200);border-radius:var(--pharos-radius-md);box-shadow:var(--pharos-shadow-lg);font-family:var(--pharos-font-family-sans);font-size:var(--pharos-font-size-sm);color:var(--pharos-color-neutral-900);transform-origin:var(--transform-origin);transition-property:opacity,transform;transition-duration:var(--pharos-duration-fast);transition-timing-function:var(--pharos-easing-out);outline:none;overflow-y:auto}._content_1qe34_146[data-starting-style],._content_1qe34_146[data-ending-style]{opacity:0;transform:scale(.96)}._item_1qe34_17{align-items:flex-start;gap:var(--pharos-spacing-2);padding:var(--pharos-spacing-2) var(--pharos-spacing-3);border-radius:var(--pharos-radius-sm);color:var(--pharos-color-neutral-900);cursor:default;-webkit-user-select:none;user-select:none;scroll-margin:var(--pharos-spacing-1);outline:none;display:flex;position:relative}._item_1qe34_17[data-highlighted]{background-color:var(--pharos-color-neutral-100)}._item_1qe34_17[data-disabled]{color:var(--pharos-color-neutral-400);pointer-events:none}._itemText_1qe34_17{overflow-wrap:anywhere;white-space:normal;flex:auto;min-width:0}._itemIndicator_1qe34_231{block-size:1lh;color:var(--pharos-color-primary-600);flex:none;justify-content:center;align-items:center;display:inline-flex}._itemIndicator_1qe34_231 svg{width:1rem;height:1rem}._label_1qe34_247{padding:var(--pharos-spacing-2) var(--pharos-spacing-3) var(--pharos-spacing-1);font-size:var(--pharos-font-size-xs);font-weight:var(--pharos-font-weight-semibold);color:var(--pharos-color-neutral-600)}._separator_1qe34_255{height:1px;margin:var(--pharos-spacing-1) 0;background-color:var(--pharos-color-neutral-200)}._separator_da90p_13{background-color:var(--pharos-color-neutral-200);border:0;flex-shrink:0;margin:0}._horizontal_da90p_29{width:100%;height:1px}._vertical_da90p_34{width:1px;height:100%}._backdrop_titsa_18{z-index:var(--pharos-z-index-modal,1400);background-color:color-mix(in srgb, var(--pharos-color-base-black) 50%, transparent);transition:opacity var(--pharos-duration-normal) var(--pharos-easing-out);position:fixed;inset:0}._backdrop_titsa_18[data-starting-style],._backdrop_titsa_18[data-ending-style]{opacity:0}._content_titsa_34{z-index:var(--pharos-z-index-modal,1400);box-sizing:border-box;gap:var(--pharos-spacing-4);padding:var(--pharos-spacing-6);background-color:var(--pharos-color-base-white);box-shadow:var(--pharos-shadow-xl);font-family:var(--pharos-font-family-sans);font-size:var(--pharos-font-size-sm);color:var(--pharos-color-neutral-900);transition:transform var(--pharos-duration-normal) var(--pharos-easing-out);outline:none;flex-direction:column;display:flex;position:fixed;overflow-y:auto}._sideRight_titsa_57{border-left:1px solid var(--pharos-color-neutral-200);width:min(24rem,100vw);height:100dvh;top:0;bottom:0;right:0}._sideRight_titsa_57[data-starting-style],._sideRight_titsa_57[data-ending-style]{transform:translate(100%)}._sideLeft_titsa_70{border-right:1px solid var(--pharos-color-neutral-200);width:min(24rem,100vw);height:100dvh;top:0;bottom:0;left:0}._sideLeft_titsa_70[data-starting-style],._sideLeft_titsa_70[data-ending-style]{transform:translate(-100%)}._sideTop_titsa_83{border-bottom:1px solid var(--pharos-color-neutral-200);width:100vw;max-height:100dvh;top:0;left:0;right:0}._sideTop_titsa_83[data-starting-style],._sideTop_titsa_83[data-ending-style]{transform:translateY(-100%)}._sideBottom_titsa_96{border-top:1px solid var(--pharos-color-neutral-200);width:100vw;max-height:100dvh;bottom:0;left:0;right:0}._sideBottom_titsa_96[data-starting-style],._sideBottom_titsa_96[data-ending-style]{transform:translateY(100%)}._header_titsa_110{gap:var(--pharos-spacing-1);flex-direction:column;display:flex}._title_titsa_116{font-size:var(--pharos-font-size-lg);font-weight:var(--pharos-font-weight-semibold);color:var(--pharos-color-neutral-900);margin:0;line-height:1.4}._description_titsa_124{font-size:var(--pharos-font-size-sm);color:var(--pharos-color-neutral-600);margin:0;line-height:1.5}._footer_titsa_131{gap:var(--pharos-spacing-2);justify-content:flex-end;margin-top:auto;display:flex}._root_5v2er_17{box-sizing:border-box;width:var(--pharos-spacing-10);height:var(--pharos-spacing-6);padding:var(--pharos-spacing-1);border-radius:var(--pharos-radius-full);background-color:var(--pharos-color-neutral-300);cursor:pointer;transition-property:background-color,box-shadow;transition-duration:var(--pharos-duration-fast);transition-timing-function:var(--pharos-easing-out);border:none;flex-shrink:0;align-items:center;display:inline-flex}._root_5v2er_17:hover:not([data-disabled]):not([data-checked]){background-color:var(--pharos-color-neutral-400)}._root_5v2er_17[data-checked]{background-color:var(--pharos-color-neutral-900)}._root_5v2er_17[data-checked]:hover:not([data-disabled]){background-color:var(--pharos-color-neutral-700)}._root_5v2er_17[aria-invalid=true]{box-shadow:inset 0 0 0 1px var(--pharos-color-semantic-error-fg)}._root_5v2er_17:focus-visible{box-shadow:0 0 0 2px var(--pharos-color-base-white), 0 0 0 4px var(--pharos-color-primary-600);outline:none}._root_5v2er_17[data-disabled]{cursor:not-allowed;opacity:.5}._thumb_5v2er_72{box-sizing:border-box;width:var(--pharos-spacing-4);height:var(--pharos-spacing-4);border:1px solid var(--pharos-color-neutral-500);border-radius:var(--pharos-radius-full);background-color:var(--pharos-color-base-white);transition-property:transform;transition-duration:var(--pharos-duration-fast);transition-timing-function:var(--pharos-easing-out)}._root_5v2er_17[data-checked] ._thumb_5v2er_72{transform:translateX(var(--pharos-spacing-4))}._textarea_145hb_21{appearance:none;box-sizing:border-box;border:1px solid var(--pharos-color-neutral-500);border-radius:var(--pharos-radius-md);background-color:var(--pharos-color-base-white);width:100%;color:var(--pharos-color-neutral-900);resize:vertical;font-family:var(--pharos-font-family-sans);font-size:var(--pharos-font-size-sm);font-weight:var(--pharos-font-weight-regular);transition-property:border-color,box-shadow;transition-duration:var(--pharos-duration-normal);transition-timing-function:var(--pharos-easing-out);margin:0;line-height:1.5}._textarea_145hb_21::placeholder{color:var(--pharos-color-neutral-500);opacity:1}._textarea_145hb_21:focus-visible{border-color:var(--pharos-color-primary-600);box-shadow:0 0 0 2px var(--pharos-color-base-white), 0 0 0 4px var(--pharos-color-primary-600);outline:none}._textarea_145hb_21:disabled{cursor:not-allowed;opacity:.5;resize:none}._textarea_145hb_21[aria-invalid=true]{border-color:var(--pharos-color-semantic-error-fg)}._textarea_145hb_21[aria-invalid=true]:focus-visible{border-color:var(--pharos-color-semantic-error-fg);box-shadow:0 0 0 2px var(--pharos-color-base-white), 0 0 0 4px var(--pharos-color-semantic-error-fg)}._sizeSm_145hb_113{min-height:var(--pharos-spacing-16);padding:var(--pharos-spacing-2) var(--pharos-spacing-3);font-size:var(--pharos-font-size-sm)}._sizeMd_145hb_119{min-height:var(--pharos-spacing-20);padding:var(--pharos-spacing-2-5) var(--pharos-spacing-4);font-size:var(--pharos-font-size-sm)}._sizeLg_145hb_125{min-height:var(--pharos-spacing-24);padding:var(--pharos-spacing-3) var(--pharos-spacing-6);font-size:var(--pharos-font-size-base)}@media (pointer:coarse){._textarea_145hb_21,._sizeSm_145hb_113,._sizeMd_145hb_119{font-size:var(--pharos-font-size-base)}}._viewport_b05po_18{--pharos-toast-edge-gap:var(--pharos-spacing-4);z-index:var(--pharos-z-index-toast,1700);box-sizing:border-box;inline-size:min(22.5rem, calc(100% - 2 * var(--pharos-toast-edge-gap)));gap:var(--pharos-spacing-2);pointer-events:none;outline:none;flex-direction:column;display:flex;position:fixed}._viewport_b05po_18[data-pharos-position^=top]{inset-block-start:var(--pharos-toast-offset,var(--pharos-toast-edge-gap))}._viewport_b05po_18[data-pharos-position^=bottom]{flex-direction:column-reverse;inset-block-end:var(--pharos-toast-offset,var(--pharos-toast-edge-gap))}._viewport_b05po_18[data-pharos-position$=start]{inset-inline-start:var(--pharos-toast-edge-gap)}._viewport_b05po_18[data-pharos-position$=end]{inset-inline-end:var(--pharos-toast-edge-gap)}._viewport_b05po_18[data-pharos-position$=center]{margin-inline:auto;inset-inline:0}._toast_b05po_61{--pharos-toast-enter-shift:calc(-1 * var(--pharos-spacing-4));box-sizing:border-box;pointer-events:auto;background-color:var(--pharos-color-surface-card,var(--pharos-color-base-white));border:1px solid var(--pharos-color-border-subtle,var(--pharos-color-neutral-200));border-radius:var(--pharos-radius-lg);box-shadow:var(--pharos-shadow-lg);font-family:var(--pharos-font-family-sans);font-size:var(--pharos-font-size-sm);color:var(--pharos-color-neutral-900);transform:translate(var(--toast-swipe-movement-x,0), var(--toast-swipe-movement-y,0));transition-property:opacity,transform;transition-duration:var(--pharos-duration-normal);transition-timing-function:var(--pharos-easing-out);line-height:1.43}._viewport_b05po_18[data-pharos-position^=bottom] ._toast_b05po_61{--pharos-toast-enter-shift:var(--pharos-spacing-4)}._toast_b05po_61[data-starting-style],._toast_b05po_61[data-ending-style]{opacity:0;transform:translateY(var(--pharos-toast-enter-shift))}._toast_b05po_61[data-ending-style][data-swipe-direction=left]{transform:translateX(calc(var(--toast-swipe-movement-x,0) - 100%))}._toast_b05po_61[data-ending-style][data-swipe-direction=right]{transform:translateX(calc(var(--toast-swipe-movement-x,0) + 100%))}._toast_b05po_61[data-limited]{opacity:0}._toast_b05po_61:focus-visible{box-shadow:0 0 0 2px var(--pharos-color-base-white), 0 0 0 4px var(--pharos-color-primary-600), var(--pharos-shadow-lg);outline:none}@media (prefers-reduced-motion:reduce){._toast_b05po_61,._toast_b05po_61[data-starting-style],._toast_b05po_61[data-ending-style]{transition-property:opacity;transform:none}}._content_b05po_128{align-items:flex-start;gap:var(--pharos-spacing-3);padding-block:var(--pharos-spacing-3);padding-inline:var(--pharos-spacing-4) var(--pharos-spacing-2);display:flex}._icon_b05po_137{inline-size:var(--pharos-spacing-5);block-size:var(--pharos-spacing-5);flex-shrink:0}._text_b05po_143{gap:var(--pharos-spacing-0-5);overflow-wrap:anywhere;flex-direction:column;flex:1;min-inline-size:0;display:flex}._toast_b05po_61[data-pharos-variant=success] ._icon_b05po_137{color:var(--pharos-color-semantic-success-fg)}._toast_b05po_61[data-pharos-variant=info] ._icon_b05po_137{color:var(--pharos-color-semantic-info-fg)}._toast_b05po_61[data-pharos-variant=destructive] ._icon_b05po_137{color:var(--pharos-color-semantic-error-fg)}._toast_b05po_61[data-pharos-variant=warning] ._icon_b05po_137{color:var(--pharos-color-semantic-warning-on)}._warningFill_b05po_170{fill:var(--pharos-color-semantic-warning-fg);stroke:var(--pharos-color-semantic-warning-fg)}._title_b05po_177{font-size:var(--pharos-font-size-sm);line-height:inherit;font-weight:var(--pharos-font-weight-semibold);margin:0}._description_b05po_184{font-size:var(--pharos-font-size-sm);line-height:inherit;color:var(--pharos-color-neutral-600);margin:0}._action_b05po_191{align-self:flex-start;margin-block-start:var(--pharos-spacing-2)}._close_b05po_198{margin-block:calc(-1 * var(--pharos-spacing-1-5)) calc(-1 * var(--pharos-spacing-1-5));flex-shrink:0}
|
|
2
2
|
/*$vite$:1*/
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@code-sherpas/pharos-react",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.21.0",
|
|
4
4
|
"description": "React component library for Code Sherpas. Consumes @code-sherpas/pharos-tokens. Vite library mode + CSS Modules — no Tailwind, no CSS framework required at the consumer.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -97,6 +97,10 @@
|
|
|
97
97
|
"./Textarea": {
|
|
98
98
|
"types": "./dist/components/Textarea.d.ts",
|
|
99
99
|
"import": "./dist/components/Textarea.js"
|
|
100
|
+
},
|
|
101
|
+
"./Toast": {
|
|
102
|
+
"types": "./dist/components/Toast.d.ts",
|
|
103
|
+
"import": "./dist/components/Toast.js"
|
|
100
104
|
}
|
|
101
105
|
},
|
|
102
106
|
"sideEffects": [
|