@olenbetong/synergi-react 1.0.5 → 2.0.1
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/esm/ob.react.css +216 -146
- package/dist/esm/ob.react.js +227 -131
- package/dist/esm/ob.react.min.css +1 -1
- package/dist/esm/ob.react.min.css.map +3 -3
- package/dist/esm/ob.react.min.js +1 -1
- package/dist/esm/ob.react.min.js.map +4 -4
- package/dist/iife/ob.react.css +216 -146
- package/dist/iife/ob.react.js +230 -134
- package/dist/iife/ob.react.min.css +1 -1
- package/dist/iife/ob.react.min.css.map +3 -3
- package/dist/iife/ob.react.min.js +1 -1
- package/dist/iife/ob.react.min.js.map +4 -4
- package/dist/styles/styles.css +1 -1
- package/dist/styles/styles.css.map +1 -1
- package/es/Checkbox/index.css +1 -1
- package/es/Checkbox/index.d.ts +11 -0
- package/es/Checkbox/index.js +8 -5
- package/es/ColorCard/index.d.ts +5 -2
- package/es/ColorCard/index.js +6 -0
- package/es/DateNavigator/index.css +1 -1
- package/es/DateNavigator/index.d.ts +3 -1
- package/es/DateNavigator/index.js +82 -28
- package/es/LinkedCardList/index.css +1 -1
- package/es/LinkedCardList/index.d.ts +2 -2
- package/es/LinkedCardList/index.js +2 -2
- package/es/PageBanner/index.js +2 -1
- package/es/Portal/index.js +5 -7
- package/es/ProgressBar/index.css +1 -1
- package/es/Sidebar/index.js +1 -0
- package/es/Spinner/index.d.ts +1 -1
- package/es/SplitContainer/index.d.ts +4 -2
- package/es/SplitContainer/index.js +45 -13
- package/es/ValueToggleGroup/index.d.ts +18 -0
- package/es/ValueToggleGroup/index.js +12 -0
- package/es/index.css +1 -1
- package/es/index.d.ts +8 -8
- package/es/index.js +3 -3
- package/es/useTranslation/index.js +2 -1
- package/package.json +88 -90
- package/src/Checkbox/index.scss +12 -5
- package/src/Checkbox/index.tsx +25 -7
- package/src/ColorCard/{index.scss → index.css} +50 -59
- package/src/ColorCard/index.tsx +21 -9
- package/src/DateNavigator/index.scss +66 -33
- package/src/DateNavigator/index.tsx +98 -33
- package/src/LinkedCardList/index.scss +8 -1
- package/src/LinkedCardList/index.tsx +2 -2
- package/src/PageBanner/index.tsx +2 -1
- package/src/Portal/index.tsx +8 -7
- package/src/ProgressBar/index.scss +2 -2
- package/src/Sidebar/index.tsx +1 -0
- package/src/Spinner/{index.scss → index.css} +13 -10
- package/src/Spinner/index.tsx +2 -2
- package/src/SplitContainer/index.tsx +75 -17
- package/src/ValueToggleGroup/index.css +79 -0
- package/src/ValueToggleGroup/index.tsx +52 -0
- package/src/index.scss +3 -2
- package/src/index.ts +12 -12
- package/src/useTranslation/index.ts +2 -1
- package/LICENSE +0 -21
- package/es/ColorCard/index.css +0 -1
- package/es/Spinner/index.css +0 -1
- package/es/ValueToggle/index.css +0 -1
- package/es/ValueToggle/index.d.ts +0 -18
- package/es/ValueToggle/index.js +0 -38
- package/src/ValueToggle/index.scss +0 -50
- package/src/ValueToggle/index.tsx +0 -75
package/dist/esm/ob.react.js
CHANGED
|
@@ -2217,9 +2217,11 @@ var import_react = __toESM(require_react(), 1);
|
|
|
2217
2217
|
function Mark(props) {
|
|
2218
2218
|
return /* @__PURE__ */ React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", ...props }, /* @__PURE__ */ React.createElement("path", { d: "M20.285 2L9 13.567 3.714 8.556 0 12.272 9 21 24 5.715z", fill: "currentColor" }));
|
|
2219
2219
|
}
|
|
2220
|
-
var Checkbox = (0, import_react.forwardRef)(function Checkbox2({ className, disabled = false, id, onChange = () => null, title, value, ...other }, ref) {
|
|
2221
|
-
|
|
2222
|
-
|
|
2220
|
+
var Checkbox = (0, import_react.forwardRef)(function Checkbox2({ className, disabled = false, id, onChange = () => null, label, title, reverse, value, ...other }, ref) {
|
|
2221
|
+
let inputId = (0, import_react.useId)();
|
|
2222
|
+
inputId = id ?? inputId;
|
|
2223
|
+
let inputIdRef = `#${inputId}`;
|
|
2224
|
+
let input = (0, import_react.useRef)(null);
|
|
2223
2225
|
(0, import_react.useEffect)(() => {
|
|
2224
2226
|
if (typeof ref === "function") {
|
|
2225
2227
|
ref(input.current);
|
|
@@ -2241,39 +2243,47 @@ var Checkbox = (0, import_react.forwardRef)(function Checkbox2({ className, disa
|
|
|
2241
2243
|
}
|
|
2242
2244
|
function handleKeyDown(evt) {
|
|
2243
2245
|
if (evt.nativeEvent) {
|
|
2244
|
-
|
|
2246
|
+
let { nativeEvent } = evt;
|
|
2245
2247
|
if (nativeEvent.key === " ") {
|
|
2246
2248
|
nativeEvent.preventDefault();
|
|
2247
2249
|
input.current?.click();
|
|
2248
2250
|
}
|
|
2249
2251
|
}
|
|
2250
2252
|
}
|
|
2251
|
-
return /* @__PURE__ */ React.createElement(
|
|
2252
|
-
"
|
|
2253
|
+
return /* @__PURE__ */ React.createElement(
|
|
2254
|
+
"div",
|
|
2253
2255
|
{
|
|
2254
|
-
className: "ObCheckbox-
|
|
2255
|
-
|
|
2256
|
-
|
|
2257
|
-
|
|
2258
|
-
|
|
2259
|
-
|
|
2260
|
-
|
|
2261
|
-
|
|
2262
|
-
|
|
2263
|
-
|
|
2256
|
+
className: clsx_default("ObCheckbox-root", disabled && "Ob-disabled", reverse && "Ob-reverse", className),
|
|
2257
|
+
title
|
|
2258
|
+
},
|
|
2259
|
+
/* @__PURE__ */ React.createElement(
|
|
2260
|
+
"input",
|
|
2261
|
+
{
|
|
2262
|
+
className: "ObCheckbox-input",
|
|
2263
|
+
id: inputId,
|
|
2264
|
+
type: "checkbox",
|
|
2265
|
+
onChange: handleInputChanged,
|
|
2266
|
+
checked: value,
|
|
2267
|
+
disabled,
|
|
2268
|
+
ref: input,
|
|
2269
|
+
...other
|
|
2270
|
+
}
|
|
2271
|
+
),
|
|
2272
|
+
/* @__PURE__ */ React.createElement("label", { htmlFor: inputIdRef, className: "ObCheckbox-label", onKeyDown: handleKeyDown, onClick: handleClick }, /* @__PURE__ */ React.createElement("div", { className: "ObCheckbox-box" }, /* @__PURE__ */ React.createElement(Mark, { className: "ObCheckbox-mark" })), label && /* @__PURE__ */ React.createElement("div", { className: "ObCheckbox-label-text" }, label))
|
|
2273
|
+
);
|
|
2264
2274
|
});
|
|
2265
2275
|
|
|
2266
2276
|
// src/ColorCard/index.tsx
|
|
2267
|
-
function ColorCard({
|
|
2268
|
-
as: Component,
|
|
2269
|
-
children,
|
|
2270
|
-
className,
|
|
2271
|
-
href,
|
|
2272
|
-
...other
|
|
2273
|
-
}) {
|
|
2277
|
+
function ColorCard({ as: Component, children, className, href, ...other }) {
|
|
2274
2278
|
const BaseElement = Component ? Component : href ? "a" : "div";
|
|
2275
2279
|
return /* @__PURE__ */ React.createElement(BaseElement, { className: clsx_default("ObColorCard-root", className), href, ...other }, children);
|
|
2276
2280
|
}
|
|
2281
|
+
function CardStepList({ children, className, ...props }) {
|
|
2282
|
+
return /* @__PURE__ */ React.createElement("div", { className: clsx_default("ObColorCard-stepList", className), ...props }, children);
|
|
2283
|
+
}
|
|
2284
|
+
function CardStep({ children, className, ...props }) {
|
|
2285
|
+
return /* @__PURE__ */ React.createElement("div", { className: clsx_default("ObColorCard-step", className), ...props }, /* @__PURE__ */ React.createElement("div", { className: "ObColorCard-stepText" }, children));
|
|
2286
|
+
}
|
|
2277
2287
|
function CardColumn({
|
|
2278
2288
|
children,
|
|
2279
2289
|
className,
|
|
@@ -2301,8 +2311,10 @@ var import_react2 = __toESM(require_react(), 1);
|
|
|
2301
2311
|
function getUiCulture() {
|
|
2302
2312
|
return af?.userSession?.culture ?? "default";
|
|
2303
2313
|
}
|
|
2304
|
-
function Arrow(
|
|
2305
|
-
|
|
2314
|
+
function Arrow({
|
|
2315
|
+
direction,
|
|
2316
|
+
...rest
|
|
2317
|
+
}) {
|
|
2306
2318
|
return /* @__PURE__ */ React.createElement(
|
|
2307
2319
|
"button",
|
|
2308
2320
|
{
|
|
@@ -2310,15 +2322,16 @@ function Arrow(props) {
|
|
|
2310
2322
|
"ObDateNavigator-arrow",
|
|
2311
2323
|
direction === "left" ? "ObDateNavigator-arrowLeft" : "ObDateNavigator-arrowRight"
|
|
2312
2324
|
),
|
|
2325
|
+
"aria-label": direction === "left" ? (0, import_appframe_core.getLocalizedString)("Previous day") : (0, import_appframe_core.getLocalizedString)("Next day"),
|
|
2313
2326
|
...rest
|
|
2314
2327
|
},
|
|
2315
|
-
/* @__PURE__ */ React.createElement("span", { className: "ObDateNavigator-icon" }, direction === "left" ? /* @__PURE__ */ React.createElement("svg", { "aria-hidden": "true",
|
|
2328
|
+
/* @__PURE__ */ React.createElement("span", { className: "ObDateNavigator-icon" }, direction === "left" ? /* @__PURE__ */ React.createElement("svg", { "aria-hidden": "true", viewBox: "0 0 320 512" }, /* @__PURE__ */ React.createElement(
|
|
2316
2329
|
"path",
|
|
2317
2330
|
{
|
|
2318
2331
|
fill: "currentColor",
|
|
2319
2332
|
d: "M34.52 239.03L228.87 44.69c9.37-9.37 24.57-9.37 33.94 0l22.67 22.67c9.36 9.36 9.37 24.52.04 33.9L131.49 256l154.02 154.75c9.34 9.38 9.32 24.54-.04 33.9l-22.67 22.67c-9.37 9.37-24.57 9.37-33.94 0L34.52 272.97c-9.37-9.37-9.37-24.57 0-33.94z"
|
|
2320
2333
|
}
|
|
2321
|
-
)) : /* @__PURE__ */ React.createElement("svg", { "aria-hidden": "true",
|
|
2334
|
+
)) : /* @__PURE__ */ React.createElement("svg", { "aria-hidden": "true", viewBox: "0 0 320 512" }, /* @__PURE__ */ React.createElement(
|
|
2322
2335
|
"path",
|
|
2323
2336
|
{
|
|
2324
2337
|
fill: "currentColor",
|
|
@@ -2334,41 +2347,89 @@ var formatter = new Intl.DateTimeFormat(getUiCulture(), {
|
|
|
2334
2347
|
year: "numeric",
|
|
2335
2348
|
timeZone: "utc"
|
|
2336
2349
|
});
|
|
2337
|
-
var today = /* @__PURE__ */ new Date();
|
|
2338
|
-
var todayUtc = Date.UTC(today.getFullYear(), today.getMonth(), today.getDate());
|
|
2339
2350
|
var oneDay = 24 * 60 * 60 * 1e3;
|
|
2340
|
-
function DateNavigator({
|
|
2351
|
+
function DateNavigator({
|
|
2352
|
+
date: dateProp,
|
|
2353
|
+
onChange,
|
|
2354
|
+
minDate,
|
|
2355
|
+
maxDate
|
|
2356
|
+
}) {
|
|
2341
2357
|
let [internalDate, setInternalDate] = (0, import_react2.useState)(/* @__PURE__ */ new Date());
|
|
2342
|
-
|
|
2343
|
-
|
|
2344
|
-
let
|
|
2345
|
-
let
|
|
2346
|
-
let
|
|
2347
|
-
|
|
2348
|
-
|
|
2349
|
-
|
|
2350
|
-
|
|
2351
|
-
|
|
2352
|
-
|
|
2358
|
+
let date = dateProp ?? internalDate;
|
|
2359
|
+
let dateUtc = Date.UTC(date.getFullYear(), date.getMonth(), date.getDate());
|
|
2360
|
+
let today = /* @__PURE__ */ new Date();
|
|
2361
|
+
let todayUtc = Date.UTC(today.getFullYear(), today.getMonth(), today.getDate());
|
|
2362
|
+
let liveRef = (0, import_react2.useRef)(null);
|
|
2363
|
+
let text = (() => {
|
|
2364
|
+
let base = formatter.format(new Date(dateUtc));
|
|
2365
|
+
if (todayUtc === dateUtc) return `${(0, import_appframe_core.getLocalizedString)("Today")}, ${base}`;
|
|
2366
|
+
if (todayUtc === dateUtc + oneDay) return `${(0, import_appframe_core.getLocalizedString)("Yesterday")}, ${base}`;
|
|
2367
|
+
if (todayUtc === dateUtc - oneDay) return `${(0, import_appframe_core.getLocalizedString)("Tomorrow")}, ${base}`;
|
|
2368
|
+
return base;
|
|
2369
|
+
})();
|
|
2370
|
+
let disablePrev = !!minDate && dateUtc <= Date.UTC(minDate.getFullYear(), minDate.getMonth(), minDate.getDate());
|
|
2371
|
+
let disableNext = !!maxDate && dateUtc >= Date.UTC(maxDate.getFullYear(), maxDate.getMonth(), maxDate.getDate());
|
|
2372
|
+
function updateDate(newDate) {
|
|
2373
|
+
if (minDate && newDate < minDate) {
|
|
2374
|
+
newDate = new Date(minDate);
|
|
2375
|
+
} else if (maxDate && newDate > maxDate) {
|
|
2376
|
+
newDate = new Date(maxDate);
|
|
2377
|
+
}
|
|
2378
|
+
if (onChange) onChange(newDate);
|
|
2379
|
+
else setInternalDate(newDate);
|
|
2353
2380
|
}
|
|
2354
|
-
|
|
2355
|
-
|
|
2381
|
+
function jumpToToday() {
|
|
2382
|
+
updateDate(/* @__PURE__ */ new Date());
|
|
2356
2383
|
}
|
|
2357
|
-
|
|
2358
|
-
if (
|
|
2359
|
-
|
|
2360
|
-
}
|
|
2361
|
-
|
|
2384
|
+
(0, import_react2.useEffect)(() => {
|
|
2385
|
+
if (liveRef.current) {
|
|
2386
|
+
liveRef.current.textContent = text;
|
|
2387
|
+
}
|
|
2388
|
+
}, [text]);
|
|
2389
|
+
function handleKeyDown(event) {
|
|
2390
|
+
if (event.key !== "ArrowLeft" && event.key !== "ArrowRight") return;
|
|
2391
|
+
if (event.defaultPrevented) return;
|
|
2392
|
+
if (event.altKey || event.metaKey) return;
|
|
2393
|
+
if (disablePrev && event.key === "ArrowLeft") return;
|
|
2394
|
+
if (disableNext && event.key === "ArrowRight") return;
|
|
2395
|
+
if (event.ctrlKey && event.shiftKey) {
|
|
2396
|
+
let newDate = new Date(dateUtc);
|
|
2397
|
+
if (event.key === "ArrowLeft") {
|
|
2398
|
+
newDate.setFullYear(newDate.getFullYear() - 1);
|
|
2399
|
+
} else if (event.key === "ArrowRight") {
|
|
2400
|
+
newDate.setFullYear(newDate.getFullYear() + 1);
|
|
2401
|
+
}
|
|
2402
|
+
updateDate(newDate);
|
|
2403
|
+
return;
|
|
2404
|
+
}
|
|
2405
|
+
if (event.ctrlKey) {
|
|
2406
|
+
let newDate = new Date(dateUtc);
|
|
2407
|
+
if (event.key === "ArrowLeft") {
|
|
2408
|
+
newDate.setMonth(newDate.getMonth() - 1);
|
|
2409
|
+
} else if (event.key === "ArrowRight") {
|
|
2410
|
+
newDate.setMonth(newDate.getMonth() + 1);
|
|
2411
|
+
}
|
|
2412
|
+
updateDate(newDate);
|
|
2413
|
+
return;
|
|
2414
|
+
}
|
|
2415
|
+
let modifier = event.shiftKey ? 7 : 1;
|
|
2416
|
+
if (event.key === "ArrowLeft") {
|
|
2417
|
+
updateDate(new Date(dateUtc - oneDay * modifier));
|
|
2418
|
+
} else if (event.key === "ArrowRight") {
|
|
2419
|
+
updateDate(new Date(dateUtc + oneDay * modifier));
|
|
2362
2420
|
}
|
|
2363
2421
|
}
|
|
2364
|
-
return
|
|
2422
|
+
return (
|
|
2423
|
+
// biome-ignore lint/a11y/noNoninteractiveTabindex: I hate this component
|
|
2424
|
+
/* @__PURE__ */ React.createElement("div", { className: "ObDateNavigator-root", onKeyDown: handleKeyDown, tabIndex: 0, "aria-label": "Date navigator" }, /* @__PURE__ */ React.createElement(Arrow, { direction: "left", onClick: () => updateDate(new Date(dateUtc - oneDay)), disabled: disablePrev }), /* @__PURE__ */ React.createElement("div", { className: "ObDateNavigator-date" }, text), /* @__PURE__ */ React.createElement(Arrow, { direction: "right", onClick: () => updateDate(new Date(dateUtc + oneDay)), disabled: disableNext }), /* @__PURE__ */ React.createElement("button", { type: "button", className: "ObDateNavigator-today", onClick: jumpToToday }, (0, import_appframe_core.getLocalizedString)("Today")), /* @__PURE__ */ React.createElement("div", { "aria-live": "polite", ref: liveRef, style: { position: "absolute", left: "-9999px" } }))
|
|
2425
|
+
);
|
|
2365
2426
|
}
|
|
2366
2427
|
|
|
2367
2428
|
// src/LinkedCardList/index.tsx
|
|
2368
|
-
function
|
|
2429
|
+
function LinkedList({ children, className, ...other }) {
|
|
2369
2430
|
return /* @__PURE__ */ React.createElement("ul", { className: clsx_default("ObLinkedList-root", className), ...other }, children);
|
|
2370
2431
|
}
|
|
2371
|
-
function
|
|
2432
|
+
function LinkedListItem({
|
|
2372
2433
|
children,
|
|
2373
2434
|
className,
|
|
2374
2435
|
label,
|
|
@@ -2389,7 +2450,7 @@ function PageBanner({ as, className, children, ...other }) {
|
|
|
2389
2450
|
}
|
|
2390
2451
|
var BannerImage = import_react3.default.forwardRef(function BannerImage2(props, ref) {
|
|
2391
2452
|
const { className, ...other } = props;
|
|
2392
|
-
return /* @__PURE__ */ import_react3.default.createElement("img", { ref, className: clsx_default("ObPageBanner-bannerImage", className), ...other });
|
|
2453
|
+
return /* @__PURE__ */ import_react3.default.createElement("img", { ref, className: clsx_default("ObPageBanner-bannerImage", className), alt: "", ...other });
|
|
2393
2454
|
});
|
|
2394
2455
|
function TabList({ as, className, children, sticky, ...other }) {
|
|
2395
2456
|
const Component = as ? as : "nav";
|
|
@@ -2424,23 +2485,21 @@ function Portal({ children, root, type = "div" }) {
|
|
|
2424
2485
|
const portalNode = (0, import_react4.useRef)(null);
|
|
2425
2486
|
(0, import_react4.useEffect)(() => {
|
|
2426
2487
|
const ownerDocument = mountNode.current?.ownerDocument;
|
|
2427
|
-
|
|
2428
|
-
if (ownerDocument && portalElem) {
|
|
2488
|
+
if (ownerDocument && !portalNode.current) {
|
|
2429
2489
|
let parent = root ? ownerDocument.querySelector(root) || ownerDocument.body : ownerDocument.body;
|
|
2430
2490
|
const node = ownerDocument.createElement(type);
|
|
2431
|
-
|
|
2491
|
+
portalNode.current = node;
|
|
2432
2492
|
parent.appendChild(node);
|
|
2433
2493
|
forceUpdate();
|
|
2434
2494
|
return () => {
|
|
2435
2495
|
parent.removeChild(node);
|
|
2436
2496
|
};
|
|
2437
2497
|
}
|
|
2438
|
-
}, []);
|
|
2498
|
+
}, [root, type]);
|
|
2439
2499
|
if (!portalNode.current) {
|
|
2440
2500
|
return /* @__PURE__ */ React.createElement("div", { ref: mountNode });
|
|
2441
|
-
} else {
|
|
2442
|
-
return (0, import_react_dom.createPortal)(children, portalNode.current);
|
|
2443
2501
|
}
|
|
2502
|
+
return (0, import_react_dom.createPortal)(children, portalNode.current);
|
|
2444
2503
|
}
|
|
2445
2504
|
|
|
2446
2505
|
// src/ProgressBar/index.tsx
|
|
@@ -2541,14 +2600,13 @@ function Sidebar(props) {
|
|
|
2541
2600
|
}
|
|
2542
2601
|
|
|
2543
2602
|
// src/Spinner/index.tsx
|
|
2544
|
-
var import_react7 = __toESM(require_react(), 1);
|
|
2545
2603
|
function Spinner({ className = "", fullPage = false, ...rest }) {
|
|
2546
|
-
return /* @__PURE__ */
|
|
2604
|
+
return /* @__PURE__ */ React.createElement("div", { className: clsx_default(className, fullPage ? "ObSpinner-fullPage" : "ObSpinner-wrapper"), ...rest }, /* @__PURE__ */ React.createElement("div", { className: "ObSpinner-spinner" }, /* @__PURE__ */ React.createElement("div", { className: "ObSpinner-bullet" }), /* @__PURE__ */ React.createElement("div", { className: "ObSpinner-bullet" }), /* @__PURE__ */ React.createElement("div", { className: "ObSpinner-bullet" }), /* @__PURE__ */ React.createElement("div", { className: "ObSpinner-bullet" })));
|
|
2547
2605
|
}
|
|
2548
2606
|
|
|
2549
2607
|
// src/SplitContainer/index.tsx
|
|
2550
2608
|
var import_localforage = __toESM(require_localforage(), 1);
|
|
2551
|
-
var
|
|
2609
|
+
var import_react7 = __toESM(require_react(), 1);
|
|
2552
2610
|
var article = window.af?.article?.id ?? window.window?.location.pathname.substring(1).split("/")[0];
|
|
2553
2611
|
var settingsStore = import_localforage.default.createInstance({
|
|
2554
2612
|
name: `AfSplitContainers.${window.af?.userSession.login ?? "anonymous"}`
|
|
@@ -2582,18 +2640,31 @@ settingsStore.keys().then(
|
|
|
2582
2640
|
)
|
|
2583
2641
|
)
|
|
2584
2642
|
);
|
|
2585
|
-
var Divider = (0,
|
|
2586
|
-
return /* @__PURE__ */
|
|
2643
|
+
var Divider = (0, import_react7.forwardRef)(function Divider2(props, ref) {
|
|
2644
|
+
return /* @__PURE__ */ React.createElement(
|
|
2645
|
+
"div",
|
|
2646
|
+
{
|
|
2647
|
+
className: clsx_default("ObSplitContainer-divider", props.className),
|
|
2648
|
+
tabIndex: 0,
|
|
2649
|
+
ref,
|
|
2650
|
+
role: "separator",
|
|
2651
|
+
"aria-orientation": props.direction,
|
|
2652
|
+
"aria-valuemin": props.min,
|
|
2653
|
+
"aria-valuemax": props.max,
|
|
2654
|
+
"aria-valuenow": props.size
|
|
2655
|
+
},
|
|
2656
|
+
/* @__PURE__ */ React.createElement("span", null, "\u2022\u2022\u2022")
|
|
2657
|
+
);
|
|
2587
2658
|
});
|
|
2588
2659
|
function SplitRoot({ className, direction, ...props }) {
|
|
2589
|
-
return /* @__PURE__ */
|
|
2660
|
+
return /* @__PURE__ */ React.createElement("div", { className: clsx_default(className, "ObSplitContainer-root", direction), ...props });
|
|
2590
2661
|
}
|
|
2591
2662
|
function SplitPanel(props) {
|
|
2592
2663
|
let style = {
|
|
2593
2664
|
flex: props.fixed ? `0 0 ${Math.floor(props.size)}px` : "1 1 100%",
|
|
2594
2665
|
...props.style
|
|
2595
2666
|
};
|
|
2596
|
-
return /* @__PURE__ */
|
|
2667
|
+
return /* @__PURE__ */ React.createElement("div", { className: clsx_default(props.className, "ObSplitContainer-panel"), style }, props.children);
|
|
2597
2668
|
}
|
|
2598
2669
|
function SplitContainer({
|
|
2599
2670
|
className,
|
|
@@ -2603,25 +2674,31 @@ function SplitContainer({
|
|
|
2603
2674
|
panelClassName,
|
|
2604
2675
|
defaultFixedSize = 400,
|
|
2605
2676
|
layoutVersion = 1,
|
|
2677
|
+
min = 0,
|
|
2678
|
+
max,
|
|
2606
2679
|
id
|
|
2607
2680
|
}) {
|
|
2608
|
-
let [fixedSize, setFixedSize] = (0,
|
|
2609
|
-
let [isDragging, setIsDragging] = (0,
|
|
2610
|
-
let dividerRef = (0,
|
|
2611
|
-
if (
|
|
2681
|
+
let [fixedSize, setFixedSize] = (0, import_react7.useState)(defaultFixedSize);
|
|
2682
|
+
let [isDragging, setIsDragging] = (0, import_react7.useState)(false);
|
|
2683
|
+
let dividerRef = (0, import_react7.useRef)(null);
|
|
2684
|
+
if (import_react7.Children.count(children) !== 2) {
|
|
2612
2685
|
throw Error("SplitContainer requires exactly 2 children");
|
|
2613
2686
|
}
|
|
2614
|
-
|
|
2615
|
-
|
|
2616
|
-
|
|
2617
|
-
|
|
2618
|
-
|
|
2619
|
-
|
|
2687
|
+
let containerRef = (0, import_react7.useRef)(null);
|
|
2688
|
+
let [containerSize, setContainerSize] = (0, import_react7.useState)(0);
|
|
2689
|
+
(0, import_react7.useEffect)(() => {
|
|
2690
|
+
if (!containerRef.current) return;
|
|
2691
|
+
let resizeObserver = new ResizeObserver((entries) => {
|
|
2692
|
+
for (let entry of entries) {
|
|
2693
|
+
if (entry.contentRect) {
|
|
2694
|
+
setContainerSize(direction === "horizontal" ? entry.contentRect.width : entry.contentRect.height);
|
|
2695
|
+
}
|
|
2620
2696
|
}
|
|
2621
|
-
return newValue;
|
|
2622
2697
|
});
|
|
2623
|
-
|
|
2624
|
-
|
|
2698
|
+
resizeObserver.observe(containerRef.current);
|
|
2699
|
+
return () => resizeObserver.disconnect();
|
|
2700
|
+
}, [direction]);
|
|
2701
|
+
(0, import_react7.useEffect)(() => {
|
|
2625
2702
|
if (id) {
|
|
2626
2703
|
let key = `${article}.${id}`;
|
|
2627
2704
|
getSettings(key, layoutVersion).then((data) => {
|
|
@@ -2632,14 +2709,32 @@ function SplitContainer({
|
|
|
2632
2709
|
});
|
|
2633
2710
|
}
|
|
2634
2711
|
}, [id, layoutVersion]);
|
|
2635
|
-
let childrenArray =
|
|
2636
|
-
(0,
|
|
2712
|
+
let childrenArray = import_react7.Children.toArray(children);
|
|
2713
|
+
(0, import_react7.useEffect)(() => {
|
|
2637
2714
|
let divider = dividerRef.current;
|
|
2638
2715
|
if (divider) {
|
|
2639
|
-
let
|
|
2716
|
+
let clampSize = function(size) {
|
|
2717
|
+
let adjustedContainerSize = containerSize - 10;
|
|
2718
|
+
let maxSize = Math.min(max ?? adjustedContainerSize, adjustedContainerSize);
|
|
2719
|
+
if (size < min) {
|
|
2720
|
+
size = min;
|
|
2721
|
+
} else if (size > maxSize) {
|
|
2722
|
+
size = maxSize;
|
|
2723
|
+
}
|
|
2724
|
+
return size;
|
|
2725
|
+
}, getNewSize = function(event) {
|
|
2640
2726
|
let deltaSize = direction === "horizontal" ? event.clientX - initialPosition.clientX : event.clientY - initialPosition.clientY;
|
|
2641
2727
|
deltaSize *= fixedPanel === 1 ? -1 : 1;
|
|
2642
|
-
return initialPosition.size - deltaSize;
|
|
2728
|
+
return clampSize(initialPosition.size - deltaSize);
|
|
2729
|
+
}, handleFixedSizeChanged = function(size) {
|
|
2730
|
+
setFixedSize((current) => {
|
|
2731
|
+
let newValue = clampSize(typeof size === "function" ? size(current) : size);
|
|
2732
|
+
if (id) {
|
|
2733
|
+
let key = `${article}.${id}`;
|
|
2734
|
+
persistState(key, layoutVersion, newValue);
|
|
2735
|
+
}
|
|
2736
|
+
return newValue;
|
|
2737
|
+
});
|
|
2643
2738
|
}, handlePointerUp = function(event) {
|
|
2644
2739
|
let newSize = getNewSize(event);
|
|
2645
2740
|
handleFixedSizeChanged(newSize);
|
|
@@ -2649,6 +2744,10 @@ function SplitContainer({
|
|
|
2649
2744
|
}, handlePointerMove = function(event) {
|
|
2650
2745
|
event.preventDefault();
|
|
2651
2746
|
let newSize = getNewSize(event);
|
|
2747
|
+
let divider2 = dividerRef.current;
|
|
2748
|
+
if (divider2) {
|
|
2749
|
+
divider2.setAttribute("aria-valuenow", String(newSize));
|
|
2750
|
+
}
|
|
2652
2751
|
movingPanel.style.flex = `0 0 ${newSize}px`;
|
|
2653
2752
|
}, handlePointerDown = function(event) {
|
|
2654
2753
|
setIsDragging(true);
|
|
@@ -2693,12 +2792,22 @@ function SplitContainer({
|
|
|
2693
2792
|
divider?.removeEventListener("keydown", handleKeyDown);
|
|
2694
2793
|
};
|
|
2695
2794
|
}
|
|
2696
|
-
}, [direction, fixedPanel]);
|
|
2697
|
-
return /* @__PURE__ */
|
|
2795
|
+
}, [direction, fixedPanel, layoutVersion, id, min, max, containerSize]);
|
|
2796
|
+
return /* @__PURE__ */ React.createElement(SplitRoot, { direction, className, ref: containerRef }, /* @__PURE__ */ React.createElement(SplitPanel, { className: clsx_default(isDragging && "dragging", panelClassName), fixed: fixedPanel === 1, size: fixedSize }, childrenArray[0]), /* @__PURE__ */ React.createElement(
|
|
2797
|
+
Divider,
|
|
2798
|
+
{
|
|
2799
|
+
ref: dividerRef,
|
|
2800
|
+
direction,
|
|
2801
|
+
isDragging,
|
|
2802
|
+
size: fixedSize,
|
|
2803
|
+
min,
|
|
2804
|
+
max: max ?? containerSize
|
|
2805
|
+
}
|
|
2806
|
+
), /* @__PURE__ */ React.createElement(SplitPanel, { className: clsx_default(isDragging && "dragging", panelClassName), fixed: fixedPanel === 2, size: fixedSize }, childrenArray[1]));
|
|
2698
2807
|
}
|
|
2699
2808
|
|
|
2700
2809
|
// src/useTranslation/index.ts
|
|
2701
|
-
var
|
|
2810
|
+
var import_react8 = __toESM(require_react(), 1);
|
|
2702
2811
|
async function translateText(text, target, apiKey) {
|
|
2703
2812
|
let url = `https://translation.googleapis.com/language/translate/v2?key=${apiKey}`;
|
|
2704
2813
|
let body = JSON.stringify({
|
|
@@ -2712,7 +2821,7 @@ async function translateText(text, target, apiKey) {
|
|
|
2712
2821
|
let result = await fetch(url, options);
|
|
2713
2822
|
let json = await result.json();
|
|
2714
2823
|
let { data } = json;
|
|
2715
|
-
if (data
|
|
2824
|
+
if (data?.translations) {
|
|
2716
2825
|
let [translation] = data.translations;
|
|
2717
2826
|
return {
|
|
2718
2827
|
from: translation.detectedSourceLanguage,
|
|
@@ -2722,12 +2831,12 @@ async function translateText(text, target, apiKey) {
|
|
|
2722
2831
|
return false;
|
|
2723
2832
|
}
|
|
2724
2833
|
function useTranslation(text, targetLanguage, apiKey) {
|
|
2725
|
-
let [translation, setTranslation] = (0,
|
|
2726
|
-
let [error, setError] = (0,
|
|
2727
|
-
let [from, setSourceLang] = (0,
|
|
2728
|
-
let [isTranslating, setIsTranslating] = (0,
|
|
2729
|
-
let textRef = (0,
|
|
2730
|
-
(0,
|
|
2834
|
+
let [translation, setTranslation] = (0, import_react8.useState)("");
|
|
2835
|
+
let [error, setError] = (0, import_react8.useState)(null);
|
|
2836
|
+
let [from, setSourceLang] = (0, import_react8.useState)(null);
|
|
2837
|
+
let [isTranslating, setIsTranslating] = (0, import_react8.useState)(false);
|
|
2838
|
+
let textRef = (0, import_react8.useRef)(text);
|
|
2839
|
+
(0, import_react8.useEffect)(() => {
|
|
2731
2840
|
textRef.current = text;
|
|
2732
2841
|
return () => {
|
|
2733
2842
|
setTranslation("");
|
|
@@ -2762,52 +2871,39 @@ function useTranslation(text, targetLanguage, apiKey) {
|
|
|
2762
2871
|
};
|
|
2763
2872
|
}
|
|
2764
2873
|
|
|
2765
|
-
// src/
|
|
2766
|
-
var
|
|
2767
|
-
var
|
|
2768
|
-
|
|
2769
|
-
|
|
2770
|
-
|
|
2771
|
-
|
|
2772
|
-
|
|
2773
|
-
|
|
2774
|
-
|
|
2775
|
-
|
|
2776
|
-
|
|
2777
|
-
|
|
2778
|
-
|
|
2779
|
-
|
|
2780
|
-
|
|
2781
|
-
|
|
2782
|
-
|
|
2783
|
-
|
|
2784
|
-
|
|
2785
|
-
|
|
2786
|
-
if (isControlled) {
|
|
2787
|
-
props.checked = value === optValue;
|
|
2788
|
-
} else {
|
|
2789
|
-
props.defaultChecked = defaultValue === optValue;
|
|
2790
|
-
}
|
|
2791
|
-
if (typeof onChange === "function") {
|
|
2792
|
-
props.onChange = () => onChange(optValue);
|
|
2793
|
-
}
|
|
2794
|
-
if (isObj) {
|
|
2795
|
-
Object.assign(props, option);
|
|
2796
|
-
}
|
|
2797
|
-
return /* @__PURE__ */ React.createElement("label", { key: optValue, className: "ObValueToggle-option" }, /* @__PURE__ */ React.createElement("input", { type: "radio", className: "ObValueToggle-input", name: toggleName, ...props }), /* @__PURE__ */ React.createElement("span", { className: "ObValueToggle-label" }, isObj ? option.label || optValue : optValue));
|
|
2798
|
-
})));
|
|
2799
|
-
}
|
|
2800
|
-
var ValueToggle = (0, import_react10.forwardRef)(ValueToggleInner);
|
|
2874
|
+
// src/ValueToggleGroup/index.tsx
|
|
2875
|
+
var import_react9 = __toESM(require_react(), 1);
|
|
2876
|
+
var ValueToggleGroup = (0, import_react9.forwardRef)(function ValueToggleGroup2({ options, value, defaultValue, onChange, className, name, id, style, orientation = "horizontal" }, ref) {
|
|
2877
|
+
let randomId = (0, import_react9.useId)();
|
|
2878
|
+
let groupName = name || `toggle-${id ?? randomId}`;
|
|
2879
|
+
let isControlled = value !== void 0;
|
|
2880
|
+
return /* @__PURE__ */ React.createElement("fieldset", { className: clsx_default("ObValueToggleGroup", orientation, className), role: "radiogroup", ref, style }, options.map((opt) => {
|
|
2881
|
+
return /* @__PURE__ */ React.createElement("label", { key: opt.value, className: clsx_default("ObValueToggleOption", { disabled: opt.disabled }) }, /* @__PURE__ */ React.createElement(
|
|
2882
|
+
"input",
|
|
2883
|
+
{
|
|
2884
|
+
type: "radio",
|
|
2885
|
+
name: groupName,
|
|
2886
|
+
value: opt.value,
|
|
2887
|
+
checked: isControlled ? value === opt.value : void 0,
|
|
2888
|
+
defaultChecked: !isControlled ? defaultValue === opt.value : void 0,
|
|
2889
|
+
onChange: () => onChange?.(opt.value),
|
|
2890
|
+
disabled: opt.disabled
|
|
2891
|
+
}
|
|
2892
|
+
), /* @__PURE__ */ React.createElement("span", { className: "ObValueToggleLabel" }, opt.label ?? opt.value));
|
|
2893
|
+
}));
|
|
2894
|
+
});
|
|
2801
2895
|
export {
|
|
2802
2896
|
Card,
|
|
2803
2897
|
CardColumn,
|
|
2804
2898
|
CardDetail,
|
|
2805
2899
|
CardLabel,
|
|
2900
|
+
CardStep,
|
|
2901
|
+
CardStepList,
|
|
2806
2902
|
Checkbox,
|
|
2807
2903
|
ColorCard,
|
|
2808
2904
|
DateNavigator,
|
|
2809
|
-
|
|
2810
|
-
|
|
2905
|
+
LinkedList,
|
|
2906
|
+
LinkedListItem,
|
|
2811
2907
|
PageBanner,
|
|
2812
2908
|
BannerImage as PageBannerImage,
|
|
2813
2909
|
Tab as PageBannerTab,
|
|
@@ -2818,7 +2914,7 @@ export {
|
|
|
2818
2914
|
Sidebar,
|
|
2819
2915
|
Spinner,
|
|
2820
2916
|
SplitContainer,
|
|
2821
|
-
|
|
2917
|
+
ValueToggleGroup,
|
|
2822
2918
|
useTranslation
|
|
2823
2919
|
};
|
|
2824
2920
|
/*! Bundled license information:
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
@charset "UTF-8";.ObCheckbox-root{--check-width: 2rem;--bg-color: var(--brand-dark, rgba(42, 65, 50, .5));--bg-color-hover: var(--brand-primary, rgba(42, 65, 50, .8));--bg-color-selected: var(--brand-light);display:inline-block;height:var(--check-width);margin-bottom:0}.ObCheckbox-root:focus-within .ObCheckbox-box{border:.1rem solid black}.ObCheckbox-root.Ob-disabled{--bg-color: rgba(150, 150, 150, .5);--bg-color-hover: var(--bg-color)}.ObCheckbox-box{position:relative;background:var(--bg-color);transition:background .3s ease;overflow:hidden;border-radius:calc(var(--check-width) / 15);height:var(--check-width);width:var(--check-width)}.ObCheckbox-box:hover{background:var(--bg-color-hover)}.ObCheckbox-label{position:relative;margin-bottom:0;overflow:hidden}.ObCheckbox-label:focus{outline:none}.ObCheckbox-mark{color:#fff;display:inline-block;font-size:calc(var(--check-width) * .4);left:50%;opacity:0;pointer-events:none;position:absolute;top:50%;transition:all .3s ease-in-out;transition-delay:0ms;transform:translate(-50%,-50%) scale(6)}.ObCheckbox-input{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.ObCheckbox-input:focus{outline:none}.check_Label{margin-bottom:0;flex-grow:1}.ObCheckbox-input:checked:not(:disabled)+.ObCheckbox-label{animation:animOn .8s 1 forwards}.ObCheckbox-input:checked:not(:disabled)+.ObCheckbox-label .ObCheckbox-box{background:var(--bg-color-selected)}.ObCheckbox-input:checked+.ObCheckbox-label .ObCheckbox-box .ObCheckbox-mark{transform:translate(-50%,-50%) scale(1);transition-delay:.2s;opacity:1}.ObCheckbox-root.Ob-disabled .ObCheckbox-box{cursor:not-allowed}@keyframes animOn{40%{transform:scaleY(.4) scaleX(2)}50%{transform:scaleY(1.2) scaleX(.6)}60%{transform:scaleY(.8) scaleX(1.4)}70%{transform:scaleY(1.1) scaleX(.9)}to{transform:scaleY(1) scaleX(1)}}.ObColorCard-root{--bg-color-border: black;--bg-color-main: white;--bg-size: .75rem;--card-color: rgb(0, 0, 0);align-items:stretch;background-image:linear-gradient(to right,#116069,#116069 .75rem,#fff .75rem,#fff);background-image:linear-gradient(to right,var(--bg-color-border),var(--bg-color-border) var(--bg-size),var(--bg-color-main) var(--bg-size),var(--bg-color-main));border-radius:.25rem;box-shadow:0 1px 12px #00000026,0 1px 6px #00000040;color:#666;cursor:pointer;display:flex;font-family:Variable Bahnschrift,Bahnschrift,Open Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol;font-size:1rem;min-height:10rem;overflow:hidden;transition:all ease-in-out .3s}.ObColorCard-root:nth-of-type(5n+1){--bg-color-border: rgb(178, 108, 190)}.ObColorCard-root:nth-of-type(5n+2){--bg-color-border: rgb(79, 164, 61)}.ObColorCard-root:nth-of-type(5n+3){--bg-color-border: rgb(246, 170, 23)}.ObColorCard-root:nth-of-type(5n+4){--bg-color-border: rgb(218, 93, 83)}.ObColorCard-root:nth-of-type(5n+5){--bg-color-border: rgb(23, 162, 184)}.ObColorCard-root:hover,.ObColorCard-root:focus{--bg-color-main: #f5f5f5;box-shadow:0 3px 18px #00000026,0 3px 12px #00000040;color:#666;text-decoration:none}@media screen and (min-width: 48rem){.ObColorCard-root{font-size:1.2rem}}.ObColorCard-column{display:flex;flex:1 1 100%;flex-direction:column;justify-content:space-between;margin:1rem 0;overflow:hidden;padding:.5rem 1.5rem .5rem 1rem;text-overflow:ellipsis}.ObColorCard-column:first-child{margin-left:.75rem;margin-left:var(--bg-size)}.ObColorCard-column.ObColorCard-minor{border-right:1px solid #e3e3e3;flex:0 0 4rem;transition:margin ease-in-out .3s}@media screen and (min-width: 48rem){.ObColorCard-column.ObColorCard-minor{flex:0 0 8rem}}.ObColorCard-detailLabel{color:#ccc;font-size:.8rem;text-transform:uppercase}.ObColorCard-detail:not(:last-child){margin-right:1.5rem}.ObColorCard-detail.ObColorCard-primary,.ObColorCard-detail.ObColorCard-primary .ObColorCard-detailValue{font-size:1.25rem;font-weight:300}.ObColorCard-detail.ObColorCard-primary .ObColorCard-detailValue{color:unset}@media screen and (min-width: 48rem){.ObColorCard-detail{font-size:1rem}}.ObColorCard-detailValue{color:#999}.ObColorCard-label{position:relative;padding-left:1.5rem}.ObColorCard-label:not(:last-child){margin-bottom:1rem}.ObColorCard-label:not(:last-child):after{content:"";position:absolute;width:.2rem;height:calc(100% + 1rem);border-left:.2rem dotted #666;left:.25rem;top:.5rem;z-index:0}.ObColorCard-label:before{background:#fff;border:.2rem solid hsl(186,72%,24%);border:.2rem solid var(--bg-color-border);border-radius:50%;content:"";display:block;height:.75rem;left:0;position:absolute;top:.3rem;width:.75rem;z-index:1}.ObDateNavigator-icon{display:inline-block}.ObDateNavigator-icon svg{width:.625em;position:relative;top:-1px}.ObDateNavigator-root{background-color:#f3f4f7;background-color:var(--block-header-color-bg);display:flex;font-size:1rem}.ObDateNavigator-arrow{background:none;border:0;color:inherit;font:inherit;line-height:normal;overflow:visible;padding:0;-webkit-appearance:button;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;display:flex;align-items:center;flex:0 0 3rem;justify-content:center;height:3rem;cursor:pointer;text-align:center}.ObDateNavigator-arrow::-moz-focus-inner{border:0;padding:0}.ObDateNavigator-arrow:hover{background-color:#e3e3e3;background-color:var(--block-header-button-hover)}.ObDateNavigator-arrowLeft{border-right:1px solid #dddddd;order:1}.ObDateNavigator-arrowRight{border-left:1px solid #dddddd;order:3}.ObDateNavigator-date{display:flex;flex:1 1 100%;flex-direction:column;justify-content:center;order:2;height:3rem;text-align:center}.ObLinkedList-root{list-style-type:none;margin-left:0;padding-left:0}.ObLinkedList-item{display:flex;align-items:center;flex-direction:row}.ObLinkedList-leftColumn{flex:1 1 4em;font-size:.75em;padding:0 1em;text-align:center}.ObLinkedList-rightColumn{flex:1 1 100%;padding:1em 1em 1em 1.5em}.ObLinkedList-line{display:flex;align-self:stretch;flex:0 0 .2em;background:#fff;position:relative}.ObLinkedList-bullet{background:#fff;border:1px solid rgba(50,50,50,.25);border-radius:.55em;height:.7em;width:.7em;position:absolute;left:0;top:50%;transform:translate(-.25em,-50%)}.ObLinkedList-card{background:#fff;border:1px solid;border-color:#e5e6e9 #dfe0e4 #d0d1d5;border-radius:.1875em;color:inherit;cursor:pointer;flex:100% 1 1;position:relative}.ObLinkedList-card:before{border-bottom:.5em solid transparent;border-right:1em solid white;border-top:.5em solid transparent;content:" ";filter:drop-shadow(-1px 0px 1px rgba(50,50,50,.2));height:1em;left:-1em;margin-top:-.5em;position:absolute;top:50%;width:1em}.ObLinkedList-card:hover{background-color:#edeff3!important;color:inherit;text-decoration:inherit}.ObLinkedList-card:hover:before{border-right-color:#edeff3!important}.ObPageBanner-root{background-color:#116069;background-color:var(--brand-dark);box-shadow:0 8px 8px #0003;color:#fff}.ObPageBanner-root a{color:#b3d5e6}.ObPageBanner-inner{display:flex;align-items:center;flex-direction:column}@media screen and (min-width: 768px){.ObPageBanner-inner{align-items:flex-start;flex-direction:row}}.ObPageBanner-plantTitle{font-size:2rem}@media screen and (min-width: 992px){.ObPageBanner-plantTitle{font-size:3rem}}.ObPageBanner-bannerImage{align-self:stretch;background-color:#ddd;display:inline-block;height:20vh;object-fit:cover;object-position:center center;width:100%}@media screen and (min-width: 576px){.ObPageBanner-bannerImage{align-self:center;margin:0;margin-right:1rem;border:.4rem solid white;border-radius:50%;height:150px;width:150px}}@media screen and (min-width: 992px){.ObPageBanner-bannerImage{height:250px;width:250px}}.ObPageBanner-bannerTitle{margin-bottom:1rem;margin-top:1rem;font-size:2rem}@media screen and (min-width: 768px){.ObPageBanner-bannerTitle{margin-top:0}}@media screen and (min-width: 992px){.ObPageBanner-bannerTitle{font-size:3rem}}.ObPageBanner-tabList.sticky{position:-webkit-sticky;position:sticky;top:0;z-index:1000}.ObPageBanner-tabListInner{overflow-x:auto;scrollbar-width:thin;white-space:nowrap}.ObPageBanner-tab{border-bottom:.25rem solid transparent;display:inline-block;margin-top:.5rem;min-width:8rem;padding:.5rem 1rem;text-align:center;text-transform:capitalize}.ObPageBanner-tab.active{border-color:#fff}.ObProgressBar-root{height:1.5em;width:100%;appearance:none;-webkit-appearance:none;background-color:#f5f5f5;border:none;border-radius:3px;box-shadow:0 2px 3px #0003 inset;color:#4169e1;position:relative}.ObProgressBar-root::-webkit-progress-bar{background-color:#f5f5f5;border-radius:3px;box-shadow:0 2px 3px #0003 inset}.ObProgressBar-root::-webkit-progress-value{background-image:linear-gradient(135deg,transparent,transparent 33%,rgba(0,0,0,.1) 33%,rgba(0,0,0,.1) 66%,transparent 66%),linear-gradient(top,#ffffff40,#0003),linear-gradient(left,var(--brand-primary, hsl(186, 72%, 24%)),var(--brand-light, hsl(186, 72%, 37%)));background-image:-webkit-linear-gradient(135deg,transparent,transparent 33%,rgba(0,0,0,.1) 33%,rgba(0,0,0,.1) 66%,transparent 66%),-webkit-linear-gradient(top,rgba(255,255,255,.25),rgba(0,0,0,.2)),-webkit-linear-gradient(left,var(--brand-primary),hsl(186,72%,24%),var(--brand-light, hsl(186, 72%, 37%)));background-size:35px 20px,100% 100%,100% 100%;border-radius:3px;position:relative;transition:width .5s ease-out}.ObProgressBar-root::-webkit-progress-value:after{background-color:#fff;content:"";border-radius:100%;height:5px;position:absolute;right:7px;top:7px;width:5px}.ObProgressBar-root::-moz-progress-bar{background-image:linear-gradient(135deg,transparent,transparent 33%,rgba(0,0,0,.1) 33%,rgba(0,0,0,.1) 66%,transparent 66%),linear-gradient(top,#ffffff40,#0003),linear-gradient(left,var(--brand-primary),var(--brand-light));background-image:-moz-linear-gradient(135deg,transparent,transparent 33%,rgba(0,0,0,.1) 33%,rgba(0,0,0,.1) 66%,transparent 66%),-moz-linear-gradient(top,rgba(255,255,255,.25),rgba(0,0,0,.2)),-moz-linear-gradient(left,var(--brand-primary),var(--brand-light));background-size:35px 20px,100% 100%,100% 100%;border-radius:3px;transition:width .5s ease-out}.ObSidebar-root{position:fixed;bottom:0;left:0;top:0;z-index:2;background-color:#fff;transform:translate(-100%);transition:transform .2s ease-out;will-change:transform;overflow-y:auto}.ObSidebar-root.Ob-right{left:unset;right:0;transform:translate(100%)}.ObSidebar-root.Ob-open{transform:translate(0)}.ObSidebar-root.ObSidebar-shadow{box-shadow:2px 2px 4px #00000026}.ObSidebar-root.ObSidebar-shadow.Ob-right{box-shadow:-2px 2px 4px #00000026}.ObSidebar-overlay{position:fixed;inset:0;z-index:1;opacity:0;visibility:hidden;transition:opacity .3s ease-out,visibility .3s ease-out;background-color:#0000004d}.ObSidebar-overlay.Ob-open{opacity:1;visibility:visible}.ObSpinner-root{display:inline-block}.ObSpinner-fullPage{display:flex;align-items:center;justify-content:center;height:100vh;width:100vw}.ObSpinner-spinner{display:inline-block;height:.75em;position:relative;width:2.5em}.ObSpinner-bullet{animation-timing-function:cubic-bezier(0,1,1,0);background:#666;border-radius:50%;height:.5em;position:absolute;top:.2rem;width:.5em}.ObSpinner-bullet:nth-child(1){animation:scaleAnimation .6s infinite ease-in-out;left:.25em}.ObSpinner-bullet:nth-child(2){animation:translateAnimation .6s infinite ease-in-out;left:.25em}.ObSpinner-bullet:nth-child(3){animation:translateAnimation .6s infinite ease-in-out;left:1.2em}.ObSpinner-bullet:nth-child(4){animation:scaleAnimation .6s infinite ease-in-out reverse;left:2em}@keyframes scaleAnimation{0%{transform:scale(0)}to{transform:scale(1)}}@keyframes translateAnimation{0%{transform:translate(0)}to{transform:translate(.825em)}}.\1f616 {display:initial}.ObSplitContainer-root{display:flex;flex-direction:column;height:100%;width:100%}.ObSplitContainer-root.horizontal{flex-direction:row}.ObSplitContainer-panel{overflow:hidden}.ObSplitContainer-divider{flex:0 0 .5rem;background-color:transparent;line-height:.75;cursor:ns-resize;display:flex;align-items:center;justify-content:center}.ObSplitContainer-divider:focus{background-color:#0000004d}.ObSplitContainer-root.horizontal>.ObSplitContainer-divider{cursor:ew-resize;writing-mode:vertical-lr}.ObSplitContainer-panel.dragging{pointer-events:none}.ObValueToggle-root{display:flex;align-items:center}.ObValueToggle-option{margin-bottom:0}.ObValueToggle-label{cursor:pointer;font-size:.8em;margin:0 .2em;padding:.3em .5em;text-transform:uppercase}.ObValueToggle-label:hover{background:#ccc}.ObValueToggle-input:checked+.ObValueToggle-label{--color-bg: var(--brand-dark);background-color:#666;background-color:var(--color-bg);cursor:default;color:#fff}.ObValueToggle-input:checked:focus-within+.ObValueToggle-label{--color-bg: var(--brand-light)}.ObValueToggle-input:checked:hover+.ObValueToggle-label{background-color:#666;background-color:var(--color-bg)}.ObValueToggle-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
|
|
1
|
+
@charset "UTF-8";.ObCheckbox-root{--check-width: 2rem;--bg-color: var(--brand-dark, rgba(42, 65, 50, .5));--bg-color-hover: var(--brand-primary, rgba(42, 65, 50, .8));--bg-color-selected: var(--brand-light);display:inline-block;height:var(--check-width);margin-bottom:0}.ObCheckbox-root:focus-within .ObCheckbox-box{border:.1rem solid black}.ObCheckbox-root.Ob-disabled{--bg-color: rgba(150, 150, 150, .5);--bg-color-hover: var(--bg-color)}.ObCheckbox-box{position:relative;background:var(--bg-color);transition:background .3s ease;overflow:hidden;border-radius:calc(var(--check-width) / 15);height:var(--check-width);width:var(--check-width)}.ObCheckbox-box:hover{background:var(--bg-color-hover)}.ObCheckbox-label{position:relative;margin-bottom:0;overflow:hidden}.ObCheckbox-label:focus{outline:none}.ObCheckbox-mark{color:#fff;display:inline-block;font-size:calc(var(--check-width) * .4);left:50%;opacity:0;pointer-events:none;position:absolute;top:50%;transition:all .3s ease-in-out;transition-delay:0ms;transform:translate(-50%,-50%) scale(6)}.ObCheckbox-input{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.ObCheckbox-input:focus{outline:none}.ObCheckbox-label{display:flex;gap:.5rem;align-items:center;overflow:visible}.ObCheckbox-root.Ob-reverse .ObCheckbox-label{flex-direction:row-reverse}.ObCheckbox-input:checked:not(:disabled)+.ObCheckbox-label .ObCheckbox-box{animation:animOn .6s 1 forwards}.ObCheckbox-input:checked:not(:disabled)+.ObCheckbox-label .ObCheckbox-box{background:var(--bg-color-selected)}.ObCheckbox-input:checked+.ObCheckbox-label .ObCheckbox-box .ObCheckbox-mark{transform:translate(-50%,-50%) scale(1);transition-delay:.2s;opacity:1}.ObCheckbox-root.Ob-disabled .ObCheckbox-box{cursor:not-allowed}@keyframes animOn{40%{transform:scaleY(.4) scaleX(2)}50%{transform:scaleY(1.2) scaleX(.6)}60%{transform:scaleY(.8) scaleX(1.4)}70%{transform:scaleY(1.1) scaleX(.9)}to{transform:scaleY(1) scaleX(1)}}.ObColorCard-root{--bg-color-border: black;--bg-color-main: white;--bg-size: .75rem;--card-color: rgb(0, 0, 0);display:flex;align-items:stretch;min-height:10rem;overflow:hidden;border-radius:.25rem;box-shadow:0 1px 12px #00000026,0 1px 6px #00000040;color:#666;background-image:linear-gradient(to right,var(--bg-color-border),var(--bg-color-border) var(--bg-size),var(--bg-color-main) var(--bg-size),var(--bg-color-main));font-family:Variable Bahnschrift,Bahnschrift,Open Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol;font-size:1rem;transition:all ease-in-out .3s;cursor:pointer;&:nth-of-type(5n+1){--bg-color-border: rgb(178, 108, 190)}&:nth-of-type(5n+2){--bg-color-border: rgb(79, 164, 61)}&:nth-of-type(5n+3){--bg-color-border: rgb(246, 170, 23)}&:nth-of-type(5n+4){--bg-color-border: rgb(218, 93, 83)}&:nth-of-type(5n+5){--bg-color-border: rgb(23, 162, 184)}&:hover,&:focus{--bg-color-main: #f5f5f5;box-shadow:0 3px 18px #00000026,0 3px 12px #00000040;text-decoration:none}@media screen and (min-width: 48rem){font-size:1.2rem}}.ObColorCard-column{display:flex;flex:1 1 100%;flex-direction:column;justify-content:space-between;margin:1rem 0;padding:.5rem 1.5rem .5rem 1rem;overflow:hidden;text-overflow:ellipsis;&:first-child{margin-left:var(--bg-size, .75rem)}&.ObColorCard-minor{flex:0 0 4rem;border-right:1px solid #e3e3e3;transition:margin ease-in-out .3s;@media screen and (min-width: 48rem){flex:0 0 8rem}}}.ObColorCard-detailLabel{color:#696969;font-size:.8rem;text-transform:uppercase}.ObColorCard-detail{&:not(:last-child){margin-right:1.5rem}&.ObColorCard-primary,&.ObColorCard-primary .ObColorCard-detailValue{font-size:1.25rem;font-weight:300}&.ObColorCard-primary .ObColorCard-detailValue{color:unset}@media screen and (min-width: 48rem){font-size:1rem}}.ObColorCard-detailValue{color:#555}.ObColorCard-stepList{display:flex;flex-direction:column;gap:1rem}.ObColorCard-step{position:relative;text-box-trim:trim-both;display:flex;align-items:flex-start;gap:.5rem}.ObColorCard-step:before{flex:.6em 0 0;content:"";position:relative;top:.25em;width:.6em;height:.6em;background:#fff;border:2px solid var(--bg-color-border, #999);border-radius:50%;box-sizing:border-box;z-index:1}.ObColorCard-step:not(:last-child):after{content:"";position:absolute;top:1em;left:calc(.3em - 1px);height:calc(100% - .8875em + 1rem);border-left:2px dotted #999;z-index:0}.ObDateNavigator-icon{display:inline-block}.ObDateNavigator-icon svg{width:.625em;position:relative;top:-1px}.ObDateNavigator-root{background-color:#f3f4f7;background-color:var(--block-header-color-bg);display:flex;font-size:1rem;outline:none}.ObDateNavigator-root:focus-visible{outline:2px solid var(--brand-dark, #336699);outline-offset:2px}.ObDateNavigator-arrow{background:none;border:0;color:inherit;font:inherit;line-height:normal;overflow:visible;padding:0;-webkit-appearance:button;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;display:flex;align-items:center;flex:0 0 3rem;justify-content:center;height:3rem;cursor:pointer;text-align:center}.ObDateNavigator-arrow::-moz-focus-inner{border:0;padding:0}.ObDateNavigator-arrow:hover{background-color:#e3e3e3;background-color:var(--block-header-button-hover)}.ObDateNavigator-arrowLeft{border-right:1px solid #dddddd;order:1}.ObDateNavigator-arrowRight{border-left:1px solid #dddddd;order:3}.ObDateNavigator-date{display:flex;flex:1 1 100%;flex-direction:column;justify-content:center;order:2;height:3rem;text-align:center}.ObDateNavigator-today{background:none;border:0;color:inherit;font:inherit;line-height:normal;overflow:visible;padding:0;-webkit-appearance:button;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;order:4;padding:0 1rem;height:3rem;display:flex;align-items:center;justify-content:center;font-size:.875rem;color:var(--brand-dark, #336699);text-transform:uppercase;cursor:pointer;text-wrap:nowrap;border-left:1px solid #dddddd}.ObDateNavigator-today::-moz-focus-inner{border:0;padding:0}.ObDateNavigator-today:hover{background-color:var(--block-header-button-hover)}.ObDateNavigator-today:focus-visible{outline:2px solid var(--brand-dark, #336699);outline-offset:2px}:root{--ob-linked-list-bullet-size: .7em;--ob-linked-list-line-width: .2em}.ObLinkedList-root{list-style-type:none;margin-left:0;padding-left:0}.ObLinkedList-item{display:flex;align-items:center;flex-direction:row}.ObLinkedList-leftColumn{flex:1 1 4em;font-size:.75em;padding:0 1em;text-align:center}.ObLinkedList-rightColumn{flex:1 1 100%;padding:1em 1em 1em 1.5em}.ObLinkedList-line{display:flex;align-self:stretch;flex:0 0 .2em;background:#fff;position:relative}.ObLinkedList-bullet{background:#fff;border:1px solid rgba(50,50,50,.25);border-radius:.55em;height:.7em;width:.7em;position:absolute;left:0;top:50%;transform:translate(calc(-1 * var(--ob-linked-list-bullet-size) / 2 + var(--ob-linked-list-line-width) / 2),-50%)}.ObLinkedList-card{display:block;background:#fff;border:1px solid;border-color:#e5e6e9 #dfe0e4 #d0d1d5;border-radius:.1875em;color:inherit;cursor:pointer;flex:100% 1 1;position:relative}.ObLinkedList-card:before{border-bottom:.5em solid transparent;border-right:1em solid white;border-top:.5em solid transparent;content:" ";filter:drop-shadow(-1px 0px 1px rgba(50,50,50,.2));height:1em;left:-1em;margin-top:-.5em;position:absolute;top:50%;width:1em}.ObLinkedList-card:hover{background-color:#edeff3!important;color:inherit;text-decoration:inherit}.ObLinkedList-card:hover:before{border-right-color:#edeff3!important}.ObPageBanner-root{background-color:#116069;background-color:var(--brand-dark);box-shadow:0 8px 8px #0003;color:#fff}.ObPageBanner-root a{color:#b3d5e6}.ObPageBanner-inner{display:flex;align-items:center;flex-direction:column}@media screen and (min-width: 768px){.ObPageBanner-inner{align-items:flex-start;flex-direction:row}}.ObPageBanner-plantTitle{font-size:2rem}@media screen and (min-width: 992px){.ObPageBanner-plantTitle{font-size:3rem}}.ObPageBanner-bannerImage{align-self:stretch;background-color:#ddd;display:inline-block;height:20vh;object-fit:cover;object-position:center center;width:100%}@media screen and (min-width: 576px){.ObPageBanner-bannerImage{align-self:center;margin:0;margin-right:1rem;border:.4rem solid white;border-radius:50%;height:150px;width:150px}}@media screen and (min-width: 992px){.ObPageBanner-bannerImage{height:250px;width:250px}}.ObPageBanner-bannerTitle{margin-bottom:1rem;margin-top:1rem;font-size:2rem}@media screen and (min-width: 768px){.ObPageBanner-bannerTitle{margin-top:0}}@media screen and (min-width: 992px){.ObPageBanner-bannerTitle{font-size:3rem}}.ObPageBanner-tabList.sticky{position:-webkit-sticky;position:sticky;top:0;z-index:1000}.ObPageBanner-tabListInner{overflow-x:auto;scrollbar-width:thin;white-space:nowrap}.ObPageBanner-tab{border-bottom:.25rem solid transparent;display:inline-block;margin-top:.5rem;min-width:8rem;padding:.5rem 1rem;text-align:center;text-transform:capitalize}.ObPageBanner-tab.active{border-color:#fff}.ObProgressBar-root{height:1.5em;width:100%;appearance:none;-webkit-appearance:none;background-color:#f5f5f5;border:none;border-radius:3px;box-shadow:0 2px 3px #0003 inset;color:#4169e1;position:relative}.ObProgressBar-root::-webkit-progress-bar{background-color:#f5f5f5;border-radius:3px;box-shadow:0 2px 3px #0003 inset}.ObProgressBar-root::-webkit-progress-value{background-image:linear-gradient(135deg,transparent,transparent 33%,rgba(0,0,0,.1) 33%,rgba(0,0,0,.1) 66%,transparent 66%),linear-gradient(top,#ffffff40,#0003),linear-gradient(left,var(--brand-primary),var(--brand-light));background-image:-webkit-linear-gradient(135deg,transparent,transparent 33%,rgba(0,0,0,.1) 33%,rgba(0,0,0,.1) 66%,transparent 66%),-webkit-linear-gradient(top,rgba(255,255,255,.25),rgba(0,0,0,.2)),-webkit-linear-gradient(left,var(--brand-primary),var(--brand-light));background-size:35px 20px,100% 100%,100% 100%;border-radius:3px;position:relative;transition:width .5s ease-out}.ObProgressBar-root::-webkit-progress-value:after{background-color:#fff;content:"";border-radius:100%;height:5px;position:absolute;right:7px;top:7px;width:5px}.ObProgressBar-root::-moz-progress-bar{background-image:linear-gradient(135deg,transparent,transparent 33%,rgba(0,0,0,.1) 33%,rgba(0,0,0,.1) 66%,transparent 66%),linear-gradient(top,#ffffff40,#0003),linear-gradient(left,var(--brand-primary),var(--brand-light));background-image:-moz-linear-gradient(135deg,transparent,transparent 33%,rgba(0,0,0,.1) 33%,rgba(0,0,0,.1) 66%,transparent 66%),-moz-linear-gradient(top,rgba(255,255,255,.25),rgba(0,0,0,.2)),-moz-linear-gradient(left,var(--brand-primary),var(--brand-light));background-size:35px 20px,100% 100%,100% 100%;border-radius:3px;transition:width .5s ease-out}.ObSidebar-root{position:fixed;bottom:0;left:0;top:0;z-index:2;background-color:#fff;transform:translate(-100%);transition:transform .2s ease-out;will-change:transform;overflow-y:auto}.ObSidebar-root.Ob-right{left:unset;right:0;transform:translate(100%)}.ObSidebar-root.Ob-open{transform:translate(0)}.ObSidebar-root.ObSidebar-shadow{box-shadow:2px 2px 4px #00000026}.ObSidebar-root.ObSidebar-shadow.Ob-right{box-shadow:-2px 2px 4px #00000026}.ObSidebar-overlay{position:fixed;inset:0;z-index:1;opacity:0;visibility:hidden;transition:opacity .3s ease-out,visibility .3s ease-out;background-color:#0000004d}.ObSidebar-overlay.Ob-open{opacity:1;visibility:visible}.ObSpinner-wrapper,.ObSpinner-fullPage{--bullet-size: .5em}.ObSpinner-root{display:inline-block}.ObSpinner-fullPage{display:flex;align-items:center;justify-content:center;height:100vh;width:100vw}.ObSpinner-spinner{display:inline-block;height:calc(var(--bullet-size) * 1.5);position:relative;width:calc(var(--bullet-size) * 5)}.ObSpinner-bullet{animation-timing-function:cubic-bezier(0,1,1,0);background:#666;border-radius:50%;height:var(--bullet-size);position:absolute;top:.2rem;width:var(--bullet-size);&:nth-child(1){animation:scaleAnimation .6s infinite ease-in-out;left:calc(var(--bullet-size) * .5)}&:nth-child(2){animation:translateAnimation .6s infinite ease-in-out;left:calc(var(--bullet-size) * .5)}&:nth-child(3){animation:translateAnimation .6s infinite ease-in-out;left:calc(var(--bullet-size) * 2.4)}&:nth-child(4){animation:scaleAnimation .6s infinite ease-in-out reverse;left:calc(var(--bullet-size) * 4)}}@keyframes scaleAnimation{0%{transform:scale(0)}to{transform:scale(1)}}@keyframes translateAnimation{0%{transform:translate(0)}to{transform:translate(calc(var(--bullet-size) * 1.65))}}.\1f616 {display:initial}.ObSplitContainer-root{display:flex;flex-direction:column;height:100%;width:100%}.ObSplitContainer-root.horizontal{flex-direction:row}.ObSplitContainer-panel{overflow:hidden}.ObSplitContainer-divider{flex:0 0 .5rem;background-color:transparent;line-height:.75;cursor:ns-resize;display:flex;align-items:center;justify-content:center}.ObSplitContainer-divider:focus{background-color:#0000004d}.ObSplitContainer-root.horizontal>.ObSplitContainer-divider{cursor:ew-resize;writing-mode:vertical-lr}.ObSplitContainer-panel.dragging{pointer-events:none}.ObValueToggleGroup{padding:.25rem;border:2px solid rgb(0 0 0 / .2);border-radius:4px;display:flex;gap:.25rem;flex-wrap:wrap;&.vertical{flex-direction:column;align-items:center;.ObValueToggleOption{width:100%;.ObValueToggleLabel{width:100%;text-align:center}}}&:focus-within{border-color:#000c}}.ObValueToggleOption{display:flex;align-items:center;margin:0;position:relative}.ObValueToggleOption input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.ObValueToggleLabel{font-size:.8em;margin:0 .2em;padding:.3em .5em;text-transform:uppercase;transition:background .2s ease,color .2s ease;border-radius:4px}.ObValueToggleOption:hover input:not(:disabled)+.ObValueToggleLabel{cursor:pointer;background:#ccc}.ObValueToggleOption input:checked+.ObValueToggleLabel{--color-bg: var(--brand-dark);background-color:var(--color-bg);color:#fff;cursor:default}.ObValueToggleOption input:disabled+.ObValueToggleLabel{color:#00000080}.ObValueToggleOption input:checked:focus-visible+.ObValueToggleLabel{--color-bg: var(--brand-light);outline:2px solid var(--brand-light)}.ObValueToggleOption input:checked:hover+.ObValueToggleLabel{background-color:var(--color-bg)}
|
|
2
2
|
/*# sourceMappingURL=ob.react.min.css.map */
|