@olenbetong/synergi-react 1.0.6 → 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.
Files changed (58) hide show
  1. package/dist/esm/ob.react.css +216 -146
  2. package/dist/esm/ob.react.js +201 -102
  3. package/dist/esm/ob.react.min.css +1 -1
  4. package/dist/esm/ob.react.min.css.map +3 -3
  5. package/dist/esm/ob.react.min.js +1 -1
  6. package/dist/esm/ob.react.min.js.map +4 -4
  7. package/dist/iife/ob.react.css +216 -146
  8. package/dist/iife/ob.react.js +201 -102
  9. package/dist/iife/ob.react.min.css +1 -1
  10. package/dist/iife/ob.react.min.css.map +3 -3
  11. package/dist/iife/ob.react.min.js +1 -1
  12. package/dist/iife/ob.react.min.js.map +4 -4
  13. package/dist/styles/styles.css +1 -1
  14. package/dist/styles/styles.css.map +1 -1
  15. package/es/Checkbox/index.css +1 -1
  16. package/es/Checkbox/index.d.ts +11 -0
  17. package/es/Checkbox/index.js +7 -5
  18. package/es/ColorCard/index.d.ts +5 -2
  19. package/es/ColorCard/index.js +6 -0
  20. package/es/DateNavigator/index.css +1 -1
  21. package/es/DateNavigator/index.d.ts +3 -1
  22. package/es/DateNavigator/index.js +82 -28
  23. package/es/LinkedCardList/index.css +1 -1
  24. package/es/LinkedCardList/index.d.ts +2 -2
  25. package/es/LinkedCardList/index.js +2 -2
  26. package/es/ProgressBar/index.css +1 -1
  27. package/es/SplitContainer/index.d.ts +3 -1
  28. package/es/SplitContainer/index.js +45 -14
  29. package/es/ValueToggleGroup/index.d.ts +18 -0
  30. package/es/ValueToggleGroup/index.js +12 -0
  31. package/es/index.css +1 -1
  32. package/es/index.d.ts +8 -8
  33. package/es/index.js +3 -3
  34. package/package.json +88 -90
  35. package/src/Checkbox/index.scss +12 -5
  36. package/src/Checkbox/index.tsx +23 -6
  37. package/src/ColorCard/{index.scss → index.css} +50 -59
  38. package/src/ColorCard/index.tsx +21 -9
  39. package/src/DateNavigator/index.scss +66 -33
  40. package/src/DateNavigator/index.tsx +98 -33
  41. package/src/LinkedCardList/index.scss +8 -1
  42. package/src/LinkedCardList/index.tsx +2 -2
  43. package/src/ProgressBar/index.scss +2 -2
  44. package/src/Spinner/{index.scss → index.css} +13 -10
  45. package/src/Spinner/index.tsx +1 -1
  46. package/src/SplitContainer/index.tsx +71 -15
  47. package/src/ValueToggleGroup/index.css +79 -0
  48. package/src/ValueToggleGroup/index.tsx +52 -0
  49. package/src/index.scss +3 -2
  50. package/src/index.ts +12 -12
  51. package/LICENSE +0 -21
  52. package/es/ColorCard/index.css +0 -1
  53. package/es/Spinner/index.css +0 -1
  54. package/es/ValueToggle/index.css +0 -1
  55. package/es/ValueToggle/index.d.ts +0 -18
  56. package/es/ValueToggle/index.js +0 -38
  57. package/src/ValueToggle/index.scss +0 -50
  58. package/src/ValueToggle/index.tsx +0 -75
@@ -2210,11 +2210,13 @@ var ob;
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: () => List,
2217
- LinkedListItem: () => ListItem,
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
- ValueToggle: () => ValueToggle,
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
- const inputId = (0, import_react.useId)() + (id ?? "");
2255
- const input = (0, import_react.useRef)(null);
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
- const { nativeEvent } = evt;
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("div", { className: clsx_default("ObCheckbox-root", disabled && "Ob-disabled", className), title }, /* @__PURE__ */ React.createElement(
2285
- "input",
2288
+ return /* @__PURE__ */ React.createElement(
2289
+ "div",
2286
2290
  {
2287
- className: "ObCheckbox-input",
2288
- id: inputId,
2289
- type: "checkbox",
2290
- onChange: handleInputChanged,
2291
- checked: value,
2292
- disabled,
2293
- ref: input,
2294
- ...other
2295
- }
2296
- ), /* @__PURE__ */ React.createElement("label", { htmlFor: `#${inputId}`, className: "ObCheckbox-label", onKeyDown: handleKeyDown, onClick: handleClick }, /* @__PURE__ */ React.createElement("div", { className: "ObCheckbox-box" }, /* @__PURE__ */ React.createElement(Mark, { className: "ObCheckbox-mark" }))));
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(props) {
2338
- const { direction, ...rest } = props;
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", focusable: "false", role: "img", viewBox: "0 0 320 512" }, /* @__PURE__ */ React.createElement(
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", focusable: "false", role: "img", viewBox: "0 0 320 512" }, /* @__PURE__ */ React.createElement(
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({ date: dateProp, onChange }) {
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
- const date = dateProp ?? internalDate;
2376
- const dateUtc = Date.UTC(date.getFullYear(), date.getMonth(), date.getDate());
2377
- let dateValue = new Date(dateUtc);
2378
- let text = formatter.format(dateValue);
2379
- let altText = "";
2380
- if (todayUtc === dateUtc) {
2381
- altText = (0, import_appframe_core.getLocalizedString)("Today");
2382
- } else if (todayUtc === dateUtc + oneDay) {
2383
- altText = (0, import_appframe_core.getLocalizedString)("Yesterday");
2384
- } else if (todayUtc === dateUtc - oneDay) {
2385
- altText = (0, import_appframe_core.getLocalizedString)("Tomorrow");
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
- if (altText) {
2388
- text = `${altText}, ${text}`;
2416
+ function jumpToToday() {
2417
+ updateDate(/* @__PURE__ */ new Date());
2389
2418
  }
2390
- function handleDateChanged(date2) {
2391
- if (typeof onChange === "function") {
2392
- onChange(date2);
2393
- } else {
2394
- setInternalDate(date2);
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 /* @__PURE__ */ React.createElement("div", { className: "ObDateNavigator-root" }, /* @__PURE__ */ React.createElement(Arrow, { direction: "left", onClick: () => handleDateChanged(new Date(dateUtc - oneDay)) }), /* @__PURE__ */ React.createElement("div", { className: "ObDateNavigator-date" }, text), /* @__PURE__ */ React.createElement(Arrow, { direction: "right", onClick: () => handleDateChanged(new Date(dateUtc + oneDay)) }));
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 List({ children, className, ...other }) {
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 ListItem({
2467
+ function LinkedListItem({
2405
2468
  children,
2406
2469
  className,
2407
2470
  label,
@@ -2613,7 +2676,20 @@ var ob;
2613
2676
  )
2614
2677
  );
2615
2678
  var Divider = (0, import_react7.forwardRef)(function Divider2(props, ref) {
2616
- return /* @__PURE__ */ React.createElement("div", { className: clsx_default("ObSplitContainer-divider", props.className), ref }, /* @__PURE__ */ React.createElement("span", null, "\u2022\u2022\u2022"));
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
+ );
2617
2693
  });
2618
2694
  function SplitRoot({ className, direction, ...props }) {
2619
2695
  return /* @__PURE__ */ React.createElement("div", { className: clsx_default(className, "ObSplitContainer-root", direction), ...props });
@@ -2633,6 +2709,8 @@ var ob;
2633
2709
  panelClassName,
2634
2710
  defaultFixedSize = 400,
2635
2711
  layoutVersion = 1,
2712
+ min = 0,
2713
+ max,
2636
2714
  id
2637
2715
  }) {
2638
2716
  let [fixedSize, setFixedSize] = (0, import_react7.useState)(defaultFixedSize);
@@ -2641,16 +2719,20 @@ var ob;
2641
2719
  if (import_react7.Children.count(children) !== 2) {
2642
2720
  throw Error("SplitContainer requires exactly 2 children");
2643
2721
  }
2644
- function handleFixedSizeChanged(size) {
2645
- setFixedSize((current) => {
2646
- let newValue = typeof size === "function" ? size(current) : size;
2647
- if (id) {
2648
- let key = `${article}.${id}`;
2649
- persistState(key, layoutVersion, newValue);
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
+ }
2650
2731
  }
2651
- return newValue;
2652
2732
  });
2653
- }
2733
+ resizeObserver.observe(containerRef.current);
2734
+ return () => resizeObserver.disconnect();
2735
+ }, [direction]);
2654
2736
  (0, import_react7.useEffect)(() => {
2655
2737
  if (id) {
2656
2738
  let key = `${article}.${id}`;
@@ -2666,10 +2748,28 @@ var ob;
2666
2748
  (0, import_react7.useEffect)(() => {
2667
2749
  let divider = dividerRef.current;
2668
2750
  if (divider) {
2669
- let getNewSize = function(event) {
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) {
2670
2761
  let deltaSize = direction === "horizontal" ? event.clientX - initialPosition.clientX : event.clientY - initialPosition.clientY;
2671
2762
  deltaSize *= fixedPanel === 1 ? -1 : 1;
2672
- 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
+ });
2673
2773
  }, handlePointerUp = function(event) {
2674
2774
  let newSize = getNewSize(event);
2675
2775
  handleFixedSizeChanged(newSize);
@@ -2679,6 +2779,10 @@ var ob;
2679
2779
  }, handlePointerMove = function(event) {
2680
2780
  event.preventDefault();
2681
2781
  let newSize = getNewSize(event);
2782
+ let divider2 = dividerRef.current;
2783
+ if (divider2) {
2784
+ divider2.setAttribute("aria-valuenow", String(newSize));
2785
+ }
2682
2786
  movingPanel.style.flex = `0 0 ${newSize}px`;
2683
2787
  }, handlePointerDown = function(event) {
2684
2788
  setIsDragging(true);
@@ -2723,8 +2827,18 @@ var ob;
2723
2827
  divider?.removeEventListener("keydown", handleKeyDown);
2724
2828
  };
2725
2829
  }
2726
- }, [direction, fixedPanel]);
2727
- return /* @__PURE__ */ React.createElement(SplitRoot, { direction, className }, /* @__PURE__ */ React.createElement(SplitPanel, { className: clsx_default(isDragging && "dragging", panelClassName), fixed: fixedPanel === 1, size: fixedSize }, childrenArray[0]), /* @__PURE__ */ React.createElement(Divider, { ref: dividerRef, direction, isDragging }), /* @__PURE__ */ React.createElement(SplitPanel, { className: clsx_default(isDragging && "dragging", panelClassName), fixed: fixedPanel === 2, size: fixedSize }, childrenArray[1]));
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]));
2728
2842
  }
2729
2843
 
2730
2844
  // src/useTranslation/index.ts
@@ -2792,42 +2906,27 @@ var ob;
2792
2906
  };
2793
2907
  }
2794
2908
 
2795
- // src/ValueToggle/index.tsx
2909
+ // src/ValueToggleGroup/index.tsx
2796
2910
  var import_react9 = __toESM(require_react(), 1);
2797
- var valueToggleId = 0;
2798
- function ValueToggleInner({ className, onChange, defaultValue, options, value, ...other }, ref) {
2799
- const wrapperRef = (0, import_react9.useRef)(null);
2800
- const [toggleName] = (0, import_react9.useState)(`obet-value-toggle-${String(++valueToggleId)}`);
2801
- const isControlled = value !== void 0;
2802
- (0, import_react9.useImperativeHandle)(ref, () => {
2803
- const e = wrapperRef.current?.querySelector("input");
2804
- return {
2805
- focus: () => e?.focus(),
2806
- blur: () => e?.blur(),
2807
- value: (e?.querySelector("input:checked")).value
2808
- };
2809
- });
2810
- return /* @__PURE__ */ React.createElement("fieldset", { className, ...other }, /* @__PURE__ */ React.createElement("div", { className: "ObValueToggle-root", ref: wrapperRef }, options.map((option) => {
2811
- const isObj = typeof option === "object";
2812
- const optValue = isObj ? option.value : option;
2813
- const props = {
2814
- value: optValue
2815
- };
2816
- if (isControlled) {
2817
- props.checked = value === optValue;
2818
- } else {
2819
- props.defaultChecked = defaultValue === optValue;
2820
- }
2821
- if (typeof onChange === "function") {
2822
- props.onChange = () => onChange(optValue);
2823
- }
2824
- if (isObj) {
2825
- Object.assign(props, option);
2826
- }
2827
- 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));
2828
- })));
2829
- }
2830
- var ValueToggle = (0, import_react9.forwardRef)(ValueToggleInner);
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
+ });
2831
2930
  return __toCommonJS(index_exports);
2832
2931
  })();
2833
2932
  /*! 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 */