var __getOwnPropNames = Object.getOwnPropertyNames; var __esm = (fn, res) => function __init() { return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res; }; // ../../node_modules/tsup/assets/esm_shims.js var init_esm_shims = __esm({ "../../node_modules/tsup/assets/esm_shims.js"() { } }); // src/index.tsx init_esm_shims(); // src/button/button.tsx init_esm_shims(); import * as React from "react"; // src/button/helper.tsx init_esm_shims(); var buttonStyling = { primary: { default: `text-white bg-custom-primary-100`, hover: `hover:bg-custom-primary-200`, pressed: `focus:text-custom-brand-40 focus:bg-custom-primary-200`, disabled: `cursor-not-allowed !bg-custom-primary-60 hover:bg-custom-primary-60` }, "accent-primary": { default: `bg-custom-primary-10 text-custom-primary-100`, hover: `hover:bg-custom-primary-20 hover:text-custom-primary-200`, pressed: `focus:bg-custom-primary-20`, disabled: `cursor-not-allowed !text-custom-primary-60` }, "outline-primary": { default: `text-custom-primary-100 bg-custom-background-100 border border-custom-primary-100`, hover: `hover:border-custom-primary-80 hover:bg-custom-primary-10`, pressed: `focus:text-custom-primary-80 focus:bg-custom-primary-10 focus:border-custom-primary-80`, disabled: `cursor-not-allowed !text-custom-primary-60 !border-custom-primary-60 ` }, "neutral-primary": { default: `text-custom-text-200 bg-custom-background-100 border border-custom-border-200`, hover: `hover:bg-custom-background-90`, pressed: `focus:text-custom-text-300 focus:bg-custom-background-90`, disabled: `cursor-not-allowed !text-custom-text-400` }, "link-primary": { default: `text-custom-primary-100 bg-custom-background-100`, hover: `hover:text-custom-primary-200`, pressed: `focus:text-custom-primary-80 `, disabled: `cursor-not-allowed !text-custom-primary-60` }, danger: { default: `text-white bg-red-500`, hover: ` hover:bg-red-600`, pressed: `focus:text-red-200 focus:bg-red-600`, disabled: `cursor-not-allowed !bg-red-300` }, "accent-danger": { default: `text-red-500 bg-red-50`, hover: `hover:text-red-600 hover:bg-red-100`, pressed: `focus:text-red-500 focus:bg-red-100`, disabled: `cursor-not-allowed !text-red-300` }, "outline-danger": { default: `text-red-500 bg-custom-background-100 border border-red-500`, hover: `hover:text-red-400 hover:border-red-400`, pressed: `focus:text-red-400 focus:border-red-400`, disabled: `cursor-not-allowed !text-red-300 !border-red-300` }, "link-danger": { default: `text-red-500 bg-custom-background-100`, hover: `hover:text-red-400`, pressed: `focus:text-red-400`, disabled: `cursor-not-allowed !text-red-300` }, "tertiary-danger": { default: `text-red-500 bg-custom-background-100 border border-red-200`, hover: `hover:bg-red-50 hover:border-red-300`, pressed: `focus:text-red-400`, disabled: `cursor-not-allowed !text-red-300` } }; var getButtonStyling = (variant, size, disabled = false) => { let _variant = ``; const currentVariant = buttonStyling[variant]; _variant = `${currentVariant.default} ${disabled ? currentVariant.disabled : currentVariant.hover} ${currentVariant.pressed}`; let _size = ``; if (size === "sm") _size = "px-3 py-1.5 font-medium text-xs rounded flex items-center gap-1.5 whitespace-nowrap transition-all justify-center inline" /* sm */; if (size === "md") _size = "px-4 py-1.5 font-medium text-sm rounded flex items-center gap-1.5 whitespace-nowrap transition-all justify-center inline" /* md */; if (size === "lg") _size = "px-5 py-2 font-medium text-base rounded flex items-center gap-1.5 whitespace-nowrap transition-all justify-center inline" /* lg */; return `${_variant} ${_size}`; }; var getIconStyling = (size) => { let icon = ``; if (size === "sm") icon = "h-3 w-3 flex justify-center items-center overflow-hidden my-0.5 flex-shrink-0" /* sm */; if (size === "md") icon = "h-3.5 w-3.5 flex justify-center items-center overflow-hidden my-0.5 flex-shrink-0" /* md */; if (size === "lg") icon = "h-4 w-4 flex justify-center items-center overflow-hidden my-0.5 flex-shrink-0" /* lg */; return icon; }; // src/button/button.tsx var Button = React.forwardRef( (props, ref) => { const { variant = "primary", size = "md", className = "", type = "button", loading = false, disabled = false, prependIcon = null, appendIcon = null, children, ...rest } = props; const buttonStyle = getButtonStyling(variant, size, disabled || loading); const buttonIconStyle = getIconStyling(size); return /* @__PURE__ */ React.createElement("button", { ref, type, className: `${buttonStyle} ${className}`, disabled: disabled || loading, ...rest }, prependIcon && /* @__PURE__ */ React.createElement("div", { className: buttonIconStyle }, React.cloneElement(prependIcon, { "stroke-width": 2 })), children, appendIcon && /* @__PURE__ */ React.createElement("div", { className: buttonIconStyle }, React.cloneElement(appendIcon, { "stroke-width": 2 }))); } ); Button.displayName = "plane-ui-button"; // src/button/toggle-switch.tsx init_esm_shims(); import * as React2 from "react"; // ../../node_modules/@headlessui/react/dist/hooks/use-iso-morphic-effect.js init_esm_shims(); import { useLayoutEffect as t, useEffect as c } from "react"; // ../../node_modules/@headlessui/react/dist/utils/env.js init_esm_shims(); var i = Object.defineProperty; var d = (t7, e, n) => e in t7 ? i(t7, e, { enumerable: true, configurable: true, writable: true, value: n }) : t7[e] = n; var r = (t7, e, n) => (d(t7, typeof e != "symbol" ? e + "" : e, n), n); var o = class { constructor() { r(this, "current", this.detect()); r(this, "handoffState", "pending"); r(this, "currentId", 0); } set(e) { this.current !== e && (this.handoffState = "pending", this.currentId = 0, this.current = e); } reset() { this.set(this.detect()); } nextId() { return ++this.currentId; } get isServer() { return this.current === "server"; } get isClient() { return this.current === "client"; } detect() { return typeof window == "undefined" || typeof document == "undefined" ? "server" : "client"; } handoff() { this.handoffState === "pending" && (this.handoffState = "complete"); } get isHandoffComplete() { return this.handoffState === "complete"; } }; var s = new o(); // ../../node_modules/@headlessui/react/dist/hooks/use-iso-morphic-effect.js var l = (e, f4) => { s.isServer ? c(e, f4) : t(e, f4); }; // ../../node_modules/@headlessui/react/dist/hooks/use-latest-value.js init_esm_shims(); import { useRef as t2 } from "react"; function s2(e) { let r3 = t2(e); return l(() => { r3.current = e; }, [e]), r3; } // ../../node_modules/@headlessui/react/dist/hooks/use-disposables.js init_esm_shims(); import { useState as s3, useEffect as o3 } from "react"; // ../../node_modules/@headlessui/react/dist/utils/disposables.js init_esm_shims(); // ../../node_modules/@headlessui/react/dist/utils/micro-task.js init_esm_shims(); function t3(e) { typeof queueMicrotask == "function" ? queueMicrotask(e) : Promise.resolve().then(e).catch((o9) => setTimeout(() => { throw o9; })); } // ../../node_modules/@headlessui/react/dist/utils/disposables.js function o2() { let n = [], r3 = { addEventListener(e, t7, s7, a3) { return e.addEventListener(t7, s7, a3), r3.add(() => e.removeEventListener(t7, s7, a3)); }, requestAnimationFrame(...e) { let t7 = requestAnimationFrame(...e); return r3.add(() => cancelAnimationFrame(t7)); }, nextFrame(...e) { return r3.requestAnimationFrame(() => r3.requestAnimationFrame(...e)); }, setTimeout(...e) { let t7 = setTimeout(...e); return r3.add(() => clearTimeout(t7)); }, microTask(...e) { let t7 = { current: true }; return t3(() => { t7.current && e[0](); }), r3.add(() => { t7.current = false; }); }, style(e, t7, s7) { let a3 = e.style.getPropertyValue(t7); return Object.assign(e.style, { [t7]: s7 }), this.add(() => { Object.assign(e.style, { [t7]: a3 }); }); }, group(e) { let t7 = o2(); return e(t7), this.add(() => t7.dispose()); }, add(e) { return n.push(e), () => { let t7 = n.indexOf(e); if (t7 >= 0) for (let s7 of n.splice(t7, 1)) s7(); }; }, dispose() { for (let e of n.splice(0)) e(); } }; return r3; } // ../../node_modules/@headlessui/react/dist/hooks/use-disposables.js function p() { let [e] = s3(o2); return o3(() => () => e.dispose(), [e]), e; } // ../../node_modules/@headlessui/react/dist/hooks/use-event.js init_esm_shims(); import a from "react"; var o4 = function(t7) { let e = s2(t7); return a.useCallback((...r3) => e.current(...r3), [e]); }; // ../../node_modules/@headlessui/react/dist/hooks/use-id.js init_esm_shims(); import t5 from "react"; // ../../node_modules/@headlessui/react/dist/hooks/use-server-handoff-complete.js init_esm_shims(); import * as t4 from "react"; function s4() { let r3 = typeof document == "undefined"; return "useSyncExternalStore" in t4 ? ((o9) => o9.useSyncExternalStore)(t4)(() => () => { }, () => false, () => !r3) : false; } function l2() { let r3 = s4(), [e, n] = t4.useState(s.isHandoffComplete); return e && s.isHandoffComplete === false && n(false), t4.useEffect(() => { e !== true && n(true); }, [e]), t4.useEffect(() => s.handoff(), []), r3 ? false : e; } // ../../node_modules/@headlessui/react/dist/hooks/use-id.js var o5; var I = (o5 = t5.useId) != null ? o5 : function() { let n = l2(), [e, u5] = t5.useState(n ? () => s.nextId() : null); return l(() => { e === null && u5(s.nextId()); }, [e]), e != null ? "" + e : void 0; }; // ../../node_modules/@headlessui/react/dist/utils/match.js init_esm_shims(); function u(r3, n, ...a3) { if (r3 in n) { let e = n[r3]; return typeof e == "function" ? e(...a3) : e; } let t7 = new Error(`Tried to handle "${r3}" but there is no handler defined. Only defined handlers are: ${Object.keys(n).map((e) => `"${e}"`).join(", ")}.`); throw Error.captureStackTrace && Error.captureStackTrace(t7, u), t7; } // ../../node_modules/@headlessui/react/dist/hooks/use-resolve-button-type.js init_esm_shims(); import { useState as o6 } from "react"; function i2(t7) { var n; if (t7.type) return t7.type; let e = (n = t7.as) != null ? n : "button"; if (typeof e == "string" && e.toLowerCase() === "button") return "button"; } function s5(t7, e) { let [n, u5] = o6(() => i2(t7)); return l(() => { u5(i2(t7)); }, [t7.type, t7.as]), l(() => { n || e.current && e.current instanceof HTMLButtonElement && !e.current.hasAttribute("type") && u5("button"); }, [n, e]), n; } // ../../node_modules/@headlessui/react/dist/hooks/use-sync-refs.js init_esm_shims(); import { useRef as l3, useEffect as i3 } from "react"; var u2 = Symbol(); function y(...t7) { let n = l3(t7); i3(() => { n.current = t7; }, [t7]); let c5 = o4((e) => { for (let o9 of n.current) o9 != null && (typeof o9 == "function" ? o9(e) : o9.current = e); }); return t7.every((e) => e == null || (e == null ? void 0 : e[u2])) ? void 0 : c5; } // ../../node_modules/@headlessui/react/dist/utils/render.js init_esm_shims(); import { Fragment as T, cloneElement as x, createElement as E, forwardRef as b, isValidElement as h } from "react"; // ../../node_modules/@headlessui/react/dist/utils/class-names.js init_esm_shims(); function t6(...r3) { return Array.from(new Set(r3.flatMap((n) => typeof n == "string" ? n.split(" ") : []))).filter(Boolean).join(" "); } // ../../node_modules/@headlessui/react/dist/utils/render.js var S = ((a3) => (a3[a3.None = 0] = "None", a3[a3.RenderStrategy = 1] = "RenderStrategy", a3[a3.Static = 2] = "Static", a3))(S || {}); var j = ((e) => (e[e.Unmount = 0] = "Unmount", e[e.Hidden = 1] = "Hidden", e))(j || {}); function X({ ourProps: r3, theirProps: t7, slot: e, defaultTag: a3, features: s7, visible: n = true, name: f4 }) { let o9 = N(t7, r3); if (n) return c2(o9, e, a3, f4); let u5 = s7 != null ? s7 : 0; if (u5 & 2) { let { static: l5 = false, ...p4 } = o9; if (l5) return c2(p4, e, a3, f4); } if (u5 & 1) { let { unmount: l5 = true, ...p4 } = o9; return u(l5 ? 0 : 1, { [0]() { return null; }, [1]() { return c2({ ...p4, hidden: true, style: { display: "none" } }, e, a3, f4); } }); } return c2(o9, e, a3, f4); } function c2(r3, t7 = {}, e, a3) { let { as: s7 = e, children: n, refName: f4 = "ref", ...o9 } = g(r3, ["unmount", "static"]), u5 = r3.ref !== void 0 ? { [f4]: r3.ref } : {}, l5 = typeof n == "function" ? n(t7) : n; "className" in o9 && o9.className && typeof o9.className == "function" && (o9.className = o9.className(t7)); let p4 = {}; if (t7) { let i6 = false, m3 = []; for (let [y4, d4] of Object.entries(t7)) typeof d4 == "boolean" && (i6 = true), d4 === true && m3.push(y4); i6 && (p4["data-headlessui-state"] = m3.join(" ")); } if (s7 === T && Object.keys(R(o9)).length > 0) { if (!h(l5) || Array.isArray(l5) && l5.length > 1) throw new Error(['Passing props on "Fragment"!', "", `The current component <${a3} /> is rendering a "Fragment".`, "However we need to passthrough the following props:", Object.keys(o9).map((d4) => ` - ${d4}`).join(` `), "", "You can apply a few solutions:", ['Add an `as="..."` prop, to ensure that we render an actual element instead of a "Fragment".', "Render a single element as the child so that we can forward the props onto that element."].map((d4) => ` - ${d4}`).join(` `)].join(` `)); let i6 = l5.props, m3 = typeof (i6 == null ? void 0 : i6.className) == "function" ? (...d4) => t6(i6 == null ? void 0 : i6.className(...d4), o9.className) : t6(i6 == null ? void 0 : i6.className, o9.className), y4 = m3 ? { className: m3 } : {}; return x(l5, Object.assign({}, N(l5.props, R(g(o9, ["ref"]))), p4, u5, w(l5.ref, u5.ref), y4)); } return E(s7, Object.assign({}, g(o9, ["ref"]), s7 !== T && u5, s7 !== T && p4), l5); } function w(...r3) { return { ref: r3.every((t7) => t7 == null) ? void 0 : (t7) => { for (let e of r3) e != null && (typeof e == "function" ? e(t7) : e.current = t7); } }; } function N(...r3) { var a3; if (r3.length === 0) return {}; if (r3.length === 1) return r3[0]; let t7 = {}, e = {}; for (let s7 of r3) for (let n in s7) n.startsWith("on") && typeof s7[n] == "function" ? ((a3 = e[n]) != null || (e[n] = []), e[n].push(s7[n])) : t7[n] = s7[n]; if (t7.disabled || t7["aria-disabled"]) return Object.assign(t7, Object.fromEntries(Object.keys(e).map((s7) => [s7, void 0]))); for (let s7 in e) Object.assign(t7, { [s7](n, ...f4) { let o9 = e[s7]; for (let u5 of o9) { if ((n instanceof Event || (n == null ? void 0 : n.nativeEvent) instanceof Event) && n.defaultPrevented) return; u5(n, ...f4); } } }); return t7; } function D(r3) { var t7; return Object.assign(b(r3), { displayName: (t7 = r3.displayName) != null ? t7 : r3.name }); } function R(r3) { let t7 = Object.assign({}, r3); for (let e in t7) t7[e] === void 0 && delete t7[e]; return t7; } function g(r3, t7 = []) { let e = Object.assign({}, r3); for (let a3 of t7) a3 in e && delete e[a3]; return e; } // ../../node_modules/@headlessui/react/dist/utils/bugs.js init_esm_shims(); function r2(n) { let e = n.parentElement, l5 = null; for (; e && !(e instanceof HTMLFieldSetElement); ) e instanceof HTMLLegendElement && (l5 = e), e = e.parentElement; let t7 = (e == null ? void 0 : e.getAttribute("disabled")) === ""; return t7 && i4(l5) ? false : t7; } function i4(n) { if (!n) return false; let e = n.previousElementSibling; for (; e !== null; ) { if (e instanceof HTMLLegendElement) return false; e = e.previousElementSibling; } return true; } // ../../node_modules/@headlessui/react/dist/utils/form.js init_esm_shims(); function p2(i6) { var t7, r3; let s7 = (t7 = i6 == null ? void 0 : i6.form) != null ? t7 : i6.closest("form"); if (s7) { for (let n of s7.elements) if (n !== i6 && (n.tagName === "INPUT" && n.type === "submit" || n.tagName === "BUTTON" && n.type === "submit" || n.nodeName === "INPUT" && n.type === "image")) { n.click(); return; } (r3 = s7.requestSubmit) == null || r3.call(s7); } } // ../../node_modules/@headlessui/react/dist/internal/hidden.js init_esm_shims(); var a2 = "div"; var p3 = ((e) => (e[e.None = 1] = "None", e[e.Focusable = 2] = "Focusable", e[e.Hidden = 4] = "Hidden", e))(p3 || {}); function s6(t7, o9) { let { features: n = 1, ...e } = t7, d4 = { ref: o9, "aria-hidden": (n & 2) === 2 ? true : void 0, style: { position: "fixed", top: 1, left: 1, width: 1, height: 0, padding: 0, margin: -1, overflow: "hidden", clip: "rect(0, 0, 0, 0)", whiteSpace: "nowrap", borderWidth: "0", ...(n & 4) === 4 && (n & 2) !== 2 && { display: "none" } } }; return X({ ourProps: d4, theirProps: e, slot: {}, defaultTag: a2, name: "Hidden" }); } var c3 = D(s6); // ../../node_modules/@headlessui/react/dist/components/keyboard.js init_esm_shims(); var o7 = ((r3) => (r3.Space = " ", r3.Enter = "Enter", r3.Escape = "Escape", r3.Backspace = "Backspace", r3.Delete = "Delete", r3.ArrowLeft = "ArrowLeft", r3.ArrowUp = "ArrowUp", r3.ArrowRight = "ArrowRight", r3.ArrowDown = "ArrowDown", r3.Home = "Home", r3.End = "End", r3.PageUp = "PageUp", r3.PageDown = "PageDown", r3.Tab = "Tab", r3))(o7 || {}); // ../../node_modules/@headlessui/react/dist/hooks/use-controllable.js init_esm_shims(); import { useRef as o8, useState as f } from "react"; function T2(l5, r3, c5) { let [i6, s7] = f(c5), e = l5 !== void 0, t7 = o8(e), u5 = o8(false), d4 = o8(false); return e && !t7.current && !u5.current ? (u5.current = true, t7.current = e, console.error("A component is changing from uncontrolled to controlled. This may be caused by the value changing from undefined to a defined value, which should not happen.")) : !e && t7.current && !d4.current && (d4.current = true, t7.current = e, console.error("A component is changing from controlled to uncontrolled. This may be caused by the value changing from a defined value to undefined, which should not happen.")), [e ? l5 : i6, o4((n) => (e || s7(n), r3 == null ? void 0 : r3(n)))]; } // ../../node_modules/@headlessui/react/dist/components/description/description.js init_esm_shims(); import u3, { createContext as m, useContext as D2, useMemo as l4, useState as T3 } from "react"; var d2 = m(null); function f2() { let r3 = D2(d2); if (r3 === null) { let t7 = new Error("You used a component, but it is not inside a relevant parent."); throw Error.captureStackTrace && Error.captureStackTrace(t7, f2), t7; } return r3; } function M() { let [r3, t7] = T3([]); return [r3.length > 0 ? r3.join(" ") : void 0, l4(() => function(e) { let i6 = o4((s7) => (t7((o9) => [...o9, s7]), () => t7((o9) => { let p4 = o9.slice(), c5 = p4.indexOf(s7); return c5 !== -1 && p4.splice(c5, 1), p4; }))), n = l4(() => ({ register: i6, slot: e.slot, name: e.name, props: e.props }), [i6, e.slot, e.name, e.props]); return u3.createElement(d2.Provider, { value: n }, e.children); }, [t7])]; } var S2 = "p"; function h2(r3, t7) { let a3 = I(), { id: e = `headlessui-description-${a3}`, ...i6 } = r3, n = f2(), s7 = y(t7); l(() => n.register(e), [e, n.register]); let o9 = { ref: s7, ...n.props, id: e }; return X({ ourProps: o9, theirProps: i6, slot: n.slot || {}, defaultTag: S2, name: n.name || "Description" }); } var y2 = D(h2); var b2 = Object.assign(y2, {}); // ../../node_modules/@headlessui/react/dist/components/label/label.js init_esm_shims(); import c4, { createContext as m2, useContext as L, useMemo as f3, useState as b3 } from "react"; var d3 = m2(null); function u4() { let o9 = L(d3); if (o9 === null) { let t7 = new Error("You used a