2024-06-23 09:25:48 +00:00
|
|
|
import { c as compute_rest_props, a as subscribe, j as hasContext, b as getContext, s as setContext, n as noop } from './lifecycle-px-3doLe.js';
|
2024-07-21 13:35:30 +00:00
|
|
|
import { c as create_ssr_component, v as validate_component, a as each, s as spread, f as escape_object, d as escape_attribute_value, e as escape, b as add_attribute } from './ssr-ipqebOFl.js';
|
2024-08-25 16:39:31 +00:00
|
|
|
import { m as makeElement, d as addMeltEventListener, o as omit, l as disabledAttr, b as executeCallbacks, s as styleToString, j as addEventListener, E as removeUndefined$1, p as portalAttr, e as effect, c as createElHelpers, k as kbd, G as isTouch, y as isElement, H as isDocument, h as isBrowser, n as noop$1 } from './index3-JA_ucGjW.js';
|
|
|
|
import { c as createDispatcher, a as createBitAttrs, r as removeUndefined, g as getOptionUpdater, e as toWritableStores, o as overridable, h as generateIds, f as getPositioningUpdater, n as nanoid, i as getPortalDestination, j as usePortal, m as useFloating } from './Toaster.svelte_svelte_type_style_lang-Bhmi0dH5.js';
|
|
|
|
import { c as cn, f as flyAndScale } from './button-JMjD_Bg6.js';
|
|
|
|
import { d as derived, w as writable } from './index2-D4yenS_5.js';
|
|
|
|
import { t as tick } from './scheduler-1Ju9dhbL.js';
|
2024-06-21 23:07:37 +00:00
|
|
|
import 'clsx';
|
|
|
|
|
|
|
|
const globals = typeof window !== "undefined" ? window : typeof globalThis !== "undefined" ? globalThis : (
|
|
|
|
// @ts-ignore Node typings have this
|
|
|
|
global
|
|
|
|
);
|
2024-08-25 16:39:31 +00:00
|
|
|
function makeHull(points) {
|
|
|
|
const newPoints = points.slice();
|
|
|
|
newPoints.sort(POINT_COMPARATOR);
|
|
|
|
return makeHullPresorted(newPoints);
|
|
|
|
}
|
|
|
|
function makeHullPresorted(points) {
|
|
|
|
if (points.length <= 1)
|
|
|
|
return points.slice();
|
|
|
|
const upperHull = [];
|
|
|
|
for (let i = 0; i < points.length; i++) {
|
|
|
|
const p = points[i];
|
|
|
|
while (upperHull.length >= 2) {
|
|
|
|
const q = upperHull[upperHull.length - 1];
|
|
|
|
const r = upperHull[upperHull.length - 2];
|
|
|
|
if ((q.x - r.x) * (p.y - r.y) >= (q.y - r.y) * (p.x - r.x))
|
|
|
|
upperHull.pop();
|
|
|
|
else
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
upperHull.push(p);
|
|
|
|
}
|
|
|
|
upperHull.pop();
|
|
|
|
const lowerHull = [];
|
|
|
|
for (let i = points.length - 1; i >= 0; i--) {
|
|
|
|
const p = points[i];
|
|
|
|
while (lowerHull.length >= 2) {
|
|
|
|
const q = lowerHull[lowerHull.length - 1];
|
|
|
|
const r = lowerHull[lowerHull.length - 2];
|
|
|
|
if ((q.x - r.x) * (p.y - r.y) >= (q.y - r.y) * (p.x - r.x))
|
|
|
|
lowerHull.pop();
|
|
|
|
else
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
lowerHull.push(p);
|
|
|
|
}
|
|
|
|
lowerHull.pop();
|
|
|
|
if (upperHull.length == 1 && lowerHull.length == 1 && upperHull[0].x == lowerHull[0].x && upperHull[0].y == lowerHull[0].y)
|
|
|
|
return upperHull;
|
|
|
|
else
|
|
|
|
return upperHull.concat(lowerHull);
|
|
|
|
}
|
|
|
|
function POINT_COMPARATOR(a, b) {
|
|
|
|
if (a.x < b.x)
|
|
|
|
return -1;
|
|
|
|
else if (a.x > b.x)
|
|
|
|
return 1;
|
|
|
|
else if (a.y < b.y)
|
|
|
|
return -1;
|
|
|
|
else if (a.y > b.y)
|
|
|
|
return 1;
|
|
|
|
else
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
function getPointsFromEl(el) {
|
|
|
|
const rect = el.getBoundingClientRect();
|
|
|
|
return [
|
|
|
|
{ x: rect.left, y: rect.top },
|
|
|
|
{ x: rect.right, y: rect.top },
|
|
|
|
{ x: rect.right, y: rect.bottom },
|
|
|
|
{ x: rect.left, y: rect.bottom }
|
|
|
|
];
|
|
|
|
}
|
|
|
|
function makeHullFromElements(els) {
|
|
|
|
const points = els.flatMap((el) => getPointsFromEl(el));
|
|
|
|
return makeHull(points);
|
|
|
|
}
|
|
|
|
function pointInPolygon(point, polygon) {
|
|
|
|
let inside = false;
|
|
|
|
for (let i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {
|
|
|
|
const xi = polygon[i].x;
|
|
|
|
const yi = polygon[i].y;
|
|
|
|
const xj = polygon[j].x;
|
|
|
|
const yj = polygon[j].y;
|
|
|
|
const intersect = yi > point.y !== yj > point.y && point.x < (xj - xi) * (point.y - yi) / (yj - yi) + xi;
|
|
|
|
if (intersect)
|
|
|
|
inside = !inside;
|
|
|
|
}
|
|
|
|
return inside;
|
|
|
|
}
|
2024-06-21 23:07:37 +00:00
|
|
|
function createLabel() {
|
|
|
|
const root = makeElement("label", {
|
|
|
|
action: (node) => {
|
|
|
|
const mouseDown = addMeltEventListener(node, "mousedown", (e) => {
|
|
|
|
if (!e.defaultPrevented && e.detail > 1) {
|
|
|
|
e.preventDefault();
|
|
|
|
}
|
|
|
|
});
|
|
|
|
return {
|
|
|
|
destroy: mouseDown
|
|
|
|
};
|
|
|
|
}
|
|
|
|
});
|
|
|
|
return {
|
|
|
|
elements: {
|
|
|
|
root
|
|
|
|
}
|
|
|
|
};
|
|
|
|
}
|
2024-08-25 16:39:31 +00:00
|
|
|
const defaults$1 = {
|
2024-06-21 23:07:37 +00:00
|
|
|
defaultChecked: false,
|
|
|
|
disabled: false,
|
|
|
|
required: false,
|
|
|
|
name: "",
|
|
|
|
value: ""
|
|
|
|
};
|
2024-08-25 16:39:31 +00:00
|
|
|
const { name: name$1 } = createElHelpers("switch");
|
2024-06-21 23:07:37 +00:00
|
|
|
function createSwitch(props) {
|
2024-08-25 16:39:31 +00:00
|
|
|
const propsWithDefaults = { ...defaults$1, ...props };
|
2024-06-21 23:07:37 +00:00
|
|
|
const options = toWritableStores(omit(propsWithDefaults, "checked"));
|
|
|
|
const { disabled, required, name: nameStore, value } = options;
|
|
|
|
const checkedWritable = propsWithDefaults.checked ?? writable(propsWithDefaults.defaultChecked);
|
|
|
|
const checked = overridable(checkedWritable, propsWithDefaults?.onCheckedChange);
|
|
|
|
function toggleSwitch() {
|
|
|
|
if (disabled.get())
|
|
|
|
return;
|
|
|
|
checked.update((prev) => !prev);
|
|
|
|
}
|
2024-08-25 16:39:31 +00:00
|
|
|
const root = makeElement(name$1(), {
|
2024-06-21 23:07:37 +00:00
|
|
|
stores: [checked, disabled, required],
|
|
|
|
returned: ([$checked, $disabled, $required]) => {
|
|
|
|
return {
|
|
|
|
"data-disabled": disabledAttr($disabled),
|
|
|
|
disabled: disabledAttr($disabled),
|
|
|
|
"data-state": $checked ? "checked" : "unchecked",
|
|
|
|
type: "button",
|
|
|
|
role: "switch",
|
|
|
|
"aria-checked": $checked ? "true" : "false",
|
|
|
|
"aria-required": $required ? "true" : void 0
|
|
|
|
};
|
|
|
|
},
|
|
|
|
action(node) {
|
|
|
|
const unsub = executeCallbacks(addMeltEventListener(node, "click", () => {
|
|
|
|
toggleSwitch();
|
|
|
|
}), addMeltEventListener(node, "keydown", (e) => {
|
|
|
|
if (e.key !== kbd.ENTER && e.key !== kbd.SPACE)
|
|
|
|
return;
|
|
|
|
e.preventDefault();
|
|
|
|
toggleSwitch();
|
|
|
|
}));
|
|
|
|
return {
|
|
|
|
destroy: unsub
|
|
|
|
};
|
|
|
|
}
|
|
|
|
});
|
2024-08-25 16:39:31 +00:00
|
|
|
const input = makeElement(name$1("input"), {
|
2024-06-21 23:07:37 +00:00
|
|
|
stores: [checked, nameStore, required, disabled, value],
|
|
|
|
returned: ([$checked, $name, $required, $disabled, $value]) => {
|
|
|
|
return {
|
|
|
|
type: "checkbox",
|
|
|
|
"aria-hidden": true,
|
|
|
|
hidden: true,
|
|
|
|
tabindex: -1,
|
|
|
|
name: $name,
|
|
|
|
value: $value,
|
|
|
|
checked: $checked,
|
|
|
|
required: $required,
|
|
|
|
disabled: disabledAttr($disabled),
|
|
|
|
style: styleToString({
|
|
|
|
position: "absolute",
|
|
|
|
opacity: 0,
|
|
|
|
"pointer-events": "none",
|
|
|
|
margin: 0,
|
|
|
|
transform: "translateX(-100%)"
|
|
|
|
})
|
|
|
|
};
|
|
|
|
}
|
|
|
|
});
|
|
|
|
return {
|
|
|
|
elements: {
|
|
|
|
root,
|
|
|
|
input
|
|
|
|
},
|
|
|
|
states: {
|
|
|
|
checked
|
|
|
|
},
|
|
|
|
options
|
|
|
|
};
|
|
|
|
}
|
2024-08-25 16:39:31 +00:00
|
|
|
const defaults = {
|
|
|
|
positioning: {
|
|
|
|
placement: "bottom"
|
|
|
|
},
|
|
|
|
arrowSize: 8,
|
|
|
|
defaultOpen: false,
|
|
|
|
closeOnPointerDown: true,
|
|
|
|
openDelay: 1e3,
|
|
|
|
closeDelay: 0,
|
|
|
|
forceVisible: false,
|
|
|
|
portal: void 0,
|
|
|
|
closeOnEscape: true,
|
|
|
|
disableHoverableContent: false,
|
|
|
|
group: void 0
|
|
|
|
};
|
|
|
|
const { name } = createElHelpers("tooltip");
|
|
|
|
const groupMap = /* @__PURE__ */ new Map();
|
|
|
|
const tooltipIdParts = ["trigger", "content"];
|
|
|
|
function createTooltip(props) {
|
|
|
|
const withDefaults = { ...defaults, ...props };
|
|
|
|
const options = toWritableStores(omit(withDefaults, "open", "ids"));
|
|
|
|
const { positioning, arrowSize, closeOnPointerDown, openDelay, closeDelay, forceVisible, portal, closeOnEscape, disableHoverableContent, group } = options;
|
|
|
|
const openWritable = withDefaults.open ?? writable(withDefaults.defaultOpen);
|
|
|
|
const open = overridable(openWritable, withDefaults?.onOpenChange);
|
|
|
|
const openReason = writable(null);
|
|
|
|
const ids = toWritableStores({ ...generateIds(tooltipIdParts), ...withDefaults.ids });
|
|
|
|
let clickedTrigger = false;
|
|
|
|
const getEl = (part) => {
|
|
|
|
if (!isBrowser)
|
|
|
|
return null;
|
|
|
|
return document.getElementById(ids[part].get());
|
|
|
|
};
|
|
|
|
let openTimeout = null;
|
|
|
|
let closeTimeout = null;
|
|
|
|
function openTooltip(reason) {
|
|
|
|
if (closeTimeout) {
|
|
|
|
window.clearTimeout(closeTimeout);
|
|
|
|
closeTimeout = null;
|
|
|
|
}
|
|
|
|
if (!openTimeout) {
|
|
|
|
openTimeout = window.setTimeout(() => {
|
|
|
|
open.set(true);
|
|
|
|
openReason.update((prev) => prev ?? reason);
|
|
|
|
openTimeout = null;
|
|
|
|
}, openDelay.get());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
function closeTooltip(isBlur) {
|
|
|
|
if (openTimeout) {
|
|
|
|
window.clearTimeout(openTimeout);
|
|
|
|
openTimeout = null;
|
|
|
|
}
|
|
|
|
if (isBlur && isMouseInTooltipArea) {
|
|
|
|
openReason.set("pointer");
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
if (!closeTimeout) {
|
|
|
|
closeTimeout = window.setTimeout(() => {
|
|
|
|
open.set(false);
|
|
|
|
openReason.set(null);
|
|
|
|
if (isBlur)
|
|
|
|
clickedTrigger = false;
|
|
|
|
closeTimeout = null;
|
|
|
|
}, closeDelay.get());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
const isVisible = derived([open, forceVisible], ([$open, $forceVisible]) => {
|
|
|
|
return $open || $forceVisible;
|
|
|
|
});
|
|
|
|
const trigger = makeElement(name("trigger"), {
|
|
|
|
stores: [ids.content, ids.trigger, open],
|
|
|
|
returned: ([$contentId, $triggerId, $open]) => {
|
|
|
|
return {
|
|
|
|
"aria-describedby": $contentId,
|
|
|
|
id: $triggerId,
|
|
|
|
"data-state": $open ? "open" : "closed"
|
|
|
|
};
|
|
|
|
},
|
|
|
|
action: (node) => {
|
|
|
|
const keydownHandler = (e) => {
|
|
|
|
if (closeOnEscape.get() && e.key === kbd.ESCAPE) {
|
|
|
|
if (openTimeout) {
|
|
|
|
window.clearTimeout(openTimeout);
|
|
|
|
openTimeout = null;
|
|
|
|
}
|
|
|
|
open.set(false);
|
|
|
|
}
|
|
|
|
};
|
|
|
|
const unsub = executeCallbacks(addMeltEventListener(node, "pointerdown", () => {
|
|
|
|
const $closeOnPointerDown = closeOnPointerDown.get();
|
|
|
|
if (!$closeOnPointerDown)
|
|
|
|
return;
|
|
|
|
open.set(false);
|
|
|
|
clickedTrigger = true;
|
|
|
|
if (openTimeout) {
|
|
|
|
window.clearTimeout(openTimeout);
|
|
|
|
openTimeout = null;
|
|
|
|
}
|
|
|
|
}), addMeltEventListener(node, "pointerenter", (e) => {
|
|
|
|
if (isTouch(e))
|
|
|
|
return;
|
|
|
|
openTooltip("pointer");
|
|
|
|
}), addMeltEventListener(node, "pointerleave", (e) => {
|
|
|
|
if (isTouch(e))
|
|
|
|
return;
|
|
|
|
if (openTimeout) {
|
|
|
|
window.clearTimeout(openTimeout);
|
|
|
|
openTimeout = null;
|
|
|
|
}
|
|
|
|
}), addMeltEventListener(node, "focus", () => {
|
|
|
|
if (clickedTrigger)
|
|
|
|
return;
|
|
|
|
openTooltip("focus");
|
|
|
|
}), addMeltEventListener(node, "blur", () => closeTooltip(true)), addMeltEventListener(node, "keydown", keydownHandler), addEventListener(document, "keydown", keydownHandler));
|
|
|
|
return {
|
|
|
|
destroy: unsub
|
|
|
|
};
|
|
|
|
}
|
|
|
|
});
|
|
|
|
const content = makeElement(name("content"), {
|
|
|
|
stores: [isVisible, open, portal, ids.content],
|
|
|
|
returned: ([$isVisible, $open, $portal, $contentId]) => {
|
|
|
|
return removeUndefined$1({
|
|
|
|
role: "tooltip",
|
|
|
|
hidden: $isVisible ? void 0 : true,
|
|
|
|
tabindex: -1,
|
|
|
|
style: $isVisible ? void 0 : styleToString({ display: "none" }),
|
|
|
|
id: $contentId,
|
|
|
|
"data-portal": portalAttr($portal),
|
|
|
|
"data-state": $open ? "open" : "closed"
|
|
|
|
});
|
|
|
|
},
|
|
|
|
action: (node) => {
|
|
|
|
let unsubFloating = noop$1;
|
|
|
|
let unsubPortal = noop$1;
|
|
|
|
const unsubDerived = effect([isVisible, positioning, portal], ([$isVisible, $positioning, $portal]) => {
|
|
|
|
unsubPortal();
|
|
|
|
unsubFloating();
|
|
|
|
const triggerEl = getEl("trigger");
|
|
|
|
if (!$isVisible || !triggerEl)
|
|
|
|
return;
|
|
|
|
tick().then(() => {
|
|
|
|
unsubPortal();
|
|
|
|
unsubFloating();
|
|
|
|
const portalDest = getPortalDestination(node, $portal);
|
|
|
|
if (portalDest)
|
|
|
|
unsubPortal = usePortal(node, portalDest).destroy;
|
|
|
|
unsubFloating = useFloating(triggerEl, node, $positioning).destroy;
|
|
|
|
});
|
|
|
|
});
|
|
|
|
function handleScroll(e) {
|
|
|
|
if (!open.get())
|
|
|
|
return;
|
|
|
|
const target = e.target;
|
|
|
|
if (!isElement(target) && !isDocument(target))
|
|
|
|
return;
|
|
|
|
const triggerEl = getEl("trigger");
|
|
|
|
if (triggerEl && target.contains(triggerEl)) {
|
|
|
|
closeTooltip();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
const unsubEvents = executeCallbacks(addMeltEventListener(node, "pointerenter", () => openTooltip("pointer")), addMeltEventListener(node, "pointerdown", () => openTooltip("pointer")), addEventListener(window, "scroll", handleScroll, { capture: true }));
|
|
|
|
return {
|
|
|
|
destroy() {
|
|
|
|
unsubEvents();
|
|
|
|
unsubPortal();
|
|
|
|
unsubFloating();
|
|
|
|
unsubDerived();
|
|
|
|
}
|
|
|
|
};
|
|
|
|
}
|
|
|
|
});
|
|
|
|
const arrow = makeElement(name("arrow"), {
|
|
|
|
stores: arrowSize,
|
|
|
|
returned: ($arrowSize) => ({
|
|
|
|
"data-arrow": true,
|
|
|
|
style: styleToString({
|
|
|
|
position: "absolute",
|
|
|
|
width: `var(--arrow-size, ${$arrowSize}px)`,
|
|
|
|
height: `var(--arrow-size, ${$arrowSize}px)`
|
|
|
|
})
|
|
|
|
})
|
|
|
|
});
|
|
|
|
let isMouseInTooltipArea = false;
|
|
|
|
effect(open, ($open) => {
|
|
|
|
const currentGroup = group.get();
|
|
|
|
if (currentGroup === void 0 || currentGroup === false) {
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
if (!$open) {
|
|
|
|
if (groupMap.get(currentGroup) === open) {
|
|
|
|
groupMap.delete(currentGroup);
|
|
|
|
}
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
const currentOpen = groupMap.get(currentGroup);
|
|
|
|
currentOpen?.set(false);
|
|
|
|
groupMap.set(currentGroup, open);
|
|
|
|
});
|
|
|
|
effect([open, openReason], ([$open, $openReason]) => {
|
|
|
|
if (!$open || !isBrowser)
|
|
|
|
return;
|
|
|
|
return executeCallbacks(addEventListener(document, "mousemove", (e) => {
|
|
|
|
const contentEl = getEl("content");
|
|
|
|
const triggerEl = getEl("trigger");
|
|
|
|
if (!contentEl || !triggerEl)
|
|
|
|
return;
|
|
|
|
const polygonElements = disableHoverableContent.get() ? [triggerEl] : [triggerEl, contentEl];
|
|
|
|
const polygon = makeHullFromElements(polygonElements);
|
|
|
|
isMouseInTooltipArea = pointInPolygon({
|
|
|
|
x: e.clientX,
|
|
|
|
y: e.clientY
|
|
|
|
}, polygon);
|
|
|
|
if ($openReason !== "pointer")
|
|
|
|
return;
|
|
|
|
if (!isMouseInTooltipArea) {
|
|
|
|
closeTooltip();
|
|
|
|
}
|
|
|
|
}));
|
|
|
|
});
|
|
|
|
return {
|
|
|
|
ids,
|
|
|
|
elements: {
|
|
|
|
trigger,
|
|
|
|
content,
|
|
|
|
arrow
|
|
|
|
},
|
|
|
|
states: { open },
|
|
|
|
options
|
|
|
|
};
|
|
|
|
}
|
2024-06-21 23:07:37 +00:00
|
|
|
function getLabelData() {
|
|
|
|
const NAME = "label";
|
|
|
|
const PARTS = ["root"];
|
|
|
|
const getAttrs = createBitAttrs(NAME, PARTS);
|
|
|
|
return {
|
|
|
|
NAME,
|
|
|
|
getAttrs
|
|
|
|
};
|
|
|
|
}
|
|
|
|
const Label$1 = create_ssr_component(($$result, $$props, $$bindings, slots) => {
|
|
|
|
let builder;
|
|
|
|
let $$restProps = compute_rest_props($$props, ["asChild", "el"]);
|
|
|
|
let $root, $$unsubscribe_root;
|
|
|
|
let { asChild = false } = $$props;
|
|
|
|
let { el = void 0 } = $$props;
|
|
|
|
const { elements: { root } } = createLabel();
|
|
|
|
$$unsubscribe_root = subscribe(root, (value) => $root = value);
|
|
|
|
createDispatcher();
|
|
|
|
const { getAttrs } = getLabelData();
|
|
|
|
const attrs = getAttrs("root");
|
|
|
|
if ($$props.asChild === void 0 && $$bindings.asChild && asChild !== void 0)
|
|
|
|
$$bindings.asChild(asChild);
|
|
|
|
if ($$props.el === void 0 && $$bindings.el && el !== void 0)
|
|
|
|
$$bindings.el(el);
|
|
|
|
builder = $root;
|
|
|
|
{
|
|
|
|
Object.assign(builder, attrs);
|
|
|
|
}
|
|
|
|
$$unsubscribe_root();
|
|
|
|
return `${asChild ? `${slots.default ? slots.default({ builder }) : ``}` : `<label${spread([escape_object(builder), escape_object($$restProps)], {})}${add_attribute("this", el, 0)}>${slots.default ? slots.default({ builder }) : ``}</label>`}`;
|
|
|
|
});
|
|
|
|
function getSwitchData() {
|
|
|
|
const NAME = "switch";
|
|
|
|
const PARTS = ["root", "input", "thumb"];
|
|
|
|
return {
|
|
|
|
NAME,
|
|
|
|
PARTS
|
|
|
|
};
|
|
|
|
}
|
2024-08-25 16:39:31 +00:00
|
|
|
function setCtx$1(props) {
|
2024-06-21 23:07:37 +00:00
|
|
|
const { NAME, PARTS } = getSwitchData();
|
|
|
|
const getAttrs = createBitAttrs(NAME, PARTS);
|
|
|
|
const Switch2 = { ...createSwitch(removeUndefined(props)), getAttrs };
|
|
|
|
setContext(NAME, Switch2);
|
|
|
|
return {
|
|
|
|
...Switch2,
|
|
|
|
updateOption: getOptionUpdater(Switch2.options)
|
|
|
|
};
|
|
|
|
}
|
2024-08-25 16:39:31 +00:00
|
|
|
function getCtx$1() {
|
2024-06-21 23:07:37 +00:00
|
|
|
const { NAME } = getSwitchData();
|
|
|
|
return getContext(NAME);
|
|
|
|
}
|
|
|
|
const Switch_input = create_ssr_component(($$result, $$props, $$bindings, slots) => {
|
|
|
|
let inputValue;
|
|
|
|
let $$restProps = compute_rest_props($$props, ["el"]);
|
|
|
|
let $value, $$unsubscribe_value;
|
|
|
|
let $input, $$unsubscribe_input;
|
|
|
|
let $name, $$unsubscribe_name;
|
|
|
|
let $disabled, $$unsubscribe_disabled;
|
|
|
|
let $required, $$unsubscribe_required;
|
|
|
|
let { el = void 0 } = $$props;
|
2024-08-25 16:39:31 +00:00
|
|
|
const { elements: { input }, options: { value, name: name2, disabled, required } } = getCtx$1();
|
2024-06-21 23:07:37 +00:00
|
|
|
$$unsubscribe_input = subscribe(input, (value2) => $input = value2);
|
|
|
|
$$unsubscribe_value = subscribe(value, (value2) => $value = value2);
|
|
|
|
$$unsubscribe_name = subscribe(name2, (value2) => $name = value2);
|
|
|
|
$$unsubscribe_disabled = subscribe(disabled, (value2) => $disabled = value2);
|
|
|
|
$$unsubscribe_required = subscribe(required, (value2) => $required = value2);
|
|
|
|
if ($$props.el === void 0 && $$bindings.el && el !== void 0)
|
|
|
|
$$bindings.el(el);
|
|
|
|
inputValue = $value === void 0 || $value === "" ? "on" : $value;
|
|
|
|
$$unsubscribe_value();
|
|
|
|
$$unsubscribe_input();
|
|
|
|
$$unsubscribe_name();
|
|
|
|
$$unsubscribe_disabled();
|
|
|
|
$$unsubscribe_required();
|
|
|
|
return `<input${spread(
|
|
|
|
[
|
|
|
|
escape_object($input),
|
|
|
|
{ name: escape_attribute_value($name) },
|
|
|
|
{ disabled: $disabled || null },
|
|
|
|
{ required: $required || null },
|
|
|
|
{
|
|
|
|
value: escape_attribute_value(inputValue)
|
|
|
|
},
|
|
|
|
escape_object($$restProps)
|
|
|
|
],
|
|
|
|
{}
|
|
|
|
)}${add_attribute("this", el, 0)}>`;
|
|
|
|
});
|
|
|
|
const { Object: Object_1 } = globals;
|
|
|
|
const Switch$1 = create_ssr_component(($$result, $$props, $$bindings, slots) => {
|
|
|
|
let builder;
|
|
|
|
let attrs;
|
|
|
|
let $$restProps = compute_rest_props($$props, [
|
|
|
|
"checked",
|
|
|
|
"onCheckedChange",
|
|
|
|
"disabled",
|
|
|
|
"name",
|
|
|
|
"value",
|
|
|
|
"includeInput",
|
|
|
|
"required",
|
|
|
|
"asChild",
|
|
|
|
"inputAttrs",
|
|
|
|
"el"
|
|
|
|
]);
|
|
|
|
let $root, $$unsubscribe_root;
|
|
|
|
let { checked = void 0 } = $$props;
|
|
|
|
let { onCheckedChange = void 0 } = $$props;
|
|
|
|
let { disabled = void 0 } = $$props;
|
|
|
|
let { name: name2 = void 0 } = $$props;
|
|
|
|
let { value = void 0 } = $$props;
|
|
|
|
let { includeInput = true } = $$props;
|
|
|
|
let { required = void 0 } = $$props;
|
|
|
|
let { asChild = false } = $$props;
|
|
|
|
let { inputAttrs = void 0 } = $$props;
|
|
|
|
let { el = void 0 } = $$props;
|
2024-08-25 16:39:31 +00:00
|
|
|
const { elements: { root }, states: { checked: localChecked }, updateOption, getAttrs } = setCtx$1({
|
2024-06-21 23:07:37 +00:00
|
|
|
disabled,
|
|
|
|
name: name2,
|
|
|
|
value,
|
|
|
|
required,
|
|
|
|
defaultChecked: checked,
|
|
|
|
onCheckedChange: ({ next }) => {
|
|
|
|
if (checked !== next) {
|
|
|
|
onCheckedChange?.(next);
|
|
|
|
checked = next;
|
|
|
|
}
|
|
|
|
return next;
|
|
|
|
}
|
|
|
|
});
|
|
|
|
$$unsubscribe_root = subscribe(root, (value2) => $root = value2);
|
|
|
|
createDispatcher();
|
|
|
|
if ($$props.checked === void 0 && $$bindings.checked && checked !== void 0)
|
|
|
|
$$bindings.checked(checked);
|
|
|
|
if ($$props.onCheckedChange === void 0 && $$bindings.onCheckedChange && onCheckedChange !== void 0)
|
|
|
|
$$bindings.onCheckedChange(onCheckedChange);
|
|
|
|
if ($$props.disabled === void 0 && $$bindings.disabled && disabled !== void 0)
|
|
|
|
$$bindings.disabled(disabled);
|
|
|
|
if ($$props.name === void 0 && $$bindings.name && name2 !== void 0)
|
|
|
|
$$bindings.name(name2);
|
|
|
|
if ($$props.value === void 0 && $$bindings.value && value !== void 0)
|
|
|
|
$$bindings.value(value);
|
|
|
|
if ($$props.includeInput === void 0 && $$bindings.includeInput && includeInput !== void 0)
|
|
|
|
$$bindings.includeInput(includeInput);
|
|
|
|
if ($$props.required === void 0 && $$bindings.required && required !== void 0)
|
|
|
|
$$bindings.required(required);
|
|
|
|
if ($$props.asChild === void 0 && $$bindings.asChild && asChild !== void 0)
|
|
|
|
$$bindings.asChild(asChild);
|
|
|
|
if ($$props.inputAttrs === void 0 && $$bindings.inputAttrs && inputAttrs !== void 0)
|
|
|
|
$$bindings.inputAttrs(inputAttrs);
|
|
|
|
if ($$props.el === void 0 && $$bindings.el && el !== void 0)
|
|
|
|
$$bindings.el(el);
|
|
|
|
checked !== void 0 && localChecked.set(checked);
|
|
|
|
{
|
|
|
|
updateOption("disabled", disabled);
|
|
|
|
}
|
|
|
|
{
|
|
|
|
updateOption("name", name2);
|
|
|
|
}
|
|
|
|
{
|
|
|
|
updateOption("value", value);
|
|
|
|
}
|
|
|
|
{
|
|
|
|
updateOption("required", required);
|
|
|
|
}
|
|
|
|
builder = $root;
|
|
|
|
attrs = {
|
|
|
|
...getAttrs("root"),
|
|
|
|
"data-checked": checked ? "" : void 0
|
|
|
|
};
|
|
|
|
{
|
|
|
|
Object.assign(builder, attrs);
|
|
|
|
}
|
|
|
|
$$unsubscribe_root();
|
|
|
|
return `${asChild ? `${slots.default ? slots.default({ builder }) : ``}` : `<button${spread([escape_object(builder), { type: "button" }, escape_object($$restProps)], {})}${add_attribute("this", el, 0)}>${slots.default ? slots.default({ builder }) : ``}</button>`} ${includeInput ? `${validate_component(Switch_input, "SwitchInput").$$render($$result, Object_1.assign({}, inputAttrs), {}, {})}` : ``}`;
|
|
|
|
});
|
|
|
|
const Switch_thumb = create_ssr_component(($$result, $$props, $$bindings, slots) => {
|
|
|
|
let attrs;
|
|
|
|
let $$restProps = compute_rest_props($$props, ["asChild", "el"]);
|
|
|
|
let $checked, $$unsubscribe_checked;
|
|
|
|
let { asChild = false } = $$props;
|
|
|
|
let { el = void 0 } = $$props;
|
2024-08-25 16:39:31 +00:00
|
|
|
const { states: { checked }, getAttrs } = getCtx$1();
|
2024-06-21 23:07:37 +00:00
|
|
|
$$unsubscribe_checked = subscribe(checked, (value) => $checked = value);
|
|
|
|
if ($$props.asChild === void 0 && $$bindings.asChild && asChild !== void 0)
|
|
|
|
$$bindings.asChild(asChild);
|
|
|
|
if ($$props.el === void 0 && $$bindings.el && el !== void 0)
|
|
|
|
$$bindings.el(el);
|
|
|
|
attrs = {
|
|
|
|
...getAttrs("thumb"),
|
|
|
|
"data-state": $checked ? "checked" : "unchecked",
|
|
|
|
"data-checked": $checked ? "" : void 0
|
|
|
|
};
|
|
|
|
$$unsubscribe_checked();
|
|
|
|
return `${asChild ? `${slots.default ? slots.default({ attrs, checked: $checked }) : ``}` : `<span${spread([escape_object($$restProps), escape_object(attrs)], {})}${add_attribute("this", el, 0)}></span>`}`;
|
|
|
|
});
|
2024-08-25 16:39:31 +00:00
|
|
|
function getTooltipData() {
|
|
|
|
const NAME = "tooltip";
|
|
|
|
const PARTS = ["arrow", "content", "trigger"];
|
|
|
|
return {
|
|
|
|
NAME,
|
|
|
|
PARTS
|
|
|
|
};
|
|
|
|
}
|
|
|
|
function setCtx(props) {
|
|
|
|
const { NAME, PARTS } = getTooltipData();
|
|
|
|
const getAttrs = createBitAttrs(NAME, PARTS);
|
|
|
|
const tooltip = {
|
|
|
|
...createTooltip({
|
|
|
|
positioning: {
|
|
|
|
placement: "top",
|
|
|
|
gutter: 0
|
|
|
|
},
|
|
|
|
openDelay: 700,
|
|
|
|
...removeUndefined(props),
|
|
|
|
forceVisible: true
|
|
|
|
}),
|
|
|
|
getAttrs
|
|
|
|
};
|
|
|
|
setContext(NAME, tooltip);
|
|
|
|
return {
|
|
|
|
...tooltip,
|
|
|
|
updateOption: getOptionUpdater(tooltip.options)
|
|
|
|
};
|
|
|
|
}
|
|
|
|
function getCtx() {
|
|
|
|
const { NAME } = getTooltipData();
|
|
|
|
return getContext(NAME);
|
|
|
|
}
|
|
|
|
function updatePositioning(props) {
|
|
|
|
const defaultPlacement = {
|
|
|
|
side: "top",
|
|
|
|
align: "center",
|
|
|
|
sideOffset: 1
|
|
|
|
};
|
|
|
|
const withDefaults = { ...defaultPlacement, ...props };
|
|
|
|
const { options: { positioning } } = getCtx();
|
|
|
|
const updater = getPositioningUpdater(positioning);
|
|
|
|
updater({ ...withDefaults });
|
|
|
|
}
|
|
|
|
const Tooltip = create_ssr_component(($$result, $$props, $$bindings, slots) => {
|
|
|
|
let $idValues, $$unsubscribe_idValues;
|
|
|
|
let { closeOnEscape = void 0 } = $$props;
|
|
|
|
let { portal = void 0 } = $$props;
|
|
|
|
let { closeOnPointerDown = void 0 } = $$props;
|
|
|
|
let { openDelay = void 0 } = $$props;
|
|
|
|
let { closeDelay = void 0 } = $$props;
|
|
|
|
let { open = void 0 } = $$props;
|
|
|
|
let { onOpenChange = void 0 } = $$props;
|
|
|
|
let { disableHoverableContent = void 0 } = $$props;
|
|
|
|
let { group = void 0 } = $$props;
|
|
|
|
const { states: { open: localOpen }, updateOption, ids } = setCtx({
|
|
|
|
closeOnEscape,
|
|
|
|
portal,
|
|
|
|
closeOnPointerDown,
|
|
|
|
openDelay,
|
|
|
|
closeDelay,
|
|
|
|
forceVisible: true,
|
|
|
|
defaultOpen: open,
|
|
|
|
disableHoverableContent,
|
|
|
|
group,
|
|
|
|
onOpenChange: ({ next }) => {
|
|
|
|
if (open !== next) {
|
|
|
|
onOpenChange?.(next);
|
|
|
|
open = next;
|
|
|
|
}
|
|
|
|
return next;
|
|
|
|
},
|
|
|
|
positioning: { gutter: 0, offset: { mainAxis: 1 } }
|
|
|
|
});
|
|
|
|
const idValues = derived([ids.content, ids.trigger], ([$contentId, $triggerId]) => ({ content: $contentId, trigger: $triggerId }));
|
|
|
|
$$unsubscribe_idValues = subscribe(idValues, (value) => $idValues = value);
|
|
|
|
if ($$props.closeOnEscape === void 0 && $$bindings.closeOnEscape && closeOnEscape !== void 0)
|
|
|
|
$$bindings.closeOnEscape(closeOnEscape);
|
|
|
|
if ($$props.portal === void 0 && $$bindings.portal && portal !== void 0)
|
|
|
|
$$bindings.portal(portal);
|
|
|
|
if ($$props.closeOnPointerDown === void 0 && $$bindings.closeOnPointerDown && closeOnPointerDown !== void 0)
|
|
|
|
$$bindings.closeOnPointerDown(closeOnPointerDown);
|
|
|
|
if ($$props.openDelay === void 0 && $$bindings.openDelay && openDelay !== void 0)
|
|
|
|
$$bindings.openDelay(openDelay);
|
|
|
|
if ($$props.closeDelay === void 0 && $$bindings.closeDelay && closeDelay !== void 0)
|
|
|
|
$$bindings.closeDelay(closeDelay);
|
|
|
|
if ($$props.open === void 0 && $$bindings.open && open !== void 0)
|
|
|
|
$$bindings.open(open);
|
|
|
|
if ($$props.onOpenChange === void 0 && $$bindings.onOpenChange && onOpenChange !== void 0)
|
|
|
|
$$bindings.onOpenChange(onOpenChange);
|
|
|
|
if ($$props.disableHoverableContent === void 0 && $$bindings.disableHoverableContent && disableHoverableContent !== void 0)
|
|
|
|
$$bindings.disableHoverableContent(disableHoverableContent);
|
|
|
|
if ($$props.group === void 0 && $$bindings.group && group !== void 0)
|
|
|
|
$$bindings.group(group);
|
|
|
|
open !== void 0 && localOpen.set(open);
|
|
|
|
{
|
|
|
|
updateOption("closeOnEscape", closeOnEscape);
|
|
|
|
}
|
|
|
|
{
|
|
|
|
updateOption("portal", portal);
|
|
|
|
}
|
|
|
|
{
|
|
|
|
updateOption("closeOnPointerDown", closeOnPointerDown);
|
|
|
|
}
|
|
|
|
{
|
|
|
|
updateOption("openDelay", openDelay);
|
|
|
|
}
|
|
|
|
{
|
|
|
|
updateOption("closeDelay", closeDelay);
|
|
|
|
}
|
|
|
|
{
|
|
|
|
updateOption("group", group);
|
|
|
|
}
|
|
|
|
{
|
|
|
|
updateOption("disableHoverableContent", disableHoverableContent);
|
|
|
|
}
|
|
|
|
$$unsubscribe_idValues();
|
|
|
|
return `${slots.default ? slots.default({ ids: $idValues }) : ``}`;
|
|
|
|
});
|
|
|
|
const Tooltip_content$1 = create_ssr_component(($$result, $$props, $$bindings, slots) => {
|
|
|
|
let builder;
|
|
|
|
let $$restProps = compute_rest_props($$props, [
|
|
|
|
"transition",
|
|
|
|
"transitionConfig",
|
|
|
|
"inTransition",
|
|
|
|
"inTransitionConfig",
|
|
|
|
"outTransition",
|
|
|
|
"outTransitionConfig",
|
|
|
|
"asChild",
|
|
|
|
"id",
|
|
|
|
"side",
|
|
|
|
"align",
|
|
|
|
"sideOffset",
|
|
|
|
"alignOffset",
|
|
|
|
"collisionPadding",
|
|
|
|
"avoidCollisions",
|
|
|
|
"collisionBoundary",
|
|
|
|
"sameWidth",
|
|
|
|
"fitViewport",
|
|
|
|
"strategy",
|
|
|
|
"overlap",
|
|
|
|
"el"
|
|
|
|
]);
|
|
|
|
let $open, $$unsubscribe_open;
|
|
|
|
let $content, $$unsubscribe_content;
|
|
|
|
let { transition = void 0 } = $$props;
|
|
|
|
let { transitionConfig = void 0 } = $$props;
|
|
|
|
let { inTransition = void 0 } = $$props;
|
|
|
|
let { inTransitionConfig = void 0 } = $$props;
|
|
|
|
let { outTransition = void 0 } = $$props;
|
|
|
|
let { outTransitionConfig = void 0 } = $$props;
|
|
|
|
let { asChild = false } = $$props;
|
|
|
|
let { id = void 0 } = $$props;
|
|
|
|
let { side = "top" } = $$props;
|
|
|
|
let { align = "center" } = $$props;
|
|
|
|
let { sideOffset = 0 } = $$props;
|
|
|
|
let { alignOffset = 0 } = $$props;
|
|
|
|
let { collisionPadding = 8 } = $$props;
|
|
|
|
let { avoidCollisions = true } = $$props;
|
|
|
|
let { collisionBoundary = void 0 } = $$props;
|
|
|
|
let { sameWidth = false } = $$props;
|
|
|
|
let { fitViewport = false } = $$props;
|
|
|
|
let { strategy = "absolute" } = $$props;
|
|
|
|
let { overlap = false } = $$props;
|
|
|
|
let { el = void 0 } = $$props;
|
|
|
|
const { elements: { content }, states: { open }, ids, getAttrs } = getCtx();
|
|
|
|
$$unsubscribe_content = subscribe(content, (value) => $content = value);
|
|
|
|
$$unsubscribe_open = subscribe(open, (value) => $open = value);
|
|
|
|
createDispatcher();
|
|
|
|
const attrs = getAttrs("content");
|
|
|
|
if ($$props.transition === void 0 && $$bindings.transition && transition !== void 0)
|
|
|
|
$$bindings.transition(transition);
|
|
|
|
if ($$props.transitionConfig === void 0 && $$bindings.transitionConfig && transitionConfig !== void 0)
|
|
|
|
$$bindings.transitionConfig(transitionConfig);
|
|
|
|
if ($$props.inTransition === void 0 && $$bindings.inTransition && inTransition !== void 0)
|
|
|
|
$$bindings.inTransition(inTransition);
|
|
|
|
if ($$props.inTransitionConfig === void 0 && $$bindings.inTransitionConfig && inTransitionConfig !== void 0)
|
|
|
|
$$bindings.inTransitionConfig(inTransitionConfig);
|
|
|
|
if ($$props.outTransition === void 0 && $$bindings.outTransition && outTransition !== void 0)
|
|
|
|
$$bindings.outTransition(outTransition);
|
|
|
|
if ($$props.outTransitionConfig === void 0 && $$bindings.outTransitionConfig && outTransitionConfig !== void 0)
|
|
|
|
$$bindings.outTransitionConfig(outTransitionConfig);
|
|
|
|
if ($$props.asChild === void 0 && $$bindings.asChild && asChild !== void 0)
|
|
|
|
$$bindings.asChild(asChild);
|
|
|
|
if ($$props.id === void 0 && $$bindings.id && id !== void 0)
|
|
|
|
$$bindings.id(id);
|
|
|
|
if ($$props.side === void 0 && $$bindings.side && side !== void 0)
|
|
|
|
$$bindings.side(side);
|
|
|
|
if ($$props.align === void 0 && $$bindings.align && align !== void 0)
|
|
|
|
$$bindings.align(align);
|
|
|
|
if ($$props.sideOffset === void 0 && $$bindings.sideOffset && sideOffset !== void 0)
|
|
|
|
$$bindings.sideOffset(sideOffset);
|
|
|
|
if ($$props.alignOffset === void 0 && $$bindings.alignOffset && alignOffset !== void 0)
|
|
|
|
$$bindings.alignOffset(alignOffset);
|
|
|
|
if ($$props.collisionPadding === void 0 && $$bindings.collisionPadding && collisionPadding !== void 0)
|
|
|
|
$$bindings.collisionPadding(collisionPadding);
|
|
|
|
if ($$props.avoidCollisions === void 0 && $$bindings.avoidCollisions && avoidCollisions !== void 0)
|
|
|
|
$$bindings.avoidCollisions(avoidCollisions);
|
|
|
|
if ($$props.collisionBoundary === void 0 && $$bindings.collisionBoundary && collisionBoundary !== void 0)
|
|
|
|
$$bindings.collisionBoundary(collisionBoundary);
|
|
|
|
if ($$props.sameWidth === void 0 && $$bindings.sameWidth && sameWidth !== void 0)
|
|
|
|
$$bindings.sameWidth(sameWidth);
|
|
|
|
if ($$props.fitViewport === void 0 && $$bindings.fitViewport && fitViewport !== void 0)
|
|
|
|
$$bindings.fitViewport(fitViewport);
|
|
|
|
if ($$props.strategy === void 0 && $$bindings.strategy && strategy !== void 0)
|
|
|
|
$$bindings.strategy(strategy);
|
|
|
|
if ($$props.overlap === void 0 && $$bindings.overlap && overlap !== void 0)
|
|
|
|
$$bindings.overlap(overlap);
|
|
|
|
if ($$props.el === void 0 && $$bindings.el && el !== void 0)
|
|
|
|
$$bindings.el(el);
|
|
|
|
{
|
|
|
|
if (id) {
|
|
|
|
ids.content.set(id);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
builder = $content;
|
|
|
|
{
|
|
|
|
Object.assign(builder, attrs);
|
|
|
|
}
|
|
|
|
{
|
|
|
|
if ($open) {
|
|
|
|
updatePositioning({
|
|
|
|
side,
|
|
|
|
align,
|
|
|
|
sideOffset,
|
|
|
|
alignOffset,
|
|
|
|
collisionPadding,
|
|
|
|
avoidCollisions,
|
|
|
|
collisionBoundary,
|
|
|
|
sameWidth,
|
|
|
|
fitViewport,
|
|
|
|
strategy,
|
|
|
|
overlap
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
$$unsubscribe_open();
|
|
|
|
$$unsubscribe_content();
|
|
|
|
return `${asChild && $open ? `${slots.default ? slots.default({ builder }) : ``}` : `${transition && $open ? `<div${spread([escape_object(builder), escape_object($$restProps)], {})}${add_attribute("this", el, 0)}>${slots.default ? slots.default({ builder }) : ``}</div>` : `${inTransition && outTransition && $open ? `<div${spread([escape_object(builder), escape_object($$restProps)], {})}${add_attribute("this", el, 0)}>${slots.default ? slots.default({ builder }) : ``}</div>` : `${inTransition && $open ? `<div${spread([escape_object(builder), escape_object($$restProps)], {})}${add_attribute("this", el, 0)}>${slots.default ? slots.default({ builder }) : ``}</div>` : `${outTransition && $open ? `<div${spread([escape_object(builder), escape_object($$restProps)], {})}${add_attribute("this", el, 0)}>${slots.default ? slots.default({ builder }) : ``}</div>` : `${$open ? `<div${spread([escape_object(builder), escape_object($$restProps)], {})}${add_attribute("this", el, 0)}>${slots.default ? slots.default({ builder }) : ``}</div>` : ``}`}`}`}`}`}`;
|
|
|
|
});
|
|
|
|
const Tooltip_trigger = create_ssr_component(($$result, $$props, $$bindings, slots) => {
|
|
|
|
let builder;
|
|
|
|
let $$restProps = compute_rest_props($$props, ["asChild", "id", "el"]);
|
|
|
|
let $trigger, $$unsubscribe_trigger;
|
|
|
|
let { asChild = false } = $$props;
|
|
|
|
let { id = void 0 } = $$props;
|
|
|
|
let { el = void 0 } = $$props;
|
|
|
|
const { elements: { trigger }, ids, getAttrs } = getCtx();
|
|
|
|
$$unsubscribe_trigger = subscribe(trigger, (value) => $trigger = value);
|
|
|
|
createDispatcher();
|
|
|
|
const attrs = getAttrs("trigger");
|
|
|
|
if ($$props.asChild === void 0 && $$bindings.asChild && asChild !== void 0)
|
|
|
|
$$bindings.asChild(asChild);
|
|
|
|
if ($$props.id === void 0 && $$bindings.id && id !== void 0)
|
|
|
|
$$bindings.id(id);
|
|
|
|
if ($$props.el === void 0 && $$bindings.el && el !== void 0)
|
|
|
|
$$bindings.el(el);
|
|
|
|
{
|
|
|
|
if (id) {
|
|
|
|
ids.trigger.set(id);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
builder = $trigger;
|
|
|
|
{
|
|
|
|
Object.assign(builder, attrs);
|
|
|
|
}
|
|
|
|
$$unsubscribe_trigger();
|
|
|
|
return `${asChild ? `${slots.default ? slots.default({ builder }) : ``}` : `<button${spread([escape_object(builder), { type: "button" }, escape_object($$restProps)], {})}${add_attribute("this", el, 0)}>${slots.default ? slots.default({ builder }) : ``}</button>`}`;
|
|
|
|
});
|
|
|
|
const Tooltip_content = create_ssr_component(($$result, $$props, $$bindings, slots) => {
|
|
|
|
let $$restProps = compute_rest_props($$props, ["class", "sideOffset", "transition", "transitionConfig"]);
|
|
|
|
let { class: className = void 0 } = $$props;
|
|
|
|
let { sideOffset = 4 } = $$props;
|
|
|
|
let { transition = flyAndScale } = $$props;
|
|
|
|
let { transitionConfig = { y: 8, duration: 150 } } = $$props;
|
|
|
|
if ($$props.class === void 0 && $$bindings.class && className !== void 0)
|
|
|
|
$$bindings.class(className);
|
|
|
|
if ($$props.sideOffset === void 0 && $$bindings.sideOffset && sideOffset !== void 0)
|
|
|
|
$$bindings.sideOffset(sideOffset);
|
|
|
|
if ($$props.transition === void 0 && $$bindings.transition && transition !== void 0)
|
|
|
|
$$bindings.transition(transition);
|
|
|
|
if ($$props.transitionConfig === void 0 && $$bindings.transitionConfig && transitionConfig !== void 0)
|
|
|
|
$$bindings.transitionConfig(transitionConfig);
|
|
|
|
return `${validate_component(Tooltip_content$1, "TooltipPrimitive.Content").$$render(
|
|
|
|
$$result,
|
|
|
|
Object.assign(
|
|
|
|
{},
|
|
|
|
{ transition },
|
|
|
|
{ transitionConfig },
|
|
|
|
{ sideOffset },
|
|
|
|
{
|
|
|
|
class: cn("z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md", className)
|
|
|
|
},
|
|
|
|
$$restProps
|
|
|
|
),
|
|
|
|
{},
|
|
|
|
{
|
|
|
|
default: () => {
|
|
|
|
return `${slots.default ? slots.default({}) : ``}`;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
)}`;
|
|
|
|
});
|
|
|
|
const Root = Tooltip;
|
|
|
|
const Trigger = Tooltip_trigger;
|
2024-06-21 23:07:37 +00:00
|
|
|
const FORM_FIELD = Symbol("FORM_FIELD_CTX");
|
|
|
|
function setFormField(props) {
|
|
|
|
setContext(FORM_FIELD, props);
|
|
|
|
return props;
|
|
|
|
}
|
|
|
|
function getFormField() {
|
|
|
|
if (!hasContext(FORM_FIELD)) {
|
|
|
|
ctxError("Form.Field");
|
|
|
|
}
|
|
|
|
return getContext(FORM_FIELD);
|
|
|
|
}
|
|
|
|
const FORM_CONTROL = Symbol("FORM_CONTROL_CTX");
|
|
|
|
function setFormControl(props) {
|
|
|
|
setContext(FORM_CONTROL, props);
|
|
|
|
return props;
|
|
|
|
}
|
|
|
|
function getFormControl() {
|
|
|
|
if (!hasContext(FORM_CONTROL)) {
|
|
|
|
ctxError("<Control />");
|
|
|
|
}
|
|
|
|
return getContext(FORM_CONTROL);
|
|
|
|
}
|
|
|
|
function ctxError(ctx) {
|
|
|
|
throw new Error(`Unable to find \`${ctx}\` context. Did you forget to wrap the component in a \`${ctx}\`?`);
|
|
|
|
}
|
|
|
|
function getAriaDescribedBy({ fieldErrorsId = void 0, descriptionId = void 0, errors }) {
|
|
|
|
let describedBy = "";
|
|
|
|
if (descriptionId) {
|
|
|
|
describedBy += descriptionId + " ";
|
|
|
|
}
|
|
|
|
if (errors.length && fieldErrorsId) {
|
|
|
|
describedBy += fieldErrorsId;
|
|
|
|
}
|
|
|
|
return describedBy ? describedBy.trim() : void 0;
|
|
|
|
}
|
|
|
|
function getAriaRequired(constraints) {
|
|
|
|
if (!("required" in constraints))
|
|
|
|
return void 0;
|
|
|
|
return constraints.required ? "true" : void 0;
|
|
|
|
}
|
|
|
|
function getAriaInvalid(errors) {
|
|
|
|
return errors && errors.length ? "true" : void 0;
|
|
|
|
}
|
|
|
|
function getDataFsError(errors) {
|
|
|
|
return errors && errors.length ? "" : void 0;
|
|
|
|
}
|
|
|
|
function generateId() {
|
|
|
|
return nanoid(5);
|
|
|
|
}
|
|
|
|
function extractErrorArray(errors) {
|
|
|
|
if (Array.isArray(errors))
|
|
|
|
return errors;
|
|
|
|
if (typeof errors === "object" && "_errors" in errors) {
|
|
|
|
if (errors._errors !== void 0)
|
|
|
|
return errors._errors;
|
|
|
|
}
|
|
|
|
return [];
|
|
|
|
}
|
2024-08-09 18:09:22 +00:00
|
|
|
const Description = create_ssr_component(($$result, $$props, $$bindings, slots) => {
|
|
|
|
let descriptionAttrs;
|
|
|
|
let $$restProps = compute_rest_props($$props, ["id", "asChild", "el"]);
|
|
|
|
let $errors, $$unsubscribe_errors;
|
|
|
|
let $descriptionId, $$unsubscribe_descriptionId;
|
|
|
|
const { descriptionId, errors } = getFormField();
|
|
|
|
$$unsubscribe_descriptionId = subscribe(descriptionId, (value) => $descriptionId = value);
|
|
|
|
$$unsubscribe_errors = subscribe(errors, (value) => $errors = value);
|
|
|
|
let { id = generateId() } = $$props;
|
|
|
|
let { asChild = false } = $$props;
|
|
|
|
let { el = void 0 } = $$props;
|
|
|
|
if ($$props.id === void 0 && $$bindings.id && id !== void 0)
|
|
|
|
$$bindings.id(id);
|
|
|
|
if ($$props.asChild === void 0 && $$bindings.asChild && asChild !== void 0)
|
|
|
|
$$bindings.asChild(asChild);
|
|
|
|
if ($$props.el === void 0 && $$bindings.el && el !== void 0)
|
|
|
|
$$bindings.el(el);
|
|
|
|
{
|
|
|
|
descriptionId.set(id);
|
|
|
|
}
|
|
|
|
descriptionAttrs = {
|
|
|
|
id: $descriptionId,
|
|
|
|
"data-fs-error": getDataFsError($errors),
|
|
|
|
"data-fs-description": "",
|
|
|
|
...$$restProps
|
|
|
|
};
|
|
|
|
$$unsubscribe_errors();
|
|
|
|
$$unsubscribe_descriptionId();
|
|
|
|
return ` ${asChild ? `${slots.default ? slots.default({ descriptionAttrs }) : ``}` : `<div${spread([escape_object(descriptionAttrs)], {})}${add_attribute("this", el, 0)}>${slots.default ? slots.default({ descriptionAttrs }) : ``}</div>`}`;
|
|
|
|
});
|
2024-06-21 23:07:37 +00:00
|
|
|
function getValueAtPath(path, obj) {
|
|
|
|
const keys = path.split(/[[\].]/).filter(Boolean);
|
|
|
|
let value = obj;
|
|
|
|
for (const key of keys) {
|
|
|
|
if (typeof value !== "object" || value === null) {
|
|
|
|
return void 0;
|
|
|
|
}
|
|
|
|
value = value[key];
|
|
|
|
}
|
|
|
|
return value;
|
|
|
|
}
|
|
|
|
const Field = create_ssr_component(($$result, $$props, $$bindings, slots) => {
|
|
|
|
let formErrors;
|
|
|
|
let formConstraints;
|
|
|
|
let formTainted;
|
|
|
|
let formData;
|
|
|
|
let $formTainted, $$unsubscribe_formTainted = noop, $$subscribe_formTainted = () => ($$unsubscribe_formTainted(), $$unsubscribe_formTainted = subscribe(formTainted, ($$value) => $formTainted = $$value), formTainted);
|
|
|
|
let $formConstraints, $$unsubscribe_formConstraints = noop, $$subscribe_formConstraints = () => ($$unsubscribe_formConstraints(), $$unsubscribe_formConstraints = subscribe(formConstraints, ($$value) => $formConstraints = $$value), formConstraints);
|
|
|
|
let $formErrors, $$unsubscribe_formErrors = noop, $$subscribe_formErrors = () => ($$unsubscribe_formErrors(), $$unsubscribe_formErrors = subscribe(formErrors, ($$value) => $formErrors = $$value), formErrors);
|
|
|
|
let $formData, $$unsubscribe_formData = noop, $$subscribe_formData = () => ($$unsubscribe_formData(), $$unsubscribe_formData = subscribe(formData, ($$value) => $formData = $$value), formData);
|
|
|
|
let $errors, $$unsubscribe_errors;
|
|
|
|
let $tainted, $$unsubscribe_tainted;
|
|
|
|
let { form } = $$props;
|
|
|
|
let { name: name2 } = $$props;
|
|
|
|
const field = {
|
|
|
|
name: writable(name2),
|
|
|
|
errors: writable([]),
|
|
|
|
constraints: writable({}),
|
|
|
|
tainted: writable(false),
|
|
|
|
fieldErrorsId: writable(),
|
|
|
|
descriptionId: writable(),
|
|
|
|
form
|
|
|
|
};
|
|
|
|
const { tainted, errors } = field;
|
|
|
|
$$unsubscribe_tainted = subscribe(tainted, (value) => $tainted = value);
|
|
|
|
$$unsubscribe_errors = subscribe(errors, (value) => $errors = value);
|
|
|
|
setFormField(field);
|
|
|
|
if ($$props.form === void 0 && $$bindings.form && form !== void 0)
|
|
|
|
$$bindings.form(form);
|
|
|
|
if ($$props.name === void 0 && $$bindings.name && name2 !== void 0)
|
|
|
|
$$bindings.name(name2);
|
|
|
|
$$subscribe_formErrors({ errors: formErrors, constraints: formConstraints, tainted: formTainted, form: formData } = form, $$subscribe_formConstraints(), $$subscribe_formTainted(), $$subscribe_formData());
|
|
|
|
{
|
|
|
|
field.name.set(name2);
|
|
|
|
}
|
|
|
|
{
|
|
|
|
field.errors.set(extractErrorArray(getValueAtPath(name2, $formErrors)));
|
|
|
|
}
|
|
|
|
{
|
|
|
|
field.constraints.set(getValueAtPath(name2, $formConstraints) ?? {});
|
|
|
|
}
|
|
|
|
{
|
|
|
|
field.tainted.set($formTainted ? getValueAtPath(name2, $formTainted) === true : false);
|
|
|
|
}
|
|
|
|
$$unsubscribe_formTainted();
|
|
|
|
$$unsubscribe_formConstraints();
|
|
|
|
$$unsubscribe_formErrors();
|
|
|
|
$$unsubscribe_formData();
|
|
|
|
$$unsubscribe_errors();
|
|
|
|
$$unsubscribe_tainted();
|
|
|
|
return ` ${slots.default ? slots.default({
|
|
|
|
value: $formData[name2],
|
|
|
|
errors: $errors,
|
|
|
|
tainted: $tainted,
|
|
|
|
constraints: $formConstraints[name2]
|
|
|
|
}) : ``}`;
|
|
|
|
});
|
|
|
|
const Control$1 = create_ssr_component(($$result, $$props, $$bindings, slots) => {
|
|
|
|
let errorAttr;
|
|
|
|
let attrs;
|
|
|
|
let labelAttrs;
|
|
|
|
let $idStore, $$unsubscribe_idStore;
|
|
|
|
let $constraints, $$unsubscribe_constraints;
|
|
|
|
let $errors, $$unsubscribe_errors;
|
|
|
|
let $descriptionId, $$unsubscribe_descriptionId;
|
|
|
|
let $fieldErrorsId, $$unsubscribe_fieldErrorsId;
|
|
|
|
let $name, $$unsubscribe_name;
|
|
|
|
let { id = generateId() } = $$props;
|
|
|
|
const { name: name2, fieldErrorsId, descriptionId, errors, constraints } = getFormField();
|
|
|
|
$$unsubscribe_name = subscribe(name2, (value) => $name = value);
|
|
|
|
$$unsubscribe_fieldErrorsId = subscribe(fieldErrorsId, (value) => $fieldErrorsId = value);
|
|
|
|
$$unsubscribe_descriptionId = subscribe(descriptionId, (value) => $descriptionId = value);
|
|
|
|
$$unsubscribe_errors = subscribe(errors, (value) => $errors = value);
|
|
|
|
$$unsubscribe_constraints = subscribe(constraints, (value) => $constraints = value);
|
|
|
|
const controlContext = {
|
|
|
|
id: writable(id),
|
|
|
|
attrs: writable(),
|
|
|
|
labelAttrs: writable()
|
|
|
|
};
|
|
|
|
const { id: idStore } = controlContext;
|
|
|
|
$$unsubscribe_idStore = subscribe(idStore, (value) => $idStore = value);
|
|
|
|
setFormControl(controlContext);
|
|
|
|
if ($$props.id === void 0 && $$bindings.id && id !== void 0)
|
|
|
|
$$bindings.id(id);
|
|
|
|
{
|
|
|
|
controlContext.id.set(id);
|
|
|
|
}
|
|
|
|
errorAttr = getDataFsError($errors);
|
|
|
|
attrs = {
|
|
|
|
name: $name,
|
|
|
|
id: $idStore,
|
|
|
|
"data-fs-error": errorAttr,
|
|
|
|
"aria-describedby": getAriaDescribedBy({
|
|
|
|
fieldErrorsId: $fieldErrorsId,
|
|
|
|
descriptionId: $descriptionId,
|
|
|
|
errors: $errors
|
|
|
|
}),
|
|
|
|
"aria-invalid": getAriaInvalid($errors),
|
|
|
|
"aria-required": getAriaRequired($constraints),
|
|
|
|
"data-fs-control": ""
|
|
|
|
};
|
|
|
|
labelAttrs = {
|
|
|
|
for: $idStore,
|
|
|
|
"data-fs-label": "",
|
|
|
|
"data-fs-error": errorAttr
|
|
|
|
};
|
|
|
|
{
|
|
|
|
controlContext.attrs.set(attrs);
|
|
|
|
}
|
|
|
|
{
|
|
|
|
controlContext.labelAttrs.set(labelAttrs);
|
|
|
|
}
|
|
|
|
$$unsubscribe_idStore();
|
|
|
|
$$unsubscribe_constraints();
|
|
|
|
$$unsubscribe_errors();
|
|
|
|
$$unsubscribe_descriptionId();
|
|
|
|
$$unsubscribe_fieldErrorsId();
|
|
|
|
$$unsubscribe_name();
|
|
|
|
return ` ${slots.default ? slots.default({ attrs }) : ``}`;
|
|
|
|
});
|
|
|
|
const Field_errors = create_ssr_component(($$result, $$props, $$bindings, slots) => {
|
|
|
|
let errorAttr;
|
|
|
|
let fieldErrorsAttrs;
|
|
|
|
let errorAttrs;
|
|
|
|
let $$restProps = compute_rest_props($$props, ["id", "asChild", "el"]);
|
|
|
|
let $fieldErrorsId, $$unsubscribe_fieldErrorsId;
|
|
|
|
let $errors, $$unsubscribe_errors;
|
|
|
|
const { fieldErrorsId, errors } = getFormField();
|
|
|
|
$$unsubscribe_fieldErrorsId = subscribe(fieldErrorsId, (value) => $fieldErrorsId = value);
|
|
|
|
$$unsubscribe_errors = subscribe(errors, (value) => $errors = value);
|
|
|
|
let { id = generateId() } = $$props;
|
|
|
|
let { asChild = false } = $$props;
|
|
|
|
let { el = void 0 } = $$props;
|
|
|
|
if ($$props.id === void 0 && $$bindings.id && id !== void 0)
|
|
|
|
$$bindings.id(id);
|
|
|
|
if ($$props.asChild === void 0 && $$bindings.asChild && asChild !== void 0)
|
|
|
|
$$bindings.asChild(asChild);
|
|
|
|
if ($$props.el === void 0 && $$bindings.el && el !== void 0)
|
|
|
|
$$bindings.el(el);
|
|
|
|
errorAttr = getDataFsError($errors);
|
|
|
|
{
|
|
|
|
fieldErrorsId.set(id);
|
|
|
|
}
|
|
|
|
fieldErrorsAttrs = {
|
|
|
|
id: $fieldErrorsId,
|
|
|
|
"data-fs-error": errorAttr,
|
|
|
|
"data-fs-field-errors": "",
|
|
|
|
"aria-live": "assertive",
|
|
|
|
...$$restProps
|
|
|
|
};
|
|
|
|
errorAttrs = {
|
|
|
|
"data-fs-field-error": "",
|
|
|
|
"data-fs-error": errorAttr
|
|
|
|
};
|
|
|
|
$$unsubscribe_fieldErrorsId();
|
|
|
|
$$unsubscribe_errors();
|
|
|
|
return ` ${asChild ? `${slots.default ? slots.default({
|
|
|
|
errors: $errors,
|
|
|
|
fieldErrorsAttrs,
|
|
|
|
errorAttrs
|
|
|
|
}) : ``}` : `<div${spread([escape_object(fieldErrorsAttrs)], {})}${add_attribute("this", el, 0)}>${slots.default ? slots.default({
|
|
|
|
errors: $errors,
|
|
|
|
fieldErrorsAttrs,
|
|
|
|
errorAttrs
|
|
|
|
}) : ` ${each($errors, (error) => {
|
|
|
|
return `<div${spread([escape_object(errorAttrs)], {})}>${escape(error)}</div>`;
|
|
|
|
})} `}</div>`}`;
|
|
|
|
});
|
2024-08-09 18:09:22 +00:00
|
|
|
const Form_description = create_ssr_component(($$result, $$props, $$bindings, slots) => {
|
|
|
|
let $$restProps = compute_rest_props($$props, ["class"]);
|
|
|
|
let { class: className = void 0 } = $$props;
|
|
|
|
if ($$props.class === void 0 && $$bindings.class && className !== void 0)
|
|
|
|
$$bindings.class(className);
|
|
|
|
return `${validate_component(Description, "FormPrimitive.Description").$$render(
|
|
|
|
$$result,
|
|
|
|
Object.assign(
|
|
|
|
{},
|
|
|
|
{
|
|
|
|
class: cn("text-sm text-muted-foreground", className)
|
|
|
|
},
|
|
|
|
$$restProps
|
|
|
|
),
|
|
|
|
{},
|
|
|
|
{
|
|
|
|
default: ({ descriptionAttrs }) => {
|
|
|
|
return `${slots.default ? slots.default({ descriptionAttrs }) : ``}`;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
)}`;
|
|
|
|
});
|
2024-06-21 23:07:37 +00:00
|
|
|
const Label = create_ssr_component(($$result, $$props, $$bindings, slots) => {
|
|
|
|
let $$restProps = compute_rest_props($$props, ["class"]);
|
|
|
|
let { class: className = void 0 } = $$props;
|
|
|
|
if ($$props.class === void 0 && $$bindings.class && className !== void 0)
|
|
|
|
$$bindings.class(className);
|
|
|
|
return `${validate_component(Label$1, "LabelPrimitive.Root").$$render(
|
|
|
|
$$result,
|
|
|
|
Object.assign(
|
|
|
|
{},
|
|
|
|
{
|
|
|
|
class: cn("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70", className)
|
|
|
|
},
|
|
|
|
$$restProps
|
|
|
|
),
|
|
|
|
{},
|
|
|
|
{
|
|
|
|
default: () => {
|
|
|
|
return `${slots.default ? slots.default({}) : ``}`;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
)}`;
|
|
|
|
});
|
|
|
|
const Form_label = create_ssr_component(($$result, $$props, $$bindings, slots) => {
|
|
|
|
let $$restProps = compute_rest_props($$props, ["class"]);
|
|
|
|
let $labelAttrs, $$unsubscribe_labelAttrs;
|
|
|
|
let { class: className = void 0 } = $$props;
|
|
|
|
const { labelAttrs } = getFormControl();
|
|
|
|
$$unsubscribe_labelAttrs = subscribe(labelAttrs, (value) => $labelAttrs = value);
|
|
|
|
if ($$props.class === void 0 && $$bindings.class && className !== void 0)
|
|
|
|
$$bindings.class(className);
|
|
|
|
$$unsubscribe_labelAttrs();
|
|
|
|
return `${validate_component(Label, "Label").$$render(
|
|
|
|
$$result,
|
|
|
|
Object.assign(
|
|
|
|
{},
|
|
|
|
$labelAttrs,
|
|
|
|
{
|
|
|
|
class: cn("data-[fs-error]:text-destructive", className)
|
|
|
|
},
|
|
|
|
$$restProps
|
|
|
|
),
|
|
|
|
{},
|
|
|
|
{
|
|
|
|
default: () => {
|
|
|
|
return `${slots.default ? slots.default({ labelAttrs }) : ``}`;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
)}`;
|
|
|
|
});
|
|
|
|
const Form_field_errors = create_ssr_component(($$result, $$props, $$bindings, slots) => {
|
|
|
|
let $$restProps = compute_rest_props($$props, ["class", "errorClasses"]);
|
|
|
|
let { class: className = void 0 } = $$props;
|
|
|
|
let { errorClasses = void 0 } = $$props;
|
|
|
|
if ($$props.class === void 0 && $$bindings.class && className !== void 0)
|
|
|
|
$$bindings.class(className);
|
|
|
|
if ($$props.errorClasses === void 0 && $$bindings.errorClasses && errorClasses !== void 0)
|
|
|
|
$$bindings.errorClasses(errorClasses);
|
|
|
|
return `${validate_component(Field_errors, "FormPrimitive.FieldErrors").$$render(
|
|
|
|
$$result,
|
|
|
|
Object.assign(
|
|
|
|
{},
|
|
|
|
{
|
|
|
|
class: cn("text-sm font-medium text-destructive", className)
|
|
|
|
},
|
|
|
|
$$restProps
|
|
|
|
),
|
|
|
|
{},
|
|
|
|
{
|
|
|
|
default: ({ errors, fieldErrorsAttrs, errorAttrs }) => {
|
|
|
|
return `${slots.default ? slots.default({ errors, fieldErrorsAttrs, errorAttrs }) : ` ${each(errors, (error) => {
|
|
|
|
return `<div${spread(
|
|
|
|
[
|
|
|
|
escape_object(errorAttrs),
|
|
|
|
{
|
|
|
|
class: escape_attribute_value(cn(errorClasses))
|
|
|
|
}
|
|
|
|
],
|
|
|
|
{}
|
|
|
|
)}>${escape(error)}</div>`;
|
|
|
|
})} `}`;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
)}`;
|
|
|
|
});
|
|
|
|
const Form_field = create_ssr_component(($$result, $$props, $$bindings, slots) => {
|
|
|
|
let { form } = $$props;
|
|
|
|
let { name: name2 } = $$props;
|
|
|
|
let { class: className = void 0 } = $$props;
|
|
|
|
if ($$props.form === void 0 && $$bindings.form && form !== void 0)
|
|
|
|
$$bindings.form(form);
|
|
|
|
if ($$props.name === void 0 && $$bindings.name && name2 !== void 0)
|
|
|
|
$$bindings.name(name2);
|
|
|
|
if ($$props.class === void 0 && $$bindings.class && className !== void 0)
|
|
|
|
$$bindings.class(className);
|
|
|
|
return `${validate_component(Field, "FormPrimitive.Field").$$render($$result, { form, name: name2 }, {}, {
|
|
|
|
default: ({ constraints, errors, tainted, value }) => {
|
|
|
|
return `<div${add_attribute("class", cn("space-y-2", className), 0)}>${slots.default ? slots.default({ constraints, errors, tainted, value }) : ``}</div>`;
|
|
|
|
}
|
|
|
|
})}`;
|
|
|
|
});
|
|
|
|
const Control = Control$1;
|
|
|
|
const Switch = create_ssr_component(($$result, $$props, $$bindings, slots) => {
|
|
|
|
let $$restProps = compute_rest_props($$props, ["class", "checked"]);
|
|
|
|
let { class: className = void 0 } = $$props;
|
|
|
|
let { checked = void 0 } = $$props;
|
|
|
|
if ($$props.class === void 0 && $$bindings.class && className !== void 0)
|
|
|
|
$$bindings.class(className);
|
|
|
|
if ($$props.checked === void 0 && $$bindings.checked && checked !== void 0)
|
|
|
|
$$bindings.checked(checked);
|
|
|
|
let $$settled;
|
|
|
|
let $$rendered;
|
|
|
|
let previous_head = $$result.head;
|
|
|
|
do {
|
|
|
|
$$settled = true;
|
|
|
|
$$result.head = previous_head;
|
|
|
|
$$rendered = `${validate_component(Switch$1, "SwitchPrimitive.Root").$$render(
|
|
|
|
$$result,
|
|
|
|
Object.assign(
|
|
|
|
{},
|
|
|
|
{
|
|
|
|
class: cn("peer inline-flex h-[24px] w-[44px] shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input", className)
|
|
|
|
},
|
|
|
|
$$restProps,
|
|
|
|
{ checked }
|
|
|
|
),
|
|
|
|
{
|
|
|
|
checked: ($$value) => {
|
|
|
|
checked = $$value;
|
|
|
|
$$settled = false;
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
default: () => {
|
|
|
|
return `${validate_component(Switch_thumb, "SwitchPrimitive.Thumb").$$render(
|
|
|
|
$$result,
|
|
|
|
{
|
|
|
|
class: cn("pointer-events-none block h-5 w-5 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0")
|
|
|
|
},
|
|
|
|
{},
|
|
|
|
{}
|
|
|
|
)}`;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
)}`;
|
|
|
|
} while (!$$settled);
|
|
|
|
return $$rendered;
|
|
|
|
});
|
2024-07-21 13:35:30 +00:00
|
|
|
const Input = create_ssr_component(($$result, $$props, $$bindings, slots) => {
|
|
|
|
let $$restProps = compute_rest_props($$props, ["class", "value", "readonly"]);
|
|
|
|
let { class: className = void 0 } = $$props;
|
|
|
|
let { value = void 0 } = $$props;
|
|
|
|
let { readonly = void 0 } = $$props;
|
|
|
|
if ($$props.class === void 0 && $$bindings.class && className !== void 0)
|
|
|
|
$$bindings.class(className);
|
|
|
|
if ($$props.value === void 0 && $$bindings.value && value !== void 0)
|
|
|
|
$$bindings.value(value);
|
|
|
|
if ($$props.readonly === void 0 && $$bindings.readonly && readonly !== void 0)
|
|
|
|
$$bindings.readonly(readonly);
|
|
|
|
return `<input${spread(
|
|
|
|
[
|
|
|
|
{
|
|
|
|
class: escape_attribute_value(cn("flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50", className))
|
|
|
|
},
|
|
|
|
{ readonly: readonly || null },
|
|
|
|
escape_object($$restProps)
|
|
|
|
],
|
|
|
|
{}
|
|
|
|
)}${add_attribute("value", value, 0)}>`;
|
|
|
|
});
|
2024-06-21 23:07:37 +00:00
|
|
|
const Textarea = create_ssr_component(($$result, $$props, $$bindings, slots) => {
|
|
|
|
let $$restProps = compute_rest_props($$props, ["class", "value", "readonly"]);
|
|
|
|
let { class: className = void 0 } = $$props;
|
|
|
|
let { value = void 0 } = $$props;
|
|
|
|
let { readonly = void 0 } = $$props;
|
|
|
|
if ($$props.class === void 0 && $$bindings.class && className !== void 0)
|
|
|
|
$$bindings.class(className);
|
|
|
|
if ($$props.value === void 0 && $$bindings.value && value !== void 0)
|
|
|
|
$$bindings.value(value);
|
|
|
|
if ($$props.readonly === void 0 && $$bindings.readonly && readonly !== void 0)
|
|
|
|
$$bindings.readonly(readonly);
|
|
|
|
return `<textarea${spread(
|
|
|
|
[
|
|
|
|
{
|
|
|
|
class: escape_attribute_value(cn("flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50", className))
|
|
|
|
},
|
|
|
|
{ readonly: readonly || null },
|
|
|
|
escape_object($$restProps)
|
|
|
|
],
|
|
|
|
{}
|
|
|
|
)}>${escape(value || "")}</textarea>`;
|
|
|
|
});
|
|
|
|
|
2024-08-25 16:39:31 +00:00
|
|
|
export { Control as C, Form_field as F, Input as I, Label as L, Root as R, Switch as S, Trigger as T, Tooltip_content as a, Form_label as b, Form_description as c, Form_field_errors as d, Textarea as e, createLabel as f };
|
|
|
|
//# sourceMappingURL=textarea-bqlfV9dO.js.map
|