Packages
corex
0.1.2
0.1.2
0.1.1
0.1.0
0.1.0-rc.1
0.1.0-rc.0
0.1.0-beta.5
0.1.0-beta.4
0.1.0-beta.3
0.1.0-beta.2
0.1.0-beta.1
0.1.0-alpha.33
0.1.0-alpha.32
0.1.0-alpha.31
0.1.0-alpha.30
0.1.0-alpha.29
0.1.0-alpha.28
0.1.0-alpha.27
0.1.0-alpha.26
0.1.0-alpha.25
0.1.0-alpha.24
0.1.0-alpha.23
0.1.0-alpha.22
0.1.0-alpha.21
0.1.0-alpha.20
0.1.0-alpha.19
0.1.0-alpha.18
0.1.0-alpha.17
0.1.0-alpha.16
0.1.0-alpha.15
0.1.0-alpha.14
0.1.0-alpha.13
0.1.0-alpha.12
0.1.0-alpha.11
0.1.0-alpha.10
0.1.0-alpha.9
0.1.0-alpha.8
0.1.0-alpha.7
0.1.0-alpha.6
0.1.0-alpha.5
0.1.0-alpha.4
0.1.0-alpha.3
0.1.0-alpha.2
0.1.0-alpha.1
Accessible and unstyled UI components library written in Elixir and TypeScript that integrates Zag.js state machines into the Phoenix Framework.
Current section
Files
Jump to
Current section
Files
priv/static/chunks/chunk-CNPBJL2G.mjs
import {
getBooleanValue,
getNumber,
getString
} from "./chunk-2GQRP3FN.mjs";
// lib/positioning.ts
function readFlipAttr(el) {
const raw = el.dataset.positionFlip;
if (raw == null) return void 0;
if (raw === "true") return true;
if (raw === "false") return false;
const list = raw.split(",").map((v) => v.trim()).filter(Boolean);
return list.length > 0 ? list : void 0;
}
function readPositioningOptions(el) {
const options = {};
const strategy = getString(el, "positionStrategy");
if (strategy) options.strategy = strategy;
const placement = getString(el, "positionPlacement");
if (placement) options.placement = placement;
const gutter = getNumber(el, "positionGutter");
if (gutter !== void 0) options.gutter = gutter;
const shift = getNumber(el, "positionShift");
if (shift !== void 0) options.shift = shift;
const overflowPadding = getNumber(el, "positionOverflowPadding");
if (overflowPadding !== void 0) options.overflowPadding = overflowPadding;
const arrowPadding = getNumber(el, "positionArrowPadding");
if (arrowPadding !== void 0) options.arrowPadding = arrowPadding;
const offsetMainAxis = getNumber(el, "positionOffsetMainAxis");
const offsetCrossAxis = getNumber(el, "positionOffsetCrossAxis");
if (offsetMainAxis !== void 0 || offsetCrossAxis !== void 0) {
const offset = {};
if (offsetMainAxis !== void 0) offset.mainAxis = offsetMainAxis;
if (offsetCrossAxis !== void 0) offset.crossAxis = offsetCrossAxis;
options.offset = offset;
}
const flip = readFlipAttr(el);
if (flip !== void 0) options.flip = flip;
const slide = getBooleanValue(el, "positionSlide");
if (slide !== void 0) options.slide = slide;
const overlap = getBooleanValue(el, "positionOverlap");
if (overlap !== void 0) options.overlap = overlap;
const sameWidth = getBooleanValue(el, "positionSameWidth");
if (sameWidth !== void 0) options.sameWidth = sameWidth;
const fitViewport = getBooleanValue(el, "positionFitViewport");
if (fitViewport !== void 0) options.fitViewport = fitViewport;
const hideWhenDetached = getBooleanValue(el, "positionHideWhenDetached");
if (hideWhenDetached !== void 0) options.hideWhenDetached = hideWhenDetached;
return Object.keys(options).length > 0 ? options : void 0;
}
export {
readPositioningOptions
};