@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/iife/ob.react.js
CHANGED
|
@@ -2204,17 +2204,19 @@ var ob;
|
|
|
2204
2204
|
});
|
|
2205
2205
|
|
|
2206
2206
|
// src/index.ts
|
|
2207
|
-
var
|
|
2208
|
-
__export(
|
|
2207
|
+
var index_exports = {};
|
|
2208
|
+
__export(index_exports, {
|
|
2209
2209
|
Card: () => Card,
|
|
2210
2210
|
CardColumn: () => CardColumn,
|
|
2211
2211
|
CardDetail: () => CardDetail,
|
|
2212
2212
|
CardLabel: () => CardLabel,
|
|
2213
|
+
CardStep: () => CardStep,
|
|
2214
|
+
CardStepList: () => CardStepList,
|
|
2213
2215
|
Checkbox: () => Checkbox,
|
|
2214
2216
|
ColorCard: () => ColorCard,
|
|
2215
2217
|
DateNavigator: () => DateNavigator,
|
|
2216
|
-
LinkedList: () =>
|
|
2217
|
-
LinkedListItem: () =>
|
|
2218
|
+
LinkedList: () => LinkedList,
|
|
2219
|
+
LinkedListItem: () => LinkedListItem,
|
|
2218
2220
|
PageBanner: () => PageBanner,
|
|
2219
2221
|
PageBannerImage: () => BannerImage,
|
|
2220
2222
|
PageBannerTab: () => Tab,
|
|
@@ -2225,7 +2227,7 @@ var ob;
|
|
|
2225
2227
|
Sidebar: () => Sidebar,
|
|
2226
2228
|
Spinner: () => Spinner,
|
|
2227
2229
|
SplitContainer: () => SplitContainer,
|
|
2228
|
-
|
|
2230
|
+
ValueToggleGroup: () => ValueToggleGroup,
|
|
2229
2231
|
useTranslation: () => useTranslation
|
|
2230
2232
|
});
|
|
2231
2233
|
|
|
@@ -2250,9 +2252,11 @@ var ob;
|
|
|
2250
2252
|
function Mark(props) {
|
|
2251
2253
|
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" }));
|
|
2252
2254
|
}
|
|
2253
|
-
var Checkbox = (0, import_react.forwardRef)(function Checkbox2({ className, disabled = false, id, onChange = () => null, title, value, ...other }, ref) {
|
|
2254
|
-
|
|
2255
|
-
|
|
2255
|
+
var Checkbox = (0, import_react.forwardRef)(function Checkbox2({ className, disabled = false, id, onChange = () => null, label, title, reverse, value, ...other }, ref) {
|
|
2256
|
+
let inputId = (0, import_react.useId)();
|
|
2257
|
+
inputId = id ?? inputId;
|
|
2258
|
+
let inputIdRef = `#${inputId}`;
|
|
2259
|
+
let input = (0, import_react.useRef)(null);
|
|
2256
2260
|
(0, import_react.useEffect)(() => {
|
|
2257
2261
|
if (typeof ref === "function") {
|
|
2258
2262
|
ref(input.current);
|
|
@@ -2274,39 +2278,47 @@ var ob;
|
|
|
2274
2278
|
}
|
|
2275
2279
|
function handleKeyDown(evt) {
|
|
2276
2280
|
if (evt.nativeEvent) {
|
|
2277
|
-
|
|
2281
|
+
let { nativeEvent } = evt;
|
|
2278
2282
|
if (nativeEvent.key === " ") {
|
|
2279
2283
|
nativeEvent.preventDefault();
|
|
2280
2284
|
input.current?.click();
|
|
2281
2285
|
}
|
|
2282
2286
|
}
|
|
2283
2287
|
}
|
|
2284
|
-
return /* @__PURE__ */ React.createElement(
|
|
2285
|
-
"
|
|
2288
|
+
return /* @__PURE__ */ React.createElement(
|
|
2289
|
+
"div",
|
|
2286
2290
|
{
|
|
2287
|
-
className: "ObCheckbox-
|
|
2288
|
-
|
|
2289
|
-
|
|
2290
|
-
|
|
2291
|
-
|
|
2292
|
-
|
|
2293
|
-
|
|
2294
|
-
|
|
2295
|
-
|
|
2296
|
-
|
|
2291
|
+
className: clsx_default("ObCheckbox-root", disabled && "Ob-disabled", reverse && "Ob-reverse", className),
|
|
2292
|
+
title
|
|
2293
|
+
},
|
|
2294
|
+
/* @__PURE__ */ React.createElement(
|
|
2295
|
+
"input",
|
|
2296
|
+
{
|
|
2297
|
+
className: "ObCheckbox-input",
|
|
2298
|
+
id: inputId,
|
|
2299
|
+
type: "checkbox",
|
|
2300
|
+
onChange: handleInputChanged,
|
|
2301
|
+
checked: value,
|
|
2302
|
+
disabled,
|
|
2303
|
+
ref: input,
|
|
2304
|
+
...other
|
|
2305
|
+
}
|
|
2306
|
+
),
|
|
2307
|
+
/* @__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))
|
|
2308
|
+
);
|
|
2297
2309
|
});
|
|
2298
2310
|
|
|
2299
2311
|
// src/ColorCard/index.tsx
|
|
2300
|
-
function ColorCard({
|
|
2301
|
-
as: Component,
|
|
2302
|
-
children,
|
|
2303
|
-
className,
|
|
2304
|
-
href,
|
|
2305
|
-
...other
|
|
2306
|
-
}) {
|
|
2312
|
+
function ColorCard({ as: Component, children, className, href, ...other }) {
|
|
2307
2313
|
const BaseElement = Component ? Component : href ? "a" : "div";
|
|
2308
2314
|
return /* @__PURE__ */ React.createElement(BaseElement, { className: clsx_default("ObColorCard-root", className), href, ...other }, children);
|
|
2309
2315
|
}
|
|
2316
|
+
function CardStepList({ children, className, ...props }) {
|
|
2317
|
+
return /* @__PURE__ */ React.createElement("div", { className: clsx_default("ObColorCard-stepList", className), ...props }, children);
|
|
2318
|
+
}
|
|
2319
|
+
function CardStep({ children, className, ...props }) {
|
|
2320
|
+
return /* @__PURE__ */ React.createElement("div", { className: clsx_default("ObColorCard-step", className), ...props }, /* @__PURE__ */ React.createElement("div", { className: "ObColorCard-stepText" }, children));
|
|
2321
|
+
}
|
|
2310
2322
|
function CardColumn({
|
|
2311
2323
|
children,
|
|
2312
2324
|
className,
|
|
@@ -2334,8 +2346,10 @@ var ob;
|
|
|
2334
2346
|
function getUiCulture() {
|
|
2335
2347
|
return af?.userSession?.culture ?? "default";
|
|
2336
2348
|
}
|
|
2337
|
-
function Arrow(
|
|
2338
|
-
|
|
2349
|
+
function Arrow({
|
|
2350
|
+
direction,
|
|
2351
|
+
...rest
|
|
2352
|
+
}) {
|
|
2339
2353
|
return /* @__PURE__ */ React.createElement(
|
|
2340
2354
|
"button",
|
|
2341
2355
|
{
|
|
@@ -2343,15 +2357,16 @@ var ob;
|
|
|
2343
2357
|
"ObDateNavigator-arrow",
|
|
2344
2358
|
direction === "left" ? "ObDateNavigator-arrowLeft" : "ObDateNavigator-arrowRight"
|
|
2345
2359
|
),
|
|
2360
|
+
"aria-label": direction === "left" ? (0, import_appframe_core.getLocalizedString)("Previous day") : (0, import_appframe_core.getLocalizedString)("Next day"),
|
|
2346
2361
|
...rest
|
|
2347
2362
|
},
|
|
2348
|
-
/* @__PURE__ */ React.createElement("span", { className: "ObDateNavigator-icon" }, direction === "left" ? /* @__PURE__ */ React.createElement("svg", { "aria-hidden": "true",
|
|
2363
|
+
/* @__PURE__ */ React.createElement("span", { className: "ObDateNavigator-icon" }, direction === "left" ? /* @__PURE__ */ React.createElement("svg", { "aria-hidden": "true", viewBox: "0 0 320 512" }, /* @__PURE__ */ React.createElement(
|
|
2349
2364
|
"path",
|
|
2350
2365
|
{
|
|
2351
2366
|
fill: "currentColor",
|
|
2352
2367
|
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"
|
|
2353
2368
|
}
|
|
2354
|
-
)) : /* @__PURE__ */ React.createElement("svg", { "aria-hidden": "true",
|
|
2369
|
+
)) : /* @__PURE__ */ React.createElement("svg", { "aria-hidden": "true", viewBox: "0 0 320 512" }, /* @__PURE__ */ React.createElement(
|
|
2355
2370
|
"path",
|
|
2356
2371
|
{
|
|
2357
2372
|
fill: "currentColor",
|
|
@@ -2367,41 +2382,89 @@ var ob;
|
|
|
2367
2382
|
year: "numeric",
|
|
2368
2383
|
timeZone: "utc"
|
|
2369
2384
|
});
|
|
2370
|
-
var today = /* @__PURE__ */ new Date();
|
|
2371
|
-
var todayUtc = Date.UTC(today.getFullYear(), today.getMonth(), today.getDate());
|
|
2372
2385
|
var oneDay = 24 * 60 * 60 * 1e3;
|
|
2373
|
-
function DateNavigator({
|
|
2386
|
+
function DateNavigator({
|
|
2387
|
+
date: dateProp,
|
|
2388
|
+
onChange,
|
|
2389
|
+
minDate,
|
|
2390
|
+
maxDate
|
|
2391
|
+
}) {
|
|
2374
2392
|
let [internalDate, setInternalDate] = (0, import_react2.useState)(/* @__PURE__ */ new Date());
|
|
2375
|
-
|
|
2376
|
-
|
|
2377
|
-
let
|
|
2378
|
-
let
|
|
2379
|
-
let
|
|
2380
|
-
|
|
2381
|
-
|
|
2382
|
-
|
|
2383
|
-
|
|
2384
|
-
|
|
2385
|
-
|
|
2393
|
+
let date = dateProp ?? internalDate;
|
|
2394
|
+
let dateUtc = Date.UTC(date.getFullYear(), date.getMonth(), date.getDate());
|
|
2395
|
+
let today = /* @__PURE__ */ new Date();
|
|
2396
|
+
let todayUtc = Date.UTC(today.getFullYear(), today.getMonth(), today.getDate());
|
|
2397
|
+
let liveRef = (0, import_react2.useRef)(null);
|
|
2398
|
+
let text = (() => {
|
|
2399
|
+
let base = formatter.format(new Date(dateUtc));
|
|
2400
|
+
if (todayUtc === dateUtc) return `${(0, import_appframe_core.getLocalizedString)("Today")}, ${base}`;
|
|
2401
|
+
if (todayUtc === dateUtc + oneDay) return `${(0, import_appframe_core.getLocalizedString)("Yesterday")}, ${base}`;
|
|
2402
|
+
if (todayUtc === dateUtc - oneDay) return `${(0, import_appframe_core.getLocalizedString)("Tomorrow")}, ${base}`;
|
|
2403
|
+
return base;
|
|
2404
|
+
})();
|
|
2405
|
+
let disablePrev = !!minDate && dateUtc <= Date.UTC(minDate.getFullYear(), minDate.getMonth(), minDate.getDate());
|
|
2406
|
+
let disableNext = !!maxDate && dateUtc >= Date.UTC(maxDate.getFullYear(), maxDate.getMonth(), maxDate.getDate());
|
|
2407
|
+
function updateDate(newDate) {
|
|
2408
|
+
if (minDate && newDate < minDate) {
|
|
2409
|
+
newDate = new Date(minDate);
|
|
2410
|
+
} else if (maxDate && newDate > maxDate) {
|
|
2411
|
+
newDate = new Date(maxDate);
|
|
2412
|
+
}
|
|
2413
|
+
if (onChange) onChange(newDate);
|
|
2414
|
+
else setInternalDate(newDate);
|
|
2386
2415
|
}
|
|
2387
|
-
|
|
2388
|
-
|
|
2416
|
+
function jumpToToday() {
|
|
2417
|
+
updateDate(/* @__PURE__ */ new Date());
|
|
2389
2418
|
}
|
|
2390
|
-
|
|
2391
|
-
if (
|
|
2392
|
-
|
|
2393
|
-
}
|
|
2394
|
-
|
|
2419
|
+
(0, import_react2.useEffect)(() => {
|
|
2420
|
+
if (liveRef.current) {
|
|
2421
|
+
liveRef.current.textContent = text;
|
|
2422
|
+
}
|
|
2423
|
+
}, [text]);
|
|
2424
|
+
function handleKeyDown(event) {
|
|
2425
|
+
if (event.key !== "ArrowLeft" && event.key !== "ArrowRight") return;
|
|
2426
|
+
if (event.defaultPrevented) return;
|
|
2427
|
+
if (event.altKey || event.metaKey) return;
|
|
2428
|
+
if (disablePrev && event.key === "ArrowLeft") return;
|
|
2429
|
+
if (disableNext && event.key === "ArrowRight") return;
|
|
2430
|
+
if (event.ctrlKey && event.shiftKey) {
|
|
2431
|
+
let newDate = new Date(dateUtc);
|
|
2432
|
+
if (event.key === "ArrowLeft") {
|
|
2433
|
+
newDate.setFullYear(newDate.getFullYear() - 1);
|
|
2434
|
+
} else if (event.key === "ArrowRight") {
|
|
2435
|
+
newDate.setFullYear(newDate.getFullYear() + 1);
|
|
2436
|
+
}
|
|
2437
|
+
updateDate(newDate);
|
|
2438
|
+
return;
|
|
2439
|
+
}
|
|
2440
|
+
if (event.ctrlKey) {
|
|
2441
|
+
let newDate = new Date(dateUtc);
|
|
2442
|
+
if (event.key === "ArrowLeft") {
|
|
2443
|
+
newDate.setMonth(newDate.getMonth() - 1);
|
|
2444
|
+
} else if (event.key === "ArrowRight") {
|
|
2445
|
+
newDate.setMonth(newDate.getMonth() + 1);
|
|
2446
|
+
}
|
|
2447
|
+
updateDate(newDate);
|
|
2448
|
+
return;
|
|
2449
|
+
}
|
|
2450
|
+
let modifier = event.shiftKey ? 7 : 1;
|
|
2451
|
+
if (event.key === "ArrowLeft") {
|
|
2452
|
+
updateDate(new Date(dateUtc - oneDay * modifier));
|
|
2453
|
+
} else if (event.key === "ArrowRight") {
|
|
2454
|
+
updateDate(new Date(dateUtc + oneDay * modifier));
|
|
2395
2455
|
}
|
|
2396
2456
|
}
|
|
2397
|
-
return
|
|
2457
|
+
return (
|
|
2458
|
+
// biome-ignore lint/a11y/noNoninteractiveTabindex: I hate this component
|
|
2459
|
+
/* @__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" } }))
|
|
2460
|
+
);
|
|
2398
2461
|
}
|
|
2399
2462
|
|
|
2400
2463
|
// src/LinkedCardList/index.tsx
|
|
2401
|
-
function
|
|
2464
|
+
function LinkedList({ children, className, ...other }) {
|
|
2402
2465
|
return /* @__PURE__ */ React.createElement("ul", { className: clsx_default("ObLinkedList-root", className), ...other }, children);
|
|
2403
2466
|
}
|
|
2404
|
-
function
|
|
2467
|
+
function LinkedListItem({
|
|
2405
2468
|
children,
|
|
2406
2469
|
className,
|
|
2407
2470
|
label,
|
|
@@ -2422,7 +2485,7 @@ var ob;
|
|
|
2422
2485
|
}
|
|
2423
2486
|
var BannerImage = import_react3.default.forwardRef(function BannerImage2(props, ref) {
|
|
2424
2487
|
const { className, ...other } = props;
|
|
2425
|
-
return /* @__PURE__ */ import_react3.default.createElement("img", { ref, className: clsx_default("ObPageBanner-bannerImage", className), ...other });
|
|
2488
|
+
return /* @__PURE__ */ import_react3.default.createElement("img", { ref, className: clsx_default("ObPageBanner-bannerImage", className), alt: "", ...other });
|
|
2426
2489
|
});
|
|
2427
2490
|
function TabList({ as, className, children, sticky, ...other }) {
|
|
2428
2491
|
const Component = as ? as : "nav";
|
|
@@ -2457,23 +2520,21 @@ var ob;
|
|
|
2457
2520
|
const portalNode = (0, import_react4.useRef)(null);
|
|
2458
2521
|
(0, import_react4.useEffect)(() => {
|
|
2459
2522
|
const ownerDocument = mountNode.current?.ownerDocument;
|
|
2460
|
-
|
|
2461
|
-
if (ownerDocument && portalElem) {
|
|
2523
|
+
if (ownerDocument && !portalNode.current) {
|
|
2462
2524
|
let parent = root ? ownerDocument.querySelector(root) || ownerDocument.body : ownerDocument.body;
|
|
2463
2525
|
const node = ownerDocument.createElement(type);
|
|
2464
|
-
|
|
2526
|
+
portalNode.current = node;
|
|
2465
2527
|
parent.appendChild(node);
|
|
2466
2528
|
forceUpdate();
|
|
2467
2529
|
return () => {
|
|
2468
2530
|
parent.removeChild(node);
|
|
2469
2531
|
};
|
|
2470
2532
|
}
|
|
2471
|
-
}, []);
|
|
2533
|
+
}, [root, type]);
|
|
2472
2534
|
if (!portalNode.current) {
|
|
2473
2535
|
return /* @__PURE__ */ React.createElement("div", { ref: mountNode });
|
|
2474
|
-
} else {
|
|
2475
|
-
return (0, import_react_dom.createPortal)(children, portalNode.current);
|
|
2476
2536
|
}
|
|
2537
|
+
return (0, import_react_dom.createPortal)(children, portalNode.current);
|
|
2477
2538
|
}
|
|
2478
2539
|
|
|
2479
2540
|
// src/ProgressBar/index.tsx
|
|
@@ -2574,14 +2635,13 @@ var ob;
|
|
|
2574
2635
|
}
|
|
2575
2636
|
|
|
2576
2637
|
// src/Spinner/index.tsx
|
|
2577
|
-
var import_react7 = __toESM(require_react(), 1);
|
|
2578
2638
|
function Spinner({ className = "", fullPage = false, ...rest }) {
|
|
2579
|
-
return /* @__PURE__ */
|
|
2639
|
+
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" })));
|
|
2580
2640
|
}
|
|
2581
2641
|
|
|
2582
2642
|
// src/SplitContainer/index.tsx
|
|
2583
2643
|
var import_localforage = __toESM(require_localforage(), 1);
|
|
2584
|
-
var
|
|
2644
|
+
var import_react7 = __toESM(require_react(), 1);
|
|
2585
2645
|
var article = window.af?.article?.id ?? window.window?.location.pathname.substring(1).split("/")[0];
|
|
2586
2646
|
var settingsStore = import_localforage.default.createInstance({
|
|
2587
2647
|
name: `AfSplitContainers.${window.af?.userSession.login ?? "anonymous"}`
|
|
@@ -2615,18 +2675,31 @@ var ob;
|
|
|
2615
2675
|
)
|
|
2616
2676
|
)
|
|
2617
2677
|
);
|
|
2618
|
-
var Divider = (0,
|
|
2619
|
-
return /* @__PURE__ */
|
|
2678
|
+
var Divider = (0, import_react7.forwardRef)(function Divider2(props, ref) {
|
|
2679
|
+
return /* @__PURE__ */ React.createElement(
|
|
2680
|
+
"div",
|
|
2681
|
+
{
|
|
2682
|
+
className: clsx_default("ObSplitContainer-divider", props.className),
|
|
2683
|
+
tabIndex: 0,
|
|
2684
|
+
ref,
|
|
2685
|
+
role: "separator",
|
|
2686
|
+
"aria-orientation": props.direction,
|
|
2687
|
+
"aria-valuemin": props.min,
|
|
2688
|
+
"aria-valuemax": props.max,
|
|
2689
|
+
"aria-valuenow": props.size
|
|
2690
|
+
},
|
|
2691
|
+
/* @__PURE__ */ React.createElement("span", null, "\u2022\u2022\u2022")
|
|
2692
|
+
);
|
|
2620
2693
|
});
|
|
2621
2694
|
function SplitRoot({ className, direction, ...props }) {
|
|
2622
|
-
return /* @__PURE__ */
|
|
2695
|
+
return /* @__PURE__ */ React.createElement("div", { className: clsx_default(className, "ObSplitContainer-root", direction), ...props });
|
|
2623
2696
|
}
|
|
2624
2697
|
function SplitPanel(props) {
|
|
2625
2698
|
let style = {
|
|
2626
2699
|
flex: props.fixed ? `0 0 ${Math.floor(props.size)}px` : "1 1 100%",
|
|
2627
2700
|
...props.style
|
|
2628
2701
|
};
|
|
2629
|
-
return /* @__PURE__ */
|
|
2702
|
+
return /* @__PURE__ */ React.createElement("div", { className: clsx_default(props.className, "ObSplitContainer-panel"), style }, props.children);
|
|
2630
2703
|
}
|
|
2631
2704
|
function SplitContainer({
|
|
2632
2705
|
className,
|
|
@@ -2636,25 +2709,31 @@ var ob;
|
|
|
2636
2709
|
panelClassName,
|
|
2637
2710
|
defaultFixedSize = 400,
|
|
2638
2711
|
layoutVersion = 1,
|
|
2712
|
+
min = 0,
|
|
2713
|
+
max,
|
|
2639
2714
|
id
|
|
2640
2715
|
}) {
|
|
2641
|
-
let [fixedSize, setFixedSize] = (0,
|
|
2642
|
-
let [isDragging, setIsDragging] = (0,
|
|
2643
|
-
let dividerRef = (0,
|
|
2644
|
-
if (
|
|
2716
|
+
let [fixedSize, setFixedSize] = (0, import_react7.useState)(defaultFixedSize);
|
|
2717
|
+
let [isDragging, setIsDragging] = (0, import_react7.useState)(false);
|
|
2718
|
+
let dividerRef = (0, import_react7.useRef)(null);
|
|
2719
|
+
if (import_react7.Children.count(children) !== 2) {
|
|
2645
2720
|
throw Error("SplitContainer requires exactly 2 children");
|
|
2646
2721
|
}
|
|
2647
|
-
|
|
2648
|
-
|
|
2649
|
-
|
|
2650
|
-
|
|
2651
|
-
|
|
2652
|
-
|
|
2722
|
+
let containerRef = (0, import_react7.useRef)(null);
|
|
2723
|
+
let [containerSize, setContainerSize] = (0, import_react7.useState)(0);
|
|
2724
|
+
(0, import_react7.useEffect)(() => {
|
|
2725
|
+
if (!containerRef.current) return;
|
|
2726
|
+
let resizeObserver = new ResizeObserver((entries) => {
|
|
2727
|
+
for (let entry of entries) {
|
|
2728
|
+
if (entry.contentRect) {
|
|
2729
|
+
setContainerSize(direction === "horizontal" ? entry.contentRect.width : entry.contentRect.height);
|
|
2730
|
+
}
|
|
2653
2731
|
}
|
|
2654
|
-
return newValue;
|
|
2655
2732
|
});
|
|
2656
|
-
|
|
2657
|
-
|
|
2733
|
+
resizeObserver.observe(containerRef.current);
|
|
2734
|
+
return () => resizeObserver.disconnect();
|
|
2735
|
+
}, [direction]);
|
|
2736
|
+
(0, import_react7.useEffect)(() => {
|
|
2658
2737
|
if (id) {
|
|
2659
2738
|
let key = `${article}.${id}`;
|
|
2660
2739
|
getSettings(key, layoutVersion).then((data) => {
|
|
@@ -2665,14 +2744,32 @@ var ob;
|
|
|
2665
2744
|
});
|
|
2666
2745
|
}
|
|
2667
2746
|
}, [id, layoutVersion]);
|
|
2668
|
-
let childrenArray =
|
|
2669
|
-
(0,
|
|
2747
|
+
let childrenArray = import_react7.Children.toArray(children);
|
|
2748
|
+
(0, import_react7.useEffect)(() => {
|
|
2670
2749
|
let divider = dividerRef.current;
|
|
2671
2750
|
if (divider) {
|
|
2672
|
-
let
|
|
2751
|
+
let clampSize = function(size) {
|
|
2752
|
+
let adjustedContainerSize = containerSize - 10;
|
|
2753
|
+
let maxSize = Math.min(max ?? adjustedContainerSize, adjustedContainerSize);
|
|
2754
|
+
if (size < min) {
|
|
2755
|
+
size = min;
|
|
2756
|
+
} else if (size > maxSize) {
|
|
2757
|
+
size = maxSize;
|
|
2758
|
+
}
|
|
2759
|
+
return size;
|
|
2760
|
+
}, getNewSize = function(event) {
|
|
2673
2761
|
let deltaSize = direction === "horizontal" ? event.clientX - initialPosition.clientX : event.clientY - initialPosition.clientY;
|
|
2674
2762
|
deltaSize *= fixedPanel === 1 ? -1 : 1;
|
|
2675
|
-
return initialPosition.size - deltaSize;
|
|
2763
|
+
return clampSize(initialPosition.size - deltaSize);
|
|
2764
|
+
}, handleFixedSizeChanged = function(size) {
|
|
2765
|
+
setFixedSize((current) => {
|
|
2766
|
+
let newValue = clampSize(typeof size === "function" ? size(current) : size);
|
|
2767
|
+
if (id) {
|
|
2768
|
+
let key = `${article}.${id}`;
|
|
2769
|
+
persistState(key, layoutVersion, newValue);
|
|
2770
|
+
}
|
|
2771
|
+
return newValue;
|
|
2772
|
+
});
|
|
2676
2773
|
}, handlePointerUp = function(event) {
|
|
2677
2774
|
let newSize = getNewSize(event);
|
|
2678
2775
|
handleFixedSizeChanged(newSize);
|
|
@@ -2682,6 +2779,10 @@ var ob;
|
|
|
2682
2779
|
}, handlePointerMove = function(event) {
|
|
2683
2780
|
event.preventDefault();
|
|
2684
2781
|
let newSize = getNewSize(event);
|
|
2782
|
+
let divider2 = dividerRef.current;
|
|
2783
|
+
if (divider2) {
|
|
2784
|
+
divider2.setAttribute("aria-valuenow", String(newSize));
|
|
2785
|
+
}
|
|
2685
2786
|
movingPanel.style.flex = `0 0 ${newSize}px`;
|
|
2686
2787
|
}, handlePointerDown = function(event) {
|
|
2687
2788
|
setIsDragging(true);
|
|
@@ -2726,12 +2827,22 @@ var ob;
|
|
|
2726
2827
|
divider?.removeEventListener("keydown", handleKeyDown);
|
|
2727
2828
|
};
|
|
2728
2829
|
}
|
|
2729
|
-
}, [direction, fixedPanel]);
|
|
2730
|
-
return /* @__PURE__ */
|
|
2830
|
+
}, [direction, fixedPanel, layoutVersion, id, min, max, containerSize]);
|
|
2831
|
+
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(
|
|
2832
|
+
Divider,
|
|
2833
|
+
{
|
|
2834
|
+
ref: dividerRef,
|
|
2835
|
+
direction,
|
|
2836
|
+
isDragging,
|
|
2837
|
+
size: fixedSize,
|
|
2838
|
+
min,
|
|
2839
|
+
max: max ?? containerSize
|
|
2840
|
+
}
|
|
2841
|
+
), /* @__PURE__ */ React.createElement(SplitPanel, { className: clsx_default(isDragging && "dragging", panelClassName), fixed: fixedPanel === 2, size: fixedSize }, childrenArray[1]));
|
|
2731
2842
|
}
|
|
2732
2843
|
|
|
2733
2844
|
// src/useTranslation/index.ts
|
|
2734
|
-
var
|
|
2845
|
+
var import_react8 = __toESM(require_react(), 1);
|
|
2735
2846
|
async function translateText(text, target, apiKey) {
|
|
2736
2847
|
let url = `https://translation.googleapis.com/language/translate/v2?key=${apiKey}`;
|
|
2737
2848
|
let body = JSON.stringify({
|
|
@@ -2745,7 +2856,7 @@ var ob;
|
|
|
2745
2856
|
let result = await fetch(url, options);
|
|
2746
2857
|
let json = await result.json();
|
|
2747
2858
|
let { data } = json;
|
|
2748
|
-
if (data
|
|
2859
|
+
if (data?.translations) {
|
|
2749
2860
|
let [translation] = data.translations;
|
|
2750
2861
|
return {
|
|
2751
2862
|
from: translation.detectedSourceLanguage,
|
|
@@ -2755,12 +2866,12 @@ var ob;
|
|
|
2755
2866
|
return false;
|
|
2756
2867
|
}
|
|
2757
2868
|
function useTranslation(text, targetLanguage, apiKey) {
|
|
2758
|
-
let [translation, setTranslation] = (0,
|
|
2759
|
-
let [error, setError] = (0,
|
|
2760
|
-
let [from, setSourceLang] = (0,
|
|
2761
|
-
let [isTranslating, setIsTranslating] = (0,
|
|
2762
|
-
let textRef = (0,
|
|
2763
|
-
(0,
|
|
2869
|
+
let [translation, setTranslation] = (0, import_react8.useState)("");
|
|
2870
|
+
let [error, setError] = (0, import_react8.useState)(null);
|
|
2871
|
+
let [from, setSourceLang] = (0, import_react8.useState)(null);
|
|
2872
|
+
let [isTranslating, setIsTranslating] = (0, import_react8.useState)(false);
|
|
2873
|
+
let textRef = (0, import_react8.useRef)(text);
|
|
2874
|
+
(0, import_react8.useEffect)(() => {
|
|
2764
2875
|
textRef.current = text;
|
|
2765
2876
|
return () => {
|
|
2766
2877
|
setTranslation("");
|
|
@@ -2795,43 +2906,28 @@ var ob;
|
|
|
2795
2906
|
};
|
|
2796
2907
|
}
|
|
2797
2908
|
|
|
2798
|
-
// src/
|
|
2799
|
-
var
|
|
2800
|
-
var
|
|
2801
|
-
|
|
2802
|
-
|
|
2803
|
-
|
|
2804
|
-
|
|
2805
|
-
|
|
2806
|
-
|
|
2807
|
-
|
|
2808
|
-
|
|
2809
|
-
|
|
2810
|
-
|
|
2811
|
-
|
|
2812
|
-
|
|
2813
|
-
|
|
2814
|
-
|
|
2815
|
-
|
|
2816
|
-
|
|
2817
|
-
|
|
2818
|
-
|
|
2819
|
-
|
|
2820
|
-
props.checked = value === optValue;
|
|
2821
|
-
} else {
|
|
2822
|
-
props.defaultChecked = defaultValue === optValue;
|
|
2823
|
-
}
|
|
2824
|
-
if (typeof onChange === "function") {
|
|
2825
|
-
props.onChange = () => onChange(optValue);
|
|
2826
|
-
}
|
|
2827
|
-
if (isObj) {
|
|
2828
|
-
Object.assign(props, option);
|
|
2829
|
-
}
|
|
2830
|
-
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));
|
|
2831
|
-
})));
|
|
2832
|
-
}
|
|
2833
|
-
var ValueToggle = (0, import_react10.forwardRef)(ValueToggleInner);
|
|
2834
|
-
return __toCommonJS(src_exports);
|
|
2909
|
+
// src/ValueToggleGroup/index.tsx
|
|
2910
|
+
var import_react9 = __toESM(require_react(), 1);
|
|
2911
|
+
var ValueToggleGroup = (0, import_react9.forwardRef)(function ValueToggleGroup2({ options, value, defaultValue, onChange, className, name, id, style, orientation = "horizontal" }, ref) {
|
|
2912
|
+
let randomId = (0, import_react9.useId)();
|
|
2913
|
+
let groupName = name || `toggle-${id ?? randomId}`;
|
|
2914
|
+
let isControlled = value !== void 0;
|
|
2915
|
+
return /* @__PURE__ */ React.createElement("fieldset", { className: clsx_default("ObValueToggleGroup", orientation, className), role: "radiogroup", ref, style }, options.map((opt) => {
|
|
2916
|
+
return /* @__PURE__ */ React.createElement("label", { key: opt.value, className: clsx_default("ObValueToggleOption", { disabled: opt.disabled }) }, /* @__PURE__ */ React.createElement(
|
|
2917
|
+
"input",
|
|
2918
|
+
{
|
|
2919
|
+
type: "radio",
|
|
2920
|
+
name: groupName,
|
|
2921
|
+
value: opt.value,
|
|
2922
|
+
checked: isControlled ? value === opt.value : void 0,
|
|
2923
|
+
defaultChecked: !isControlled ? defaultValue === opt.value : void 0,
|
|
2924
|
+
onChange: () => onChange?.(opt.value),
|
|
2925
|
+
disabled: opt.disabled
|
|
2926
|
+
}
|
|
2927
|
+
), /* @__PURE__ */ React.createElement("span", { className: "ObValueToggleLabel" }, opt.label ?? opt.value));
|
|
2928
|
+
}));
|
|
2929
|
+
});
|
|
2930
|
+
return __toCommonJS(index_exports);
|
|
2835
2931
|
})();
|
|
2836
2932
|
/*! Bundled license information:
|
|
2837
2933
|
|
|
@@ -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 */
|