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